From c27d86a8bd9a462ca686b11e1c68428aff5335cf Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Fri, 31 Jul 2026 06:58:02 +0000 Subject: [PATCH 1/7] expose blake2b and argon2id to pith the runtime already has both and runtime_functions.txt already declares them, but a call to a function the checker does not know about stops at E201. this types them the way every other crypto builtin is typed and adds them to the lowering tables: both hand back a bytes handle, or zero when a parameter is out of range, which is exactly the fallible-bytes shape aead and rsa signing use. the bootstrap seed is regenerated because ci builds ir_driver from the tracked ir before it compiles any pith. --- self-host/bootstrap/ir_driver.ir | 7446 +++++++++++++++--------------- self-host/checker_builtins.pith | 4 + self-host/ir_emitter_core.pith | 2 +- self-host/ir_metadata.pith | 4 +- 4 files changed, 3811 insertions(+), 3645 deletions(-) diff --git a/self-host/bootstrap/ir_driver.ir b/self-host/bootstrap/ir_driver.ir index fe9d5731..36c2227a 100644 --- a/self-host/bootstrap/ir_driver.ir +++ b/self-host/bootstrap/ir_driver.ir @@ -156,6 +156,8 @@ string m0s154 "crypto_aes_128_gcm_open failed" string m0s155 "crypto_chacha20_poly1305_seal failed" string m0s156 "crypto_chacha20_poly1305_open failed" string m0s157 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m0s158 "crypto_blake2b failed" +string m0s159 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -4824,6 +4826,8 @@ string m1s57 "crypto_aes_128_gcm_open failed" string m1s58 "crypto_chacha20_poly1305_seal failed" string m1s59 "crypto_chacha20_poly1305_open failed" string m1s60 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m1s61 "crypto_blake2b failed" +string m1s62 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -5200,6 +5204,8 @@ string m2s77 "crypto_aes_128_gcm_open failed" string m2s78 "crypto_chacha20_poly1305_seal failed" string m2s79 "crypto_chacha20_poly1305_open failed" string m2s80 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m2s81 "crypto_blake2b failed" +string m2s82 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -6662,6 +6668,8 @@ string m3s375 "crypto_aes_128_gcm_open failed" string m3s376 "crypto_chacha20_poly1305_seal failed" string m3s377 "crypto_chacha20_poly1305_open failed" string m3s378 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m3s379 "crypto_blake2b failed" +string m3s380 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -16405,6 +16413,8 @@ string m4s78 "crypto_aes_128_gcm_open failed" string m4s79 "crypto_chacha20_poly1305_seal failed" string m4s80 "crypto_chacha20_poly1305_open failed" string m4s81 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m4s82 "crypto_blake2b failed" +string m4s83 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -18430,6 +18440,8 @@ string m5s142 "crypto_aes_128_gcm_open failed" string m5s143 "crypto_chacha20_poly1305_seal failed" string m5s144 "crypto_chacha20_poly1305_open failed" string m5s145 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m5s146 "crypto_blake2b failed" +string m5s147 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -20998,6 +21010,8 @@ string m6s54 "crypto_aes_128_gcm_open failed" string m6s55 "crypto_chacha20_poly1305_seal failed" string m6s56 "crypto_chacha20_poly1305_open failed" string m6s57 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m6s58 "crypto_blake2b failed" +string m6s59 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -22038,6 +22052,8 @@ string m7s59 "crypto_aes_128_gcm_open failed" string m7s60 "crypto_chacha20_poly1305_seal failed" string m7s61 "crypto_chacha20_poly1305_open failed" string m7s62 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m7s63 "crypto_blake2b failed" +string m7s64 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -22647,6 +22663,8 @@ string m8s125 "crypto_aes_128_gcm_open failed" string m8s126 "crypto_chacha20_poly1305_seal failed" string m8s127 "crypto_chacha20_poly1305_open failed" string m8s128 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m8s129 "crypto_blake2b failed" +string m8s130 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -23589,155 +23607,159 @@ string m9s127 "byte_buffer_with_capacity" string m9s128 "byte_buffer_take_bytes" string m9s129 "byte_buffer_free" string m9s130 "byte_buffer_new" -string m9s131 "crypto_sign_rsa_pss_sha256_pkcs8" -string m9s132 "crypto_verify_rsa_pss_sha256" -string m9s133 "crypto_verify_rsa_pkcs1_sha384" -string m9s134 "crypto_verify_rsa_pkcs1_sha256" -string m9s135 "crypto_verify_ecdsa_p384_sha384_asn1" -string m9s136 "crypto_verify_ecdsa_p256_sha256_asn1" -string m9s137 "crypto_verify_ed25519" -string m9s138 "crypto_chacha20_poly1305_open" -string m9s139 "crypto_chacha20_poly1305_seal" -string m9s140 "crypto_aes_128_gcm_open" -string m9s141 "crypto_aes_128_gcm_seal" -string m9s142 "crypto_x25519_close" -string m9s143 "crypto_x25519_shared_secret" -string m9s144 "crypto_x25519_public_key" -string m9s145 "crypto_p256_keygen" -string m9s146 "crypto_x25519_keygen" -string m9s147 "secure_random_bytes" -string m9s148 "crypto_constant_time_eq" -string m9s149 "bytes_substring_utf8" -string m9s150 "bytes_to_string_utf8" -string m9s151 "bytes_slice" -string m9s152 "bytes_get" -string m9s153 "bytes_is_empty" -string m9s154 "bytes_len" -string m9s155 "bytes_concat" -string m9s156 "bytes_eq" -string m9s157 "append_file_bytes" -string m9s158 "write_file_bytes" -string m9s159 "append_file" -string m9s160 "write_file" -string m9s161 "os_set_env" -string m9s162 "rename_file" -string m9s163 "file_open_append" -string m9s164 "file_open_write" -string m9s165 "file_open_read" -string m9s166 "from_hex" -string m9s167 "b64_decode" -string m9s168 "read_file_bytes" -string m9s169 "dns_resolve" -string m9s170 "exec_output" -string m9s171 "read_file" -string m9s172 "bytes_from_string_utf8" -string m9s173 "parse_float" -string m9s174 "parse_int" -string m9s175 "os_unset_env" -string m9s176 "os_chdir" -string m9s177 "os_cert_roots_pem" -string m9s178 "os_home_dir" -string m9s179 "os_temp_dir" -string m9s180 "os_getcwd" -string m9s181 "list_dir" -string m9s182 "fs_file_size" -string m9s183 "env_opt" -string m9s184 "env" -string m9s185 "fs_remove_tree" -string m9s186 "fs_remove_dir" -string m9s187 "remove_file" -string m9s188 "mkdir" -string m9s189 "dir_exists" -string m9s190 "file_exists" -string m9s191 "ord" -string m9s192 "exec" -string m9s193 "skip_test" -string m9s194 "print_err" -string m9s195 "print" -string m9s196 "fmt_float" -string m9s197 "pow" -string m9s198 "round" -string m9s199 "ceil" -string m9s200 "floor" -string m9s201 "sqrt" -string m9s202 "format_time" -string m9s203 "clamp" -string m9s204 "bit_shr" -string m9s205 "bit_shl" -string m9s206 "bit_xor" -string m9s207 "bit_or" -string m9s208 "bit_and" -string m9s209 "random_int" -string m9s210 "max" -string m9s211 "min" -string m9s212 "random_string" -string m9s213 "chr" -string m9s214 "bit_not" -string m9s215 "abs" -string m9s216 "tcp_close" -string m9s217 "random_seed" -string m9s218 "sleep" -string m9s219 "exit" -string m9s220 "assert" -string m9s221 "args" -string m9s222 "input" -string m9s223 "float_to_bits" -string m9s224 "float_from_bits" -string m9s225 "random_float" -string m9s226 "time_nanos" -string m9s227 "time" -string m9s228 "AtomicInt" -string m9s229 "Semaphore" -string m9s230 "WaitGroup" -string m9s231 "Mutex" -string m9s232 "List[String]" -string m9s233 "parse_int failed" -string m9s234 "file_open_read failed" -string m9s235 "file_open_write failed" -string m9s236 "file_open_append failed" -string m9s237 "byte_buffer_write failed" -string m9s238 "byte_buffer_write_string_utf8 failed" -string m9s239 "byte_buffer_write_byte failed" -string m9s240 "file_write failed" -string m9s241 "file_write_bytes failed" -string m9s242 "tcp_connect failed" -string m9s243 "tcp_listen failed" -string m9s244 "tcp_accept failed" -string m9s245 "tcp_write failed" -string m9s246 "tcp_write_bytes failed" -string m9s247 "process_spawn failed" -string m9s248 "process_spawn_argv failed" -string m9s249 "process_output_argv failed" -string m9s250 "process_write failed" -string m9s251 "process_write_bytes failed" -string m9s252 "crypto_x25519_keygen failed" -string m9s253 "write_file failed" -string m9s254 "append_file failed" -string m9s255 "write_file_bytes failed" -string m9s256 "append_file_bytes failed" -string m9s257 "read_file failed" -string m9s258 "exec_output failed" -string m9s259 "dns_resolve failed" -string m9s260 "bytes_to_string_utf8 failed" -string m9s261 "bytes_substring_utf8 failed" -string m9s262 "file_read failed" -string m9s263 "tcp_read failed" -string m9s264 "process_read failed" -string m9s265 "process_read_err failed" -string m9s266 "read_file_bytes failed" -string m9s267 "b64_decode failed" -string m9s268 "from_hex failed" -string m9s269 "file_read_bytes failed" -string m9s270 "tcp_read_bytes failed" -string m9s271 "process_read_bytes failed" -string m9s272 "process_read_err_bytes failed" -string m9s273 "crypto_x25519_public_key failed" -string m9s274 "crypto_x25519_shared_secret failed" -string m9s275 "crypto_aes_128_gcm_seal failed" -string m9s276 "crypto_aes_128_gcm_open failed" -string m9s277 "crypto_chacha20_poly1305_seal failed" -string m9s278 "crypto_chacha20_poly1305_open failed" -string m9s279 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m9s131 "crypto_argon2id" +string m9s132 "crypto_blake2b" +string m9s133 "crypto_sign_rsa_pss_sha256_pkcs8" +string m9s134 "crypto_verify_rsa_pss_sha256" +string m9s135 "crypto_verify_rsa_pkcs1_sha384" +string m9s136 "crypto_verify_rsa_pkcs1_sha256" +string m9s137 "crypto_verify_ecdsa_p384_sha384_asn1" +string m9s138 "crypto_verify_ecdsa_p256_sha256_asn1" +string m9s139 "crypto_verify_ed25519" +string m9s140 "crypto_chacha20_poly1305_open" +string m9s141 "crypto_chacha20_poly1305_seal" +string m9s142 "crypto_aes_128_gcm_open" +string m9s143 "crypto_aes_128_gcm_seal" +string m9s144 "crypto_x25519_close" +string m9s145 "crypto_x25519_shared_secret" +string m9s146 "crypto_x25519_public_key" +string m9s147 "crypto_p256_keygen" +string m9s148 "crypto_x25519_keygen" +string m9s149 "secure_random_bytes" +string m9s150 "crypto_constant_time_eq" +string m9s151 "bytes_substring_utf8" +string m9s152 "bytes_to_string_utf8" +string m9s153 "bytes_slice" +string m9s154 "bytes_get" +string m9s155 "bytes_is_empty" +string m9s156 "bytes_len" +string m9s157 "bytes_concat" +string m9s158 "bytes_eq" +string m9s159 "append_file_bytes" +string m9s160 "write_file_bytes" +string m9s161 "append_file" +string m9s162 "write_file" +string m9s163 "os_set_env" +string m9s164 "rename_file" +string m9s165 "file_open_append" +string m9s166 "file_open_write" +string m9s167 "file_open_read" +string m9s168 "from_hex" +string m9s169 "b64_decode" +string m9s170 "read_file_bytes" +string m9s171 "dns_resolve" +string m9s172 "exec_output" +string m9s173 "read_file" +string m9s174 "bytes_from_string_utf8" +string m9s175 "parse_float" +string m9s176 "parse_int" +string m9s177 "os_unset_env" +string m9s178 "os_chdir" +string m9s179 "os_cert_roots_pem" +string m9s180 "os_home_dir" +string m9s181 "os_temp_dir" +string m9s182 "os_getcwd" +string m9s183 "list_dir" +string m9s184 "fs_file_size" +string m9s185 "env_opt" +string m9s186 "env" +string m9s187 "fs_remove_tree" +string m9s188 "fs_remove_dir" +string m9s189 "remove_file" +string m9s190 "mkdir" +string m9s191 "dir_exists" +string m9s192 "file_exists" +string m9s193 "ord" +string m9s194 "exec" +string m9s195 "skip_test" +string m9s196 "print_err" +string m9s197 "print" +string m9s198 "fmt_float" +string m9s199 "pow" +string m9s200 "round" +string m9s201 "ceil" +string m9s202 "floor" +string m9s203 "sqrt" +string m9s204 "format_time" +string m9s205 "clamp" +string m9s206 "bit_shr" +string m9s207 "bit_shl" +string m9s208 "bit_xor" +string m9s209 "bit_or" +string m9s210 "bit_and" +string m9s211 "random_int" +string m9s212 "max" +string m9s213 "min" +string m9s214 "random_string" +string m9s215 "chr" +string m9s216 "bit_not" +string m9s217 "abs" +string m9s218 "tcp_close" +string m9s219 "random_seed" +string m9s220 "sleep" +string m9s221 "exit" +string m9s222 "assert" +string m9s223 "args" +string m9s224 "input" +string m9s225 "float_to_bits" +string m9s226 "float_from_bits" +string m9s227 "random_float" +string m9s228 "time_nanos" +string m9s229 "time" +string m9s230 "AtomicInt" +string m9s231 "Semaphore" +string m9s232 "WaitGroup" +string m9s233 "Mutex" +string m9s234 "List[String]" +string m9s235 "parse_int failed" +string m9s236 "file_open_read failed" +string m9s237 "file_open_write failed" +string m9s238 "file_open_append failed" +string m9s239 "byte_buffer_write failed" +string m9s240 "byte_buffer_write_string_utf8 failed" +string m9s241 "byte_buffer_write_byte failed" +string m9s242 "file_write failed" +string m9s243 "file_write_bytes failed" +string m9s244 "tcp_connect failed" +string m9s245 "tcp_listen failed" +string m9s246 "tcp_accept failed" +string m9s247 "tcp_write failed" +string m9s248 "tcp_write_bytes failed" +string m9s249 "process_spawn failed" +string m9s250 "process_spawn_argv failed" +string m9s251 "process_output_argv failed" +string m9s252 "process_write failed" +string m9s253 "process_write_bytes failed" +string m9s254 "crypto_x25519_keygen failed" +string m9s255 "write_file failed" +string m9s256 "append_file failed" +string m9s257 "write_file_bytes failed" +string m9s258 "append_file_bytes failed" +string m9s259 "read_file failed" +string m9s260 "exec_output failed" +string m9s261 "dns_resolve failed" +string m9s262 "bytes_to_string_utf8 failed" +string m9s263 "bytes_substring_utf8 failed" +string m9s264 "file_read failed" +string m9s265 "tcp_read failed" +string m9s266 "process_read failed" +string m9s267 "process_read_err failed" +string m9s268 "read_file_bytes failed" +string m9s269 "b64_decode failed" +string m9s270 "from_hex failed" +string m9s271 "file_read_bytes failed" +string m9s272 "tcp_read_bytes failed" +string m9s273 "process_read_bytes failed" +string m9s274 "process_read_err_bytes failed" +string m9s275 "crypto_x25519_public_key failed" +string m9s276 "crypto_x25519_shared_secret failed" +string m9s277 "crypto_aes_128_gcm_seal failed" +string m9s278 "crypto_aes_128_gcm_open failed" +string m9s279 "crypto_chacha20_poly1305_seal failed" +string m9s280 "crypto_chacha20_poly1305_open failed" +string m9s281 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m9s282 "crypto_blake2b failed" +string m9s283 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -23897,7 +23919,7 @@ call 22 pith_cstring_release void 1 20 store tid_err 21 load 23 tid_string call 24 checker_type_intern_intern_list_type int 1 23 -strref 25 m9s232 +strref 25 m9s234 call 26 types_lookup_type_id int 1 25 call 27 pith_cstring_release void 1 25 store list_string 26 @@ -23940,21 +23962,21 @@ call 57 pith_list_new_default list 0 load 58 types_TID_INT call 59 checker_builtins_create_function_type int 2 57 58 store void_to_int 59 -strref 60 m9s227 +strref 60 m9s229 load 61 void_to_int call 62 checker_builtins_define_builtin_function void 2 60 61 call 63 pith_cstring_release void 1 60 -strref 64 m9s226 +strref 64 m9s228 load 65 void_to_int call 66 checker_builtins_define_builtin_function void 2 64 65 call 67 pith_cstring_release void 1 64 -strref 68 m9s225 +strref 68 m9s227 call 69 pith_list_new_default list 0 load 70 types_TID_FLOAT call 71 checker_builtins_create_function_type int 2 69 70 call 72 checker_builtins_define_builtin_function void 2 68 71 call 73 pith_cstring_release void 1 68 -strref 74 m9s224 +strref 74 m9s226 call 75 pith_list_new_default list 0 load 76 types_TID_INT call 77 pith_list_push_value void 2 75 76 @@ -23962,7 +23984,7 @@ load 78 types_TID_FLOAT call 79 checker_builtins_create_function_type int 2 75 78 call 80 checker_builtins_define_builtin_function void 2 74 79 call 81 pith_cstring_release void 1 74 -strref 82 m9s223 +strref 82 m9s225 call 83 pith_list_new_default list 0 load 84 types_TID_FLOAT call 85 pith_list_push_value void 2 83 84 @@ -23970,19 +23992,19 @@ load 86 types_TID_INT call 87 checker_builtins_create_function_type int 2 83 86 call 88 checker_builtins_define_builtin_function void 2 82 87 call 89 pith_cstring_release void 1 82 -strref 90 m9s222 +strref 90 m9s224 call 91 pith_list_new_default list 0 load 92 types_TID_STRING call 93 checker_builtins_create_function_type int 2 91 92 call 94 checker_builtins_define_builtin_function void 2 90 93 call 95 pith_cstring_release void 1 90 -strref 96 m9s221 +strref 96 m9s223 call 97 pith_list_new_default list 0 load 98 list_string call 99 checker_builtins_create_function_type int 2 97 98 call 100 checker_builtins_define_builtin_function void 2 96 99 call 101 pith_cstring_release void 1 96 -strref 102 m9s220 +strref 102 m9s222 call 103 pith_list_new_default list 0 load 104 types_TID_BOOL call 105 pith_list_push_value void 2 103 104 @@ -23996,19 +24018,19 @@ call 112 pith_list_push_value void 2 110 111 load 113 types_TID_VOID call 114 checker_builtins_create_function_type int 2 110 113 store int_to_void 114 -strref 115 m9s219 +strref 115 m9s221 load 116 int_to_void call 117 checker_builtins_define_builtin_function void 2 115 116 call 118 pith_cstring_release void 1 115 -strref 119 m9s218 +strref 119 m9s220 load 120 int_to_void call 121 checker_builtins_define_builtin_function void 2 119 120 call 122 pith_cstring_release void 1 119 -strref 123 m9s217 +strref 123 m9s219 load 124 int_to_void call 125 checker_builtins_define_builtin_function void 2 123 124 call 126 pith_cstring_release void 1 123 -strref 127 m9s216 +strref 127 m9s218 load 128 int_to_void call 129 checker_builtins_define_builtin_function void 2 127 128 call 130 pith_cstring_release void 1 127 @@ -24018,11 +24040,11 @@ call 133 pith_list_push_value void 2 131 132 load 134 types_TID_INT call 135 checker_builtins_create_function_type int 2 131 134 store int_to_int 135 -strref 136 m9s215 +strref 136 m9s217 load 137 int_to_int call 138 checker_builtins_define_builtin_function void 2 136 137 call 139 pith_cstring_release void 1 136 -strref 140 m9s214 +strref 140 m9s216 load 141 int_to_int call 142 checker_builtins_define_builtin_function void 2 140 141 call 143 pith_cstring_release void 1 140 @@ -24032,11 +24054,11 @@ call 146 pith_list_push_value void 2 144 145 load 147 types_TID_STRING call 148 checker_builtins_create_function_type int 2 144 147 store int_to_str 148 -strref 149 m9s213 +strref 149 m9s215 load 150 int_to_str call 151 checker_builtins_define_builtin_function void 2 149 150 call 152 pith_cstring_release void 1 149 -strref 153 m9s212 +strref 153 m9s214 load 154 int_to_str call 155 checker_builtins_define_builtin_function void 2 153 154 call 156 pith_cstring_release void 1 153 @@ -24048,35 +24070,35 @@ call 161 pith_list_push_value void 2 157 160 load 162 types_TID_INT call 163 checker_builtins_create_function_type int 2 157 162 store two_int_to_int 163 -strref 164 m9s211 +strref 164 m9s213 load 165 two_int_to_int call 166 checker_builtins_define_builtin_function void 2 164 165 call 167 pith_cstring_release void 1 164 -strref 168 m9s210 +strref 168 m9s212 load 169 two_int_to_int call 170 checker_builtins_define_builtin_function void 2 168 169 call 171 pith_cstring_release void 1 168 -strref 172 m9s209 +strref 172 m9s211 load 173 two_int_to_int call 174 checker_builtins_define_builtin_function void 2 172 173 call 175 pith_cstring_release void 1 172 -strref 176 m9s208 +strref 176 m9s210 load 177 two_int_to_int call 178 checker_builtins_define_builtin_function void 2 176 177 call 179 pith_cstring_release void 1 176 -strref 180 m9s207 +strref 180 m9s209 load 181 two_int_to_int call 182 checker_builtins_define_builtin_function void 2 180 181 call 183 pith_cstring_release void 1 180 -strref 184 m9s206 +strref 184 m9s208 load 185 two_int_to_int call 186 checker_builtins_define_builtin_function void 2 184 185 call 187 pith_cstring_release void 1 184 -strref 188 m9s205 +strref 188 m9s207 load 189 two_int_to_int call 190 checker_builtins_define_builtin_function void 2 188 189 call 191 pith_cstring_release void 1 188 -strref 192 m9s204 +strref 192 m9s206 load 193 two_int_to_int call 194 checker_builtins_define_builtin_function void 2 192 193 call 195 pith_cstring_release void 1 192 @@ -24152,7 +24174,7 @@ load 264 types_TID_UINT64 call 265 checker_builtins_create_function_type int 2 261 264 call 266 checker_builtins_define_builtin_function void 2 260 265 call 267 pith_cstring_release void 1 260 -strref 268 m9s203 +strref 268 m9s205 call 269 pith_list_new_default list 0 load 270 types_TID_INT call 271 pith_list_push_value void 2 269 270 @@ -24172,7 +24194,7 @@ call 284 pith_list_push_value void 2 280 283 load 285 types_TID_STRING call 286 checker_builtins_create_function_type int 2 280 285 store int_str_to_str 286 -strref 287 m9s202 +strref 287 m9s204 load 288 int_str_to_str call 289 checker_builtins_define_builtin_function void 2 287 288 call 290 pith_cstring_release void 1 287 @@ -24182,23 +24204,23 @@ call 293 pith_list_push_value void 2 291 292 load 294 types_TID_FLOAT call 295 checker_builtins_create_function_type int 2 291 294 store float_to_float 295 -strref 296 m9s201 +strref 296 m9s203 load 297 float_to_float call 298 checker_builtins_define_builtin_function void 2 296 297 call 299 pith_cstring_release void 1 296 -strref 300 m9s200 +strref 300 m9s202 load 301 float_to_float call 302 checker_builtins_define_builtin_function void 2 300 301 call 303 pith_cstring_release void 1 300 -strref 304 m9s199 +strref 304 m9s201 load 305 float_to_float call 306 checker_builtins_define_builtin_function void 2 304 305 call 307 pith_cstring_release void 1 304 -strref 308 m9s198 +strref 308 m9s200 load 309 float_to_float call 310 checker_builtins_define_builtin_function void 2 308 309 call 311 pith_cstring_release void 1 308 -strref 312 m9s197 +strref 312 m9s199 call 313 pith_list_new_default list 0 load 314 types_TID_FLOAT call 315 pith_list_push_value void 2 313 314 @@ -24208,7 +24230,7 @@ load 318 types_TID_FLOAT call 319 checker_builtins_create_function_type int 2 313 318 call 320 checker_builtins_define_builtin_function void 2 312 319 call 321 pith_cstring_release void 1 312 -strref 322 m9s196 +strref 322 m9s198 call 323 pith_list_new_default list 0 load 324 types_TID_FLOAT call 325 pith_list_push_value void 2 323 324 @@ -24224,15 +24246,15 @@ call 334 pith_list_push_value void 2 332 333 load 335 types_TID_VOID call 336 checker_builtins_create_function_type int 2 332 335 store str_to_void 336 -strref 337 m9s195 +strref 337 m9s197 load 338 str_to_void call 339 checker_builtins_define_builtin_function void 2 337 338 call 340 pith_cstring_release void 1 337 -strref 341 m9s194 +strref 341 m9s196 load 342 str_to_void call 343 checker_builtins_define_builtin_function void 2 341 342 call 344 pith_cstring_release void 1 341 -strref 345 m9s193 +strref 345 m9s195 load 346 str_to_void call 347 checker_builtins_define_builtin_function void 2 345 346 call 348 pith_cstring_release void 1 345 @@ -24242,11 +24264,11 @@ call 351 pith_list_push_value void 2 349 350 load 352 types_TID_INT call 353 checker_builtins_create_function_type int 2 349 352 store str_to_int 353 -strref 354 m9s192 +strref 354 m9s194 load 355 str_to_int call 356 checker_builtins_define_builtin_function void 2 354 355 call 357 pith_cstring_release void 1 354 -strref 358 m9s191 +strref 358 m9s193 load 359 str_to_int call 360 checker_builtins_define_builtin_function void 2 358 359 call 361 pith_cstring_release void 1 358 @@ -24256,31 +24278,31 @@ call 364 pith_list_push_value void 2 362 363 load 365 types_TID_BOOL call 366 checker_builtins_create_function_type int 2 362 365 store str_to_bool 366 -strref 367 m9s190 +strref 367 m9s192 load 368 str_to_bool call 369 checker_builtins_define_builtin_function void 2 367 368 call 370 pith_cstring_release void 1 367 -strref 371 m9s189 +strref 371 m9s191 load 372 str_to_bool call 373 checker_builtins_define_builtin_function void 2 371 372 call 374 pith_cstring_release void 1 371 -strref 375 m9s188 +strref 375 m9s190 load 376 str_to_bool call 377 checker_builtins_define_builtin_function void 2 375 376 call 378 pith_cstring_release void 1 375 -strref 379 m9s187 +strref 379 m9s189 load 380 str_to_bool call 381 checker_builtins_define_builtin_function void 2 379 380 call 382 pith_cstring_release void 1 379 -strref 383 m9s186 +strref 383 m9s188 load 384 str_to_bool call 385 checker_builtins_define_builtin_function void 2 383 384 call 386 pith_cstring_release void 1 383 -strref 387 m9s185 +strref 387 m9s187 load 388 str_to_bool call 389 checker_builtins_define_builtin_function void 2 387 388 call 390 pith_cstring_release void 1 387 -strref 391 m9s184 +strref 391 m9s186 call 392 pith_list_new_default list 0 load 393 types_TID_STRING call 394 pith_list_push_value void 2 392 393 @@ -24288,7 +24310,7 @@ load 395 tid_string call 396 checker_builtins_create_function_type int 2 392 395 call 397 checker_builtins_define_builtin_function void 2 391 396 call 398 pith_cstring_release void 1 391 -strref 399 m9s183 +strref 399 m9s185 call 400 pith_list_new_default list 0 load 401 types_TID_STRING call 402 pith_list_push_value void 2 400 401 @@ -24296,11 +24318,11 @@ load 403 opt_string call 404 checker_builtins_create_function_type int 2 400 403 call 405 checker_builtins_define_builtin_function void 2 399 404 call 406 pith_cstring_release void 1 399 -strref 407 m9s182 +strref 407 m9s184 load 408 str_to_int call 409 checker_builtins_define_builtin_function void 2 407 408 call 410 pith_cstring_release void 1 407 -strref 411 m9s181 +strref 411 m9s183 call 412 pith_list_new_default list 0 load 413 types_TID_STRING call 414 pith_list_push_value void 2 412 413 @@ -24308,39 +24330,39 @@ load 415 list_string call 416 checker_builtins_create_function_type int 2 412 415 call 417 checker_builtins_define_builtin_function void 2 411 416 call 418 pith_cstring_release void 1 411 -strref 419 m9s180 +strref 419 m9s182 call 420 pith_list_new_default list 0 load 421 tid_string call 422 checker_builtins_create_function_type int 2 420 421 call 423 checker_builtins_define_builtin_function void 2 419 422 call 424 pith_cstring_release void 1 419 -strref 425 m9s179 +strref 425 m9s181 call 426 pith_list_new_default list 0 load 427 tid_string call 428 checker_builtins_create_function_type int 2 426 427 call 429 checker_builtins_define_builtin_function void 2 425 428 call 430 pith_cstring_release void 1 425 -strref 431 m9s178 +strref 431 m9s180 call 432 pith_list_new_default list 0 load 433 tid_string call 434 checker_builtins_create_function_type int 2 432 433 call 435 checker_builtins_define_builtin_function void 2 431 434 call 436 pith_cstring_release void 1 431 -strref 437 m9s177 +strref 437 m9s179 call 438 pith_list_new_default list 0 load 439 tid_string call 440 checker_builtins_create_function_type int 2 438 439 call 441 checker_builtins_define_builtin_function void 2 437 440 call 442 pith_cstring_release void 1 437 -strref 443 m9s176 +strref 443 m9s178 load 444 str_to_bool call 445 checker_builtins_define_builtin_function void 2 443 444 call 446 pith_cstring_release void 1 443 -strref 447 m9s175 +strref 447 m9s177 load 448 str_to_bool call 449 checker_builtins_define_builtin_function void 2 447 448 call 450 pith_cstring_release void 1 447 -strref 451 m9s174 +strref 451 m9s176 call 452 pith_list_new_default list 0 load 453 types_TID_STRING call 454 pith_list_push_value void 2 452 453 @@ -24348,7 +24370,7 @@ load 455 int_result call 456 checker_builtins_create_function_type int 2 452 455 call 457 checker_builtins_define_builtin_function void 2 451 456 call 458 pith_cstring_release void 1 451 -strref 459 m9s173 +strref 459 m9s175 call 460 pith_list_new_default list 0 load 461 types_TID_STRING call 462 pith_list_push_value void 2 460 461 @@ -24356,7 +24378,7 @@ load 463 float_result call 464 checker_builtins_create_function_type int 2 460 463 call 465 checker_builtins_define_builtin_function void 2 459 464 call 466 pith_cstring_release void 1 459 -strref 467 m9s172 +strref 467 m9s174 call 468 pith_list_new_default list 0 load 469 types_TID_STRING call 470 pith_list_push_value void 2 468 469 @@ -24370,19 +24392,19 @@ call 477 pith_list_push_value void 2 475 476 load 478 str_result call 479 checker_builtins_create_function_type int 2 475 478 store str_to_str_result 479 -strref 480 m9s171 +strref 480 m9s173 load 481 str_to_str_result call 482 checker_builtins_define_builtin_function void 2 480 481 call 483 pith_cstring_release void 1 480 -strref 484 m9s170 +strref 484 m9s172 load 485 str_to_str_result call 486 checker_builtins_define_builtin_function void 2 484 485 call 487 pith_cstring_release void 1 484 -strref 488 m9s169 +strref 488 m9s171 load 489 str_to_str_result call 490 checker_builtins_define_builtin_function void 2 488 489 call 491 pith_cstring_release void 1 488 -strref 492 m9s168 +strref 492 m9s170 call 493 pith_list_new_default list 0 load 494 types_TID_STRING call 495 pith_list_push_value void 2 493 494 @@ -24390,7 +24412,7 @@ load 496 bytes_result call 497 checker_builtins_create_function_type int 2 493 496 call 498 checker_builtins_define_builtin_function void 2 492 497 call 499 pith_cstring_release void 1 492 -strref 500 m9s167 +strref 500 m9s169 call 501 pith_list_new_default list 0 load 502 types_TID_STRING call 503 pith_list_push_value void 2 501 502 @@ -24398,7 +24420,7 @@ load 504 bytes_result call 505 checker_builtins_create_function_type int 2 501 504 call 506 checker_builtins_define_builtin_function void 2 500 505 call 507 pith_cstring_release void 1 500 -strref 508 m9s166 +strref 508 m9s168 call 509 pith_list_new_default list 0 load 510 types_TID_STRING call 511 pith_list_push_value void 2 509 510 @@ -24406,7 +24428,7 @@ load 512 bytes_result call 513 checker_builtins_create_function_type int 2 509 512 call 514 checker_builtins_define_builtin_function void 2 508 513 call 515 pith_cstring_release void 1 508 -strref 516 m9s165 +strref 516 m9s167 call 517 pith_list_new_default list 0 load 518 types_TID_STRING call 519 pith_list_push_value void 2 517 518 @@ -24414,7 +24436,7 @@ load 520 int_result call 521 checker_builtins_create_function_type int 2 517 520 call 522 checker_builtins_define_builtin_function void 2 516 521 call 523 pith_cstring_release void 1 516 -strref 524 m9s164 +strref 524 m9s166 call 525 pith_list_new_default list 0 load 526 types_TID_STRING call 527 pith_list_push_value void 2 525 526 @@ -24422,7 +24444,7 @@ load 528 int_result call 529 checker_builtins_create_function_type int 2 525 528 call 530 checker_builtins_define_builtin_function void 2 524 529 call 531 pith_cstring_release void 1 524 -strref 532 m9s163 +strref 532 m9s165 call 533 pith_list_new_default list 0 load 534 types_TID_STRING call 535 pith_list_push_value void 2 533 534 @@ -24430,7 +24452,7 @@ load 536 int_result call 537 checker_builtins_create_function_type int 2 533 536 call 538 checker_builtins_define_builtin_function void 2 532 537 call 539 pith_cstring_release void 1 532 -strref 540 m9s162 +strref 540 m9s164 call 541 pith_list_new_default list 0 load 542 types_TID_STRING call 543 pith_list_push_value void 2 541 542 @@ -24440,7 +24462,7 @@ load 546 types_TID_BOOL call 547 checker_builtins_create_function_type int 2 541 546 call 548 checker_builtins_define_builtin_function void 2 540 547 call 549 pith_cstring_release void 1 540 -strref 550 m9s161 +strref 550 m9s163 call 551 pith_list_new_default list 0 load 552 types_TID_STRING call 553 pith_list_push_value void 2 551 552 @@ -24458,15 +24480,15 @@ call 564 pith_list_push_value void 2 560 563 load 565 bool_result call 566 checker_builtins_create_function_type int 2 560 565 store two_str_to_bool_result 566 -strref 567 m9s160 +strref 567 m9s162 load 568 two_str_to_bool_result call 569 checker_builtins_define_builtin_function void 2 567 568 call 570 pith_cstring_release void 1 567 -strref 571 m9s159 +strref 571 m9s161 load 572 two_str_to_bool_result call 573 checker_builtins_define_builtin_function void 2 571 572 call 574 pith_cstring_release void 1 571 -strref 575 m9s158 +strref 575 m9s160 call 576 pith_list_new_default list 0 load 577 types_TID_STRING call 578 pith_list_push_value void 2 576 577 @@ -24476,7 +24498,7 @@ load 581 bool_result call 582 checker_builtins_create_function_type int 2 576 581 call 583 checker_builtins_define_builtin_function void 2 575 582 call 584 pith_cstring_release void 1 575 -strref 585 m9s157 +strref 585 m9s159 call 586 pith_list_new_default list 0 load 587 types_TID_STRING call 588 pith_list_push_value void 2 586 587 @@ -24486,7 +24508,7 @@ load 591 bool_result call 592 checker_builtins_create_function_type int 2 586 591 call 593 checker_builtins_define_builtin_function void 2 585 592 call 594 pith_cstring_release void 1 585 -strref 595 m9s156 +strref 595 m9s158 call 596 pith_list_new_default list 0 load 597 tid_bytes call 598 pith_list_push_value void 2 596 597 @@ -24496,7 +24518,7 @@ load 601 types_TID_BOOL call 602 checker_builtins_create_function_type int 2 596 601 call 603 checker_builtins_define_builtin_function void 2 595 602 call 604 pith_cstring_release void 1 595 -strref 605 m9s155 +strref 605 m9s157 call 606 pith_list_new_default list 0 load 607 tid_bytes call 608 pith_list_push_value void 2 606 607 @@ -24506,7 +24528,7 @@ load 611 tid_bytes call 612 checker_builtins_create_function_type int 2 606 611 call 613 checker_builtins_define_builtin_function void 2 605 612 call 614 pith_cstring_release void 1 605 -strref 615 m9s154 +strref 615 m9s156 call 616 pith_list_new_default list 0 load 617 tid_bytes call 618 pith_list_push_value void 2 616 617 @@ -24514,7 +24536,7 @@ load 619 types_TID_INT call 620 checker_builtins_create_function_type int 2 616 619 call 621 checker_builtins_define_builtin_function void 2 615 620 call 622 pith_cstring_release void 1 615 -strref 623 m9s153 +strref 623 m9s155 call 624 pith_list_new_default list 0 load 625 tid_bytes call 626 pith_list_push_value void 2 624 625 @@ -24522,7 +24544,7 @@ load 627 types_TID_BOOL call 628 checker_builtins_create_function_type int 2 624 627 call 629 checker_builtins_define_builtin_function void 2 623 628 call 630 pith_cstring_release void 1 623 -strref 631 m9s152 +strref 631 m9s154 call 632 pith_list_new_default list 0 load 633 tid_bytes call 634 pith_list_push_value void 2 632 633 @@ -24532,7 +24554,7 @@ load 637 types_TID_INT call 638 checker_builtins_create_function_type int 2 632 637 call 639 checker_builtins_define_builtin_function void 2 631 638 call 640 pith_cstring_release void 1 631 -strref 641 m9s151 +strref 641 m9s153 call 642 pith_list_new_default list 0 load 643 tid_bytes call 644 pith_list_push_value void 2 642 643 @@ -24544,7 +24566,7 @@ load 649 tid_bytes call 650 checker_builtins_create_function_type int 2 642 649 call 651 checker_builtins_define_builtin_function void 2 641 650 call 652 pith_cstring_release void 1 641 -strref 653 m9s150 +strref 653 m9s152 call 654 pith_list_new_default list 0 load 655 tid_bytes call 656 pith_list_push_value void 2 654 655 @@ -24552,7 +24574,7 @@ load 657 str_result call 658 checker_builtins_create_function_type int 2 654 657 call 659 checker_builtins_define_builtin_function void 2 653 658 call 660 pith_cstring_release void 1 653 -strref 661 m9s149 +strref 661 m9s151 call 662 pith_list_new_default list 0 load 663 tid_bytes call 664 pith_list_push_value void 2 662 663 @@ -24564,7 +24586,7 @@ load 669 str_result call 670 checker_builtins_create_function_type int 2 662 669 call 671 checker_builtins_define_builtin_function void 2 661 670 call 672 pith_cstring_release void 1 661 -strref 673 m9s148 +strref 673 m9s150 call 674 pith_list_new_default list 0 load 675 tid_bytes call 676 pith_list_push_value void 2 674 675 @@ -24574,7 +24596,7 @@ load 679 types_TID_BOOL call 680 checker_builtins_create_function_type int 2 674 679 call 681 checker_builtins_define_builtin_function void 2 673 680 call 682 pith_cstring_release void 1 673 -strref 683 m9s147 +strref 683 m9s149 call 684 pith_list_new_default list 0 load 685 types_TID_INT call 686 pith_list_push_value void 2 684 685 @@ -24582,19 +24604,19 @@ load 687 tid_bytes call 688 checker_builtins_create_function_type int 2 684 687 call 689 checker_builtins_define_builtin_function void 2 683 688 call 690 pith_cstring_release void 1 683 -strref 691 m9s146 +strref 691 m9s148 call 692 pith_list_new_default list 0 load 693 int_result call 694 checker_builtins_create_function_type int 2 692 693 call 695 checker_builtins_define_builtin_function void 2 691 694 call 696 pith_cstring_release void 1 691 -strref 697 m9s145 +strref 697 m9s147 call 698 pith_list_new_default list 0 load 699 int_result call 700 checker_builtins_create_function_type int 2 698 699 call 701 checker_builtins_define_builtin_function void 2 697 700 call 702 pith_cstring_release void 1 697 -strref 703 m9s144 +strref 703 m9s146 call 704 pith_list_new_default list 0 load 705 types_TID_INT call 706 pith_list_push_value void 2 704 705 @@ -24602,7 +24624,7 @@ load 707 bytes_result call 708 checker_builtins_create_function_type int 2 704 707 call 709 checker_builtins_define_builtin_function void 2 703 708 call 710 pith_cstring_release void 1 703 -strref 711 m9s143 +strref 711 m9s145 call 712 pith_list_new_default list 0 load 713 types_TID_INT call 714 pith_list_push_value void 2 712 713 @@ -24612,7 +24634,7 @@ load 717 bytes_result call 718 checker_builtins_create_function_type int 2 712 717 call 719 checker_builtins_define_builtin_function void 2 711 718 call 720 pith_cstring_release void 1 711 -strref 721 m9s142 +strref 721 m9s144 call 722 pith_list_new_default list 0 load 723 types_TID_INT call 724 pith_list_push_value void 2 722 723 @@ -24620,7 +24642,7 @@ load 725 types_TID_VOID call 726 checker_builtins_create_function_type int 2 722 725 call 727 checker_builtins_define_builtin_function void 2 721 726 call 728 pith_cstring_release void 1 721 -strref 729 m9s141 +strref 729 m9s143 call 730 pith_list_new_default list 0 load 731 tid_bytes call 732 pith_list_push_value void 2 730 731 @@ -24634,7 +24656,7 @@ load 739 bytes_result call 740 checker_builtins_create_function_type int 2 730 739 call 741 checker_builtins_define_builtin_function void 2 729 740 call 742 pith_cstring_release void 1 729 -strref 743 m9s140 +strref 743 m9s142 call 744 pith_list_new_default list 0 load 745 tid_bytes call 746 pith_list_push_value void 2 744 745 @@ -24648,7 +24670,7 @@ load 753 bytes_result call 754 checker_builtins_create_function_type int 2 744 753 call 755 checker_builtins_define_builtin_function void 2 743 754 call 756 pith_cstring_release void 1 743 -strref 757 m9s139 +strref 757 m9s141 call 758 pith_list_new_default list 0 load 759 tid_bytes call 760 pith_list_push_value void 2 758 759 @@ -24662,7 +24684,7 @@ load 767 bytes_result call 768 checker_builtins_create_function_type int 2 758 767 call 769 checker_builtins_define_builtin_function void 2 757 768 call 770 pith_cstring_release void 1 757 -strref 771 m9s138 +strref 771 m9s140 call 772 pith_list_new_default list 0 load 773 tid_bytes call 774 pith_list_push_value void 2 772 773 @@ -24676,7 +24698,7 @@ load 781 bytes_result call 782 checker_builtins_create_function_type int 2 772 781 call 783 checker_builtins_define_builtin_function void 2 771 782 call 784 pith_cstring_release void 1 771 -strref 785 m9s137 +strref 785 m9s139 call 786 pith_list_new_default list 0 load 787 tid_bytes call 788 pith_list_push_value void 2 786 787 @@ -24688,7 +24710,7 @@ load 793 types_TID_BOOL call 794 checker_builtins_create_function_type int 2 786 793 call 795 checker_builtins_define_builtin_function void 2 785 794 call 796 pith_cstring_release void 1 785 -strref 797 m9s136 +strref 797 m9s138 call 798 pith_list_new_default list 0 load 799 tid_bytes call 800 pith_list_push_value void 2 798 799 @@ -24700,7 +24722,7 @@ load 805 types_TID_BOOL call 806 checker_builtins_create_function_type int 2 798 805 call 807 checker_builtins_define_builtin_function void 2 797 806 call 808 pith_cstring_release void 1 797 -strref 809 m9s135 +strref 809 m9s137 call 810 pith_list_new_default list 0 load 811 tid_bytes call 812 pith_list_push_value void 2 810 811 @@ -24712,7 +24734,7 @@ load 817 types_TID_BOOL call 818 checker_builtins_create_function_type int 2 810 817 call 819 checker_builtins_define_builtin_function void 2 809 818 call 820 pith_cstring_release void 1 809 -strref 821 m9s134 +strref 821 m9s136 call 822 pith_list_new_default list 0 load 823 tid_bytes call 824 pith_list_push_value void 2 822 823 @@ -24724,7 +24746,7 @@ load 829 types_TID_BOOL call 830 checker_builtins_create_function_type int 2 822 829 call 831 checker_builtins_define_builtin_function void 2 821 830 call 832 pith_cstring_release void 1 821 -strref 833 m9s133 +strref 833 m9s135 call 834 pith_list_new_default list 0 load 835 tid_bytes call 836 pith_list_push_value void 2 834 835 @@ -24736,7 +24758,7 @@ load 841 types_TID_BOOL call 842 checker_builtins_create_function_type int 2 834 841 call 843 checker_builtins_define_builtin_function void 2 833 842 call 844 pith_cstring_release void 1 833 -strref 845 m9s132 +strref 845 m9s134 call 846 pith_list_new_default list 0 load 847 tid_bytes call 848 pith_list_push_value void 2 846 847 @@ -24748,7 +24770,7 @@ load 853 types_TID_BOOL call 854 checker_builtins_create_function_type int 2 846 853 call 855 checker_builtins_define_builtin_function void 2 845 854 call 856 pith_cstring_release void 1 845 -strref 857 m9s131 +strref 857 m9s133 call 858 pith_list_new_default list 0 load 859 tid_bytes call 860 pith_list_push_value void 2 858 859 @@ -24758,1621 +24780,1679 @@ load 863 bytes_result call 864 checker_builtins_create_function_type int 2 858 863 call 865 checker_builtins_define_builtin_function void 2 857 864 call 866 pith_cstring_release void 1 857 -strref 867 m9s130 +strref 867 m9s132 call 868 pith_list_new_default list 0 -load 869 types_TID_INT -call 870 checker_builtins_create_function_type int 2 868 869 -call 871 checker_builtins_define_builtin_function void 2 867 870 -call 872 pith_cstring_release void 1 867 -strref 873 m9s129 -call 874 pith_list_new_default list 0 -load 875 types_TID_INT -call 876 pith_list_push_value void 2 874 875 -load 877 types_TID_VOID -call 878 checker_builtins_create_function_type int 2 874 877 -call 879 checker_builtins_define_builtin_function void 2 873 878 -call 880 pith_cstring_release void 1 873 -strref 881 m9s128 -call 882 pith_list_new_default list 0 -load 883 types_TID_INT -call 884 pith_list_push_value void 2 882 883 -load 885 tid_bytes -call 886 checker_builtins_create_function_type int 2 882 885 -call 887 checker_builtins_define_builtin_function void 2 881 886 -call 888 pith_cstring_release void 1 881 -strref 889 m9s127 -call 890 pith_list_new_default list 0 +load 869 tid_bytes +call 870 pith_list_push_value void 2 868 869 +load 871 tid_bytes +call 872 pith_list_push_value void 2 868 871 +load 873 types_TID_INT +call 874 pith_list_push_value void 2 868 873 +load 875 bytes_result +call 876 checker_builtins_create_function_type int 2 868 875 +call 877 checker_builtins_define_builtin_function void 2 867 876 +call 878 pith_cstring_release void 1 867 +strref 879 m9s131 +call 880 pith_list_new_default list 0 +load 881 tid_bytes +call 882 pith_list_push_value void 2 880 881 +load 883 tid_bytes +call 884 pith_list_push_value void 2 880 883 +load 885 types_TID_INT +call 886 pith_list_push_value void 2 880 885 +load 887 types_TID_INT +call 888 pith_list_push_value void 2 880 887 +load 889 types_TID_INT +call 890 pith_list_push_value void 2 880 889 load 891 types_TID_INT -call 892 pith_list_push_value void 2 890 891 -load 893 types_TID_INT -call 894 checker_builtins_create_function_type int 2 890 893 -call 895 checker_builtins_define_builtin_function void 2 889 894 -call 896 pith_cstring_release void 1 889 -strref 897 m9s126 +call 892 pith_list_push_value void 2 880 891 +load 893 bytes_result +call 894 checker_builtins_create_function_type int 2 880 893 +call 895 checker_builtins_define_builtin_function void 2 879 894 +call 896 pith_cstring_release void 1 879 +strref 897 m9s130 call 898 pith_list_new_default list 0 load 899 types_TID_INT -call 900 pith_list_push_value void 2 898 899 -load 901 tid_bytes -call 902 pith_list_push_value void 2 898 901 -load 903 int_result -call 904 checker_builtins_create_function_type int 2 898 903 -call 905 checker_builtins_define_builtin_function void 2 897 904 -call 906 pith_cstring_release void 1 897 -strref 907 m9s125 -call 908 pith_list_new_default list 0 -load 909 types_TID_INT -call 910 pith_list_push_value void 2 908 909 -load 911 types_TID_STRING -call 912 pith_list_push_value void 2 908 911 -load 913 int_result -call 914 checker_builtins_create_function_type int 2 908 913 -call 915 checker_builtins_define_builtin_function void 2 907 914 -call 916 pith_cstring_release void 1 907 -strref 917 m9s124 -call 918 pith_list_new_default list 0 -load 919 types_TID_INT -call 920 pith_list_push_value void 2 918 919 +call 900 checker_builtins_create_function_type int 2 898 899 +call 901 checker_builtins_define_builtin_function void 2 897 900 +call 902 pith_cstring_release void 1 897 +strref 903 m9s129 +call 904 pith_list_new_default list 0 +load 905 types_TID_INT +call 906 pith_list_push_value void 2 904 905 +load 907 types_TID_VOID +call 908 checker_builtins_create_function_type int 2 904 907 +call 909 checker_builtins_define_builtin_function void 2 903 908 +call 910 pith_cstring_release void 1 903 +strref 911 m9s128 +call 912 pith_list_new_default list 0 +load 913 types_TID_INT +call 914 pith_list_push_value void 2 912 913 +load 915 tid_bytes +call 916 checker_builtins_create_function_type int 2 912 915 +call 917 checker_builtins_define_builtin_function void 2 911 916 +call 918 pith_cstring_release void 1 911 +strref 919 m9s127 +call 920 pith_list_new_default list 0 load 921 types_TID_INT -call 922 pith_list_push_value void 2 918 921 -load 923 int_result -call 924 checker_builtins_create_function_type int 2 918 923 -call 925 checker_builtins_define_builtin_function void 2 917 924 -call 926 pith_cstring_release void 1 917 -strref 927 m9s123 +call 922 pith_list_push_value void 2 920 921 +load 923 types_TID_INT +call 924 checker_builtins_create_function_type int 2 920 923 +call 925 checker_builtins_define_builtin_function void 2 919 924 +call 926 pith_cstring_release void 1 919 +strref 927 m9s126 call 928 pith_list_new_default list 0 load 929 types_TID_INT call 930 pith_list_push_value void 2 928 929 load 931 tid_bytes -call 932 checker_builtins_create_function_type int 2 928 931 -call 933 checker_builtins_define_builtin_function void 2 927 932 -call 934 pith_cstring_release void 1 927 -strref 935 m9s122 -call 936 pith_list_new_default list 0 -load 937 types_TID_INT -call 938 pith_list_push_value void 2 936 937 +call 932 pith_list_push_value void 2 928 931 +load 933 int_result +call 934 checker_builtins_create_function_type int 2 928 933 +call 935 checker_builtins_define_builtin_function void 2 927 934 +call 936 pith_cstring_release void 1 927 +strref 937 m9s125 +call 938 pith_list_new_default list 0 load 939 types_TID_INT -call 940 checker_builtins_create_function_type int 2 936 939 -call 941 checker_builtins_define_builtin_function void 2 935 940 -call 942 pith_cstring_release void 1 935 -strref 943 m9s121 -call 944 pith_list_new_default list 0 -load 945 types_TID_INT -call 946 pith_list_push_value void 2 944 945 -load 947 types_TID_INT -call 948 pith_list_push_value void 2 944 947 +call 940 pith_list_push_value void 2 938 939 +load 941 types_TID_STRING +call 942 pith_list_push_value void 2 938 941 +load 943 int_result +call 944 checker_builtins_create_function_type int 2 938 943 +call 945 checker_builtins_define_builtin_function void 2 937 944 +call 946 pith_cstring_release void 1 937 +strref 947 m9s124 +call 948 pith_list_new_default list 0 load 949 types_TID_INT -call 950 checker_builtins_create_function_type int 2 944 949 -call 951 checker_builtins_define_builtin_function void 2 943 950 -call 952 pith_cstring_release void 1 943 -strref 953 m9s120 -call 954 pith_list_new_default list 0 -load 955 types_TID_INT -call 956 pith_list_push_value void 2 954 955 -load 957 types_TID_INT -call 958 pith_list_push_value void 2 954 957 +call 950 pith_list_push_value void 2 948 949 +load 951 types_TID_INT +call 952 pith_list_push_value void 2 948 951 +load 953 int_result +call 954 checker_builtins_create_function_type int 2 948 953 +call 955 checker_builtins_define_builtin_function void 2 947 954 +call 956 pith_cstring_release void 1 947 +strref 957 m9s123 +call 958 pith_list_new_default list 0 load 959 types_TID_INT -call 960 pith_list_push_value void 2 954 959 -load 961 types_TID_BOOL -call 962 checker_builtins_create_function_type int 2 954 961 -call 963 checker_builtins_define_builtin_function void 2 953 962 -call 964 pith_cstring_release void 1 953 -strref 965 m9s119 +call 960 pith_list_push_value void 2 958 959 +load 961 tid_bytes +call 962 checker_builtins_create_function_type int 2 958 961 +call 963 checker_builtins_define_builtin_function void 2 957 962 +call 964 pith_cstring_release void 1 957 +strref 965 m9s122 call 966 pith_list_new_default list 0 load 967 types_TID_INT call 968 pith_list_push_value void 2 966 967 -load 969 types_TID_VOID +load 969 types_TID_INT call 970 checker_builtins_create_function_type int 2 966 969 call 971 checker_builtins_define_builtin_function void 2 965 970 call 972 pith_cstring_release void 1 965 -strref 973 m9s118 +strref 973 m9s121 call 974 pith_list_new_default list 0 load 975 types_TID_INT call 976 pith_list_push_value void 2 974 975 load 977 types_TID_INT call 978 pith_list_push_value void 2 974 977 -load 979 str_result +load 979 types_TID_INT call 980 checker_builtins_create_function_type int 2 974 979 call 981 checker_builtins_define_builtin_function void 2 973 980 call 982 pith_cstring_release void 1 973 -strref 983 m9s117 +strref 983 m9s120 call 984 pith_list_new_default list 0 load 985 types_TID_INT call 986 pith_list_push_value void 2 984 985 -load 987 types_TID_STRING +load 987 types_TID_INT call 988 pith_list_push_value void 2 984 987 -load 989 int_result -call 990 checker_builtins_create_function_type int 2 984 989 -call 991 checker_builtins_define_builtin_function void 2 983 990 -call 992 pith_cstring_release void 1 983 -strref 993 m9s116 -call 994 pith_list_new_default list 0 -load 995 types_TID_INT -call 996 pith_list_push_value void 2 994 995 +load 989 types_TID_INT +call 990 pith_list_push_value void 2 984 989 +load 991 types_TID_BOOL +call 992 checker_builtins_create_function_type int 2 984 991 +call 993 checker_builtins_define_builtin_function void 2 983 992 +call 994 pith_cstring_release void 1 983 +strref 995 m9s119 +call 996 pith_list_new_default list 0 load 997 types_TID_INT -call 998 pith_list_push_value void 2 994 997 -load 999 bytes_result -call 1000 checker_builtins_create_function_type int 2 994 999 -call 1001 checker_builtins_define_builtin_function void 2 993 1000 -call 1002 pith_cstring_release void 1 993 -strref 1003 m9s115 +call 998 pith_list_push_value void 2 996 997 +load 999 types_TID_VOID +call 1000 checker_builtins_create_function_type int 2 996 999 +call 1001 checker_builtins_define_builtin_function void 2 995 1000 +call 1002 pith_cstring_release void 1 995 +strref 1003 m9s118 call 1004 pith_list_new_default list 0 load 1005 types_TID_INT call 1006 pith_list_push_value void 2 1004 1005 -load 1007 tid_bytes +load 1007 types_TID_INT call 1008 pith_list_push_value void 2 1004 1007 -load 1009 int_result +load 1009 str_result call 1010 checker_builtins_create_function_type int 2 1004 1009 call 1011 checker_builtins_define_builtin_function void 2 1003 1010 call 1012 pith_cstring_release void 1 1003 -strref 1013 m9s114 -load 1014 int_to_void -call 1015 checker_builtins_define_builtin_function void 2 1013 1014 -call 1016 pith_cstring_release void 1 1013 -call 1017 pith_list_new_default list 0 -load 1018 types_TID_STRING -call 1019 pith_list_push_value void 2 1017 1018 -load 1020 types_TID_INT -call 1021 pith_list_push_value void 2 1017 1020 -load 1022 int_result -call 1023 checker_builtins_create_function_type int 2 1017 1022 -store str_int_to_int_result 1023 -strref 1024 m9s113 -load 1025 str_int_to_int_result -call 1026 checker_builtins_define_builtin_function void 2 1024 1025 -call 1027 pith_cstring_release void 1 1024 -strref 1028 m9s112 -load 1029 str_int_to_int_result -call 1030 checker_builtins_define_builtin_function void 2 1028 1029 -call 1031 pith_cstring_release void 1 1028 -strref 1032 m9s111 -call 1033 pith_list_new_default list 0 -load 1034 types_TID_INT -call 1035 pith_list_push_value void 2 1033 1034 -load 1036 int_result -call 1037 checker_builtins_create_function_type int 2 1033 1036 -call 1038 checker_builtins_define_builtin_function void 2 1032 1037 -call 1039 pith_cstring_release void 1 1032 -strref 1040 m9s110 -call 1041 pith_list_new_default list 0 -load 1042 types_TID_INT -call 1043 pith_list_push_value void 2 1041 1042 -load 1044 types_TID_INT -call 1045 pith_list_push_value void 2 1041 1044 -load 1046 str_result -call 1047 checker_builtins_create_function_type int 2 1041 1046 -call 1048 checker_builtins_define_builtin_function void 2 1040 1047 -call 1049 pith_cstring_release void 1 1040 -strref 1050 m9s109 -call 1051 pith_list_new_default list 0 -load 1052 types_TID_INT -call 1053 pith_list_push_value void 2 1051 1052 -load 1054 types_TID_STRING -call 1055 pith_list_push_value void 2 1051 1054 -load 1056 int_result -call 1057 checker_builtins_create_function_type int 2 1051 1056 -call 1058 checker_builtins_define_builtin_function void 2 1050 1057 -call 1059 pith_cstring_release void 1 1050 -strref 1060 m9s108 -call 1061 pith_list_new_default list 0 -load 1062 types_TID_INT -call 1063 pith_list_push_value void 2 1061 1062 +strref 1013 m9s117 +call 1014 pith_list_new_default list 0 +load 1015 types_TID_INT +call 1016 pith_list_push_value void 2 1014 1015 +load 1017 types_TID_STRING +call 1018 pith_list_push_value void 2 1014 1017 +load 1019 int_result +call 1020 checker_builtins_create_function_type int 2 1014 1019 +call 1021 checker_builtins_define_builtin_function void 2 1013 1020 +call 1022 pith_cstring_release void 1 1013 +strref 1023 m9s116 +call 1024 pith_list_new_default list 0 +load 1025 types_TID_INT +call 1026 pith_list_push_value void 2 1024 1025 +load 1027 types_TID_INT +call 1028 pith_list_push_value void 2 1024 1027 +load 1029 bytes_result +call 1030 checker_builtins_create_function_type int 2 1024 1029 +call 1031 checker_builtins_define_builtin_function void 2 1023 1030 +call 1032 pith_cstring_release void 1 1023 +strref 1033 m9s115 +call 1034 pith_list_new_default list 0 +load 1035 types_TID_INT +call 1036 pith_list_push_value void 2 1034 1035 +load 1037 tid_bytes +call 1038 pith_list_push_value void 2 1034 1037 +load 1039 int_result +call 1040 checker_builtins_create_function_type int 2 1034 1039 +call 1041 checker_builtins_define_builtin_function void 2 1033 1040 +call 1042 pith_cstring_release void 1 1033 +strref 1043 m9s114 +load 1044 int_to_void +call 1045 checker_builtins_define_builtin_function void 2 1043 1044 +call 1046 pith_cstring_release void 1 1043 +call 1047 pith_list_new_default list 0 +load 1048 types_TID_STRING +call 1049 pith_list_push_value void 2 1047 1048 +load 1050 types_TID_INT +call 1051 pith_list_push_value void 2 1047 1050 +load 1052 int_result +call 1053 checker_builtins_create_function_type int 2 1047 1052 +store str_int_to_int_result 1053 +strref 1054 m9s113 +load 1055 str_int_to_int_result +call 1056 checker_builtins_define_builtin_function void 2 1054 1055 +call 1057 pith_cstring_release void 1 1054 +strref 1058 m9s112 +load 1059 str_int_to_int_result +call 1060 checker_builtins_define_builtin_function void 2 1058 1059 +call 1061 pith_cstring_release void 1 1058 +strref 1062 m9s111 +call 1063 pith_list_new_default list 0 load 1064 types_TID_INT -call 1065 pith_list_push_value void 2 1061 1064 -load 1066 bytes_result -call 1067 checker_builtins_create_function_type int 2 1061 1066 -call 1068 checker_builtins_define_builtin_function void 2 1060 1067 -call 1069 pith_cstring_release void 1 1060 -strref 1070 m9s107 +call 1065 pith_list_push_value void 2 1063 1064 +load 1066 int_result +call 1067 checker_builtins_create_function_type int 2 1063 1066 +call 1068 checker_builtins_define_builtin_function void 2 1062 1067 +call 1069 pith_cstring_release void 1 1062 +strref 1070 m9s110 call 1071 pith_list_new_default list 0 load 1072 types_TID_INT call 1073 pith_list_push_value void 2 1071 1072 -load 1074 tid_bytes +load 1074 types_TID_INT call 1075 pith_list_push_value void 2 1071 1074 -load 1076 int_result +load 1076 str_result call 1077 checker_builtins_create_function_type int 2 1071 1076 call 1078 checker_builtins_define_builtin_function void 2 1070 1077 call 1079 pith_cstring_release void 1 1070 -strref 1080 m9s106 +strref 1080 m9s109 call 1081 pith_list_new_default list 0 load 1082 types_TID_INT call 1083 pith_list_push_value void 2 1081 1082 -load 1084 types_TID_INT +load 1084 types_TID_STRING call 1085 pith_list_push_value void 2 1081 1084 -load 1086 types_TID_INT +load 1086 int_result call 1087 checker_builtins_create_function_type int 2 1081 1086 call 1088 checker_builtins_define_builtin_function void 2 1080 1087 call 1089 pith_cstring_release void 1 1080 -strref 1090 m9s105 +strref 1090 m9s108 call 1091 pith_list_new_default list 0 load 1092 types_TID_INT call 1093 pith_list_push_value void 2 1091 1092 load 1094 types_TID_INT call 1095 pith_list_push_value void 2 1091 1094 -load 1096 types_TID_INT +load 1096 bytes_result call 1097 checker_builtins_create_function_type int 2 1091 1096 call 1098 checker_builtins_define_builtin_function void 2 1090 1097 call 1099 pith_cstring_release void 1 1090 -strref 1100 m9s104 +strref 1100 m9s107 call 1101 pith_list_new_default list 0 load 1102 types_TID_INT call 1103 pith_list_push_value void 2 1101 1102 -load 1104 types_TID_INT +load 1104 tid_bytes call 1105 pith_list_push_value void 2 1101 1104 -load 1106 types_TID_VOID +load 1106 int_result call 1107 checker_builtins_create_function_type int 2 1101 1106 call 1108 checker_builtins_define_builtin_function void 2 1100 1107 call 1109 pith_cstring_release void 1 1100 -strref 1110 m9s103 +strref 1110 m9s106 call 1111 pith_list_new_default list 0 -load 1112 types_TID_STRING +load 1112 types_TID_INT call 1113 pith_list_push_value void 2 1111 1112 -load 1114 int_result -call 1115 checker_builtins_create_function_type int 2 1111 1114 -call 1116 checker_builtins_define_builtin_function void 2 1110 1115 -call 1117 pith_cstring_release void 1 1110 -strref 1118 m9s102 -call 1119 pith_list_new_default list 0 -load 1120 types_TID_STRING -call 1121 pith_list_push_value void 2 1119 1120 -load 1122 list_string -call 1123 pith_list_push_value void 2 1119 1122 -load 1124 types_TID_STRING -call 1125 pith_list_push_value void 2 1119 1124 -load 1126 list_string -call 1127 pith_list_push_value void 2 1119 1126 -load 1128 list_string -call 1129 pith_list_push_value void 2 1119 1128 -load 1130 int_result -call 1131 checker_builtins_create_function_type int 2 1119 1130 -call 1132 checker_builtins_define_builtin_function void 2 1118 1131 -call 1133 pith_cstring_release void 1 1118 -strref 1134 m9s101 -call 1135 pith_list_new_default list 0 -load 1136 types_TID_STRING -call 1137 pith_list_push_value void 2 1135 1136 -load 1138 list_string -call 1139 pith_list_push_value void 2 1135 1138 -load 1140 types_TID_STRING -call 1141 pith_list_push_value void 2 1135 1140 -load 1142 list_string -call 1143 pith_list_push_value void 2 1135 1142 -load 1144 list_string -call 1145 pith_list_push_value void 2 1135 1144 -load 1146 int_result -call 1147 checker_builtins_create_function_type int 2 1135 1146 -call 1148 checker_builtins_define_builtin_function void 2 1134 1147 -call 1149 pith_cstring_release void 1 1134 -strref 1150 m9s100 -call 1151 pith_list_new_default list 0 -load 1152 types_TID_INT -call 1153 pith_list_push_value void 2 1151 1152 +load 1114 types_TID_INT +call 1115 pith_list_push_value void 2 1111 1114 +load 1116 types_TID_INT +call 1117 checker_builtins_create_function_type int 2 1111 1116 +call 1118 checker_builtins_define_builtin_function void 2 1110 1117 +call 1119 pith_cstring_release void 1 1110 +strref 1120 m9s105 +call 1121 pith_list_new_default list 0 +load 1122 types_TID_INT +call 1123 pith_list_push_value void 2 1121 1122 +load 1124 types_TID_INT +call 1125 pith_list_push_value void 2 1121 1124 +load 1126 types_TID_INT +call 1127 checker_builtins_create_function_type int 2 1121 1126 +call 1128 checker_builtins_define_builtin_function void 2 1120 1127 +call 1129 pith_cstring_release void 1 1120 +strref 1130 m9s104 +call 1131 pith_list_new_default list 0 +load 1132 types_TID_INT +call 1133 pith_list_push_value void 2 1131 1132 +load 1134 types_TID_INT +call 1135 pith_list_push_value void 2 1131 1134 +load 1136 types_TID_VOID +call 1137 checker_builtins_create_function_type int 2 1131 1136 +call 1138 checker_builtins_define_builtin_function void 2 1130 1137 +call 1139 pith_cstring_release void 1 1130 +strref 1140 m9s103 +call 1141 pith_list_new_default list 0 +load 1142 types_TID_STRING +call 1143 pith_list_push_value void 2 1141 1142 +load 1144 int_result +call 1145 checker_builtins_create_function_type int 2 1141 1144 +call 1146 checker_builtins_define_builtin_function void 2 1140 1145 +call 1147 pith_cstring_release void 1 1140 +strref 1148 m9s102 +call 1149 pith_list_new_default list 0 +load 1150 types_TID_STRING +call 1151 pith_list_push_value void 2 1149 1150 +load 1152 list_string +call 1153 pith_list_push_value void 2 1149 1152 load 1154 types_TID_STRING -call 1155 pith_list_push_value void 2 1151 1154 -load 1156 int_result -call 1157 checker_builtins_create_function_type int 2 1151 1156 -call 1158 checker_builtins_define_builtin_function void 2 1150 1157 -call 1159 pith_cstring_release void 1 1150 -strref 1160 m9s99 -call 1161 pith_list_new_default list 0 -load 1162 types_TID_INT -call 1163 pith_list_push_value void 2 1161 1162 -load 1164 types_TID_INT -call 1165 pith_list_push_value void 2 1161 1164 -load 1166 str_result -call 1167 checker_builtins_create_function_type int 2 1161 1166 -call 1168 checker_builtins_define_builtin_function void 2 1160 1167 -call 1169 pith_cstring_release void 1 1160 -strref 1170 m9s98 -call 1171 pith_list_new_default list 0 -load 1172 types_TID_INT -call 1173 pith_list_push_value void 2 1171 1172 -load 1174 types_TID_INT -call 1175 pith_list_push_value void 2 1171 1174 -load 1176 str_result -call 1177 checker_builtins_create_function_type int 2 1171 1176 -call 1178 checker_builtins_define_builtin_function void 2 1170 1177 -call 1179 pith_cstring_release void 1 1170 -strref 1180 m9s97 +call 1155 pith_list_push_value void 2 1149 1154 +load 1156 list_string +call 1157 pith_list_push_value void 2 1149 1156 +load 1158 list_string +call 1159 pith_list_push_value void 2 1149 1158 +load 1160 int_result +call 1161 checker_builtins_create_function_type int 2 1149 1160 +call 1162 checker_builtins_define_builtin_function void 2 1148 1161 +call 1163 pith_cstring_release void 1 1148 +strref 1164 m9s101 +call 1165 pith_list_new_default list 0 +load 1166 types_TID_STRING +call 1167 pith_list_push_value void 2 1165 1166 +load 1168 list_string +call 1169 pith_list_push_value void 2 1165 1168 +load 1170 types_TID_STRING +call 1171 pith_list_push_value void 2 1165 1170 +load 1172 list_string +call 1173 pith_list_push_value void 2 1165 1172 +load 1174 list_string +call 1175 pith_list_push_value void 2 1165 1174 +load 1176 int_result +call 1177 checker_builtins_create_function_type int 2 1165 1176 +call 1178 checker_builtins_define_builtin_function void 2 1164 1177 +call 1179 pith_cstring_release void 1 1164 +strref 1180 m9s100 call 1181 pith_list_new_default list 0 load 1182 types_TID_INT call 1183 pith_list_push_value void 2 1181 1182 -load 1184 tid_bytes +load 1184 types_TID_STRING call 1185 pith_list_push_value void 2 1181 1184 load 1186 int_result call 1187 checker_builtins_create_function_type int 2 1181 1186 call 1188 checker_builtins_define_builtin_function void 2 1180 1187 call 1189 pith_cstring_release void 1 1180 -strref 1190 m9s96 +strref 1190 m9s99 call 1191 pith_list_new_default list 0 load 1192 types_TID_INT call 1193 pith_list_push_value void 2 1191 1192 load 1194 types_TID_INT call 1195 pith_list_push_value void 2 1191 1194 -load 1196 bytes_result +load 1196 str_result call 1197 checker_builtins_create_function_type int 2 1191 1196 call 1198 checker_builtins_define_builtin_function void 2 1190 1197 call 1199 pith_cstring_release void 1 1190 -strref 1200 m9s95 +strref 1200 m9s98 call 1201 pith_list_new_default list 0 load 1202 types_TID_INT call 1203 pith_list_push_value void 2 1201 1202 load 1204 types_TID_INT call 1205 pith_list_push_value void 2 1201 1204 -load 1206 bytes_result +load 1206 str_result call 1207 checker_builtins_create_function_type int 2 1201 1206 call 1208 checker_builtins_define_builtin_function void 2 1200 1207 call 1209 pith_cstring_release void 1 1200 -strref 1210 m9s94 -load 1211 int_to_int -call 1212 checker_builtins_define_builtin_function void 2 1210 1211 -call 1213 pith_cstring_release void 1 1210 -strref 1214 m9s93 -call 1215 pith_list_new_default list 0 -load 1216 types_TID_INT -call 1217 pith_list_push_value void 2 1215 1216 -load 1218 types_TID_BOOL -call 1219 checker_builtins_create_function_type int 2 1215 1218 -call 1220 checker_builtins_define_builtin_function void 2 1214 1219 -call 1221 pith_cstring_release void 1 1214 -strref 1222 m9s92 -load 1223 int_to_void -call 1224 checker_builtins_define_builtin_function void 2 1222 1223 -call 1225 pith_cstring_release void 1 1222 -strref 1226 m9s91 -load 1227 int_to_int -call 1228 checker_builtins_define_builtin_function void 2 1226 1227 -call 1229 pith_cstring_release void 1 1226 -strref 1230 m9s90 +strref 1210 m9s97 +call 1211 pith_list_new_default list 0 +load 1212 types_TID_INT +call 1213 pith_list_push_value void 2 1211 1212 +load 1214 tid_bytes +call 1215 pith_list_push_value void 2 1211 1214 +load 1216 int_result +call 1217 checker_builtins_create_function_type int 2 1211 1216 +call 1218 checker_builtins_define_builtin_function void 2 1210 1217 +call 1219 pith_cstring_release void 1 1210 +strref 1220 m9s96 +call 1221 pith_list_new_default list 0 +load 1222 types_TID_INT +call 1223 pith_list_push_value void 2 1221 1222 +load 1224 types_TID_INT +call 1225 pith_list_push_value void 2 1221 1224 +load 1226 bytes_result +call 1227 checker_builtins_create_function_type int 2 1221 1226 +call 1228 checker_builtins_define_builtin_function void 2 1220 1227 +call 1229 pith_cstring_release void 1 1220 +strref 1230 m9s95 call 1231 pith_list_new_default list 0 load 1232 types_TID_INT call 1233 pith_list_push_value void 2 1231 1232 -load 1234 types_TID_STRING -call 1235 checker_builtins_create_function_type int 2 1231 1234 -call 1236 checker_builtins_define_builtin_function void 2 1230 1235 -call 1237 pith_cstring_release void 1 1230 -strref 1238 m9s89 -call 1239 pith_list_new_default list 0 -load 1240 types_TID_INT -call 1241 pith_list_push_value void 2 1239 1240 -load 1242 types_TID_STRING -call 1243 checker_builtins_create_function_type int 2 1239 1242 -call 1244 checker_builtins_define_builtin_function void 2 1238 1243 -call 1245 pith_cstring_release void 1 1238 -strref 1246 m9s88 -load 1247 int_to_void -call 1248 checker_builtins_define_builtin_function void 2 1246 1247 -call 1249 pith_cstring_release void 1 1246 -strref 1250 m9s231 -call 1251 pith_list_new_default list 0 -call 1252 checker_builtins_register_sync_primitive_type void 2 1250 1251 -call 1253 pith_cstring_release void 1 1250 -strref 1254 m9s230 -call 1255 pith_list_new_default list 0 -call 1256 checker_builtins_register_sync_primitive_type void 2 1254 1255 -call 1257 pith_cstring_release void 1 1254 -strref 1258 m9s229 -call 1259 pith_list_new_default list 0 -load 1260 tid_int -call 1261 pith_list_push_value void 2 1259 1260 -call 1262 checker_builtins_register_sync_primitive_type void 2 1258 1259 -call 1263 pith_cstring_release void 1 1258 -strref 1264 m9s228 -call 1265 pith_list_new_default list 0 -load 1266 tid_int -call 1267 pith_list_push_value void 2 1265 1266 -call 1268 checker_builtins_register_sync_primitive_type void 2 1264 1265 -call 1269 pith_cstring_release void 1 1264 -strref 1270 m9s227 -call 1271 pith_list_new_default list 0 -load 1272 tid_int -call 1273 checker_builtins_fix_builtin_binding void 3 1270 1271 1272 -call 1274 pith_cstring_release void 1 1270 -strref 1275 m9s226 -call 1276 pith_list_new_default list 0 -load 1277 tid_int -call 1278 checker_builtins_fix_builtin_binding void 3 1275 1276 1277 -call 1279 pith_cstring_release void 1 1275 -strref 1280 m9s225 +load 1234 types_TID_INT +call 1235 pith_list_push_value void 2 1231 1234 +load 1236 bytes_result +call 1237 checker_builtins_create_function_type int 2 1231 1236 +call 1238 checker_builtins_define_builtin_function void 2 1230 1237 +call 1239 pith_cstring_release void 1 1230 +strref 1240 m9s94 +load 1241 int_to_int +call 1242 checker_builtins_define_builtin_function void 2 1240 1241 +call 1243 pith_cstring_release void 1 1240 +strref 1244 m9s93 +call 1245 pith_list_new_default list 0 +load 1246 types_TID_INT +call 1247 pith_list_push_value void 2 1245 1246 +load 1248 types_TID_BOOL +call 1249 checker_builtins_create_function_type int 2 1245 1248 +call 1250 checker_builtins_define_builtin_function void 2 1244 1249 +call 1251 pith_cstring_release void 1 1244 +strref 1252 m9s92 +load 1253 int_to_void +call 1254 checker_builtins_define_builtin_function void 2 1252 1253 +call 1255 pith_cstring_release void 1 1252 +strref 1256 m9s91 +load 1257 int_to_int +call 1258 checker_builtins_define_builtin_function void 2 1256 1257 +call 1259 pith_cstring_release void 1 1256 +strref 1260 m9s90 +call 1261 pith_list_new_default list 0 +load 1262 types_TID_INT +call 1263 pith_list_push_value void 2 1261 1262 +load 1264 types_TID_STRING +call 1265 checker_builtins_create_function_type int 2 1261 1264 +call 1266 checker_builtins_define_builtin_function void 2 1260 1265 +call 1267 pith_cstring_release void 1 1260 +strref 1268 m9s89 +call 1269 pith_list_new_default list 0 +load 1270 types_TID_INT +call 1271 pith_list_push_value void 2 1269 1270 +load 1272 types_TID_STRING +call 1273 checker_builtins_create_function_type int 2 1269 1272 +call 1274 checker_builtins_define_builtin_function void 2 1268 1273 +call 1275 pith_cstring_release void 1 1268 +strref 1276 m9s88 +load 1277 int_to_void +call 1278 checker_builtins_define_builtin_function void 2 1276 1277 +call 1279 pith_cstring_release void 1 1276 +strref 1280 m9s233 call 1281 pith_list_new_default list 0 -load 1282 tid_float -call 1283 checker_builtins_fix_builtin_binding void 3 1280 1281 1282 -call 1284 pith_cstring_release void 1 1280 -strref 1285 m9s224 -call 1286 pith_list_new_default list 0 -load 1287 tid_int -call 1288 pith_list_push_value void 2 1286 1287 -load 1289 tid_float -call 1290 checker_builtins_fix_builtin_binding void 3 1285 1286 1289 -call 1291 pith_cstring_release void 1 1285 -strref 1292 m9s223 -call 1293 pith_list_new_default list 0 -load 1294 tid_float -call 1295 pith_list_push_value void 2 1293 1294 +call 1282 checker_builtins_register_sync_primitive_type void 2 1280 1281 +call 1283 pith_cstring_release void 1 1280 +strref 1284 m9s232 +call 1285 pith_list_new_default list 0 +call 1286 checker_builtins_register_sync_primitive_type void 2 1284 1285 +call 1287 pith_cstring_release void 1 1284 +strref 1288 m9s231 +call 1289 pith_list_new_default list 0 +load 1290 tid_int +call 1291 pith_list_push_value void 2 1289 1290 +call 1292 checker_builtins_register_sync_primitive_type void 2 1288 1289 +call 1293 pith_cstring_release void 1 1288 +strref 1294 m9s230 +call 1295 pith_list_new_default list 0 load 1296 tid_int -call 1297 checker_builtins_fix_builtin_binding void 3 1292 1293 1296 -call 1298 pith_cstring_release void 1 1292 -strref 1299 m9s222 -call 1300 pith_list_new_default list 0 -load 1301 tid_string -call 1302 checker_builtins_fix_builtin_binding void 3 1299 1300 1301 -call 1303 pith_cstring_release void 1 1299 -strref 1304 m9s221 -call 1305 pith_list_new_default list 0 -load 1306 list_string -call 1307 checker_builtins_fix_builtin_binding void 3 1304 1305 1306 -call 1308 pith_cstring_release void 1 1304 -strref 1309 m9s220 -call 1310 pith_list_new_default list 0 -load 1311 tid_bool -call 1312 pith_list_push_value void 2 1310 1311 -load 1313 tid_void -call 1314 checker_builtins_fix_builtin_binding void 3 1309 1310 1313 -call 1315 pith_cstring_release void 1 1309 -strref 1316 m9s219 -call 1317 pith_list_new_default list 0 -load 1318 tid_int -call 1319 pith_list_push_value void 2 1317 1318 -load 1320 tid_void -call 1321 checker_builtins_fix_builtin_binding void 3 1316 1317 1320 -call 1322 pith_cstring_release void 1 1316 -strref 1323 m9s218 -call 1324 pith_list_new_default list 0 -load 1325 tid_int -call 1326 pith_list_push_value void 2 1324 1325 -load 1327 tid_void -call 1328 checker_builtins_fix_builtin_binding void 3 1323 1324 1327 -call 1329 pith_cstring_release void 1 1323 -strref 1330 m9s217 -call 1331 pith_list_new_default list 0 -load 1332 tid_int -call 1333 pith_list_push_value void 2 1331 1332 -load 1334 tid_void -call 1335 checker_builtins_fix_builtin_binding void 3 1330 1331 1334 -call 1336 pith_cstring_release void 1 1330 -strref 1337 m9s216 -call 1338 pith_list_new_default list 0 -load 1339 tid_int -call 1340 pith_list_push_value void 2 1338 1339 -load 1341 tid_void -call 1342 checker_builtins_fix_builtin_binding void 3 1337 1338 1341 -call 1343 pith_cstring_release void 1 1337 -strref 1344 m9s215 -call 1345 pith_list_new_default list 0 -load 1346 tid_int -call 1347 pith_list_push_value void 2 1345 1346 +call 1297 pith_list_push_value void 2 1295 1296 +call 1298 checker_builtins_register_sync_primitive_type void 2 1294 1295 +call 1299 pith_cstring_release void 1 1294 +strref 1300 m9s229 +call 1301 pith_list_new_default list 0 +load 1302 tid_int +call 1303 checker_builtins_fix_builtin_binding void 3 1300 1301 1302 +call 1304 pith_cstring_release void 1 1300 +strref 1305 m9s228 +call 1306 pith_list_new_default list 0 +load 1307 tid_int +call 1308 checker_builtins_fix_builtin_binding void 3 1305 1306 1307 +call 1309 pith_cstring_release void 1 1305 +strref 1310 m9s227 +call 1311 pith_list_new_default list 0 +load 1312 tid_float +call 1313 checker_builtins_fix_builtin_binding void 3 1310 1311 1312 +call 1314 pith_cstring_release void 1 1310 +strref 1315 m9s226 +call 1316 pith_list_new_default list 0 +load 1317 tid_int +call 1318 pith_list_push_value void 2 1316 1317 +load 1319 tid_float +call 1320 checker_builtins_fix_builtin_binding void 3 1315 1316 1319 +call 1321 pith_cstring_release void 1 1315 +strref 1322 m9s225 +call 1323 pith_list_new_default list 0 +load 1324 tid_float +call 1325 pith_list_push_value void 2 1323 1324 +load 1326 tid_int +call 1327 checker_builtins_fix_builtin_binding void 3 1322 1323 1326 +call 1328 pith_cstring_release void 1 1322 +strref 1329 m9s224 +call 1330 pith_list_new_default list 0 +load 1331 tid_string +call 1332 checker_builtins_fix_builtin_binding void 3 1329 1330 1331 +call 1333 pith_cstring_release void 1 1329 +strref 1334 m9s223 +call 1335 pith_list_new_default list 0 +load 1336 list_string +call 1337 checker_builtins_fix_builtin_binding void 3 1334 1335 1336 +call 1338 pith_cstring_release void 1 1334 +strref 1339 m9s222 +call 1340 pith_list_new_default list 0 +load 1341 tid_bool +call 1342 pith_list_push_value void 2 1340 1341 +load 1343 tid_void +call 1344 checker_builtins_fix_builtin_binding void 3 1339 1340 1343 +call 1345 pith_cstring_release void 1 1339 +strref 1346 m9s221 +call 1347 pith_list_new_default list 0 load 1348 tid_int -call 1349 checker_builtins_fix_builtin_binding void 3 1344 1345 1348 -call 1350 pith_cstring_release void 1 1344 -strref 1351 m9s214 -call 1352 pith_list_new_default list 0 -load 1353 tid_int -call 1354 pith_list_push_value void 2 1352 1353 +call 1349 pith_list_push_value void 2 1347 1348 +load 1350 tid_void +call 1351 checker_builtins_fix_builtin_binding void 3 1346 1347 1350 +call 1352 pith_cstring_release void 1 1346 +strref 1353 m9s220 +call 1354 pith_list_new_default list 0 load 1355 tid_int -call 1356 checker_builtins_fix_builtin_binding void 3 1351 1352 1355 -call 1357 pith_cstring_release void 1 1351 -strref 1358 m9s213 -call 1359 pith_list_new_default list 0 -load 1360 tid_int -call 1361 pith_list_push_value void 2 1359 1360 -load 1362 tid_string -call 1363 checker_builtins_fix_builtin_binding void 3 1358 1359 1362 -call 1364 pith_cstring_release void 1 1358 -strref 1365 m9s212 -call 1366 pith_list_new_default list 0 -load 1367 tid_int -call 1368 pith_list_push_value void 2 1366 1367 -load 1369 tid_string -call 1370 checker_builtins_fix_builtin_binding void 3 1365 1366 1369 -call 1371 pith_cstring_release void 1 1365 -strref 1372 m9s211 -call 1373 pith_list_new_default list 0 -load 1374 tid_int -call 1375 pith_list_push_value void 2 1373 1374 +call 1356 pith_list_push_value void 2 1354 1355 +load 1357 tid_void +call 1358 checker_builtins_fix_builtin_binding void 3 1353 1354 1357 +call 1359 pith_cstring_release void 1 1353 +strref 1360 m9s219 +call 1361 pith_list_new_default list 0 +load 1362 tid_int +call 1363 pith_list_push_value void 2 1361 1362 +load 1364 tid_void +call 1365 checker_builtins_fix_builtin_binding void 3 1360 1361 1364 +call 1366 pith_cstring_release void 1 1360 +strref 1367 m9s218 +call 1368 pith_list_new_default list 0 +load 1369 tid_int +call 1370 pith_list_push_value void 2 1368 1369 +load 1371 tid_void +call 1372 checker_builtins_fix_builtin_binding void 3 1367 1368 1371 +call 1373 pith_cstring_release void 1 1367 +strref 1374 m9s217 +call 1375 pith_list_new_default list 0 load 1376 tid_int -call 1377 pith_list_push_value void 2 1373 1376 +call 1377 pith_list_push_value void 2 1375 1376 load 1378 tid_int -call 1379 checker_builtins_fix_builtin_binding void 3 1372 1373 1378 -call 1380 pith_cstring_release void 1 1372 -strref 1381 m9s210 +call 1379 checker_builtins_fix_builtin_binding void 3 1374 1375 1378 +call 1380 pith_cstring_release void 1 1374 +strref 1381 m9s216 call 1382 pith_list_new_default list 0 load 1383 tid_int call 1384 pith_list_push_value void 2 1382 1383 load 1385 tid_int -call 1386 pith_list_push_value void 2 1382 1385 -load 1387 tid_int -call 1388 checker_builtins_fix_builtin_binding void 3 1381 1382 1387 -call 1389 pith_cstring_release void 1 1381 -strref 1390 m9s209 -call 1391 pith_list_new_default list 0 -load 1392 tid_int -call 1393 pith_list_push_value void 2 1391 1392 -load 1394 tid_int -call 1395 pith_list_push_value void 2 1391 1394 -load 1396 tid_int -call 1397 checker_builtins_fix_builtin_binding void 3 1390 1391 1396 -call 1398 pith_cstring_release void 1 1390 -strref 1399 m9s208 -call 1400 pith_list_new_default list 0 -load 1401 tid_int -call 1402 pith_list_push_value void 2 1400 1401 -load 1403 tid_int -call 1404 pith_list_push_value void 2 1400 1403 -load 1405 tid_int -call 1406 checker_builtins_fix_builtin_binding void 3 1399 1400 1405 -call 1407 pith_cstring_release void 1 1399 -strref 1408 m9s207 -call 1409 pith_list_new_default list 0 -load 1410 tid_int -call 1411 pith_list_push_value void 2 1409 1410 -load 1412 tid_int -call 1413 pith_list_push_value void 2 1409 1412 -load 1414 tid_int -call 1415 checker_builtins_fix_builtin_binding void 3 1408 1409 1414 -call 1416 pith_cstring_release void 1 1408 -strref 1417 m9s206 -call 1418 pith_list_new_default list 0 -load 1419 tid_int -call 1420 pith_list_push_value void 2 1418 1419 -load 1421 tid_int -call 1422 pith_list_push_value void 2 1418 1421 -load 1423 tid_int -call 1424 checker_builtins_fix_builtin_binding void 3 1417 1418 1423 -call 1425 pith_cstring_release void 1 1417 -strref 1426 m9s205 -call 1427 pith_list_new_default list 0 -load 1428 tid_int -call 1429 pith_list_push_value void 2 1427 1428 -load 1430 tid_int -call 1431 pith_list_push_value void 2 1427 1430 -load 1432 tid_int -call 1433 checker_builtins_fix_builtin_binding void 3 1426 1427 1432 -call 1434 pith_cstring_release void 1 1426 -strref 1435 m9s204 -call 1436 pith_list_new_default list 0 -load 1437 tid_int -call 1438 pith_list_push_value void 2 1436 1437 -load 1439 tid_int -call 1440 pith_list_push_value void 2 1436 1439 -load 1441 tid_int -call 1442 checker_builtins_fix_builtin_binding void 3 1435 1436 1441 -call 1443 pith_cstring_release void 1 1435 -strref 1444 m9s14 -call 1445 pith_list_new_default list 0 -load 1446 tid_int -call 1447 pith_list_push_value void 2 1445 1446 -strref 1448 m9s14 -call 1449 types_lookup_type_id int 1 1448 -call 1450 pith_cstring_release void 1 1448 -call 1451 checker_builtins_fix_builtin_binding void 3 1444 1445 1449 -call 1452 pith_cstring_release void 1 1444 -strref 1453 m9s8 -call 1454 pith_list_new_default list 0 -load 1455 tid_int -call 1456 pith_list_push_value void 2 1454 1455 -strref 1457 m9s8 -call 1458 types_lookup_type_id int 1 1457 -call 1459 pith_cstring_release void 1 1457 -call 1460 checker_builtins_fix_builtin_binding void 3 1453 1454 1458 -call 1461 pith_cstring_release void 1 1453 -strref 1462 m9s7 -call 1463 pith_list_new_default list 0 -load 1464 tid_int -call 1465 pith_list_push_value void 2 1463 1464 -strref 1466 m9s7 -call 1467 types_lookup_type_id int 1 1466 -call 1468 pith_cstring_release void 1 1466 -call 1469 checker_builtins_fix_builtin_binding void 3 1462 1463 1467 -call 1470 pith_cstring_release void 1 1462 -strref 1471 m9s6 -call 1472 pith_list_new_default list 0 -load 1473 tid_int -call 1474 pith_list_push_value void 2 1472 1473 -strref 1475 m9s6 -call 1476 types_lookup_type_id int 1 1475 -call 1477 pith_cstring_release void 1 1475 -call 1478 checker_builtins_fix_builtin_binding void 3 1471 1472 1476 -call 1479 pith_cstring_release void 1 1471 -strref 1480 m9s5 -call 1481 pith_list_new_default list 0 -load 1482 tid_int -call 1483 pith_list_push_value void 2 1481 1482 -strref 1484 m9s5 -call 1485 types_lookup_type_id int 1 1484 -call 1486 pith_cstring_release void 1 1484 -call 1487 checker_builtins_fix_builtin_binding void 3 1480 1481 1485 -call 1488 pith_cstring_release void 1 1480 -strref 1489 m9s4 -call 1490 pith_list_new_default list 0 -load 1491 tid_int -call 1492 pith_list_push_value void 2 1490 1491 -strref 1493 m9s4 -call 1494 types_lookup_type_id int 1 1493 -call 1495 pith_cstring_release void 1 1493 -call 1496 checker_builtins_fix_builtin_binding void 3 1489 1490 1494 -call 1497 pith_cstring_release void 1 1489 -strref 1498 m9s3 -call 1499 pith_list_new_default list 0 -load 1500 tid_int -call 1501 pith_list_push_value void 2 1499 1500 -strref 1502 m9s3 -call 1503 types_lookup_type_id int 1 1502 -call 1504 pith_cstring_release void 1 1502 -call 1505 checker_builtins_fix_builtin_binding void 3 1498 1499 1503 -call 1506 pith_cstring_release void 1 1498 -strref 1507 m9s2 -call 1508 pith_list_new_default list 0 -load 1509 tid_int -call 1510 pith_list_push_value void 2 1508 1509 -strref 1511 m9s2 -call 1512 types_lookup_type_id int 1 1511 -call 1513 pith_cstring_release void 1 1511 -call 1514 checker_builtins_fix_builtin_binding void 3 1507 1508 1512 -call 1515 pith_cstring_release void 1 1507 -strref 1516 m9s1 -call 1517 pith_list_new_default list 0 -load 1518 tid_int -call 1519 pith_list_push_value void 2 1517 1518 -strref 1520 m9s1 -call 1521 types_lookup_type_id int 1 1520 -call 1522 pith_cstring_release void 1 1520 -call 1523 checker_builtins_fix_builtin_binding void 3 1516 1517 1521 -call 1524 pith_cstring_release void 1 1516 -strref 1525 m9s203 -call 1526 pith_list_new_default list 0 -load 1527 tid_int -call 1528 pith_list_push_value void 2 1526 1527 -load 1529 tid_int -call 1530 pith_list_push_value void 2 1526 1529 -load 1531 tid_int -call 1532 pith_list_push_value void 2 1526 1531 -load 1533 tid_int -call 1534 checker_builtins_fix_builtin_binding void 3 1525 1526 1533 -call 1535 pith_cstring_release void 1 1525 -strref 1536 m9s202 -call 1537 pith_list_new_default list 0 -load 1538 tid_int -call 1539 pith_list_push_value void 2 1537 1538 -load 1540 tid_string -call 1541 pith_list_push_value void 2 1537 1540 -load 1542 tid_string -call 1543 checker_builtins_fix_builtin_binding void 3 1536 1537 1542 -call 1544 pith_cstring_release void 1 1536 -strref 1545 m9s201 -call 1546 pith_list_new_default list 0 -load 1547 tid_float -call 1548 pith_list_push_value void 2 1546 1547 -load 1549 tid_float -call 1550 checker_builtins_fix_builtin_binding void 3 1545 1546 1549 -call 1551 pith_cstring_release void 1 1545 -strref 1552 m9s200 -call 1553 pith_list_new_default list 0 -load 1554 tid_float -call 1555 pith_list_push_value void 2 1553 1554 -load 1556 tid_float -call 1557 checker_builtins_fix_builtin_binding void 3 1552 1553 1556 -call 1558 pith_cstring_release void 1 1552 -strref 1559 m9s199 -call 1560 pith_list_new_default list 0 -load 1561 tid_float -call 1562 pith_list_push_value void 2 1560 1561 -load 1563 tid_float -call 1564 checker_builtins_fix_builtin_binding void 3 1559 1560 1563 -call 1565 pith_cstring_release void 1 1559 -strref 1566 m9s198 +call 1386 checker_builtins_fix_builtin_binding void 3 1381 1382 1385 +call 1387 pith_cstring_release void 1 1381 +strref 1388 m9s215 +call 1389 pith_list_new_default list 0 +load 1390 tid_int +call 1391 pith_list_push_value void 2 1389 1390 +load 1392 tid_string +call 1393 checker_builtins_fix_builtin_binding void 3 1388 1389 1392 +call 1394 pith_cstring_release void 1 1388 +strref 1395 m9s214 +call 1396 pith_list_new_default list 0 +load 1397 tid_int +call 1398 pith_list_push_value void 2 1396 1397 +load 1399 tid_string +call 1400 checker_builtins_fix_builtin_binding void 3 1395 1396 1399 +call 1401 pith_cstring_release void 1 1395 +strref 1402 m9s213 +call 1403 pith_list_new_default list 0 +load 1404 tid_int +call 1405 pith_list_push_value void 2 1403 1404 +load 1406 tid_int +call 1407 pith_list_push_value void 2 1403 1406 +load 1408 tid_int +call 1409 checker_builtins_fix_builtin_binding void 3 1402 1403 1408 +call 1410 pith_cstring_release void 1 1402 +strref 1411 m9s212 +call 1412 pith_list_new_default list 0 +load 1413 tid_int +call 1414 pith_list_push_value void 2 1412 1413 +load 1415 tid_int +call 1416 pith_list_push_value void 2 1412 1415 +load 1417 tid_int +call 1418 checker_builtins_fix_builtin_binding void 3 1411 1412 1417 +call 1419 pith_cstring_release void 1 1411 +strref 1420 m9s211 +call 1421 pith_list_new_default list 0 +load 1422 tid_int +call 1423 pith_list_push_value void 2 1421 1422 +load 1424 tid_int +call 1425 pith_list_push_value void 2 1421 1424 +load 1426 tid_int +call 1427 checker_builtins_fix_builtin_binding void 3 1420 1421 1426 +call 1428 pith_cstring_release void 1 1420 +strref 1429 m9s210 +call 1430 pith_list_new_default list 0 +load 1431 tid_int +call 1432 pith_list_push_value void 2 1430 1431 +load 1433 tid_int +call 1434 pith_list_push_value void 2 1430 1433 +load 1435 tid_int +call 1436 checker_builtins_fix_builtin_binding void 3 1429 1430 1435 +call 1437 pith_cstring_release void 1 1429 +strref 1438 m9s209 +call 1439 pith_list_new_default list 0 +load 1440 tid_int +call 1441 pith_list_push_value void 2 1439 1440 +load 1442 tid_int +call 1443 pith_list_push_value void 2 1439 1442 +load 1444 tid_int +call 1445 checker_builtins_fix_builtin_binding void 3 1438 1439 1444 +call 1446 pith_cstring_release void 1 1438 +strref 1447 m9s208 +call 1448 pith_list_new_default list 0 +load 1449 tid_int +call 1450 pith_list_push_value void 2 1448 1449 +load 1451 tid_int +call 1452 pith_list_push_value void 2 1448 1451 +load 1453 tid_int +call 1454 checker_builtins_fix_builtin_binding void 3 1447 1448 1453 +call 1455 pith_cstring_release void 1 1447 +strref 1456 m9s207 +call 1457 pith_list_new_default list 0 +load 1458 tid_int +call 1459 pith_list_push_value void 2 1457 1458 +load 1460 tid_int +call 1461 pith_list_push_value void 2 1457 1460 +load 1462 tid_int +call 1463 checker_builtins_fix_builtin_binding void 3 1456 1457 1462 +call 1464 pith_cstring_release void 1 1456 +strref 1465 m9s206 +call 1466 pith_list_new_default list 0 +load 1467 tid_int +call 1468 pith_list_push_value void 2 1466 1467 +load 1469 tid_int +call 1470 pith_list_push_value void 2 1466 1469 +load 1471 tid_int +call 1472 checker_builtins_fix_builtin_binding void 3 1465 1466 1471 +call 1473 pith_cstring_release void 1 1465 +strref 1474 m9s14 +call 1475 pith_list_new_default list 0 +load 1476 tid_int +call 1477 pith_list_push_value void 2 1475 1476 +strref 1478 m9s14 +call 1479 types_lookup_type_id int 1 1478 +call 1480 pith_cstring_release void 1 1478 +call 1481 checker_builtins_fix_builtin_binding void 3 1474 1475 1479 +call 1482 pith_cstring_release void 1 1474 +strref 1483 m9s8 +call 1484 pith_list_new_default list 0 +load 1485 tid_int +call 1486 pith_list_push_value void 2 1484 1485 +strref 1487 m9s8 +call 1488 types_lookup_type_id int 1 1487 +call 1489 pith_cstring_release void 1 1487 +call 1490 checker_builtins_fix_builtin_binding void 3 1483 1484 1488 +call 1491 pith_cstring_release void 1 1483 +strref 1492 m9s7 +call 1493 pith_list_new_default list 0 +load 1494 tid_int +call 1495 pith_list_push_value void 2 1493 1494 +strref 1496 m9s7 +call 1497 types_lookup_type_id int 1 1496 +call 1498 pith_cstring_release void 1 1496 +call 1499 checker_builtins_fix_builtin_binding void 3 1492 1493 1497 +call 1500 pith_cstring_release void 1 1492 +strref 1501 m9s6 +call 1502 pith_list_new_default list 0 +load 1503 tid_int +call 1504 pith_list_push_value void 2 1502 1503 +strref 1505 m9s6 +call 1506 types_lookup_type_id int 1 1505 +call 1507 pith_cstring_release void 1 1505 +call 1508 checker_builtins_fix_builtin_binding void 3 1501 1502 1506 +call 1509 pith_cstring_release void 1 1501 +strref 1510 m9s5 +call 1511 pith_list_new_default list 0 +load 1512 tid_int +call 1513 pith_list_push_value void 2 1511 1512 +strref 1514 m9s5 +call 1515 types_lookup_type_id int 1 1514 +call 1516 pith_cstring_release void 1 1514 +call 1517 checker_builtins_fix_builtin_binding void 3 1510 1511 1515 +call 1518 pith_cstring_release void 1 1510 +strref 1519 m9s4 +call 1520 pith_list_new_default list 0 +load 1521 tid_int +call 1522 pith_list_push_value void 2 1520 1521 +strref 1523 m9s4 +call 1524 types_lookup_type_id int 1 1523 +call 1525 pith_cstring_release void 1 1523 +call 1526 checker_builtins_fix_builtin_binding void 3 1519 1520 1524 +call 1527 pith_cstring_release void 1 1519 +strref 1528 m9s3 +call 1529 pith_list_new_default list 0 +load 1530 tid_int +call 1531 pith_list_push_value void 2 1529 1530 +strref 1532 m9s3 +call 1533 types_lookup_type_id int 1 1532 +call 1534 pith_cstring_release void 1 1532 +call 1535 checker_builtins_fix_builtin_binding void 3 1528 1529 1533 +call 1536 pith_cstring_release void 1 1528 +strref 1537 m9s2 +call 1538 pith_list_new_default list 0 +load 1539 tid_int +call 1540 pith_list_push_value void 2 1538 1539 +strref 1541 m9s2 +call 1542 types_lookup_type_id int 1 1541 +call 1543 pith_cstring_release void 1 1541 +call 1544 checker_builtins_fix_builtin_binding void 3 1537 1538 1542 +call 1545 pith_cstring_release void 1 1537 +strref 1546 m9s1 +call 1547 pith_list_new_default list 0 +load 1548 tid_int +call 1549 pith_list_push_value void 2 1547 1548 +strref 1550 m9s1 +call 1551 types_lookup_type_id int 1 1550 +call 1552 pith_cstring_release void 1 1550 +call 1553 checker_builtins_fix_builtin_binding void 3 1546 1547 1551 +call 1554 pith_cstring_release void 1 1546 +strref 1555 m9s205 +call 1556 pith_list_new_default list 0 +load 1557 tid_int +call 1558 pith_list_push_value void 2 1556 1557 +load 1559 tid_int +call 1560 pith_list_push_value void 2 1556 1559 +load 1561 tid_int +call 1562 pith_list_push_value void 2 1556 1561 +load 1563 tid_int +call 1564 checker_builtins_fix_builtin_binding void 3 1555 1556 1563 +call 1565 pith_cstring_release void 1 1555 +strref 1566 m9s204 call 1567 pith_list_new_default list 0 -load 1568 tid_float +load 1568 tid_int call 1569 pith_list_push_value void 2 1567 1568 -load 1570 tid_float -call 1571 checker_builtins_fix_builtin_binding void 3 1566 1567 1570 -call 1572 pith_cstring_release void 1 1566 -strref 1573 m9s197 -call 1574 pith_list_new_default list 0 -load 1575 tid_float -call 1576 pith_list_push_value void 2 1574 1575 +load 1570 tid_string +call 1571 pith_list_push_value void 2 1567 1570 +load 1572 tid_string +call 1573 checker_builtins_fix_builtin_binding void 3 1566 1567 1572 +call 1574 pith_cstring_release void 1 1566 +strref 1575 m9s203 +call 1576 pith_list_new_default list 0 load 1577 tid_float -call 1578 pith_list_push_value void 2 1574 1577 +call 1578 pith_list_push_value void 2 1576 1577 load 1579 tid_float -call 1580 checker_builtins_fix_builtin_binding void 3 1573 1574 1579 -call 1581 pith_cstring_release void 1 1573 -strref 1582 m9s196 +call 1580 checker_builtins_fix_builtin_binding void 3 1575 1576 1579 +call 1581 pith_cstring_release void 1 1575 +strref 1582 m9s202 call 1583 pith_list_new_default list 0 load 1584 tid_float call 1585 pith_list_push_value void 2 1583 1584 -load 1586 tid_int -call 1587 pith_list_push_value void 2 1583 1586 -load 1588 tid_string -call 1589 checker_builtins_fix_builtin_binding void 3 1582 1583 1588 -call 1590 pith_cstring_release void 1 1582 -strref 1591 m9s195 -call 1592 pith_list_new_default list 0 -load 1593 tid_string -call 1594 pith_list_push_value void 2 1592 1593 -load 1595 tid_void -call 1596 checker_builtins_fix_builtin_binding void 3 1591 1592 1595 -call 1597 pith_cstring_release void 1 1591 -strref 1598 m9s194 -call 1599 pith_list_new_default list 0 -load 1600 tid_string -call 1601 pith_list_push_value void 2 1599 1600 -load 1602 tid_void -call 1603 checker_builtins_fix_builtin_binding void 3 1598 1599 1602 -call 1604 pith_cstring_release void 1 1598 -strref 1605 m9s193 -call 1606 pith_list_new_default list 0 -load 1607 tid_string -call 1608 pith_list_push_value void 2 1606 1607 -load 1609 tid_void -call 1610 checker_builtins_fix_builtin_binding void 3 1605 1606 1609 -call 1611 pith_cstring_release void 1 1605 -strref 1612 m9s192 +load 1586 tid_float +call 1587 checker_builtins_fix_builtin_binding void 3 1582 1583 1586 +call 1588 pith_cstring_release void 1 1582 +strref 1589 m9s201 +call 1590 pith_list_new_default list 0 +load 1591 tid_float +call 1592 pith_list_push_value void 2 1590 1591 +load 1593 tid_float +call 1594 checker_builtins_fix_builtin_binding void 3 1589 1590 1593 +call 1595 pith_cstring_release void 1 1589 +strref 1596 m9s200 +call 1597 pith_list_new_default list 0 +load 1598 tid_float +call 1599 pith_list_push_value void 2 1597 1598 +load 1600 tid_float +call 1601 checker_builtins_fix_builtin_binding void 3 1596 1597 1600 +call 1602 pith_cstring_release void 1 1596 +strref 1603 m9s199 +call 1604 pith_list_new_default list 0 +load 1605 tid_float +call 1606 pith_list_push_value void 2 1604 1605 +load 1607 tid_float +call 1608 pith_list_push_value void 2 1604 1607 +load 1609 tid_float +call 1610 checker_builtins_fix_builtin_binding void 3 1603 1604 1609 +call 1611 pith_cstring_release void 1 1603 +strref 1612 m9s198 call 1613 pith_list_new_default list 0 -load 1614 tid_string +load 1614 tid_float call 1615 pith_list_push_value void 2 1613 1614 load 1616 tid_int -call 1617 checker_builtins_fix_builtin_binding void 3 1612 1613 1616 -call 1618 pith_cstring_release void 1 1612 -strref 1619 m9s191 -call 1620 pith_list_new_default list 0 -load 1621 tid_string -call 1622 pith_list_push_value void 2 1620 1621 -load 1623 tid_int -call 1624 checker_builtins_fix_builtin_binding void 3 1619 1620 1623 -call 1625 pith_cstring_release void 1 1619 -strref 1626 m9s190 -call 1627 pith_list_new_default list 0 -load 1628 tid_string -call 1629 pith_list_push_value void 2 1627 1628 -load 1630 tid_bool -call 1631 checker_builtins_fix_builtin_binding void 3 1626 1627 1630 -call 1632 pith_cstring_release void 1 1626 -strref 1633 m9s189 -call 1634 pith_list_new_default list 0 -load 1635 tid_string -call 1636 pith_list_push_value void 2 1634 1635 -load 1637 tid_bool -call 1638 checker_builtins_fix_builtin_binding void 3 1633 1634 1637 -call 1639 pith_cstring_release void 1 1633 -strref 1640 m9s188 -call 1641 pith_list_new_default list 0 -load 1642 tid_string -call 1643 pith_list_push_value void 2 1641 1642 -load 1644 tid_bool -call 1645 checker_builtins_fix_builtin_binding void 3 1640 1641 1644 -call 1646 pith_cstring_release void 1 1640 -strref 1647 m9s187 -call 1648 pith_list_new_default list 0 -load 1649 tid_string -call 1650 pith_list_push_value void 2 1648 1649 -load 1651 tid_bool -call 1652 checker_builtins_fix_builtin_binding void 3 1647 1648 1651 -call 1653 pith_cstring_release void 1 1647 -strref 1654 m9s186 -call 1655 pith_list_new_default list 0 -load 1656 tid_string -call 1657 pith_list_push_value void 2 1655 1656 -load 1658 tid_bool -call 1659 checker_builtins_fix_builtin_binding void 3 1654 1655 1658 -call 1660 pith_cstring_release void 1 1654 -strref 1661 m9s185 -call 1662 pith_list_new_default list 0 -load 1663 tid_string -call 1664 pith_list_push_value void 2 1662 1663 -load 1665 tid_bool -call 1666 checker_builtins_fix_builtin_binding void 3 1661 1662 1665 -call 1667 pith_cstring_release void 1 1661 -strref 1668 m9s184 -call 1669 pith_list_new_default list 0 -load 1670 tid_string -call 1671 pith_list_push_value void 2 1669 1670 +call 1617 pith_list_push_value void 2 1613 1616 +load 1618 tid_string +call 1619 checker_builtins_fix_builtin_binding void 3 1612 1613 1618 +call 1620 pith_cstring_release void 1 1612 +strref 1621 m9s197 +call 1622 pith_list_new_default list 0 +load 1623 tid_string +call 1624 pith_list_push_value void 2 1622 1623 +load 1625 tid_void +call 1626 checker_builtins_fix_builtin_binding void 3 1621 1622 1625 +call 1627 pith_cstring_release void 1 1621 +strref 1628 m9s196 +call 1629 pith_list_new_default list 0 +load 1630 tid_string +call 1631 pith_list_push_value void 2 1629 1630 +load 1632 tid_void +call 1633 checker_builtins_fix_builtin_binding void 3 1628 1629 1632 +call 1634 pith_cstring_release void 1 1628 +strref 1635 m9s195 +call 1636 pith_list_new_default list 0 +load 1637 tid_string +call 1638 pith_list_push_value void 2 1636 1637 +load 1639 tid_void +call 1640 checker_builtins_fix_builtin_binding void 3 1635 1636 1639 +call 1641 pith_cstring_release void 1 1635 +strref 1642 m9s194 +call 1643 pith_list_new_default list 0 +load 1644 tid_string +call 1645 pith_list_push_value void 2 1643 1644 +load 1646 tid_int +call 1647 checker_builtins_fix_builtin_binding void 3 1642 1643 1646 +call 1648 pith_cstring_release void 1 1642 +strref 1649 m9s193 +call 1650 pith_list_new_default list 0 +load 1651 tid_string +call 1652 pith_list_push_value void 2 1650 1651 +load 1653 tid_int +call 1654 checker_builtins_fix_builtin_binding void 3 1649 1650 1653 +call 1655 pith_cstring_release void 1 1649 +strref 1656 m9s192 +call 1657 pith_list_new_default list 0 +load 1658 tid_string +call 1659 pith_list_push_value void 2 1657 1658 +load 1660 tid_bool +call 1661 checker_builtins_fix_builtin_binding void 3 1656 1657 1660 +call 1662 pith_cstring_release void 1 1656 +strref 1663 m9s191 +call 1664 pith_list_new_default list 0 +load 1665 tid_string +call 1666 pith_list_push_value void 2 1664 1665 +load 1667 tid_bool +call 1668 checker_builtins_fix_builtin_binding void 3 1663 1664 1667 +call 1669 pith_cstring_release void 1 1663 +strref 1670 m9s190 +call 1671 pith_list_new_default list 0 load 1672 tid_string -call 1673 checker_builtins_fix_builtin_binding void 3 1668 1669 1672 -call 1674 pith_cstring_release void 1 1668 -strref 1675 m9s183 -call 1676 pith_list_new_default list 0 -load 1677 tid_string -call 1678 pith_list_push_value void 2 1676 1677 -load 1679 opt_string -call 1680 checker_builtins_fix_builtin_binding void 3 1675 1676 1679 -call 1681 pith_cstring_release void 1 1675 -strref 1682 m9s182 -call 1683 pith_list_new_default list 0 -load 1684 tid_string -call 1685 pith_list_push_value void 2 1683 1684 -load 1686 tid_int -call 1687 checker_builtins_fix_builtin_binding void 3 1682 1683 1686 -call 1688 pith_cstring_release void 1 1682 -strref 1689 m9s181 -call 1690 pith_list_new_default list 0 -load 1691 tid_string -call 1692 pith_list_push_value void 2 1690 1691 -load 1693 list_string -call 1694 checker_builtins_fix_builtin_binding void 3 1689 1690 1693 -call 1695 pith_cstring_release void 1 1689 -strref 1696 m9s180 -call 1697 pith_list_new_default list 0 -load 1698 tid_string -call 1699 checker_builtins_fix_builtin_binding void 3 1696 1697 1698 -call 1700 pith_cstring_release void 1 1696 -strref 1701 m9s179 -call 1702 pith_list_new_default list 0 -load 1703 tid_string -call 1704 checker_builtins_fix_builtin_binding void 3 1701 1702 1703 -call 1705 pith_cstring_release void 1 1701 -strref 1706 m9s178 -call 1707 pith_list_new_default list 0 -load 1708 tid_string -call 1709 checker_builtins_fix_builtin_binding void 3 1706 1707 1708 -call 1710 pith_cstring_release void 1 1706 -strref 1711 m9s177 -call 1712 pith_list_new_default list 0 -load 1713 tid_string -call 1714 checker_builtins_fix_builtin_binding void 3 1711 1712 1713 -call 1715 pith_cstring_release void 1 1711 -strref 1716 m9s176 -call 1717 pith_list_new_default list 0 -load 1718 tid_string -call 1719 pith_list_push_value void 2 1717 1718 -load 1720 tid_bool -call 1721 checker_builtins_fix_builtin_binding void 3 1716 1717 1720 -call 1722 pith_cstring_release void 1 1716 -strref 1723 m9s175 -call 1724 pith_list_new_default list 0 -load 1725 tid_string -call 1726 pith_list_push_value void 2 1724 1725 -load 1727 tid_bool -call 1728 checker_builtins_fix_builtin_binding void 3 1723 1724 1727 -call 1729 pith_cstring_release void 1 1723 -strref 1730 m9s174 -call 1731 pith_list_new_default list 0 -load 1732 tid_string -call 1733 pith_list_push_value void 2 1731 1732 -load 1734 int_result -call 1735 checker_builtins_fix_builtin_binding void 3 1730 1731 1734 -call 1736 pith_cstring_release void 1 1730 -strref 1737 m9s173 -call 1738 pith_list_new_default list 0 -load 1739 tid_string -call 1740 pith_list_push_value void 2 1738 1739 -load 1741 float_result -call 1742 checker_builtins_fix_builtin_binding void 3 1737 1738 1741 -call 1743 pith_cstring_release void 1 1737 -strref 1744 m9s172 -call 1745 pith_list_new_default list 0 -load 1746 tid_string -call 1747 pith_list_push_value void 2 1745 1746 -load 1748 tid_bytes -call 1749 checker_builtins_fix_builtin_binding void 3 1744 1745 1748 -call 1750 pith_cstring_release void 1 1744 -strref 1751 m9s171 -call 1752 pith_list_new_default list 0 -load 1753 tid_string -call 1754 pith_list_push_value void 2 1752 1753 -load 1755 str_result -call 1756 checker_builtins_fix_builtin_binding void 3 1751 1752 1755 -call 1757 pith_cstring_release void 1 1751 -strref 1758 m9s170 -call 1759 pith_list_new_default list 0 -load 1760 tid_string -call 1761 pith_list_push_value void 2 1759 1760 -load 1762 str_result -call 1763 checker_builtins_fix_builtin_binding void 3 1758 1759 1762 -call 1764 pith_cstring_release void 1 1758 -strref 1765 m9s169 -call 1766 pith_list_new_default list 0 -load 1767 tid_string -call 1768 pith_list_push_value void 2 1766 1767 -load 1769 str_result -call 1770 checker_builtins_fix_builtin_binding void 3 1765 1766 1769 -call 1771 pith_cstring_release void 1 1765 -strref 1772 m9s168 -call 1773 pith_list_new_default list 0 -load 1774 tid_string -call 1775 pith_list_push_value void 2 1773 1774 -load 1776 bytes_result -call 1777 checker_builtins_fix_builtin_binding void 3 1772 1773 1776 -call 1778 pith_cstring_release void 1 1772 -strref 1779 m9s167 -call 1780 pith_list_new_default list 0 -load 1781 tid_string -call 1782 pith_list_push_value void 2 1780 1781 -load 1783 bytes_result -call 1784 checker_builtins_fix_builtin_binding void 3 1779 1780 1783 -call 1785 pith_cstring_release void 1 1779 -strref 1786 m9s166 -call 1787 pith_list_new_default list 0 -load 1788 tid_string -call 1789 pith_list_push_value void 2 1787 1788 -load 1790 bytes_result -call 1791 checker_builtins_fix_builtin_binding void 3 1786 1787 1790 -call 1792 pith_cstring_release void 1 1786 -strref 1793 m9s165 -call 1794 pith_list_new_default list 0 -load 1795 tid_string -call 1796 pith_list_push_value void 2 1794 1795 -load 1797 int_result -call 1798 checker_builtins_fix_builtin_binding void 3 1793 1794 1797 -call 1799 pith_cstring_release void 1 1793 -strref 1800 m9s164 -call 1801 pith_list_new_default list 0 -load 1802 tid_string -call 1803 pith_list_push_value void 2 1801 1802 -load 1804 int_result -call 1805 checker_builtins_fix_builtin_binding void 3 1800 1801 1804 -call 1806 pith_cstring_release void 1 1800 -strref 1807 m9s163 -call 1808 pith_list_new_default list 0 -load 1809 tid_string -call 1810 pith_list_push_value void 2 1808 1809 -load 1811 int_result -call 1812 checker_builtins_fix_builtin_binding void 3 1807 1808 1811 -call 1813 pith_cstring_release void 1 1807 -strref 1814 m9s162 -call 1815 pith_list_new_default list 0 -load 1816 tid_string -call 1817 pith_list_push_value void 2 1815 1816 +call 1673 pith_list_push_value void 2 1671 1672 +load 1674 tid_bool +call 1675 checker_builtins_fix_builtin_binding void 3 1670 1671 1674 +call 1676 pith_cstring_release void 1 1670 +strref 1677 m9s189 +call 1678 pith_list_new_default list 0 +load 1679 tid_string +call 1680 pith_list_push_value void 2 1678 1679 +load 1681 tid_bool +call 1682 checker_builtins_fix_builtin_binding void 3 1677 1678 1681 +call 1683 pith_cstring_release void 1 1677 +strref 1684 m9s188 +call 1685 pith_list_new_default list 0 +load 1686 tid_string +call 1687 pith_list_push_value void 2 1685 1686 +load 1688 tid_bool +call 1689 checker_builtins_fix_builtin_binding void 3 1684 1685 1688 +call 1690 pith_cstring_release void 1 1684 +strref 1691 m9s187 +call 1692 pith_list_new_default list 0 +load 1693 tid_string +call 1694 pith_list_push_value void 2 1692 1693 +load 1695 tid_bool +call 1696 checker_builtins_fix_builtin_binding void 3 1691 1692 1695 +call 1697 pith_cstring_release void 1 1691 +strref 1698 m9s186 +call 1699 pith_list_new_default list 0 +load 1700 tid_string +call 1701 pith_list_push_value void 2 1699 1700 +load 1702 tid_string +call 1703 checker_builtins_fix_builtin_binding void 3 1698 1699 1702 +call 1704 pith_cstring_release void 1 1698 +strref 1705 m9s185 +call 1706 pith_list_new_default list 0 +load 1707 tid_string +call 1708 pith_list_push_value void 2 1706 1707 +load 1709 opt_string +call 1710 checker_builtins_fix_builtin_binding void 3 1705 1706 1709 +call 1711 pith_cstring_release void 1 1705 +strref 1712 m9s184 +call 1713 pith_list_new_default list 0 +load 1714 tid_string +call 1715 pith_list_push_value void 2 1713 1714 +load 1716 tid_int +call 1717 checker_builtins_fix_builtin_binding void 3 1712 1713 1716 +call 1718 pith_cstring_release void 1 1712 +strref 1719 m9s183 +call 1720 pith_list_new_default list 0 +load 1721 tid_string +call 1722 pith_list_push_value void 2 1720 1721 +load 1723 list_string +call 1724 checker_builtins_fix_builtin_binding void 3 1719 1720 1723 +call 1725 pith_cstring_release void 1 1719 +strref 1726 m9s182 +call 1727 pith_list_new_default list 0 +load 1728 tid_string +call 1729 checker_builtins_fix_builtin_binding void 3 1726 1727 1728 +call 1730 pith_cstring_release void 1 1726 +strref 1731 m9s181 +call 1732 pith_list_new_default list 0 +load 1733 tid_string +call 1734 checker_builtins_fix_builtin_binding void 3 1731 1732 1733 +call 1735 pith_cstring_release void 1 1731 +strref 1736 m9s180 +call 1737 pith_list_new_default list 0 +load 1738 tid_string +call 1739 checker_builtins_fix_builtin_binding void 3 1736 1737 1738 +call 1740 pith_cstring_release void 1 1736 +strref 1741 m9s179 +call 1742 pith_list_new_default list 0 +load 1743 tid_string +call 1744 checker_builtins_fix_builtin_binding void 3 1741 1742 1743 +call 1745 pith_cstring_release void 1 1741 +strref 1746 m9s178 +call 1747 pith_list_new_default list 0 +load 1748 tid_string +call 1749 pith_list_push_value void 2 1747 1748 +load 1750 tid_bool +call 1751 checker_builtins_fix_builtin_binding void 3 1746 1747 1750 +call 1752 pith_cstring_release void 1 1746 +strref 1753 m9s177 +call 1754 pith_list_new_default list 0 +load 1755 tid_string +call 1756 pith_list_push_value void 2 1754 1755 +load 1757 tid_bool +call 1758 checker_builtins_fix_builtin_binding void 3 1753 1754 1757 +call 1759 pith_cstring_release void 1 1753 +strref 1760 m9s176 +call 1761 pith_list_new_default list 0 +load 1762 tid_string +call 1763 pith_list_push_value void 2 1761 1762 +load 1764 int_result +call 1765 checker_builtins_fix_builtin_binding void 3 1760 1761 1764 +call 1766 pith_cstring_release void 1 1760 +strref 1767 m9s175 +call 1768 pith_list_new_default list 0 +load 1769 tid_string +call 1770 pith_list_push_value void 2 1768 1769 +load 1771 float_result +call 1772 checker_builtins_fix_builtin_binding void 3 1767 1768 1771 +call 1773 pith_cstring_release void 1 1767 +strref 1774 m9s174 +call 1775 pith_list_new_default list 0 +load 1776 tid_string +call 1777 pith_list_push_value void 2 1775 1776 +load 1778 tid_bytes +call 1779 checker_builtins_fix_builtin_binding void 3 1774 1775 1778 +call 1780 pith_cstring_release void 1 1774 +strref 1781 m9s173 +call 1782 pith_list_new_default list 0 +load 1783 tid_string +call 1784 pith_list_push_value void 2 1782 1783 +load 1785 str_result +call 1786 checker_builtins_fix_builtin_binding void 3 1781 1782 1785 +call 1787 pith_cstring_release void 1 1781 +strref 1788 m9s172 +call 1789 pith_list_new_default list 0 +load 1790 tid_string +call 1791 pith_list_push_value void 2 1789 1790 +load 1792 str_result +call 1793 checker_builtins_fix_builtin_binding void 3 1788 1789 1792 +call 1794 pith_cstring_release void 1 1788 +strref 1795 m9s171 +call 1796 pith_list_new_default list 0 +load 1797 tid_string +call 1798 pith_list_push_value void 2 1796 1797 +load 1799 str_result +call 1800 checker_builtins_fix_builtin_binding void 3 1795 1796 1799 +call 1801 pith_cstring_release void 1 1795 +strref 1802 m9s170 +call 1803 pith_list_new_default list 0 +load 1804 tid_string +call 1805 pith_list_push_value void 2 1803 1804 +load 1806 bytes_result +call 1807 checker_builtins_fix_builtin_binding void 3 1802 1803 1806 +call 1808 pith_cstring_release void 1 1802 +strref 1809 m9s169 +call 1810 pith_list_new_default list 0 +load 1811 tid_string +call 1812 pith_list_push_value void 2 1810 1811 +load 1813 bytes_result +call 1814 checker_builtins_fix_builtin_binding void 3 1809 1810 1813 +call 1815 pith_cstring_release void 1 1809 +strref 1816 m9s168 +call 1817 pith_list_new_default list 0 load 1818 tid_string -call 1819 pith_list_push_value void 2 1815 1818 -load 1820 tid_bool -call 1821 checker_builtins_fix_builtin_binding void 3 1814 1815 1820 -call 1822 pith_cstring_release void 1 1814 -strref 1823 m9s161 +call 1819 pith_list_push_value void 2 1817 1818 +load 1820 bytes_result +call 1821 checker_builtins_fix_builtin_binding void 3 1816 1817 1820 +call 1822 pith_cstring_release void 1 1816 +strref 1823 m9s167 call 1824 pith_list_new_default list 0 load 1825 tid_string call 1826 pith_list_push_value void 2 1824 1825 -load 1827 tid_string -call 1828 pith_list_push_value void 2 1824 1827 -load 1829 tid_bool -call 1830 checker_builtins_fix_builtin_binding void 3 1823 1824 1829 -call 1831 pith_cstring_release void 1 1823 -strref 1832 m9s160 -call 1833 pith_list_new_default list 0 -load 1834 tid_string -call 1835 pith_list_push_value void 2 1833 1834 -load 1836 tid_string -call 1837 pith_list_push_value void 2 1833 1836 -load 1838 bool_result -call 1839 checker_builtins_fix_builtin_binding void 3 1832 1833 1838 -call 1840 pith_cstring_release void 1 1832 -strref 1841 m9s159 -call 1842 pith_list_new_default list 0 -load 1843 tid_string -call 1844 pith_list_push_value void 2 1842 1843 -load 1845 tid_string -call 1846 pith_list_push_value void 2 1842 1845 -load 1847 bool_result -call 1848 checker_builtins_fix_builtin_binding void 3 1841 1842 1847 -call 1849 pith_cstring_release void 1 1841 -strref 1850 m9s158 -call 1851 pith_list_new_default list 0 -load 1852 tid_string -call 1853 pith_list_push_value void 2 1851 1852 -load 1854 tid_bytes -call 1855 pith_list_push_value void 2 1851 1854 -load 1856 bool_result -call 1857 checker_builtins_fix_builtin_binding void 3 1850 1851 1856 -call 1858 pith_cstring_release void 1 1850 -strref 1859 m9s157 -call 1860 pith_list_new_default list 0 -load 1861 tid_string -call 1862 pith_list_push_value void 2 1860 1861 -load 1863 tid_bytes -call 1864 pith_list_push_value void 2 1860 1863 -load 1865 bool_result -call 1866 checker_builtins_fix_builtin_binding void 3 1859 1860 1865 -call 1867 pith_cstring_release void 1 1859 -strref 1868 m9s156 -call 1869 pith_list_new_default list 0 -load 1870 tid_bytes -call 1871 pith_list_push_value void 2 1869 1870 -load 1872 tid_bytes -call 1873 pith_list_push_value void 2 1869 1872 -load 1874 tid_bool -call 1875 checker_builtins_fix_builtin_binding void 3 1868 1869 1874 -call 1876 pith_cstring_release void 1 1868 -strref 1877 m9s155 -call 1878 pith_list_new_default list 0 -load 1879 tid_bytes -call 1880 pith_list_push_value void 2 1878 1879 -load 1881 tid_bytes -call 1882 pith_list_push_value void 2 1878 1881 -load 1883 tid_bytes -call 1884 checker_builtins_fix_builtin_binding void 3 1877 1878 1883 -call 1885 pith_cstring_release void 1 1877 -strref 1886 m9s154 -call 1887 pith_list_new_default list 0 -load 1888 tid_bytes -call 1889 pith_list_push_value void 2 1887 1888 -load 1890 tid_int -call 1891 checker_builtins_fix_builtin_binding void 3 1886 1887 1890 -call 1892 pith_cstring_release void 1 1886 -strref 1893 m9s153 -call 1894 pith_list_new_default list 0 -load 1895 tid_bytes -call 1896 pith_list_push_value void 2 1894 1895 -load 1897 tid_bool -call 1898 checker_builtins_fix_builtin_binding void 3 1893 1894 1897 -call 1899 pith_cstring_release void 1 1893 -strref 1900 m9s152 -call 1901 pith_list_new_default list 0 +load 1827 int_result +call 1828 checker_builtins_fix_builtin_binding void 3 1823 1824 1827 +call 1829 pith_cstring_release void 1 1823 +strref 1830 m9s166 +call 1831 pith_list_new_default list 0 +load 1832 tid_string +call 1833 pith_list_push_value void 2 1831 1832 +load 1834 int_result +call 1835 checker_builtins_fix_builtin_binding void 3 1830 1831 1834 +call 1836 pith_cstring_release void 1 1830 +strref 1837 m9s165 +call 1838 pith_list_new_default list 0 +load 1839 tid_string +call 1840 pith_list_push_value void 2 1838 1839 +load 1841 int_result +call 1842 checker_builtins_fix_builtin_binding void 3 1837 1838 1841 +call 1843 pith_cstring_release void 1 1837 +strref 1844 m9s164 +call 1845 pith_list_new_default list 0 +load 1846 tid_string +call 1847 pith_list_push_value void 2 1845 1846 +load 1848 tid_string +call 1849 pith_list_push_value void 2 1845 1848 +load 1850 tid_bool +call 1851 checker_builtins_fix_builtin_binding void 3 1844 1845 1850 +call 1852 pith_cstring_release void 1 1844 +strref 1853 m9s163 +call 1854 pith_list_new_default list 0 +load 1855 tid_string +call 1856 pith_list_push_value void 2 1854 1855 +load 1857 tid_string +call 1858 pith_list_push_value void 2 1854 1857 +load 1859 tid_bool +call 1860 checker_builtins_fix_builtin_binding void 3 1853 1854 1859 +call 1861 pith_cstring_release void 1 1853 +strref 1862 m9s162 +call 1863 pith_list_new_default list 0 +load 1864 tid_string +call 1865 pith_list_push_value void 2 1863 1864 +load 1866 tid_string +call 1867 pith_list_push_value void 2 1863 1866 +load 1868 bool_result +call 1869 checker_builtins_fix_builtin_binding void 3 1862 1863 1868 +call 1870 pith_cstring_release void 1 1862 +strref 1871 m9s161 +call 1872 pith_list_new_default list 0 +load 1873 tid_string +call 1874 pith_list_push_value void 2 1872 1873 +load 1875 tid_string +call 1876 pith_list_push_value void 2 1872 1875 +load 1877 bool_result +call 1878 checker_builtins_fix_builtin_binding void 3 1871 1872 1877 +call 1879 pith_cstring_release void 1 1871 +strref 1880 m9s160 +call 1881 pith_list_new_default list 0 +load 1882 tid_string +call 1883 pith_list_push_value void 2 1881 1882 +load 1884 tid_bytes +call 1885 pith_list_push_value void 2 1881 1884 +load 1886 bool_result +call 1887 checker_builtins_fix_builtin_binding void 3 1880 1881 1886 +call 1888 pith_cstring_release void 1 1880 +strref 1889 m9s159 +call 1890 pith_list_new_default list 0 +load 1891 tid_string +call 1892 pith_list_push_value void 2 1890 1891 +load 1893 tid_bytes +call 1894 pith_list_push_value void 2 1890 1893 +load 1895 bool_result +call 1896 checker_builtins_fix_builtin_binding void 3 1889 1890 1895 +call 1897 pith_cstring_release void 1 1889 +strref 1898 m9s158 +call 1899 pith_list_new_default list 0 +load 1900 tid_bytes +call 1901 pith_list_push_value void 2 1899 1900 load 1902 tid_bytes -call 1903 pith_list_push_value void 2 1901 1902 -load 1904 tid_int -call 1905 pith_list_push_value void 2 1901 1904 -load 1906 tid_int -call 1907 checker_builtins_fix_builtin_binding void 3 1900 1901 1906 -call 1908 pith_cstring_release void 1 1900 -strref 1909 m9s151 -call 1910 pith_list_new_default list 0 +call 1903 pith_list_push_value void 2 1899 1902 +load 1904 tid_bool +call 1905 checker_builtins_fix_builtin_binding void 3 1898 1899 1904 +call 1906 pith_cstring_release void 1 1898 +strref 1907 m9s157 +call 1908 pith_list_new_default list 0 +load 1909 tid_bytes +call 1910 pith_list_push_value void 2 1908 1909 load 1911 tid_bytes -call 1912 pith_list_push_value void 2 1910 1911 -load 1913 tid_int -call 1914 pith_list_push_value void 2 1910 1913 -load 1915 tid_int -call 1916 pith_list_push_value void 2 1910 1915 -load 1917 tid_bytes -call 1918 checker_builtins_fix_builtin_binding void 3 1909 1910 1917 -call 1919 pith_cstring_release void 1 1909 -strref 1920 m9s150 -call 1921 pith_list_new_default list 0 -load 1922 tid_bytes -call 1923 pith_list_push_value void 2 1921 1922 -load 1924 str_result -call 1925 checker_builtins_fix_builtin_binding void 3 1920 1921 1924 -call 1926 pith_cstring_release void 1 1920 -strref 1927 m9s149 -call 1928 pith_list_new_default list 0 -load 1929 tid_bytes -call 1930 pith_list_push_value void 2 1928 1929 -load 1931 tid_int -call 1932 pith_list_push_value void 2 1928 1931 -load 1933 tid_int -call 1934 pith_list_push_value void 2 1928 1933 -load 1935 str_result -call 1936 checker_builtins_fix_builtin_binding void 3 1927 1928 1935 -call 1937 pith_cstring_release void 1 1927 -strref 1938 m9s148 -call 1939 pith_list_new_default list 0 -load 1940 tid_bytes -call 1941 pith_list_push_value void 2 1939 1940 -load 1942 tid_bytes -call 1943 pith_list_push_value void 2 1939 1942 -load 1944 tid_bool -call 1945 checker_builtins_fix_builtin_binding void 3 1938 1939 1944 -call 1946 pith_cstring_release void 1 1938 -strref 1947 m9s147 -call 1948 pith_list_new_default list 0 -load 1949 tid_int -call 1950 pith_list_push_value void 2 1948 1949 -load 1951 tid_bytes -call 1952 checker_builtins_fix_builtin_binding void 3 1947 1948 1951 -call 1953 pith_cstring_release void 1 1947 -strref 1954 m9s146 -call 1955 pith_list_new_default list 0 -load 1956 int_result -call 1957 checker_builtins_fix_builtin_binding void 3 1954 1955 1956 -call 1958 pith_cstring_release void 1 1954 -strref 1959 m9s145 -call 1960 pith_list_new_default list 0 -load 1961 int_result -call 1962 checker_builtins_fix_builtin_binding void 3 1959 1960 1961 -call 1963 pith_cstring_release void 1 1959 -strref 1964 m9s144 -call 1965 pith_list_new_default list 0 -load 1966 tid_int -call 1967 pith_list_push_value void 2 1965 1966 -load 1968 bytes_result -call 1969 checker_builtins_fix_builtin_binding void 3 1964 1965 1968 -call 1970 pith_cstring_release void 1 1964 -strref 1971 m9s143 -call 1972 pith_list_new_default list 0 -load 1973 tid_int -call 1974 pith_list_push_value void 2 1972 1973 -load 1975 tid_bytes -call 1976 pith_list_push_value void 2 1972 1975 -load 1977 bytes_result -call 1978 checker_builtins_fix_builtin_binding void 3 1971 1972 1977 -call 1979 pith_cstring_release void 1 1971 -strref 1980 m9s142 -call 1981 pith_list_new_default list 0 -load 1982 tid_int -call 1983 pith_list_push_value void 2 1981 1982 -load 1984 tid_void -call 1985 checker_builtins_fix_builtin_binding void 3 1980 1981 1984 -call 1986 pith_cstring_release void 1 1980 -strref 1987 m9s141 -call 1988 pith_list_new_default list 0 -load 1989 tid_bytes -call 1990 pith_list_push_value void 2 1988 1989 -load 1991 tid_bytes -call 1992 pith_list_push_value void 2 1988 1991 -load 1993 tid_bytes -call 1994 pith_list_push_value void 2 1988 1993 -load 1995 tid_bytes -call 1996 pith_list_push_value void 2 1988 1995 -load 1997 bytes_result -call 1998 checker_builtins_fix_builtin_binding void 3 1987 1988 1997 -call 1999 pith_cstring_release void 1 1987 -strref 2000 m9s140 -call 2001 pith_list_new_default list 0 -load 2002 tid_bytes -call 2003 pith_list_push_value void 2 2001 2002 -load 2004 tid_bytes -call 2005 pith_list_push_value void 2 2001 2004 -load 2006 tid_bytes -call 2007 pith_list_push_value void 2 2001 2006 -load 2008 tid_bytes -call 2009 pith_list_push_value void 2 2001 2008 -load 2010 bytes_result -call 2011 checker_builtins_fix_builtin_binding void 3 2000 2001 2010 -call 2012 pith_cstring_release void 1 2000 -strref 2013 m9s139 -call 2014 pith_list_new_default list 0 -load 2015 tid_bytes -call 2016 pith_list_push_value void 2 2014 2015 -load 2017 tid_bytes -call 2018 pith_list_push_value void 2 2014 2017 +call 1912 pith_list_push_value void 2 1908 1911 +load 1913 tid_bytes +call 1914 checker_builtins_fix_builtin_binding void 3 1907 1908 1913 +call 1915 pith_cstring_release void 1 1907 +strref 1916 m9s156 +call 1917 pith_list_new_default list 0 +load 1918 tid_bytes +call 1919 pith_list_push_value void 2 1917 1918 +load 1920 tid_int +call 1921 checker_builtins_fix_builtin_binding void 3 1916 1917 1920 +call 1922 pith_cstring_release void 1 1916 +strref 1923 m9s155 +call 1924 pith_list_new_default list 0 +load 1925 tid_bytes +call 1926 pith_list_push_value void 2 1924 1925 +load 1927 tid_bool +call 1928 checker_builtins_fix_builtin_binding void 3 1923 1924 1927 +call 1929 pith_cstring_release void 1 1923 +strref 1930 m9s154 +call 1931 pith_list_new_default list 0 +load 1932 tid_bytes +call 1933 pith_list_push_value void 2 1931 1932 +load 1934 tid_int +call 1935 pith_list_push_value void 2 1931 1934 +load 1936 tid_int +call 1937 checker_builtins_fix_builtin_binding void 3 1930 1931 1936 +call 1938 pith_cstring_release void 1 1930 +strref 1939 m9s153 +call 1940 pith_list_new_default list 0 +load 1941 tid_bytes +call 1942 pith_list_push_value void 2 1940 1941 +load 1943 tid_int +call 1944 pith_list_push_value void 2 1940 1943 +load 1945 tid_int +call 1946 pith_list_push_value void 2 1940 1945 +load 1947 tid_bytes +call 1948 checker_builtins_fix_builtin_binding void 3 1939 1940 1947 +call 1949 pith_cstring_release void 1 1939 +strref 1950 m9s152 +call 1951 pith_list_new_default list 0 +load 1952 tid_bytes +call 1953 pith_list_push_value void 2 1951 1952 +load 1954 str_result +call 1955 checker_builtins_fix_builtin_binding void 3 1950 1951 1954 +call 1956 pith_cstring_release void 1 1950 +strref 1957 m9s151 +call 1958 pith_list_new_default list 0 +load 1959 tid_bytes +call 1960 pith_list_push_value void 2 1958 1959 +load 1961 tid_int +call 1962 pith_list_push_value void 2 1958 1961 +load 1963 tid_int +call 1964 pith_list_push_value void 2 1958 1963 +load 1965 str_result +call 1966 checker_builtins_fix_builtin_binding void 3 1957 1958 1965 +call 1967 pith_cstring_release void 1 1957 +strref 1968 m9s150 +call 1969 pith_list_new_default list 0 +load 1970 tid_bytes +call 1971 pith_list_push_value void 2 1969 1970 +load 1972 tid_bytes +call 1973 pith_list_push_value void 2 1969 1972 +load 1974 tid_bool +call 1975 checker_builtins_fix_builtin_binding void 3 1968 1969 1974 +call 1976 pith_cstring_release void 1 1968 +strref 1977 m9s149 +call 1978 pith_list_new_default list 0 +load 1979 tid_int +call 1980 pith_list_push_value void 2 1978 1979 +load 1981 tid_bytes +call 1982 checker_builtins_fix_builtin_binding void 3 1977 1978 1981 +call 1983 pith_cstring_release void 1 1977 +strref 1984 m9s148 +call 1985 pith_list_new_default list 0 +load 1986 int_result +call 1987 checker_builtins_fix_builtin_binding void 3 1984 1985 1986 +call 1988 pith_cstring_release void 1 1984 +strref 1989 m9s147 +call 1990 pith_list_new_default list 0 +load 1991 int_result +call 1992 checker_builtins_fix_builtin_binding void 3 1989 1990 1991 +call 1993 pith_cstring_release void 1 1989 +strref 1994 m9s146 +call 1995 pith_list_new_default list 0 +load 1996 tid_int +call 1997 pith_list_push_value void 2 1995 1996 +load 1998 bytes_result +call 1999 checker_builtins_fix_builtin_binding void 3 1994 1995 1998 +call 2000 pith_cstring_release void 1 1994 +strref 2001 m9s145 +call 2002 pith_list_new_default list 0 +load 2003 tid_int +call 2004 pith_list_push_value void 2 2002 2003 +load 2005 tid_bytes +call 2006 pith_list_push_value void 2 2002 2005 +load 2007 bytes_result +call 2008 checker_builtins_fix_builtin_binding void 3 2001 2002 2007 +call 2009 pith_cstring_release void 1 2001 +strref 2010 m9s144 +call 2011 pith_list_new_default list 0 +load 2012 tid_int +call 2013 pith_list_push_value void 2 2011 2012 +load 2014 tid_void +call 2015 checker_builtins_fix_builtin_binding void 3 2010 2011 2014 +call 2016 pith_cstring_release void 1 2010 +strref 2017 m9s143 +call 2018 pith_list_new_default list 0 load 2019 tid_bytes -call 2020 pith_list_push_value void 2 2014 2019 +call 2020 pith_list_push_value void 2 2018 2019 load 2021 tid_bytes -call 2022 pith_list_push_value void 2 2014 2021 -load 2023 bytes_result -call 2024 checker_builtins_fix_builtin_binding void 3 2013 2014 2023 -call 2025 pith_cstring_release void 1 2013 -strref 2026 m9s138 -call 2027 pith_list_new_default list 0 -load 2028 tid_bytes -call 2029 pith_list_push_value void 2 2027 2028 -load 2030 tid_bytes -call 2031 pith_list_push_value void 2 2027 2030 +call 2022 pith_list_push_value void 2 2018 2021 +load 2023 tid_bytes +call 2024 pith_list_push_value void 2 2018 2023 +load 2025 tid_bytes +call 2026 pith_list_push_value void 2 2018 2025 +load 2027 bytes_result +call 2028 checker_builtins_fix_builtin_binding void 3 2017 2018 2027 +call 2029 pith_cstring_release void 1 2017 +strref 2030 m9s142 +call 2031 pith_list_new_default list 0 load 2032 tid_bytes -call 2033 pith_list_push_value void 2 2027 2032 +call 2033 pith_list_push_value void 2 2031 2032 load 2034 tid_bytes -call 2035 pith_list_push_value void 2 2027 2034 -load 2036 bytes_result -call 2037 checker_builtins_fix_builtin_binding void 3 2026 2027 2036 -call 2038 pith_cstring_release void 1 2026 -strref 2039 m9s137 -call 2040 pith_list_new_default list 0 -load 2041 tid_bytes -call 2042 pith_list_push_value void 2 2040 2041 -load 2043 tid_bytes -call 2044 pith_list_push_value void 2 2040 2043 +call 2035 pith_list_push_value void 2 2031 2034 +load 2036 tid_bytes +call 2037 pith_list_push_value void 2 2031 2036 +load 2038 tid_bytes +call 2039 pith_list_push_value void 2 2031 2038 +load 2040 bytes_result +call 2041 checker_builtins_fix_builtin_binding void 3 2030 2031 2040 +call 2042 pith_cstring_release void 1 2030 +strref 2043 m9s141 +call 2044 pith_list_new_default list 0 load 2045 tid_bytes -call 2046 pith_list_push_value void 2 2040 2045 -load 2047 tid_bool -call 2048 checker_builtins_fix_builtin_binding void 3 2039 2040 2047 -call 2049 pith_cstring_release void 1 2039 -strref 2050 m9s136 -call 2051 pith_list_new_default list 0 -load 2052 tid_bytes -call 2053 pith_list_push_value void 2 2051 2052 -load 2054 tid_bytes -call 2055 pith_list_push_value void 2 2051 2054 -load 2056 tid_bytes -call 2057 pith_list_push_value void 2 2051 2056 -load 2058 tid_bool -call 2059 checker_builtins_fix_builtin_binding void 3 2050 2051 2058 -call 2060 pith_cstring_release void 1 2050 -strref 2061 m9s135 -call 2062 pith_list_new_default list 0 -load 2063 tid_bytes -call 2064 pith_list_push_value void 2 2062 2063 -load 2065 tid_bytes -call 2066 pith_list_push_value void 2 2062 2065 -load 2067 tid_bytes -call 2068 pith_list_push_value void 2 2062 2067 -load 2069 tid_bool -call 2070 checker_builtins_fix_builtin_binding void 3 2061 2062 2069 -call 2071 pith_cstring_release void 1 2061 -strref 2072 m9s134 -call 2073 pith_list_new_default list 0 -load 2074 tid_bytes -call 2075 pith_list_push_value void 2 2073 2074 -load 2076 tid_bytes -call 2077 pith_list_push_value void 2 2073 2076 -load 2078 tid_bytes -call 2079 pith_list_push_value void 2 2073 2078 -load 2080 tid_bool -call 2081 checker_builtins_fix_builtin_binding void 3 2072 2073 2080 -call 2082 pith_cstring_release void 1 2072 -strref 2083 m9s133 -call 2084 pith_list_new_default list 0 -load 2085 tid_bytes -call 2086 pith_list_push_value void 2 2084 2085 -load 2087 tid_bytes -call 2088 pith_list_push_value void 2 2084 2087 -load 2089 tid_bytes -call 2090 pith_list_push_value void 2 2084 2089 -load 2091 tid_bool -call 2092 checker_builtins_fix_builtin_binding void 3 2083 2084 2091 -call 2093 pith_cstring_release void 1 2083 -strref 2094 m9s132 -call 2095 pith_list_new_default list 0 -load 2096 tid_bytes -call 2097 pith_list_push_value void 2 2095 2096 -load 2098 tid_bytes -call 2099 pith_list_push_value void 2 2095 2098 -load 2100 tid_bytes -call 2101 pith_list_push_value void 2 2095 2100 -load 2102 tid_bool -call 2103 checker_builtins_fix_builtin_binding void 3 2094 2095 2102 -call 2104 pith_cstring_release void 1 2094 -strref 2105 m9s131 -call 2106 pith_list_new_default list 0 -load 2107 tid_bytes -call 2108 pith_list_push_value void 2 2106 2107 -load 2109 tid_bytes -call 2110 pith_list_push_value void 2 2106 2109 -load 2111 bytes_result -call 2112 checker_builtins_fix_builtin_binding void 3 2105 2106 2111 -call 2113 pith_cstring_release void 1 2105 -strref 2114 m9s130 -call 2115 pith_list_new_default list 0 -load 2116 tid_int -call 2117 checker_builtins_fix_builtin_binding void 3 2114 2115 2116 -call 2118 pith_cstring_release void 1 2114 -strref 2119 m9s129 -call 2120 pith_list_new_default list 0 -load 2121 tid_int -call 2122 pith_list_push_value void 2 2120 2121 -load 2123 tid_void -call 2124 checker_builtins_fix_builtin_binding void 3 2119 2120 2123 -call 2125 pith_cstring_release void 1 2119 -strref 2126 m9s128 -call 2127 pith_list_new_default list 0 -load 2128 tid_int -call 2129 pith_list_push_value void 2 2127 2128 +call 2046 pith_list_push_value void 2 2044 2045 +load 2047 tid_bytes +call 2048 pith_list_push_value void 2 2044 2047 +load 2049 tid_bytes +call 2050 pith_list_push_value void 2 2044 2049 +load 2051 tid_bytes +call 2052 pith_list_push_value void 2 2044 2051 +load 2053 bytes_result +call 2054 checker_builtins_fix_builtin_binding void 3 2043 2044 2053 +call 2055 pith_cstring_release void 1 2043 +strref 2056 m9s140 +call 2057 pith_list_new_default list 0 +load 2058 tid_bytes +call 2059 pith_list_push_value void 2 2057 2058 +load 2060 tid_bytes +call 2061 pith_list_push_value void 2 2057 2060 +load 2062 tid_bytes +call 2063 pith_list_push_value void 2 2057 2062 +load 2064 tid_bytes +call 2065 pith_list_push_value void 2 2057 2064 +load 2066 bytes_result +call 2067 checker_builtins_fix_builtin_binding void 3 2056 2057 2066 +call 2068 pith_cstring_release void 1 2056 +strref 2069 m9s139 +call 2070 pith_list_new_default list 0 +load 2071 tid_bytes +call 2072 pith_list_push_value void 2 2070 2071 +load 2073 tid_bytes +call 2074 pith_list_push_value void 2 2070 2073 +load 2075 tid_bytes +call 2076 pith_list_push_value void 2 2070 2075 +load 2077 tid_bool +call 2078 checker_builtins_fix_builtin_binding void 3 2069 2070 2077 +call 2079 pith_cstring_release void 1 2069 +strref 2080 m9s138 +call 2081 pith_list_new_default list 0 +load 2082 tid_bytes +call 2083 pith_list_push_value void 2 2081 2082 +load 2084 tid_bytes +call 2085 pith_list_push_value void 2 2081 2084 +load 2086 tid_bytes +call 2087 pith_list_push_value void 2 2081 2086 +load 2088 tid_bool +call 2089 checker_builtins_fix_builtin_binding void 3 2080 2081 2088 +call 2090 pith_cstring_release void 1 2080 +strref 2091 m9s137 +call 2092 pith_list_new_default list 0 +load 2093 tid_bytes +call 2094 pith_list_push_value void 2 2092 2093 +load 2095 tid_bytes +call 2096 pith_list_push_value void 2 2092 2095 +load 2097 tid_bytes +call 2098 pith_list_push_value void 2 2092 2097 +load 2099 tid_bool +call 2100 checker_builtins_fix_builtin_binding void 3 2091 2092 2099 +call 2101 pith_cstring_release void 1 2091 +strref 2102 m9s136 +call 2103 pith_list_new_default list 0 +load 2104 tid_bytes +call 2105 pith_list_push_value void 2 2103 2104 +load 2106 tid_bytes +call 2107 pith_list_push_value void 2 2103 2106 +load 2108 tid_bytes +call 2109 pith_list_push_value void 2 2103 2108 +load 2110 tid_bool +call 2111 checker_builtins_fix_builtin_binding void 3 2102 2103 2110 +call 2112 pith_cstring_release void 1 2102 +strref 2113 m9s135 +call 2114 pith_list_new_default list 0 +load 2115 tid_bytes +call 2116 pith_list_push_value void 2 2114 2115 +load 2117 tid_bytes +call 2118 pith_list_push_value void 2 2114 2117 +load 2119 tid_bytes +call 2120 pith_list_push_value void 2 2114 2119 +load 2121 tid_bool +call 2122 checker_builtins_fix_builtin_binding void 3 2113 2114 2121 +call 2123 pith_cstring_release void 1 2113 +strref 2124 m9s134 +call 2125 pith_list_new_default list 0 +load 2126 tid_bytes +call 2127 pith_list_push_value void 2 2125 2126 +load 2128 tid_bytes +call 2129 pith_list_push_value void 2 2125 2128 load 2130 tid_bytes -call 2131 checker_builtins_fix_builtin_binding void 3 2126 2127 2130 -call 2132 pith_cstring_release void 1 2126 -strref 2133 m9s127 -call 2134 pith_list_new_default list 0 -load 2135 tid_int -call 2136 pith_list_push_value void 2 2134 2135 -load 2137 tid_int -call 2138 checker_builtins_fix_builtin_binding void 3 2133 2134 2137 -call 2139 pith_cstring_release void 1 2133 -strref 2140 m9s126 -call 2141 pith_list_new_default list 0 -load 2142 tid_int -call 2143 pith_list_push_value void 2 2141 2142 -load 2144 tid_bytes -call 2145 pith_list_push_value void 2 2141 2144 -load 2146 int_result -call 2147 checker_builtins_fix_builtin_binding void 3 2140 2141 2146 -call 2148 pith_cstring_release void 1 2140 -strref 2149 m9s125 -call 2150 pith_list_new_default list 0 -load 2151 tid_int -call 2152 pith_list_push_value void 2 2150 2151 -load 2153 tid_string -call 2154 pith_list_push_value void 2 2150 2153 -load 2155 int_result -call 2156 checker_builtins_fix_builtin_binding void 3 2149 2150 2155 -call 2157 pith_cstring_release void 1 2149 -strref 2158 m9s124 -call 2159 pith_list_new_default list 0 -load 2160 tid_int -call 2161 pith_list_push_value void 2 2159 2160 -load 2162 tid_int -call 2163 pith_list_push_value void 2 2159 2162 -load 2164 int_result -call 2165 checker_builtins_fix_builtin_binding void 3 2158 2159 2164 -call 2166 pith_cstring_release void 1 2158 -strref 2167 m9s123 -call 2168 pith_list_new_default list 0 -load 2169 tid_int -call 2170 pith_list_push_value void 2 2168 2169 -load 2171 tid_bytes -call 2172 checker_builtins_fix_builtin_binding void 3 2167 2168 2171 -call 2173 pith_cstring_release void 1 2167 -strref 2174 m9s122 -call 2175 pith_list_new_default list 0 -load 2176 tid_int -call 2177 pith_list_push_value void 2 2175 2176 -load 2178 tid_int -call 2179 checker_builtins_fix_builtin_binding void 3 2174 2175 2178 -call 2180 pith_cstring_release void 1 2174 -strref 2181 m9s121 -call 2182 pith_list_new_default list 0 -load 2183 tid_int -call 2184 pith_list_push_value void 2 2182 2183 -load 2185 tid_int -call 2186 pith_list_push_value void 2 2182 2185 -load 2187 tid_int -call 2188 checker_builtins_fix_builtin_binding void 3 2181 2182 2187 -call 2189 pith_cstring_release void 1 2181 -strref 2190 m9s120 -call 2191 pith_list_new_default list 0 -load 2192 tid_int -call 2193 pith_list_push_value void 2 2191 2192 -load 2194 tid_int -call 2195 pith_list_push_value void 2 2191 2194 -load 2196 tid_int -call 2197 pith_list_push_value void 2 2191 2196 -load 2198 tid_bool -call 2199 checker_builtins_fix_builtin_binding void 3 2190 2191 2198 -call 2200 pith_cstring_release void 1 2190 -strref 2201 m9s119 -call 2202 pith_list_new_default list 0 -load 2203 tid_int -call 2204 pith_list_push_value void 2 2202 2203 -load 2205 tid_void -call 2206 checker_builtins_fix_builtin_binding void 3 2201 2202 2205 -call 2207 pith_cstring_release void 1 2201 -strref 2208 m9s118 -call 2209 pith_list_new_default list 0 -load 2210 tid_int -call 2211 pith_list_push_value void 2 2209 2210 -load 2212 tid_int -call 2213 pith_list_push_value void 2 2209 2212 -load 2214 str_result -call 2215 checker_builtins_fix_builtin_binding void 3 2208 2209 2214 -call 2216 pith_cstring_release void 1 2208 -strref 2217 m9s117 -call 2218 pith_list_new_default list 0 -load 2219 tid_int -call 2220 pith_list_push_value void 2 2218 2219 -load 2221 tid_string -call 2222 pith_list_push_value void 2 2218 2221 -load 2223 int_result -call 2224 checker_builtins_fix_builtin_binding void 3 2217 2218 2223 -call 2225 pith_cstring_release void 1 2217 -strref 2226 m9s116 -call 2227 pith_list_new_default list 0 -load 2228 tid_int -call 2229 pith_list_push_value void 2 2227 2228 -load 2230 tid_int -call 2231 pith_list_push_value void 2 2227 2230 -load 2232 bytes_result -call 2233 checker_builtins_fix_builtin_binding void 3 2226 2227 2232 -call 2234 pith_cstring_release void 1 2226 -strref 2235 m9s115 -call 2236 pith_list_new_default list 0 -load 2237 tid_int -call 2238 pith_list_push_value void 2 2236 2237 -load 2239 tid_bytes -call 2240 pith_list_push_value void 2 2236 2239 -load 2241 int_result -call 2242 checker_builtins_fix_builtin_binding void 3 2235 2236 2241 -call 2243 pith_cstring_release void 1 2235 -strref 2244 m9s114 -call 2245 pith_list_new_default list 0 -load 2246 tid_int -call 2247 pith_list_push_value void 2 2245 2246 -load 2248 tid_void -call 2249 checker_builtins_fix_builtin_binding void 3 2244 2245 2248 -call 2250 pith_cstring_release void 1 2244 -strref 2251 m9s113 -call 2252 pith_list_new_default list 0 -load 2253 tid_string -call 2254 pith_list_push_value void 2 2252 2253 -load 2255 tid_int -call 2256 pith_list_push_value void 2 2252 2255 -load 2257 int_result -call 2258 checker_builtins_fix_builtin_binding void 3 2251 2252 2257 -call 2259 pith_cstring_release void 1 2251 -strref 2260 m9s112 -call 2261 pith_list_new_default list 0 -load 2262 tid_string -call 2263 pith_list_push_value void 2 2261 2262 -load 2264 tid_int -call 2265 pith_list_push_value void 2 2261 2264 -load 2266 int_result -call 2267 checker_builtins_fix_builtin_binding void 3 2260 2261 2266 -call 2268 pith_cstring_release void 1 2260 -strref 2269 m9s111 -call 2270 pith_list_new_default list 0 -load 2271 tid_int -call 2272 pith_list_push_value void 2 2270 2271 -load 2273 int_result -call 2274 checker_builtins_fix_builtin_binding void 3 2269 2270 2273 -call 2275 pith_cstring_release void 1 2269 -strref 2276 m9s110 -call 2277 pith_list_new_default list 0 -load 2278 tid_int -call 2279 pith_list_push_value void 2 2277 2278 -load 2280 tid_int -call 2281 pith_list_push_value void 2 2277 2280 -load 2282 str_result -call 2283 checker_builtins_fix_builtin_binding void 3 2276 2277 2282 -call 2284 pith_cstring_release void 1 2276 -strref 2285 m9s109 -call 2286 pith_list_new_default list 0 -load 2287 tid_int -call 2288 pith_list_push_value void 2 2286 2287 -load 2289 tid_string -call 2290 pith_list_push_value void 2 2286 2289 -load 2291 int_result -call 2292 checker_builtins_fix_builtin_binding void 3 2285 2286 2291 -call 2293 pith_cstring_release void 1 2285 -strref 2294 m9s108 -call 2295 pith_list_new_default list 0 -load 2296 tid_int -call 2297 pith_list_push_value void 2 2295 2296 -load 2298 tid_int -call 2299 pith_list_push_value void 2 2295 2298 -load 2300 bytes_result -call 2301 checker_builtins_fix_builtin_binding void 3 2294 2295 2300 -call 2302 pith_cstring_release void 1 2294 -strref 2303 m9s107 -call 2304 pith_list_new_default list 0 -load 2305 tid_int -call 2306 pith_list_push_value void 2 2304 2305 -load 2307 tid_bytes -call 2308 pith_list_push_value void 2 2304 2307 -load 2309 int_result -call 2310 checker_builtins_fix_builtin_binding void 3 2303 2304 2309 -call 2311 pith_cstring_release void 1 2303 -strref 2312 m9s106 -call 2313 pith_list_new_default list 0 -load 2314 tid_int -call 2315 pith_list_push_value void 2 2313 2314 -load 2316 tid_int -call 2317 pith_list_push_value void 2 2313 2316 -load 2318 tid_int -call 2319 checker_builtins_fix_builtin_binding void 3 2312 2313 2318 -call 2320 pith_cstring_release void 1 2312 -strref 2321 m9s105 -call 2322 pith_list_new_default list 0 -load 2323 tid_int -call 2324 pith_list_push_value void 2 2322 2323 -load 2325 tid_int -call 2326 pith_list_push_value void 2 2322 2325 -load 2327 tid_int -call 2328 checker_builtins_fix_builtin_binding void 3 2321 2322 2327 -call 2329 pith_cstring_release void 1 2321 -strref 2330 m9s104 -call 2331 pith_list_new_default list 0 -load 2332 tid_int -call 2333 pith_list_push_value void 2 2331 2332 -load 2334 tid_int -call 2335 pith_list_push_value void 2 2331 2334 -load 2336 tid_void -call 2337 checker_builtins_fix_builtin_binding void 3 2330 2331 2336 -call 2338 pith_cstring_release void 1 2330 -strref 2339 m9s103 -call 2340 pith_list_new_default list 0 -load 2341 tid_string -call 2342 pith_list_push_value void 2 2340 2341 -load 2343 int_result -call 2344 checker_builtins_fix_builtin_binding void 3 2339 2340 2343 -call 2345 pith_cstring_release void 1 2339 -strref 2346 m9s102 -call 2347 pith_list_new_default list 0 -load 2348 tid_string -call 2349 pith_list_push_value void 2 2347 2348 -load 2350 list_string -call 2351 pith_list_push_value void 2 2347 2350 -load 2352 tid_string -call 2353 pith_list_push_value void 2 2347 2352 -load 2354 list_string -call 2355 pith_list_push_value void 2 2347 2354 -load 2356 list_string -call 2357 pith_list_push_value void 2 2347 2356 -load 2358 int_result -call 2359 checker_builtins_fix_builtin_binding void 3 2346 2347 2358 -call 2360 pith_cstring_release void 1 2346 -strref 2361 m9s101 +call 2131 pith_list_push_value void 2 2125 2130 +load 2132 tid_bool +call 2133 checker_builtins_fix_builtin_binding void 3 2124 2125 2132 +call 2134 pith_cstring_release void 1 2124 +strref 2135 m9s133 +call 2136 pith_list_new_default list 0 +load 2137 tid_bytes +call 2138 pith_list_push_value void 2 2136 2137 +load 2139 tid_bytes +call 2140 pith_list_push_value void 2 2136 2139 +load 2141 bytes_result +call 2142 checker_builtins_fix_builtin_binding void 3 2135 2136 2141 +call 2143 pith_cstring_release void 1 2135 +strref 2144 m9s132 +call 2145 pith_list_new_default list 0 +load 2146 tid_bytes +call 2147 pith_list_push_value void 2 2145 2146 +load 2148 tid_bytes +call 2149 pith_list_push_value void 2 2145 2148 +load 2150 tid_int +call 2151 pith_list_push_value void 2 2145 2150 +load 2152 bytes_result +call 2153 checker_builtins_fix_builtin_binding void 3 2144 2145 2152 +call 2154 pith_cstring_release void 1 2144 +strref 2155 m9s131 +call 2156 pith_list_new_default list 0 +load 2157 tid_bytes +call 2158 pith_list_push_value void 2 2156 2157 +load 2159 tid_bytes +call 2160 pith_list_push_value void 2 2156 2159 +load 2161 tid_int +call 2162 pith_list_push_value void 2 2156 2161 +load 2163 tid_int +call 2164 pith_list_push_value void 2 2156 2163 +load 2165 tid_int +call 2166 pith_list_push_value void 2 2156 2165 +load 2167 tid_int +call 2168 pith_list_push_value void 2 2156 2167 +load 2169 bytes_result +call 2170 checker_builtins_fix_builtin_binding void 3 2155 2156 2169 +call 2171 pith_cstring_release void 1 2155 +strref 2172 m9s130 +call 2173 pith_list_new_default list 0 +load 2174 tid_int +call 2175 checker_builtins_fix_builtin_binding void 3 2172 2173 2174 +call 2176 pith_cstring_release void 1 2172 +strref 2177 m9s129 +call 2178 pith_list_new_default list 0 +load 2179 tid_int +call 2180 pith_list_push_value void 2 2178 2179 +load 2181 tid_void +call 2182 checker_builtins_fix_builtin_binding void 3 2177 2178 2181 +call 2183 pith_cstring_release void 1 2177 +strref 2184 m9s128 +call 2185 pith_list_new_default list 0 +load 2186 tid_int +call 2187 pith_list_push_value void 2 2185 2186 +load 2188 tid_bytes +call 2189 checker_builtins_fix_builtin_binding void 3 2184 2185 2188 +call 2190 pith_cstring_release void 1 2184 +strref 2191 m9s127 +call 2192 pith_list_new_default list 0 +load 2193 tid_int +call 2194 pith_list_push_value void 2 2192 2193 +load 2195 tid_int +call 2196 checker_builtins_fix_builtin_binding void 3 2191 2192 2195 +call 2197 pith_cstring_release void 1 2191 +strref 2198 m9s126 +call 2199 pith_list_new_default list 0 +load 2200 tid_int +call 2201 pith_list_push_value void 2 2199 2200 +load 2202 tid_bytes +call 2203 pith_list_push_value void 2 2199 2202 +load 2204 int_result +call 2205 checker_builtins_fix_builtin_binding void 3 2198 2199 2204 +call 2206 pith_cstring_release void 1 2198 +strref 2207 m9s125 +call 2208 pith_list_new_default list 0 +load 2209 tid_int +call 2210 pith_list_push_value void 2 2208 2209 +load 2211 tid_string +call 2212 pith_list_push_value void 2 2208 2211 +load 2213 int_result +call 2214 checker_builtins_fix_builtin_binding void 3 2207 2208 2213 +call 2215 pith_cstring_release void 1 2207 +strref 2216 m9s124 +call 2217 pith_list_new_default list 0 +load 2218 tid_int +call 2219 pith_list_push_value void 2 2217 2218 +load 2220 tid_int +call 2221 pith_list_push_value void 2 2217 2220 +load 2222 int_result +call 2223 checker_builtins_fix_builtin_binding void 3 2216 2217 2222 +call 2224 pith_cstring_release void 1 2216 +strref 2225 m9s123 +call 2226 pith_list_new_default list 0 +load 2227 tid_int +call 2228 pith_list_push_value void 2 2226 2227 +load 2229 tid_bytes +call 2230 checker_builtins_fix_builtin_binding void 3 2225 2226 2229 +call 2231 pith_cstring_release void 1 2225 +strref 2232 m9s122 +call 2233 pith_list_new_default list 0 +load 2234 tid_int +call 2235 pith_list_push_value void 2 2233 2234 +load 2236 tid_int +call 2237 checker_builtins_fix_builtin_binding void 3 2232 2233 2236 +call 2238 pith_cstring_release void 1 2232 +strref 2239 m9s121 +call 2240 pith_list_new_default list 0 +load 2241 tid_int +call 2242 pith_list_push_value void 2 2240 2241 +load 2243 tid_int +call 2244 pith_list_push_value void 2 2240 2243 +load 2245 tid_int +call 2246 checker_builtins_fix_builtin_binding void 3 2239 2240 2245 +call 2247 pith_cstring_release void 1 2239 +strref 2248 m9s120 +call 2249 pith_list_new_default list 0 +load 2250 tid_int +call 2251 pith_list_push_value void 2 2249 2250 +load 2252 tid_int +call 2253 pith_list_push_value void 2 2249 2252 +load 2254 tid_int +call 2255 pith_list_push_value void 2 2249 2254 +load 2256 tid_bool +call 2257 checker_builtins_fix_builtin_binding void 3 2248 2249 2256 +call 2258 pith_cstring_release void 1 2248 +strref 2259 m9s119 +call 2260 pith_list_new_default list 0 +load 2261 tid_int +call 2262 pith_list_push_value void 2 2260 2261 +load 2263 tid_void +call 2264 checker_builtins_fix_builtin_binding void 3 2259 2260 2263 +call 2265 pith_cstring_release void 1 2259 +strref 2266 m9s118 +call 2267 pith_list_new_default list 0 +load 2268 tid_int +call 2269 pith_list_push_value void 2 2267 2268 +load 2270 tid_int +call 2271 pith_list_push_value void 2 2267 2270 +load 2272 str_result +call 2273 checker_builtins_fix_builtin_binding void 3 2266 2267 2272 +call 2274 pith_cstring_release void 1 2266 +strref 2275 m9s117 +call 2276 pith_list_new_default list 0 +load 2277 tid_int +call 2278 pith_list_push_value void 2 2276 2277 +load 2279 tid_string +call 2280 pith_list_push_value void 2 2276 2279 +load 2281 int_result +call 2282 checker_builtins_fix_builtin_binding void 3 2275 2276 2281 +call 2283 pith_cstring_release void 1 2275 +strref 2284 m9s116 +call 2285 pith_list_new_default list 0 +load 2286 tid_int +call 2287 pith_list_push_value void 2 2285 2286 +load 2288 tid_int +call 2289 pith_list_push_value void 2 2285 2288 +load 2290 bytes_result +call 2291 checker_builtins_fix_builtin_binding void 3 2284 2285 2290 +call 2292 pith_cstring_release void 1 2284 +strref 2293 m9s115 +call 2294 pith_list_new_default list 0 +load 2295 tid_int +call 2296 pith_list_push_value void 2 2294 2295 +load 2297 tid_bytes +call 2298 pith_list_push_value void 2 2294 2297 +load 2299 int_result +call 2300 checker_builtins_fix_builtin_binding void 3 2293 2294 2299 +call 2301 pith_cstring_release void 1 2293 +strref 2302 m9s114 +call 2303 pith_list_new_default list 0 +load 2304 tid_int +call 2305 pith_list_push_value void 2 2303 2304 +load 2306 tid_void +call 2307 checker_builtins_fix_builtin_binding void 3 2302 2303 2306 +call 2308 pith_cstring_release void 1 2302 +strref 2309 m9s113 +call 2310 pith_list_new_default list 0 +load 2311 tid_string +call 2312 pith_list_push_value void 2 2310 2311 +load 2313 tid_int +call 2314 pith_list_push_value void 2 2310 2313 +load 2315 int_result +call 2316 checker_builtins_fix_builtin_binding void 3 2309 2310 2315 +call 2317 pith_cstring_release void 1 2309 +strref 2318 m9s112 +call 2319 pith_list_new_default list 0 +load 2320 tid_string +call 2321 pith_list_push_value void 2 2319 2320 +load 2322 tid_int +call 2323 pith_list_push_value void 2 2319 2322 +load 2324 int_result +call 2325 checker_builtins_fix_builtin_binding void 3 2318 2319 2324 +call 2326 pith_cstring_release void 1 2318 +strref 2327 m9s111 +call 2328 pith_list_new_default list 0 +load 2329 tid_int +call 2330 pith_list_push_value void 2 2328 2329 +load 2331 int_result +call 2332 checker_builtins_fix_builtin_binding void 3 2327 2328 2331 +call 2333 pith_cstring_release void 1 2327 +strref 2334 m9s110 +call 2335 pith_list_new_default list 0 +load 2336 tid_int +call 2337 pith_list_push_value void 2 2335 2336 +load 2338 tid_int +call 2339 pith_list_push_value void 2 2335 2338 +load 2340 str_result +call 2341 checker_builtins_fix_builtin_binding void 3 2334 2335 2340 +call 2342 pith_cstring_release void 1 2334 +strref 2343 m9s109 +call 2344 pith_list_new_default list 0 +load 2345 tid_int +call 2346 pith_list_push_value void 2 2344 2345 +load 2347 tid_string +call 2348 pith_list_push_value void 2 2344 2347 +load 2349 int_result +call 2350 checker_builtins_fix_builtin_binding void 3 2343 2344 2349 +call 2351 pith_cstring_release void 1 2343 +strref 2352 m9s108 +call 2353 pith_list_new_default list 0 +load 2354 tid_int +call 2355 pith_list_push_value void 2 2353 2354 +load 2356 tid_int +call 2357 pith_list_push_value void 2 2353 2356 +load 2358 bytes_result +call 2359 checker_builtins_fix_builtin_binding void 3 2352 2353 2358 +call 2360 pith_cstring_release void 1 2352 +strref 2361 m9s107 call 2362 pith_list_new_default list 0 -load 2363 tid_string +load 2363 tid_int call 2364 pith_list_push_value void 2 2362 2363 -load 2365 list_string +load 2365 tid_bytes call 2366 pith_list_push_value void 2 2362 2365 -load 2367 tid_string -call 2368 pith_list_push_value void 2 2362 2367 -load 2369 list_string -call 2370 pith_list_push_value void 2 2362 2369 -load 2371 list_string -call 2372 pith_list_push_value void 2 2362 2371 -load 2373 int_result -call 2374 checker_builtins_fix_builtin_binding void 3 2361 2362 2373 -call 2375 pith_cstring_release void 1 2361 -strref 2376 m9s100 -call 2377 pith_list_new_default list 0 -load 2378 tid_int -call 2379 pith_list_push_value void 2 2377 2378 -load 2380 tid_string -call 2381 pith_list_push_value void 2 2377 2380 -load 2382 int_result -call 2383 checker_builtins_fix_builtin_binding void 3 2376 2377 2382 -call 2384 pith_cstring_release void 1 2376 -strref 2385 m9s99 -call 2386 pith_list_new_default list 0 -load 2387 tid_int -call 2388 pith_list_push_value void 2 2386 2387 -load 2389 tid_int -call 2390 pith_list_push_value void 2 2386 2389 -load 2391 str_result -call 2392 checker_builtins_fix_builtin_binding void 3 2385 2386 2391 -call 2393 pith_cstring_release void 1 2385 -strref 2394 m9s98 -call 2395 pith_list_new_default list 0 -load 2396 tid_int -call 2397 pith_list_push_value void 2 2395 2396 -load 2398 tid_int -call 2399 pith_list_push_value void 2 2395 2398 -load 2400 str_result -call 2401 checker_builtins_fix_builtin_binding void 3 2394 2395 2400 -call 2402 pith_cstring_release void 1 2394 -strref 2403 m9s97 -call 2404 pith_list_new_default list 0 -load 2405 tid_int -call 2406 pith_list_push_value void 2 2404 2405 -load 2407 tid_bytes -call 2408 pith_list_push_value void 2 2404 2407 -load 2409 int_result -call 2410 checker_builtins_fix_builtin_binding void 3 2403 2404 2409 -call 2411 pith_cstring_release void 1 2403 -strref 2412 m9s96 -call 2413 pith_list_new_default list 0 -load 2414 tid_int -call 2415 pith_list_push_value void 2 2413 2414 -load 2416 tid_int -call 2417 pith_list_push_value void 2 2413 2416 -load 2418 bytes_result -call 2419 checker_builtins_fix_builtin_binding void 3 2412 2413 2418 -call 2420 pith_cstring_release void 1 2412 -strref 2421 m9s95 -call 2422 pith_list_new_default list 0 -load 2423 tid_int -call 2424 pith_list_push_value void 2 2422 2423 -load 2425 tid_int -call 2426 pith_list_push_value void 2 2422 2425 -load 2427 bytes_result -call 2428 checker_builtins_fix_builtin_binding void 3 2421 2422 2427 -call 2429 pith_cstring_release void 1 2421 -strref 2430 m9s94 -call 2431 pith_list_new_default list 0 -load 2432 tid_int -call 2433 pith_list_push_value void 2 2431 2432 -load 2434 tid_int -call 2435 checker_builtins_fix_builtin_binding void 3 2430 2431 2434 -call 2436 pith_cstring_release void 1 2430 -strref 2437 m9s93 -call 2438 pith_list_new_default list 0 -load 2439 tid_int -call 2440 pith_list_push_value void 2 2438 2439 -load 2441 tid_bool -call 2442 checker_builtins_fix_builtin_binding void 3 2437 2438 2441 -call 2443 pith_cstring_release void 1 2437 -strref 2444 m9s92 -call 2445 pith_list_new_default list 0 -load 2446 tid_int -call 2447 pith_list_push_value void 2 2445 2446 -load 2448 tid_void -call 2449 checker_builtins_fix_builtin_binding void 3 2444 2445 2448 -call 2450 pith_cstring_release void 1 2444 -strref 2451 m9s91 -call 2452 pith_list_new_default list 0 -load 2453 tid_int -call 2454 pith_list_push_value void 2 2452 2453 -load 2455 tid_int -call 2456 checker_builtins_fix_builtin_binding void 3 2451 2452 2455 -call 2457 pith_cstring_release void 1 2451 -strref 2458 m9s90 -call 2459 pith_list_new_default list 0 -load 2460 tid_int -call 2461 pith_list_push_value void 2 2459 2460 -load 2462 tid_string -call 2463 checker_builtins_fix_builtin_binding void 3 2458 2459 2462 -call 2464 pith_cstring_release void 1 2458 -strref 2465 m9s89 -call 2466 pith_list_new_default list 0 -load 2467 tid_int -call 2468 pith_list_push_value void 2 2466 2467 -load 2469 tid_string -call 2470 checker_builtins_fix_builtin_binding void 3 2465 2466 2469 -call 2471 pith_cstring_release void 1 2465 -strref 2472 m9s88 -call 2473 pith_list_new_default list 0 +load 2367 int_result +call 2368 checker_builtins_fix_builtin_binding void 3 2361 2362 2367 +call 2369 pith_cstring_release void 1 2361 +strref 2370 m9s106 +call 2371 pith_list_new_default list 0 +load 2372 tid_int +call 2373 pith_list_push_value void 2 2371 2372 +load 2374 tid_int +call 2375 pith_list_push_value void 2 2371 2374 +load 2376 tid_int +call 2377 checker_builtins_fix_builtin_binding void 3 2370 2371 2376 +call 2378 pith_cstring_release void 1 2370 +strref 2379 m9s105 +call 2380 pith_list_new_default list 0 +load 2381 tid_int +call 2382 pith_list_push_value void 2 2380 2381 +load 2383 tid_int +call 2384 pith_list_push_value void 2 2380 2383 +load 2385 tid_int +call 2386 checker_builtins_fix_builtin_binding void 3 2379 2380 2385 +call 2387 pith_cstring_release void 1 2379 +strref 2388 m9s104 +call 2389 pith_list_new_default list 0 +load 2390 tid_int +call 2391 pith_list_push_value void 2 2389 2390 +load 2392 tid_int +call 2393 pith_list_push_value void 2 2389 2392 +load 2394 tid_void +call 2395 checker_builtins_fix_builtin_binding void 3 2388 2389 2394 +call 2396 pith_cstring_release void 1 2388 +strref 2397 m9s103 +call 2398 pith_list_new_default list 0 +load 2399 tid_string +call 2400 pith_list_push_value void 2 2398 2399 +load 2401 int_result +call 2402 checker_builtins_fix_builtin_binding void 3 2397 2398 2401 +call 2403 pith_cstring_release void 1 2397 +strref 2404 m9s102 +call 2405 pith_list_new_default list 0 +load 2406 tid_string +call 2407 pith_list_push_value void 2 2405 2406 +load 2408 list_string +call 2409 pith_list_push_value void 2 2405 2408 +load 2410 tid_string +call 2411 pith_list_push_value void 2 2405 2410 +load 2412 list_string +call 2413 pith_list_push_value void 2 2405 2412 +load 2414 list_string +call 2415 pith_list_push_value void 2 2405 2414 +load 2416 int_result +call 2417 checker_builtins_fix_builtin_binding void 3 2404 2405 2416 +call 2418 pith_cstring_release void 1 2404 +strref 2419 m9s101 +call 2420 pith_list_new_default list 0 +load 2421 tid_string +call 2422 pith_list_push_value void 2 2420 2421 +load 2423 list_string +call 2424 pith_list_push_value void 2 2420 2423 +load 2425 tid_string +call 2426 pith_list_push_value void 2 2420 2425 +load 2427 list_string +call 2428 pith_list_push_value void 2 2420 2427 +load 2429 list_string +call 2430 pith_list_push_value void 2 2420 2429 +load 2431 int_result +call 2432 checker_builtins_fix_builtin_binding void 3 2419 2420 2431 +call 2433 pith_cstring_release void 1 2419 +strref 2434 m9s100 +call 2435 pith_list_new_default list 0 +load 2436 tid_int +call 2437 pith_list_push_value void 2 2435 2436 +load 2438 tid_string +call 2439 pith_list_push_value void 2 2435 2438 +load 2440 int_result +call 2441 checker_builtins_fix_builtin_binding void 3 2434 2435 2440 +call 2442 pith_cstring_release void 1 2434 +strref 2443 m9s99 +call 2444 pith_list_new_default list 0 +load 2445 tid_int +call 2446 pith_list_push_value void 2 2444 2445 +load 2447 tid_int +call 2448 pith_list_push_value void 2 2444 2447 +load 2449 str_result +call 2450 checker_builtins_fix_builtin_binding void 3 2443 2444 2449 +call 2451 pith_cstring_release void 1 2443 +strref 2452 m9s98 +call 2453 pith_list_new_default list 0 +load 2454 tid_int +call 2455 pith_list_push_value void 2 2453 2454 +load 2456 tid_int +call 2457 pith_list_push_value void 2 2453 2456 +load 2458 str_result +call 2459 checker_builtins_fix_builtin_binding void 3 2452 2453 2458 +call 2460 pith_cstring_release void 1 2452 +strref 2461 m9s97 +call 2462 pith_list_new_default list 0 +load 2463 tid_int +call 2464 pith_list_push_value void 2 2462 2463 +load 2465 tid_bytes +call 2466 pith_list_push_value void 2 2462 2465 +load 2467 int_result +call 2468 checker_builtins_fix_builtin_binding void 3 2461 2462 2467 +call 2469 pith_cstring_release void 1 2461 +strref 2470 m9s96 +call 2471 pith_list_new_default list 0 +load 2472 tid_int +call 2473 pith_list_push_value void 2 2471 2472 load 2474 tid_int -call 2475 pith_list_push_value void 2 2473 2474 -load 2476 tid_void -call 2477 checker_builtins_fix_builtin_binding void 3 2472 2473 2476 -call 2478 pith_cstring_release void 1 2472 -iconst 2479 0 -ret 2479 +call 2475 pith_list_push_value void 2 2471 2474 +load 2476 bytes_result +call 2477 checker_builtins_fix_builtin_binding void 3 2470 2471 2476 +call 2478 pith_cstring_release void 1 2470 +strref 2479 m9s95 +call 2480 pith_list_new_default list 0 +load 2481 tid_int +call 2482 pith_list_push_value void 2 2480 2481 +load 2483 tid_int +call 2484 pith_list_push_value void 2 2480 2483 +load 2485 bytes_result +call 2486 checker_builtins_fix_builtin_binding void 3 2479 2480 2485 +call 2487 pith_cstring_release void 1 2479 +strref 2488 m9s94 +call 2489 pith_list_new_default list 0 +load 2490 tid_int +call 2491 pith_list_push_value void 2 2489 2490 +load 2492 tid_int +call 2493 checker_builtins_fix_builtin_binding void 3 2488 2489 2492 +call 2494 pith_cstring_release void 1 2488 +strref 2495 m9s93 +call 2496 pith_list_new_default list 0 +load 2497 tid_int +call 2498 pith_list_push_value void 2 2496 2497 +load 2499 tid_bool +call 2500 checker_builtins_fix_builtin_binding void 3 2495 2496 2499 +call 2501 pith_cstring_release void 1 2495 +strref 2502 m9s92 +call 2503 pith_list_new_default list 0 +load 2504 tid_int +call 2505 pith_list_push_value void 2 2503 2504 +load 2506 tid_void +call 2507 checker_builtins_fix_builtin_binding void 3 2502 2503 2506 +call 2508 pith_cstring_release void 1 2502 +strref 2509 m9s91 +call 2510 pith_list_new_default list 0 +load 2511 tid_int +call 2512 pith_list_push_value void 2 2510 2511 +load 2513 tid_int +call 2514 checker_builtins_fix_builtin_binding void 3 2509 2510 2513 +call 2515 pith_cstring_release void 1 2509 +strref 2516 m9s90 +call 2517 pith_list_new_default list 0 +load 2518 tid_int +call 2519 pith_list_push_value void 2 2517 2518 +load 2520 tid_string +call 2521 checker_builtins_fix_builtin_binding void 3 2516 2517 2520 +call 2522 pith_cstring_release void 1 2516 +strref 2523 m9s89 +call 2524 pith_list_new_default list 0 +load 2525 tid_int +call 2526 pith_list_push_value void 2 2524 2525 +load 2527 tid_string +call 2528 checker_builtins_fix_builtin_binding void 3 2523 2524 2527 +call 2529 pith_cstring_release void 1 2523 +strref 2530 m9s88 +call 2531 pith_list_new_default list 0 +load 2532 tid_int +call 2533 pith_list_push_value void 2 2531 2532 +load 2534 tid_void +call 2535 checker_builtins_fix_builtin_binding void 3 2530 2531 2534 +call 2536 pith_cstring_release void 1 2530 +iconst 2537 0 +ret 2537 endfunc func checker_builtins_create_function_type 2 int param params @@ -26591,6 +26671,8 @@ string m10s86 "crypto_aes_128_gcm_open failed" string m10s87 "crypto_chacha20_poly1305_seal failed" string m10s88 "crypto_chacha20_poly1305_open failed" string m10s89 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m10s90 "crypto_blake2b failed" +string m10s91 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -27182,6 +27264,8 @@ string m11s43 "crypto_aes_128_gcm_open failed" string m11s44 "crypto_chacha20_poly1305_seal failed" string m11s45 "crypto_chacha20_poly1305_open failed" string m11s46 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m11s47 "crypto_blake2b failed" +string m11s48 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -27579,6 +27663,8 @@ string m12s43 "crypto_aes_128_gcm_open failed" string m12s44 "crypto_chacha20_poly1305_seal failed" string m12s45 "crypto_chacha20_poly1305_open failed" string m12s46 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m12s47 "crypto_blake2b failed" +string m12s48 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -27927,709 +28013,713 @@ string m13s175 "byte_buffer_with_capacity" string m13s176 "byte_buffer_take_bytes" string m13s177 "byte_buffer_free" string m13s178 "byte_buffer_new" -string m13s179 "crypto_sign_rsa_pss_sha256_pkcs8" -string m13s180 "crypto_verify_rsa_pss_sha256" -string m13s181 "crypto_verify_rsa_pkcs1_sha384" -string m13s182 "crypto_verify_rsa_pkcs1_sha256" -string m13s183 "crypto_verify_ecdsa_p384_sha384_asn1" -string m13s184 "crypto_verify_ecdsa_p256_sha256_asn1" -string m13s185 "crypto_verify_ed25519" -string m13s186 "crypto_chacha20_poly1305_open" -string m13s187 "crypto_chacha20_poly1305_seal" -string m13s188 "crypto_aes_128_gcm_open" -string m13s189 "crypto_aes_128_gcm_seal" -string m13s190 "crypto_x25519_close" -string m13s191 "crypto_x25519_shared_secret" -string m13s192 "crypto_x25519_public_key" -string m13s193 "crypto_p256_keygen" -string m13s194 "crypto_x25519_keygen" -string m13s195 "secure_random_bytes" -string m13s196 "crypto_constant_time_eq" -string m13s197 "bytes_substring_utf8" -string m13s198 "bytes_to_string_utf8" -string m13s199 "bytes_slice" -string m13s200 "bytes_get" -string m13s201 "bytes_is_empty" -string m13s202 "bytes_len" -string m13s203 "bytes_concat" -string m13s204 "bytes_eq" -string m13s205 "append_file_bytes" -string m13s206 "write_file_bytes" -string m13s207 "append_file" -string m13s208 "write_file" -string m13s209 "os_set_env" -string m13s210 "rename_file" -string m13s211 "file_open_append" -string m13s212 "file_open_write" -string m13s213 "file_open_read" -string m13s214 "from_hex" -string m13s215 "b64_decode" -string m13s216 "read_file_bytes" -string m13s217 "dns_resolve" -string m13s218 "exec_output" -string m13s219 "read_file" -string m13s220 "bytes_from_string_utf8" -string m13s221 "parse_float" -string m13s222 "parse_int" -string m13s223 "os_unset_env" -string m13s224 "os_chdir" -string m13s225 "os_cert_roots_pem" -string m13s226 "os_home_dir" -string m13s227 "os_temp_dir" -string m13s228 "os_getcwd" -string m13s229 "list_dir" -string m13s230 "fs_file_size" -string m13s231 "env_opt" -string m13s232 "env" -string m13s233 "fs_remove_tree" -string m13s234 "fs_remove_dir" -string m13s235 "remove_file" -string m13s236 "mkdir" -string m13s237 "dir_exists" -string m13s238 "file_exists" -string m13s239 "ord" -string m13s240 "exec" -string m13s241 "skip_test" -string m13s242 "print_err" -string m13s243 "print" -string m13s244 "fmt_float" -string m13s245 "pow" -string m13s246 "round" -string m13s247 "ceil" -string m13s248 "floor" -string m13s249 "sqrt" -string m13s250 "format_time" -string m13s251 "clamp" -string m13s252 "bit_shr" -string m13s253 "bit_shl" -string m13s254 "bit_xor" -string m13s255 "bit_or" -string m13s256 "bit_and" -string m13s257 "random_int" -string m13s258 "max" -string m13s259 "min" -string m13s260 "random_string" -string m13s261 "chr" -string m13s262 "bit_not" -string m13s263 "abs" -string m13s264 "tcp_close" -string m13s265 "random_seed" -string m13s266 "sleep" -string m13s267 "exit" -string m13s268 "assert" -string m13s269 "args" -string m13s270 "input" -string m13s271 "float_to_bits" -string m13s272 "float_from_bits" -string m13s273 "random_float" -string m13s274 "time_nanos" -string m13s275 "time" -string m13s276 "AtomicInt" -string m13s277 "Semaphore" -string m13s278 "WaitGroup" -string m13s279 "Mutex" -string m13s280 "List[String]" -string m13s281 "warning" -string m13s282 "variant" -string m13s283 " mut" -string m13s284 " pub" -string m13s285 "field" -string m13s286 "enum_decl" -string m13s287 "struct_decl" -string m13s288 "await requires a Task type, got " -string m13s289 "E232" -string m13s290 "await requires a Task expression" -string m13s291 "index" -string m13s292 "field_access" -string m13s293 "ident" -string m13s294 "send it through a channel, or pass a copy (copy_" -string m13s295 " this scope still holds; both threads would mutate the same buffer" -string m13s296 "a spawned task cannot take a " -string m13s297 "E248" -string m13s298 "arg" -string m13s299 "spawn requires a function call" -string m13s300 "call" -string m13s301 ", got " -string m13s302 "' type mismatch: expected " -string m13s303 "field '" -string m13s304 "E219" -string m13s305 " fields, got " -string m13s306 " expects at least " -string m13s307 "E207" -string m13s308 " expects at most " -string m13s309 " is not a struct type" -string m13s310 "E202" -string m13s311 "unknown type: " -string m13s312 "none_lit" -string m13s313 "set elements must be the same type" -string m13s314 "E223" -string m13s315 "map values must be the same type" -string m13s316 "map keys must be the same type" -string m13s317 "entry" -string m13s318 "list elements must be the same type: expected " -string m13s319 "block" -string m13s320 "body" -string m13s321 "lambda parameter requires a type annotation" -string m13s322 "E230" -string m13s323 "param" -string m13s324 ", " -string m13s325 "non-exhaustive match: missing variants: " -string m13s326 "E204" -string m13s327 "non-exhaustive match: missing 'false' case" -string m13s328 "non-exhaustive match: missing 'true' case" -string m13s329 "false" -string m13s330 "true" -string m13s331 "non-exhaustive match: add a wildcard (_) pattern" -string m13s332 "non-exhaustive match on Optional: add 'None' case or wildcard (_)" -string m13s333 "non-exhaustive match on Optional: add 'Some' case or wildcard (_)" -string m13s334 "None" -string m13s335 "Some" -string m13s336 "pat_none" -string m13s337 "pat_wildcard" -string m13s338 "pat_binding" -string m13s339 "pat_tuple" -string m13s340 "pat_string" -string m13s341 "pat_int" -string m13s342 "pat_variant" -string m13s343 "pat_bool" -string m13s344 " elements, expected " -string m13s345 "tuple pattern has " -string m13s346 "E213" -string m13s347 "tuple pattern cannot match " -string m13s348 "E228" -string m13s349 "'" -string m13s350 " has no variant '" -string m13s351 "E212" -string m13s352 " fields, but pattern has " -string m13s353 " has " -string m13s354 " is not an enum" -string m13s355 " does not match expected type " -string m13s356 "variant pattern type " -string m13s357 "or-pattern alternatives cannot bind; use a separate arm" -string m13s358 "pat_or" -string m13s359 "bool pattern cannot match " -string m13s360 "string pattern cannot match " -string m13s361 "float pattern cannot match " -string m13s362 "pat_float" -string m13s363 "range pattern cannot match " -string m13s364 "pat_range" -string m13s365 "integer pattern cannot match " -string m13s366 "match guard must be Bool, got " -string m13s367 "E218" -string m13s368 "guard" -string m13s369 " vs " -string m13s370 "match arms have different types: " -string m13s371 "E225" -string m13s372 "arm" -string m13s373 "if expression branches have different types: " -string m13s374 "condition must be Bool, got " -string m13s375 "E200" -string m13s376 "elif_branch" -string m13s377 "select timeout expects Int milliseconds, got " -string m13s378 "select timeout arm requires a duration and body" -string m13s379 "select send arms must use a channel send expression" -string m13s380 "select send arms must use channel.send(value)" -string m13s381 "send" -string m13s382 "method_call" -string m13s383 "select send arm requires a send expression and body" -string m13s384 "select recv arms must use name := channel.recv()" -string m13s385 "recv" -string m13s386 "select recv arm requires a recv expression and body" -string m13s387 "invalid select arm" -string m13s388 "select_default_arm" -string m13s389 "select_timeout_arm" -string m13s390 "select_send_arm" -string m13s391 "select_recv_arm" -string m13s392 "select arms have different types: " -string m13s393 "select can only have one timeout arm" -string m13s394 "select can only have one default arm" -string m13s395 "select requires at least one arm" -string m13s396 "catch fallback type mismatch: expected " -string m13s397 "catch requires a result type, got " -string m13s398 "E224" -string m13s399 "wrap the producer return in T! so ! can propagate the error" -string m13s400 "try (!) requires a result type, got " -string m13s401 "use ? to unwrap an optional value" -string m13s402 " from function returning " -string m13s403 "try (!) error type mismatch: cannot propagate " -string m13s404 "E239" -string m13s405 "try (!) can only be used in functions that return a result type" -string m13s406 "wrap the producer return in T? so ? has something to unwrap" -string m13s407 "unwrap (?) requires an optional type, got " -string m13s408 "use ! to propagate a result error" -string m13s409 "wrap main or the enclosing fn return in T! and propagate, or replace ? with `match`/`unwrap_or` for an in-place default" -string m13s410 "unwrap (?) can only be used in functions that return a result type" -string m13s411 "E238" -string m13s412 " does not support indexing" -string m13s413 "E217" -string m13s414 "map key type mismatch: expected " -string m13s415 "list index must be integer, got " -string m13s416 "bytes index must be integer, got " -string m13s417 "string index must be integer, got " -string m13s418 "9" -string m13s419 "8" -string m13s420 "7" -string m13s421 "6" -string m13s422 "5" -string m13s423 "4" -string m13s424 "3" -string m13s425 "2" -string m13s426 "1" -string m13s427 "0" -string m13s428 " has no field '" -string m13s429 "E209" -string m13s430 "result has no field '" -string m13s431 "err" -string m13s432 "ok" -string m13s433 "is_err" -string m13s434 "is_ok" -string m13s435 " elements)" -string m13s436 " out of bounds (tuple has " -string m13s437 "tuple index " -string m13s438 "tuple field must be a numeric index" -string m13s439 "' has no function '" -string m13s440 "module '" -string m13s441 "' is not public in module '" -string m13s442 "E251" -string m13s443 "argument type mismatch: expected " -string m13s444 " expects 2 arguments, got " -string m13s445 " expects 1 argument, got " -string m13s446 " takes no arguments, got " -string m13s447 "Task.detach" -string m13s448 "detach" -string m13s449 "Task.is_done" -string m13s450 "is_done" -string m13s451 "Channel.cap" -string m13s452 "cap" -string m13s453 "Channel.len" -string m13s454 "len" -string m13s455 "Channel.is_closed" -string m13s456 "is_closed" -string m13s457 "Channel.close" -string m13s458 "close" -string m13s459 "Channel.try_recv" -string m13s460 "try_recv" -string m13s461 "Channel.try_send" -string m13s462 "try_send" -string m13s463 "Channel.recv" -string m13s464 "Channel.send" -string m13s465 "AtomicInt.compare_set" -string m13s466 "compare_set" -string m13s467 "AtomicInt.store" -string m13s468 "store" -string m13s469 "AtomicInt.load" -string m13s470 "load" -string m13s471 "Semaphore.release" -string m13s472 "release" -string m13s473 "Semaphore.acquire" -string m13s474 "acquire" -string m13s475 "WaitGroup.wait" -string m13s476 "wait" -string m13s477 "WaitGroup.done" -string m13s478 "done" -string m13s479 "WaitGroup.add" -string m13s480 "add" -string m13s481 "Mutex.unlock" -string m13s482 "unlock" -string m13s483 "Mutex.lock" -string m13s484 "lock" -string m13s485 "remove" -string m13s486 "contains" -string m13s487 "clear" -string m13s488 "is_empty" -string m13s489 "use add(value)" -string m13s490 "Set has no method 'insert'" -string m13s491 "insert" -string m13s492 "values" -string m13s493 "keys" -string m13s494 "take" -string m13s495 "get_default expects 2 arguments, got " -string m13s496 "get_default" -string m13s497 "get" -string m13s498 "contains_key" -string m13s499 "insert expects 2 arguments, got " -string m13s500 "last" -string m13s501 "first" -string m13s502 "reduce" -string m13s503 "filter" -string m13s504 "sort" -string m13s505 "slice" -string m13s506 "index_of" -string m13s507 "]; map elements to String first" -string m13s508 "join requires a list of String or Int elements, got List[" -string m13s509 "join" -string m13s510 "insert expects 2 arguments (index, value), got " -string m13s511 "reverse" -string m13s512 "push" -string m13s513 "Bool has no method '" -string m13s514 "to_string" -string m13s515 "Float has no method '" -string m13s516 "to_int" -string m13s517 "Int has no method '" -string m13s518 "to_float" -string m13s519 " on success, got " -string m13s520 "or_else handler must return " -string m13s521 "or_else handler must return a result type" -string m13s522 "or_else handler must accept " -string m13s523 "or_else handler must take exactly 1 argument" -string m13s524 "or_else expects a function, got " -string m13s525 "or_else expects 1 argument, got " -string m13s526 "or_else" -string m13s527 "unwrap_or expects 1 argument, got " -string m13s528 "unwrap_or" -string m13s529 "result.to_string requires stringifiable ok and err values" -string m13s530 "Bytes has no method '" -string m13s531 "to_string_utf8" -string m13s532 "concat" -string m13s533 "String has no method '" -string m13s534 "chars" -string m13s535 "pad_right" -string m13s536 "pad_left" -string m13s537 "repeat" -string m13s538 "replace" -string m13s539 "substring" -string m13s540 "split" -string m13s541 "last_index_of" -string m13s542 "ends_with" -string m13s543 "starts_with" -string m13s544 "to_lower" -string m13s545 "to_upper" -string m13s546 "trim" -string m13s547 " has no method '" -string m13s548 " arguments, got " -string m13s549 " expects " -string m13s550 "E201" -string m13s551 "(...)" -string m13s552 "; call it as receiver." -string m13s553 "' is a method on " -string m13s554 "undefined function: " -string m13s555 "returns" -string m13s556 "cannot infer type parameter " -string m13s557 "E222" -string m13s558 "expected " -string m13s559 "fn_type" -string m13s560 "tuple_type" -string m13s561 "result_type" -string m13s562 "optional_type" -string m13s563 "generic_type" -string m13s564 "type" -string m13s565 "type parameter inference mismatch for " -string m13s566 "' does not implement interface '" -string m13s567 "type '" -string m13s568 "E226" -string m13s569 "' in bound for '" -string m13s570 "unknown interface '" -string m13s571 "generic_param" -string m13s572 "tid:" -string m13s573 "param:" -string m13s574 "reduce callback return mismatch: expected " -string m13s575 "reduce element parameter mismatch: expected " -string m13s576 "reduce accumulator parameter mismatch: expected " -string m13s577 "reduce callback expects 2 parameters, got " -string m13s578 "reduce expects a function as the second argument" -string m13s579 "E208" -string m13s580 "reduce expects 2 arguments, got " -string m13s581 "filter callback must return Bool or Int-like truthy value, got " -string m13s582 "filter callback parameter mismatch: expected " -string m13s583 "filter callback expects 1 parameter, got " -string m13s584 "filter expects a function argument" -string m13s585 "filter expects 1 argument, got " -string m13s586 "map callback parameter mismatch: expected " -string m13s587 "map callback expects 1 parameter, got " -string m13s588 "map expects a function argument" -string m13s589 "map expects 1 argument, got " -string m13s590 "reduce expects a function as the third argument" -string m13s591 "reduce expects a List as the first argument, got " -string m13s592 "reduce expects 3 arguments, got " -string m13s593 "filter expects a function as the second argument" -string m13s594 "filter expects a List as the first argument, got " -string m13s595 "filter expects 2 arguments, got " -string m13s596 "map expects a function as the second argument" -string m13s597 "map expects a List as the first argument, got " -string m13s598 "map expects 2 arguments, got " -string m13s599 "assert_eq arguments must be the same type: " -string m13s600 "assert_eq expects 2 arguments, got " -string m13s601 ": missing field '" -string m13s602 "E242" -string m13s603 "' set more than once" -string m13s604 ": field '" -string m13s605 "E241" -string m13s606 "E240" -string m13s607 ": cannot mix positional and named fields" -string m13s608 "E243" -string m13s609 "expression is not callable" -string m13s610 "Channel constructor takes 0 or 1 arguments, got " -string m13s611 "Channel type argument must be a type name" -string m13s612 "E210" -string m13s613 "assert_ne" -string m13s614 "assert_eq" -string m13s615 "from_json_file_typed" -string m13s616 "from_toml_file_typed" -string m13s617 "decode_text" -string m13s618 "decode" -string m13s619 "decode_prefix" -string m13s620 " type arguments, got " -string m13s621 "E221" -string m13s622 "unknown type: ConfigError" -string m13s623 "ConfigError" -string m13s624 "' of type " -string m13s625 "config typed file decode does not support field '" -string m13s626 "config typed file decode target field must be public: " -string m13s627 "config typed file decode argument type mismatch: expected " -string m13s628 "config typed file decode target must be a struct, got " -string m13s629 "config typed file decode expects 1 argument, got " -string m13s630 "config typed file decode requires an explicit struct type" -string m13s631 " does not support field '" -string m13s632 " target field must be public: " -string m13s633 " argument type mismatch: expected " -string m13s634 " target must be a struct, got " -string m13s635 " requires an explicit struct type" -string m13s636 ".decode" -string m13s637 "unknown type: JsonDecodeError" -string m13s638 "JsonDecodeError" -string m13s639 "json.decode does not support field '" -string m13s640 "json.decode target field must be public: " -string m13s641 "json.decode argument type mismatch: expected " -string m13s642 "json.decode target must be a struct, got " -string m13s643 "json.decode expects 1 argument, got " -string m13s644 "json.decode requires an explicit struct type" -string m13s645 "config.decode does not support field '" -string m13s646 "config.decode target field must be public: " -string m13s647 "config.decode prefix type mismatch: expected String, got " -string m13s648 "config.decode argument type mismatch: expected Config, got " -string m13s649 "unknown type: Config" -string m13s650 "Config" -string m13s651 "config.decode target must be a struct, got " -string m13s652 " argument(s), got " -string m13s653 "config.decode expects " -string m13s654 "config.decode requires an explicit struct type" -string m13s655 "|" -string m13s656 "json.decode type argument must be a concrete struct type" -string m13s657 "config_mod" -string m13s658 "config" -string m13s659 "std.config" -string m13s660 "TomlDecodeError" -string m13s661 "YamlDecodeError" -string m13s662 "yaml" -string m13s663 "yaml_mod" -string m13s664 "toml" -string m13s665 "toml_mod" -string m13s666 "std.yaml" -string m13s667 "json_mod" -string m13s668 "json" -string m13s669 "unary 'not' requires Bool, got " -string m13s670 "not" -string m13s671 "unary - requires numeric type, got " -string m13s672 "negate" -string m13s673 "pipe type mismatch: function expects " -string m13s674 "' must take exactly 1 parameter" -string m13s675 "pipe target '" -string m13s676 "' is not a function" -string m13s677 "pipe operator requires a function name on the right" -string m13s678 "operator 'or' requires Bool, got " -string m13s679 "or" -string m13s680 "operator 'and' requires Bool, got " -string m13s681 "and" -string m13s682 "operator >= type mismatch: " -string m13s683 "operator >= requires numeric or string type, got " -string m13s684 "gte" -string m13s685 "operator <= type mismatch: " -string m13s686 "operator <= requires numeric or string type, got " -string m13s687 "lte" -string m13s688 "operator > type mismatch: " -string m13s689 "operator > requires numeric or string type, got " -string m13s690 "gt" -string m13s691 "operator < type mismatch: " -string m13s692 "operator < requires numeric or string type, got " -string m13s693 "lt" -string m13s694 "operator != type mismatch: " -string m13s695 "neq" -string m13s696 "operator == type mismatch: " -string m13s697 "eq" -string m13s698 "operator % type mismatch: " -string m13s699 "operator % requires integer type, got " -string m13s700 "mod" -string m13s701 "operator / type mismatch: " -string m13s702 "operator / requires numeric type, got " -string m13s703 "div" -string m13s704 "operator * type mismatch: " -string m13s705 "operator * requires numeric type, got " -string m13s706 "mul" -string m13s707 "operator - type mismatch: " -string m13s708 "operator - requires numeric type, got " -string m13s709 "sub" -string m13s710 "operator + type mismatch: " -string m13s711 "operator + requires numeric type, got " -string m13s712 "pipe" -string m13s713 "undefined variable: " -string m13s714 "import it where it is defined" -string m13s715 "' belongs to another module and is not imported here" -string m13s716 "await" -string m13s717 "spawn" -string m13s718 "struct_init" -string m13s719 "lambda" -string m13s720 "match_expr" -string m13s721 "select_expr" -string m13s722 "catch_expr" -string m13s723 "try" -string m13s724 "unwrap" -string m13s725 "if_expr" -string m13s726 "string interpolation requires a stringifiable value, got " -string m13s727 "lit" -string m13s728 "interp_spec" -string m13s729 "string_interp" -string m13s730 "grouped" -string m13s731 "unary" -string m13s732 "binary" -string m13s733 "self" -string m13s734 "bool_lit" -string m13s735 "string_lit" -string m13s736 "float_lit" -string m13s737 "int_lit" -string m13s738 "cannot iterate over " -string m13s739 ".." -string m13s740 "range bounds must be Int, got " -string m13s741 "range" -string m13s742 ".next" -string m13s743 "while let" -string m13s744 "if let" -string m13s745 " supports variant patterns and optional bindings" -string m13s746 "E245" -string m13s747 " with a bare binding needs an optional subject, got " -string m13s748 "else" -string m13s749 "then" -string m13s750 "elif" -string m13s751 "fail type mismatch: expected " -string m13s752 "fail requires function to return a result type" -string m13s753 "E234" -string m13s754 "fail outside of function" -string m13s755 "E231" -string m13s756 "change the return type to " -string m13s757 "return type mismatch: expected " -string m13s758 ", got Void" -string m13s759 "return outside of function" -string m13s760 "lambda returns disagree: " -string m13s761 "type mismatch: expected " -string m13s762 " requires numeric type, got " -string m13s763 "operator " -string m13s764 "=" -string m13s765 "declare with 'mut': mut " -string m13s766 "cannot assign to immutable variable '" -string m13s767 "E216" -string m13s768 "try_expr" -string m13s769 "bind" -string m13s770 "binding" -string m13s771 "errdefer" -string m13s772 "defer" -string m13s773 "continue" -string m13s774 "break" -string m13s775 "fail" -string m13s776 "return" -string m13s777 "move the control flow out of the defer, or wrap the cleanup in a helper function" -string m13s778 "a deferred statement must be a plain side-effect (no return/fail/break/continue, no `!`/`?`, no defer or binding)" -string m13s779 "E260" -string m13s780 "use `defer` for cleanup that must always run, or give the function a `T!` return type" -string m13s781 "errdefer is only meaningful in a function returning a result (`T!`)" -string m13s782 "errdefer is only allowed inside a function" -string m13s783 "defer is only allowed inside a function" -string m13s784 "continue outside of loop" -string m13s785 "E215" -string m13s786 "break outside of loop" -string m13s787 "for_stmt" -string m13s788 "while_let" -string m13s789 "if_let" -string m13s790 "while_stmt" -string m13s791 "if_stmt" -string m13s792 "assignment" -string m13s793 "mut" -string m13s794 "fn_decl" -string m13s795 "pub" -string m13s796 " is missing associated type: " -string m13s797 " for " -string m13s798 "impl of " -string m13s799 "E229" -string m13s800 " is missing method: " -string m13s801 "E235" -string m13s802 "fn_sig" -string m13s803 "assoc_type_bind" -string m13s804 "for_type" -string m13s805 "test_decl" -string m13s806 "impl_decl" -string m13s807 "threadlocal" -string m13s808 "import" -string m13s809 "from_import" -string m13s810 "assoc_type" -string m13s811 "' is a builtin type name and cannot be used as an enum name" -string m13s812 "E250" -string m13s813 "' must be " -string m13s814 "default for field '" -string m13s815 " weak" -string m13s816 "' is a builtin type name and cannot be used as a struct name" -string m13s817 "' must be an optional struct type (T?)" -string m13s818 "weak field '" -string m13s819 "E249" -string m13s820 "parameter requires a type annotation" -string m13s821 "type_alias" -string m13s822 "interface_decl" -string m13s823 "unknown generic type: " -string m13s824 "Channel expects 1 type argument, got " -string m13s825 "Task expects 1 type argument, got " -string m13s826 "Map expects 2 type arguments, got " -string m13s827 "Set expects 1 type argument, got " -string m13s828 "List expects 1 type argument, got " -string m13s829 "type nesting too deep" -string m13s830 "E233" -string m13s831 "import it from the module that defines it" -string m13s832 "' is not declared by module '" -string m13s833 "E246" -string m13s834 "*" -string m13s835 "parse_int failed" -string m13s836 "file_open_read failed" -string m13s837 "file_open_write failed" -string m13s838 "file_open_append failed" -string m13s839 "byte_buffer_write failed" -string m13s840 "byte_buffer_write_string_utf8 failed" -string m13s841 "byte_buffer_write_byte failed" -string m13s842 "file_write failed" -string m13s843 "file_write_bytes failed" -string m13s844 "tcp_connect failed" -string m13s845 "tcp_listen failed" -string m13s846 "tcp_accept failed" -string m13s847 "tcp_write failed" -string m13s848 "tcp_write_bytes failed" -string m13s849 "process_spawn failed" -string m13s850 "process_spawn_argv failed" -string m13s851 "process_output_argv failed" -string m13s852 "process_write failed" -string m13s853 "process_write_bytes failed" -string m13s854 "crypto_x25519_keygen failed" -string m13s855 "write_file failed" -string m13s856 "append_file failed" -string m13s857 "write_file_bytes failed" -string m13s858 "append_file_bytes failed" -string m13s859 "read_file failed" -string m13s860 "exec_output failed" -string m13s861 "dns_resolve failed" -string m13s862 "bytes_to_string_utf8 failed" -string m13s863 "bytes_substring_utf8 failed" -string m13s864 "file_read failed" -string m13s865 "tcp_read failed" -string m13s866 "process_read failed" -string m13s867 "process_read_err failed" -string m13s868 "read_file_bytes failed" -string m13s869 "b64_decode failed" -string m13s870 "from_hex failed" -string m13s871 "file_read_bytes failed" -string m13s872 "tcp_read_bytes failed" -string m13s873 "process_read_bytes failed" -string m13s874 "process_read_err_bytes failed" -string m13s875 "crypto_x25519_public_key failed" -string m13s876 "crypto_x25519_shared_secret failed" -string m13s877 "crypto_aes_128_gcm_seal failed" -string m13s878 "crypto_aes_128_gcm_open failed" -string m13s879 "crypto_chacha20_poly1305_seal failed" -string m13s880 "crypto_chacha20_poly1305_open failed" -string m13s881 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m13s179 "crypto_argon2id" +string m13s180 "crypto_blake2b" +string m13s181 "crypto_sign_rsa_pss_sha256_pkcs8" +string m13s182 "crypto_verify_rsa_pss_sha256" +string m13s183 "crypto_verify_rsa_pkcs1_sha384" +string m13s184 "crypto_verify_rsa_pkcs1_sha256" +string m13s185 "crypto_verify_ecdsa_p384_sha384_asn1" +string m13s186 "crypto_verify_ecdsa_p256_sha256_asn1" +string m13s187 "crypto_verify_ed25519" +string m13s188 "crypto_chacha20_poly1305_open" +string m13s189 "crypto_chacha20_poly1305_seal" +string m13s190 "crypto_aes_128_gcm_open" +string m13s191 "crypto_aes_128_gcm_seal" +string m13s192 "crypto_x25519_close" +string m13s193 "crypto_x25519_shared_secret" +string m13s194 "crypto_x25519_public_key" +string m13s195 "crypto_p256_keygen" +string m13s196 "crypto_x25519_keygen" +string m13s197 "secure_random_bytes" +string m13s198 "crypto_constant_time_eq" +string m13s199 "bytes_substring_utf8" +string m13s200 "bytes_to_string_utf8" +string m13s201 "bytes_slice" +string m13s202 "bytes_get" +string m13s203 "bytes_is_empty" +string m13s204 "bytes_len" +string m13s205 "bytes_concat" +string m13s206 "bytes_eq" +string m13s207 "append_file_bytes" +string m13s208 "write_file_bytes" +string m13s209 "append_file" +string m13s210 "write_file" +string m13s211 "os_set_env" +string m13s212 "rename_file" +string m13s213 "file_open_append" +string m13s214 "file_open_write" +string m13s215 "file_open_read" +string m13s216 "from_hex" +string m13s217 "b64_decode" +string m13s218 "read_file_bytes" +string m13s219 "dns_resolve" +string m13s220 "exec_output" +string m13s221 "read_file" +string m13s222 "bytes_from_string_utf8" +string m13s223 "parse_float" +string m13s224 "parse_int" +string m13s225 "os_unset_env" +string m13s226 "os_chdir" +string m13s227 "os_cert_roots_pem" +string m13s228 "os_home_dir" +string m13s229 "os_temp_dir" +string m13s230 "os_getcwd" +string m13s231 "list_dir" +string m13s232 "fs_file_size" +string m13s233 "env_opt" +string m13s234 "env" +string m13s235 "fs_remove_tree" +string m13s236 "fs_remove_dir" +string m13s237 "remove_file" +string m13s238 "mkdir" +string m13s239 "dir_exists" +string m13s240 "file_exists" +string m13s241 "ord" +string m13s242 "exec" +string m13s243 "skip_test" +string m13s244 "print_err" +string m13s245 "print" +string m13s246 "fmt_float" +string m13s247 "pow" +string m13s248 "round" +string m13s249 "ceil" +string m13s250 "floor" +string m13s251 "sqrt" +string m13s252 "format_time" +string m13s253 "clamp" +string m13s254 "bit_shr" +string m13s255 "bit_shl" +string m13s256 "bit_xor" +string m13s257 "bit_or" +string m13s258 "bit_and" +string m13s259 "random_int" +string m13s260 "max" +string m13s261 "min" +string m13s262 "random_string" +string m13s263 "chr" +string m13s264 "bit_not" +string m13s265 "abs" +string m13s266 "tcp_close" +string m13s267 "random_seed" +string m13s268 "sleep" +string m13s269 "exit" +string m13s270 "assert" +string m13s271 "args" +string m13s272 "input" +string m13s273 "float_to_bits" +string m13s274 "float_from_bits" +string m13s275 "random_float" +string m13s276 "time_nanos" +string m13s277 "time" +string m13s278 "AtomicInt" +string m13s279 "Semaphore" +string m13s280 "WaitGroup" +string m13s281 "Mutex" +string m13s282 "List[String]" +string m13s283 "warning" +string m13s284 "variant" +string m13s285 " mut" +string m13s286 " pub" +string m13s287 "field" +string m13s288 "enum_decl" +string m13s289 "struct_decl" +string m13s290 "await requires a Task type, got " +string m13s291 "E232" +string m13s292 "await requires a Task expression" +string m13s293 "index" +string m13s294 "field_access" +string m13s295 "ident" +string m13s296 "send it through a channel, or pass a copy (copy_" +string m13s297 " this scope still holds; both threads would mutate the same buffer" +string m13s298 "a spawned task cannot take a " +string m13s299 "E248" +string m13s300 "arg" +string m13s301 "spawn requires a function call" +string m13s302 "call" +string m13s303 ", got " +string m13s304 "' type mismatch: expected " +string m13s305 "field '" +string m13s306 "E219" +string m13s307 " fields, got " +string m13s308 " expects at least " +string m13s309 "E207" +string m13s310 " expects at most " +string m13s311 " is not a struct type" +string m13s312 "E202" +string m13s313 "unknown type: " +string m13s314 "none_lit" +string m13s315 "set elements must be the same type" +string m13s316 "E223" +string m13s317 "map values must be the same type" +string m13s318 "map keys must be the same type" +string m13s319 "entry" +string m13s320 "list elements must be the same type: expected " +string m13s321 "block" +string m13s322 "body" +string m13s323 "lambda parameter requires a type annotation" +string m13s324 "E230" +string m13s325 "param" +string m13s326 ", " +string m13s327 "non-exhaustive match: missing variants: " +string m13s328 "E204" +string m13s329 "non-exhaustive match: missing 'false' case" +string m13s330 "non-exhaustive match: missing 'true' case" +string m13s331 "false" +string m13s332 "true" +string m13s333 "non-exhaustive match: add a wildcard (_) pattern" +string m13s334 "non-exhaustive match on Optional: add 'None' case or wildcard (_)" +string m13s335 "non-exhaustive match on Optional: add 'Some' case or wildcard (_)" +string m13s336 "None" +string m13s337 "Some" +string m13s338 "pat_none" +string m13s339 "pat_wildcard" +string m13s340 "pat_binding" +string m13s341 "pat_tuple" +string m13s342 "pat_string" +string m13s343 "pat_int" +string m13s344 "pat_variant" +string m13s345 "pat_bool" +string m13s346 " elements, expected " +string m13s347 "tuple pattern has " +string m13s348 "E213" +string m13s349 "tuple pattern cannot match " +string m13s350 "E228" +string m13s351 "'" +string m13s352 " has no variant '" +string m13s353 "E212" +string m13s354 " fields, but pattern has " +string m13s355 " has " +string m13s356 " is not an enum" +string m13s357 " does not match expected type " +string m13s358 "variant pattern type " +string m13s359 "or-pattern alternatives cannot bind; use a separate arm" +string m13s360 "pat_or" +string m13s361 "bool pattern cannot match " +string m13s362 "string pattern cannot match " +string m13s363 "float pattern cannot match " +string m13s364 "pat_float" +string m13s365 "range pattern cannot match " +string m13s366 "pat_range" +string m13s367 "integer pattern cannot match " +string m13s368 "match guard must be Bool, got " +string m13s369 "E218" +string m13s370 "guard" +string m13s371 " vs " +string m13s372 "match arms have different types: " +string m13s373 "E225" +string m13s374 "arm" +string m13s375 "if expression branches have different types: " +string m13s376 "condition must be Bool, got " +string m13s377 "E200" +string m13s378 "elif_branch" +string m13s379 "select timeout expects Int milliseconds, got " +string m13s380 "select timeout arm requires a duration and body" +string m13s381 "select send arms must use a channel send expression" +string m13s382 "select send arms must use channel.send(value)" +string m13s383 "send" +string m13s384 "method_call" +string m13s385 "select send arm requires a send expression and body" +string m13s386 "select recv arms must use name := channel.recv()" +string m13s387 "recv" +string m13s388 "select recv arm requires a recv expression and body" +string m13s389 "invalid select arm" +string m13s390 "select_default_arm" +string m13s391 "select_timeout_arm" +string m13s392 "select_send_arm" +string m13s393 "select_recv_arm" +string m13s394 "select arms have different types: " +string m13s395 "select can only have one timeout arm" +string m13s396 "select can only have one default arm" +string m13s397 "select requires at least one arm" +string m13s398 "catch fallback type mismatch: expected " +string m13s399 "catch requires a result type, got " +string m13s400 "E224" +string m13s401 "wrap the producer return in T! so ! can propagate the error" +string m13s402 "try (!) requires a result type, got " +string m13s403 "use ? to unwrap an optional value" +string m13s404 " from function returning " +string m13s405 "try (!) error type mismatch: cannot propagate " +string m13s406 "E239" +string m13s407 "try (!) can only be used in functions that return a result type" +string m13s408 "wrap the producer return in T? so ? has something to unwrap" +string m13s409 "unwrap (?) requires an optional type, got " +string m13s410 "use ! to propagate a result error" +string m13s411 "wrap main or the enclosing fn return in T! and propagate, or replace ? with `match`/`unwrap_or` for an in-place default" +string m13s412 "unwrap (?) can only be used in functions that return a result type" +string m13s413 "E238" +string m13s414 " does not support indexing" +string m13s415 "E217" +string m13s416 "map key type mismatch: expected " +string m13s417 "list index must be integer, got " +string m13s418 "bytes index must be integer, got " +string m13s419 "string index must be integer, got " +string m13s420 "9" +string m13s421 "8" +string m13s422 "7" +string m13s423 "6" +string m13s424 "5" +string m13s425 "4" +string m13s426 "3" +string m13s427 "2" +string m13s428 "1" +string m13s429 "0" +string m13s430 " has no field '" +string m13s431 "E209" +string m13s432 "result has no field '" +string m13s433 "err" +string m13s434 "ok" +string m13s435 "is_err" +string m13s436 "is_ok" +string m13s437 " elements)" +string m13s438 " out of bounds (tuple has " +string m13s439 "tuple index " +string m13s440 "tuple field must be a numeric index" +string m13s441 "' has no function '" +string m13s442 "module '" +string m13s443 "' is not public in module '" +string m13s444 "E251" +string m13s445 "argument type mismatch: expected " +string m13s446 " expects 2 arguments, got " +string m13s447 " expects 1 argument, got " +string m13s448 " takes no arguments, got " +string m13s449 "Task.detach" +string m13s450 "detach" +string m13s451 "Task.is_done" +string m13s452 "is_done" +string m13s453 "Channel.cap" +string m13s454 "cap" +string m13s455 "Channel.len" +string m13s456 "len" +string m13s457 "Channel.is_closed" +string m13s458 "is_closed" +string m13s459 "Channel.close" +string m13s460 "close" +string m13s461 "Channel.try_recv" +string m13s462 "try_recv" +string m13s463 "Channel.try_send" +string m13s464 "try_send" +string m13s465 "Channel.recv" +string m13s466 "Channel.send" +string m13s467 "AtomicInt.compare_set" +string m13s468 "compare_set" +string m13s469 "AtomicInt.store" +string m13s470 "store" +string m13s471 "AtomicInt.load" +string m13s472 "load" +string m13s473 "Semaphore.release" +string m13s474 "release" +string m13s475 "Semaphore.acquire" +string m13s476 "acquire" +string m13s477 "WaitGroup.wait" +string m13s478 "wait" +string m13s479 "WaitGroup.done" +string m13s480 "done" +string m13s481 "WaitGroup.add" +string m13s482 "add" +string m13s483 "Mutex.unlock" +string m13s484 "unlock" +string m13s485 "Mutex.lock" +string m13s486 "lock" +string m13s487 "remove" +string m13s488 "contains" +string m13s489 "clear" +string m13s490 "is_empty" +string m13s491 "use add(value)" +string m13s492 "Set has no method 'insert'" +string m13s493 "insert" +string m13s494 "values" +string m13s495 "keys" +string m13s496 "take" +string m13s497 "get_default expects 2 arguments, got " +string m13s498 "get_default" +string m13s499 "get" +string m13s500 "contains_key" +string m13s501 "insert expects 2 arguments, got " +string m13s502 "last" +string m13s503 "first" +string m13s504 "reduce" +string m13s505 "filter" +string m13s506 "sort" +string m13s507 "slice" +string m13s508 "index_of" +string m13s509 "]; map elements to String first" +string m13s510 "join requires a list of String or Int elements, got List[" +string m13s511 "join" +string m13s512 "insert expects 2 arguments (index, value), got " +string m13s513 "reverse" +string m13s514 "push" +string m13s515 "Bool has no method '" +string m13s516 "to_string" +string m13s517 "Float has no method '" +string m13s518 "to_int" +string m13s519 "Int has no method '" +string m13s520 "to_float" +string m13s521 " on success, got " +string m13s522 "or_else handler must return " +string m13s523 "or_else handler must return a result type" +string m13s524 "or_else handler must accept " +string m13s525 "or_else handler must take exactly 1 argument" +string m13s526 "or_else expects a function, got " +string m13s527 "or_else expects 1 argument, got " +string m13s528 "or_else" +string m13s529 "unwrap_or expects 1 argument, got " +string m13s530 "unwrap_or" +string m13s531 "result.to_string requires stringifiable ok and err values" +string m13s532 "Bytes has no method '" +string m13s533 "to_string_utf8" +string m13s534 "concat" +string m13s535 "String has no method '" +string m13s536 "chars" +string m13s537 "pad_right" +string m13s538 "pad_left" +string m13s539 "repeat" +string m13s540 "replace" +string m13s541 "substring" +string m13s542 "split" +string m13s543 "last_index_of" +string m13s544 "ends_with" +string m13s545 "starts_with" +string m13s546 "to_lower" +string m13s547 "to_upper" +string m13s548 "trim" +string m13s549 " has no method '" +string m13s550 " arguments, got " +string m13s551 " expects " +string m13s552 "E201" +string m13s553 "(...)" +string m13s554 "; call it as receiver." +string m13s555 "' is a method on " +string m13s556 "undefined function: " +string m13s557 "returns" +string m13s558 "cannot infer type parameter " +string m13s559 "E222" +string m13s560 "expected " +string m13s561 "fn_type" +string m13s562 "tuple_type" +string m13s563 "result_type" +string m13s564 "optional_type" +string m13s565 "generic_type" +string m13s566 "type" +string m13s567 "type parameter inference mismatch for " +string m13s568 "' does not implement interface '" +string m13s569 "type '" +string m13s570 "E226" +string m13s571 "' in bound for '" +string m13s572 "unknown interface '" +string m13s573 "generic_param" +string m13s574 "tid:" +string m13s575 "param:" +string m13s576 "reduce callback return mismatch: expected " +string m13s577 "reduce element parameter mismatch: expected " +string m13s578 "reduce accumulator parameter mismatch: expected " +string m13s579 "reduce callback expects 2 parameters, got " +string m13s580 "reduce expects a function as the second argument" +string m13s581 "E208" +string m13s582 "reduce expects 2 arguments, got " +string m13s583 "filter callback must return Bool or Int-like truthy value, got " +string m13s584 "filter callback parameter mismatch: expected " +string m13s585 "filter callback expects 1 parameter, got " +string m13s586 "filter expects a function argument" +string m13s587 "filter expects 1 argument, got " +string m13s588 "map callback parameter mismatch: expected " +string m13s589 "map callback expects 1 parameter, got " +string m13s590 "map expects a function argument" +string m13s591 "map expects 1 argument, got " +string m13s592 "reduce expects a function as the third argument" +string m13s593 "reduce expects a List as the first argument, got " +string m13s594 "reduce expects 3 arguments, got " +string m13s595 "filter expects a function as the second argument" +string m13s596 "filter expects a List as the first argument, got " +string m13s597 "filter expects 2 arguments, got " +string m13s598 "map expects a function as the second argument" +string m13s599 "map expects a List as the first argument, got " +string m13s600 "map expects 2 arguments, got " +string m13s601 "assert_eq arguments must be the same type: " +string m13s602 "assert_eq expects 2 arguments, got " +string m13s603 ": missing field '" +string m13s604 "E242" +string m13s605 "' set more than once" +string m13s606 ": field '" +string m13s607 "E241" +string m13s608 "E240" +string m13s609 ": cannot mix positional and named fields" +string m13s610 "E243" +string m13s611 "expression is not callable" +string m13s612 "Channel constructor takes 0 or 1 arguments, got " +string m13s613 "Channel type argument must be a type name" +string m13s614 "E210" +string m13s615 "assert_ne" +string m13s616 "assert_eq" +string m13s617 "from_json_file_typed" +string m13s618 "from_toml_file_typed" +string m13s619 "decode_text" +string m13s620 "decode" +string m13s621 "decode_prefix" +string m13s622 " type arguments, got " +string m13s623 "E221" +string m13s624 "unknown type: ConfigError" +string m13s625 "ConfigError" +string m13s626 "' of type " +string m13s627 "config typed file decode does not support field '" +string m13s628 "config typed file decode target field must be public: " +string m13s629 "config typed file decode argument type mismatch: expected " +string m13s630 "config typed file decode target must be a struct, got " +string m13s631 "config typed file decode expects 1 argument, got " +string m13s632 "config typed file decode requires an explicit struct type" +string m13s633 " does not support field '" +string m13s634 " target field must be public: " +string m13s635 " argument type mismatch: expected " +string m13s636 " target must be a struct, got " +string m13s637 " requires an explicit struct type" +string m13s638 ".decode" +string m13s639 "unknown type: JsonDecodeError" +string m13s640 "JsonDecodeError" +string m13s641 "json.decode does not support field '" +string m13s642 "json.decode target field must be public: " +string m13s643 "json.decode argument type mismatch: expected " +string m13s644 "json.decode target must be a struct, got " +string m13s645 "json.decode expects 1 argument, got " +string m13s646 "json.decode requires an explicit struct type" +string m13s647 "config.decode does not support field '" +string m13s648 "config.decode target field must be public: " +string m13s649 "config.decode prefix type mismatch: expected String, got " +string m13s650 "config.decode argument type mismatch: expected Config, got " +string m13s651 "unknown type: Config" +string m13s652 "Config" +string m13s653 "config.decode target must be a struct, got " +string m13s654 " argument(s), got " +string m13s655 "config.decode expects " +string m13s656 "config.decode requires an explicit struct type" +string m13s657 "|" +string m13s658 "json.decode type argument must be a concrete struct type" +string m13s659 "config_mod" +string m13s660 "config" +string m13s661 "std.config" +string m13s662 "TomlDecodeError" +string m13s663 "YamlDecodeError" +string m13s664 "yaml" +string m13s665 "yaml_mod" +string m13s666 "toml" +string m13s667 "toml_mod" +string m13s668 "std.yaml" +string m13s669 "json_mod" +string m13s670 "json" +string m13s671 "unary 'not' requires Bool, got " +string m13s672 "not" +string m13s673 "unary - requires numeric type, got " +string m13s674 "negate" +string m13s675 "pipe type mismatch: function expects " +string m13s676 "' must take exactly 1 parameter" +string m13s677 "pipe target '" +string m13s678 "' is not a function" +string m13s679 "pipe operator requires a function name on the right" +string m13s680 "operator 'or' requires Bool, got " +string m13s681 "or" +string m13s682 "operator 'and' requires Bool, got " +string m13s683 "and" +string m13s684 "operator >= type mismatch: " +string m13s685 "operator >= requires numeric or string type, got " +string m13s686 "gte" +string m13s687 "operator <= type mismatch: " +string m13s688 "operator <= requires numeric or string type, got " +string m13s689 "lte" +string m13s690 "operator > type mismatch: " +string m13s691 "operator > requires numeric or string type, got " +string m13s692 "gt" +string m13s693 "operator < type mismatch: " +string m13s694 "operator < requires numeric or string type, got " +string m13s695 "lt" +string m13s696 "operator != type mismatch: " +string m13s697 "neq" +string m13s698 "operator == type mismatch: " +string m13s699 "eq" +string m13s700 "operator % type mismatch: " +string m13s701 "operator % requires integer type, got " +string m13s702 "mod" +string m13s703 "operator / type mismatch: " +string m13s704 "operator / requires numeric type, got " +string m13s705 "div" +string m13s706 "operator * type mismatch: " +string m13s707 "operator * requires numeric type, got " +string m13s708 "mul" +string m13s709 "operator - type mismatch: " +string m13s710 "operator - requires numeric type, got " +string m13s711 "sub" +string m13s712 "operator + type mismatch: " +string m13s713 "operator + requires numeric type, got " +string m13s714 "pipe" +string m13s715 "undefined variable: " +string m13s716 "import it where it is defined" +string m13s717 "' belongs to another module and is not imported here" +string m13s718 "await" +string m13s719 "spawn" +string m13s720 "struct_init" +string m13s721 "lambda" +string m13s722 "match_expr" +string m13s723 "select_expr" +string m13s724 "catch_expr" +string m13s725 "try" +string m13s726 "unwrap" +string m13s727 "if_expr" +string m13s728 "string interpolation requires a stringifiable value, got " +string m13s729 "lit" +string m13s730 "interp_spec" +string m13s731 "string_interp" +string m13s732 "grouped" +string m13s733 "unary" +string m13s734 "binary" +string m13s735 "self" +string m13s736 "bool_lit" +string m13s737 "string_lit" +string m13s738 "float_lit" +string m13s739 "int_lit" +string m13s740 "cannot iterate over " +string m13s741 ".." +string m13s742 "range bounds must be Int, got " +string m13s743 "range" +string m13s744 ".next" +string m13s745 "while let" +string m13s746 "if let" +string m13s747 " supports variant patterns and optional bindings" +string m13s748 "E245" +string m13s749 " with a bare binding needs an optional subject, got " +string m13s750 "else" +string m13s751 "then" +string m13s752 "elif" +string m13s753 "fail type mismatch: expected " +string m13s754 "fail requires function to return a result type" +string m13s755 "E234" +string m13s756 "fail outside of function" +string m13s757 "E231" +string m13s758 "change the return type to " +string m13s759 "return type mismatch: expected " +string m13s760 ", got Void" +string m13s761 "return outside of function" +string m13s762 "lambda returns disagree: " +string m13s763 "type mismatch: expected " +string m13s764 " requires numeric type, got " +string m13s765 "operator " +string m13s766 "=" +string m13s767 "declare with 'mut': mut " +string m13s768 "cannot assign to immutable variable '" +string m13s769 "E216" +string m13s770 "try_expr" +string m13s771 "bind" +string m13s772 "binding" +string m13s773 "errdefer" +string m13s774 "defer" +string m13s775 "continue" +string m13s776 "break" +string m13s777 "fail" +string m13s778 "return" +string m13s779 "move the control flow out of the defer, or wrap the cleanup in a helper function" +string m13s780 "a deferred statement must be a plain side-effect (no return/fail/break/continue, no `!`/`?`, no defer or binding)" +string m13s781 "E260" +string m13s782 "use `defer` for cleanup that must always run, or give the function a `T!` return type" +string m13s783 "errdefer is only meaningful in a function returning a result (`T!`)" +string m13s784 "errdefer is only allowed inside a function" +string m13s785 "defer is only allowed inside a function" +string m13s786 "continue outside of loop" +string m13s787 "E215" +string m13s788 "break outside of loop" +string m13s789 "for_stmt" +string m13s790 "while_let" +string m13s791 "if_let" +string m13s792 "while_stmt" +string m13s793 "if_stmt" +string m13s794 "assignment" +string m13s795 "mut" +string m13s796 "fn_decl" +string m13s797 "pub" +string m13s798 " is missing associated type: " +string m13s799 " for " +string m13s800 "impl of " +string m13s801 "E229" +string m13s802 " is missing method: " +string m13s803 "E235" +string m13s804 "fn_sig" +string m13s805 "assoc_type_bind" +string m13s806 "for_type" +string m13s807 "test_decl" +string m13s808 "impl_decl" +string m13s809 "threadlocal" +string m13s810 "import" +string m13s811 "from_import" +string m13s812 "assoc_type" +string m13s813 "' is a builtin type name and cannot be used as an enum name" +string m13s814 "E250" +string m13s815 "' must be " +string m13s816 "default for field '" +string m13s817 " weak" +string m13s818 "' is a builtin type name and cannot be used as a struct name" +string m13s819 "' must be an optional struct type (T?)" +string m13s820 "weak field '" +string m13s821 "E249" +string m13s822 "parameter requires a type annotation" +string m13s823 "type_alias" +string m13s824 "interface_decl" +string m13s825 "unknown generic type: " +string m13s826 "Channel expects 1 type argument, got " +string m13s827 "Task expects 1 type argument, got " +string m13s828 "Map expects 2 type arguments, got " +string m13s829 "Set expects 1 type argument, got " +string m13s830 "List expects 1 type argument, got " +string m13s831 "type nesting too deep" +string m13s832 "E233" +string m13s833 "import it from the module that defines it" +string m13s834 "' is not declared by module '" +string m13s835 "E246" +string m13s836 "*" +string m13s837 "parse_int failed" +string m13s838 "file_open_read failed" +string m13s839 "file_open_write failed" +string m13s840 "file_open_append failed" +string m13s841 "byte_buffer_write failed" +string m13s842 "byte_buffer_write_string_utf8 failed" +string m13s843 "byte_buffer_write_byte failed" +string m13s844 "file_write failed" +string m13s845 "file_write_bytes failed" +string m13s846 "tcp_connect failed" +string m13s847 "tcp_listen failed" +string m13s848 "tcp_accept failed" +string m13s849 "tcp_write failed" +string m13s850 "tcp_write_bytes failed" +string m13s851 "process_spawn failed" +string m13s852 "process_spawn_argv failed" +string m13s853 "process_output_argv failed" +string m13s854 "process_write failed" +string m13s855 "process_write_bytes failed" +string m13s856 "crypto_x25519_keygen failed" +string m13s857 "write_file failed" +string m13s858 "append_file failed" +string m13s859 "write_file_bytes failed" +string m13s860 "append_file_bytes failed" +string m13s861 "read_file failed" +string m13s862 "exec_output failed" +string m13s863 "dns_resolve failed" +string m13s864 "bytes_to_string_utf8 failed" +string m13s865 "bytes_substring_utf8 failed" +string m13s866 "file_read failed" +string m13s867 "tcp_read failed" +string m13s868 "process_read failed" +string m13s869 "process_read_err failed" +string m13s870 "read_file_bytes failed" +string m13s871 "b64_decode failed" +string m13s872 "from_hex failed" +string m13s873 "file_read_bytes failed" +string m13s874 "tcp_read_bytes failed" +string m13s875 "process_read_bytes failed" +string m13s876 "process_read_err_bytes failed" +string m13s877 "crypto_x25519_public_key failed" +string m13s878 "crypto_x25519_shared_secret failed" +string m13s879 "crypto_aes_128_gcm_seal failed" +string m13s880 "crypto_aes_128_gcm_open failed" +string m13s881 "crypto_chacha20_poly1305_seal failed" +string m13s882 "crypto_chacha20_poly1305_open failed" +string m13s883 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m13s884 "crypto_blake2b failed" +string m13s885 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -29055,7 +29145,7 @@ call 37 pith_cstring_retain void 1 36 call 38 pith_cstring_release void 1 34 store value 36 load 39 kind -strref 40 m13s795 +strref 40 m13s797 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 brif 41 L9 L10 @@ -29094,7 +29184,7 @@ jmp L8 label L10 label L8 load 65 kind -strref 66 m13s808 +strref 66 m13s810 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 brif 67 L15 L16 @@ -29209,7 +29299,7 @@ label L32 jmp L14 label L16 load 138 kind -strref 139 m13s809 +strref 139 m13s811 call 140 pith_cstring_eq bool 2 138 139 call 141 pith_cstring_release void 1 139 brif 140 L35 L36 @@ -29305,7 +29395,7 @@ label L55 load 193 parts iconst 194 1 call 195 pith_list_get_value_strict string 2 193 194 -strref 196 m13s834 +strref 196 m13s836 call 197 pith_cstring_eq bool 2 195 196 call 198 pith_cstring_release void 1 196 brif 197 L58 L59 @@ -29401,23 +29491,23 @@ eq 256 254 255 brif 256 L79 L80 label L79 load 257 __loopvar_65_child -strref 258 m13s833 -strref 259 m13s349 +strref 258 m13s835 +strref 259 m13s351 load 260 imported_name concat 261 259 260 call 262 pith_cstring_release void 1 259 -strref 263 m13s832 +strref 263 m13s834 concat 264 261 263 call 265 pith_cstring_release void 1 261 call 266 pith_cstring_release void 1 263 load 267 mod_path concat 268 264 267 call 269 pith_cstring_release void 1 264 -strref 270 m13s349 +strref 270 m13s351 concat 271 268 270 call 272 pith_cstring_release void 1 268 call 273 pith_cstring_release void 1 270 -strref 274 m13s831 +strref 274 m13s833 call 275 checker_diagnostics_report_error_with_fix_at void 4 257 258 271 274 call 276 pith_cstring_release void 1 258 call 277 pith_cstring_release void 1 271 @@ -29611,8 +29701,8 @@ load 23 checker_type_resolve_depth iconst 24 1 sub 25 23 24 store checker_type_resolve_depth 25 -strref 26 m13s830 -strref 27 m13s829 +strref 26 m13s832 +strref 27 m13s831 call 28 checker_diagnostics_report_error void 2 26 27 call 29 pith_cstring_release void 1 26 call 30 pith_cstring_release void 1 27 @@ -29637,7 +29727,7 @@ load 44 types_TID_ERR store result 44 load 45 node field 46 45 0 string kind -strref 47 m13s564 +strref 47 m13s566 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 brif 48 L95 L96 @@ -29650,7 +29740,7 @@ jmp L94 label L96 load 53 node field 54 53 0 string kind -strref 55 m13s563 +strref 55 m13s565 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 brif 56 L97 L98 @@ -29662,7 +29752,7 @@ jmp L94 label L98 load 60 node field 61 60 0 string kind -strref 62 m13s562 +strref 62 m13s564 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 brif 63 L99 L100 @@ -29691,7 +29781,7 @@ jmp L94 label L100 load 77 node field 78 77 0 string kind -strref 79 m13s561 +strref 79 m13s563 call 80 pith_cstring_eq bool 2 78 79 call 81 pith_cstring_release void 1 79 brif 80 L104 L105 @@ -29730,7 +29820,7 @@ jmp L94 label L105 load 103 node field 104 103 0 string kind -strref 105 m13s560 +strref 105 m13s562 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 brif 106 L109 L110 @@ -29776,7 +29866,7 @@ jmp L94 label L110 load 132 node field 133 132 0 string kind -strref 134 m13s559 +strref 134 m13s561 call 135 pith_cstring_eq bool 2 133 134 call 136 pith_cstring_release void 1 134 brif 135 L115 L116 @@ -29811,7 +29901,7 @@ call 154 pith_struct_release void 1 151 store cn 153 load 155 cn field 156 155 0 string kind -strref 157 m13s323 +strref 157 m13s325 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 brif 158 L122 L123 @@ -29827,7 +29917,7 @@ jmp L121 label L123 load 167 cn field 168 167 0 string kind -strref 169 m13s555 +strref 169 m13s557 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 brif 170 L124 L125 @@ -30267,8 +30357,8 @@ call 65 pith_cstring_release void 1 64 ret 61 label L170 label L168 -strref 66 m13s310 -strref 67 m13s311 +strref 66 m13s312 +strref 67 m13s313 load 68 name concat 69 67 68 call 70 pith_cstring_release void 1 67 @@ -30370,8 +30460,8 @@ iconst 8 1 neq 9 7 8 brif 9 L179 L180 label L179 -strref 10 m13s621 -strref 11 m13s828 +strref 10 m13s623 +strref 11 m13s830 load 12 type_args call 13 pith_list_len int 1 12 call 14 int_to_string string 1 13 @@ -30404,8 +30494,8 @@ iconst 32 1 neq 33 31 32 brif 33 L185 L186 label L185 -strref 34 m13s621 -strref 35 m13s827 +strref 34 m13s623 +strref 35 m13s829 load 36 type_args call 37 pith_list_len int 1 36 call 38 int_to_string string 1 37 @@ -30438,8 +30528,8 @@ iconst 56 2 neq 57 55 56 brif 57 L191 L192 label L191 -strref 58 m13s621 -strref 59 m13s826 +strref 58 m13s623 +strref 59 m13s828 load 60 type_args call 61 pith_list_len int 1 60 call 62 int_to_string string 1 61 @@ -30475,8 +30565,8 @@ iconst 83 1 neq 84 82 83 brif 84 L197 L198 label L197 -strref 85 m13s621 -strref 86 m13s825 +strref 85 m13s623 +strref 86 m13s827 load 87 type_args call 88 pith_list_len int 1 87 call 89 int_to_string string 1 88 @@ -30509,8 +30599,8 @@ iconst 107 1 neq 108 106 107 brif 108 L203 L204 label L203 -strref 109 m13s621 -strref 110 m13s824 +strref 109 m13s623 +strref 110 m13s826 load 111 type_args call 112 pith_list_len int 1 111 call 113 int_to_string string 1 112 @@ -30544,8 +30634,8 @@ call 131 checker_instantiate_generic_type int 2 129 130 ret 131 label L207 label L205 -strref 132 m13s310 -strref 133 m13s823 +strref 132 m13s312 +strref 133 m13s825 load 134 base concat 135 133 134 call 136 pith_cstring_release void 1 133 @@ -30754,7 +30844,7 @@ call 28 pith_struct_release void 1 25 store node 27 load 29 node field 30 29 0 string kind -strref 31 m13s564 +strref 31 m13s566 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 brif 32 L224 L225 @@ -30959,7 +31049,7 @@ label L225 label L223 load 166 node field 167 166 0 string kind -strref 168 m13s563 +strref 168 m13s565 call 169 pith_cstring_eq bool 2 167 168 call 170 pith_cstring_release void 1 168 brif 169 L256 L257 @@ -31019,7 +31109,7 @@ label L257 label L255 load 209 node field 210 209 0 string kind -strref 211 m13s562 +strref 211 m13s564 call 212 pith_cstring_eq bool 2 210 211 call 213 pith_cstring_release void 1 211 brif 212 L263 L264 @@ -31073,7 +31163,7 @@ label L264 label L262 load 252 node field 253 252 0 string kind -strref 254 m13s561 +strref 254 m13s563 call 255 pith_cstring_eq bool 2 253 254 call 256 pith_cstring_release void 1 254 brif 255 L269 L270 @@ -31128,7 +31218,7 @@ label L270 label L268 load 294 node field 295 294 0 string kind -strref 296 m13s560 +strref 296 m13s562 call 297 pith_cstring_eq bool 2 295 296 call 298 pith_cstring_release void 1 296 brif 297 L275 L276 @@ -31188,7 +31278,7 @@ label L276 label L274 load 337 node field 338 337 0 string kind -strref 339 m13s559 +strref 339 m13s561 call 340 pith_cstring_eq bool 2 338 339 call 341 pith_cstring_release void 1 339 brif 340 L282 L283 @@ -31223,7 +31313,7 @@ call 359 pith_struct_release void 1 356 store cn 358 load 360 cn field 361 360 0 string kind -strref 362 m13s323 +strref 362 m13s325 call 363 pith_cstring_eq bool 2 361 362 call 364 pith_cstring_release void 1 362 brif 363 L289 L290 @@ -31241,7 +31331,7 @@ jmp L288 label L290 load 374 cn field 375 374 0 string kind -strref 376 m13s555 +strref 376 m13s557 call 377 pith_cstring_eq bool 2 375 376 call 378 pith_cstring_release void 1 376 brif 377 L291 L292 @@ -31390,7 +31480,7 @@ call 5 pith_struct_release void 1 2 store node 4 load 6 node field 7 6 0 string kind -strref 8 m13s795 +strref 8 m13s797 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 brif 9 L302 L303 @@ -31405,7 +31495,7 @@ jmp L301 label L303 load 17 node field 18 17 0 string kind -strref 19 m13s809 +strref 19 m13s811 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 brif 20 L304 L305 @@ -31417,7 +31507,7 @@ ret 24 label L305 load 25 node field 26 25 0 string kind -strref 27 m13s808 +strref 27 m13s810 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 brif 28 L306 L307 @@ -31448,7 +31538,7 @@ call 6 pith_struct_release void 1 3 store node 5 load 7 node field 8 7 0 string kind -strref 9 m13s807 +strref 9 m13s809 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 brif 10 L309 L310 @@ -31467,7 +31557,7 @@ label L310 label L308 load 21 node field 22 21 0 string kind -strref 23 m13s794 +strref 23 m13s796 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 brif 24 L312 L313 @@ -31480,7 +31570,7 @@ jmp L311 label L313 load 30 node field 31 30 0 string kind -strref 32 m13s287 +strref 32 m13s289 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 brif 33 L314 L315 @@ -31492,7 +31582,7 @@ jmp L311 label L315 load 38 node field 39 38 0 string kind -strref 40 m13s286 +strref 40 m13s288 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 brif 41 L316 L317 @@ -31504,7 +31594,7 @@ jmp L311 label L317 load 46 node field 47 46 0 string kind -strref 48 m13s822 +strref 48 m13s824 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 brif 49 L318 L319 @@ -31516,7 +31606,7 @@ jmp L311 label L319 load 54 node field 55 54 0 string kind -strref 56 m13s806 +strref 56 m13s808 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 brif 57 L320 L321 @@ -31528,7 +31618,7 @@ jmp L311 label L321 load 62 node field 63 62 0 string kind -strref 64 m13s821 +strref 64 m13s823 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 brif 65 L322 L323 @@ -31539,7 +31629,7 @@ jmp L311 label L323 load 69 node field 70 69 0 string kind -strref 71 m13s770 +strref 71 m13s772 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 brif 72 L324 L325 @@ -31551,7 +31641,7 @@ ret 76 label L325 load 77 node field 78 77 0 string kind -strref 79 m13s805 +strref 79 m13s807 call 80 pith_cstring_eq bool 2 78 79 call 81 pith_cstring_release void 1 79 brif 80 L326 L327 @@ -31728,7 +31818,7 @@ call 20 pith_struct_release void 1 17 store cn 19 load 21 cn field 22 21 0 string kind -strref 23 m13s323 +strref 23 m13s325 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 brif 24 L351 L352 @@ -31751,8 +31841,8 @@ load 37 ptid call 38 pith_list_push_value void 2 36 37 jmp L353 label L355 -strref 39 m13s322 -strref 40 m13s820 +strref 39 m13s324 +strref 40 m13s822 call 41 checker_diagnostics_report_error void 2 39 40 call 42 pith_cstring_release void 1 39 call 43 pith_cstring_release void 1 40 @@ -31764,7 +31854,7 @@ jmp L350 label L352 load 47 cn field 48 47 0 string kind -strref 49 m13s555 +strref 49 m13s557 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 brif 50 L356 L357 @@ -31862,12 +31952,12 @@ iconst 34 0 ret 34 label L363 label L361 -strref 35 m13s819 -strref 36 m13s818 +strref 35 m13s821 +strref 36 m13s820 load 37 fname concat 38 36 37 call 39 pith_cstring_release void 1 36 -strref 40 m13s817 +strref 40 m13s819 concat 41 38 40 call 42 pith_cstring_release void 1 38 call 43 pith_cstring_release void 1 40 @@ -31915,16 +32005,16 @@ call 30 pith_cstring_release void 1 28 strref 31 m13s25 call 32 pith_list_push_value void 2 3 31 call 33 pith_cstring_release void 1 31 -strref 34 m13s279 +strref 34 m13s281 call 35 pith_list_push_value void 2 3 34 call 36 pith_cstring_release void 1 34 -strref 37 m13s278 +strref 37 m13s280 call 38 pith_list_push_value void 2 3 37 call 39 pith_cstring_release void 1 37 -strref 40 m13s277 +strref 40 m13s279 call 41 pith_list_push_value void 2 3 40 call 42 pith_cstring_release void 1 40 -strref 43 m13s276 +strref 43 m13s278 call 44 pith_list_push_value void 2 3 43 call 45 pith_cstring_release void 1 43 call 46 pith_list_release_handle void 1 2 @@ -32021,12 +32111,12 @@ call 19 checker_is_reserved_type_name bool 1 18 brif 19 L376 L377 label L376 load 20 node_idx -strref 21 m13s812 -strref 22 m13s349 +strref 21 m13s814 +strref 22 m13s351 load 23 name concat 24 22 23 call 25 pith_cstring_release void 1 22 -strref 26 m13s816 +strref 26 m13s818 concat 27 24 26 call 28 pith_cstring_release void 1 24 call 29 pith_cstring_release void 1 26 @@ -32171,7 +32261,7 @@ call 143 pith_struct_release void 1 140 store cn 142 load 144 cn field 145 144 0 string kind -strref 146 m13s285 +strref 146 m13s287 call 147 pith_cstring_eq bool 2 145 146 call 148 pith_cstring_release void 1 146 brif 147 L386 L387 @@ -32184,13 +32274,13 @@ call 153 pith_cstring_release void 1 149 store fname 152 load 154 cn field 155 154 8 string value -strref 156 m13s284 +strref 156 m13s286 call 157 pith_cstring_contains bool 2 155 156 call 158 pith_cstring_release void 1 156 store is_pub 157 load 159 cn field 160 159 8 string value -strref 161 m13s283 +strref 161 m13s285 call 162 pith_cstring_contains bool 2 160 161 call 163 pith_cstring_release void 1 161 store is_mut 162 @@ -32215,7 +32305,7 @@ load 178 ftid call 179 pith_list_push_value void 2 177 178 load 180 cn field 181 180 8 string value -strref 182 m13s815 +strref 182 m13s817 call 183 pith_cstring_contains bool 2 181 182 call 184 pith_cstring_release void 1 182 brif 183 L392 L393 @@ -32289,12 +32379,12 @@ iconst 232 0 eq 233 231 232 brif 233 L405 L406 label L405 -strref 234 m13s304 -strref 235 m13s814 +strref 234 m13s306 +strref 235 m13s816 load 236 fname concat 237 235 236 call 238 pith_cstring_release void 1 235 -strref 239 m13s813 +strref 239 m13s815 concat 240 237 239 call 241 pith_cstring_release void 1 237 call 242 pith_cstring_release void 1 239 @@ -32303,7 +32393,7 @@ call 244 types_get_type_name string 1 243 concat 245 240 244 call 246 pith_cstring_release void 1 240 call 247 pith_cstring_release void 1 244 -strref 248 m13s301 +strref 248 m13s303 concat 249 245 248 call 250 pith_cstring_release void 1 245 call 251 pith_cstring_release void 1 248 @@ -32434,12 +32524,12 @@ call 14 checker_is_reserved_type_name bool 1 13 brif 14 L408 L409 label L408 load 15 node_idx -strref 16 m13s812 -strref 17 m13s349 +strref 16 m13s814 +strref 17 m13s351 load 18 name concat 19 17 18 call 20 pith_cstring_release void 1 17 -strref 21 m13s811 +strref 21 m13s813 concat 22 19 21 call 23 pith_cstring_release void 1 19 call 24 pith_cstring_release void 1 21 @@ -32527,7 +32617,7 @@ call 87 pith_struct_release void 1 84 store cn 86 load 88 cn field 89 88 0 string kind -strref 90 m13s282 +strref 90 m13s284 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 brif 91 L418 L419 @@ -32674,7 +32764,7 @@ call 38 pith_struct_release void 1 35 store cn 37 load 39 cn field 40 39 0 string kind -strref 41 m13s571 +strref 41 m13s573 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 brif 42 L429 L430 @@ -32687,7 +32777,7 @@ jmp L428 label L430 load 48 cn field 49 48 0 string kind -strref 50 m13s810 +strref 50 m13s812 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 brif 51 L431 L432 @@ -32860,7 +32950,7 @@ call 38 pith_struct_release void 1 32 store second_node 37 load 39 second_node field 40 39 0 string kind -strref 41 m13s804 +strref 41 m13s806 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 brif 42 L446 L447 @@ -33038,7 +33128,7 @@ call 166 pith_struct_release void 1 163 store cn 165 load 167 cn field 168 167 0 string kind -strref 169 m13s803 +strref 169 m13s805 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 brif 170 L463 L464 @@ -33153,7 +33243,7 @@ iconst 249 0 store method_is_pub 249 load 250 cn field 251 250 0 string kind -strref 252 m13s795 +strref 252 m13s797 call 253 pith_cstring_eq bool 2 251 252 call 254 pith_cstring_release void 1 252 brif 253 L476 L477 @@ -33175,7 +33265,7 @@ label L477 label L475 load 264 cn field 265 264 0 string kind -strref 266 m13s794 +strref 266 m13s796 call 267 pith_cstring_eq bool 2 265 266 call 268 pith_cstring_release void 1 266 brif 267 L479 L480 @@ -33305,7 +33395,7 @@ call 5 pith_struct_release void 1 2 store node 4 load 6 node field 7 6 0 string kind -strref 8 m13s795 +strref 8 m13s797 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 brif 9 L486 L487 @@ -33323,7 +33413,7 @@ label L487 label L485 load 19 node field 20 19 0 string kind -strref 21 m13s806 +strref 21 m13s808 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 brif 22 L489 L490 @@ -33393,7 +33483,7 @@ call 37 pith_struct_release void 1 31 store second_node 36 load 38 second_node field 39 38 0 string kind -strref 40 m13s804 +strref 40 m13s806 call 42 pith_cstring_eq bool 2 39 40 iconst 43 1 sub 41 43 42 @@ -33542,7 +33632,7 @@ call 152 pith_struct_release void 1 149 store mn 151 load 153 mn field 154 153 0 string kind -strref 155 m13s794 +strref 155 m13s796 call 156 pith_cstring_eq bool 2 154 155 call 157 pith_cstring_release void 1 155 brif 156 L510 L511 @@ -33822,7 +33912,7 @@ call 15 pith_struct_release void 1 12 store cn 14 load 16 cn field 17 16 0 string kind -strref 18 m13s571 +strref 18 m13s573 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L536 L537 @@ -33883,7 +33973,7 @@ call 19 pith_struct_release void 1 16 store cn 18 load 20 cn field 21 20 0 string kind -strref 22 m13s571 +strref 22 m13s573 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 brif 23 L543 L544 @@ -34280,7 +34370,7 @@ call 19 pith_struct_release void 1 16 store cn 18 load 20 cn field 21 20 0 string kind -strref 22 m13s323 +strref 22 m13s325 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 brif 23 L598 L599 @@ -34354,7 +34444,7 @@ call 15 pith_struct_release void 1 12 store cn 14 load 16 cn field 17 16 0 string kind -strref 18 m13s555 +strref 18 m13s557 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L608 L609 @@ -34483,7 +34573,7 @@ iconst 5 0 store child_name 5 load 6 node field 7 6 0 string kind -strref 8 m13s564 +strref 8 m13s566 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 brif 9 L626 L627 @@ -34588,7 +34678,7 @@ label L627 label L625 load 86 node field 87 86 0 string kind -strref 88 m13s563 +strref 88 m13s565 call 89 pith_cstring_eq bool 2 87 88 call 90 pith_cstring_release void 1 88 brif 89 L636 L637 @@ -34712,7 +34802,7 @@ iconst 8 0 store child_name 8 load 9 node field 10 9 0 string kind -strref 11 m13s564 +strref 11 m13s566 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 brif 12 L646 L647 @@ -34871,7 +34961,7 @@ label L647 label L645 load 132 node field 133 132 0 string kind -strref 134 m13s563 +strref 134 m13s565 call 135 pith_cstring_eq bool 2 133 134 call 136 pith_cstring_release void 1 134 brif 135 L662 L663 @@ -35033,7 +35123,7 @@ endfunc func checker_binding_is_mutable 1 bool param value load 1 value -strref 2 m13s283 +strref 2 m13s285 call 3 pith_cstring_contains bool 2 1 2 call 4 pith_cstring_release void 1 2 ret 3 @@ -35091,7 +35181,7 @@ call 5 pith_struct_release void 1 2 store node 4 load 6 node field 7 6 0 string kind -strref 8 m13s795 +strref 8 m13s797 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 brif 9 L682 L683 @@ -35105,7 +35195,7 @@ jmp L681 label L683 load 16 node field 17 16 0 string kind -strref 18 m13s809 +strref 18 m13s811 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L684 L685 @@ -35117,7 +35207,7 @@ ret 23 label L685 load 24 node field 25 24 0 string kind -strref 26 m13s808 +strref 26 m13s810 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 brif 27 L686 L687 @@ -35146,7 +35236,7 @@ call 5 pith_struct_release void 1 2 store node 4 load 6 node field 7 6 0 string kind -strref 8 m13s807 +strref 8 m13s809 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 brif 9 L689 L690 @@ -35164,7 +35254,7 @@ label L690 label L688 load 19 node field 20 19 0 string kind -strref 21 m13s794 +strref 21 m13s796 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 brif 22 L692 L693 @@ -35175,7 +35265,7 @@ jmp L691 label L693 load 26 node field 27 26 0 string kind -strref 28 m13s770 +strref 28 m13s772 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 brif 29 L694 L695 @@ -35187,7 +35277,7 @@ jmp L691 label L695 load 34 node field 35 34 0 string kind -strref 36 m13s806 +strref 36 m13s808 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 brif 37 L696 L697 @@ -35198,7 +35288,7 @@ jmp L691 label L697 load 41 node field 42 41 0 string kind -strref 43 m13s805 +strref 43 m13s807 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 brif 44 L698 L699 @@ -35323,7 +35413,7 @@ call 74 pith_struct_release void 1 71 store cn 73 load 75 cn field 76 75 0 string kind -strref 77 m13s323 +strref 77 m13s325 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 brif 78 L714 L715 @@ -35349,7 +35439,7 @@ load 94 param_idx call 95 pith_list_get_value_strict int 2 93 94 load 96 cn field 97 96 8 string value -strref 98 m13s793 +strref 98 m13s795 call 99 pith_cstring_contains bool 2 97 98 call 100 pith_cstring_release void 1 98 call 101 scope_define_binding void 4 90 91 95 99 @@ -35364,7 +35454,7 @@ jmp L713 label L715 load 105 cn field 106 105 0 string kind -strref 107 m13s320 +strref 107 m13s322 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 brif 108 L719 L720 @@ -35422,7 +35512,7 @@ call 19 pith_struct_release void 1 13 store block 18 load 20 block field 21 20 0 string kind -strref 22 m13s319 +strref 22 m13s321 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 brif 23 L725 L726 @@ -35525,7 +35615,7 @@ call 31 pith_struct_release void 1 25 store second_node 30 load 32 second_node field 33 32 0 string kind -strref 34 m13s804 +strref 34 m13s806 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 brif 35 L735 L736 @@ -35641,7 +35731,7 @@ call 114 pith_struct_release void 1 111 store cn 113 load 115 cn field 116 115 0 string kind -strref 117 m13s803 +strref 117 m13s805 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 brif 118 L748 L749 @@ -35714,7 +35804,7 @@ call 158 pith_struct_release void 1 155 store cn 157 load 159 cn field 160 159 0 string kind -strref 161 m13s795 +strref 161 m13s797 call 162 pith_cstring_eq bool 2 160 161 call 163 pith_cstring_release void 1 161 brif 162 L761 L762 @@ -35732,7 +35822,7 @@ label L762 label L760 load 171 cn field 172 171 0 string kind -strref 173 m13s794 +strref 173 m13s796 call 174 pith_cstring_eq bool 2 172 173 call 175 pith_cstring_release void 1 173 brif 174 L764 L765 @@ -35797,7 +35887,7 @@ call 212 pith_struct_release void 1 209 store mn 211 load 213 mn field 214 213 0 string kind -strref 215 m13s794 +strref 215 m13s796 call 216 pith_cstring_eq bool 2 214 215 call 217 pith_cstring_release void 1 215 brif 216 L777 L778 @@ -35822,7 +35912,7 @@ jmp L776 label L778 load 229 mn field 230 229 0 string kind -strref 231 m13s802 +strref 231 m13s804 call 232 pith_cstring_eq bool 2 230 231 call 233 pith_cstring_release void 1 231 brif 232 L782 L783 @@ -35836,19 +35926,19 @@ iconst 239 0 eq 240 238 239 brif 240 L785 L786 label L785 -strref 241 m13s801 -strref 242 m13s798 +strref 241 m13s803 +strref 242 m13s800 load 243 iface_base concat 244 242 243 call 245 pith_cstring_release void 1 242 -strref 246 m13s797 +strref 246 m13s799 concat 247 244 246 call 248 pith_cstring_release void 1 244 call 249 pith_cstring_release void 1 246 load 250 concrete_name concat 251 247 250 call 252 pith_cstring_release void 1 247 -strref 253 m13s800 +strref 253 m13s802 concat 254 251 253 call 255 pith_cstring_release void 1 251 call 256 pith_cstring_release void 1 253 @@ -35950,19 +36040,19 @@ iconst 32 0 eq 33 31 32 brif 33 L795 L796 label L795 -strref 34 m13s799 -strref 35 m13s798 +strref 34 m13s801 +strref 35 m13s800 load 36 iface_base concat 37 35 36 call 38 pith_cstring_release void 1 35 -strref 39 m13s797 +strref 39 m13s799 concat 40 37 39 call 41 pith_cstring_release void 1 37 call 42 pith_cstring_release void 1 39 load 43 concrete_name concat 44 40 43 call 45 pith_cstring_release void 1 40 -strref 46 m13s796 +strref 46 m13s798 concat 47 44 46 call 48 pith_cstring_release void 1 44 call 49 pith_cstring_release void 1 46 @@ -36033,7 +36123,7 @@ call 24 pith_struct_release void 1 21 store cn 23 load 25 cn field 26 25 0 string kind -strref 27 m13s795 +strref 27 m13s797 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 brif 28 L805 L806 @@ -36051,7 +36141,7 @@ label L806 label L804 load 37 cn field 38 37 0 string kind -strref 39 m13s794 +strref 39 m13s796 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 brif 40 L808 L809 @@ -36110,7 +36200,7 @@ load 13 ret_type call 14 scope_create_function_scope int 2 12 13 store method_scope 14 load 15 method_scope -strref 16 m13s733 +strref 16 m13s735 load 17 type_tid iconst 18 0 call 19 scope_define_binding void 4 15 16 17 18 @@ -36141,7 +36231,7 @@ call 35 pith_struct_release void 1 32 store cn 34 load 36 cn field 37 36 0 string kind -strref 38 m13s323 +strref 38 m13s325 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 brif 39 L818 L819 @@ -36165,7 +36255,7 @@ load 53 param_idx call 54 pith_list_get_value_strict int 2 52 53 load 55 cn field 56 55 8 string value -strref 57 m13s793 +strref 57 m13s795 call 58 pith_cstring_contains bool 2 56 57 call 59 pith_cstring_release void 1 57 call 60 scope_define_binding void 4 50 51 54 58 @@ -36180,7 +36270,7 @@ jmp L817 label L819 load 64 cn field 65 64 0 string kind -strref 66 m13s320 +strref 66 m13s322 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 brif 67 L823 L824 @@ -36241,7 +36331,7 @@ call 19 pith_struct_release void 1 16 store cn 18 load 20 cn field 21 20 0 string kind -strref 22 m13s320 +strref 22 m13s322 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 brif 23 L830 L831 @@ -36280,7 +36370,7 @@ call 8 pith_struct_release void 1 5 store node 7 load 9 node field 10 9 0 string kind -strref 11 m13s770 +strref 11 m13s772 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 brif 12 L833 L834 @@ -36292,7 +36382,7 @@ jmp L832 label L834 load 17 node field 18 17 0 string kind -strref 19 m13s792 +strref 19 m13s794 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 brif 20 L835 L836 @@ -36304,7 +36394,7 @@ jmp L832 label L836 load 25 node field 26 25 0 string kind -strref 27 m13s776 +strref 27 m13s778 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 brif 28 L837 L838 @@ -36316,7 +36406,7 @@ jmp L832 label L838 load 33 node field 34 33 0 string kind -strref 35 m13s775 +strref 35 m13s777 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 brif 36 L839 L840 @@ -36328,7 +36418,7 @@ jmp L832 label L840 load 41 node field 42 41 0 string kind -strref 43 m13s791 +strref 43 m13s793 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 brif 44 L841 L842 @@ -36340,7 +36430,7 @@ jmp L832 label L842 load 49 node field 50 49 0 string kind -strref 51 m13s790 +strref 51 m13s792 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 brif 52 L843 L844 @@ -36352,7 +36442,7 @@ jmp L832 label L844 load 57 node field 58 57 0 string kind -strref 59 m13s789 +strref 59 m13s791 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 brif 60 L845 L846 @@ -36364,7 +36454,7 @@ jmp L832 label L846 load 65 node field 66 65 0 string kind -strref 67 m13s788 +strref 67 m13s790 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 brif 68 L847 L848 @@ -36376,7 +36466,7 @@ jmp L832 label L848 load 73 node field 74 73 0 string kind -strref 75 m13s787 +strref 75 m13s789 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 brif 76 L849 L850 @@ -36388,7 +36478,7 @@ jmp L832 label L850 load 81 node field 82 81 0 string kind -strref 83 m13s774 +strref 83 m13s776 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 brif 84 L851 L852 @@ -36399,8 +36489,8 @@ iconst 88 0 eq 89 87 88 brif 89 L854 L855 label L854 -strref 90 m13s785 -strref 91 m13s786 +strref 90 m13s787 +strref 91 m13s788 call 92 checker_diagnostics_report_error void 2 90 91 call 93 pith_cstring_release void 1 90 call 94 pith_cstring_release void 1 91 @@ -36411,7 +36501,7 @@ jmp L832 label L852 load 95 node field 96 95 0 string kind -strref 97 m13s773 +strref 97 m13s775 call 98 pith_cstring_eq bool 2 96 97 call 99 pith_cstring_release void 1 97 brif 98 L856 L857 @@ -36422,8 +36512,8 @@ iconst 102 0 eq 103 101 102 brif 103 L859 L860 label L859 -strref 104 m13s785 -strref 105 m13s784 +strref 104 m13s787 +strref 105 m13s786 call 106 checker_diagnostics_report_error void 2 104 105 call 107 pith_cstring_release void 1 104 call 108 pith_cstring_release void 1 105 @@ -36434,7 +36524,7 @@ jmp L832 label L857 load 109 node field 110 109 0 string kind -strref 111 m13s720 +strref 111 m13s722 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 brif 112 L861 L862 @@ -36446,7 +36536,7 @@ jmp L832 label L862 load 117 node field 118 117 0 string kind -strref 119 m13s772 +strref 119 m13s774 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 brif 120 L863 L864 @@ -36458,7 +36548,7 @@ jmp L832 label L864 load 125 node field 126 125 0 string kind -strref 127 m13s771 +strref 127 m13s773 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 brif 128 L865 L866 @@ -36486,8 +36576,8 @@ iconst 4 0 lt 5 3 4 brif 5 L868 L869 label L868 -strref 6 m13s779 -strref 7 m13s783 +strref 6 m13s781 +strref 7 m13s785 call 8 checker_diagnostics_report_error void 2 6 7 call 9 pith_cstring_release void 1 6 call 10 pith_cstring_release void 1 7 @@ -36512,8 +36602,8 @@ iconst 5 0 lt 6 4 5 brif 6 L871 L872 label L871 -strref 7 m13s779 -strref 8 m13s782 +strref 7 m13s781 +strref 8 m13s784 call 9 checker_diagnostics_report_error void 2 7 8 call 10 pith_cstring_release void 1 7 call 11 pith_cstring_release void 1 8 @@ -36531,9 +36621,9 @@ sub 17 19 18 call 20 pith_cstring_release void 1 16 brif 17 L874 L875 label L874 -strref 21 m13s779 -strref 22 m13s781 -strref 23 m13s780 +strref 21 m13s781 +strref 22 m13s783 +strref 23 m13s782 call 24 checker_diagnostics_report_error_with_fix void 3 21 22 23 call 25 pith_cstring_release void 1 21 call 26 pith_cstring_release void 1 22 @@ -36571,9 +36661,9 @@ load 12 inner_idx call 13 checker_defer_body_has_forbidden_node bool 1 12 brif 13 L880 L881 label L880 -strref 14 m13s779 -strref 15 m13s778 -strref 16 m13s777 +strref 14 m13s781 +strref 15 m13s780 +strref 16 m13s779 call 17 checker_diagnostics_report_error_with_fix void 3 14 15 16 call 18 pith_cstring_release void 1 14 call 19 pith_cstring_release void 1 15 @@ -36612,14 +36702,14 @@ store __or_13_885 13 iconst 14 0 store __or_14_885 14 load 15 k -strref 16 m13s776 +strref 16 m13s778 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 store __or_14_885 17 brif 17 L886 L885 label L885 load 19 k -strref 20 m13s775 +strref 20 m13s777 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 store __or_14_885 21 @@ -36629,7 +36719,7 @@ store __or_13_885 23 brif 23 L888 L887 label L887 load 24 k -strref 25 m13s774 +strref 25 m13s776 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 store __or_13_885 26 @@ -36639,7 +36729,7 @@ store __or_12_885 28 brif 28 L890 L889 label L889 load 29 k -strref 30 m13s773 +strref 30 m13s775 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 store __or_12_885 31 @@ -36662,14 +36752,14 @@ store __or_40_894 40 iconst 41 0 store __or_41_894 41 load 42 k -strref 43 m13s772 +strref 43 m13s774 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 store __or_41_894 44 brif 44 L895 L894 label L894 load 46 k -strref 47 m13s771 +strref 47 m13s773 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 store __or_41_894 48 @@ -36679,7 +36769,7 @@ store __or_40_894 50 brif 50 L897 L896 label L896 load 51 k -strref 52 m13s770 +strref 52 m13s772 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 store __or_40_894 53 @@ -36689,7 +36779,7 @@ store __or_39_894 55 brif 55 L899 L898 label L898 load 56 k -strref 57 m13s769 +strref 57 m13s771 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 store __or_39_894 58 @@ -36710,14 +36800,14 @@ store __or_66_903 66 iconst 67 0 store __or_67_903 67 load 68 k -strref 69 m13s723 +strref 69 m13s725 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 store __or_67_903 70 brif 70 L904 L903 label L903 load 72 k -strref 73 m13s768 +strref 73 m13s770 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 store __or_67_903 74 @@ -36727,7 +36817,7 @@ store __or_66_903 76 brif 76 L906 L905 label L905 load 77 k -strref 78 m13s724 +strref 78 m13s726 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 store __or_66_903 79 @@ -36973,7 +37063,7 @@ call 32 pith_struct_release void 1 29 store value_node 31 load 33 value_node field 34 33 0 string kind -strref 35 m13s312 +strref 35 m13s314 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 brif 36 L939 L940 @@ -37365,7 +37455,7 @@ iconst 119 0 store __and_119_997 119 load 120 entry field 121 120 0 string kind -strref 122 m13s317 +strref 122 m13s319 call 123 pith_cstring_eq bool 2 121 122 call 124 pith_cstring_release void 1 122 store __and_119_997 123 @@ -37494,7 +37584,7 @@ brif 51 L1010 L1011 label L1010 load 53 node field 54 53 0 string kind -strref 55 m13s312 +strref 55 m13s314 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 brif 56 L1013 L1014 @@ -37810,7 +37900,7 @@ iconst 148 0 store __and_148_1062 148 load 149 entry field 150 149 0 string kind -strref 151 m13s317 +strref 151 m13s319 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 store __and_148_1062 152 @@ -38095,14 +38185,14 @@ iconst 119 0 eq 120 118 119 brif 120 L1099 L1100 label L1099 -strref 121 m13s375 -strref 122 m13s761 +strref 121 m13s377 +strref 122 m13s763 load 123 annotated call 124 types_get_type_name string 1 123 concat 125 122 124 call 126 pith_cstring_release void 1 122 call 127 pith_cstring_release void 1 124 -strref 128 m13s301 +strref 128 m13s303 concat 129 125 128 call 130 pith_cstring_release void 1 125 call 131 pith_cstring_release void 1 128 @@ -38273,7 +38363,7 @@ call 25 pith_struct_release void 1 22 store target_node 24 load 26 target_node field 27 26 0 string kind -strref 28 m13s293 +strref 28 m13s295 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 brif 29 L1120 L1121 @@ -38286,17 +38376,17 @@ iconst 35 0 eq 36 34 35 brif 36 L1123 L1124 label L1123 -strref 37 m13s767 -strref 38 m13s766 +strref 37 m13s769 +strref 38 m13s768 load 39 target_node field 40 39 8 string value concat 41 38 40 call 42 pith_cstring_release void 1 38 -strref 43 m13s349 +strref 43 m13s351 concat 44 41 43 call 45 pith_cstring_release void 1 41 call 46 pith_cstring_release void 1 43 -strref 47 m13s765 +strref 47 m13s767 load 48 target_node field 49 48 8 string value concat 50 47 49 @@ -38383,7 +38473,7 @@ call 102 pith_cstring_retain void 1 101 call 103 pith_cstring_release void 1 99 store op 101 load 104 op -strref 105 m13s764 +strref 105 m13s766 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 brif 106 L1138 L1139 @@ -38400,14 +38490,14 @@ iconst 114 0 eq 115 113 114 brif 115 L1144 L1145 label L1144 -strref 116 m13s375 -strref 117 m13s761 +strref 116 m13s377 +strref 117 m13s763 load 118 target_type call 119 types_get_type_name string 1 118 concat 120 117 119 call 121 pith_cstring_release void 1 117 call 122 pith_cstring_release void 1 119 -strref 123 m13s301 +strref 123 m13s303 concat 124 120 123 call 125 pith_cstring_release void 1 120 call 126 pith_cstring_release void 1 123 @@ -38433,12 +38523,12 @@ iconst 137 0 eq 138 136 137 brif 138 L1147 L1148 label L1147 -strref 139 m13s413 -strref 140 m13s763 +strref 139 m13s415 +strref 140 m13s765 load 141 op concat 142 140 141 call 143 pith_cstring_release void 1 140 -strref 144 m13s762 +strref 144 m13s764 concat 145 142 144 call 146 pith_cstring_release void 1 142 call 147 pith_cstring_release void 1 144 @@ -38457,14 +38547,14 @@ load 157 val_type neq 158 156 157 brif 158 L1149 L1150 label L1149 -strref 159 m13s375 -strref 160 m13s761 +strref 159 m13s377 +strref 160 m13s763 load 161 target_type call 162 types_get_type_name string 1 161 concat 163 160 162 call 164 pith_cstring_release void 1 160 call 165 pith_cstring_release void 1 162 -strref 166 m13s301 +strref 166 m13s303 concat 167 163 166 call 168 pith_cstring_release void 1 163 call 169 pith_cstring_release void 1 166 @@ -38567,14 +38657,14 @@ iconst 45 0 eq 46 44 45 brif 46 L1168 L1169 label L1168 -strref 47 m13s375 -strref 48 m13s760 +strref 47 m13s377 +strref 48 m13s762 load 49 checker_lambda_inferred_return call 50 types_get_type_name string 1 49 concat 51 48 50 call 52 pith_cstring_release void 1 48 call 53 pith_cstring_release void 1 50 -strref 54 m13s369 +strref 54 m13s371 concat 55 51 54 call 56 pith_cstring_release void 1 51 call 57 pith_cstring_release void 1 54 @@ -38605,8 +38695,8 @@ iconst 72 0 lt 73 71 72 brif 73 L1171 L1172 label L1171 -strref 74 m13s755 -strref 75 m13s759 +strref 74 m13s757 +strref 75 m13s761 call 76 checker_diagnostics_report_error void 2 74 75 call 77 pith_cstring_release void 1 74 call 78 pith_cstring_release void 1 75 @@ -38630,14 +38720,14 @@ load 90 types_TID_VOID neq 91 89 90 brif 91 L1177 L1178 label L1177 -strref 92 m13s375 -strref 93 m13s757 +strref 92 m13s377 +strref 93 m13s759 load 94 expected call 95 types_get_type_name string 1 94 concat 96 93 95 call 97 pith_cstring_release void 1 93 call 98 pith_cstring_release void 1 95 -strref 99 m13s758 +strref 99 m13s760 concat 100 96 99 call 101 pith_cstring_release void 1 96 call 102 pith_cstring_release void 1 99 @@ -38781,7 +38871,7 @@ label L1181 label L1179 load 187 actual_node field 188 187 0 string kind -strref 189 m13s312 +strref 189 m13s314 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 brif 190 L1199 L1200 @@ -38918,14 +39008,14 @@ iconst 270 0 ret 270 label L1230 label L1228 -strref 271 m13s375 -strref 272 m13s757 +strref 271 m13s377 +strref 272 m13s759 load 273 expected call 274 types_get_type_name string 1 273 concat 275 272 274 call 276 pith_cstring_release void 1 272 call 277 pith_cstring_release void 1 274 -strref 278 m13s301 +strref 278 m13s303 concat 279 275 278 call 280 pith_cstring_release void 1 275 call 281 pith_cstring_release void 1 278 @@ -38934,7 +39024,7 @@ call 283 types_get_type_name string 1 282 concat 284 279 283 call 285 pith_cstring_release void 1 279 call 286 pith_cstring_release void 1 283 -strref 287 m13s756 +strref 287 m13s758 load 288 actual call 289 types_get_type_name string 1 288 concat 290 287 289 @@ -38964,8 +39054,8 @@ iconst 6 0 lt 7 5 6 brif 7 L1232 L1233 label L1232 -strref 8 m13s755 -strref 9 m13s754 +strref 8 m13s757 +strref 9 m13s756 call 10 checker_diagnostics_report_error void 2 8 9 call 11 pith_cstring_release void 1 8 call 12 pith_cstring_release void 1 9 @@ -38989,8 +39079,8 @@ sub 23 25 24 call 26 pith_cstring_release void 1 22 brif 23 L1235 L1236 label L1235 -strref 27 m13s753 -strref 28 m13s752 +strref 27 m13s755 +strref 28 m13s754 call 29 checker_diagnostics_report_error void 2 27 28 call 30 pith_cstring_release void 1 27 call 31 pith_cstring_release void 1 28 @@ -39038,15 +39128,15 @@ iconst 58 0 eq 59 57 58 brif 59 L1244 L1245 label L1244 -strref 60 m13s304 -strref 61 m13s751 +strref 60 m13s306 +strref 61 m13s753 load 62 ret_info field 63 62 80 int value_type call 64 types_get_type_name string 1 63 concat 65 61 64 call 66 pith_cstring_release void 1 61 call 67 pith_cstring_release void 1 64 -strref 68 m13s301 +strref 68 m13s303 concat 69 65 68 call 70 pith_cstring_release void 1 65 call 71 pith_cstring_release void 1 68 @@ -39122,8 +39212,8 @@ load 37 tid_bool neq 38 36 37 brif 38 L1253 L1254 label L1253 -strref 39 m13s375 -strref 40 m13s374 +strref 39 m13s377 +strref 40 m13s376 load 41 cond_type call 42 types_get_type_name string 1 41 concat 43 40 42 @@ -39148,7 +39238,7 @@ call 55 pith_struct_release void 1 49 store then_node 54 load 56 then_node field 57 56 0 string kind -strref 58 m13s749 +strref 58 m13s751 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 brif 59 L1256 L1257 @@ -39173,7 +39263,7 @@ call 74 pith_struct_release void 1 68 store block 73 load 75 block field 76 75 0 string kind -strref 77 m13s319 +strref 77 m13s321 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 brif 78 L1262 L1263 @@ -39228,7 +39318,7 @@ call 103 pith_struct_release void 1 100 store cn 102 load 104 cn field 105 104 0 string kind -strref 106 m13s750 +strref 106 m13s752 call 107 pith_cstring_eq bool 2 105 106 call 108 pith_cstring_release void 1 106 brif 107 L1272 L1273 @@ -39261,8 +39351,8 @@ load 127 tid_bool neq 128 126 127 brif 128 L1281 L1282 label L1281 -strref 129 m13s375 -strref 130 m13s374 +strref 129 m13s377 +strref 130 m13s376 load 131 econd call 132 types_get_type_name string 1 131 concat 133 130 132 @@ -39297,7 +39387,7 @@ call 150 pith_struct_release void 1 144 store ebody 149 load 151 ebody field 152 151 0 string kind -strref 153 m13s319 +strref 153 m13s321 call 154 pith_cstring_eq bool 2 152 153 call 155 pith_cstring_release void 1 153 brif 154 L1287 L1288 @@ -39309,7 +39399,7 @@ jmp L1286 label L1288 load 159 ebody field 160 159 0 string kind -strref 161 m13s749 +strref 161 m13s751 call 162 pith_cstring_eq bool 2 160 161 call 163 pith_cstring_release void 1 161 brif 162 L1289 L1290 @@ -39331,7 +39421,7 @@ call 175 pith_struct_release void 1 169 store eblock 174 load 176 eblock field 177 176 0 string kind -strref 178 m13s319 +strref 178 m13s321 call 179 pith_cstring_eq bool 2 177 178 call 180 pith_cstring_release void 1 178 brif 179 L1295 L1296 @@ -39355,7 +39445,7 @@ jmp L1271 label L1273 load 184 cn field 185 184 0 string kind -strref 186 m13s748 +strref 186 m13s750 call 187 pith_cstring_eq bool 2 185 186 call 188 pith_cstring_release void 1 186 brif 187 L1297 L1298 @@ -39380,7 +39470,7 @@ call 202 pith_struct_release void 1 196 store eblock 201 load 203 eblock field 204 203 0 string kind -strref 205 m13s319 +strref 205 m13s321 call 206 pith_cstring_eq bool 2 204 205 call 207 pith_cstring_release void 1 205 brif 206 L1303 L1304 @@ -39457,8 +39547,8 @@ load 25 tid_bool neq 26 24 25 brif 26 L1312 L1313 label L1312 -strref 27 m13s375 -strref 28 m13s374 +strref 27 m13s377 +strref 28 m13s376 load 29 cond_type call 30 types_get_type_name string 1 29 concat 31 28 30 @@ -39486,7 +39576,7 @@ call 45 pith_struct_release void 1 39 store body_node 44 load 46 body_node field 47 46 0 string kind -strref 48 m13s320 +strref 48 m13s322 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 brif 49 L1315 L1316 @@ -39501,7 +39591,7 @@ jmp L1314 label L1316 load 57 body_node field 58 57 0 string kind -strref 59 m13s319 +strref 59 m13s321 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 brif 60 L1317 L1318 @@ -39550,7 +39640,7 @@ call 20 pith_struct_release void 1 17 store pat 19 load 21 pat field 22 21 0 string kind -strref 23 m13s342 +strref 23 m13s344 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 brif 24 L1323 L1324 @@ -39569,7 +39659,7 @@ label L1324 label L1322 load 35 pat field 36 35 0 string kind -strref 37 m13s338 +strref 37 m13s340 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 brif 38 L1326 L1327 @@ -39601,9 +39691,9 @@ iconst 60 0 ret 60 label L1330 label L1328 -strref 61 m13s746 +strref 61 m13s748 load 62 form -strref 63 m13s747 +strref 63 m13s749 concat 64 62 63 call 65 pith_cstring_release void 1 63 load 66 subj_type @@ -39622,9 +39712,9 @@ iconst 78 0 ret 78 label L1327 label L1325 -strref 79 m13s746 +strref 79 m13s748 load 80 form -strref 81 m13s745 +strref 81 m13s747 concat 82 80 81 call 83 pith_cstring_release void 1 81 call 84 checker_diagnostics_report_error void 2 79 82 @@ -39672,7 +39762,7 @@ iconst 22 1 call 23 pith_list_get_value_strict int 2 21 22 load 24 then_scope load 25 scope_id -strref 26 m13s744 +strref 26 m13s746 call 27 checker_check_let_pattern void 5 19 23 24 25 26 call 28 pith_cstring_release void 1 26 load 29 then_node @@ -39685,7 +39775,7 @@ call 35 pith_struct_release void 1 29 store then_node 34 load 36 then_node field 37 36 0 string kind -strref 38 m13s319 +strref 38 m13s321 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 brif 39 L1335 L1336 @@ -39716,7 +39806,7 @@ call 57 pith_struct_release void 1 51 store else_node 56 load 58 else_node field 59 58 0 string kind -strref 60 m13s319 +strref 60 m13s321 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 brif 61 L1341 L1342 @@ -39768,7 +39858,7 @@ iconst 19 1 call 20 pith_list_get_value_strict int 2 18 19 load 21 loop_scope load 22 scope_id -strref 23 m13s743 +strref 23 m13s745 call 24 checker_check_let_pattern void 5 16 20 21 22 23 call 25 pith_cstring_release void 1 23 load 26 body_node @@ -39781,7 +39871,7 @@ call 32 pith_struct_release void 1 26 store body_node 31 load 33 body_node field 34 33 0 string kind -strref 35 m13s319 +strref 35 m13s321 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 brif 36 L1347 L1348 @@ -39866,7 +39956,7 @@ call 48 pith_cstring_release void 1 45 store type_name 47 load 49 next_key load 50 type_name -strref 51 m13s742 +strref 51 m13s744 concat 52 50 51 call 53 pith_cstring_release void 1 51 call 54 pith_cstring_release void 1 49 @@ -39891,7 +39981,7 @@ brif 65 L1356 L1357 label L1356 load 68 next_key load 69 base -strref 70 m13s742 +strref 70 m13s744 concat 71 69 70 call 72 pith_cstring_release void 1 70 call 73 pith_cstring_release void 1 68 @@ -40211,7 +40301,7 @@ call 42 pith_struct_release void 1 36 store iter_node 41 load 43 iter_node field 44 43 0 string kind -strref 45 m13s741 +strref 45 m13s743 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 brif 46 L1387 L1388 @@ -40276,14 +40366,14 @@ label L1398 load 86 __or_79_1397 brif 86 L1395 L1396 label L1395 -strref 87 m13s413 -strref 88 m13s740 +strref 87 m13s415 +strref 88 m13s742 load 89 lo_type call 90 types_get_type_name string 1 89 concat 91 88 90 call 92 pith_cstring_release void 1 88 call 93 pith_cstring_release void 1 90 -strref 94 m13s739 +strref 94 m13s741 concat 95 91 94 call 96 pith_cstring_release void 1 91 call 97 pith_cstring_release void 1 94 @@ -40404,8 +40494,8 @@ load 175 it_elem store elem_type 175 jmp L1411 label L1413 -strref 176 m13s413 -strref 177 m13s738 +strref 176 m13s415 +strref 177 m13s740 load 178 iter_type call 179 types_get_type_name string 1 178 concat 180 177 179 @@ -40514,7 +40604,7 @@ call 264 pith_struct_release void 1 258 store body_node 263 load 265 body_node field 266 265 0 string kind -strref 267 m13s320 +strref 267 m13s322 call 268 pith_cstring_eq bool 2 266 267 call 269 pith_cstring_release void 1 267 brif 268 L1421 L1422 @@ -40529,7 +40619,7 @@ jmp L1420 label L1422 load 276 body_node field 277 276 0 string kind -strref 278 m13s319 +strref 278 m13s321 call 279 pith_cstring_eq bool 2 277 278 call 280 pith_cstring_release void 1 278 brif 279 L1423 L1424 @@ -40628,7 +40718,7 @@ call 22 pith_cstring_release void 1 20 store tid_err 21 load 23 node field 24 23 0 string kind -strref 25 m13s737 +strref 25 m13s739 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 brif 26 L1429 L1430 @@ -40643,7 +40733,7 @@ label L1430 label L1428 load 33 node field 34 33 0 string kind -strref 35 m13s736 +strref 35 m13s738 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 brif 36 L1432 L1433 @@ -40658,7 +40748,7 @@ label L1433 label L1431 load 43 node field 44 43 0 string kind -strref 45 m13s735 +strref 45 m13s737 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 brif 46 L1435 L1436 @@ -40673,7 +40763,7 @@ label L1436 label L1434 load 53 node field 54 53 0 string kind -strref 55 m13s734 +strref 55 m13s736 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 brif 56 L1438 L1439 @@ -40688,7 +40778,7 @@ label L1439 label L1437 load 63 node field 64 63 0 string kind -strref 65 m13s312 +strref 65 m13s314 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 brif 66 L1441 L1442 @@ -40703,7 +40793,7 @@ label L1442 label L1440 load 73 node field 74 73 0 string kind -strref 75 m13s293 +strref 75 m13s295 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 brif 76 L1444 L1445 @@ -40722,13 +40812,13 @@ label L1445 label L1443 load 87 node field 88 87 0 string kind -strref 89 m13s733 +strref 89 m13s735 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 brif 90 L1447 L1448 label L1447 load 92 node_idx -strref 93 m13s733 +strref 93 m13s735 load 94 scope_id call 95 checker_check_identifier int 3 92 93 94 call 96 pith_cstring_release void 1 93 @@ -40741,7 +40831,7 @@ label L1448 label L1446 load 101 node field 102 101 0 string kind -strref 103 m13s732 +strref 103 m13s734 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 brif 104 L1450 L1451 @@ -40758,7 +40848,7 @@ label L1451 label L1449 load 113 node field 114 113 0 string kind -strref 115 m13s731 +strref 115 m13s733 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 brif 116 L1453 L1454 @@ -40775,7 +40865,7 @@ label L1454 label L1452 load 125 node field 126 125 0 string kind -strref 127 m13s730 +strref 127 m13s732 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 brif 128 L1456 L1457 @@ -40810,7 +40900,7 @@ label L1457 label L1455 load 150 node field 151 150 0 string kind -strref 152 m13s729 +strref 152 m13s731 call 153 pith_cstring_eq bool 2 151 152 call 154 pith_cstring_release void 1 152 brif 153 L1462 L1463 @@ -40839,7 +40929,7 @@ call 168 pith_struct_release void 1 165 store cn 167 load 169 cn field 170 169 0 string kind -strref 171 m13s728 +strref 171 m13s730 call 172 pith_cstring_eq bool 2 170 171 call 173 pith_cstring_release void 1 171 brif 172 L1469 L1470 @@ -40863,8 +40953,8 @@ iconst 186 0 eq 187 185 186 brif 187 L1475 L1476 label L1475 -strref 188 m13s304 -strref 189 m13s726 +strref 188 m13s306 +strref 189 m13s728 load 190 spec_tid call 191 types_get_type_name string 1 190 concat 192 189 191 @@ -40883,7 +40973,7 @@ jmp L1468 label L1470 load 198 cn field 199 198 0 string kind -strref 200 m13s727 +strref 200 m13s729 call 202 pith_cstring_eq bool 2 199 200 iconst 203 1 sub 201 203 202 @@ -40906,8 +40996,8 @@ iconst 214 0 eq 215 213 214 brif 215 L1483 L1484 label L1483 -strref 216 m13s304 -strref 217 m13s726 +strref 216 m13s306 +strref 217 m13s728 load 218 expr_tid call 219 types_get_type_name string 1 218 concat 220 217 219 @@ -40942,7 +41032,7 @@ label L1463 label L1461 load 234 node field 235 234 0 string kind -strref 236 m13s725 +strref 236 m13s727 call 237 pith_cstring_eq bool 2 235 236 call 238 pith_cstring_release void 1 236 brif 237 L1486 L1487 @@ -40959,7 +41049,7 @@ label L1487 label L1485 load 246 node field 247 246 0 string kind -strref 248 m13s300 +strref 248 m13s302 call 249 pith_cstring_eq bool 2 247 248 call 250 pith_cstring_release void 1 248 brif 249 L1489 L1490 @@ -40976,7 +41066,7 @@ label L1490 label L1488 load 258 node field 259 258 0 string kind -strref 260 m13s382 +strref 260 m13s384 call 261 pith_cstring_eq bool 2 259 260 call 262 pith_cstring_release void 1 260 brif 261 L1492 L1493 @@ -40993,7 +41083,7 @@ label L1493 label L1491 load 270 node field 271 270 0 string kind -strref 272 m13s292 +strref 272 m13s294 call 273 pith_cstring_eq bool 2 271 272 call 274 pith_cstring_release void 1 272 brif 273 L1495 L1496 @@ -41010,7 +41100,7 @@ label L1496 label L1494 load 282 node field 283 282 0 string kind -strref 284 m13s291 +strref 284 m13s293 call 285 pith_cstring_eq bool 2 283 284 call 286 pith_cstring_release void 1 284 brif 285 L1498 L1499 @@ -41027,7 +41117,7 @@ label L1499 label L1497 load 294 node field 295 294 0 string kind -strref 296 m13s724 +strref 296 m13s726 call 297 pith_cstring_eq bool 2 295 296 call 298 pith_cstring_release void 1 296 brif 297 L1501 L1502 @@ -41044,7 +41134,7 @@ label L1502 label L1500 load 306 node field 307 306 0 string kind -strref 308 m13s723 +strref 308 m13s725 call 309 pith_cstring_eq bool 2 307 308 call 310 pith_cstring_release void 1 308 brif 309 L1504 L1505 @@ -41061,7 +41151,7 @@ label L1505 label L1503 load 318 node field 319 318 0 string kind -strref 320 m13s722 +strref 320 m13s724 call 321 pith_cstring_eq bool 2 319 320 call 322 pith_cstring_release void 1 320 brif 321 L1507 L1508 @@ -41078,7 +41168,7 @@ label L1508 label L1506 load 330 node field 331 330 0 string kind -strref 332 m13s721 +strref 332 m13s723 call 333 pith_cstring_eq bool 2 331 332 call 334 pith_cstring_release void 1 332 brif 333 L1510 L1511 @@ -41095,7 +41185,7 @@ label L1511 label L1509 load 342 node field 343 342 0 string kind -strref 344 m13s720 +strref 344 m13s722 call 345 pith_cstring_eq bool 2 343 344 call 346 pith_cstring_release void 1 344 brif 345 L1513 L1514 @@ -41112,7 +41202,7 @@ label L1514 label L1512 load 354 node field 355 354 0 string kind -strref 356 m13s719 +strref 356 m13s721 call 357 pith_cstring_eq bool 2 355 356 call 358 pith_cstring_release void 1 356 brif 357 L1516 L1517 @@ -41197,7 +41287,7 @@ label L1529 label L1527 load 414 node field 415 414 0 string kind -strref 416 m13s718 +strref 416 m13s720 call 417 pith_cstring_eq bool 2 415 416 call 418 pith_cstring_release void 1 416 brif 417 L1531 L1532 @@ -41214,7 +41304,7 @@ label L1532 label L1530 load 426 node field 427 426 0 string kind -strref 428 m13s717 +strref 428 m13s719 call 429 pith_cstring_eq bool 2 427 428 call 430 pith_cstring_release void 1 428 brif 429 L1534 L1535 @@ -41231,7 +41321,7 @@ label L1535 label L1533 load 438 node field 439 438 0 string kind -strref 440 m13s716 +strref 440 m13s718 call 441 pith_cstring_eq bool 2 439 440 call 442 pith_cstring_release void 1 440 brif 441 L1537 L1538 @@ -41697,16 +41787,16 @@ eq 18 16 17 brif 18 L1608 L1609 label L1608 load 19 node_idx -strref 20 m13s550 -strref 21 m13s349 +strref 20 m13s552 +strref 21 m13s351 load 22 name concat 23 21 22 call 24 pith_cstring_release void 1 21 -strref 25 m13s715 +strref 25 m13s717 concat 26 23 25 call 27 pith_cstring_release void 1 23 call 28 pith_cstring_release void 1 25 -strref 29 m13s714 +strref 29 m13s716 call 30 checker_diagnostics_report_error_with_fix_at void 4 19 20 26 29 call 31 pith_cstring_release void 1 20 call 32 pith_cstring_release void 1 26 @@ -41731,8 +41821,8 @@ ret 38 label L1612 label L1610 load 39 node_idx -strref 40 m13s550 -strref 41 m13s713 +strref 40 m13s552 +strref 41 m13s715 load 42 name concat 43 41 42 call 44 pith_cstring_release void 1 41 @@ -41785,7 +41875,7 @@ call 26 types_lookup_type_id int 1 25 call 27 pith_cstring_release void 1 25 store tid_string 26 load 28 op -strref 29 m13s712 +strref 29 m13s714 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 brif 30 L1617 L1618 @@ -41835,14 +41925,14 @@ store right 66 iconst 67 0 store __or_67_1622 67 load 68 op -strref 69 m13s697 +strref 69 m13s699 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 store __or_67_1622 70 brif 70 L1623 L1622 label L1622 load 72 op -strref 73 m13s695 +strref 73 m13s697 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 store __or_67_1622 74 @@ -41854,7 +41944,7 @@ iconst 77 0 store __and_77_1627 77 load 78 left_node field 79 78 0 string kind -strref 80 m13s312 +strref 80 m13s314 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 store __and_77_1627 81 @@ -41862,7 +41952,7 @@ brif 81 L1627 L1628 label L1627 load 83 right_node field 84 83 0 string kind -strref 85 m13s312 +strref 85 m13s314 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 store __and_77_1627 86 @@ -41884,7 +41974,7 @@ iconst 96 0 store __and_96_1632 96 load 97 left_node field 98 97 0 string kind -strref 99 m13s312 +strref 99 m13s314 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 store __and_96_1632 100 @@ -41923,7 +42013,7 @@ iconst 119 0 store __and_119_1640 119 load 120 right_node field 121 120 0 string kind -strref 122 m13s312 +strref 122 m13s314 call 123 pith_cstring_eq bool 2 121 122 call 124 pith_cstring_release void 1 122 store __and_119_1640 123 @@ -41990,7 +42080,7 @@ ret 153 label L1650 label L1648 load 160 op -strref 161 m13s480 +strref 161 m13s482 call 162 pith_cstring_eq bool 2 160 161 call 163 pith_cstring_release void 1 161 brif 162 L1652 L1653 @@ -42022,7 +42112,7 @@ jmp L1651 label L1653 label L1651 load 177 op -strref 178 m13s480 +strref 178 m13s482 call 179 pith_cstring_eq bool 2 177 178 call 180 pith_cstring_release void 1 178 brif 179 L1661 L1662 @@ -42033,8 +42123,8 @@ iconst 183 0 eq 184 182 183 brif 184 L1664 L1665 label L1664 -strref 185 m13s413 -strref 186 m13s711 +strref 185 m13s415 +strref 186 m13s713 load 187 left call 188 types_get_type_name string 1 187 concat 189 186 188 @@ -42058,14 +42148,14 @@ load 203 right neq 204 202 203 brif 204 L1667 L1668 label L1667 -strref 205 m13s413 -strref 206 m13s710 +strref 205 m13s415 +strref 206 m13s712 load 207 left call 208 types_get_type_name string 1 207 concat 209 206 208 call 210 pith_cstring_release void 1 206 call 211 pith_cstring_release void 1 208 -strref 212 m13s369 +strref 212 m13s371 concat 213 209 212 call 214 pith_cstring_release void 1 209 call 215 pith_cstring_release void 1 212 @@ -42098,7 +42188,7 @@ ret 231 label L1662 label L1660 load 238 op -strref 239 m13s709 +strref 239 m13s711 call 240 pith_cstring_eq bool 2 238 239 call 241 pith_cstring_release void 1 239 brif 240 L1670 L1671 @@ -42109,8 +42199,8 @@ iconst 244 0 eq 245 243 244 brif 245 L1673 L1674 label L1673 -strref 246 m13s413 -strref 247 m13s708 +strref 246 m13s415 +strref 247 m13s710 load 248 left call 249 types_get_type_name string 1 248 concat 250 247 249 @@ -42134,14 +42224,14 @@ load 264 right neq 265 263 264 brif 265 L1676 L1677 label L1676 -strref 266 m13s413 -strref 267 m13s707 +strref 266 m13s415 +strref 267 m13s709 load 268 left call 269 types_get_type_name string 1 268 concat 270 267 269 call 271 pith_cstring_release void 1 267 call 272 pith_cstring_release void 1 269 -strref 273 m13s369 +strref 273 m13s371 concat 274 270 273 call 275 pith_cstring_release void 1 270 call 276 pith_cstring_release void 1 273 @@ -42174,7 +42264,7 @@ ret 292 label L1671 label L1669 load 299 op -strref 300 m13s706 +strref 300 m13s708 call 301 pith_cstring_eq bool 2 299 300 call 302 pith_cstring_release void 1 300 brif 301 L1679 L1680 @@ -42185,8 +42275,8 @@ iconst 305 0 eq 306 304 305 brif 306 L1682 L1683 label L1682 -strref 307 m13s413 -strref 308 m13s705 +strref 307 m13s415 +strref 308 m13s707 load 309 left call 310 types_get_type_name string 1 309 concat 311 308 310 @@ -42210,14 +42300,14 @@ load 325 right neq 326 324 325 brif 326 L1685 L1686 label L1685 -strref 327 m13s413 -strref 328 m13s704 +strref 327 m13s415 +strref 328 m13s706 load 329 left call 330 types_get_type_name string 1 329 concat 331 328 330 call 332 pith_cstring_release void 1 328 call 333 pith_cstring_release void 1 330 -strref 334 m13s369 +strref 334 m13s371 concat 335 331 334 call 336 pith_cstring_release void 1 331 call 337 pith_cstring_release void 1 334 @@ -42250,7 +42340,7 @@ ret 353 label L1680 label L1678 load 360 op -strref 361 m13s703 +strref 361 m13s705 call 362 pith_cstring_eq bool 2 360 361 call 363 pith_cstring_release void 1 361 brif 362 L1688 L1689 @@ -42261,8 +42351,8 @@ iconst 366 0 eq 367 365 366 brif 367 L1691 L1692 label L1691 -strref 368 m13s413 -strref 369 m13s702 +strref 368 m13s415 +strref 369 m13s704 load 370 left call 371 types_get_type_name string 1 370 concat 372 369 371 @@ -42286,14 +42376,14 @@ load 386 right neq 387 385 386 brif 387 L1694 L1695 label L1694 -strref 388 m13s413 -strref 389 m13s701 +strref 388 m13s415 +strref 389 m13s703 load 390 left call 391 types_get_type_name string 1 390 concat 392 389 391 call 393 pith_cstring_release void 1 389 call 394 pith_cstring_release void 1 391 -strref 395 m13s369 +strref 395 m13s371 concat 396 392 395 call 397 pith_cstring_release void 1 392 call 398 pith_cstring_release void 1 395 @@ -42326,7 +42416,7 @@ ret 414 label L1689 label L1687 load 421 op -strref 422 m13s700 +strref 422 m13s702 call 423 pith_cstring_eq bool 2 421 422 call 424 pith_cstring_release void 1 422 brif 423 L1697 L1698 @@ -42337,8 +42427,8 @@ iconst 427 0 eq 428 426 427 brif 428 L1700 L1701 label L1700 -strref 429 m13s413 -strref 430 m13s699 +strref 429 m13s415 +strref 430 m13s701 load 431 left call 432 types_get_type_name string 1 431 concat 433 430 432 @@ -42362,14 +42452,14 @@ load 447 right neq 448 446 447 brif 448 L1703 L1704 label L1703 -strref 449 m13s413 -strref 450 m13s698 +strref 449 m13s415 +strref 450 m13s700 load 451 left call 452 types_get_type_name string 1 451 concat 453 450 452 call 454 pith_cstring_release void 1 450 call 455 pith_cstring_release void 1 452 -strref 456 m13s369 +strref 456 m13s371 concat 457 453 456 call 458 pith_cstring_release void 1 453 call 459 pith_cstring_release void 1 456 @@ -42402,7 +42492,7 @@ ret 475 label L1698 label L1696 load 482 op -strref 483 m13s697 +strref 483 m13s699 call 484 pith_cstring_eq bool 2 482 483 call 485 pith_cstring_release void 1 483 brif 484 L1706 L1707 @@ -42425,14 +42515,14 @@ label L1712 load 495 __and_486_1711 brif 495 L1709 L1710 label L1709 -strref 496 m13s413 -strref 497 m13s696 +strref 496 m13s415 +strref 497 m13s698 load 498 left call 499 types_get_type_name string 1 498 concat 500 497 499 call 501 pith_cstring_release void 1 497 call 502 pith_cstring_release void 1 499 -strref 503 m13s369 +strref 503 m13s371 concat 504 500 503 call 505 pith_cstring_release void 1 500 call 506 pith_cstring_release void 1 503 @@ -42465,7 +42555,7 @@ ret 522 label L1707 label L1705 load 529 op -strref 530 m13s695 +strref 530 m13s697 call 531 pith_cstring_eq bool 2 529 530 call 532 pith_cstring_release void 1 530 brif 531 L1714 L1715 @@ -42488,14 +42578,14 @@ label L1720 load 542 __and_533_1719 brif 542 L1717 L1718 label L1717 -strref 543 m13s413 -strref 544 m13s694 +strref 543 m13s415 +strref 544 m13s696 load 545 left call 546 types_get_type_name string 1 545 concat 547 544 546 call 548 pith_cstring_release void 1 544 call 549 pith_cstring_release void 1 546 -strref 550 m13s369 +strref 550 m13s371 concat 551 547 550 call 552 pith_cstring_release void 1 547 call 553 pith_cstring_release void 1 550 @@ -42528,7 +42618,7 @@ ret 569 label L1715 label L1713 load 576 op -strref 577 m13s693 +strref 577 m13s695 call 578 pith_cstring_eq bool 2 576 577 call 579 pith_cstring_release void 1 577 brif 578 L1722 L1723 @@ -42544,8 +42634,8 @@ load 585 tid_string neq 586 584 585 brif 586 L1728 L1729 label L1728 -strref 587 m13s413 -strref 588 m13s692 +strref 587 m13s415 +strref 588 m13s694 load 589 left call 590 types_get_type_name string 1 589 concat 591 588 590 @@ -42572,14 +42662,14 @@ load 605 right neq 606 604 605 brif 606 L1731 L1732 label L1731 -strref 607 m13s413 -strref 608 m13s691 +strref 607 m13s415 +strref 608 m13s693 load 609 left call 610 types_get_type_name string 1 609 concat 611 608 610 call 612 pith_cstring_release void 1 608 call 613 pith_cstring_release void 1 610 -strref 614 m13s369 +strref 614 m13s371 concat 615 611 614 call 616 pith_cstring_release void 1 611 call 617 pith_cstring_release void 1 614 @@ -42612,7 +42702,7 @@ ret 633 label L1723 label L1721 load 640 op -strref 641 m13s690 +strref 641 m13s692 call 642 pith_cstring_eq bool 2 640 641 call 643 pith_cstring_release void 1 641 brif 642 L1734 L1735 @@ -42628,8 +42718,8 @@ load 649 tid_string neq 650 648 649 brif 650 L1740 L1741 label L1740 -strref 651 m13s413 -strref 652 m13s689 +strref 651 m13s415 +strref 652 m13s691 load 653 left call 654 types_get_type_name string 1 653 concat 655 652 654 @@ -42656,14 +42746,14 @@ load 669 right neq 670 668 669 brif 670 L1743 L1744 label L1743 -strref 671 m13s413 -strref 672 m13s688 +strref 671 m13s415 +strref 672 m13s690 load 673 left call 674 types_get_type_name string 1 673 concat 675 672 674 call 676 pith_cstring_release void 1 672 call 677 pith_cstring_release void 1 674 -strref 678 m13s369 +strref 678 m13s371 concat 679 675 678 call 680 pith_cstring_release void 1 675 call 681 pith_cstring_release void 1 678 @@ -42696,7 +42786,7 @@ ret 697 label L1735 label L1733 load 704 op -strref 705 m13s687 +strref 705 m13s689 call 706 pith_cstring_eq bool 2 704 705 call 707 pith_cstring_release void 1 705 brif 706 L1746 L1747 @@ -42712,8 +42802,8 @@ load 713 tid_string neq 714 712 713 brif 714 L1752 L1753 label L1752 -strref 715 m13s413 -strref 716 m13s686 +strref 715 m13s415 +strref 716 m13s688 load 717 left call 718 types_get_type_name string 1 717 concat 719 716 718 @@ -42740,14 +42830,14 @@ load 733 right neq 734 732 733 brif 734 L1755 L1756 label L1755 -strref 735 m13s413 -strref 736 m13s685 +strref 735 m13s415 +strref 736 m13s687 load 737 left call 738 types_get_type_name string 1 737 concat 739 736 738 call 740 pith_cstring_release void 1 736 call 741 pith_cstring_release void 1 738 -strref 742 m13s369 +strref 742 m13s371 concat 743 739 742 call 744 pith_cstring_release void 1 739 call 745 pith_cstring_release void 1 742 @@ -42780,7 +42870,7 @@ ret 761 label L1747 label L1745 load 768 op -strref 769 m13s684 +strref 769 m13s686 call 770 pith_cstring_eq bool 2 768 769 call 771 pith_cstring_release void 1 769 brif 770 L1758 L1759 @@ -42796,8 +42886,8 @@ load 777 tid_string neq 778 776 777 brif 778 L1764 L1765 label L1764 -strref 779 m13s413 -strref 780 m13s683 +strref 779 m13s415 +strref 780 m13s685 load 781 left call 782 types_get_type_name string 1 781 concat 783 780 782 @@ -42824,14 +42914,14 @@ load 797 right neq 798 796 797 brif 798 L1767 L1768 label L1767 -strref 799 m13s413 -strref 800 m13s682 +strref 799 m13s415 +strref 800 m13s684 load 801 left call 802 types_get_type_name string 1 801 concat 803 800 802 call 804 pith_cstring_release void 1 800 call 805 pith_cstring_release void 1 802 -strref 806 m13s369 +strref 806 m13s371 concat 807 803 806 call 808 pith_cstring_release void 1 803 call 809 pith_cstring_release void 1 806 @@ -42864,7 +42954,7 @@ ret 825 label L1759 label L1757 load 832 op -strref 833 m13s681 +strref 833 m13s683 call 834 pith_cstring_eq bool 2 832 833 call 835 pith_cstring_release void 1 833 brif 834 L1770 L1771 @@ -42874,8 +42964,8 @@ load 837 tid_bool neq 838 836 837 brif 838 L1773 L1774 label L1773 -strref 839 m13s413 -strref 840 m13s680 +strref 839 m13s415 +strref 840 m13s682 load 841 left call 842 types_get_type_name string 1 841 concat 843 840 842 @@ -42899,8 +42989,8 @@ load 857 tid_bool neq 858 856 857 brif 858 L1776 L1777 label L1776 -strref 859 m13s413 -strref 860 m13s680 +strref 859 m13s415 +strref 860 m13s682 load 861 right call 862 types_get_type_name string 1 861 concat 863 860 862 @@ -42930,7 +43020,7 @@ ret 876 label L1771 label L1769 load 883 op -strref 884 m13s679 +strref 884 m13s681 call 885 pith_cstring_eq bool 2 883 884 call 886 pith_cstring_release void 1 884 brif 885 L1779 L1780 @@ -42940,8 +43030,8 @@ load 888 tid_bool neq 889 887 888 brif 889 L1782 L1783 label L1782 -strref 890 m13s413 -strref 891 m13s678 +strref 890 m13s415 +strref 891 m13s680 load 892 left call 893 types_get_type_name string 1 892 concat 894 891 893 @@ -42965,8 +43055,8 @@ load 908 tid_bool neq 909 907 908 brif 909 L1785 L1786 label L1785 -strref 910 m13s413 -strref 911 m13s678 +strref 910 m13s415 +strref 911 m13s680 load 912 right call 913 types_get_type_name string 1 912 concat 914 911 913 @@ -43052,15 +43142,15 @@ call 26 pith_struct_release void 1 20 store rhs_node 25 load 27 rhs_node field 28 27 0 string kind -strref 29 m13s293 +strref 29 m13s295 call 31 pith_cstring_eq bool 2 28 29 iconst 32 1 sub 30 32 31 call 33 pith_cstring_release void 1 29 brif 30 L1791 L1792 label L1791 -strref 34 m13s579 -strref 35 m13s677 +strref 34 m13s581 +strref 35 m13s679 call 36 checker_diagnostics_report_error void 2 34 35 call 37 pith_cstring_release void 1 34 call 38 pith_cstring_release void 1 35 @@ -43089,8 +43179,8 @@ iconst 55 0 lt 56 54 55 brif 56 L1794 L1795 label L1794 -strref 57 m13s550 -strref 58 m13s554 +strref 57 m13s552 +strref 58 m13s556 load 59 fn_name concat 60 58 59 call 61 pith_cstring_release void 1 58 @@ -43121,12 +43211,12 @@ sub 79 81 80 call 82 pith_cstring_release void 1 78 brif 79 L1797 L1798 label L1797 -strref 83 m13s579 -strref 84 m13s349 +strref 83 m13s581 +strref 84 m13s351 load 85 fn_name concat 86 84 85 call 87 pith_cstring_release void 1 84 -strref 88 m13s676 +strref 88 m13s678 concat 89 86 88 call 90 pith_cstring_release void 1 86 call 91 pith_cstring_release void 1 88 @@ -43150,12 +43240,12 @@ iconst 105 1 neq 106 104 105 brif 106 L1800 L1801 label L1800 -strref 107 m13s307 -strref 108 m13s675 +strref 107 m13s309 +strref 108 m13s677 load 109 fn_name concat 110 108 109 call 111 pith_cstring_release void 1 108 -strref 112 m13s674 +strref 112 m13s676 concat 113 110 112 call 114 pith_cstring_release void 1 110 call 115 pith_cstring_release void 1 112 @@ -43180,8 +43270,8 @@ call 130 pith_list_get_value_strict int 2 128 129 neq 131 126 130 brif 131 L1803 L1804 label L1803 -strref 132 m13s375 -strref 133 m13s673 +strref 132 m13s377 +strref 133 m13s675 load 134 fn_info field 135 134 48 list param_types iconst 136 0 @@ -43190,7 +43280,7 @@ call 138 types_get_type_name string 1 137 concat 139 133 138 call 140 pith_cstring_release void 1 133 call 141 pith_cstring_release void 1 138 -strref 142 m13s301 +strref 142 m13s303 concat 143 139 142 call 144 pith_cstring_release void 1 139 call 145 pith_cstring_release void 1 142 @@ -43276,7 +43366,7 @@ call 28 pith_cstring_retain void 1 27 call 29 pith_cstring_release void 1 25 store op 27 load 30 op -strref 31 m13s672 +strref 31 m13s674 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 brif 32 L1812 L1813 @@ -43287,8 +43377,8 @@ iconst 36 0 eq 37 35 36 brif 37 L1815 L1816 label L1815 -strref 38 m13s413 -strref 39 m13s671 +strref 38 m13s415 +strref 39 m13s673 load 40 operand call 41 types_get_type_name string 1 40 concat 42 39 41 @@ -43310,7 +43400,7 @@ ret 51 label L1813 label L1811 load 54 op -strref 55 m13s670 +strref 55 m13s672 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 brif 56 L1818 L1819 @@ -43320,8 +43410,8 @@ load 59 tid_bool neq 60 58 59 brif 60 L1821 L1822 label L1821 -strref 61 m13s413 -strref 62 m13s669 +strref 61 m13s415 +strref 62 m13s671 load 63 operand call 64 types_get_type_name string 1 63 concat 65 62 64 @@ -43362,7 +43452,7 @@ iconst 4 0 store __or_4_1826 4 load 5 index_node field 6 5 0 string kind -strref 7 m13s291 +strref 7 m13s293 call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 @@ -43400,7 +43490,7 @@ iconst 30 0 store __or_30_1831 30 load 31 base_node field 32 31 0 string kind -strref 33 m13s292 +strref 33 m13s294 call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 @@ -43452,7 +43542,7 @@ call 66 pith_struct_release void 1 60 store recv_node 65 load 67 recv_node field 68 67 0 string kind -strref 69 m13s293 +strref 69 m13s295 call 71 pith_cstring_eq bool 2 68 69 iconst 72 1 sub 70 72 71 @@ -43497,7 +43587,7 @@ iconst 95 0 store __or_95_1845 95 load 96 recv_node field 97 96 8 string value -strref 98 m13s668 +strref 98 m13s670 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 store __or_95_1845 99 @@ -43505,7 +43595,7 @@ brif 99 L1846 L1845 label L1845 load 101 recv_node field 102 101 8 string value -strref 103 m13s667 +strref 103 m13s669 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 store __or_95_1845 104 @@ -43534,7 +43624,7 @@ iconst 4 0 store __or_4_1850 4 load 5 index_node field 6 5 0 string kind -strref 7 m13s291 +strref 7 m13s293 call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 @@ -43572,7 +43662,7 @@ iconst 30 0 store __or_30_1855 30 load 31 base_node field 32 31 0 string kind -strref 33 m13s292 +strref 33 m13s294 call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 @@ -43624,7 +43714,7 @@ call 66 pith_struct_release void 1 60 store recv_node 65 load 67 recv_node field 68 67 0 string kind -strref 69 m13s293 +strref 69 m13s295 call 71 pith_cstring_eq bool 2 68 69 iconst 72 1 sub 70 72 71 @@ -43649,7 +43739,7 @@ load 83 checker_module_aliases load 84 recv_node field 85 84 8 string value call 86 map_get_strict string 2 83 85 -strref 87 m13s659 +strref 87 m13s661 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 brif 88 L1867 L1868 @@ -43669,7 +43759,7 @@ iconst 95 0 store __or_95_1869 95 load 96 recv_node field 97 96 8 string value -strref 98 m13s658 +strref 98 m13s660 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 store __or_95_1869 99 @@ -43677,7 +43767,7 @@ brif 99 L1870 L1869 label L1869 load 101 recv_node field 102 101 8 string value -strref 103 m13s657 +strref 103 m13s659 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 store __or_95_1869 104 @@ -43706,7 +43796,7 @@ iconst 4 0 store __or_4_1874 4 load 5 index_node field 6 5 0 string kind -strref 7 m13s291 +strref 7 m13s293 call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 @@ -43744,7 +43834,7 @@ iconst 30 0 store __or_30_1879 30 load 31 base_node field 32 31 0 string kind -strref 33 m13s292 +strref 33 m13s294 call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 @@ -43796,7 +43886,7 @@ call 66 pith_struct_release void 1 60 store recv_node 65 load 67 recv_node field 68 67 0 string kind -strref 69 m13s293 +strref 69 m13s295 call 71 pith_cstring_eq bool 2 68 69 iconst 72 1 sub 70 72 71 @@ -43826,7 +43916,7 @@ call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 brif 88 L1891 L1892 label L1891 -strref 90 m13s664 +strref 90 m13s666 load 91 base_node call 92 pith_struct_release void 1 91 load 93 recv_node @@ -43838,12 +43928,12 @@ load 95 checker_module_aliases load 96 recv_node field 97 96 8 string value call 98 map_get_strict string 2 95 97 -strref 99 m13s666 +strref 99 m13s668 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 brif 100 L1894 L1895 label L1894 -strref 102 m13s662 +strref 102 m13s664 load 103 base_node call 104 pith_struct_release void 1 103 load 105 recv_node @@ -43858,7 +43948,7 @@ iconst 107 0 store __or_107_1899 107 load 108 recv_node field 109 108 8 string value -strref 110 m13s664 +strref 110 m13s666 call 111 pith_cstring_eq bool 2 109 110 call 112 pith_cstring_release void 1 110 store __or_107_1899 111 @@ -43866,7 +43956,7 @@ brif 111 L1900 L1899 label L1899 load 113 recv_node field 114 113 8 string value -strref 115 m13s665 +strref 115 m13s667 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 store __or_107_1899 116 @@ -43874,7 +43964,7 @@ label L1900 load 118 __or_107_1899 brif 118 L1897 L1898 label L1897 -strref 119 m13s664 +strref 119 m13s666 load 120 base_node call 121 pith_struct_release void 1 120 load 122 recv_node @@ -43886,7 +43976,7 @@ iconst 124 0 store __or_124_1904 124 load 125 recv_node field 126 125 8 string value -strref 127 m13s662 +strref 127 m13s664 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 store __or_124_1904 128 @@ -43894,7 +43984,7 @@ brif 128 L1905 L1904 label L1904 load 130 recv_node field 131 130 8 string value -strref 132 m13s663 +strref 132 m13s665 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 store __or_124_1904 133 @@ -43902,7 +43992,7 @@ label L1905 load 135 __or_124_1904 brif 135 L1902 L1903 label L1902 -strref 136 m13s662 +strref 136 m13s664 load 137 base_node call 138 pith_struct_release void 1 137 load 139 recv_node @@ -43940,16 +44030,16 @@ endfunc func checker_handle_decode_error_type 1 string param module_name load 1 module_name -strref 2 m13s662 +strref 2 m13s664 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 brif 3 L1907 L1908 label L1907 -strref 5 m13s661 +strref 5 m13s663 ret 5 label L1908 label L1906 -strref 6 m13s660 +strref 6 m13s662 ret 6 iconst 7 0 ret 7 @@ -43965,7 +44055,7 @@ iconst 4 0 store __or_4_1912 4 load 5 index_node field 6 5 0 string kind -strref 7 m13s291 +strref 7 m13s293 call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 @@ -44001,7 +44091,7 @@ call 29 pith_struct_release void 1 23 store base_node 28 load 30 base_node field 31 30 0 string kind -strref 32 m13s293 +strref 32 m13s295 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 brif 33 L1915 L1916 @@ -44021,7 +44111,7 @@ iconst 43 0 store __or_43_1920 43 load 44 base_node field 45 44 0 string kind -strref 46 m13s292 +strref 46 m13s294 call 48 pith_cstring_eq bool 2 45 46 iconst 49 1 sub 47 49 48 @@ -44073,7 +44163,7 @@ call 79 pith_struct_release void 1 73 store recv_node 78 load 80 recv_node field 81 80 0 string kind -strref 82 m13s293 +strref 82 m13s295 call 84 pith_cstring_eq bool 2 81 82 iconst 85 1 sub 83 85 84 @@ -44098,7 +44188,7 @@ load 96 checker_module_aliases load 97 recv_node field 98 97 8 string value call 99 map_get_strict string 2 96 98 -strref 100 m13s659 +strref 100 m13s661 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 brif 101 L1932 L1933 @@ -44118,7 +44208,7 @@ iconst 108 0 store __or_108_1934 108 load 109 recv_node field 110 109 8 string value -strref 111 m13s658 +strref 111 m13s660 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 store __or_108_1934 112 @@ -44126,7 +44216,7 @@ brif 112 L1935 L1934 label L1934 load 114 recv_node field 115 114 8 string value -strref 116 m13s657 +strref 116 m13s659 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 store __or_108_1934 117 @@ -44157,7 +44247,7 @@ call 6 pith_struct_release void 1 3 store type_arg 5 load 7 type_arg field 8 7 0 string kind -strref 9 m13s293 +strref 9 m13s295 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 brif 10 L1937 L1938 @@ -44176,7 +44266,7 @@ iconst 19 0 store __and_19_1942 19 load 20 type_arg field 21 20 0 string kind -strref 22 m13s292 +strref 22 m13s294 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 store __and_19_1942 23 @@ -44202,7 +44292,7 @@ call 37 pith_struct_release void 1 31 store recv 36 load 38 recv field 39 38 0 string kind -strref 40 m13s293 +strref 40 m13s295 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 brif 41 L1945 L1946 @@ -44228,8 +44318,8 @@ label L1944 jmp L1939 label L1941 label L1939 -strref 58 m13s310 -strref 59 m13s656 +strref 58 m13s312 +strref 59 m13s658 call 60 checker_diagnostics_report_error void 2 58 59 call 61 pith_cstring_release void 1 58 call 62 pith_cstring_release void 1 59 @@ -44248,13 +44338,13 @@ ret 72 endfunc func checker_decode_support_seen_key 1 string param field_tid -strref 1 m13s655 +strref 1 m13s657 load 2 field_tid call 3 int_to_string string 1 2 concat 4 1 3 call 5 pith_cstring_release void 1 1 call 6 pith_cstring_release void 1 3 -strref 7 m13s655 +strref 7 m13s657 concat 8 4 7 call 9 pith_cstring_release void 1 4 call 10 pith_cstring_release void 1 7 @@ -44529,8 +44619,8 @@ iconst 8 2 lt 9 7 8 brif 9 L1981 L1982 label L1981 -strref 10 m13s557 -strref 11 m13s654 +strref 10 m13s559 +strref 11 m13s656 call 12 checker_diagnostics_report_error void 2 10 11 call 13 pith_cstring_release void 1 10 call 14 pith_cstring_release void 1 11 @@ -44556,14 +44646,14 @@ load 23 expected_args neq 24 22 23 brif 24 L1987 L1988 label L1987 -strref 25 m13s307 -strref 26 m13s653 +strref 25 m13s309 +strref 26 m13s655 load 27 expected_args call 28 int_to_string string 1 27 concat 29 26 28 call 30 pith_cstring_release void 1 26 call 31 pith_cstring_release void 1 28 -strref 32 m13s652 +strref 32 m13s654 concat 33 29 32 call 34 pith_cstring_release void 1 29 call 35 pith_cstring_release void 1 32 @@ -44612,8 +44702,8 @@ sub 65 67 66 call 68 pith_cstring_release void 1 64 brif 65 L1993 L1994 label L1993 -strref 69 m13s304 -strref 70 m13s651 +strref 69 m13s306 +strref 70 m13s653 load 71 target_tid call 72 types_get_type_name string 1 71 concat 73 70 72 @@ -44628,7 +44718,7 @@ call 81 pith_struct_release void 1 80 ret 79 label L1994 label L1992 -strref 82 m13s650 +strref 82 m13s652 call 83 types_lookup_type_id int 1 82 call 84 pith_cstring_release void 1 82 store cfg_tid 83 @@ -44637,8 +44727,8 @@ iconst 86 0 lt 87 85 86 brif 87 L1996 L1997 label L1996 -strref 88 m13s310 -strref 89 m13s649 +strref 88 m13s312 +strref 89 m13s651 call 90 checker_diagnostics_report_error void 2 88 89 call 91 pith_cstring_release void 1 88 call 92 pith_cstring_release void 1 89 @@ -44671,8 +44761,8 @@ label L2002 load 109 __and_101_2001 brif 109 L1999 L2000 label L1999 -strref 110 m13s304 -strref 111 m13s648 +strref 110 m13s306 +strref 111 m13s650 load 112 first_arg_tid call 113 types_get_type_name string 1 112 concat 114 111 113 @@ -44717,8 +44807,8 @@ label L2010 load 140 __and_132_2009 brif 140 L2007 L2008 label L2007 -strref 141 m13s304 -strref 142 m13s647 +strref 141 m13s306 +strref 142 m13s649 load 143 prefix_tid call 144 types_get_type_name string 1 143 concat 145 142 144 @@ -44776,8 +44866,8 @@ label L2019 load 177 __and_165_2018 brif 177 L2016 L2017 label L2016 -strref 178 m13s304 -strref 179 m13s646 +strref 178 m13s306 +strref 179 m13s648 load 180 __loopvar_122_field_name concat 181 179 180 call 182 pith_cstring_release void 1 179 @@ -44808,12 +44898,12 @@ iconst 201 1 sub 200 201 199 brif 200 L2024 L2025 label L2024 -strref 202 m13s304 -strref 203 m13s645 +strref 202 m13s306 +strref 203 m13s647 load 204 __loopvar_122_field_name concat 205 203 204 call 206 pith_cstring_release void 1 203 -strref 207 m13s624 +strref 207 m13s626 concat 208 205 207 call 209 pith_cstring_release void 1 205 call 210 pith_cstring_release void 1 207 @@ -44841,7 +44931,7 @@ add 224 222 223 store __for_idx_122 224 jmp L2011 label L2014 -strref 225 m13s623 +strref 225 m13s625 call 226 types_lookup_type_id int 1 225 call 227 pith_cstring_release void 1 225 store err_tid 226 @@ -44850,8 +44940,8 @@ iconst 229 0 lt 230 228 229 brif 230 L2027 L2028 label L2027 -strref 231 m13s310 -strref 232 m13s622 +strref 231 m13s312 +strref 232 m13s624 call 233 checker_diagnostics_report_error void 2 231 232 call 234 pith_cstring_release void 1 231 call 235 pith_cstring_release void 1 232 @@ -44890,8 +44980,8 @@ iconst 9 2 lt 10 8 9 brif 10 L2030 L2031 label L2030 -strref 11 m13s557 -strref 12 m13s644 +strref 11 m13s559 +strref 12 m13s646 call 13 checker_diagnostics_report_error void 2 11 12 call 14 pith_cstring_release void 1 11 call 15 pith_cstring_release void 1 12 @@ -44909,8 +44999,8 @@ iconst 23 1 neq 24 22 23 brif 24 L2033 L2034 label L2033 -strref 25 m13s307 -strref 26 m13s643 +strref 25 m13s309 +strref 26 m13s645 load 27 arg_indices call 28 pith_list_len int 1 27 call 29 int_to_string string 1 28 @@ -44960,8 +45050,8 @@ sub 60 62 61 call 63 pith_cstring_release void 1 59 brif 60 L2039 L2040 label L2039 -strref 64 m13s304 -strref 65 m13s642 +strref 64 m13s306 +strref 65 m13s644 load 66 target_tid call 67 types_get_type_name string 1 66 concat 68 65 67 @@ -44993,7 +45083,7 @@ iconst 88 0 store __and_88_2044 88 load 89 arg_node field 90 89 0 string kind -strref 91 m13s298 +strref 91 m13s300 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 store __and_88_2044 92 @@ -45052,14 +45142,14 @@ label L2053 load 122 __and_114_2052 brif 122 L2050 L2051 label L2050 -strref 123 m13s304 -strref 124 m13s641 +strref 123 m13s306 +strref 124 m13s643 load 125 expected_tid call 126 types_get_type_name string 1 125 concat 127 124 126 call 128 pith_cstring_release void 1 124 call 129 pith_cstring_release void 1 126 -strref 130 m13s301 +strref 130 m13s303 concat 131 127 130 call 132 pith_cstring_release void 1 127 call 133 pith_cstring_release void 1 130 @@ -45119,8 +45209,8 @@ label L2062 load 170 __and_158_2061 brif 170 L2059 L2060 label L2059 -strref 171 m13s304 -strref 172 m13s640 +strref 171 m13s306 +strref 172 m13s642 load 173 __loopvar_123_field_name concat 174 172 173 call 175 pith_cstring_release void 1 172 @@ -45153,12 +45243,12 @@ iconst 196 1 sub 195 196 194 brif 195 L2067 L2068 label L2067 -strref 197 m13s304 -strref 198 m13s639 +strref 197 m13s306 +strref 198 m13s641 load 199 __loopvar_123_field_name concat 200 198 199 call 201 pith_cstring_release void 1 198 -strref 202 m13s624 +strref 202 m13s626 concat 203 200 202 call 204 pith_cstring_release void 1 200 call 205 pith_cstring_release void 1 202 @@ -45188,7 +45278,7 @@ add 221 219 220 store __for_idx_123 221 jmp L2054 label L2057 -strref 222 m13s638 +strref 222 m13s640 call 223 types_lookup_type_id int 1 222 call 224 pith_cstring_release void 1 222 store err_tid 223 @@ -45197,8 +45287,8 @@ iconst 226 0 lt 227 225 226 brif 227 L2070 L2071 label L2070 -strref 228 m13s310 -strref 229 m13s637 +strref 228 m13s312 +strref 229 m13s639 call 230 checker_diagnostics_report_error void 2 228 229 call 231 pith_cstring_release void 1 228 call 232 pith_cstring_release void 1 229 @@ -45243,7 +45333,7 @@ iconst 8 0 store err_name 8 load 9 label load 10 module_name -strref 11 m13s636 +strref 11 m13s638 concat 12 10 11 call 13 pith_cstring_release void 1 11 call 14 pith_cstring_release void 1 9 @@ -45255,9 +45345,9 @@ iconst 18 2 lt 19 17 18 brif 19 L2073 L2074 label L2073 -strref 20 m13s557 +strref 20 m13s559 load 21 label -strref 22 m13s635 +strref 22 m13s637 concat 23 21 22 call 24 pith_cstring_release void 1 22 call 25 checker_diagnostics_report_error void 2 20 23 @@ -45281,9 +45371,9 @@ iconst 39 1 neq 40 38 39 brif 40 L2076 L2077 label L2076 -strref 41 m13s307 +strref 41 m13s309 load 42 label -strref 43 m13s445 +strref 43 m13s447 concat 44 42 43 call 45 pith_cstring_release void 1 43 load 46 arg_indices @@ -45343,9 +45433,9 @@ sub 87 89 88 call 90 pith_cstring_release void 1 86 brif 87 L2082 L2083 label L2082 -strref 91 m13s304 +strref 91 m13s306 load 92 label -strref 93 m13s634 +strref 93 m13s636 concat 94 92 93 call 95 pith_cstring_release void 1 93 load 96 target_tid @@ -45383,7 +45473,7 @@ iconst 122 0 store __and_122_2087 122 load 123 arg_node field 124 123 0 string kind -strref 125 m13s298 +strref 125 m13s300 call 126 pith_cstring_eq bool 2 124 125 call 127 pith_cstring_release void 1 125 store __and_122_2087 126 @@ -45442,9 +45532,9 @@ label L2096 load 156 __and_148_2095 brif 156 L2093 L2094 label L2093 -strref 157 m13s304 +strref 157 m13s306 load 158 label -strref 159 m13s633 +strref 159 m13s635 concat 160 158 159 call 161 pith_cstring_release void 1 159 load 162 expected_tid @@ -45452,7 +45542,7 @@ call 163 types_get_type_name string 1 162 concat 164 160 163 call 165 pith_cstring_release void 1 160 call 166 pith_cstring_release void 1 163 -strref 167 m13s301 +strref 167 m13s303 concat 168 164 167 call 169 pith_cstring_release void 1 164 call 170 pith_cstring_release void 1 167 @@ -45516,9 +45606,9 @@ label L2105 load 211 __and_199_2104 brif 211 L2102 L2103 label L2102 -strref 212 m13s304 +strref 212 m13s306 load 213 label -strref 214 m13s632 +strref 214 m13s634 concat 215 213 214 call 216 pith_cstring_release void 1 214 load 217 __loopvar_124_field_name @@ -45557,15 +45647,15 @@ iconst 244 1 sub 243 244 242 brif 243 L2110 L2111 label L2110 -strref 245 m13s304 +strref 245 m13s306 load 246 label -strref 247 m13s631 +strref 247 m13s633 concat 248 246 247 call 249 pith_cstring_release void 1 247 load 250 __loopvar_124_field_name concat 251 248 250 call 252 pith_cstring_release void 1 248 -strref 253 m13s624 +strref 253 m13s626 concat 254 251 253 call 255 pith_cstring_release void 1 251 call 256 pith_cstring_release void 1 253 @@ -45612,8 +45702,8 @@ iconst 284 0 lt 285 283 284 brif 285 L2113 L2114 label L2113 -strref 286 m13s310 -strref 287 m13s311 +strref 286 m13s312 +strref 287 m13s313 load 288 err_name concat 289 287 288 call 290 pith_cstring_release void 1 287 @@ -45672,8 +45762,8 @@ iconst 8 2 lt 9 7 8 brif 9 L2116 L2117 label L2116 -strref 10 m13s557 -strref 11 m13s630 +strref 10 m13s559 +strref 11 m13s632 call 12 checker_diagnostics_report_error void 2 10 11 call 13 pith_cstring_release void 1 10 call 14 pith_cstring_release void 1 11 @@ -45691,8 +45781,8 @@ iconst 22 1 neq 23 21 22 brif 23 L2119 L2120 label L2119 -strref 24 m13s307 -strref 25 m13s629 +strref 24 m13s309 +strref 25 m13s631 load 26 arg_indices call 27 pith_list_len int 1 26 call 28 int_to_string string 1 27 @@ -45742,8 +45832,8 @@ sub 59 61 60 call 62 pith_cstring_release void 1 58 brif 59 L2125 L2126 label L2125 -strref 63 m13s304 -strref 64 m13s628 +strref 63 m13s306 +strref 64 m13s630 load 65 target_tid call 66 types_get_type_name string 1 65 concat 67 64 66 @@ -45775,7 +45865,7 @@ iconst 87 0 store __and_87_2130 87 load 88 arg_node field 89 88 0 string kind -strref 90 m13s298 +strref 90 m13s300 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 store __and_87_2130 91 @@ -45824,14 +45914,14 @@ label L2136 load 117 __and_109_2135 brif 117 L2133 L2134 label L2133 -strref 118 m13s304 -strref 119 m13s627 +strref 118 m13s306 +strref 119 m13s629 load 120 expected_tid call 121 types_get_type_name string 1 120 concat 122 119 121 call 123 pith_cstring_release void 1 119 call 124 pith_cstring_release void 1 121 -strref 125 m13s301 +strref 125 m13s303 concat 126 122 125 call 127 pith_cstring_release void 1 122 call 128 pith_cstring_release void 1 125 @@ -45891,8 +45981,8 @@ label L2145 load 165 __and_153_2144 brif 165 L2142 L2143 label L2142 -strref 166 m13s304 -strref 167 m13s626 +strref 166 m13s306 +strref 167 m13s628 load 168 __loopvar_125_field_name concat 169 167 168 call 170 pith_cstring_release void 1 167 @@ -45925,12 +46015,12 @@ iconst 191 1 sub 190 191 189 brif 190 L2150 L2151 label L2150 -strref 192 m13s304 -strref 193 m13s625 +strref 192 m13s306 +strref 193 m13s627 load 194 __loopvar_125_field_name concat 195 193 194 call 196 pith_cstring_release void 1 193 -strref 197 m13s624 +strref 197 m13s626 concat 198 195 197 call 199 pith_cstring_release void 1 195 call 200 pith_cstring_release void 1 197 @@ -45960,7 +46050,7 @@ add 216 214 215 store __for_idx_125 216 jmp L2137 label L2140 -strref 217 m13s623 +strref 217 m13s625 call 218 types_lookup_type_id int 1 217 call 219 pith_cstring_release void 1 217 store err_tid 218 @@ -45969,8 +46059,8 @@ iconst 221 0 lt 222 220 221 brif 222 L2153 L2154 label L2153 -strref 223 m13s310 -strref 224 m13s622 +strref 223 m13s312 +strref 224 m13s624 call 225 checker_diagnostics_report_error void 2 223 224 call 226 pith_cstring_release void 1 223 call 227 pith_cstring_release void 1 224 @@ -46009,7 +46099,7 @@ iconst 3 0 store __or_3_2158 3 load 4 index_node field 5 4 0 string kind -strref 6 m13s291 +strref 6 m13s293 call 8 pith_cstring_eq bool 2 5 6 iconst 9 1 sub 7 9 8 @@ -46045,7 +46135,7 @@ call 28 pith_struct_release void 1 22 store base_node 27 load 29 base_node field 30 29 0 string kind -strref 31 m13s293 +strref 31 m13s295 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 brif 32 L2161 L2162 @@ -46064,7 +46154,7 @@ iconst 41 0 store __and_41_2166 41 load 42 base_node field 43 42 0 string kind -strref 44 m13s292 +strref 44 m13s294 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 store __and_41_2166 45 @@ -46092,7 +46182,7 @@ iconst 60 0 store __and_60_2171 60 load 61 recv_node field 62 61 0 string kind -strref 63 m13s293 +strref 63 m13s295 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 store __and_60_2171 64 @@ -46148,7 +46238,7 @@ call 5 pith_struct_release void 1 2 store type_arg 4 load 6 type_arg field 7 6 0 string kind -strref 8 m13s293 +strref 8 m13s295 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 brif 9 L2174 L2175 @@ -46248,9 +46338,9 @@ call 52 pith_list_len int 1 51 neq 53 50 52 brif 53 L2183 L2184 label L2183 -strref 54 m13s621 +strref 54 m13s623 load 55 name -strref 56 m13s549 +strref 56 m13s551 concat 57 55 56 call 58 pith_cstring_release void 1 56 load 59 generic_params @@ -46259,7 +46349,7 @@ call 61 int_to_string string 1 60 concat 62 57 61 call 63 pith_cstring_release void 1 57 call 64 pith_cstring_release void 1 61 -strref 65 m13s620 +strref 65 m13s622 concat 66 62 65 call 67 pith_cstring_release void 1 62 call 68 pith_cstring_release void 1 65 @@ -46491,9 +46581,9 @@ call 64 pith_list_len int 1 63 neq 65 62 64 brif 65 L2205 L2206 label L2205 -strref 66 m13s621 +strref 66 m13s623 load 67 name -strref 68 m13s549 +strref 68 m13s551 concat 69 67 68 call 70 pith_cstring_release void 1 68 load 71 generic_params @@ -46502,7 +46592,7 @@ call 73 int_to_string string 1 72 concat 74 69 73 call 75 pith_cstring_release void 1 69 call 76 pith_cstring_release void 1 73 -strref 77 m13s620 +strref 77 m13s622 concat 78 74 77 call 79 pith_cstring_release void 1 74 call 80 pith_cstring_release void 1 77 @@ -46637,7 +46727,7 @@ iconst 172 0 store __and_172_2224 172 load 173 arg_node field 174 173 0 string kind -strref 175 m13s298 +strref 175 m13s300 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 store __and_172_2224 176 @@ -46701,7 +46791,7 @@ call 212 pith_struct_release void 1 209 store cn 211 load 213 cn field 214 213 0 string kind -strref 215 m13s323 +strref 215 m13s325 call 216 pith_cstring_eq bool 2 214 215 call 217 pith_cstring_release void 1 215 brif 216 L2231 L2232 @@ -46744,15 +46834,15 @@ call 240 pith_list_len int 1 239 neq 241 238 240 brif 241 L2237 L2238 label L2237 -strref 242 m13s307 -strref 243 m13s558 +strref 242 m13s309 +strref 243 m13s560 load 244 param_type_nodes call 245 pith_list_len int 1 244 call 246 int_to_string string 1 245 concat 247 243 246 call 248 pith_cstring_release void 1 243 call 249 pith_cstring_release void 1 246 -strref 250 m13s548 +strref 250 m13s550 concat 251 247 250 call 252 pith_cstring_release void 1 247 call 253 pith_cstring_release void 1 250 @@ -46811,7 +46901,7 @@ call 294 pith_struct_release void 1 291 store cn 293 load 295 cn field 296 295 0 string kind -strref 297 m13s555 +strref 297 m13s557 call 298 pith_cstring_eq bool 2 296 297 call 299 pith_cstring_release void 1 297 brif 298 L2244 L2245 @@ -46910,14 +47000,14 @@ iconst 355 0 eq 356 354 355 brif 356 L2264 L2265 label L2264 -strref 357 m13s304 -strref 358 m13s443 +strref 357 m13s306 +strref 358 m13s445 load 359 concrete call 360 types_get_type_name string 1 359 concat 361 358 360 call 362 pith_cstring_release void 1 358 call 363 pith_cstring_release void 1 360 -strref 364 m13s301 +strref 364 m13s303 concat 365 361 364 call 366 pith_cstring_release void 1 361 call 367 pith_cstring_release void 1 364 @@ -47094,13 +47184,13 @@ jmp L2269 label L2272 load 66 callee_node field 67 66 0 string kind -strref 68 m13s291 +strref 68 m13s293 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 brif 69 L2277 L2278 label L2277 load 71 callee_node -strref 72 m13s618 +strref 72 m13s620 call 73 checker_check_json_decode_callee bool 2 71 72 call 74 pith_cstring_release void 1 72 brif 73 L2280 L2281 @@ -47130,7 +47220,7 @@ ret 79 label L2281 label L2279 load 96 callee_node -strref 97 m13s617 +strref 97 m13s619 call 98 checker_check_json_decode_callee bool 2 96 97 call 99 pith_cstring_release void 1 97 brif 98 L2283 L2284 @@ -47160,7 +47250,7 @@ ret 104 label L2284 label L2282 load 121 callee_node -strref 122 m13s618 +strref 122 m13s620 call 123 checker_check_config_decode_callee bool 2 121 122 call 124 pith_cstring_release void 1 122 brif 123 L2286 L2287 @@ -47190,7 +47280,7 @@ ret 129 label L2287 label L2285 load 146 callee_node -strref 147 m13s619 +strref 147 m13s621 call 148 checker_check_config_decode_callee bool 2 146 147 call 149 pith_cstring_release void 1 147 brif 148 L2289 L2290 @@ -47220,14 +47310,14 @@ ret 154 label L2290 label L2288 load 171 callee_node -strref 172 m13s618 +strref 172 m13s620 call 173 checker_check_handle_decode_callee bool 2 171 172 call 174 pith_cstring_release void 1 172 brif 173 L2292 L2293 label L2292 load 175 callee_node load 176 callee_node -strref 177 m13s618 +strref 177 m13s620 call 178 checker_handle_decode_module string 2 176 177 call 179 pith_cstring_release void 1 177 load 180 arg_indices @@ -47255,14 +47345,14 @@ ret 183 label L2293 label L2291 load 201 callee_node -strref 202 m13s617 +strref 202 m13s619 call 203 checker_check_handle_decode_callee bool 2 201 202 call 204 pith_cstring_release void 1 202 brif 203 L2295 L2296 label L2295 load 205 callee_node load 206 callee_node -strref 207 m13s617 +strref 207 m13s619 call 208 checker_handle_decode_module string 2 206 207 call 209 pith_cstring_release void 1 207 load 210 arg_indices @@ -47290,7 +47380,7 @@ ret 213 label L2296 label L2294 load 231 callee_node -strref 232 m13s616 +strref 232 m13s618 call 233 checker_check_config_file_decode_callee bool 2 231 232 call 234 pith_cstring_release void 1 232 brif 233 L2298 L2299 @@ -47319,7 +47409,7 @@ ret 238 label L2299 label L2297 load 255 callee_node -strref 256 m13s615 +strref 256 m13s617 call 257 checker_check_config_file_decode_callee bool 2 255 256 call 258 pith_cstring_release void 1 256 brif 257 L2301 L2302 @@ -47364,7 +47454,7 @@ call 290 pith_struct_release void 1 284 store obj_node 289 load 291 obj_node field 292 291 0 string kind -strref 293 m13s293 +strref 293 m13s295 call 294 pith_cstring_eq bool 2 292 293 call 295 pith_cstring_release void 1 293 brif 294 L2307 L2308 @@ -47434,7 +47524,7 @@ call 337 pith_struct_release void 1 333 store gdecl 336 load 338 gdecl field 339 338 0 string kind -strref 340 m13s287 +strref 340 m13s289 call 341 pith_cstring_eq bool 2 339 340 call 342 pith_cstring_release void 1 340 brif 341 L2318 L2319 @@ -47512,7 +47602,7 @@ label L2278 label L2276 load 405 callee_node field 406 405 0 string kind -strref 407 m13s293 +strref 407 m13s295 call 408 pith_cstring_eq bool 2 406 407 call 409 pith_cstring_release void 1 407 brif 408 L2321 L2322 @@ -47530,7 +47620,7 @@ store __and_415_2326 416 brif 416 L2326 L2327 label L2326 load 417 name -strref 418 m13s614 +strref 418 m13s616 call 419 pith_cstring_eq bool 2 417 418 call 420 pith_cstring_release void 1 418 store __and_415_2326 419 @@ -47567,7 +47657,7 @@ store __and_441_2331 442 brif 442 L2331 L2332 label L2331 load 443 name -strref 444 m13s613 +strref 444 m13s615 call 445 pith_cstring_eq bool 2 443 444 call 446 pith_cstring_release void 1 444 store __and_441_2331 445 @@ -47626,7 +47716,7 @@ ret 473 label L2335 label L2333 load 490 name -strref 491 m13s503 +strref 491 m13s505 call 492 pith_cstring_eq bool 2 490 491 call 493 pith_cstring_release void 1 491 brif 492 L2337 L2338 @@ -47654,7 +47744,7 @@ ret 496 label L2338 label L2336 load 513 name -strref 514 m13s502 +strref 514 m13s504 call 515 pith_cstring_eq bool 2 513 514 call 516 pith_cstring_release void 1 514 brif 515 L2340 L2341 @@ -47857,7 +47947,7 @@ call 667 pith_struct_release void 1 663 store gdecl 666 load 668 gdecl field 669 668 0 string kind -strref 670 m13s287 +strref 670 m13s289 call 671 pith_cstring_eq bool 2 669 670 call 672 pith_cstring_release void 1 670 brif 671 L2367 L2368 @@ -47989,15 +48079,15 @@ call 11 pith_struct_release void 1 5 store type_arg_node 10 load 12 type_arg_node field 13 12 0 string kind -strref 14 m13s293 +strref 14 m13s295 call 16 pith_cstring_eq bool 2 13 14 iconst 17 1 sub 15 17 16 call 18 pith_cstring_release void 1 14 brif 15 L2370 L2371 label L2370 -strref 19 m13s612 -strref 20 m13s611 +strref 19 m13s614 +strref 20 m13s613 call 21 checker_diagnostics_report_error void 2 19 20 call 22 pith_cstring_release void 1 19 call 23 pith_cstring_release void 1 20 @@ -48031,8 +48121,8 @@ iconst 41 1 gt 42 40 41 brif 42 L2376 L2377 label L2376 -strref 43 m13s307 -strref 44 m13s610 +strref 43 m13s309 +strref 44 m13s612 load 45 arg_indices call 46 pith_list_len int 1 45 call 47 int_to_string string 1 46 @@ -48136,8 +48226,8 @@ sub 12 14 13 call 15 pith_cstring_release void 1 11 brif 12 L2385 L2386 label L2385 -strref 16 m13s579 -strref 17 m13s609 +strref 16 m13s581 +strref 17 m13s611 call 18 checker_diagnostics_report_error void 2 16 17 call 19 pith_cstring_release void 1 16 call 20 pith_cstring_release void 1 17 @@ -48157,8 +48247,8 @@ call 30 pith_list_len int 1 29 neq 31 27 30 brif 31 L2388 L2389 label L2388 -strref 32 m13s307 -strref 33 m13s558 +strref 32 m13s309 +strref 33 m13s560 load 34 fn_info field 35 34 48 list param_types call 36 pith_list_len int 1 35 @@ -48166,7 +48256,7 @@ call 37 int_to_string string 1 36 concat 38 33 37 call 39 pith_cstring_release void 1 33 call 40 pith_cstring_release void 1 37 -strref 41 m13s548 +strref 41 m13s550 concat 42 38 41 call 43 pith_cstring_release void 1 38 call 44 pith_cstring_release void 1 41 @@ -48214,7 +48304,7 @@ load 73 __loopvar_133_ai store arg_expr_idx 73 load 74 arg_node field 75 74 0 string kind -strref 76 m13s298 +strref 76 m13s300 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 brif 77 L2395 L2396 @@ -48271,14 +48361,14 @@ iconst 110 0 eq 111 109 110 brif 111 L2410 L2411 label L2410 -strref 112 m13s304 -strref 113 m13s443 +strref 112 m13s306 +strref 113 m13s445 load 114 expected call 115 types_get_type_name string 1 114 concat 116 113 115 call 117 pith_cstring_release void 1 113 call 118 pith_cstring_release void 1 115 -strref 119 m13s301 +strref 119 m13s303 concat 120 116 119 call 121 pith_cstring_release void 1 116 call 122 pith_cstring_release void 1 119 @@ -48356,7 +48446,7 @@ iconst 15 0 store __and_15_2419 15 load 16 an field 17 16 0 string kind -strref 18 m13s298 +strref 18 m13s300 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 store __and_15_2419 19 @@ -48476,7 +48566,7 @@ iconst 24 0 store __or_24_2435 24 load 25 an field 26 25 0 string kind -strref 27 m13s298 +strref 27 m13s300 call 29 pith_cstring_eq bool 2 26 27 iconst 30 1 sub 28 30 29 @@ -48494,9 +48584,9 @@ label L2436 load 37 __or_24_2435 brif 37 L2433 L2434 label L2433 -strref 38 m13s608 +strref 38 m13s610 load 39 name -strref 40 m13s607 +strref 40 m13s609 concat 41 39 40 call 42 pith_cstring_release void 1 40 call 43 checker_diagnostics_report_error void 2 38 41 @@ -48514,16 +48604,16 @@ iconst 51 0 eq 52 50 51 brif 52 L2437 L2438 label L2437 -strref 53 m13s606 +strref 53 m13s608 load 54 name -strref 55 m13s428 +strref 55 m13s430 concat 56 54 55 call 57 pith_cstring_release void 1 55 load 58 an field 59 58 8 string value concat 60 56 59 call 61 pith_cstring_release void 1 56 -strref 62 m13s349 +strref 62 m13s351 concat 63 60 62 call 64 pith_cstring_release void 1 60 call 65 pith_cstring_release void 1 62 @@ -48540,16 +48630,16 @@ field 72 71 8 string value call 73 contains_key bool 2 70 72 brif 73 L2439 L2440 label L2439 -strref 74 m13s605 +strref 74 m13s607 load 75 name -strref 76 m13s604 +strref 76 m13s606 concat 77 75 76 call 78 pith_cstring_release void 1 76 load 79 an field 80 79 8 string value concat 81 77 80 call 82 pith_cstring_release void 1 77 -strref 83 m13s603 +strref 83 m13s605 concat 84 81 83 call 85 pith_cstring_release void 1 81 call 86 pith_cstring_release void 1 83 @@ -48621,15 +48711,15 @@ iconst 127 0 eq 128 126 127 brif 128 L2452 L2453 label L2452 -strref 129 m13s602 +strref 129 m13s604 load 130 name -strref 131 m13s601 +strref 131 m13s603 concat 132 130 131 call 133 pith_cstring_release void 1 131 load 134 __loopvar_137_fld concat 135 132 134 call 136 pith_cstring_release void 1 132 -strref 137 m13s349 +strref 137 m13s351 concat 138 135 137 call 139 pith_cstring_release void 1 135 call 140 pith_cstring_release void 1 137 @@ -48743,12 +48833,12 @@ iconst 207 0 eq 208 206 207 brif 208 L2477 L2478 label L2477 -strref 209 m13s304 -strref 210 m13s303 +strref 209 m13s306 +strref 210 m13s305 load 211 __loopvar_138_fld concat 212 210 211 call 213 pith_cstring_release void 1 210 -strref 214 m13s302 +strref 214 m13s304 concat 215 212 214 call 216 pith_cstring_release void 1 212 call 217 pith_cstring_release void 1 214 @@ -48757,7 +48847,7 @@ call 219 types_get_type_name string 1 218 concat 220 215 219 call 221 pith_cstring_release void 1 215 call 222 pith_cstring_release void 1 219 -strref 223 m13s301 +strref 223 m13s303 concat 224 220 223 call 225 pith_cstring_release void 1 220 call 226 pith_cstring_release void 1 223 @@ -48839,9 +48929,9 @@ call 20 pith_list_len int 1 19 gt 21 17 20 brif 21 L2483 L2484 label L2483 -strref 22 m13s307 +strref 22 m13s309 load 23 name -strref 24 m13s308 +strref 24 m13s310 concat 25 23 24 call 26 pith_cstring_release void 1 24 load 27 info @@ -48851,7 +48941,7 @@ call 30 int_to_string string 1 29 concat 31 25 30 call 32 pith_cstring_release void 1 25 call 33 pith_cstring_release void 1 30 -strref 34 m13s305 +strref 34 m13s307 concat 35 31 34 call 36 pith_cstring_release void 1 31 call 37 pith_cstring_release void 1 34 @@ -48880,9 +48970,9 @@ load 55 min_required lt 56 54 55 brif 56 L2486 L2487 label L2486 -strref 57 m13s307 +strref 57 m13s309 load 58 name -strref 59 m13s306 +strref 59 m13s308 concat 60 58 59 call 61 pith_cstring_release void 1 59 load 62 min_required @@ -48890,7 +48980,7 @@ call 63 int_to_string string 1 62 concat 64 60 63 call 65 pith_cstring_release void 1 60 call 66 pith_cstring_release void 1 63 -strref 67 m13s305 +strref 67 m13s307 concat 68 64 67 call 69 pith_cstring_release void 1 64 call 70 pith_cstring_release void 1 67 @@ -48936,7 +49026,7 @@ load 97 __loopvar_139_ai store arg_expr_idx 97 load 98 arg_node field 99 98 0 string kind -strref 100 m13s298 +strref 100 m13s300 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 brif 101 L2493 L2494 @@ -49027,15 +49117,15 @@ iconst 156 0 eq 157 155 156 brif 157 L2517 L2518 label L2517 -strref 158 m13s304 -strref 159 m13s303 +strref 158 m13s306 +strref 159 m13s305 load 160 info field 161 160 16 list_string fields load 162 idx call 163 pith_list_get_value_strict string 2 161 162 concat 164 159 163 call 165 pith_cstring_release void 1 159 -strref 166 m13s302 +strref 166 m13s304 concat 167 164 166 call 168 pith_cstring_release void 1 164 call 169 pith_cstring_release void 1 166 @@ -49044,7 +49134,7 @@ call 171 types_get_type_name string 1 170 concat 172 167 171 call 173 pith_cstring_release void 1 167 call 174 pith_cstring_release void 1 171 -strref 175 m13s301 +strref 175 m13s303 concat 176 172 175 call 177 pith_cstring_release void 1 172 call 178 pith_cstring_release void 1 175 @@ -49133,7 +49223,7 @@ call 25 pith_struct_release void 1 22 store fnode 24 load 26 fnode field 27 26 0 string kind -strref 28 m13s564 +strref 28 m13s566 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 brif 29 L2526 L2527 @@ -49204,7 +49294,7 @@ call 69 pith_struct_release void 1 66 store arg_info 68 load 70 fnode field 71 70 0 string kind -strref 72 m13s563 +strref 72 m13s565 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 brif 73 L2539 L2540 @@ -49448,7 +49538,7 @@ label L2540 label L2538 load 234 fnode field 235 234 0 string kind -strref 236 m13s562 +strref 236 m13s564 call 237 pith_cstring_eq bool 2 235 236 call 238 pith_cstring_release void 1 236 brif 237 L2587 L2588 @@ -49492,7 +49582,7 @@ label L2588 label L2586 load 263 fnode field 264 263 0 string kind -strref 265 m13s560 +strref 265 m13s562 call 266 pith_cstring_eq bool 2 264 265 call 267 pith_cstring_release void 1 265 brif 266 L2596 L2597 @@ -49594,7 +49684,7 @@ call 16 pith_struct_release void 1 13 store an 15 load 17 an field 18 17 0 string kind -strref 19 m13s298 +strref 19 m13s300 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 brif 20 L2613 L2614 @@ -49717,7 +49807,7 @@ call 43 pith_struct_release void 1 40 store cn 42 load 44 cn field 45 44 0 string kind -strref 46 m13s285 +strref 46 m13s287 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 brif 47 L2626 L2627 @@ -49821,7 +49911,7 @@ load 108 __loopvar_145_ai store arg_expr 108 load 109 arg_node field 110 109 0 string kind -strref 111 m13s298 +strref 111 m13s300 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 brif 112 L2643 L2644 @@ -49863,9 +49953,9 @@ call 134 pith_list_len int 1 133 gt 135 132 134 brif 135 L2649 L2650 label L2649 -strref 136 m13s307 +strref 136 m13s309 load 137 name -strref 138 m13s308 +strref 138 m13s310 concat 139 137 138 call 140 pith_cstring_release void 1 138 load 141 field_type_nodes @@ -49874,7 +49964,7 @@ call 143 int_to_string string 1 142 concat 144 139 143 call 145 pith_cstring_release void 1 139 call 146 pith_cstring_release void 1 143 -strref 147 m13s305 +strref 147 m13s307 concat 148 144 147 call 149 pith_cstring_release void 1 144 call 150 pith_cstring_release void 1 147 @@ -50160,8 +50250,8 @@ iconst 6 2 neq 7 5 6 brif 7 L2679 L2680 label L2679 -strref 8 m13s307 -strref 9 m13s600 +strref 8 m13s309 +strref 9 m13s602 load 10 arg_indices call 11 pith_list_len int 1 10 call 12 int_to_string string 1 11 @@ -50203,7 +50293,7 @@ load 39 second_idx store second_expr 39 load 40 first_node field 41 40 0 string kind -strref 42 m13s298 +strref 42 m13s300 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 brif 43 L2682 L2683 @@ -50228,7 +50318,7 @@ label L2683 label L2681 load 54 second_node field 55 54 0 string kind -strref 56 m13s298 +strref 56 m13s300 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 brif 57 L2688 L2689 @@ -50289,14 +50379,14 @@ label L2703 load 91 __and_82_2702 brif 91 L2700 L2701 label L2700 -strref 92 m13s304 -strref 93 m13s599 +strref 92 m13s306 +strref 93 m13s601 load 94 t1 call 95 types_get_type_name string 1 94 concat 96 93 95 call 97 pith_cstring_release void 1 93 call 98 pith_cstring_release void 1 95 -strref 99 m13s369 +strref 99 m13s371 concat 100 96 99 call 101 pith_cstring_release void 1 96 call 102 pith_cstring_release void 1 99 @@ -50341,7 +50431,7 @@ call 5 pith_struct_release void 1 2 store arg_node 4 load 6 arg_node field 7 6 0 string kind -strref 8 m13s298 +strref 8 m13s300 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 brif 9 L2705 L2706 @@ -50387,8 +50477,8 @@ iconst 6 2 neq 7 5 6 brif 7 L2711 L2712 label L2711 -strref 8 m13s307 -strref 9 m13s598 +strref 8 m13s309 +strref 9 m13s600 load 10 arg_indices call 11 pith_list_len int 1 10 call 12 int_to_string string 1 11 @@ -50458,8 +50548,8 @@ sub 57 59 58 call 60 pith_cstring_release void 1 56 brif 57 L2720 L2721 label L2720 -strref 61 m13s304 -strref 62 m13s597 +strref 61 m13s306 +strref 62 m13s599 load 63 list_tid call 64 types_get_type_name string 1 63 concat 65 62 64 @@ -50490,8 +50580,8 @@ sub 83 85 84 call 86 pith_cstring_release void 1 82 brif 83 L2723 L2724 label L2723 -strref 87 m13s579 -strref 88 m13s596 +strref 87 m13s581 +strref 88 m13s598 call 89 checker_diagnostics_report_error void 2 87 88 call 90 pith_cstring_release void 1 87 call 91 pith_cstring_release void 1 88 @@ -50510,8 +50600,8 @@ iconst 100 1 neq 101 99 100 brif 101 L2726 L2727 label L2726 -strref 102 m13s307 -strref 103 m13s587 +strref 102 m13s309 +strref 103 m13s589 load 104 fn_info field 105 104 48 list param_types call 106 pith_list_len int 1 105 @@ -50541,15 +50631,15 @@ iconst 126 0 eq 127 125 126 brif 127 L2729 L2730 label L2729 -strref 128 m13s304 -strref 129 m13s586 +strref 128 m13s306 +strref 129 m13s588 load 130 list_info field 131 130 64 int inner call 132 types_get_type_name string 1 131 concat 133 129 132 call 134 pith_cstring_release void 1 129 call 135 pith_cstring_release void 1 132 -strref 136 m13s301 +strref 136 m13s303 concat 137 133 136 call 138 pith_cstring_release void 1 133 call 139 pith_cstring_release void 1 136 @@ -50600,8 +50690,8 @@ iconst 6 2 neq 7 5 6 brif 7 L2732 L2733 label L2732 -strref 8 m13s307 -strref 9 m13s595 +strref 8 m13s309 +strref 9 m13s597 load 10 arg_indices call 11 pith_list_len int 1 10 call 12 int_to_string string 1 11 @@ -50671,8 +50761,8 @@ sub 57 59 58 call 60 pith_cstring_release void 1 56 brif 57 L2741 L2742 label L2741 -strref 61 m13s304 -strref 62 m13s594 +strref 61 m13s306 +strref 62 m13s596 load 63 list_tid call 64 types_get_type_name string 1 63 concat 65 62 64 @@ -50703,8 +50793,8 @@ sub 83 85 84 call 86 pith_cstring_release void 1 82 brif 83 L2744 L2745 label L2744 -strref 87 m13s579 -strref 88 m13s593 +strref 87 m13s581 +strref 88 m13s595 call 89 checker_diagnostics_report_error void 2 87 88 call 90 pith_cstring_release void 1 87 call 91 pith_cstring_release void 1 88 @@ -50723,8 +50813,8 @@ iconst 100 1 neq 101 99 100 brif 101 L2747 L2748 label L2747 -strref 102 m13s307 -strref 103 m13s583 +strref 102 m13s309 +strref 103 m13s585 load 104 fn_info field 105 104 48 list param_types call 106 pith_list_len int 1 105 @@ -50754,15 +50844,15 @@ iconst 126 0 eq 127 125 126 brif 127 L2750 L2751 label L2750 -strref 128 m13s304 -strref 129 m13s582 +strref 128 m13s306 +strref 129 m13s584 load 130 list_info field 131 130 64 int inner call 132 types_get_type_name string 1 131 concat 133 129 132 call 134 pith_cstring_release void 1 129 call 135 pith_cstring_release void 1 132 -strref 136 m13s301 +strref 136 m13s303 concat 137 133 136 call 138 pith_cstring_release void 1 133 call 139 pith_cstring_release void 1 136 @@ -50800,8 +50890,8 @@ iconst 165 0 eq 166 164 165 brif 166 L2756 L2757 label L2756 -strref 167 m13s304 -strref 168 m13s581 +strref 167 m13s306 +strref 168 m13s583 load 169 fn_info field 170 169 56 int return_type call 171 types_get_type_name string 1 170 @@ -50848,8 +50938,8 @@ iconst 6 3 neq 7 5 6 brif 7 L2759 L2760 label L2759 -strref 8 m13s307 -strref 9 m13s592 +strref 8 m13s309 +strref 9 m13s594 load 10 arg_indices call 11 pith_list_len int 1 10 call 12 int_to_string string 1 11 @@ -50938,8 +51028,8 @@ sub 70 72 71 call 73 pith_cstring_release void 1 69 brif 70 L2771 L2772 label L2771 -strref 74 m13s304 -strref 75 m13s591 +strref 74 m13s306 +strref 75 m13s593 load 76 list_tid call 77 types_get_type_name string 1 76 concat 78 75 77 @@ -50970,8 +51060,8 @@ sub 96 98 97 call 99 pith_cstring_release void 1 95 brif 96 L2774 L2775 label L2774 -strref 100 m13s579 -strref 101 m13s590 +strref 100 m13s581 +strref 101 m13s592 call 102 checker_diagnostics_report_error void 2 100 101 call 103 pith_cstring_release void 1 100 call 104 pith_cstring_release void 1 101 @@ -50990,8 +51080,8 @@ iconst 113 2 neq 114 112 113 brif 114 L2777 L2778 label L2777 -strref 115 m13s307 -strref 116 m13s577 +strref 115 m13s309 +strref 116 m13s579 load 117 fn_info field 118 117 48 list param_types call 119 pith_list_len int 1 118 @@ -51020,14 +51110,14 @@ iconst 138 0 eq 139 137 138 brif 139 L2780 L2781 label L2780 -strref 140 m13s304 -strref 141 m13s576 +strref 140 m13s306 +strref 141 m13s578 load 142 init_tid call 143 types_get_type_name string 1 142 concat 144 141 143 call 145 pith_cstring_release void 1 141 call 146 pith_cstring_release void 1 143 -strref 147 m13s301 +strref 147 m13s303 concat 148 144 147 call 149 pith_cstring_release void 1 144 call 150 pith_cstring_release void 1 147 @@ -51061,15 +51151,15 @@ iconst 174 0 eq 175 173 174 brif 175 L2783 L2784 label L2783 -strref 176 m13s304 -strref 177 m13s575 +strref 176 m13s306 +strref 177 m13s577 load 178 list_info field 179 178 64 int inner call 180 types_get_type_name string 1 179 concat 181 177 180 call 182 pith_cstring_release void 1 177 call 183 pith_cstring_release void 1 180 -strref 184 m13s301 +strref 184 m13s303 concat 185 181 184 call 186 pith_cstring_release void 1 181 call 187 pith_cstring_release void 1 184 @@ -51100,14 +51190,14 @@ iconst 208 0 eq 209 207 208 brif 209 L2786 L2787 label L2786 -strref 210 m13s304 -strref 211 m13s574 +strref 210 m13s306 +strref 211 m13s576 load 212 init_tid call 213 types_get_type_name string 1 212 concat 214 211 213 call 215 pith_cstring_release void 1 211 call 216 pith_cstring_release void 1 213 -strref 217 m13s301 +strref 217 m13s303 concat 218 214 217 call 219 pith_cstring_release void 1 214 call 220 pith_cstring_release void 1 217 @@ -51153,8 +51243,8 @@ iconst 6 1 neq 7 5 6 brif 7 L2789 L2790 label L2789 -strref 8 m13s307 -strref 9 m13s589 +strref 8 m13s309 +strref 9 m13s591 load 10 args call 11 pith_list_len int 1 10 call 12 int_to_string string 1 11 @@ -51201,8 +51291,8 @@ sub 40 42 41 call 43 pith_cstring_release void 1 39 brif 40 L2795 L2796 label L2795 -strref 44 m13s579 -strref 45 m13s588 +strref 44 m13s581 +strref 45 m13s590 call 46 checker_diagnostics_report_error void 2 44 45 call 47 pith_cstring_release void 1 44 call 48 pith_cstring_release void 1 45 @@ -51219,8 +51309,8 @@ iconst 55 1 neq 56 54 55 brif 56 L2798 L2799 label L2798 -strref 57 m13s307 -strref 58 m13s587 +strref 57 m13s309 +strref 58 m13s589 load 59 fn_info field 60 59 48 list param_types call 61 pith_list_len int 1 60 @@ -51248,15 +51338,15 @@ iconst 79 0 eq 80 78 79 brif 80 L2801 L2802 label L2801 -strref 81 m13s304 -strref 82 m13s586 +strref 81 m13s306 +strref 82 m13s588 load 83 info field 84 83 64 int inner call 85 types_get_type_name string 1 84 concat 86 82 85 call 87 pith_cstring_release void 1 82 call 88 pith_cstring_release void 1 85 -strref 89 m13s301 +strref 89 m13s303 concat 90 86 89 call 91 pith_cstring_release void 1 86 call 92 pith_cstring_release void 1 89 @@ -51300,8 +51390,8 @@ iconst 6 1 neq 7 5 6 brif 7 L2804 L2805 label L2804 -strref 8 m13s307 -strref 9 m13s585 +strref 8 m13s309 +strref 9 m13s587 load 10 args call 11 pith_list_len int 1 10 call 12 int_to_string string 1 11 @@ -51348,8 +51438,8 @@ sub 40 42 41 call 43 pith_cstring_release void 1 39 brif 40 L2810 L2811 label L2810 -strref 44 m13s579 -strref 45 m13s584 +strref 44 m13s581 +strref 45 m13s586 call 46 checker_diagnostics_report_error void 2 44 45 call 47 pith_cstring_release void 1 44 call 48 pith_cstring_release void 1 45 @@ -51366,8 +51456,8 @@ iconst 55 1 neq 56 54 55 brif 56 L2813 L2814 label L2813 -strref 57 m13s307 -strref 58 m13s583 +strref 57 m13s309 +strref 58 m13s585 load 59 fn_info field 60 59 48 list param_types call 61 pith_list_len int 1 60 @@ -51395,15 +51485,15 @@ iconst 79 0 eq 80 78 79 brif 80 L2816 L2817 label L2816 -strref 81 m13s304 -strref 82 m13s582 +strref 81 m13s306 +strref 82 m13s584 load 83 info field 84 83 64 int inner call 85 types_get_type_name string 1 84 concat 86 82 85 call 87 pith_cstring_release void 1 82 call 88 pith_cstring_release void 1 85 -strref 89 m13s301 +strref 89 m13s303 concat 90 86 89 call 91 pith_cstring_release void 1 86 call 92 pith_cstring_release void 1 89 @@ -51439,8 +51529,8 @@ iconst 116 0 eq 117 115 116 brif 117 L2822 L2823 label L2822 -strref 118 m13s304 -strref 119 m13s581 +strref 118 m13s306 +strref 119 m13s583 load 120 fn_info field 121 120 56 int return_type call 122 types_get_type_name string 1 121 @@ -51482,8 +51572,8 @@ iconst 6 2 neq 7 5 6 brif 7 L2825 L2826 label L2825 -strref 8 m13s307 -strref 9 m13s580 +strref 8 m13s309 +strref 9 m13s582 load 10 args call 11 pith_list_len int 1 10 call 12 int_to_string string 1 11 @@ -51547,8 +51637,8 @@ sub 51 53 52 call 54 pith_cstring_release void 1 50 brif 51 L2834 L2835 label L2834 -strref 55 m13s579 -strref 56 m13s578 +strref 55 m13s581 +strref 56 m13s580 call 57 checker_diagnostics_report_error void 2 55 56 call 58 pith_cstring_release void 1 55 call 59 pith_cstring_release void 1 56 @@ -51565,8 +51655,8 @@ iconst 66 2 neq 67 65 66 brif 67 L2837 L2838 label L2837 -strref 68 m13s307 -strref 69 m13s577 +strref 68 m13s309 +strref 69 m13s579 load 70 fn_info field 71 70 48 list param_types call 72 pith_list_len int 1 71 @@ -51593,14 +51683,14 @@ iconst 89 0 eq 90 88 89 brif 90 L2840 L2841 label L2840 -strref 91 m13s304 -strref 92 m13s576 +strref 91 m13s306 +strref 92 m13s578 load 93 init_tid call 94 types_get_type_name string 1 93 concat 95 92 94 call 96 pith_cstring_release void 1 92 call 97 pith_cstring_release void 1 94 -strref 98 m13s301 +strref 98 m13s303 concat 99 95 98 call 100 pith_cstring_release void 1 95 call 101 pith_cstring_release void 1 98 @@ -51632,15 +51722,15 @@ iconst 123 0 eq 124 122 123 brif 124 L2843 L2844 label L2843 -strref 125 m13s304 -strref 126 m13s575 +strref 125 m13s306 +strref 126 m13s577 load 127 info field 128 127 64 int inner call 129 types_get_type_name string 1 128 concat 130 126 129 call 131 pith_cstring_release void 1 126 call 132 pith_cstring_release void 1 129 -strref 133 m13s301 +strref 133 m13s303 concat 134 130 133 call 135 pith_cstring_release void 1 130 call 136 pith_cstring_release void 1 133 @@ -51669,14 +51759,14 @@ iconst 155 0 eq 156 154 155 brif 156 L2846 L2847 label L2846 -strref 157 m13s304 -strref 158 m13s574 +strref 157 m13s306 +strref 158 m13s576 load 159 init_tid call 160 types_get_type_name string 1 159 concat 161 158 160 call 162 pith_cstring_release void 1 158 call 163 pith_cstring_release void 1 160 -strref 164 m13s301 +strref 164 m13s303 concat 165 161 164 call 166 pith_cstring_release void 1 161 call 167 pith_cstring_release void 1 164 @@ -51708,7 +51798,7 @@ func checker_iface_type_base_name 1 string param node load 1 node field 2 1 0 string kind -strref 3 m13s563 +strref 3 m13s565 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 brif 4 L2849 L2850 @@ -51721,7 +51811,7 @@ label L2850 label L2848 load 9 node field 10 9 0 string kind -strref 11 m13s564 +strref 11 m13s566 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 brif 12 L2852 L2853 @@ -51768,7 +51858,7 @@ call 8 pith_list_release_handle void 1 6 store names 7 load 9 node field 10 9 0 string kind -strref 11 m13s563 +strref 11 m13s565 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 brif 12 L2858 L2859 @@ -51810,7 +51900,7 @@ jmp L2857 label L2859 load 35 node field 36 35 0 string kind -strref 37 m13s564 +strref 37 m13s566 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 brif 38 L2864 L2865 @@ -52009,7 +52099,7 @@ gte 58 56 57 brif 58 L2888 L2889 label L2888 load 59 parts -strref 60 m13s573 +strref 60 m13s575 load 61 found_idx call 62 int_to_string string 1 61 concat 63 60 62 @@ -52019,7 +52109,7 @@ call 66 pith_list_push_value_owned void 2 59 63 jmp L2887 label L2889 load 67 parts -strref 68 m13s572 +strref 68 m13s574 load 69 __loopvar_150_n call 70 types_lookup_type_id int 1 69 call 71 int_to_string string 1 70 @@ -52133,7 +52223,7 @@ load 45 __for_idx_152 call 46 pith_list_get_value_unchecked string 2 44 45 store __loopvar_152_part 46 load 47 __loopvar_152_part -strref 48 m13s573 +strref 48 m13s575 call 49 pith_cstring_starts_with bool 2 47 48 call 50 pith_cstring_release void 1 48 brif 49 L2901 L2902 @@ -52182,7 +52272,7 @@ label L2903 jmp L2900 label L2902 load 79 __loopvar_152_part -strref 80 m13s572 +strref 80 m13s574 call 81 pith_cstring_starts_with bool 2 79 80 call 82 pith_cstring_release void 1 80 brif 81 L2908 L2909 @@ -52391,7 +52481,7 @@ call 24 pith_struct_release void 1 21 store cn 23 load 25 cn field 26 25 0 string kind -strref 27 m13s571 +strref 27 m13s573 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 brif 28 L2926 L2927 @@ -52668,7 +52758,7 @@ call 26 pith_struct_release void 1 23 store cn 25 load 27 cn field 28 27 0 string kind -strref 29 m13s571 +strref 29 m13s573 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 brif 30 L2963 L2964 @@ -52727,19 +52817,19 @@ iconst 68 0 eq 69 67 68 brif 69 L2973 L2974 label L2973 -strref 70 m13s568 -strref 71 m13s570 +strref 70 m13s570 +strref 71 m13s572 load 72 iface_name concat 73 71 72 call 74 pith_cstring_release void 1 71 -strref 75 m13s569 +strref 75 m13s571 concat 76 73 75 call 77 pith_cstring_release void 1 73 call 78 pith_cstring_release void 1 75 load 79 param_name concat 80 76 79 call 81 pith_cstring_release void 1 76 -strref 82 m13s349 +strref 82 m13s351 concat 83 80 82 call 84 pith_cstring_release void 1 80 call 85 pith_cstring_release void 1 82 @@ -52757,19 +52847,19 @@ iconst 93 0 eq 94 92 93 brif 94 L2976 L2977 label L2976 -strref 95 m13s568 -strref 96 m13s567 +strref 95 m13s570 +strref 96 m13s569 load 97 type_name concat 98 96 97 call 99 pith_cstring_release void 1 96 -strref 100 m13s566 +strref 100 m13s568 concat 101 98 100 call 102 pith_cstring_release void 1 98 call 103 pith_cstring_release void 1 100 load 104 iface_name concat 105 101 104 call 106 pith_cstring_release void 1 101 -strref 107 m13s349 +strref 107 m13s351 concat 108 105 107 call 109 pith_cstring_release void 1 105 call 110 pith_cstring_release void 1 107 @@ -52850,8 +52940,8 @@ iconst 11 0 eq 12 10 11 brif 12 L2982 L2983 label L2982 -strref 13 m13s304 -strref 14 m13s565 +strref 13 m13s306 +strref 14 m13s567 load 15 name concat 16 14 15 call 17 pith_cstring_release void 1 14 @@ -52864,7 +52954,7 @@ call 23 types_get_type_name string 1 22 concat 24 19 23 call 25 pith_cstring_release void 1 19 call 26 pith_cstring_release void 1 23 -strref 27 m13s369 +strref 27 m13s371 concat 28 24 27 call 29 pith_cstring_release void 1 24 call 30 pith_cstring_release void 1 27 @@ -53638,7 +53728,7 @@ call 27 pith_struct_release void 1 24 store node 26 load 28 node field 29 28 0 string kind -strref 30 m13s564 +strref 30 m13s566 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 brif 31 L3071 L3072 @@ -53666,7 +53756,7 @@ call 49 pith_struct_release void 1 46 store actual_info 48 load 50 node field 51 50 0 string kind -strref 52 m13s563 +strref 52 m13s565 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 brif 53 L3074 L3075 @@ -54049,7 +54139,7 @@ label L3075 label L3073 load 326 node field 327 326 0 string kind -strref 328 m13s562 +strref 328 m13s564 call 329 pith_cstring_eq bool 2 327 328 call 330 pith_cstring_release void 1 328 brif 329 L3127 L3128 @@ -54107,7 +54197,7 @@ label L3128 label L3126 load 368 node field 369 368 0 string kind -strref 370 m13s561 +strref 370 m13s563 call 371 pith_cstring_eq bool 2 369 370 call 372 pith_cstring_release void 1 370 brif 371 L3135 L3136 @@ -54211,7 +54301,7 @@ label L3136 label L3134 load 440 node field 441 440 0 string kind -strref 442 m13s560 +strref 442 m13s562 call 443 pith_cstring_eq bool 2 441 442 call 444 pith_cstring_release void 1 442 brif 443 L3151 L3152 @@ -54299,7 +54389,7 @@ label L3152 label L3150 load 496 node field 497 496 0 string kind -strref 498 m13s559 +strref 498 m13s561 call 499 pith_cstring_eq bool 2 497 498 call 500 pith_cstring_release void 1 498 brif 499 L3167 L3168 @@ -54337,7 +54427,7 @@ call 520 pith_struct_release void 1 517 store cn 519 load 521 cn field 522 521 0 string kind -strref 523 m13s323 +strref 523 m13s325 call 524 pith_cstring_eq bool 2 522 523 call 525 pith_cstring_release void 1 523 brif 524 L3177 L3178 @@ -54383,7 +54473,7 @@ label L3178 label L3176 load 552 cn field 553 552 0 string kind -strref 554 m13s555 +strref 554 m13s557 call 555 pith_cstring_eq bool 2 553 554 call 556 pith_cstring_release void 1 554 brif 555 L3186 L3187 @@ -54528,7 +54618,7 @@ load 40 __loopvar_164_ai store arg_expr 40 load 41 arg_node field 42 41 0 string kind -strref 43 m13s298 +strref 43 m13s300 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 brif 44 L3196 L3197 @@ -54591,7 +54681,7 @@ call 79 pith_struct_release void 1 76 store cn 78 load 80 cn field 81 80 0 string kind -strref 82 m13s323 +strref 82 m13s325 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 brif 83 L3206 L3207 @@ -54634,15 +54724,15 @@ call 107 pith_list_len int 1 106 neq 108 105 107 brif 108 L3212 L3213 label L3212 -strref 109 m13s307 -strref 110 m13s558 +strref 109 m13s309 +strref 110 m13s560 load 111 param_type_nodes call 112 pith_list_len int 1 111 call 113 int_to_string string 1 112 concat 114 110 113 call 115 pith_cstring_release void 1 110 call 116 pith_cstring_release void 1 113 -strref 117 m13s548 +strref 117 m13s550 concat 118 114 117 call 119 pith_cstring_release void 1 114 call 120 pith_cstring_release void 1 117 @@ -54894,8 +54984,8 @@ add 290 288 289 store __for_idx_169 290 jmp L3237 label L3240 -strref 291 m13s557 -strref 292 m13s556 +strref 291 m13s559 +strref 292 m13s558 load 293 __loopvar_167_gp concat 294 292 293 call 295 pith_cstring_release void 1 292 @@ -54993,7 +55083,7 @@ call 367 pith_struct_release void 1 364 store cn 366 load 368 cn field 369 368 0 string kind -strref 370 m13s555 +strref 370 m13s557 call 371 pith_cstring_eq bool 2 369 370 call 372 pith_cstring_release void 1 370 brif 371 L3252 L3253 @@ -55080,14 +55170,14 @@ iconst 424 0 eq 425 423 424 brif 425 L3274 L3275 label L3274 -strref 426 m13s304 -strref 427 m13s443 +strref 426 m13s306 +strref 427 m13s445 load 428 concrete call 429 types_get_type_name string 1 428 concat 430 427 429 call 431 pith_cstring_release void 1 427 call 432 pith_cstring_release void 1 429 -strref 433 m13s301 +strref 433 m13s303 concat 434 430 433 call 435 pith_cstring_release void 1 430 call 436 pith_cstring_release void 1 433 @@ -55215,7 +55305,7 @@ call 21 pith_struct_release void 1 18 store cn 20 load 22 cn field 23 22 0 string kind -strref 24 m13s323 +strref 24 m13s325 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 brif 25 L3281 L3282 @@ -55293,7 +55383,7 @@ call 17 pith_struct_release void 1 14 store cn 16 load 18 cn field 19 18 0 string kind -strref 20 m13s555 +strref 20 m13s557 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 brif 21 L3291 L3292 @@ -55349,7 +55439,7 @@ iconst 6 0 store __and_6_3299 6 load 7 arg_node field 8 7 0 string kind -strref 9 m13s298 +strref 9 m13s300 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 store __and_6_3299 10 @@ -55391,7 +55481,7 @@ param scope_id iconst 4 0 store message 4 load 5 message -strref 6 m13s554 +strref 6 m13s556 load 7 alias concat 8 6 7 call 9 pith_cstring_release void 1 6 @@ -55437,13 +55527,13 @@ call 42 contains_key bool 2 32 40 call 43 pith_cstring_release void 1 40 brif 42 L3308 L3309 label L3308 -strref 44 m13s550 +strref 44 m13s552 load 45 message -strref 46 m13s349 +strref 46 m13s351 load 47 name concat 48 46 47 call 49 pith_cstring_release void 1 46 -strref 50 m13s553 +strref 50 m13s555 concat 51 48 50 call 52 pith_cstring_release void 1 48 call 53 pith_cstring_release void 1 50 @@ -55452,14 +55542,14 @@ call 55 types_get_type_name string 1 54 concat 56 51 55 call 57 pith_cstring_release void 1 51 call 58 pith_cstring_release void 1 55 -strref 59 m13s552 +strref 59 m13s554 concat 60 56 59 call 61 pith_cstring_release void 1 56 call 62 pith_cstring_release void 1 59 load 63 name concat 64 60 63 call 65 pith_cstring_release void 1 60 -strref 66 m13s551 +strref 66 m13s553 concat 67 64 66 call 68 pith_cstring_release void 1 64 call 69 pith_cstring_release void 1 66 @@ -55478,7 +55568,7 @@ label L3304 jmp L3301 label L3303 label L3301 -strref 76 m13s550 +strref 76 m13s552 load 77 message call 78 checker_diagnostics_report_error void 2 76 77 call 79 pith_cstring_release void 1 76 @@ -55548,7 +55638,7 @@ store __and_34_3319 37 brif 37 L3319 L3320 label L3319 load 39 method -strref 40 m13s512 +strref 40 m13s514 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 store __and_34_3319 41 @@ -55599,7 +55689,7 @@ store __and_62_3328 65 brif 65 L3328 L3329 label L3328 load 67 method -strref 68 m13s480 +strref 68 m13s482 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 store __and_62_3328 69 @@ -55650,7 +55740,7 @@ store __and_90_3337 93 brif 93 L3337 L3338 label L3337 load 95 method -strref 96 m13s491 +strref 96 m13s493 call 97 pith_cstring_eq bool 2 95 96 call 98 pith_cstring_release void 1 96 store __and_90_3337 97 @@ -55939,7 +56029,7 @@ jmp L3355 label L3358 load 135 recv_node field 136 135 0 string kind -strref 137 m13s293 +strref 137 m13s295 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 brif 138 L3363 L3364 @@ -56094,7 +56184,7 @@ load 255 gen_ctor_name call 256 checker_get_generic_declaration_index int 1 255 call 257 ast_get_node struct:Node 1 256 field 258 257 0 string kind -strref 259 m13s287 +strref 259 m13s289 call 260 pith_cstring_eq bool 2 258 259 call 261 pith_cstring_release void 1 259 brif 260 L3383 L3384 @@ -56169,7 +56259,7 @@ load 320 method_name call 321 checker_get_generic_declaration_index int 1 320 call 322 ast_get_node struct:Node 1 321 field 323 322 0 string kind -strref 324 m13s287 +strref 324 m13s289 call 325 pith_cstring_eq bool 2 323 324 call 326 pith_cstring_release void 1 324 brif 325 L3389 L3390 @@ -56243,19 +56333,19 @@ iconst 387 1 sub 386 387 385 brif 386 L3392 L3393 label L3392 -strref 388 m13s442 -strref 389 m13s349 +strref 388 m13s444 +strref 389 m13s351 load 390 method_name concat 391 389 390 call 392 pith_cstring_release void 1 389 -strref 393 m13s441 +strref 393 m13s443 concat 394 391 393 call 395 pith_cstring_release void 1 391 call 396 pith_cstring_release void 1 393 load 397 recv_name concat 398 394 397 call 399 pith_cstring_release void 1 394 -strref 400 m13s349 +strref 400 m13s351 concat 401 398 400 call 402 pith_cstring_release void 1 398 call 403 pith_cstring_release void 1 400 @@ -56644,7 +56734,7 @@ brif 736 L3415 L3416 label L3415 load 737 recv_node field 738 737 0 string kind -strref 739 m13s293 +strref 739 m13s295 call 740 pith_cstring_eq bool 2 738 739 call 741 pith_cstring_release void 1 739 store __and_734_3415 740 @@ -56807,7 +56897,7 @@ ret 826 label L3425 label L3423 load 879 method_name -strref 880 m13s528 +strref 880 m13s530 call 881 pith_cstring_eq bool 2 879 880 call 882 pith_cstring_release void 1 880 brif 881 L3427 L3428 @@ -56818,8 +56908,8 @@ iconst 885 1 neq 886 884 885 brif 886 L3430 L3431 label L3430 -strref 887 m13s307 -strref 888 m13s527 +strref 887 m13s309 +strref 888 m13s529 load 889 arg_indices call 890 pith_list_len int 1 889 call 891 int_to_string string 1 890 @@ -57882,9 +57972,9 @@ call 1819 pith_list_len int 1 1818 neq 1820 1817 1819 brif 1820 L3498 L3499 label L3498 -strref 1821 m13s307 +strref 1821 m13s309 load 1822 method_name -strref 1823 m13s549 +strref 1823 m13s551 concat 1824 1822 1823 call 1825 pith_cstring_release void 1 1823 load 1826 payload_types @@ -57893,7 +57983,7 @@ call 1828 int_to_string string 1 1827 concat 1829 1824 1828 call 1830 pith_cstring_release void 1 1824 call 1831 pith_cstring_release void 1 1828 -strref 1832 m13s548 +strref 1832 m13s550 concat 1833 1829 1832 call 1834 pith_cstring_release void 1 1829 call 1835 pith_cstring_release void 1 1832 @@ -57989,7 +58079,7 @@ load 1912 __loopvar_175_pai store pa_expr 1912 load 1913 pa_node field 1914 1913 0 string kind -strref 1915 m13s298 +strref 1915 m13s300 call 1916 pith_cstring_eq bool 2 1914 1915 call 1917 pith_cstring_release void 1 1915 brif 1916 L3505 L3506 @@ -58050,8 +58140,8 @@ iconst 1950 0 eq 1951 1949 1950 brif 1951 L3519 L3520 label L3519 -strref 1952 m13s304 -strref 1953 m13s443 +strref 1952 m13s306 +strref 1953 m13s445 load 1954 payload_types load 1955 pi call 1956 pith_list_get_value_strict int 2 1954 1955 @@ -58059,7 +58149,7 @@ call 1957 types_get_type_name string 1 1956 concat 1958 1953 1957 call 1959 pith_cstring_release void 1 1953 call 1960 pith_cstring_release void 1 1957 -strref 1961 m13s301 +strref 1961 m13s303 concat 1962 1958 1961 call 1963 pith_cstring_release void 1 1958 call 1964 pith_cstring_release void 1 1961 @@ -58359,9 +58449,9 @@ call 2171 pith_list_len int 1 2170 neq 2172 2169 2171 brif 2172 L3550 L3551 label L3550 -strref 2173 m13s307 +strref 2173 m13s309 load 2174 method_name -strref 2175 m13s549 +strref 2175 m13s551 concat 2176 2174 2175 call 2177 pith_cstring_release void 1 2175 load 2178 param_types @@ -58370,7 +58460,7 @@ call 2180 int_to_string string 1 2179 concat 2181 2176 2180 call 2182 pith_cstring_release void 1 2176 call 2183 pith_cstring_release void 1 2180 -strref 2184 m13s548 +strref 2184 m13s550 concat 2185 2181 2184 call 2186 pith_cstring_release void 1 2181 call 2187 pith_cstring_release void 1 2184 @@ -58466,7 +58556,7 @@ load 2264 __loopvar_177_ai store arg_expr 2264 load 2265 arg_node field 2266 2265 0 string kind -strref 2267 m13s298 +strref 2267 m13s300 call 2268 pith_cstring_eq bool 2 2266 2267 call 2269 pith_cstring_release void 1 2267 brif 2268 L3557 L3558 @@ -58521,8 +58611,8 @@ iconst 2300 0 eq 2301 2299 2300 brif 2301 L3572 L3573 label L3572 -strref 2302 m13s304 -strref 2303 m13s443 +strref 2302 m13s306 +strref 2303 m13s445 load 2304 param_types load 2305 aidx call 2306 pith_list_get_value_strict int 2 2304 2305 @@ -58530,7 +58620,7 @@ call 2307 types_get_type_name string 1 2306 concat 2308 2303 2307 call 2309 pith_cstring_release void 1 2303 call 2310 pith_cstring_release void 1 2307 -strref 2311 m13s301 +strref 2311 m13s303 concat 2312 2308 2311 call 2313 pith_cstring_release void 1 2308 call 2314 pith_cstring_release void 1 2311 @@ -58749,17 +58839,17 @@ iconst 2478 0 eq 2479 2477 2478 brif 2479 L3589 L3590 label L3589 -strref 2480 m13s429 +strref 2480 m13s431 load 2481 receiver_type call 2482 types_get_type_name string 1 2481 -strref 2483 m13s547 +strref 2483 m13s549 concat 2484 2482 2483 call 2485 pith_cstring_release void 1 2482 call 2486 pith_cstring_release void 1 2483 load 2487 method_name concat 2488 2484 2487 call 2489 pith_cstring_release void 1 2484 -strref 2490 m13s349 +strref 2490 m13s351 concat 2491 2488 2490 call 2492 pith_cstring_release void 1 2488 call 2493 pith_cstring_release void 1 2490 @@ -58916,7 +59006,7 @@ call 10 types_lookup_type_id int 1 9 call 11 pith_cstring_release void 1 9 store tid_bool 10 load 12 method -strref 13 m13s454 +strref 13 m13s456 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 brif 14 L3594 L3595 @@ -58929,7 +59019,7 @@ ret 19 label L3595 label L3593 load 20 method -strref 21 m13s546 +strref 21 m13s548 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 brif 22 L3597 L3598 @@ -58942,7 +59032,7 @@ ret 27 label L3598 label L3596 load 28 method -strref 29 m13s545 +strref 29 m13s547 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 brif 30 L3600 L3601 @@ -58955,7 +59045,7 @@ ret 35 label L3601 label L3599 load 36 method -strref 37 m13s544 +strref 37 m13s546 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 brif 38 L3603 L3604 @@ -58968,7 +59058,7 @@ ret 43 label L3604 label L3602 load 44 method -strref 45 m13s488 +strref 45 m13s490 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 brif 46 L3606 L3607 @@ -58981,7 +59071,7 @@ ret 51 label L3607 label L3605 load 52 method -strref 53 m13s486 +strref 53 m13s488 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 brif 54 L3609 L3610 @@ -58995,7 +59085,7 @@ ret 60 label L3610 label L3608 load 61 method -strref 62 m13s543 +strref 62 m13s545 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 brif 63 L3612 L3613 @@ -59009,7 +59099,7 @@ ret 69 label L3613 label L3611 load 70 method -strref 71 m13s542 +strref 71 m13s544 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 brif 72 L3615 L3616 @@ -59023,7 +59113,7 @@ ret 78 label L3616 label L3614 load 79 method -strref 80 m13s506 +strref 80 m13s508 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 brif 81 L3618 L3619 @@ -59037,7 +59127,7 @@ ret 87 label L3619 label L3617 load 88 method -strref 89 m13s541 +strref 89 m13s543 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 brif 90 L3621 L3622 @@ -59051,7 +59141,7 @@ ret 96 label L3622 label L3620 load 97 method -strref 98 m13s540 +strref 98 m13s542 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 brif 99 L3624 L3625 @@ -59066,7 +59156,7 @@ ret 106 label L3625 label L3623 load 107 method -strref 108 m13s539 +strref 108 m13s541 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 brif 109 L3627 L3628 @@ -59080,7 +59170,7 @@ ret 115 label L3628 label L3626 load 116 method -strref 117 m13s538 +strref 117 m13s540 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 brif 118 L3630 L3631 @@ -59094,7 +59184,7 @@ ret 124 label L3631 label L3629 load 125 method -strref 126 m13s537 +strref 126 m13s539 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 brif 127 L3633 L3634 @@ -59109,7 +59199,7 @@ ret 134 label L3634 label L3632 load 135 method -strref 136 m13s536 +strref 136 m13s538 call 137 pith_cstring_eq bool 2 135 136 call 138 pith_cstring_release void 1 136 brif 137 L3636 L3637 @@ -59123,7 +59213,7 @@ ret 143 label L3637 label L3635 load 144 method -strref 145 m13s535 +strref 145 m13s537 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 brif 146 L3639 L3640 @@ -59137,7 +59227,7 @@ ret 152 label L3640 label L3638 load 153 method -strref 154 m13s534 +strref 154 m13s536 call 155 pith_cstring_eq bool 2 153 154 call 156 pith_cstring_release void 1 154 brif 155 L3642 L3643 @@ -59151,7 +59241,7 @@ ret 161 label L3643 label L3641 load 162 method -strref 163 m13s497 +strref 163 m13s499 call 164 pith_cstring_eq bool 2 162 163 call 165 pith_cstring_release void 1 163 brif 164 L3645 L3646 @@ -59168,12 +59258,12 @@ call 174 pith_struct_release void 1 172 ret 173 label L3646 label L3644 -strref 175 m13s429 -strref 176 m13s533 +strref 175 m13s431 +strref 176 m13s535 load 177 method concat 178 176 177 call 179 pith_cstring_release void 1 176 -strref 180 m13s349 +strref 180 m13s351 concat 181 178 180 call 182 pith_cstring_release void 1 178 call 183 pith_cstring_release void 1 180 @@ -59206,7 +59296,7 @@ call 13 types_lookup_type_id int 1 12 call 14 pith_cstring_release void 1 12 store tid_bool 13 load 15 method -strref 16 m13s454 +strref 16 m13s456 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 brif 17 L3648 L3649 @@ -59219,7 +59309,7 @@ ret 22 label L3649 label L3647 load 23 method -strref 24 m13s488 +strref 24 m13s490 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 brif 25 L3651 L3652 @@ -59232,7 +59322,7 @@ ret 30 label L3652 label L3650 load 31 method -strref 32 m13s505 +strref 32 m13s507 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 brif 33 L3654 L3655 @@ -59246,7 +59336,7 @@ ret 39 label L3655 label L3653 load 40 method -strref 41 m13s532 +strref 41 m13s534 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 brif 42 L3657 L3658 @@ -59261,7 +59351,7 @@ ret 49 label L3658 label L3656 load 50 method -strref 51 m13s531 +strref 51 m13s533 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 brif 52 L3660 L3661 @@ -59277,12 +59367,12 @@ call 61 pith_struct_release void 1 59 ret 60 label L3661 label L3659 -strref 62 m13s429 -strref 63 m13s530 +strref 62 m13s431 +strref 63 m13s532 load 64 method concat 65 63 64 call 66 pith_cstring_release void 1 63 -strref 67 m13s349 +strref 67 m13s351 concat 68 65 67 call 69 pith_cstring_release void 1 65 call 70 pith_cstring_release void 1 67 @@ -59308,7 +59398,7 @@ call 7 types_lookup_type_id int 1 6 call 8 pith_cstring_release void 1 6 store tid_string 7 load 9 method -strref 10 m13s514 +strref 10 m13s516 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 brif 11 L3663 L3664 @@ -59336,8 +59426,8 @@ label L3669 load 27 __or_16_3668 brif 27 L3666 L3667 label L3666 -strref 28 m13s304 -strref 29 m13s529 +strref 28 m13s306 +strref 29 m13s531 call 30 checker_diagnostics_report_error void 2 28 29 call 31 pith_cstring_release void 1 28 call 32 pith_cstring_release void 1 29 @@ -59358,7 +59448,7 @@ ret 38 label L3664 label L3662 load 43 method -strref 44 m13s528 +strref 44 m13s530 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 brif 45 L3671 L3672 @@ -59369,8 +59459,8 @@ iconst 49 1 neq 50 48 49 brif 50 L3674 L3675 label L3674 -strref 51 m13s307 -strref 52 m13s527 +strref 51 m13s309 +strref 52 m13s529 load 53 args call 54 pith_list_len int 1 53 call 55 int_to_string string 1 54 @@ -59405,7 +59495,7 @@ ret 75 label L3672 label L3670 load 80 method -strref 81 m13s526 +strref 81 m13s528 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 brif 82 L3677 L3678 @@ -59416,8 +59506,8 @@ iconst 86 1 neq 87 85 86 brif 87 L3680 L3681 label L3680 -strref 88 m13s307 -strref 89 m13s525 +strref 88 m13s309 +strref 89 m13s527 load 90 args call 91 pith_list_len int 1 90 call 92 int_to_string string 1 91 @@ -59468,8 +59558,8 @@ sub 124 126 125 call 127 pith_cstring_release void 1 123 brif 124 L3686 L3687 label L3686 -strref 128 m13s304 -strref 129 m13s524 +strref 128 m13s306 +strref 129 m13s526 load 130 handler_type call 131 types_get_type_name string 1 130 concat 132 129 131 @@ -59493,8 +59583,8 @@ iconst 146 1 neq 147 145 146 brif 147 L3689 L3690 label L3689 -strref 148 m13s304 -strref 149 m13s523 +strref 148 m13s306 +strref 149 m13s525 call 150 checker_diagnostics_report_error void 2 148 149 call 151 pith_cstring_release void 1 148 call 152 pith_cstring_release void 1 149 @@ -59517,15 +59607,15 @@ iconst 165 0 eq 166 164 165 brif 166 L3692 L3693 label L3692 -strref 167 m13s304 -strref 168 m13s522 +strref 167 m13s306 +strref 168 m13s524 load 169 info field 170 169 80 int value_type call 171 types_get_type_name string 1 170 concat 172 168 171 call 173 pith_cstring_release void 1 168 call 174 pith_cstring_release void 1 171 -strref 175 m13s301 +strref 175 m13s303 concat 176 172 175 call 177 pith_cstring_release void 1 172 call 178 pith_cstring_release void 1 175 @@ -59563,8 +59653,8 @@ sub 203 205 204 call 206 pith_cstring_release void 1 202 brif 203 L3695 L3696 label L3695 -strref 207 m13s304 -strref 208 m13s521 +strref 207 m13s306 +strref 208 m13s523 call 209 checker_diagnostics_report_error void 2 207 208 call 210 pith_cstring_release void 1 207 call 211 pith_cstring_release void 1 208 @@ -59585,15 +59675,15 @@ iconst 222 0 eq 223 221 222 brif 223 L3698 L3699 label L3698 -strref 224 m13s304 -strref 225 m13s520 +strref 224 m13s306 +strref 225 m13s522 load 226 info field 227 226 64 int inner call 228 types_get_type_name string 1 227 concat 229 225 228 call 230 pith_cstring_release void 1 225 call 231 pith_cstring_release void 1 228 -strref 232 m13s519 +strref 232 m13s521 concat 233 229 232 call 234 pith_cstring_release void 1 229 call 235 pith_cstring_release void 1 232 @@ -59649,7 +59739,7 @@ call 7 types_lookup_type_id int 1 6 call 8 pith_cstring_release void 1 6 store tid_float 7 load 9 method -strref 10 m13s514 +strref 10 m13s516 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 brif 11 L3701 L3702 @@ -59662,7 +59752,7 @@ ret 16 label L3702 label L3700 load 17 method -strref 18 m13s518 +strref 18 m13s520 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L3704 L3705 @@ -59674,12 +59764,12 @@ load 24 tid_float ret 24 label L3705 label L3703 -strref 25 m13s429 -strref 26 m13s517 +strref 25 m13s431 +strref 26 m13s519 load 27 method concat 28 26 27 call 29 pith_cstring_release void 1 26 -strref 30 m13s349 +strref 30 m13s351 concat 31 28 30 call 32 pith_cstring_release void 1 28 call 33 pith_cstring_release void 1 30 @@ -59704,7 +59794,7 @@ call 7 types_lookup_type_id int 1 6 call 8 pith_cstring_release void 1 6 store tid_int 7 load 9 method -strref 10 m13s514 +strref 10 m13s516 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 brif 11 L3707 L3708 @@ -59717,7 +59807,7 @@ ret 16 label L3708 label L3706 load 17 method -strref 18 m13s516 +strref 18 m13s518 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L3710 L3711 @@ -59729,12 +59819,12 @@ load 24 tid_int ret 24 label L3711 label L3709 -strref 25 m13s429 -strref 26 m13s515 +strref 25 m13s431 +strref 26 m13s517 load 27 method concat 28 26 27 call 29 pith_cstring_release void 1 26 -strref 30 m13s349 +strref 30 m13s351 concat 31 28 30 call 32 pith_cstring_release void 1 28 call 33 pith_cstring_release void 1 30 @@ -59755,7 +59845,7 @@ call 4 types_lookup_type_id int 1 3 call 5 pith_cstring_release void 1 3 store tid_string 4 load 6 method -strref 7 m13s514 +strref 7 m13s516 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 brif 8 L3713 L3714 @@ -59767,12 +59857,12 @@ load 13 tid_string ret 13 label L3714 label L3712 -strref 14 m13s429 -strref 15 m13s513 +strref 14 m13s431 +strref 15 m13s515 load 16 method concat 17 15 16 call 18 pith_cstring_release void 1 15 -strref 19 m13s349 +strref 19 m13s351 concat 20 17 19 call 21 pith_cstring_release void 1 17 call 22 pith_cstring_release void 1 19 @@ -59809,7 +59899,7 @@ call 16 types_lookup_type_id int 1 15 call 17 pith_cstring_release void 1 15 store tid_void 16 load 18 method -strref 19 m13s512 +strref 19 m13s514 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 brif 20 L3716 L3717 @@ -59824,7 +59914,7 @@ ret 27 label L3717 label L3715 load 28 method -strref 29 m13s454 +strref 29 m13s456 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 brif 30 L3719 L3720 @@ -59837,7 +59927,7 @@ ret 35 label L3720 label L3718 load 36 method -strref 37 m13s488 +strref 37 m13s490 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 brif 38 L3722 L3723 @@ -59850,7 +59940,7 @@ ret 43 label L3723 label L3721 load 44 method -strref 45 m13s487 +strref 45 m13s489 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 brif 46 L3725 L3726 @@ -59863,7 +59953,7 @@ ret 51 label L3726 label L3724 load 52 method -strref 53 m13s511 +strref 53 m13s513 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 brif 54 L3728 L3729 @@ -59876,7 +59966,7 @@ ret 59 label L3729 label L3727 load 60 method -strref 61 m13s485 +strref 61 m13s487 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 brif 62 L3731 L3732 @@ -59891,7 +59981,7 @@ ret 69 label L3732 label L3730 load 70 method -strref 71 m13s491 +strref 71 m13s493 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 brif 72 L3734 L3735 @@ -59902,8 +59992,8 @@ iconst 76 2 neq 77 75 76 brif 77 L3737 L3738 label L3737 -strref 78 m13s307 -strref 79 m13s510 +strref 78 m13s309 +strref 79 m13s512 load 80 args call 81 pith_list_len int 1 80 call 82 int_to_string string 1 81 @@ -59934,7 +60024,7 @@ ret 102 label L3735 label L3733 load 103 method -strref 104 m13s486 +strref 104 m13s488 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 brif 105 L3740 L3741 @@ -59949,7 +60039,7 @@ ret 112 label L3741 label L3739 load 113 method -strref 114 m13s509 +strref 114 m13s511 call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 114 brif 115 L3743 L3744 @@ -59976,14 +60066,14 @@ label L3749 load 130 __and_122_3748 brif 130 L3746 L3747 label L3746 -strref 131 m13s304 -strref 132 m13s508 +strref 131 m13s306 +strref 132 m13s510 load 133 elem call 134 types_get_type_name string 1 133 concat 135 132 134 call 136 pith_cstring_release void 1 132 call 137 pith_cstring_release void 1 134 -strref 138 m13s507 +strref 138 m13s509 concat 139 135 138 call 140 pith_cstring_release void 1 135 call 141 pith_cstring_release void 1 138 @@ -59998,7 +60088,7 @@ ret 145 label L3744 label L3742 load 146 method -strref 147 m13s506 +strref 147 m13s508 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 brif 148 L3751 L3752 @@ -60016,7 +60106,7 @@ ret 157 label L3752 label L3750 load 159 method -strref 160 m13s505 +strref 160 m13s507 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 brif 161 L3754 L3755 @@ -60031,7 +60121,7 @@ ret 168 label L3755 label L3753 load 169 method -strref 170 m13s504 +strref 170 m13s506 call 171 pith_cstring_eq bool 2 169 170 call 172 pith_cstring_release void 1 170 brif 171 L3757 L3758 @@ -60058,7 +60148,7 @@ ret 185 label L3761 label L3759 load 186 method -strref 187 m13s503 +strref 187 m13s505 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 brif 188 L3763 L3764 @@ -60071,7 +60161,7 @@ ret 193 label L3764 label L3762 load 194 method -strref 195 m13s502 +strref 195 m13s504 call 196 pith_cstring_eq bool 2 194 195 call 197 pith_cstring_release void 1 195 brif 196 L3766 L3767 @@ -60084,7 +60174,7 @@ ret 201 label L3767 label L3765 load 202 method -strref 203 m13s497 +strref 203 m13s499 call 204 pith_cstring_eq bool 2 202 203 call 205 pith_cstring_release void 1 203 brif 204 L3769 L3770 @@ -60102,7 +60192,7 @@ ret 213 label L3770 label L3768 load 215 method -strref 216 m13s501 +strref 216 m13s503 call 217 pith_cstring_eq bool 2 215 216 call 218 pith_cstring_release void 1 216 brif 217 L3772 L3773 @@ -60118,7 +60208,7 @@ ret 224 label L3773 label L3771 load 226 method -strref 227 m13s500 +strref 227 m13s502 call 228 pith_cstring_eq bool 2 226 227 call 229 pith_cstring_release void 1 227 brif 228 L3775 L3776 @@ -60164,7 +60254,7 @@ call 15 types_lookup_type_id int 1 14 call 16 pith_cstring_release void 1 14 store tid_bool 15 load 17 method -strref 18 m13s491 +strref 18 m13s493 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L3778 L3779 @@ -60175,8 +60265,8 @@ iconst 23 2 neq 24 22 23 brif 24 L3781 L3782 label L3781 -strref 25 m13s307 -strref 26 m13s499 +strref 25 m13s309 +strref 26 m13s501 load 27 args call 28 pith_list_len int 1 27 call 29 int_to_string string 1 28 @@ -60207,7 +60297,7 @@ ret 49 label L3779 label L3777 load 50 method -strref 51 m13s454 +strref 51 m13s456 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 brif 52 L3784 L3785 @@ -60220,7 +60310,7 @@ ret 57 label L3785 label L3783 load 58 method -strref 59 m13s488 +strref 59 m13s490 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 brif 60 L3787 L3788 @@ -60233,7 +60323,7 @@ ret 65 label L3788 label L3786 load 66 method -strref 67 m13s487 +strref 67 m13s489 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 brif 68 L3790 L3791 @@ -60246,7 +60336,7 @@ ret 73 label L3791 label L3789 load 74 method -strref 75 m13s498 +strref 75 m13s500 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 brif 76 L3793 L3794 @@ -60261,7 +60351,7 @@ ret 83 label L3794 label L3792 load 84 method -strref 85 m13s497 +strref 85 m13s499 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 brif 86 L3796 L3797 @@ -60279,7 +60369,7 @@ ret 95 label L3797 label L3795 load 97 method -strref 98 m13s496 +strref 98 m13s498 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 brif 99 L3799 L3800 @@ -60290,8 +60380,8 @@ iconst 103 2 neq 104 102 103 brif 104 L3802 L3803 label L3802 -strref 105 m13s307 -strref 106 m13s495 +strref 105 m13s309 +strref 106 m13s497 load 107 args call 108 pith_list_len int 1 107 call 109 int_to_string string 1 108 @@ -60322,7 +60412,7 @@ ret 129 label L3800 label L3798 load 130 method -strref 131 m13s485 +strref 131 m13s487 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 brif 132 L3805 L3806 @@ -60337,7 +60427,7 @@ ret 139 label L3806 label L3804 load 140 method -strref 141 m13s494 +strref 141 m13s496 call 142 pith_cstring_eq bool 2 140 141 call 143 pith_cstring_release void 1 141 brif 142 L3808 L3809 @@ -60352,7 +60442,7 @@ ret 149 label L3809 label L3807 load 150 method -strref 151 m13s493 +strref 151 m13s495 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 brif 152 L3811 L3812 @@ -60366,7 +60456,7 @@ ret 158 label L3812 label L3810 load 159 method -strref 160 m13s492 +strref 160 m13s494 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 brif 161 L3814 L3815 @@ -60395,14 +60485,14 @@ load 4 info field 5 4 64 int inner store elem 5 load 6 method -strref 7 m13s491 +strref 7 m13s493 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 brif 8 L3817 L3818 label L3817 -strref 10 m13s429 -strref 11 m13s490 -strref 12 m13s489 +strref 10 m13s431 +strref 11 m13s492 +strref 12 m13s491 call 13 checker_diagnostics_report_error_with_fix void 3 10 11 12 call 14 pith_cstring_release void 1 10 call 15 pith_cstring_release void 1 11 @@ -60412,7 +60502,7 @@ ret 17 label L3818 label L3816 load 18 method -strref 19 m13s480 +strref 19 m13s482 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 brif 20 L3820 L3821 @@ -60427,7 +60517,7 @@ ret 27 label L3821 label L3819 load 28 method -strref 29 m13s454 +strref 29 m13s456 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 brif 30 L3823 L3824 @@ -60440,7 +60530,7 @@ ret 35 label L3824 label L3822 load 36 method -strref 37 m13s488 +strref 37 m13s490 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 brif 38 L3826 L3827 @@ -60453,7 +60543,7 @@ ret 43 label L3827 label L3825 load 44 method -strref 45 m13s487 +strref 45 m13s489 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 brif 46 L3829 L3830 @@ -60466,7 +60556,7 @@ ret 51 label L3830 label L3828 load 52 method -strref 53 m13s486 +strref 53 m13s488 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 brif 54 L3832 L3833 @@ -60481,7 +60571,7 @@ ret 61 label L3833 label L3831 load 62 method -strref 63 m13s485 +strref 63 m13s487 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 brif 64 L3835 L3836 @@ -60520,18 +60610,18 @@ call 11 types_lookup_type_id int 1 10 call 12 pith_cstring_release void 1 10 store tid_err 11 load 13 type_name -strref 14 m13s279 +strref 14 m13s281 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 brif 15 L3838 L3839 label L3838 load 17 method -strref 18 m13s484 +strref 18 m13s486 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L3841 L3842 label L3841 -strref 21 m13s483 +strref 21 m13s485 load 22 args call 23 checker_expect_no_arguments void 2 21 22 call 24 pith_cstring_release void 1 21 @@ -60540,12 +60630,12 @@ ret 25 label L3842 label L3840 load 26 method -strref 27 m13s482 +strref 27 m13s484 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 brif 28 L3844 L3845 label L3844 -strref 30 m13s481 +strref 30 m13s483 load 31 args call 32 checker_expect_no_arguments void 2 30 31 call 33 pith_cstring_release void 1 30 @@ -60557,18 +60647,18 @@ jmp L3837 label L3839 label L3837 load 35 type_name -strref 36 m13s278 +strref 36 m13s280 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 brif 37 L3847 L3848 label L3847 load 39 method -strref 40 m13s480 +strref 40 m13s482 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 brif 41 L3850 L3851 label L3850 -strref 43 m13s479 +strref 43 m13s481 load 44 args load 45 tid_int load 46 scope_id @@ -60579,12 +60669,12 @@ ret 49 label L3851 label L3849 load 50 method -strref 51 m13s478 +strref 51 m13s480 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 brif 52 L3853 L3854 label L3853 -strref 54 m13s477 +strref 54 m13s479 load 55 args call 56 checker_expect_no_arguments void 2 54 55 call 57 pith_cstring_release void 1 54 @@ -60593,12 +60683,12 @@ ret 58 label L3854 label L3852 load 59 method -strref 60 m13s476 +strref 60 m13s478 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 brif 61 L3856 L3857 label L3856 -strref 63 m13s475 +strref 63 m13s477 load 64 args call 65 checker_expect_no_arguments void 2 63 64 call 66 pith_cstring_release void 1 63 @@ -60610,18 +60700,18 @@ jmp L3846 label L3848 label L3846 load 68 type_name -strref 69 m13s277 +strref 69 m13s279 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 brif 70 L3859 L3860 label L3859 load 72 method -strref 73 m13s474 +strref 73 m13s476 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 brif 74 L3862 L3863 label L3862 -strref 76 m13s473 +strref 76 m13s475 load 77 args call 78 checker_expect_no_arguments void 2 76 77 call 79 pith_cstring_release void 1 76 @@ -60630,12 +60720,12 @@ ret 80 label L3863 label L3861 load 81 method -strref 82 m13s472 +strref 82 m13s474 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 brif 83 L3865 L3866 label L3865 -strref 85 m13s471 +strref 85 m13s473 load 86 args call 87 checker_expect_no_arguments void 2 85 86 call 88 pith_cstring_release void 1 85 @@ -60647,7 +60737,7 @@ jmp L3858 label L3860 label L3858 load 90 type_name -strref 91 m13s276 +strref 91 m13s278 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 brif 92 L3868 L3869 @@ -60657,12 +60747,12 @@ call 95 types_lookup_type_id int 1 94 call 96 pith_cstring_release void 1 94 store tid_bool 95 load 97 method -strref 98 m13s470 +strref 98 m13s472 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 brif 99 L3871 L3872 label L3871 -strref 101 m13s469 +strref 101 m13s471 load 102 args call 103 checker_expect_no_arguments void 2 101 102 call 104 pith_cstring_release void 1 101 @@ -60671,12 +60761,12 @@ ret 105 label L3872 label L3870 load 106 method -strref 107 m13s468 +strref 107 m13s470 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 brif 108 L3874 L3875 label L3874 -strref 110 m13s467 +strref 110 m13s469 load 111 args load 112 tid_int load 113 scope_id @@ -60687,12 +60777,12 @@ ret 116 label L3875 label L3873 load 117 method -strref 118 m13s466 +strref 118 m13s468 call 119 pith_cstring_eq bool 2 117 118 call 120 pith_cstring_release void 1 118 brif 119 L3877 L3878 label L3877 -strref 121 m13s465 +strref 121 m13s467 load 122 args load 123 tid_int load 124 tid_int @@ -60732,12 +60822,12 @@ load 13 info field 14 13 64 int inner store inner 14 load 15 method -strref 16 m13s381 +strref 16 m13s383 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 brif 17 L3880 L3881 label L3880 -strref 19 m13s464 +strref 19 m13s466 load 20 args load 21 inner load 22 scope_id @@ -60748,12 +60838,12 @@ ret 25 label L3881 label L3879 load 26 method -strref 27 m13s385 +strref 27 m13s387 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 brif 28 L3883 L3884 label L3883 -strref 30 m13s463 +strref 30 m13s465 load 31 args call 32 checker_expect_no_arguments void 2 30 31 call 33 pith_cstring_release void 1 30 @@ -60765,12 +60855,12 @@ ret 36 label L3884 label L3882 load 38 method -strref 39 m13s462 +strref 39 m13s464 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 brif 40 L3886 L3887 label L3886 -strref 42 m13s461 +strref 42 m13s463 load 43 args load 44 inner load 45 scope_id @@ -60781,12 +60871,12 @@ ret 48 label L3887 label L3885 load 49 method -strref 50 m13s460 +strref 50 m13s462 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 brif 51 L3889 L3890 label L3889 -strref 53 m13s459 +strref 53 m13s461 load 54 args call 55 checker_expect_no_arguments void 2 53 54 call 56 pith_cstring_release void 1 53 @@ -60798,12 +60888,12 @@ ret 59 label L3890 label L3888 load 61 method -strref 62 m13s458 +strref 62 m13s460 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 brif 63 L3892 L3893 label L3892 -strref 65 m13s457 +strref 65 m13s459 load 66 args call 67 checker_expect_no_arguments void 2 65 66 call 68 pith_cstring_release void 1 65 @@ -60812,12 +60902,12 @@ ret 69 label L3893 label L3891 load 70 method -strref 71 m13s456 +strref 71 m13s458 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 brif 72 L3895 L3896 label L3895 -strref 74 m13s455 +strref 74 m13s457 load 75 args call 76 checker_expect_no_arguments void 2 74 75 call 77 pith_cstring_release void 1 74 @@ -60826,12 +60916,12 @@ ret 78 label L3896 label L3894 load 79 method -strref 80 m13s454 +strref 80 m13s456 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 brif 81 L3898 L3899 label L3898 -strref 83 m13s453 +strref 83 m13s455 load 84 args call 85 checker_expect_no_arguments void 2 83 84 call 86 pith_cstring_release void 1 83 @@ -60840,12 +60930,12 @@ ret 87 label L3899 label L3897 load 88 method -strref 89 m13s452 +strref 89 m13s454 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 brif 90 L3901 L3902 label L3901 -strref 92 m13s451 +strref 92 m13s453 load 93 args call 94 checker_expect_no_arguments void 2 92 93 call 95 pith_cstring_release void 1 92 @@ -60876,12 +60966,12 @@ call 11 types_lookup_type_id int 1 10 call 12 pith_cstring_release void 1 10 store tid_err 11 load 13 method -strref 14 m13s450 +strref 14 m13s452 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 brif 15 L3904 L3905 label L3904 -strref 17 m13s449 +strref 17 m13s451 load 18 args call 19 checker_expect_no_arguments void 2 17 18 call 20 pith_cstring_release void 1 17 @@ -60890,12 +60980,12 @@ ret 21 label L3905 label L3903 load 22 method -strref 23 m13s448 +strref 23 m13s450 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 brif 24 L3907 L3908 label L3907 -strref 26 m13s447 +strref 26 m13s449 load 27 args call 28 checker_expect_no_arguments void 2 26 27 call 29 pith_cstring_release void 1 26 @@ -60917,9 +61007,9 @@ iconst 4 0 neq 5 3 4 brif 5 L3910 L3911 label L3910 -strref 6 m13s307 +strref 6 m13s309 load 7 method -strref 8 m13s446 +strref 8 m13s448 concat 9 7 8 call 10 pith_cstring_release void 1 8 load 11 args @@ -60951,9 +61041,9 @@ iconst 8 1 neq 9 7 8 brif 9 L3913 L3914 label L3913 -strref 10 m13s307 +strref 10 m13s309 load 11 method -strref 12 m13s445 +strref 12 m13s447 concat 13 11 12 call 14 pith_cstring_release void 1 12 load 15 args @@ -60992,9 +61082,9 @@ iconst 8 2 neq 9 7 8 brif 9 L3916 L3917 label L3916 -strref 10 m13s307 +strref 10 m13s309 load 11 method -strref 12 m13s444 +strref 12 m13s446 concat 13 11 12 call 14 pith_cstring_release void 1 12 load 15 args @@ -61039,9 +61129,9 @@ iconst 8 2 neq 9 7 8 brif 9 L3919 L3920 label L3919 -strref 10 m13s307 +strref 10 m13s309 load 11 method -strref 12 m13s444 +strref 12 m13s446 concat 13 11 12 call 14 pith_cstring_release void 1 12 load 15 args @@ -61090,9 +61180,9 @@ iconst 11 2 neq 12 10 11 brif 12 L3922 L3923 label L3922 -strref 13 m13s307 +strref 13 m13s309 load 14 method -strref 15 m13s444 +strref 15 m13s446 concat 16 14 15 call 17 pith_cstring_release void 1 15 load 18 args @@ -61134,9 +61224,9 @@ iconst 6 1 neq 7 5 6 brif 7 L3925 L3926 label L3925 -strref 8 m13s307 +strref 8 m13s309 load 9 method -strref 10 m13s445 +strref 10 m13s447 concat 11 9 10 call 12 pith_cstring_release void 1 10 load 13 args @@ -61173,9 +61263,9 @@ iconst 7 2 neq 8 6 7 brif 8 L3928 L3929 label L3928 -strref 9 m13s307 +strref 9 m13s309 load 10 method -strref 11 m13s444 +strref 11 m13s446 concat 12 10 11 call 13 pith_cstring_release void 1 11 load 14 args @@ -61233,14 +61323,14 @@ iconst 17 0 eq 18 16 17 brif 18 L3937 L3938 label L3937 -strref 19 m13s304 -strref 20 m13s443 +strref 19 m13s306 +strref 20 m13s445 load 21 expected call 22 types_get_type_name string 1 21 concat 23 20 22 call 24 pith_cstring_release void 1 20 call 25 pith_cstring_release void 1 22 -strref 26 m13s301 +strref 26 m13s303 concat 27 23 26 call 28 pith_cstring_release void 1 23 call 29 pith_cstring_release void 1 26 @@ -61324,7 +61414,7 @@ call 41 pith_struct_release void 1 38 store obj_node 40 load 42 obj_node field 43 42 0 string kind -strref 44 m13s293 +strref 44 m13s295 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 brif 45 L3943 L3944 @@ -61366,19 +61456,19 @@ iconst 75 1 sub 74 75 73 brif 74 L3949 L3950 label L3949 -strref 76 m13s442 -strref 77 m13s349 +strref 76 m13s444 +strref 77 m13s351 load 78 field_name concat 79 77 78 call 80 pith_cstring_release void 1 77 -strref 81 m13s441 +strref 81 m13s443 concat 82 79 81 call 83 pith_cstring_release void 1 79 call 84 pith_cstring_release void 1 81 load 85 obj_name concat 86 82 85 call 87 pith_cstring_release void 1 82 -strref 88 m13s349 +strref 88 m13s351 concat 89 86 88 call 90 pith_cstring_release void 1 86 call 91 pith_cstring_release void 1 88 @@ -61486,19 +61576,19 @@ call 174 pith_struct_release void 1 173 ret 160 label L3959 label L3957 -strref 175 m13s429 -strref 176 m13s440 +strref 175 m13s431 +strref 176 m13s442 load 177 obj_name concat 178 176 177 call 179 pith_cstring_release void 1 176 -strref 180 m13s439 +strref 180 m13s441 concat 181 178 180 call 182 pith_cstring_release void 1 178 call 183 pith_cstring_release void 1 180 load 184 field_name concat 185 181 184 call 186 pith_cstring_release void 1 181 -strref 187 m13s349 +strref 187 m13s351 concat 188 185 187 call 189 pith_cstring_release void 1 185 call 190 pith_cstring_release void 1 187 @@ -61634,17 +61724,17 @@ add 290 288 289 store fidx 290 jmp L3966 label L3968 -strref 291 m13s429 +strref 291 m13s431 load 292 obj_type call 293 types_get_type_name string 1 292 -strref 294 m13s428 +strref 294 m13s430 concat 295 293 294 call 296 pith_cstring_release void 1 293 call 297 pith_cstring_release void 1 294 load 298 field_name concat 299 295 298 call 300 pith_cstring_release void 1 295 -strref 301 m13s349 +strref 301 m13s351 concat 302 299 301 call 303 pith_cstring_release void 1 299 call 304 pith_cstring_release void 1 301 @@ -61684,8 +61774,8 @@ iconst 331 0 lt 332 330 331 brif 332 L3979 L3980 label L3979 -strref 333 m13s429 -strref 334 m13s438 +strref 333 m13s431 +strref 334 m13s440 call 335 checker_diagnostics_report_error void 2 333 334 call 336 pith_cstring_release void 1 333 call 337 pith_cstring_release void 1 334 @@ -61714,12 +61804,12 @@ call 356 pith_list_len int 1 355 gte 357 353 356 brif 357 L3982 L3983 label L3982 -strref 358 m13s429 -strref 359 m13s437 +strref 358 m13s431 +strref 359 m13s439 load 360 field_name concat 361 359 360 call 362 pith_cstring_release void 1 359 -strref 363 m13s436 +strref 363 m13s438 concat 364 361 363 call 365 pith_cstring_release void 1 361 call 366 pith_cstring_release void 1 363 @@ -61730,7 +61820,7 @@ call 370 int_to_string string 1 369 concat 371 364 370 call 372 pith_cstring_release void 1 364 call 373 pith_cstring_release void 1 370 -strref 374 m13s435 +strref 374 m13s437 concat 375 371 374 call 376 pith_cstring_release void 1 371 call 377 pith_cstring_release void 1 374 @@ -61790,14 +61880,14 @@ store tid_bool 420 iconst 422 0 store __or_422_3990 422 load 423 field_name -strref 424 m13s434 +strref 424 m13s436 call 425 checker_strings_equal bool 2 423 424 call 426 pith_cstring_release void 1 424 store __or_422_3990 425 brif 425 L3991 L3990 label L3990 load 427 field_name -strref 428 m13s433 +strref 428 m13s435 call 429 checker_strings_equal bool 2 427 428 call 430 pith_cstring_release void 1 428 store __or_422_3990 429 @@ -61824,7 +61914,7 @@ ret 432 label L3989 label L3987 load 447 field_name -strref 448 m13s432 +strref 448 m13s434 call 449 checker_strings_equal bool 2 447 448 call 450 pith_cstring_release void 1 448 brif 449 L3993 L3994 @@ -61849,7 +61939,7 @@ ret 452 label L3994 label L3992 load 467 field_name -strref 468 m13s431 +strref 468 m13s433 call 469 checker_strings_equal bool 2 467 468 call 470 pith_cstring_release void 1 468 brif 469 L3996 L3997 @@ -61873,12 +61963,12 @@ call 486 pith_struct_release void 1 485 ret 472 label L3997 label L3995 -strref 487 m13s429 -strref 488 m13s430 +strref 487 m13s431 +strref 488 m13s432 load 489 field_name concat 490 488 489 call 491 pith_cstring_release void 1 488 -strref 492 m13s349 +strref 492 m13s351 concat 493 490 492 call 494 pith_cstring_release void 1 490 call 495 pith_cstring_release void 1 492 @@ -61928,17 +62018,17 @@ call 533 pith_struct_release void 1 532 ret 519 label L4000 label L3998 -strref 534 m13s429 +strref 534 m13s431 load 535 obj_type call 536 types_get_type_name string 1 535 -strref 537 m13s428 +strref 537 m13s430 concat 538 536 537 call 539 pith_cstring_release void 1 536 call 540 pith_cstring_release void 1 537 load 541 field_name concat 542 538 541 call 543 pith_cstring_release void 1 538 -strref 544 m13s349 +strref 544 m13s351 concat 545 542 544 call 546 pith_cstring_release void 1 542 call 547 pith_cstring_release void 1 544 @@ -62014,7 +62104,7 @@ call 20 pith_cstring_char_at_strict string 2 18 19 call 21 pith_cstring_release void 1 17 store ch 20 load 22 ch -strref 23 m13s427 +strref 23 m13s429 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 brif 24 L4008 L4009 @@ -62026,7 +62116,7 @@ store result 28 jmp L4007 label L4009 load 29 ch -strref 30 m13s426 +strref 30 m13s428 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 brif 31 L4010 L4011 @@ -62040,7 +62130,7 @@ store result 37 jmp L4007 label L4011 load 38 ch -strref 39 m13s425 +strref 39 m13s427 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 brif 40 L4012 L4013 @@ -62054,7 +62144,7 @@ store result 46 jmp L4007 label L4013 load 47 ch -strref 48 m13s424 +strref 48 m13s426 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 brif 49 L4014 L4015 @@ -62068,7 +62158,7 @@ store result 55 jmp L4007 label L4015 load 56 ch -strref 57 m13s423 +strref 57 m13s425 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 brif 58 L4016 L4017 @@ -62082,7 +62172,7 @@ store result 64 jmp L4007 label L4017 load 65 ch -strref 66 m13s422 +strref 66 m13s424 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 brif 67 L4018 L4019 @@ -62096,7 +62186,7 @@ store result 73 jmp L4007 label L4019 load 74 ch -strref 75 m13s421 +strref 75 m13s423 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 brif 76 L4020 L4021 @@ -62110,7 +62200,7 @@ store result 82 jmp L4007 label L4021 load 83 ch -strref 84 m13s420 +strref 84 m13s422 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 brif 85 L4022 L4023 @@ -62124,7 +62214,7 @@ store result 91 jmp L4007 label L4023 load 92 ch -strref 93 m13s419 +strref 93 m13s421 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 brif 94 L4024 L4025 @@ -62138,7 +62228,7 @@ store result 100 jmp L4007 label L4025 load 101 ch -strref 102 m13s418 +strref 102 m13s420 call 103 pith_cstring_eq bool 2 101 102 call 104 pith_cstring_release void 1 102 brif 103 L4026 L4027 @@ -62288,8 +62378,8 @@ iconst 73 0 eq 74 72 73 brif 74 L4046 L4047 label L4046 -strref 75 m13s413 -strref 76 m13s417 +strref 75 m13s415 +strref 76 m13s419 load 77 idx_type call 78 types_get_type_name string 1 77 concat 79 76 78 @@ -62321,8 +62411,8 @@ iconst 96 0 eq 97 95 96 brif 97 L4052 L4053 label L4052 -strref 98 m13s413 -strref 99 m13s416 +strref 98 m13s415 +strref 99 m13s418 load 100 idx_type call 101 types_get_type_name string 1 100 concat 102 99 101 @@ -62356,8 +62446,8 @@ iconst 121 0 eq 122 120 121 brif 122 L4058 L4059 label L4058 -strref 123 m13s413 -strref 124 m13s415 +strref 123 m13s415 +strref 124 m13s417 load 125 idx_type call 126 types_get_type_name string 1 125 concat 127 124 126 @@ -62392,15 +62482,15 @@ field 147 146 72 int key_type neq 148 145 147 brif 148 L4064 L4065 label L4064 -strref 149 m13s413 -strref 150 m13s414 +strref 149 m13s415 +strref 150 m13s416 load 151 obj_info field 152 151 72 int key_type call 153 types_get_type_name string 1 152 concat 154 150 153 call 155 pith_cstring_release void 1 150 call 156 pith_cstring_release void 1 153 -strref 157 m13s301 +strref 157 m13s303 concat 158 154 157 call 159 pith_cstring_release void 1 154 call 160 pith_cstring_release void 1 157 @@ -62425,10 +62515,10 @@ call 175 pith_struct_release void 1 174 ret 173 label L4062 label L4060 -strref 176 m13s413 +strref 176 m13s415 load 177 obj_type call 178 types_get_type_name string 1 177 -strref 179 m13s412 +strref 179 m13s414 concat 180 178 179 call 181 pith_cstring_release void 1 178 call 182 pith_cstring_release void 1 179 @@ -62517,9 +62607,9 @@ iconst 46 0 lt 47 45 46 brif 47 L4079 L4080 label L4079 -strref 48 m13s411 -strref 49 m13s410 -strref 50 m13s409 +strref 48 m13s413 +strref 49 m13s412 +strref 50 m13s411 call 51 checker_diagnostics_report_error_with_fix void 3 48 49 50 call 52 pith_cstring_release void 1 48 call 53 pith_cstring_release void 1 49 @@ -62546,9 +62636,9 @@ sub 67 69 68 call 70 pith_cstring_release void 1 66 brif 67 L4082 L4083 label L4082 -strref 71 m13s411 -strref 72 m13s410 -strref 73 m13s409 +strref 71 m13s413 +strref 72 m13s412 +strref 73 m13s411 call 74 checker_diagnostics_report_error_with_fix void 3 71 72 73 call 75 pith_cstring_release void 1 71 call 76 pith_cstring_release void 1 72 @@ -62577,28 +62667,28 @@ call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 brif 92 L4085 L4086 label L4085 -strref 94 m13s398 -strref 95 m13s407 +strref 94 m13s400 +strref 95 m13s409 load 96 inner call 97 types_get_type_name string 1 96 concat 98 95 97 call 99 pith_cstring_release void 1 95 call 100 pith_cstring_release void 1 97 -strref 101 m13s408 +strref 101 m13s410 call 102 checker_diagnostics_report_error_with_fix void 3 94 98 101 call 103 pith_cstring_release void 1 94 call 104 pith_cstring_release void 1 98 call 105 pith_cstring_release void 1 101 jmp L4084 label L4086 -strref 106 m13s398 -strref 107 m13s407 +strref 106 m13s400 +strref 107 m13s409 load 108 inner call 109 types_get_type_name string 1 108 concat 110 107 109 call 111 pith_cstring_release void 1 107 call 112 pith_cstring_release void 1 109 -strref 113 m13s406 +strref 113 m13s408 call 114 checker_diagnostics_report_error_with_fix void 3 106 110 113 call 115 pith_cstring_release void 1 106 call 116 pith_cstring_release void 1 110 @@ -62690,8 +62780,8 @@ iconst 46 0 lt 47 45 46 brif 47 L4100 L4101 label L4100 -strref 48 m13s404 -strref 49 m13s405 +strref 48 m13s406 +strref 49 m13s407 call 50 checker_diagnostics_report_error void 2 48 49 call 51 pith_cstring_release void 1 48 call 52 pith_cstring_release void 1 49 @@ -62717,8 +62807,8 @@ sub 65 67 66 call 68 pith_cstring_release void 1 64 brif 65 L4103 L4104 label L4103 -strref 69 m13s404 -strref 70 m13s405 +strref 69 m13s406 +strref 70 m13s407 call 71 checker_diagnostics_report_error void 2 69 70 call 72 pith_cstring_release void 1 69 call 73 pith_cstring_release void 1 70 @@ -62739,15 +62829,15 @@ iconst 84 0 eq 85 83 84 brif 85 L4106 L4107 label L4106 -strref 86 m13s404 -strref 87 m13s403 +strref 86 m13s406 +strref 87 m13s405 load 88 info field 89 88 80 int value_type call 90 types_get_type_name string 1 89 concat 91 87 90 call 92 pith_cstring_release void 1 87 call 93 pith_cstring_release void 1 90 -strref 94 m13s402 +strref 94 m13s404 concat 95 91 94 call 96 pith_cstring_release void 1 91 call 97 pith_cstring_release void 1 94 @@ -62783,28 +62873,28 @@ call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 brif 120 L4109 L4110 label L4109 -strref 122 m13s398 -strref 123 m13s400 +strref 122 m13s400 +strref 123 m13s402 load 124 inner call 125 types_get_type_name string 1 124 concat 126 123 125 call 127 pith_cstring_release void 1 123 call 128 pith_cstring_release void 1 125 -strref 129 m13s401 +strref 129 m13s403 call 130 checker_diagnostics_report_error_with_fix void 3 122 126 129 call 131 pith_cstring_release void 1 122 call 132 pith_cstring_release void 1 126 call 133 pith_cstring_release void 1 129 jmp L4108 label L4110 -strref 134 m13s398 -strref 135 m13s400 +strref 134 m13s400 +strref 135 m13s402 load 136 inner call 137 types_get_type_name string 1 136 concat 138 135 137 call 139 pith_cstring_release void 1 135 call 140 pith_cstring_release void 1 137 -strref 141 m13s399 +strref 141 m13s401 call 142 checker_diagnostics_report_error_with_fix void 3 134 138 141 call 143 pith_cstring_release void 1 134 call 144 pith_cstring_release void 1 138 @@ -62872,8 +62962,8 @@ sub 29 31 30 call 32 pith_cstring_release void 1 28 brif 29 L4118 L4119 label L4118 -strref 33 m13s398 -strref 34 m13s397 +strref 33 m13s400 +strref 34 m13s399 load 35 result_type call 36 types_get_type_name string 1 35 concat 37 34 36 @@ -62913,15 +63003,15 @@ iconst 61 0 eq 62 60 61 brif 62 L4124 L4125 label L4124 -strref 63 m13s304 -strref 64 m13s396 +strref 63 m13s306 +strref 64 m13s398 load 65 result_info field 66 65 64 int inner call 67 types_get_type_name string 1 66 concat 68 64 67 call 69 pith_cstring_release void 1 64 call 70 pith_cstring_release void 1 67 -strref 71 m13s301 +strref 71 m13s303 concat 72 68 71 call 73 pith_cstring_release void 1 68 call 74 pith_cstring_release void 1 71 @@ -62961,8 +63051,8 @@ iconst 6 0 eq 7 5 6 brif 7 L4127 L4128 label L4127 -strref 8 m13s289 -strref 9 m13s395 +strref 8 m13s291 +strref 9 m13s397 call 10 checker_diagnostics_report_error void 2 8 9 call 11 pith_cstring_release void 1 8 call 12 pith_cstring_release void 1 9 @@ -63006,7 +63096,7 @@ call 35 checker_check_select_arm int 2 33 34 store arm_type 35 load 36 arm_node field 37 36 0 string kind -strref 38 m13s388 +strref 38 m13s390 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 brif 39 L4134 L4135 @@ -63014,8 +63104,8 @@ label L4134 load 41 saw_default brif 41 L4137 L4138 label L4137 -strref 42 m13s289 -strref 43 m13s394 +strref 42 m13s291 +strref 43 m13s396 call 44 checker_diagnostics_report_error void 2 42 43 call 45 pith_cstring_release void 1 42 call 46 pith_cstring_release void 1 43 @@ -63028,7 +63118,7 @@ jmp L4133 label L4135 load 48 arm_node field 49 48 0 string kind -strref 50 m13s389 +strref 50 m13s391 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 brif 51 L4139 L4140 @@ -63036,8 +63126,8 @@ label L4139 load 53 saw_timeout brif 53 L4142 L4143 label L4142 -strref 54 m13s289 -strref 55 m13s393 +strref 54 m13s291 +strref 55 m13s395 call 56 checker_diagnostics_report_error void 2 54 55 call 57 pith_cstring_release void 1 54 call 58 pith_cstring_release void 1 55 @@ -63091,14 +63181,14 @@ label L4159 load 82 __and_75_4158 brif 82 L4156 L4157 label L4156 -strref 83 m13s371 -strref 84 m13s392 +strref 83 m13s373 +strref 84 m13s394 load 85 result_type call 86 types_get_type_name string 1 85 concat 87 84 86 call 88 pith_cstring_release void 1 84 call 89 pith_cstring_release void 1 86 -strref 90 m13s369 +strref 90 m13s371 concat 91 87 90 call 92 pith_cstring_release void 1 87 call 93 pith_cstring_release void 1 90 @@ -63143,7 +63233,7 @@ param arm param scope_id load 2 arm field 3 2 0 string kind -strref 4 m13s391 +strref 4 m13s393 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 brif 5 L4161 L4162 @@ -63156,7 +63246,7 @@ label L4162 label L4160 load 10 arm field 11 10 0 string kind -strref 12 m13s390 +strref 12 m13s392 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 brif 13 L4164 L4165 @@ -63169,7 +63259,7 @@ label L4165 label L4163 load 18 arm field 19 18 0 string kind -strref 20 m13s389 +strref 20 m13s391 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 brif 21 L4167 L4168 @@ -63182,7 +63272,7 @@ label L4168 label L4166 load 26 arm field 27 26 0 string kind -strref 28 m13s388 +strref 28 m13s390 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 brif 29 L4170 L4171 @@ -63194,8 +63284,8 @@ call 34 checker_check_select_arm_body int 3 31 32 33 ret 34 label L4171 label L4169 -strref 35 m13s289 -strref 36 m13s387 +strref 35 m13s291 +strref 36 m13s389 call 37 checker_diagnostics_report_error void 2 35 36 call 38 pith_cstring_release void 1 35 call 39 pith_cstring_release void 1 36 @@ -63216,8 +63306,8 @@ iconst 6 2 lt 7 5 6 brif 7 L4173 L4174 label L4173 -strref 8 m13s289 -strref 9 m13s386 +strref 8 m13s291 +strref 9 m13s388 call 10 checker_diagnostics_report_error void 2 8 9 call 11 pith_cstring_release void 1 8 call 12 pith_cstring_release void 1 9 @@ -63239,7 +63329,7 @@ iconst 23 0 store __or_23_4178 23 load 24 recv_node field 25 24 0 string kind -strref 26 m13s382 +strref 26 m13s384 call 28 pith_cstring_eq bool 2 25 26 iconst 29 1 sub 27 29 28 @@ -63249,7 +63339,7 @@ brif 27 L4179 L4178 label L4178 load 31 recv_node field 32 31 8 string value -strref 33 m13s385 +strref 33 m13s387 call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 @@ -63259,8 +63349,8 @@ label L4179 load 38 __or_23_4178 brif 38 L4176 L4177 label L4176 -strref 39 m13s289 -strref 40 m13s384 +strref 39 m13s291 +strref 40 m13s386 call 41 checker_diagnostics_report_error void 2 39 40 call 42 pith_cstring_release void 1 39 call 43 pith_cstring_release void 1 40 @@ -63320,8 +63410,8 @@ iconst 6 2 lt 7 5 6 brif 7 L4184 L4185 label L4184 -strref 8 m13s289 -strref 9 m13s383 +strref 8 m13s291 +strref 9 m13s385 call 10 checker_diagnostics_report_error void 2 8 9 call 11 pith_cstring_release void 1 8 call 12 pith_cstring_release void 1 9 @@ -63343,7 +63433,7 @@ iconst 23 0 store __or_23_4189 23 load 24 send_node field 25 24 0 string kind -strref 26 m13s382 +strref 26 m13s384 call 28 pith_cstring_eq bool 2 25 26 iconst 29 1 sub 27 29 28 @@ -63353,7 +63443,7 @@ brif 27 L4190 L4189 label L4189 load 31 send_node field 32 31 8 string value -strref 33 m13s381 +strref 33 m13s383 call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 @@ -63363,8 +63453,8 @@ label L4190 load 38 __or_23_4189 brif 38 L4187 L4188 label L4187 -strref 39 m13s289 -strref 40 m13s380 +strref 39 m13s291 +strref 40 m13s382 call 41 checker_diagnostics_report_error void 2 39 40 call 42 pith_cstring_release void 1 39 call 43 pith_cstring_release void 1 40 @@ -63396,8 +63486,8 @@ load 59 types_TID_BOOL neq 60 58 59 brif 60 L4195 L4196 label L4195 -strref 61 m13s289 -strref 62 m13s379 +strref 61 m13s291 +strref 62 m13s381 call 63 checker_diagnostics_report_error void 2 61 62 call 64 pith_cstring_release void 1 61 call 65 pith_cstring_release void 1 62 @@ -63429,8 +63519,8 @@ iconst 5 2 lt 6 4 5 brif 6 L4198 L4199 label L4198 -strref 7 m13s289 -strref 8 m13s378 +strref 7 m13s291 +strref 8 m13s380 call 9 checker_diagnostics_report_error void 2 7 8 call 10 pith_cstring_release void 1 7 call 11 pith_cstring_release void 1 8 @@ -63456,8 +63546,8 @@ load 24 types_TID_INT neq 25 23 24 brif 25 L4204 L4205 label L4204 -strref 26 m13s304 -strref 27 m13s377 +strref 26 m13s306 +strref 27 m13s379 load 28 timeout_type call 29 types_get_type_name string 1 28 concat 30 27 29 @@ -63509,7 +63599,7 @@ call 18 pith_struct_release void 1 12 store body_node 17 load 19 body_node field 20 19 0 string kind -strref 21 m13s320 +strref 21 m13s322 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 brif 22 L4210 L4211 @@ -63540,7 +63630,7 @@ label L4211 label L4209 load 40 body_node field 41 40 0 string kind -strref 42 m13s319 +strref 42 m13s321 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 brif 43 L4216 L4217 @@ -63604,8 +63694,8 @@ load 22 types_TID_BOOL neq 23 21 22 brif 23 L4225 L4226 label L4225 -strref 24 m13s375 -strref 25 m13s374 +strref 24 m13s377 +strref 25 m13s376 load 26 cond call 27 types_get_type_name string 1 26 concat 28 25 27 @@ -63667,7 +63757,7 @@ call 61 pith_struct_release void 1 58 store cn 60 load 62 cn field 63 62 0 string kind -strref 64 m13s376 +strref 64 m13s378 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 brif 65 L4235 L4236 @@ -63697,8 +63787,8 @@ load 83 types_TID_BOOL neq 84 82 83 brif 84 L4244 L4245 label L4244 -strref 85 m13s375 -strref 86 m13s374 +strref 85 m13s377 +strref 86 m13s376 load 87 econd call 88 types_get_type_name string 1 87 concat 89 86 88 @@ -63746,14 +63836,14 @@ iconst 114 0 eq 115 113 114 brif 115 L4255 L4256 label L4255 -strref 116 m13s371 -strref 117 m13s373 +strref 116 m13s373 +strref 117 m13s375 load 118 result_type call 119 types_get_type_name string 1 118 concat 120 117 119 call 121 pith_cstring_release void 1 117 call 122 pith_cstring_release void 1 119 -strref 123 m13s369 +strref 123 m13s371 concat 124 120 123 call 125 pith_cstring_release void 1 120 call 126 pith_cstring_release void 1 123 @@ -63809,14 +63899,14 @@ iconst 151 0 eq 152 150 151 brif 152 L4266 L4267 label L4266 -strref 153 m13s371 -strref 154 m13s373 +strref 153 m13s373 +strref 154 m13s375 load 155 result_type call 156 types_get_type_name string 1 155 concat 157 154 156 call 158 pith_cstring_release void 1 154 call 159 pith_cstring_release void 1 156 -strref 160 m13s369 +strref 160 m13s371 concat 161 157 160 call 162 pith_cstring_release void 1 157 call 163 pith_cstring_release void 1 160 @@ -63968,7 +64058,7 @@ call 75 pith_struct_release void 1 72 store arm_node 74 load 76 arm_node field 77 76 0 string kind -strref 78 m13s372 +strref 78 m13s374 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 brif 79 L4282 L4283 @@ -63995,7 +64085,7 @@ call 96 pith_struct_release void 1 90 store pat 95 load 97 pat field 98 97 0 string kind -strref 99 m13s358 +strref 99 m13s360 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 brif 100 L4288 L4289 @@ -64102,14 +64192,14 @@ iconst 158 0 eq 159 157 158 brif 159 L4315 L4316 label L4315 -strref 160 m13s371 -strref 161 m13s370 +strref 160 m13s373 +strref 161 m13s372 load 162 result_type call 163 types_get_type_name string 1 162 concat 164 161 163 call 165 pith_cstring_release void 1 161 call 166 pith_cstring_release void 1 163 -strref 167 m13s369 +strref 167 m13s371 concat 168 164 167 call 169 pith_cstring_release void 1 164 call 170 pith_cstring_release void 1 167 @@ -64231,7 +64321,7 @@ call 36 pith_struct_release void 1 30 store guard_node 35 load 37 guard_node field 38 37 0 string kind -strref 39 m13s368 +strref 39 m13s370 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 brif 40 L4324 L4325 @@ -64261,8 +64351,8 @@ load 58 types_TID_BOOL neq 59 57 58 brif 59 L4333 L4334 label L4333 -strref 60 m13s367 -strref 61 m13s366 +strref 60 m13s369 +strref 61 m13s368 load 62 guard_type call 63 types_get_type_name string 1 62 concat 64 61 63 @@ -64313,7 +64403,7 @@ call 87 pith_struct_release void 1 81 store body_node 86 load 88 body_node field 89 88 0 string kind -strref 90 m13s320 +strref 90 m13s322 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 brif 91 L4339 L4340 @@ -64348,7 +64438,7 @@ label L4340 label L4338 load 113 body_node field 114 113 0 string kind -strref 115 m13s319 +strref 115 m13s321 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 brif 116 L4345 L4346 @@ -64397,7 +64487,7 @@ call 8 pith_struct_release void 1 5 store pat 7 load 9 pat field 10 9 0 string kind -strref 11 m13s337 +strref 11 m13s339 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 brif 12 L4348 L4349 @@ -64412,7 +64502,7 @@ label L4349 label L4347 load 19 pat field 20 19 0 string kind -strref 21 m13s338 +strref 21 m13s340 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 brif 22 L4351 L4352 @@ -64460,7 +64550,7 @@ label L4352 label L4350 load 56 pat field 57 56 0 string kind -strref 58 m13s341 +strref 58 m13s343 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 brif 59 L4357 L4358 @@ -64471,8 +64561,8 @@ iconst 63 0 eq 64 62 63 brif 64 L4360 L4361 label L4360 -strref 65 m13s348 -strref 66 m13s365 +strref 65 m13s350 +strref 66 m13s367 load 67 expected_type call 68 types_get_type_name string 1 67 concat 69 66 68 @@ -64494,7 +64584,7 @@ label L4358 label L4356 load 80 pat field 81 80 0 string kind -strref 82 m13s364 +strref 82 m13s366 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 brif 83 L4363 L4364 @@ -64505,8 +64595,8 @@ iconst 87 0 eq 88 86 87 brif 88 L4366 L4367 label L4366 -strref 89 m13s348 -strref 90 m13s363 +strref 89 m13s350 +strref 90 m13s365 load 91 expected_type call 92 types_get_type_name string 1 91 concat 93 90 92 @@ -64528,7 +64618,7 @@ label L4364 label L4362 load 104 pat field 105 104 0 string kind -strref 106 m13s362 +strref 106 m13s364 call 107 pith_cstring_eq bool 2 105 106 call 108 pith_cstring_release void 1 106 brif 107 L4369 L4370 @@ -64538,8 +64628,8 @@ load 110 types_TID_FLOAT neq 111 109 110 brif 111 L4372 L4373 label L4372 -strref 112 m13s348 -strref 113 m13s361 +strref 112 m13s350 +strref 113 m13s363 load 114 expected_type call 115 types_get_type_name string 1 114 concat 116 113 115 @@ -64561,7 +64651,7 @@ label L4370 label L4368 load 127 pat field 128 127 0 string kind -strref 129 m13s340 +strref 129 m13s342 call 130 pith_cstring_eq bool 2 128 129 call 131 pith_cstring_release void 1 129 brif 130 L4375 L4376 @@ -64571,8 +64661,8 @@ load 133 types_TID_STRING neq 134 132 133 brif 134 L4378 L4379 label L4378 -strref 135 m13s348 -strref 136 m13s360 +strref 135 m13s350 +strref 136 m13s362 load 137 expected_type call 138 types_get_type_name string 1 137 concat 139 136 138 @@ -64594,7 +64684,7 @@ label L4376 label L4374 load 150 pat field 151 150 0 string kind -strref 152 m13s343 +strref 152 m13s345 call 153 pith_cstring_eq bool 2 151 152 call 154 pith_cstring_release void 1 152 brif 153 L4381 L4382 @@ -64604,8 +64694,8 @@ load 156 types_TID_BOOL neq 157 155 156 brif 157 L4384 L4385 label L4384 -strref 158 m13s348 -strref 159 m13s359 +strref 158 m13s350 +strref 159 m13s361 load 160 expected_type call 161 types_get_type_name string 1 160 concat 162 159 161 @@ -64627,7 +64717,7 @@ label L4382 label L4380 load 173 pat field 174 173 0 string kind -strref 175 m13s336 +strref 175 m13s338 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 brif 176 L4387 L4388 @@ -64642,7 +64732,7 @@ label L4388 label L4386 load 183 pat field 184 183 0 string kind -strref 185 m13s342 +strref 185 m13s344 call 186 pith_cstring_eq bool 2 184 185 call 187 pith_cstring_release void 1 185 brif 186 L4390 L4391 @@ -64661,7 +64751,7 @@ label L4391 label L4389 load 197 pat field 198 197 0 string kind -strref 199 m13s358 +strref 199 m13s360 call 200 pith_cstring_eq bool 2 198 199 call 201 pith_cstring_release void 1 199 brif 200 L4393 L4394 @@ -64680,7 +64770,7 @@ label L4394 label L4392 load 211 pat field 212 211 0 string kind -strref 213 m13s339 +strref 213 m13s341 call 214 pith_cstring_eq bool 2 212 213 call 215 pith_cstring_release void 1 213 brif 214 L4396 L4397 @@ -64736,7 +64826,7 @@ iconst 18 0 store __or_18_4405 18 load 19 alt_node field 20 19 0 string kind -strref 21 m13s338 +strref 21 m13s340 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 store __or_18_4405 22 @@ -64744,7 +64834,7 @@ brif 22 L4406 L4405 label L4405 load 24 alt_node field 25 24 0 string kind -strref 26 m13s337 +strref 26 m13s339 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 store __or_18_4405 27 @@ -64752,8 +64842,8 @@ label L4406 load 29 __or_18_4405 brif 29 L4403 L4404 label L4403 -strref 30 m13s348 -strref 31 m13s357 +strref 30 m13s350 +strref 31 m13s359 call 32 checker_diagnostics_report_error void 2 30 31 call 33 pith_cstring_release void 1 30 call 34 pith_cstring_release void 1 31 @@ -64837,8 +64927,8 @@ iconst 42 0 lt 43 41 42 brif 43 L4411 L4412 label L4411 -strref 44 m13s310 -strref 45 m13s311 +strref 44 m13s312 +strref 45 m13s313 load 46 type_name concat 47 45 46 call 48 pith_cstring_release void 1 45 @@ -64864,12 +64954,12 @@ load 64 expected_type neq 65 63 64 brif 65 L4414 L4415 label L4414 -strref 66 m13s348 -strref 67 m13s356 +strref 66 m13s350 +strref 67 m13s358 load 68 type_name concat 69 67 68 call 70 pith_cstring_release void 1 67 -strref 71 m13s355 +strref 71 m13s357 concat 72 69 71 call 73 pith_cstring_release void 1 69 call 74 pith_cstring_release void 1 71 @@ -64909,9 +64999,9 @@ sub 101 103 102 call 104 pith_cstring_release void 1 100 brif 101 L4417 L4418 label L4417 -strref 105 m13s348 +strref 105 m13s350 load 106 type_name -strref 107 m13s354 +strref 107 m13s356 concat 108 106 107 call 109 pith_cstring_release void 1 107 call 110 checker_diagnostics_report_error void 2 105 108 @@ -64982,9 +65072,9 @@ call 156 pith_list_len int 1 155 neq 157 154 156 brif 157 L4430 L4431 label L4430 -strref 158 m13s346 +strref 158 m13s348 load 159 variant_name -strref 160 m13s353 +strref 160 m13s355 concat 161 159 160 call 162 pith_cstring_release void 1 160 load 163 variant_fields @@ -64993,7 +65083,7 @@ call 165 int_to_string string 1 164 concat 166 161 165 call 167 pith_cstring_release void 1 161 call 168 pith_cstring_release void 1 165 -strref 169 m13s352 +strref 169 m13s354 concat 170 166 169 call 171 pith_cstring_release void 1 166 call 172 pith_cstring_release void 1 169 @@ -65088,15 +65178,15 @@ iconst 228 0 eq 229 227 228 brif 229 L4440 L4441 label L4440 -strref 230 m13s351 +strref 230 m13s353 load 231 type_name -strref 232 m13s350 +strref 232 m13s352 concat 233 231 232 call 234 pith_cstring_release void 1 232 load 235 variant_name concat 236 233 235 call 237 pith_cstring_release void 1 233 -strref 238 m13s349 +strref 238 m13s351 concat 239 236 238 call 240 pith_cstring_release void 1 236 call 241 pith_cstring_release void 1 238 @@ -65139,8 +65229,8 @@ sub 11 13 12 call 14 pith_cstring_release void 1 10 brif 11 L4443 L4444 label L4443 -strref 15 m13s348 -strref 16 m13s347 +strref 15 m13s350 +strref 16 m13s349 load 17 expected_type call 18 types_get_type_name string 1 17 concat 19 16 18 @@ -65164,8 +65254,8 @@ call 33 pith_list_len int 1 32 neq 34 30 33 brif 34 L4446 L4447 label L4446 -strref 35 m13s346 -strref 36 m13s345 +strref 35 m13s348 +strref 36 m13s347 load 37 pat field 38 37 16 list children call 39 pith_list_len int 1 38 @@ -65173,7 +65263,7 @@ call 40 int_to_string string 1 39 concat 41 36 40 call 42 pith_cstring_release void 1 36 call 43 pith_cstring_release void 1 40 -strref 44 m13s344 +strref 44 m13s346 concat 45 41 44 call 46 pith_cstring_release void 1 41 call 47 pith_cstring_release void 1 44 @@ -65253,7 +65343,7 @@ iconst 2 0 store sub 2 load 3 pat field 4 3 0 string kind -strref 5 m13s337 +strref 5 m13s339 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 brif 6 L4456 L4457 @@ -65268,7 +65358,7 @@ label L4457 label L4455 load 13 pat field 14 13 0 string kind -strref 15 m13s338 +strref 15 m13s340 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 brif 16 L4459 L4460 @@ -65283,7 +65373,7 @@ label L4460 label L4458 load 23 pat field 24 23 0 string kind -strref 25 m13s343 +strref 25 m13s345 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 brif 26 L4462 L4463 @@ -65300,7 +65390,7 @@ label L4463 label L4461 load 35 pat field 36 35 0 string kind -strref 37 m13s342 +strref 37 m13s344 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 brif 38 L4465 L4466 @@ -65340,7 +65430,7 @@ label L4466 label L4464 load 64 pat field 65 64 0 string kind -strref 66 m13s341 +strref 66 m13s343 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 brif 67 L4471 L4472 @@ -65357,7 +65447,7 @@ label L4472 label L4470 load 76 pat field 77 76 0 string kind -strref 78 m13s340 +strref 78 m13s342 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 brif 79 L4474 L4475 @@ -65374,7 +65464,7 @@ label L4475 label L4473 load 88 pat field 89 88 0 string kind -strref 90 m13s339 +strref 90 m13s341 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 brif 91 L4477 L4478 @@ -65405,7 +65495,7 @@ iconst 107 0 store __and_107_4486 107 load 108 sub field 109 108 0 string kind -strref 110 m13s338 +strref 110 m13s340 call 112 pith_cstring_eq bool 2 109 110 iconst 113 1 sub 111 113 112 @@ -65415,7 +65505,7 @@ brif 111 L4486 L4487 label L4486 load 115 sub field 116 115 0 string kind -strref 117 m13s337 +strref 117 m13s339 call 119 pith_cstring_eq bool 2 116 117 iconst 120 1 sub 118 120 119 @@ -65450,12 +65540,12 @@ label L4478 label L4476 load 136 pat field 137 136 0 string kind -strref 138 m13s336 +strref 138 m13s338 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 brif 139 L4489 L4490 label L4489 -strref 141 m13s334 +strref 141 m13s336 load 142 parts call 143 pith_struct_release void 1 142 load 144 sub @@ -65579,7 +65669,7 @@ load 60 __for_idx_188 call 61 pith_list_get_value_unchecked string 2 59 60 store __loopvar_188_v 61 load 62 __loopvar_188_v -strref 63 m13s335 +strref 63 m13s337 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 brif 64 L4512 L4513 @@ -65600,7 +65690,7 @@ jmp L4511 label L4515 label L4511 load 72 __loopvar_188_v -strref 73 m13s334 +strref 73 m13s336 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 brif 74 L4517 L4518 @@ -65632,8 +65722,8 @@ iconst 87 1 sub 86 87 85 brif 86 L4522 L4523 label L4522 -strref 88 m13s326 -strref 89 m13s333 +strref 88 m13s328 +strref 89 m13s335 call 90 checker_diagnostics_report_error void 2 88 89 call 91 pith_cstring_release void 1 88 call 92 pith_cstring_release void 1 89 @@ -65645,8 +65735,8 @@ iconst 95 1 sub 94 95 93 brif 94 L4525 L4526 label L4525 -strref 96 m13s326 -strref 97 m13s332 +strref 96 m13s328 +strref 97 m13s334 call 98 checker_diagnostics_report_error void 2 96 97 call 99 pith_cstring_release void 1 96 call 100 pith_cstring_release void 1 97 @@ -65659,8 +65749,8 @@ iconst 103 0 ret 103 label L4506 label L4504 -strref 104 m13s326 -strref 105 m13s331 +strref 104 m13s328 +strref 105 m13s333 call 106 checker_diagnostics_report_error void 2 104 105 call 107 pith_cstring_release void 1 104 call 108 pith_cstring_release void 1 105 @@ -65692,7 +65782,7 @@ load 10 __for_idx_189 call 11 pith_list_get_value_unchecked string 2 9 10 store __loopvar_189_v 11 load 12 __loopvar_189_v -strref 13 m13s330 +strref 13 m13s332 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 brif 14 L4532 L4533 @@ -65703,7 +65793,7 @@ jmp L4531 label L4533 label L4531 load 17 __loopvar_189_v -strref 18 m13s329 +strref 18 m13s331 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L4535 L4536 @@ -65725,8 +65815,8 @@ iconst 26 0 eq 27 25 26 brif 27 L4538 L4539 label L4538 -strref 28 m13s326 -strref 29 m13s328 +strref 28 m13s328 +strref 29 m13s330 call 30 checker_diagnostics_report_error void 2 28 29 call 31 pith_cstring_release void 1 28 call 32 pith_cstring_release void 1 29 @@ -65738,8 +65828,8 @@ iconst 34 0 eq 35 33 34 brif 35 L4541 L4542 label L4541 -strref 36 m13s326 -strref 37 m13s327 +strref 36 m13s328 +strref 37 m13s329 call 38 checker_diagnostics_report_error void 2 36 37 call 39 pith_cstring_release void 1 36 call 40 pith_cstring_release void 1 37 @@ -65834,10 +65924,10 @@ iconst 44 0 gt 45 43 44 brif 45 L4558 L4559 label L4558 -strref 46 m13s326 -strref 47 m13s325 +strref 46 m13s328 +strref 47 m13s327 load 48 missing -strref 49 m13s324 +strref 49 m13s326 call 50 list_join string 2 48 49 call 51 pith_cstring_release void 1 49 concat 52 47 50 @@ -65900,7 +65990,7 @@ call 27 pith_struct_release void 1 24 store cn 26 load 28 cn field 29 28 0 string kind -strref 30 m13s323 +strref 30 m13s325 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 brif 31 L4565 L4566 @@ -65934,8 +66024,8 @@ iconst 54 0 call 55 scope_define_binding void 4 51 52 53 54 jmp L4567 label L4569 -strref 56 m13s322 -strref 57 m13s321 +strref 56 m13s324 +strref 57 m13s323 call 58 checker_diagnostics_report_error void 2 56 57 call 59 pith_cstring_release void 1 56 call 60 pith_cstring_release void 1 57 @@ -65969,7 +66059,7 @@ call 75 pith_struct_release void 1 72 store body_node 74 load 76 body_node field 77 76 0 string kind -strref 78 m13s320 +strref 78 m13s322 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 brif 79 L4574 L4575 @@ -65995,7 +66085,7 @@ jmp L4573 label L4575 load 92 body_node field 93 92 0 string kind -strref 94 m13s319 +strref 94 m13s321 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 brif 95 L4579 L4580 @@ -66133,14 +66223,14 @@ label L4600 load 41 __and_32_4599 brif 41 L4597 L4598 label L4597 -strref 42 m13s314 -strref 43 m13s318 +strref 42 m13s316 +strref 43 m13s320 load 44 elem_type call 45 types_get_type_name string 1 44 concat 46 43 45 call 47 pith_cstring_release void 1 43 call 48 pith_cstring_release void 1 45 -strref 49 m13s301 +strref 49 m13s303 concat 50 46 49 call 51 pith_cstring_release void 1 46 call 52 pith_cstring_release void 1 49 @@ -66229,7 +66319,7 @@ call 29 pith_struct_release void 1 26 store entry 28 load 30 entry field 31 30 0 string kind -strref 32 m13s317 +strref 32 m13s319 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 brif 33 L4612 L4613 @@ -66274,8 +66364,8 @@ load 60 key_type neq 61 59 60 brif 61 L4623 L4624 label L4623 -strref 62 m13s314 -strref 63 m13s316 +strref 62 m13s316 +strref 63 m13s318 call 64 checker_diagnostics_report_error void 2 62 63 call 65 pith_cstring_release void 1 62 call 66 pith_cstring_release void 1 63 @@ -66317,8 +66407,8 @@ label L4634 load 83 __and_74_4633 brif 83 L4631 L4632 label L4631 -strref 84 m13s314 -strref 85 m13s315 +strref 84 m13s316 +strref 85 m13s317 call 86 checker_diagnostics_report_error void 2 84 85 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 85 @@ -66445,8 +66535,8 @@ label L4657 load 41 __and_32_4656 brif 41 L4654 L4655 label L4654 -strref 42 m13s314 -strref 43 m13s313 +strref 42 m13s316 +strref 43 m13s315 call 44 checker_diagnostics_report_error void 2 42 43 call 45 pith_cstring_release void 1 42 call 46 pith_cstring_release void 1 43 @@ -66512,7 +66602,7 @@ call 20 pith_struct_release void 1 17 store cn 19 load 21 cn field 22 21 0 string kind -strref 23 m13s312 +strref 23 m13s314 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 brif 24 L4666 L4667 @@ -66575,8 +66665,8 @@ iconst 12 0 lt 13 11 12 brif 13 L4669 L4670 label L4669 -strref 14 m13s310 -strref 15 m13s311 +strref 14 m13s312 +strref 15 m13s313 load 16 struct_name concat 17 15 16 call 18 pith_cstring_release void 1 15 @@ -66605,9 +66695,9 @@ sub 34 36 35 call 37 pith_cstring_release void 1 33 brif 34 L4672 L4673 label L4672 -strref 38 m13s310 +strref 38 m13s312 load 39 struct_name -strref 40 m13s309 +strref 40 m13s311 concat 41 39 40 call 42 pith_cstring_release void 1 40 call 43 checker_diagnostics_report_error void 2 38 41 @@ -66630,9 +66720,9 @@ call 56 pith_list_len int 1 55 gt 57 53 56 brif 57 L4675 L4676 label L4675 -strref 58 m13s307 +strref 58 m13s309 load 59 struct_name -strref 60 m13s308 +strref 60 m13s310 concat 61 59 60 call 62 pith_cstring_release void 1 60 load 63 info @@ -66642,7 +66732,7 @@ call 66 int_to_string string 1 65 concat 67 61 66 call 68 pith_cstring_release void 1 61 call 69 pith_cstring_release void 1 66 -strref 70 m13s305 +strref 70 m13s307 concat 71 67 70 call 72 pith_cstring_release void 1 67 call 73 pith_cstring_release void 1 70 @@ -66675,9 +66765,9 @@ load 95 min_required lt 96 94 95 brif 96 L4678 L4679 label L4678 -strref 97 m13s307 +strref 97 m13s309 load 98 struct_name -strref 99 m13s306 +strref 99 m13s308 concat 100 98 99 call 101 pith_cstring_release void 1 99 load 102 min_required @@ -66685,7 +66775,7 @@ call 103 int_to_string string 1 102 concat 104 100 103 call 105 pith_cstring_release void 1 100 call 106 pith_cstring_release void 1 103 -strref 107 m13s305 +strref 107 m13s307 concat 108 104 107 call 109 pith_cstring_release void 1 104 call 110 pith_cstring_release void 1 107 @@ -66771,15 +66861,15 @@ iconst 168 0 eq 169 167 168 brif 169 L4697 L4698 label L4697 -strref 170 m13s304 -strref 171 m13s303 +strref 170 m13s306 +strref 171 m13s305 load 172 info field 173 172 16 list_string fields load 174 idx call 175 pith_list_get_value_strict string 2 173 174 concat 176 171 175 call 177 pith_cstring_release void 1 171 -strref 178 m13s302 +strref 178 m13s304 concat 179 176 178 call 180 pith_cstring_release void 1 176 call 181 pith_cstring_release void 1 178 @@ -66788,7 +66878,7 @@ call 183 types_get_type_name string 1 182 concat 184 179 183 call 185 pith_cstring_release void 1 179 call 186 pith_cstring_release void 1 183 -strref 187 m13s301 +strref 187 m13s303 concat 188 184 187 call 189 pith_cstring_release void 1 184 call 190 pith_cstring_release void 1 187 @@ -66851,8 +66941,8 @@ iconst 6 1 lt 7 5 6 brif 7 L4700 L4701 label L4700 -strref 8 m13s289 -strref 9 m13s299 +strref 8 m13s291 +strref 9 m13s301 call 10 checker_diagnostics_report_error void 2 8 9 call 11 pith_cstring_release void 1 8 call 12 pith_cstring_release void 1 9 @@ -66872,15 +66962,15 @@ call 22 pith_struct_release void 1 16 store inner_node 21 load 23 inner_node field 24 23 0 string kind -strref 25 m13s300 +strref 25 m13s302 call 27 pith_cstring_eq bool 2 24 25 iconst 28 1 sub 26 28 27 call 29 pith_cstring_release void 1 25 brif 26 L4703 L4704 label L4703 -strref 30 m13s289 -strref 31 m13s299 +strref 30 m13s291 +strref 31 m13s301 call 32 checker_diagnostics_report_error void 2 30 31 call 33 pith_cstring_release void 1 30 call 34 pith_cstring_release void 1 31 @@ -66965,7 +67055,7 @@ iconst 22 0 store __and_22_4718 22 load 23 arg_node field 24 23 0 string kind -strref 25 m13s298 +strref 25 m13s300 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 store __and_22_4718 26 @@ -67002,16 +67092,16 @@ call 45 pith_cstring_retain void 1 44 call 46 pith_cstring_release void 1 40 store kind 44 load 47 expr_idx -strref 48 m13s297 -strref 49 m13s296 +strref 48 m13s299 +strref 49 m13s298 load 50 kind concat 51 49 50 call 52 pith_cstring_release void 1 49 -strref 53 m13s295 +strref 53 m13s297 concat 54 51 53 call 55 pith_cstring_release void 1 51 call 56 pith_cstring_release void 1 53 -strref 57 m13s294 +strref 57 m13s296 load 58 kind concat 59 57 58 call 60 pith_cstring_release void 1 57 @@ -67057,7 +67147,7 @@ iconst 8 0 store __and_8_4726 8 load 9 node field 10 9 0 string kind -strref 11 m13s293 +strref 11 m13s295 call 13 pith_cstring_eq bool 2 10 11 iconst 14 1 sub 12 14 13 @@ -67067,7 +67157,7 @@ brif 12 L4726 L4727 label L4726 load 16 node field 17 16 0 string kind -strref 18 m13s292 +strref 18 m13s294 call 20 pith_cstring_eq bool 2 17 18 iconst 21 1 sub 19 21 20 @@ -67080,7 +67170,7 @@ brif 23 L4728 L4729 label L4728 load 24 node field 25 24 0 string kind -strref 26 m13s291 +strref 26 m13s293 call 28 pith_cstring_eq bool 2 25 26 iconst 29 1 sub 27 29 28 @@ -67173,8 +67263,8 @@ iconst 6 1 lt 7 5 6 brif 7 L4738 L4739 label L4738 -strref 8 m13s289 -strref 9 m13s290 +strref 8 m13s291 +strref 9 m13s292 call 10 checker_diagnostics_report_error void 2 8 9 call 11 pith_cstring_release void 1 8 call 12 pith_cstring_release void 1 9 @@ -67220,8 +67310,8 @@ call 39 pith_struct_release void 1 38 ret 37 label L4745 label L4743 -strref 40 m13s289 -strref 41 m13s288 +strref 40 m13s291 +strref 41 m13s290 load 42 inner call 43 types_get_type_name string 1 42 concat 44 41 43 @@ -67251,7 +67341,7 @@ call 6 pith_struct_release void 1 3 store decl 5 load 7 decl field 8 7 0 string kind -strref 9 m13s287 +strref 9 m13s289 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 brif 10 L4747 L4748 @@ -67266,7 +67356,7 @@ label L4748 label L4746 load 17 decl field 18 17 0 string kind -strref 19 m13s286 +strref 19 m13s288 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 brif 20 L4750 L4751 @@ -67407,7 +67497,7 @@ call 83 pith_struct_release void 1 80 store cn 82 load 84 cn field 85 84 0 string kind -strref 86 m13s285 +strref 86 m13s287 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 brif 87 L4760 L4761 @@ -67420,13 +67510,13 @@ call 93 pith_cstring_release void 1 89 store fname 92 load 94 cn field 95 94 8 string value -strref 96 m13s284 +strref 96 m13s286 call 97 pith_cstring_contains bool 2 95 96 call 98 pith_cstring_release void 1 96 store is_pub 97 load 99 cn field 100 99 8 string value -strref 101 m13s283 +strref 101 m13s285 call 102 pith_cstring_contains bool 2 100 101 call 103 pith_cstring_release void 1 101 store is_mut 102 @@ -67669,7 +67759,7 @@ call 71 pith_struct_release void 1 68 store cn 70 load 72 cn field 73 72 0 string kind -strref 74 m13s282 +strref 74 m13s284 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 brif 75 L4776 L4777 @@ -68864,7 +68954,7 @@ string m14s215 "result_int" string m14s216 "parse_float" string m14s217 "tuple" string m14s218 "," -string m14s219 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m14s219 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m14s220 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m14s221 "write_file,append_file,write_file_bytes,append_file_bytes" string m14s222 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -68873,7 +68963,7 @@ string m14s224 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m14s225 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m14s226 "sort_strings,zip,enumerate,toml_keys" string m14s227 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m14s228 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m14s228 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m14s229 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m14s230 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m14s231 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -68925,6 +69015,8 @@ string m14s276 "crypto_aes_128_gcm_open failed" string m14s277 "crypto_chacha20_poly1305_seal failed" string m14s278 "crypto_chacha20_poly1305_open failed" string m14s279 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m14s280 "crypto_blake2b failed" +string m14s281 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -70979,6 +71071,8 @@ string m15s47 "crypto_aes_128_gcm_open failed" string m15s48 "crypto_chacha20_poly1305_seal failed" string m15s49 "crypto_chacha20_poly1305_open failed" string m15s50 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m15s51 "crypto_blake2b failed" +string m15s52 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -71340,6 +71434,8 @@ string m16s59 "crypto_aes_128_gcm_open failed" string m16s60 "crypto_chacha20_poly1305_seal failed" string m16s61 "crypto_chacha20_poly1305_open failed" string m16s62 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m16s63 "crypto_blake2b failed" +string m16s64 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -72747,7 +72843,7 @@ string m17s807 "parse_int" string m17s808 "result_bool" string m17s809 "result_int" string m17s810 "parse_float" -string m17s811 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m17s811 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m17s812 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m17s813 "write_file,append_file,write_file_bytes,append_file_bytes" string m17s814 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -72756,7 +72852,7 @@ string m17s816 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m17s817 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m17s818 "sort_strings,zip,enumerate,toml_keys" string m17s819 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m17s820 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m17s820 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m17s821 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m17s822 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m17s823 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -72830,6 +72926,8 @@ string m17s890 "crypto_aes_128_gcm_open failed" string m17s891 "crypto_chacha20_poly1305_seal failed" string m17s892 "crypto_chacha20_poly1305_open failed" string m17s893 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m17s894 "crypto_blake2b failed" +string m17s895 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -76309,7 +76407,7 @@ string m18s230 "result_int" string m18s231 "parse_float" string m18s232 "tuple" string m18s233 "," -string m18s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m18s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m18s235 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m18s236 "write_file,append_file,write_file_bytes,append_file_bytes" string m18s237 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -76318,7 +76416,7 @@ string m18s239 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m18s240 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m18s241 "sort_strings,zip,enumerate,toml_keys" string m18s242 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m18s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m18s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m18s244 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m18s245 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m18s246 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -76450,6 +76548,8 @@ string m18s371 "crypto_aes_128_gcm_open failed" string m18s372 "crypto_chacha20_poly1305_seal failed" string m18s373 "crypto_chacha20_poly1305_open failed" string m18s374 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m18s375 "crypto_blake2b failed" +string m18s376 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -77016,6 +77116,8 @@ string m19s74 "crypto_aes_128_gcm_open failed" string m19s75 "crypto_chacha20_poly1305_seal failed" string m19s76 "crypto_chacha20_poly1305_open failed" string m19s77 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m19s78 "crypto_blake2b failed" +string m19s79 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -77838,6 +77940,8 @@ string m20s44 "crypto_aes_128_gcm_open failed" string m20s45 "crypto_chacha20_poly1305_seal failed" string m20s46 "crypto_chacha20_poly1305_open failed" string m20s47 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m20s48 "crypto_blake2b failed" +string m20s49 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -78551,6 +78655,8 @@ string m21s179 "crypto_aes_128_gcm_open failed" string m21s180 "crypto_chacha20_poly1305_seal failed" string m21s181 "crypto_chacha20_poly1305_open failed" string m21s182 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m21s183 "crypto_blake2b failed" +string m21s184 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -80582,6 +80688,8 @@ string m22s72 "crypto_aes_128_gcm_open failed" string m22s73 "crypto_chacha20_poly1305_seal failed" string m22s74 "crypto_chacha20_poly1305_open failed" string m22s75 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m22s76 "crypto_blake2b failed" +string m22s77 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -81597,6 +81705,8 @@ string m23s266 "crypto_aes_128_gcm_open failed" string m23s267 "crypto_chacha20_poly1305_seal failed" string m23s268 "crypto_chacha20_poly1305_open failed" string m23s269 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m23s270 "crypto_blake2b failed" +string m23s271 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -85023,6 +85133,8 @@ string m24s729 "crypto_aes_128_gcm_open failed" string m24s730 "crypto_chacha20_poly1305_seal failed" string m24s731 "crypto_chacha20_poly1305_open failed" string m24s732 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m24s733 "crypto_blake2b failed" +string m24s734 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -85896,6 +86008,8 @@ string m25s208 "crypto_aes_128_gcm_open failed" string m25s209 "crypto_chacha20_poly1305_seal failed" string m25s210 "crypto_chacha20_poly1305_open failed" string m25s211 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m25s212 "crypto_blake2b failed" +string m25s213 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -86627,6 +86741,8 @@ string m26s69 "crypto_aes_128_gcm_open failed" string m26s70 "crypto_chacha20_poly1305_seal failed" string m26s71 "crypto_chacha20_poly1305_open failed" string m26s72 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m26s73 "crypto_blake2b failed" +string m26s74 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -87286,6 +87402,8 @@ string m27s202 "crypto_aes_128_gcm_open failed" string m27s203 "crypto_chacha20_poly1305_seal failed" string m27s204 "crypto_chacha20_poly1305_open failed" string m27s205 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m27s206 "crypto_blake2b failed" +string m27s207 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -89052,6 +89170,8 @@ string m28s762 "crypto_aes_128_gcm_open failed" string m28s763 "crypto_chacha20_poly1305_seal failed" string m28s764 "crypto_chacha20_poly1305_open failed" string m28s765 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m28s766 "crypto_blake2b failed" +string m28s767 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -89757,6 +89877,8 @@ string m29s70 "crypto_aes_128_gcm_open failed" string m29s71 "crypto_chacha20_poly1305_seal failed" string m29s72 "crypto_chacha20_poly1305_open failed" string m29s73 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m29s74 "crypto_blake2b failed" +string m29s75 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -90948,6 +91070,8 @@ string m30s811 "crypto_aes_128_gcm_open failed" string m30s812 "crypto_chacha20_poly1305_seal failed" string m30s813 "crypto_chacha20_poly1305_open failed" string m30s814 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m30s815 "crypto_blake2b failed" +string m30s816 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -92575,6 +92699,8 @@ string m31s112 "crypto_aes_128_gcm_open failed" string m31s113 "crypto_chacha20_poly1305_seal failed" string m31s114 "crypto_chacha20_poly1305_open failed" string m31s115 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m31s116 "crypto_blake2b failed" +string m31s117 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -92917,6 +93043,8 @@ string m32s77 "crypto_aes_128_gcm_open failed" string m32s78 "crypto_chacha20_poly1305_seal failed" string m32s79 "crypto_chacha20_poly1305_open failed" string m32s80 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m32s81 "crypto_blake2b failed" +string m32s82 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -93405,7 +93533,7 @@ string m33s230 "result_int" string m33s231 "parse_float" string m33s232 "tuple" string m33s233 "," -string m33s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m33s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m33s235 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m33s236 "write_file,append_file,write_file_bytes,append_file_bytes" string m33s237 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -93414,7 +93542,7 @@ string m33s239 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m33s240 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m33s241 "sort_strings,zip,enumerate,toml_keys" string m33s242 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m33s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m33s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m33s244 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m33s245 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m33s246 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -93596,6 +93724,8 @@ string m33s421 "crypto_aes_128_gcm_open failed" string m33s422 "crypto_chacha20_poly1305_seal failed" string m33s423 "crypto_chacha20_poly1305_open failed" string m33s424 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m33s425 "crypto_blake2b failed" +string m33s426 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -94631,6 +94761,8 @@ string m34s83 "crypto_aes_128_gcm_open failed" string m34s84 "crypto_chacha20_poly1305_seal failed" string m34s85 "crypto_chacha20_poly1305_open failed" string m34s86 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m34s87 "crypto_blake2b failed" +string m34s88 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -95842,6 +95974,8 @@ string m35s810 "crypto_aes_128_gcm_open failed" string m35s811 "crypto_chacha20_poly1305_seal failed" string m35s812 "crypto_chacha20_poly1305_open failed" string m35s813 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m35s814 "crypto_blake2b failed" +string m35s815 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -99520,7 +99654,7 @@ string m36s230 "result_int" string m36s231 "parse_float" string m36s232 "tuple" string m36s233 "," -string m36s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m36s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m36s235 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m36s236 "write_file,append_file,write_file_bytes,append_file_bytes" string m36s237 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -99529,7 +99663,7 @@ string m36s239 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m36s240 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m36s241 "sort_strings,zip,enumerate,toml_keys" string m36s242 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m36s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m36s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m36s244 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m36s245 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m36s246 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -99608,6 +99742,8 @@ string m36s318 "crypto_aes_128_gcm_open failed" string m36s319 "crypto_chacha20_poly1305_seal failed" string m36s320 "crypto_chacha20_poly1305_open failed" string m36s321 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m36s322 "crypto_blake2b failed" +string m36s323 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -101098,6 +101234,8 @@ string m37s84 "crypto_aes_128_gcm_open failed" string m37s85 "crypto_chacha20_poly1305_seal failed" string m37s86 "crypto_chacha20_poly1305_open failed" string m37s87 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m37s88 "crypto_blake2b failed" +string m37s89 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -101608,7 +101746,7 @@ string m38s230 "result_int" string m38s231 "parse_float" string m38s232 "tuple" string m38s233 "," -string m38s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m38s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m38s235 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m38s236 "write_file,append_file,write_file_bytes,append_file_bytes" string m38s237 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -101617,7 +101755,7 @@ string m38s239 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m38s240 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m38s241 "sort_strings,zip,enumerate,toml_keys" string m38s242 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m38s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m38s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m38s244 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m38s245 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m38s246 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -101682,6 +101820,8 @@ string m38s304 "crypto_aes_128_gcm_open failed" string m38s305 "crypto_chacha20_poly1305_seal failed" string m38s306 "crypto_chacha20_poly1305_open failed" string m38s307 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m38s308 "crypto_blake2b failed" +string m38s309 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -103147,6 +103287,8 @@ string m39s967 "crypto_aes_128_gcm_open failed" string m39s968 "crypto_chacha20_poly1305_seal failed" string m39s969 "crypto_chacha20_poly1305_open failed" string m39s970 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m39s971 "crypto_blake2b failed" +string m39s972 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -113107,7 +113249,7 @@ string m40s237 "result_int" string m40s238 "parse_float" string m40s239 "tuple" string m40s240 "," -string m40s241 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m40s241 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m40s242 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m40s243 "write_file,append_file,write_file_bytes,append_file_bytes" string m40s244 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -113116,7 +113258,7 @@ string m40s246 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m40s247 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m40s248 "sort_strings,zip,enumerate,toml_keys" string m40s249 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m40s250 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m40s250 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m40s251 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m40s252 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m40s253 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -113173,6 +113315,8 @@ string m40s303 "crypto_aes_128_gcm_open failed" string m40s304 "crypto_chacha20_poly1305_seal failed" string m40s305 "crypto_chacha20_poly1305_open failed" string m40s306 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m40s307 "crypto_blake2b failed" +string m40s308 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -113945,6 +114089,8 @@ string m41s98 "crypto_aes_128_gcm_open failed" string m41s99 "crypto_chacha20_poly1305_seal failed" string m41s100 "crypto_chacha20_poly1305_open failed" string m41s101 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m41s102 "crypto_blake2b failed" +string m41s103 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -114682,6 +114828,8 @@ string m42s101 "crypto_aes_128_gcm_open failed" string m42s102 "crypto_chacha20_poly1305_seal failed" string m42s103 "crypto_chacha20_poly1305_open failed" string m42s104 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m42s105 "crypto_blake2b failed" +string m42s106 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -115589,6 +115737,8 @@ string m43s96 "crypto_aes_128_gcm_open failed" string m43s97 "crypto_chacha20_poly1305_seal failed" string m43s98 "crypto_chacha20_poly1305_open failed" string m43s99 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m43s100 "crypto_blake2b failed" +string m43s101 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -116490,7 +116640,7 @@ string m44s230 "result_int" string m44s231 "parse_float" string m44s232 "tuple" string m44s233 "," -string m44s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m44s234 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m44s235 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m44s236 "write_file,append_file,write_file_bytes,append_file_bytes" string m44s237 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -116499,7 +116649,7 @@ string m44s239 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m44s240 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m44s241 "sort_strings,zip,enumerate,toml_keys" string m44s242 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m44s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m44s243 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m44s244 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m44s245 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m44s246 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -116567,6 +116717,8 @@ string m44s307 "crypto_aes_128_gcm_open failed" string m44s308 "crypto_chacha20_poly1305_seal failed" string m44s309 "crypto_chacha20_poly1305_open failed" string m44s310 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m44s311 "crypto_blake2b failed" +string m44s312 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -118848,6 +119000,8 @@ string m45s730 "crypto_aes_128_gcm_open failed" string m45s731 "crypto_chacha20_poly1305_seal failed" string m45s732 "crypto_chacha20_poly1305_open failed" string m45s733 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m45s734 "crypto_blake2b failed" +string m45s735 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -121342,7 +121496,7 @@ string m46s807 "parse_int" string m46s808 "result_bool" string m46s809 "result_int" string m46s810 "parse_float" -string m46s811 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m46s811 "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m46s812 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" string m46s813 "write_file,append_file,write_file_bytes,append_file_bytes" string m46s814 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" @@ -121351,7 +121505,7 @@ string m46s816 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list string m46s817 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" string m46s818 "sort_strings,zip,enumerate,toml_keys" string m46s819 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m46s820 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m46s820 "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m46s821 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" string m46s822 "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" string m46s823 "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" @@ -121683,7 +121837,7 @@ string m46s1148 "pith_list_push_value_owned" string m46s1149 " 2 " string m46s1150 "struct:tuple" string m46s1151 " 3" -string m46s1152 "parse_int,file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,write_file,append_file,write_file_bytes,append_file_bytes,read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m46s1152 "parse_int,file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,write_file,append_file,write_file_bytes,append_file_bytes,read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m46s1153 "main" string m46s1154 "__init_globals" string m46s1155 "__enum_eq_" @@ -121892,6 +122046,8 @@ string m46s1357 "crypto_aes_128_gcm_open failed" string m46s1358 "crypto_chacha20_poly1305_seal failed" string m46s1359 "crypto_chacha20_poly1305_open failed" string m46s1360 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m46s1361 "crypto_blake2b failed" +string m46s1362 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -174181,7 +174337,7 @@ string m47s7 "struct_decl" string m47s8 "type_alias" string m47s9 " failed" string m47s10 "," -string m47s11 "parse_int,file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,write_file,append_file,write_file_bytes,append_file_bytes,read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +string m47s11 "parse_int,file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,write_file,append_file,write_file_bytes,append_file_bytes,read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" string m47s12 "test_decl" string m47s13 "main" string m47s14 "fn" @@ -174669,6 +174825,8 @@ string m47s495 "crypto_aes_128_gcm_open failed" string m47s496 "crypto_chacha20_poly1305_seal failed" string m47s497 "crypto_chacha20_poly1305_open failed" string m47s498 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m47s499 "crypto_blake2b failed" +string m47s500 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -175693,6 +175851,8 @@ string m48s860 "crypto_aes_128_gcm_open failed" string m48s861 "crypto_chacha20_poly1305_seal failed" string m48s862 "crypto_chacha20_poly1305_open failed" string m48s863 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m48s864 "crypto_blake2b failed" +string m48s865 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -179615,6 +179775,8 @@ string m49s941 "crypto_aes_128_gcm_open failed" string m49s942 "crypto_chacha20_poly1305_seal failed" string m49s943 "crypto_chacha20_poly1305_open failed" string m49s944 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m49s945 "crypto_blake2b failed" +string m49s946 "crypto_argon2id failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types diff --git a/self-host/checker_builtins.pith b/self-host/checker_builtins.pith index 31670b4a..a4560ffe 100644 --- a/self-host/checker_builtins.pith +++ b/self-host/checker_builtins.pith @@ -158,6 +158,8 @@ pub fn register_builtin_types(scope_id: Int): define_builtin_function("crypto_verify_rsa_pkcs1_sha384", create_function_type([tid_bytes, tid_bytes, tid_bytes], TID_BOOL)) define_builtin_function("crypto_verify_rsa_pss_sha256", create_function_type([tid_bytes, tid_bytes, tid_bytes], TID_BOOL)) define_builtin_function("crypto_sign_rsa_pss_sha256_pkcs8", create_function_type([tid_bytes, tid_bytes], bytes_result)) + define_builtin_function("crypto_blake2b", create_function_type([tid_bytes, tid_bytes, TID_INT], bytes_result)) + define_builtin_function("crypto_argon2id", create_function_type([tid_bytes, tid_bytes, TID_INT, TID_INT, TID_INT, TID_INT], bytes_result)) define_builtin_function("byte_buffer_new", create_function_type([], TID_INT)) define_builtin_function("byte_buffer_free", create_function_type([TID_INT], TID_VOID)) define_builtin_function("byte_buffer_take_bytes", create_function_type([TID_INT], tid_bytes)) @@ -316,6 +318,8 @@ pub fn register_builtin_types(scope_id: Int): fix_builtin_binding("crypto_verify_rsa_pkcs1_sha384", [tid_bytes, tid_bytes, tid_bytes], tid_bool) fix_builtin_binding("crypto_verify_rsa_pss_sha256", [tid_bytes, tid_bytes, tid_bytes], tid_bool) fix_builtin_binding("crypto_sign_rsa_pss_sha256_pkcs8", [tid_bytes, tid_bytes], bytes_result) + fix_builtin_binding("crypto_blake2b", [tid_bytes, tid_bytes, tid_int], bytes_result) + fix_builtin_binding("crypto_argon2id", [tid_bytes, tid_bytes, tid_int, tid_int, tid_int, tid_int], bytes_result) fix_builtin_binding("byte_buffer_new", [], tid_int) fix_builtin_binding("byte_buffer_free", [tid_int], tid_void) fix_builtin_binding("byte_buffer_take_bytes", [tid_int], tid_bytes) diff --git a/self-host/ir_emitter_core.pith b/self-host/ir_emitter_core.pith index a8399afb..0d62c9c4 100644 --- a/self-host/ir_emitter_core.pith +++ b/self-host/ir_emitter_core.pith @@ -7586,7 +7586,7 @@ fn ir_append_lambda_bodies(): ir_builder_append_lines(bodies) fn ir_preseed_result_error_strings(): - builtin_names := "parse_int,file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,write_file,append_file,write_file_bytes,append_file_bytes,read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8".split(",") + builtin_names := "parse_int,file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,write_file,append_file,write_file_bytes,append_file_bytes,read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id".split(",") for builtin_name in builtin_names: ir_str(builtin_name + " failed") diff --git a/self-host/ir_metadata.pith b/self-host/ir_metadata.pith index f34eb999..71006c0b 100644 --- a/self-host/ir_metadata.pith +++ b/self-host/ir_metadata.pith @@ -4,7 +4,7 @@ FLOAT_RETURNING_FUNCS := "pow,sqrt,floor,ceil,round,to_float,get_float,float_fro BOOL_RETURNING_FUNCS := "file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" INT_RETURNING_FUNCS := "abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" STRING_RETURNING_FUNCS := "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" -BYTES_RETURNING_FUNCS := "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +BYTES_RETURNING_FUNCS := "bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" LIST_RETURNING_FUNCS := "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" LIST_STRING_RETURNING_FUNCS := "sort_strings,zip,enumerate,toml_keys" BOOL_RETURNING_METHODS := "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" @@ -17,7 +17,7 @@ STRING_RETURNING_METHODS := "trim,substring,to_upper,to_lower,reverse,replace,re RESULT_INT_FUNCS := "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" RESULT_BOOL_FUNCS := "write_file,append_file,write_file_bytes,append_file_bytes" RESULT_STRING_FUNCS := "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" -RESULT_BYTES_FUNCS := "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8" +RESULT_BYTES_FUNCS := "read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_blake2b,crypto_argon2id" fn ir_csv_contains(csv: String, name: String) -> Bool: if name.len() == 0: From 747ee8d5fed2ebba5f06b809703d6f85af831952 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Fri, 31 Jul 2026 06:58:08 +0000 Subject: [PATCH 2/7] add std.crypto.password MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit argon2id password hashing that writes and reads phc strings, so the cost parameters travel with the hash and a stored hash stays verifiable after you raise them. the defaults are owasp's argon2id parameters — 19 mib, two passes, one lane — which measure around 45 ms per hash here. rfc 9106's second option costs 700 ms single-threaded, and a login endpoint that spends that per attempt is its own denial of service. verify recomputes the tag and compares it with std.crypto.subtle, and treats a hash it cannot parse as a failed verification rather than an error, so nobody can mistake "unparseable" for "correct". needs_rehash is the other half: it tells a server which stored hashes were made with weaker parameters than it wants now, which is what lets the parameters move at all. --- std/crypto/password.pith | 288 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 288 insertions(+) create mode 100644 std/crypto/password.pith diff --git a/std/crypto/password.pith b/std/crypto/password.pith new file mode 100644 index 00000000..3c7c0482 --- /dev/null +++ b/std/crypto/password.pith @@ -0,0 +1,288 @@ +# std.crypto.password - argon2id password hashing +# +# `hash` turns a password into a self-describing phc string and `verify` checks +# one. the cost parameters travel inside the encoded hash, so a stored hash +# stays verifiable after you raise them and `needs_rehash` tells you which +# stored hashes are due for an upgrade. + +import std.bytes as bytes +import std.encoding as encoding +import std.strings as strings +import std.crypto.random as random +import std.crypto.subtle as subtle + +# the argon2 variant and version this module writes and accepts. argon2id is +# the variant rfc 9106 recommends when you have no reason to pick another, and +# 19 is argon2 1.3, the only version worth writing today. +ALGORITHM := "argon2id" +VERSION := 19 + +# owasp's argon2id parameters as of 2024: 19 mib of memory, two passes, one +# lane. this costs about 45 ms per hash on a modest core, which is the point — +# high enough to make offline cracking expensive, low enough that a login +# endpoint under load is not attacking itself. +pub DEFAULT_MEMORY_KIB := 19456 +pub DEFAULT_PASSES := 2 +pub DEFAULT_LANES := 1 +pub DEFAULT_SALT_LEN := 16 +pub DEFAULT_TAG_LEN := 32 + +# the runtime refuses more than a gibibyte of argon2 memory, and there is no +# reason for a password hash to be longer than a hash function's output. +MAX_MEMORY_KIB := 1048576 +MAX_PASSES := 4294967295 +MAX_LANES := 16777215 +MAX_SALT_LEN := 1024 +MAX_TAG_LEN := 1024 +MIN_SALT_LEN := 8 +MIN_TAG_LEN := 16 + +# an encoded hash is a short, fixed-shape string. anything much longer than the +# defaults produce is not a phc string we wrote, and parsing it is wasted work. +MAX_ENCODED_LEN := 512 + +# a password long enough to matter is long enough. the cap keeps a single +# request from feeding megabytes into the hash. +MAX_PASSWORD_LEN := 4096 + +# enough splits to see every field of a well-formed phc string and a few more, +# so a string with extra fields comes back too long instead of silently +# collapsing its tail into the last one. +MAX_FIELDS := 16 + +# argon2id cost parameters, plus the salt and tag lengths `hash` should use. +pub struct Params: + pub memory_kib: Int + pub passes: Int + pub lanes: Int + pub salt_len: Int + pub tag_len: Int + +# the recommended parameters. use these unless you have measured something. +pub fn default_params() -> Params: + return Params(DEFAULT_MEMORY_KIB, DEFAULT_PASSES, DEFAULT_LANES, DEFAULT_SALT_LEN, DEFAULT_TAG_LEN) + +# build cost parameters with the default salt and tag lengths. memory is in +# kibibytes, `passes` is argon2's time cost and `lanes` its parallelism. +pub fn params(memory_kib: Int, passes: Int, lanes: Int) -> Params: + return Params(memory_kib, passes, lanes, DEFAULT_SALT_LEN, DEFAULT_TAG_LEN) + +# build cost parameters and choose the salt and tag lengths too. +pub fn params_with_lengths(memory_kib: Int, passes: Int, lanes: Int, salt_len: Int, tag_len: Int) -> Params: + return Params(memory_kib, passes, lanes, salt_len, tag_len) + +fn check_params(p: Params) -> Bool!: + if p.passes < 1 or p.passes > MAX_PASSES: + fail "argon2id passes must be between 1 and " + MAX_PASSES.to_string() + if p.lanes < 1 or p.lanes > MAX_LANES: + fail "argon2id lanes must be between 1 and " + MAX_LANES.to_string() + if p.memory_kib < 8 * p.lanes: + fail "argon2id memory must be at least 8 kib per lane" + if p.memory_kib > MAX_MEMORY_KIB: + fail "argon2id memory must be at most " + MAX_MEMORY_KIB.to_string() + " kib" + if p.salt_len < MIN_SALT_LEN or p.salt_len > MAX_SALT_LEN: + fail "argon2id salt must be between " + MIN_SALT_LEN.to_string() + " and " + MAX_SALT_LEN.to_string() + " bytes" + if p.tag_len < MIN_TAG_LEN or p.tag_len > MAX_TAG_LEN: + fail "argon2id tag must be between " + MIN_TAG_LEN.to_string() + " and " + MAX_TAG_LEN.to_string() + " bytes" + return true + +# a decoded phc string: the parameters it names plus the salt and tag it holds. +struct Decoded: + params: Params + salt: Bytes + tag: Bytes + +# phc strings use the standard base64 alphabet with the padding left off. +fn phc_encode(data: Bytes) -> String: + return encoding.b64_raw_encode(data) + +fn phc_decode(text: String) -> Bytes!: + return encoding.b64_raw_decode(text)! + +# parse a bare non-negative decimal. `parse_int` accepts signs and would let +# `m=-1` through as a number we then have to re-reject. +fn parse_count(text: String) -> Int!: + if text.len() == 0 or text.len() > 10: + fail "expected a decimal number" + mut value := 0 + mut i := 0 + while i < text.len(): + digit := ord(text[i]) - 48 + if digit < 0 or digit > 9: + fail "expected a decimal number" + value = value * 10 + digit + i = i + 1 + return value + +# read one `key=value` field and return the value, checking the key first. +fn field_value(field: String, key: String) -> Int!: + prefix := key + "=" + if not field.starts_with(prefix): + fail "expected the " + key + " parameter" + return parse_count(field.substring(prefix.len(), field.len()))! + +fn parse_decoded(encoded: String) -> Decoded!: + if encoded.len() == 0 or encoded.len() > MAX_ENCODED_LEN: + fail "malformed password hash" + # a phc string is defined by its field positions, so the empty fields have + # to survive the split — `split_n` keeps them where the built-in `split` + # drops them. a leading separator means the first field is always empty: + # "", variant, version, parameters, salt, tag. + parts := strings.split_n(encoded, "$", MAX_FIELDS) + if parts.len() != 6 or parts[0].len() != 0: + fail "malformed password hash" + if parts[1] != ALGORITHM: + fail "unsupported password hash algorithm: " + parts[1] + version := field_value(parts[2], "v")! + if version != VERSION: + fail "unsupported argon2 version: " + version.to_string() + + cost := strings.split_n(parts[3], ",", MAX_FIELDS) + if cost.len() != 3: + fail "malformed argon2id parameters" + memory_kib := field_value(cost[0], "m")! + passes := field_value(cost[1], "t")! + lanes := field_value(cost[2], "p")! + + salt := phc_decode(parts[4])! + tag := phc_decode(parts[5])! + p := Params(memory_kib, passes, lanes, salt.len(), tag.len()) + check_params(p)! + return Decoded(p, salt, tag) + +fn encode_phc(p: Params, salt: Bytes, tag: Bytes) -> String: + header := "$" + ALGORITHM + "$v=" + VERSION.to_string() + cost := "$m=" + p.memory_kib.to_string() + ",t=" + p.passes.to_string() + ",p=" + p.lanes.to_string() + return header + cost + "$" + phc_encode(salt) + "$" + phc_encode(tag) + +fn derive(password: String, salt: Bytes, p: Params) -> Bytes!: + if password.len() > MAX_PASSWORD_LEN: + fail "password is longer than " + MAX_PASSWORD_LEN.to_string() + " bytes" + return crypto_argon2id(bytes.from_string_utf8(password), salt, p.passes, p.memory_kib, p.lanes, p.tag_len)! + +# hash a password with the recommended parameters and return a phc string. +pub fn hash(password: String) -> String!: + return hash_with(password, default_params())! + +# hash a password with the given parameters and return a phc string. the salt +# is fresh os randomness on every call, so hashing the same password twice +# gives two different strings. +pub fn hash_with(password: String, p: Params) -> String!: + check_params(p)! + salt := random.bytes(p.salt_len)! + tag := derive(password, salt, p)! + return encode_phc(p, salt, tag) + +fn verify_parsed(password: String, encoded: String) -> Bool!: + decoded := parse_decoded(encoded)! + tag := derive(password, decoded.salt, decoded.params)! + return subtle.equal(tag, decoded.tag) + +# check a password against a phc string. a malformed or unsupported hash is a +# failed verification rather than an error, so a caller cannot accidentally +# treat "we could not parse this" as "the password was right". +pub fn verify(password: String, encoded: String) -> Bool: + return verify_parsed(password, encoded) catch false + +# read the parameters out of a phc string. the salt and tag lengths come from +# the string's own salt and tag. +pub fn parse_params(encoded: String) -> Params!: + decoded := parse_decoded(encoded)! + return decoded.params + +fn is_weaker(encoded: String, want: Params) -> Bool!: + stored := parse_params(encoded)! + if stored.memory_kib < want.memory_kib: + return true + if stored.passes < want.passes: + return true + if stored.lanes < want.lanes: + return true + if stored.salt_len < want.salt_len: + return true + return stored.tag_len < want.tag_len + +# report whether a stored hash was made with weaker parameters than `want`, so +# a server can re-hash it the next time the password is verified. a hash it +# cannot parse also needs replacing. +pub fn needs_rehash(encoded: String, want: Params) -> Bool: + return is_weaker(encoded, want) catch true + +# the tests below use parameters far under the defaults. correctness of the +# encoding and the comparison does not depend on the cost, and running the real +# 19 mib parameters once per assertion would make the suite crawl. +fn cheap() -> Params: + return params_with_lengths(64, 1, 1, 8, 16) + +test "hash and verify round trip": + encoded := hash_with("correct horse battery staple", cheap())! + + assert(encoded.starts_with("$argon2id$v=19$m=64,t=1,p=1$")) + assert(verify("correct horse battery staple", encoded)) + assert(not verify("correct horse battery stapl", encoded)) + assert(not verify("", encoded)) + +test "each hash gets a fresh salt": + first := hash_with("same password", cheap())! + second := hash_with("same password", cheap())! + + assert(first != second) + assert(verify("same password", first)) + assert(verify("same password", second)) + +test "parameters survive the encoding": + encoded := hash_with("pw", params_with_lengths(128, 3, 2, 16, 32))! + parsed := parse_params(encoded)! + + assert_eq(parsed.memory_kib, 128) + assert_eq(parsed.passes, 3) + assert_eq(parsed.lanes, 2) + assert_eq(parsed.salt_len, 16) + assert_eq(parsed.tag_len, 32) + +test "a tampered hash does not verify": + encoded := hash_with("pw", cheap())! + cut := encoded.len() - 1 + mut last := "a" + if encoded[cut] == "a": + last = "b" + tampered := encoded.substring(0, cut) + last + + assert(not verify("pw", tampered)) + +test "needs_rehash points at the weaker side": + cheaper := hash_with("pw", params_with_lengths(64, 1, 1, 8, 16))! + stronger := hash_with("pw", params_with_lengths(128, 2, 1, 16, 32))! + + assert(needs_rehash(cheaper, params_with_lengths(128, 2, 1, 16, 32))) + assert(not needs_rehash(stronger, params_with_lengths(64, 1, 1, 8, 16))) + assert(not needs_rehash(cheaper, params_with_lengths(64, 1, 1, 8, 16))) + assert(needs_rehash("not a hash at all", cheap())) + +test "malformed phc strings fail cleanly": + assert(not verify("pw", "")) + assert(not verify("pw", "$argon2id$v=19$m=64,t=1,p=1$c2FsdHNhbHQ")) + assert(not verify("pw", "$argon2d$v=19$m=64,t=1,p=1$c2FsdHNhbHQ$AAAAAAAAAAAAAAAAAAAAAA")) + assert(not verify("pw", "$argon2id$v=16$m=64,t=1,p=1$c2FsdHNhbHQ$AAAAAAAAAAAAAAAAAAAAAA")) + assert(not verify("pw", "$argon2id$v=19$m=64,t=1$c2FsdHNhbHQ$AAAAAAAAAAAAAAAAAAAAAA")) + assert(not verify("pw", "$argon2id$v=19$m=-64,t=1,p=1$c2FsdHNhbHQ$AAAAAAAAAAAAAAAAAAAAAA")) + assert(not verify("pw", "$argon2id$v=19$m=64,t=1,p=1$!!!!!!!!$AAAAAAAAAAAAAAAAAAAAAA")) + assert(not verify("pw", "$argon2id$v=19$m=64,t=1,p=1$c2FsdA$AAAAAAAAAAAAAAAAAAAAAA")) + assert(parse_params("garbage").is_err) + +test "invalid parameters are refused before hashing": + assert(hash_with("pw", params_with_lengths(64, 0, 1, 8, 16)).is_err) + assert(hash_with("pw", params_with_lengths(4, 1, 1, 8, 16)).is_err) + assert(hash_with("pw", params_with_lengths(64, 1, 0, 8, 16)).is_err) + assert(hash_with("pw", params_with_lengths(64, 1, 1, 4, 16)).is_err) + assert(hash_with("pw", params_with_lengths(64, 1, 1, 8, 4)).is_err) + assert(hash_with("pw", params_with_lengths(2097152, 1, 1, 8, 16)).is_err) + +test "default parameters are the recommended ones": + p := default_params() + + assert_eq(p.memory_kib, 19456) + assert_eq(p.passes, 2) + assert_eq(p.lanes, 1) + assert_eq(p.salt_len, 16) + assert_eq(p.tag_len, 32) From 655a3c794f57b28b2c8f538967e676b063b68a37 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Fri, 31 Jul 2026 07:04:54 +0000 Subject: [PATCH 3/7] add std.crypto.jwt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit json web tokens over the jws compact serialization. hmac and rsa-pss are the only signers the runtime has, so pith can issue HS256, HS384, HS512 and PS256 and can verify those plus EdDSA, ES256 and RS256 minted elsewhere. that asymmetry lives in the function names — there is no sign_rs256 to find out about at runtime. every verifier names the algorithm it accepts and only ever compares the token's alg header against that name. nothing dispatches on the header, which is what algorithm confusion needs, and alg none is refused outright with no opt-in. signatures are compared with std.crypto.subtle, a crit header is rejected per rfc 7515, and the token length, header parameter count, claim count and audience list are all bounded. the interop tests verify the rfc 7515 appendix a.1 HS256 and appendix a.3 ES256 vectors, and the asymmetric regression case verifies an RS256 and an EdDSA token signed with openssl. a token that only round trips against this module would say nothing about interoperating with an outside issuer. --- std/crypto/jwt.pith | 575 +++++++++++++++++++++++ tests/cases/test_jwt_asymmetric.pith | 51 ++ tests/cases/test_password_hashing.pith | 38 ++ tests/expected/test_jwt_asymmetric.txt | 9 + tests/expected/test_password_hashing.txt | 16 + 5 files changed, 689 insertions(+) create mode 100644 std/crypto/jwt.pith create mode 100644 tests/cases/test_jwt_asymmetric.pith create mode 100644 tests/cases/test_password_hashing.pith create mode 100644 tests/expected/test_jwt_asymmetric.txt create mode 100644 tests/expected/test_password_hashing.txt diff --git a/std/crypto/jwt.pith b/std/crypto/jwt.pith new file mode 100644 index 00000000..4efc2156 --- /dev/null +++ b/std/crypto/jwt.pith @@ -0,0 +1,575 @@ +# std.crypto.jwt - json web tokens over the jws compact serialization +# +# the signing and verification halves are deliberately not symmetric, because +# the runtime's primitives are not either. hmac and rsa-pss can sign; ed25519, +# ecdsa and rsa pkcs#1 can only verify. so a pith service can issue HS256, +# HS384, HS512 and PS256 tokens, and can validate those plus EdDSA, ES256 and +# RS256 tokens minted somewhere else. that asymmetry is in the function names: +# there is no `sign_rs256`, and there never silently was one. +# +# every verifier names the algorithm it will accept. the token's own `alg` +# header is only ever compared against that name, never used to pick the +# verification path, and `alg: none` is refused with no way to opt in. + +import std.bytes as bytes +import std.encoding as encoding +import std.json as json +import std.strings as strings +import std.time as time +import std.crypto.hmac as hmac +import std.crypto.signature as signature +import std.crypto.subtle as subtle + +# the algorithm names this module knows, spelled the way rfc 7518 spells them. +pub HS256 := "HS256" +pub HS384 := "HS384" +pub HS512 := "HS512" +pub PS256 := "PS256" +pub RS256 := "RS256" +pub ES256 := "ES256" +pub EDDSA := "EdDSA" + +# a compact jws is three dot-separated fields. asking for a few more splits +# than that means a token with extra fields comes back too long rather than +# quietly folding its tail into the signature. +MAX_FIELDS := 8 + +# tokens are credentials, not documents. anything past this is either not a +# token or an attempt to make the parser do work. +MAX_TOKEN_LEN := 8192 +MAX_HEADER_PARAMS := 16 +MAX_CLAIMS := 64 +MAX_AUDIENCE_ENTRIES := 32 + +# a p-256 signature carries r and s as 32 bytes each (rfc 7518 section 3.4). +P256_COORDINATE_LEN := 32 + +# what a verified token carries: the decoded header and claims, as the json +# text they were sent as. parse them with std.json — `json.decode_text[T]` if +# you have a struct for your claims, `json.parse` if you want handles. +pub struct Verified: + pub header: String + pub claims: String + +# how strictly to check the registered claims. `now` of zero means "read the +# clock"; set it to a unix timestamp to validate against a fixed instant. +# `leeway` is the clock skew allowed on every time comparison. an empty +# `audience`, `issuer` or `subject` means that claim is not checked. +pub struct Options: + pub now: Int + pub leeway: Int + pub check_exp: Bool + pub check_nbf: Bool + pub check_iat: Bool + pub require_exp: Bool + pub audience: String + pub issuer: String + pub subject: String + +# the defaults: check exp, nbf and iat, allow a minute of clock skew, and do +# not compare an audience, issuer or subject the caller has not named. +pub fn default_options() -> Options: + return Options(0, 60, true, true, true, false, "", "", "") + +# validate against a fixed unix timestamp instead of the system clock. +pub fn at_time(options: Options, unix_seconds: Int) -> Options: + return Options(unix_seconds, options.leeway, options.check_exp, options.check_nbf, options.check_iat, options.require_exp, options.audience, options.issuer, options.subject) + +# change how much clock skew the time comparisons tolerate, in seconds. +pub fn with_leeway(options: Options, seconds: Int) -> Options: + return Options(options.now, seconds, options.check_exp, options.check_nbf, options.check_iat, options.require_exp, options.audience, options.issuer, options.subject) + +# require the token's `aud` claim to name this audience. +pub fn with_audience(options: Options, audience: String) -> Options: + return Options(options.now, options.leeway, options.check_exp, options.check_nbf, options.check_iat, options.require_exp, audience, options.issuer, options.subject) + +# require the token's `iss` claim to be this issuer. +pub fn with_issuer(options: Options, issuer: String) -> Options: + return Options(options.now, options.leeway, options.check_exp, options.check_nbf, options.check_iat, options.require_exp, options.audience, issuer, options.subject) + +# require the token's `sub` claim to be this subject. +pub fn with_subject(options: Options, subject: String) -> Options: + return Options(options.now, options.leeway, options.check_exp, options.check_nbf, options.check_iat, options.require_exp, options.audience, options.issuer, subject) + +# refuse a token that carries no `exp` claim. tokens that never expire are a +# revocation problem, so this is worth turning on for anything long-lived. +pub fn requiring_exp(options: Options) -> Options: + return Options(options.now, options.leeway, options.check_exp, options.check_nbf, options.check_iat, true, options.audience, options.issuer, options.subject) + +# turn off the `exp`, `nbf` and `iat` comparisons. this is for replaying a +# fixed test vector, not for production traffic. +pub fn without_time_checks(options: Options) -> Options: + return Options(options.now, options.leeway, false, false, false, false, options.audience, options.issuer, options.subject) + +# the three fields of a compact token, plus the bytes the signature covers. +struct Parts: + header: String + signing_input: Bytes + payload_b64: String + signature: Bytes + +fn decode_b64url(text: String, what: String) -> Bytes!: + decoded := encoding.b64_url_raw_decode(text) + if decoded.is_err: + fail what + " is not valid base64url" + return decoded.ok + +fn decode_b64url_text(text: String, what: String) -> String!: + decoded := decode_b64url(text, what)! + utf8 := decoded.to_string_utf8() + if utf8.is_err: + fail what + " is not valid utf-8" + return utf8.ok + +# read the header's `alg`, refusing the shapes that have no business being +# verified at all. this never returns a value the caller then dispatches on — +# see `open_token`. +fn header_algorithm(header: String) -> String!: + scope := json.open_scope() + defer json.close_scope(scope) + + root := json.parse(header) + if json.type_of(root) != "object": + fail "token header is not a json object" + if json.object_keys(root).len() > MAX_HEADER_PARAMS: + fail "token header has too many parameters" + # rfc 7515 section 4.1.11: a verifier that does not understand every + # extension listed in `crit` has to reject the token rather than ignore it. + if json.object_has(root, "crit"): + fail "token header names a critical extension this verifier does not implement" + + alg_node := json.object_get(root, "alg") + if json.type_of(alg_node) != "string": + fail "token header has no alg" + alg := json.get_string(alg_node) + if alg.len() == 0 or strings.equals_ignore_case(alg, "none"): + fail "unsecured tokens (alg none) are never accepted" + return alg + +# split a compact token and confirm it claims to be the algorithm the caller +# asked for. the expected algorithm comes from the caller, and the header's +# `alg` is only ever compared against it. letting the token choose the +# verification path is the algorithm confusion bug: an attacker re-signs a +# token as HS256 using an rsa public key as the hmac secret, and a verifier +# that dispatches on the header hands them a valid token. +fn open_token(token: String, expected_alg: String) -> Parts!: + if token.len() == 0 or token.len() > MAX_TOKEN_LEN: + fail "token is empty or longer than " + MAX_TOKEN_LEN.to_string() + " bytes" + + fields := strings.split_n(token, ".", MAX_FIELDS) + if fields.len() != 3: + fail "a compact jws has three dot-separated fields" + if fields[0].len() == 0 or fields[1].len() == 0 or fields[2].len() == 0: + fail "a compact jws field is empty" + + header := decode_b64url_text(fields[0], "token header")! + alg := header_algorithm(header)! + if alg != expected_alg: + fail "token is signed with " + alg + ", expected " + expected_alg + + sig := decode_b64url(fields[2], "token signature")! + signing_input := bytes.from_string_utf8(fields[0] + "." + fields[1]) + return Parts(header, signing_input, fields[1], sig) + +fn require_signature(matched: Bool) -> Bool!: + if not matched: + fail "token signature does not verify" + return true + +# decode the payload and check the registered claims. everything up to here +# has already established that the signature is good, so a failure past this +# point is about the token's contents rather than its authenticity. +fn finish(parts: Parts, options: Options) -> Verified!: + claims := decode_b64url_text(parts.payload_b64, "token payload")! + check_claims(claims, options)! + return Verified(parts.header, claims) + +fn resolved_now(options: Options) -> Int: + if options.now > 0: + return options.now + return time.now() + +# read a numeric-date claim. rfc 7519 allows a fraction of a second, which +# nothing that matters here cares about, so a float is floored. +fn numeric_claim(root: Int, name: String) -> Int!: + node := json.object_get(root, name) + kind := json.type_of(node) + if kind == "int": + return json.get_int(node) + if kind == "float": + return floor(json.get_float(node)).to_int() + fail "the " + name + " claim is not a number" + +fn audience_matches(root: Int, wanted: String) -> Bool!: + node := json.object_get(root, "aud") + kind := json.type_of(node) + if kind == "string": + return json.get_string(node) == wanted + if kind != "array": + fail "token has no aud claim" + count := json.array_len(node) + if count > MAX_AUDIENCE_ENTRIES: + fail "token audience list is too long" + mut i := 0 + while i < count: + if json.get_string(json.array_get(node, i)) == wanted: + return true + i = i + 1 + return false + +fn check_claims(claims: String, options: Options) -> Bool!: + scope := json.open_scope() + defer json.close_scope(scope) + + root := json.parse(claims) + if json.type_of(root) != "object": + fail "token payload is not a json object" + if json.object_keys(root).len() > MAX_CLAIMS: + fail "token payload has too many claims" + + now := resolved_now(options) + has_exp := json.object_has(root, "exp") + if options.require_exp and not has_exp: + fail "token has no exp claim" + if options.check_exp and has_exp: + exp := numeric_claim(root, "exp")! + if now > exp + options.leeway: + fail "token expired" + if options.check_nbf and json.object_has(root, "nbf"): + nbf := numeric_claim(root, "nbf")! + if now + options.leeway < nbf: + fail "token is not valid yet" + if options.check_iat and json.object_has(root, "iat"): + iat := numeric_claim(root, "iat")! + if now + options.leeway < iat: + fail "token was issued in the future" + + if options.issuer.len() > 0 and json.object_get_string(root, "iss") != options.issuer: + fail "token issuer does not match" + if options.subject.len() > 0 and json.object_get_string(root, "sub") != options.subject: + fail "token subject does not match" + if options.audience.len() > 0 and not audience_matches(root, options.audience)!: + fail "token audience does not match" + return true + +# check that a claims document is an object of a sane size before signing it. +# minting a token nobody can verify is a bug worth catching at the source. +fn check_claims_document(claims: String) -> Bool!: + if claims.len() == 0 or claims.len() > MAX_TOKEN_LEN: + fail "claims json is empty or longer than " + MAX_TOKEN_LEN.to_string() + " bytes" + scope := json.open_scope() + defer json.close_scope(scope) + root := json.parse(claims) + if json.type_of(root) != "object": + fail "claims json is not an object" + if json.object_keys(root).len() > MAX_CLAIMS: + fail "claims json has too many claims" + return true + +# the two encoded fields the signature covers. the header is a fixed string +# per algorithm, so there is nothing to escape. the doubled braces are pith's +# escape for a literal brace in a string, which is otherwise the start of an +# interpolation; the json in this file is written that way throughout. +fn signing_input(alg: String, claims: String) -> String!: + check_claims_document(claims)! + header := "{{\"alg\":\"" + alg + "\",\"typ\":\"JWT\"}}" + return encoding.b64_url_raw_encode(bytes.from_string_utf8(header)) + "." + encoding.b64_url_raw_encode(bytes.from_string_utf8(claims)) + +fn assemble(unsigned: String, sig: Bytes) -> String: + return unsigned + "." + encoding.b64_url_raw_encode(sig) + +# sign a claims object with hmac-sha256 and return a compact token. +pub fn sign_hs256(claims: String, secret: Bytes) -> String!: + unsigned := signing_input(HS256, claims)! + return assemble(unsigned, hmac.sha256(secret, bytes.from_string_utf8(unsigned))) + +# sign a claims object with hmac-sha384 and return a compact token. +pub fn sign_hs384(claims: String, secret: Bytes) -> String!: + unsigned := signing_input(HS384, claims)! + return assemble(unsigned, hmac.sha384(secret, bytes.from_string_utf8(unsigned))) + +# sign a claims object with hmac-sha512 and return a compact token. +pub fn sign_hs512(claims: String, secret: Bytes) -> String!: + unsigned := signing_input(HS512, claims)! + return assemble(unsigned, hmac.sha512(secret, bytes.from_string_utf8(unsigned))) + +# sign a claims object with rsa-pss and sha-256, given a pkcs#8 private key. +# this is the only asymmetric algorithm pith can issue. +pub fn sign_ps256(claims: String, pkcs8_private_key: Bytes) -> String!: + unsigned := signing_input(PS256, claims)! + sig := signature.sign_rsa_pss_sha256_pkcs8(pkcs8_private_key, bytes.from_string_utf8(unsigned))! + return assemble(unsigned, sig) + +# verify an HS256 token. a token that names any other algorithm is rejected +# before its signature is looked at. +pub fn verify_hs256(token: String, secret: Bytes, options: Options) -> Verified!: + parts := open_token(token, HS256)! + require_signature(subtle.equal(hmac.sha256(secret, parts.signing_input), parts.signature))! + return finish(parts, options)! + +# verify an HS384 token. +pub fn verify_hs384(token: String, secret: Bytes, options: Options) -> Verified!: + parts := open_token(token, HS384)! + require_signature(subtle.equal(hmac.sha384(secret, parts.signing_input), parts.signature))! + return finish(parts, options)! + +# verify an HS512 token. +pub fn verify_hs512(token: String, secret: Bytes, options: Options) -> Verified!: + parts := open_token(token, HS512)! + require_signature(subtle.equal(hmac.sha512(secret, parts.signing_input), parts.signature))! + return finish(parts, options)! + +# verify a PS256 token. `public_key` is the pkcs#1 rsapublickey der, which is +# what `std.crypto.x509` hands back as a certificate's subject public key. +pub fn verify_ps256(token: String, public_key: Bytes, options: Options) -> Verified!: + parts := open_token(token, PS256)! + require_signature(signature.verify_rsa_pss_sha256(public_key, parts.signing_input, parts.signature))! + return finish(parts, options)! + +# verify an RS256 token issued elsewhere. `public_key` is the pkcs#1 +# rsapublickey der. pith cannot issue RS256: the runtime has no pkcs#1 signer. +pub fn verify_rs256(token: String, public_key: Bytes, options: Options) -> Verified!: + parts := open_token(token, RS256)! + require_signature(signature.verify_rsa_pkcs1_sha256(public_key, parts.signing_input, parts.signature))! + return finish(parts, options)! + +# verify an EdDSA (ed25519) token issued elsewhere. `public_key` is the raw 32 +# byte key. pith cannot issue EdDSA: the runtime has no ed25519 signer. +pub fn verify_eddsa(token: String, public_key: Bytes, options: Options) -> Verified!: + parts := open_token(token, EDDSA)! + require_signature(signature.verify_ed25519(public_key, parts.signing_input, parts.signature))! + return finish(parts, options)! + +# one asn.1 der INTEGER holding a big-endian unsigned value. der wants the +# shortest form, and a leading bit of 1 would read as negative, so a zero byte +# goes in front of it. +fn der_unsigned_integer(value: Bytes) -> Bytes: + mut start := 0 + while start + 1 < value.len() and value[start] == 0: + start = start + 1 + body := value.slice(start, value.len()) + pad := body[0] >= 128 + + out := bytes.buffer_with_capacity(body.len() + 3) + defer out.free() + out.write_byte(2) catch 0 + if pad: + out.write_byte(body.len() + 1) catch 0 + out.write_byte(0) catch 0 + else: + out.write_byte(body.len()) catch 0 + out.write(body) catch 0 + return out.bytes() + +# jws carries an ecdsa signature as r and s glued together at a fixed width +# (rfc 7518 section 3.4); the runtime verifier reads the asn.1 der encoding, so +# the two have to be re-wrapped. +fn ecdsa_der_signature(raw: Bytes, half: Int) -> Bytes!: + if raw.len() != half * 2: + fail "an ecdsa jws signature must be " + (half * 2).to_string() + " bytes" + body := der_unsigned_integer(raw.slice(0, half)).concat(der_unsigned_integer(raw.slice(half, raw.len()))) + # two p-256 integers never reach the 128 bytes that would need der's long + # length form, so the single-byte length below is always enough. + if body.len() > 127: + fail "ecdsa signature is out of range" + + out := bytes.buffer_with_capacity(body.len() + 2) + defer out.free() + out.write_byte(48) catch 0 + out.write_byte(body.len()) catch 0 + out.write(body) catch 0 + return out.bytes() + +# verify an ES256 token issued elsewhere. `public_key` is the uncompressed +# p-256 point: 0x04 followed by x and y. pith cannot issue ES256: the runtime +# has no ecdsa signer. +pub fn verify_es256(token: String, public_key: Bytes, options: Options) -> Verified!: + parts := open_token(token, ES256)! + der := ecdsa_der_signature(parts.signature, P256_COORDINATE_LEN)! + require_signature(signature.verify_ecdsa_p256_sha256_asn1(public_key, parts.signing_input, der))! + return finish(parts, options)! + +# rfc 7515 appendix a.1: an HS256 token, its key, and the exact compact +# serialization, all written by someone else. a token that only round trips +# against this module would prove nothing about interoperating with anyone. +RFC7515_A1_TOKEN := "eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk" +RFC7515_A1_KEY := "AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow" + +# rfc 7515 appendix a.3: the same claims signed with ES256, and the p-256 +# public key as its two jwk coordinates. +RFC7515_A3_TOKEN := "eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.DtEhU3ljbEg8L38VWAfUAqOyKAM6-Xx-F4GawxaepmXFCgfTjDxw5djxLa8ISlSApmWQxfKTUJqPP3-Kg6NU1Q" +RFC7515_A3_X := "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU" +RFC7515_A3_Y := "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0" + +# the appendix tokens expire in 2011, so the tests read the clock from a +# moment when they were still good. +RFC7515_INSTANT := 1300819000 + +fn rfc7515_options() -> Options: + return at_time(default_options(), RFC7515_INSTANT) + +fn secret() -> Bytes: + return bytes.from_string_utf8("a shared secret nobody else knows") + +test "hs256 verifies the rfc 7515 appendix a.1 vector": + key := encoding.b64_url_raw_decode(RFC7515_A1_KEY)! + verified := verify_hs256(RFC7515_A1_TOKEN, key, rfc7515_options())! + + assert(verified.claims.contains("\"iss\":\"joe\"")) + assert(verified.header.contains("HS256")) + assert(verify_hs256(RFC7515_A1_TOKEN, bytes.from_string_utf8("wrong"), rfc7515_options()).is_err) + +test "es256 verifies the rfc 7515 appendix a.3 vector": + x := encoding.b64_url_raw_decode(RFC7515_A3_X)! + y := encoding.b64_url_raw_decode(RFC7515_A3_Y)! + public_key := bytes.from_string_utf8(chr(4)).concat(x).concat(y) + verified := verify_es256(RFC7515_A3_TOKEN, public_key, rfc7515_options())! + + assert(verified.claims.contains("\"iss\":\"joe\"")) + assert(verify_es256(RFC7515_A3_TOKEN, public_key.slice(0, 64), rfc7515_options()).is_err) + +test "hmac tokens round trip at every digest size": + claims := "{{\"sub\":\"u-1\",\"iss\":\"pith\"}}" + options := without_time_checks(default_options()) + + assert_eq(verify_hs256(sign_hs256(claims, secret())!, secret(), options)!.claims, claims) + assert_eq(verify_hs384(sign_hs384(claims, secret())!, secret(), options)!.claims, claims) + assert_eq(verify_hs512(sign_hs512(claims, secret())!, secret(), options)!.claims, claims) + +test "a verifier only accepts the algorithm it was asked for": + claims := "{{\"sub\":\"u-1\"}}" + token := sign_hs256(claims, secret())! + options := without_time_checks(default_options()) + + # the header says HS256, so every other verifier refuses it — including the + # asymmetric ones an attacker would aim a re-signed token at. + assert(verify_hs384(token, secret(), options).is_err) + assert(verify_hs512(token, secret(), options).is_err) + assert(verify_rs256(token, secret(), options).is_err) + assert(verify_ps256(token, secret(), options).is_err) + assert(verify_es256(token, secret(), options).is_err) + assert(verify_eddsa(token, secret(), options).is_err) + +test "an algorithm confusion attempt is refused": + # the attack: take a token meant for an rsa verifier, re-sign it as HS256 + # with the rsa public key as the hmac secret, and hand it to a verifier + # that picks its algorithm from the header. every verifier here names its + # own algorithm, so the re-signed token never reaches the rsa path. + public_key := bytes.from_string_utf8("-----BEGIN PUBLIC KEY----- pretend this is rsa") + forged := sign_hs256("{{\"sub\":\"admin\"}}", public_key)! + options := without_time_checks(default_options()) + + assert(verify_rs256(forged, public_key, options).is_err) + assert(verify_ps256(forged, public_key, options).is_err) + # it is a perfectly good HS256 token; it is simply not an rsa one. + assert(verify_hs256(forged, public_key, options).is_ok) + +test "an alg none token is rejected": + header := encoding.b64_url_raw_encode(bytes.from_string_utf8("{{\"alg\":\"none\",\"typ\":\"JWT\"}}")) + payload := encoding.b64_url_raw_encode(bytes.from_string_utf8("{{\"sub\":\"admin\"}}")) + options := without_time_checks(default_options()) + + # unsigned, and with a signature field bolted on, and spelled to dodge a + # case-sensitive check. + assert(verify_hs256(header + "." + payload + ".", secret(), options).is_err) + assert(verify_hs256(header + "." + payload + ".AAAA", secret(), options).is_err) + upper := encoding.b64_url_raw_encode(bytes.from_string_utf8("{{\"alg\":\"NONE\"}}")) + assert(verify_hs256(upper + "." + payload + ".AAAA", secret(), options).is_err) + +test "a tampered token does not verify": + token := sign_hs256("{{\"sub\":\"u-1\"}}", secret())! + options := without_time_checks(default_options()) + cut := token.len() - 1 + mut last := "A" + if token[cut] == "A": + last = "B" + + swapped_signature := token.substring(0, cut) + last + fields := strings.split_n(token, ".", MAX_FIELDS) + forged_claims := encoding.b64_url_raw_encode(bytes.from_string_utf8("{{\"sub\":\"admin\"}}")) + swapped_payload := fields[0] + "." + forged_claims + "." + fields[2] + + assert(verify_hs256(swapped_signature, secret(), options).is_err) + assert(verify_hs256(swapped_payload, secret(), options).is_err) + +test "expiry, not-before and issued-at are checked": + issued := 1_700_000_000 + fresh := sign_hs256("{{\"exp\":1700000600,\"iat\":1700000000}}", secret())! + future := sign_hs256("{{\"nbf\":1700000600,\"exp\":1700001200}}", secret())! + + assert(verify_hs256(fresh, secret(), at_time(default_options(), issued + 60)).is_ok) + assert(verify_hs256(fresh, secret(), at_time(default_options(), issued + 6000)).is_err) + assert(verify_hs256(future, secret(), at_time(default_options(), issued)).is_err) + assert(verify_hs256(future, secret(), at_time(default_options(), issued + 600)).is_ok) + # a token dated well into the future is refused, and the leeway is what + # decides "well into". + ahead := sign_hs256("{{\"iat\":1700000600}}", secret())! + assert(verify_hs256(ahead, secret(), at_time(without_time_checks(default_options()), issued)).is_ok) + assert(verify_hs256(ahead, secret(), at_time(default_options(), issued)).is_err) + assert(verify_hs256(ahead, secret(), with_leeway(at_time(default_options(), issued), 3600)).is_ok) + +test "a missing exp is only fatal when required": + token := sign_hs256("{{\"sub\":\"u-1\"}}", secret())! + options := at_time(default_options(), 1_700_000_000) + + assert(verify_hs256(token, secret(), options).is_ok) + assert(verify_hs256(token, secret(), requiring_exp(options)).is_err) + +test "audience, issuer and subject are compared when asked for": + token := sign_hs256("{{\"iss\":\"pith\",\"sub\":\"u-1\",\"aud\":\"chat\"}}", secret())! + listed := sign_hs256("{{\"aud\":[\"web\",\"chat\"]}}", secret())! + options := without_time_checks(default_options()) + + assert(verify_hs256(token, secret(), with_audience(options, "chat")).is_ok) + assert(verify_hs256(token, secret(), with_audience(options, "billing")).is_err) + assert(verify_hs256(token, secret(), with_issuer(options, "pith")).is_ok) + assert(verify_hs256(token, secret(), with_issuer(options, "somebody-else")).is_err) + assert(verify_hs256(token, secret(), with_subject(options, "u-1")).is_ok) + assert(verify_hs256(token, secret(), with_subject(options, "u-2")).is_err) + assert(verify_hs256(listed, secret(), with_audience(options, "chat")).is_ok) + assert(verify_hs256(listed, secret(), with_audience(options, "admin")).is_err) + +test "malformed tokens fail cleanly": + options := without_time_checks(default_options()) + + assert(verify_hs256("", secret(), options).is_err) + assert(verify_hs256("not-a-token", secret(), options).is_err) + assert(verify_hs256("a.b", secret(), options).is_err) + assert(verify_hs256("a.b.c.d", secret(), options).is_err) + # a header that is not base64url, then one that is not json, then one that + # is json but not an object. + assert(verify_hs256("!!!.aaaa.bbbb", secret(), options).is_err) + not_json := encoding.b64_url_raw_encode(bytes.from_string_utf8("{{oh no")) + assert(verify_hs256(not_json + ".aaaa.bbbb", secret(), options).is_err) + array_header := encoding.b64_url_raw_encode(bytes.from_string_utf8("[\"HS256\"]")) + assert(verify_hs256(array_header + ".aaaa.bbbb", secret(), options).is_err) + +test "a signed token with a malformed payload fails after the signature": + # the signature is genuine, so these exercise the payload path rather than + # the signature one. + unsigned := encoding.b64_url_raw_encode(bytes.from_string_utf8("{{\"alg\":\"HS256\",\"typ\":\"JWT\"}}")) + "." + encoding.b64_url_raw_encode(bytes.from_string_utf8("nope, not json")) + mac := hmac.sha256(secret(), bytes.from_string_utf8(unsigned)) + token := unsigned + "." + encoding.b64_url_raw_encode(mac) + + assert(verify_hs256(token, secret(), without_time_checks(default_options())).is_err) + +test "signing refuses claims that are not a bounded json object": + assert(sign_hs256("", secret()).is_err) + assert(sign_hs256("not json", secret()).is_err) + assert(sign_hs256("[1,2,3]", secret()).is_err) + + mut big := "{{" + mut i := 0 + while i <= MAX_CLAIMS: + if i > 0: + big = big + "," + big = big + "\"k" + i.to_string() + "\":1" + i = i + 1 + assert(sign_hs256(big + "}}", secret()).is_err) + +test "an oversized token is refused before it is parsed": + long_claims := "{{\"pad\":\"" + "x".repeat(MAX_TOKEN_LEN) + "\"}}" + options := without_time_checks(default_options()) + + assert(sign_hs256(long_claims, secret()).is_err) + assert(verify_hs256("a.b." + "c".repeat(MAX_TOKEN_LEN), secret(), options).is_err) diff --git a/tests/cases/test_jwt_asymmetric.pith b/tests/cases/test_jwt_asymmetric.pith new file mode 100644 index 00000000..ceeb163a --- /dev/null +++ b/tests/cases/test_jwt_asymmetric.pith @@ -0,0 +1,51 @@ +# jwt against keys and tokens that came from somewhere else. +# +# the RS256 and EdDSA tokens below were signed with openssl, so verifying them +# says the compact serialization and the signing input agree with another +# implementation and not only with this module. PS256 is a round trip instead, +# because rsa-pss is the one asymmetric algorithm pith can sign with. + +import std.encoding as encoding +import std.crypto.jwt as jwt +import std.crypto.x509 as x509 + +# signed with tests/live/fixtures/localhost.key. +RS256_TOKEN := "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJleHRlcm5hbC1pc3N1ZXIiLCJzdWIiOiJ1LTQyIiwiYXVkIjoiY2hhdCIsImV4cCI6MTkwMDAwMDAwMH0.PUnc4hVzxTmUdMsqUeg1cOiFjNal3YkpWIin1I9So4W6rhCpJWINCG1nuxmkk-DknncDj6YmJQlvsp_bnyZ7AVd_XTI1JPQPublSn5g1IdkmsSincob7rOhcYePFtpvkHP8v7YsMIT3OZOWnW3V4S4gXXXso8gRB1ZXiOLyfPjEK9oGA6DJO2xSkq2gpAmYtHJTYgwtaZkrpOBr55DTuemllumPylCj1rhaRUMEHDLE21s-FCBtiVxIiQWwNTBBvShF_XIgg33PoM_thCrnxPL6_SS8lq4Kr-5BnzXxLYZyajTusyc9jhhaN7SSoORJKI7z5Z0wkukDUr2ksYP_7hQ" + +# signed with a throwaway ed25519 key; the raw public key is below it. +EDDSA_TOKEN := "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJleHRlcm5hbC1pc3N1ZXIiLCJzdWIiOiJ1LTQyIiwiYXVkIjoiY2hhdCIsImV4cCI6MTkwMDAwMDAwMH0.lCrCeRMDoOAJWgCygsdIgpg9c2lWHIOaZfTCf786EC7nHZzduYXvp-rF55-IVZfXTYd7wG-f1ScWXBKTgz_NDA" +EDDSA_PUBLIC_KEY := "1ab366e6b16df7f5b5d43f4366b999cf62d9b7001439620b2169e55b54520fdc" + +# both tokens expire in 2030. validating at a fixed instant keeps the test from +# depending on when it runs, in either direction. +INSTANT := 1800000000 + +fn main() -> Int!: + cert := x509.parse_pem(read_file("tests/live/fixtures/localhost.crt")!)! + rsa_public := cert.subject_public_key + rsa_private := encoding.pem_decode(read_file("tests/live/fixtures/localhost.key")!)! + ed_public := encoding.from_hex(EDDSA_PUBLIC_KEY)! + + base := jwt.at_time(jwt.default_options(), INSTANT) + expected := jwt.with_issuer(jwt.with_audience(base, "chat"), "external-issuer") + + rs := jwt.verify_rs256(RS256_TOKEN, rsa_public, expected)! + print("rs256 claims: " + rs.claims) + print("rs256 wrong audience: " + jwt.verify_rs256(RS256_TOKEN, rsa_public, jwt.with_audience(base, "billing")).is_err.to_string()) + print("rs256 wrong key: " + jwt.verify_rs256(RS256_TOKEN, ed_public, base).is_err.to_string()) + + ed := jwt.verify_eddsa(EDDSA_TOKEN, ed_public, expected)! + print("eddsa claims: " + ed.claims) + print("eddsa wrong key: " + jwt.verify_eddsa(EDDSA_TOKEN, rsa_public, base).is_err.to_string()) + + # an RS256 token handed to the rsa-pss verifier is refused on its `alg` + # before either signature is looked at, and the reverse holds too. + print("rs256 through the ps256 verifier: " + jwt.verify_ps256(RS256_TOKEN, rsa_public, base).is_err.to_string()) + print("eddsa through the rs256 verifier: " + jwt.verify_rs256(EDDSA_TOKEN, ed_public, base).is_err.to_string()) + + claims := "{{\"sub\":\"u-7\",\"aud\":\"chat\"}}" + issued := jwt.sign_ps256(claims, rsa_private.body)! + round_tripped := jwt.verify_ps256(issued, rsa_public, jwt.with_audience(base, "chat"))! + print("ps256 claims: " + round_tripped.claims) + print("ps256 wrong verifier: " + jwt.verify_rs256(issued, rsa_public, base).is_err.to_string()) + return 0 diff --git a/tests/cases/test_password_hashing.pith b/tests/cases/test_password_hashing.pith new file mode 100644 index 00000000..21a8cedd --- /dev/null +++ b/tests/cases/test_password_hashing.pith @@ -0,0 +1,38 @@ +# argon2id hashing end to end: the phc encoding, verification, the rehash +# signal, and what happens to input that is not a hash we wrote. +# +# the cost parameters here are far below the defaults on purpose. what this +# case checks is the encoding and the comparison, neither of which cares how +# long the derivation took. + +import std.crypto.password as password + +fn cheap() -> password.Params: + return password.params_with_lengths(64, 1, 1, 8, 16) + +fn main() -> Int!: + encoded := password.hash_with("hunter2", cheap())! + print("prefix: " + encoded.substring(0, 27)) + + print("right password: " + password.verify("hunter2", encoded).to_string()) + print("wrong password: " + password.verify("hunter3", encoded).to_string()) + print("empty password: " + password.verify("", encoded).to_string()) + + parsed := password.parse_params(encoded)! + print("memory: " + parsed.memory_kib.to_string()) + print("passes: " + parsed.passes.to_string()) + print("lanes: " + parsed.lanes.to_string()) + print("salt bytes: " + parsed.salt_len.to_string()) + print("tag bytes: " + parsed.tag_len.to_string()) + + print("same password hashes differently: " + (password.hash_with("hunter2", cheap())! != encoded).to_string()) + + stronger := password.params_with_lengths(128, 2, 1, 16, 32) + print("needs a stronger hash: " + password.needs_rehash(encoded, stronger).to_string()) + print("already strong enough: " + password.needs_rehash(encoded, cheap()).to_string()) + print("garbage needs rehashing: " + password.needs_rehash("$argon2id$oops", stronger).to_string()) + + print("truncated: " + password.verify("hunter2", encoded.substring(0, encoded.len() - 4)).to_string()) + print("not a hash: " + password.verify("hunter2", "hunter2").to_string()) + print("parse of garbage errs: " + password.parse_params("$argon2id$v=19$m=64").is_err.to_string()) + return 0 diff --git a/tests/expected/test_jwt_asymmetric.txt b/tests/expected/test_jwt_asymmetric.txt new file mode 100644 index 00000000..f977d4df --- /dev/null +++ b/tests/expected/test_jwt_asymmetric.txt @@ -0,0 +1,9 @@ +rs256 claims: {"iss":"external-issuer","sub":"u-42","aud":"chat","exp":1900000000} +rs256 wrong audience: true +rs256 wrong key: true +eddsa claims: {"iss":"external-issuer","sub":"u-42","aud":"chat","exp":1900000000} +eddsa wrong key: true +rs256 through the ps256 verifier: true +eddsa through the rs256 verifier: true +ps256 claims: {"sub":"u-7","aud":"chat"} +ps256 wrong verifier: true diff --git a/tests/expected/test_password_hashing.txt b/tests/expected/test_password_hashing.txt new file mode 100644 index 00000000..cb21f3ba --- /dev/null +++ b/tests/expected/test_password_hashing.txt @@ -0,0 +1,16 @@ +prefix: $argon2id$v=19$m=64,t=1,p=1 +right password: true +wrong password: false +empty password: false +memory: 64 +passes: 1 +lanes: 1 +salt bytes: 8 +tag bytes: 16 +same password hashes differently: true +needs a stronger hash: true +already strong enough: false +garbage needs rehashing: true +truncated: false +not a hash: false +parse of garbage errs: true From 7c20977717602b7338983791876adb8b02e12513 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Fri, 31 Jul 2026 07:06:18 +0000 Subject: [PATCH 4/7] make std.crypto an index of what std.crypto holds the root module was three lines listing some of the submodules and a test that asserted true. pith has no re-export, so this file cannot hand anyone the submodules, but it is still the first thing you open when you go looking for a mac or a password hash, and it should answer that. it now describes the whole surface grouped by what you are trying to do, says what is deliberately absent, and points at std.hash and std.encoding for the things people look for here and do not find. the test reads the directory and compares it against the index, so a new submodule cannot ship unlisted. --- std/crypto.pith | 77 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 70 insertions(+), 7 deletions(-) diff --git a/std/crypto.pith b/std/crypto.pith index d5218bbb..e0b66571 100644 --- a/std/crypto.pith +++ b/std/crypto.pith @@ -1,9 +1,72 @@ -# std.crypto - practical cryptographic building blocks +# std.crypto - the standard library's cryptography, and where each piece lives # -# most code should use the submodules directly: -# `std.crypto.random`, `std.crypto.hmac`, `std.crypto.kdf`, -# `std.crypto.subtle`, `std.crypto.aead`, `std.crypto.ecdh`, -# `std.crypto.signature`, and `std.crypto.x509`. +# pith has no re-export, so importing this module hands you nothing; import the +# submodule you want directly, as `import std.crypto.password as password`. +# what this file is for is the moment before that, when you know you need a mac +# or a password hash and not yet which module holds it. +# +# ## storing and checking credentials +# +# `std.crypto.password` hashes passwords with argon2id and writes the result as +# a phc string, so the cost parameters travel with the hash. `hash` and +# `verify` are the whole story for most callers; `needs_rehash` is how you +# raise the parameters later without locking anyone out. +# +# `std.crypto.jwt` signs and verifies json web tokens. it can issue HS256, +# HS384, HS512 and PS256, and can verify those plus EdDSA, ES256 and RS256 from +# an outside issuer — the runtime has no ed25519, ecdsa or rsa pkcs#1 signer, +# so those three are verification only. every verifier names the algorithm it +# accepts rather than reading it off the token. +# +# ## keys, macs and randomness +# +# `std.crypto.random` is the os random source. use it for keys, nonces, salts +# and session ids; `std.rand` is the seedable one, for tests and simulations. +# +# `std.crypto.hmac` is hmac over sha-1, sha-256, sha-384 and sha-512, with +# constant-time verify helpers. +# +# `std.crypto.kdf` derives keys: hkdf for key material you already have, and +# pbkdf2 for legacy password hashes you are migrating off. new passwords go +# through `std.crypto.password`. +# +# `std.crypto.ecdh` is x25519 and p-256 key agreement, which is how tls gets to +# a shared secret. +# +# ## encrypting and authenticating messages +# +# `std.crypto.aead` is aes-128-gcm and chacha20-poly1305. both authenticate as +# well as encrypt, so a tampered ciphertext fails to open rather than +# decrypting to garbage. +# +# `std.crypto.signature` verifies ed25519, ecdsa p-256 and p-384, and rsa +# pkcs#1 and pss signatures, and signs with rsa-pss. +# +# `std.crypto.subtle` compares byte strings without an early return. anything +# that compares a secret — a mac, a password tag, a token signature — goes +# through it, and everything in std that compares one does. +# +# `std.crypto.x509` parses certificates and applies the hostname, validity and +# name-constraint checks tls needs. +# +# ## what is not here +# +# there is no asymmetric key generation beyond ecdh, no ed25519 or ecdsa +# signing, and no certificate issuance. unkeyed hashes live in `std.hash`, and +# base64, base32 and hex live in `std.encoding`. + +import std.algo as algo +import std.fs as fs +import std.strings as strings + +# the submodules the index above describes. the test below reads the directory +# and compares, so a new module cannot ship without a line in the index. +INDEXED := "aead,ecdh,hmac,jwt,kdf,password,random,signature,subtle,x509" + +test "the index covers every submodule that ships": + mut found: List[String] := [] + for entry in fs.list("std/crypto"): + if entry.ends_with(".pith"): + found.push(strings.remove_suffix(entry, ".pith")) -test "crypto root module loads": - assert(true) + assert_eq(algo.sort_strings(found).join(","), INDEXED) From f5b41c8d230fdc47788e11a02f49c019d6b05b68 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Fri, 31 Jul 2026 07:10:29 +0000 Subject: [PATCH 5/7] document password hashing and jwt, and add an auth example docs/auth.md covers both modules in one place: what the argon2id defaults cost and why they sit where they do, how needs_rehash lets the parameters move, and the sign/verify table that makes the asymmetry obvious before anyone reaches for a sign_rs256 that does not exist. it also spells out how algorithm confusion and alg none are prevented, and the key formats each verifier wants, which is where people usually get stuck. examples/auth.pith runs the flow: register, log in, notice the stored hash is behind, issue a session token, verify it, and watch four kinds of bad token get turned away. the timings in the module comment are re-measured from pith rather than from the rust side: 30 ms at the defaults, 230 ms for rfc 9106's 64 mib option, which the runtime derives single-threaded. --- README.md | 6 +- docs/auth.md | 190 +++++++++++++++++++++++++++++++++++++ examples/auth.pith | 64 +++++++++++++ examples/expected/auth.txt | 18 ++++ std/crypto/password.pith | 9 +- 5 files changed, 282 insertions(+), 5 deletions(-) create mode 100644 docs/auth.md create mode 100644 examples/auth.pith create mode 100644 examples/expected/auth.txt diff --git a/README.md b/README.md index a870789a..539ac8f1 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ with idioms is [docs/idiomatic_pith.md](docs/idiomatic_pith.md). ## the standard library, briefly -81 modules, ~37,000 lines, all pith. the areas: io and filesystems +83 modules, ~38,000 lines, all pith. the areas: io and filesystems (fs, glob, path, process), networking (tcp, dns, url, http, http2, websocket, tls, sse), databases (sql, postgres, mysql, redis — pure-pith wire protocols with tls, prepared statements, and pooling — plus db, a @@ -150,7 +150,9 @@ pooled high-level layer over a connection url, see [docs/db.md](docs/db.md)), data (json, toml, yaml, csv, config, table, see [docs/yaml.md](docs/yaml.md) for the yaml subset), bytes and crypto (hash, checksum, encoding, -crypto, bits, binary), compression and archives (gzip/zlib, tar, zip), +crypto, bits, binary — including argon2id password hashing and json web +tokens, see [docs/auth.md](docs/auth.md)), +compression and archives (gzip/zlib, tar, zip), text (regex, scanner, fmt), app plumbing (log, metrics, cli, env, testing, diagnostic, time, datetime, rand, uuid, math), observability (trace, prometheus, otlp, obs — opentelemetry traces and metrics, see diff --git a/docs/auth.md b/docs/auth.md new file mode 100644 index 00000000..31e29904 --- /dev/null +++ b/docs/auth.md @@ -0,0 +1,190 @@ +# passwords and tokens + +authentication in pith is two modules. `std.crypto.password` handles the +password at rest, and `std.crypto.jwt` handles the session that follows. +`examples/auth.pith` runs the whole flow end to end. + +## hashing a password + +`hash` takes a password and returns a phc string. `verify` takes the password +and the stored string and says whether they match. + +```pith +import std.crypto.password as password + +stored := password.hash("correct horse battery staple")! +# $argon2id$v=19$m=19456,t=2,p=1$hMDYzMFA5NHRoZQ$Zk5MPFY7... + +password.verify("correct horse battery staple", stored) # true +password.verify("something else", stored) # false +``` + +the salt is fresh os randomness on every call, so hashing the same password +twice gives two different strings. the comparison at the end of `verify` goes +through `std.crypto.subtle`, so it looks at every byte whether or not the first +one matched — a comparison that returns early leaks how much of the tag was +right, one request at a time. + +`verify` returns a `Bool` rather than a result. a hash it cannot parse is a +failed verification, which is the only safe reading: an api that returned an +error there would sooner or later be called by something that treated +"unparseable" as "fine". + +## the parameters, and why these ones + +the defaults are owasp's argon2id parameters: 19 mib of memory, two passes, one +lane, a 16 byte salt and a 32 byte tag. that measures around 30 ms per hash on +a modest core. + +| | memory | passes | lanes | measured | +| --- | --- | --- | --- | --- | +| the default | 19 mib | 2 | 1 | ~30 ms | +| rfc 9106 first option | 2 gib | 1 | 4 | over the runtime's 1 gib cap | +| rfc 9106 second option | 64 mib | 3 | 4 | ~230 ms | + +30 ms is a deliberate middle. it is expensive enough that an attacker who +steals the database is buying time by the cpu-year, and cheap enough that a +login endpoint under load is not attacking itself — an auth path that spends a +quarter of a second per attempt hands anyone with a script a way to saturate +it. the runtime derives single-threaded, so raising `lanes` costs wall clock +rather than saving it. + +to move off the defaults, build a `Params` and use `hash_with`: + +```pith +strict := password.params(65536, 3, 1) # memory kib, passes, lanes +stored := password.hash_with(secret, strict)! +``` + +`params_with_lengths` also sets the salt and tag sizes. everything is range +checked before any derivation happens: at least 8 kib of memory per lane, a +salt of at least 8 bytes, a tag of at least 16, and no more than 1 gib of +memory, which is the cap the runtime enforces. + +## raising the parameters later + +the cost parameters are written into the phc string, so a hash stored under old +parameters stays verifiable after you raise them. `needs_rehash` is what tells +you which ones to replace: + +```pith +wanted := password.params(65536, 3, 1) + +if password.verify(attempt, stored): + if password.needs_rehash(stored, wanted): + stored = password.hash_with(attempt, wanted)! + save(user, stored) +``` + +the rehash happens inside the successful login, because that is the only moment +the plaintext password is in hand. a hash that cannot be parsed at all also +reports as needing a rehash, which quietly migrates anything left over from an +older scheme the first time its owner signs in. + +## json web tokens + +`std.crypto.jwt` reads and writes the jws compact serialization. the api is +deliberately asymmetric, and the asymmetry is visible in the function names: + +| algorithm | sign | verify | +| --- | --- | --- | +| HS256, HS384, HS512 | yes | yes | +| PS256 | yes | yes | +| RS256 | no | yes | +| ES256 | no | yes | +| EdDSA | no | yes | + +the runtime's only signing primitives are hmac and rsa-pss. it can verify +ed25519, ecdsa and rsa pkcs#1 signatures but cannot produce them, so a pith +service can validate tokens from an outside issuer using any of those and can +only issue HS\* or PS256 itself. there is no `sign_rs256` to discover at +runtime; the function does not exist. + +```pith +import std.bytes as bytes +import std.crypto.jwt as jwt + +secret := bytes.from_string_utf8(env("SESSION_SECRET")) +claims := "{{\"iss\":\"chat\",\"sub\":\"u-1024\",\"exp\":1750003600}}" + +token := jwt.sign_hs256(claims, secret)! +session := jwt.verify_hs256(token, secret, jwt.default_options())! +print(session.claims) +``` + +json in a pith string literal is written with doubled braces, since a single +`{` starts an interpolation. + +`verify_*` hands back a `Verified` holding the header and claims as the json +text they arrived as. parse them with `std.json` — `json.decode_text[T]` if you +have a struct for your claims, `json.parse` if you would rather have handles. + +## the two things jwt libraries get wrong + +### algorithm confusion + +every verifier names the algorithm it accepts. `verify_hs256` verifies HS256 +and nothing else; the token's own `alg` header is only ever compared against +the name the caller passed, and no code path selects a verifier from it. + +the attack this closes is the classic one. take a token meant for an rsa +verifier, re-sign it as HS256 using the rsa *public* key as the hmac secret, +and hand it to a verifier that trusts the header. against `verify_rs256` that +token is refused on its `alg` before its signature is looked at. + +### alg: none + +refused outright, with no option to turn it back on, spelled in any case, with +or without a signature field bolted on the end. an unsecured jws is a valid +thing for the spec to describe and never a valid thing for a verifier to +accept. + +### and the smaller ones + +a `crit` header parameter is rejected per rfc 7515 section 4.1.11, since a +verifier that ignores an extension the issuer marked critical is ignoring the +thing the issuer said not to ignore. signature comparison goes through +`std.crypto.subtle`. the token length, header parameter count, claim count and +audience list are all bounded. + +## checking the claims + +`Options` decides which registered claims get checked. the defaults check +`exp`, `nbf` and `iat` with a minute of clock skew, and compare nothing the +caller has not named: + +```pith +expected := jwt.with_audience(jwt.with_issuer(jwt.default_options(), "chat"), "web") +session := jwt.verify_hs256(token, secret, expected)! +``` + +the builders compose, each returning a new `Options`: + +- `with_issuer`, `with_audience`, `with_subject` — compare `iss`, `sub`, and + `aud`, which may be a string or an array of them +- `with_leeway` — how much clock skew the time comparisons tolerate +- `requiring_exp` — refuse a token that carries no `exp` at all +- `at_time` — validate against a fixed unix timestamp rather than the clock +- `without_time_checks` — turn off `exp`, `nbf` and `iat`, for replaying a + fixed vector and not for traffic + +## interoperability + +the tests verify the rfc 7515 appendix a.1 HS256 token and the appendix a.3 +ES256 token against the exact serializations the rfc prints, and +`tests/cases/test_jwt_asymmetric.pith` verifies an RS256 and an EdDSA token +signed with openssl. a token that only round trips against the module that made +it says nothing about talking to anyone else. + +ES256 needs a small translation on the way in: jws carries the ecdsa signature +as r and s glued together at a fixed width, and the runtime's verifier reads +the asn.1 der encoding, so `verify_es256` re-wraps it. + +key formats, which are the usual place to get stuck: + +- `verify_eddsa` takes the raw 32 byte ed25519 public key +- `verify_es256` takes the uncompressed p-256 point: `0x04`, then x, then y +- `verify_rs256` and `verify_ps256` take the pkcs#1 rsapublickey der, which is + what `std.crypto.x509` returns as a certificate's `subject_public_key` +- `sign_ps256` takes a pkcs#8 private key, which is what + `encoding.pem_decode` gives you from a `BEGIN PRIVATE KEY` file diff --git a/examples/auth.pith b/examples/auth.pith new file mode 100644 index 00000000..e432c067 --- /dev/null +++ b/examples/auth.pith @@ -0,0 +1,64 @@ +# signing a user up, logging them in, and handing them a session token. +# +# the two halves of an auth story: argon2id for the password at rest, and a +# signed json web token for the session that follows. json in string literals +# is written with doubled braces, which is pith's escape for a literal brace. + +import std.bytes as bytes +import std.crypto.jwt as jwt +import std.crypto.password as password + +# a fixed instant so the example prints the same thing every run. real code +# leaves `now` alone and lets the verifier read the clock. +NOW := 1_750_000_000 + +fn signing_secret() -> Bytes: + return bytes.from_string_utf8("keep this in the environment, not the source") + +fn register(secret: String) -> String!: + # the defaults are owasp's argon2id parameters, around 30 ms per hash. + stored := password.hash(secret)! + print("stored hash starts: " + stored.substring(0, 30)) + return stored + +fn log_in(attempt: String, stored: String) -> Bool: + return password.verify(attempt, stored) + +fn issue(subject: String) -> String!: + claims := "{{\"iss\":\"pith-chat\",\"sub\":\"" + subject + "\",\"aud\":\"chat\",\"iat\":1750000000,\"exp\":1750003600}}" + return jwt.sign_hs256(claims, signing_secret())! + +fn main() -> Int!: + print("=== registering ===") + stored := register("correct horse battery staple")! + print("right password: " + log_in("correct horse battery staple", stored).to_string()) + print("wrong password: " + log_in("correct horse battery stapler", stored).to_string()) + + print("") + print("=== raising the cost later ===") + # a year on, the same hash checked against parameters that have moved. + stronger := password.params(65536, 3, 4) + print("needs rehashing: " + password.needs_rehash(stored, stronger).to_string()) + print("still fine today: " + password.needs_rehash(stored, password.default_params()).to_string()) + + print("") + print("=== issuing a session token ===") + token := issue("u-1024")! + print("token fields: " + token.split(".").len().to_string()) + + # the verifier names its algorithm and what it expects to find inside. it + # never reads the algorithm off the token, which is what stops an attacker + # re-signing one and choosing the verification path for you. + expected := jwt.with_audience(jwt.with_issuer(jwt.at_time(jwt.default_options(), NOW), "pith-chat"), "chat") + session := jwt.verify_hs256(token, signing_secret(), expected)! + print("claims: " + session.claims) + + print("") + print("=== what gets turned away ===") + print("wrong secret: " + jwt.verify_hs256(token, bytes.from_string_utf8("guess"), expected).is_err.to_string()) + print("wrong audience: " + jwt.verify_hs256(token, signing_secret(), jwt.with_audience(jwt.at_time(jwt.default_options(), NOW), "billing")).is_err.to_string()) + print("expired an hour later: " + jwt.verify_hs256(token, signing_secret(), jwt.at_time(jwt.default_options(), NOW + 7200)).is_err.to_string()) + # pith cannot issue RS256 at all, and it will not verify an HS256 token + # through the rs256 path either. + print("hs256 token, rs256 verifier: " + jwt.verify_rs256(token, signing_secret(), expected).is_err.to_string()) + return 0 diff --git a/examples/expected/auth.txt b/examples/expected/auth.txt new file mode 100644 index 00000000..ac19333f --- /dev/null +++ b/examples/expected/auth.txt @@ -0,0 +1,18 @@ +=== registering === +stored hash starts: $argon2id$v=19$m=19456,t=2,p=1 +right password: true +wrong password: false + +=== raising the cost later === +needs rehashing: true +still fine today: false + +=== issuing a session token === +token fields: 3 +claims: {"iss":"pith-chat","sub":"u-1024","aud":"chat","iat":1750000000,"exp":1750003600} + +=== what gets turned away === +wrong secret: true +wrong audience: true +expired an hour later: true +hs256 token, rs256 verifier: true diff --git a/std/crypto/password.pith b/std/crypto/password.pith index 3c7c0482..fca54aa5 100644 --- a/std/crypto/password.pith +++ b/std/crypto/password.pith @@ -18,9 +18,12 @@ ALGORITHM := "argon2id" VERSION := 19 # owasp's argon2id parameters as of 2024: 19 mib of memory, two passes, one -# lane. this costs about 45 ms per hash on a modest core, which is the point — -# high enough to make offline cracking expensive, low enough that a login -# endpoint under load is not attacking itself. +# lane. that measures around 30 ms per hash on a modest core, which is the +# point — high enough to make offline cracking expensive, low enough that a +# login endpoint under load is not attacking itself. rfc 9106's other option, +# 64 mib over three passes and four lanes, measures around 230 ms here — the +# runtime derives single-threaded, so the lanes cost time rather than saving +# it, and an endpoint spending that per attempt is its own denial of service. pub DEFAULT_MEMORY_KIB := 19456 pub DEFAULT_PASSES := 2 pub DEFAULT_LANES := 1 From c87fdbd21e07c3d1a85a0fcbb9a03d5ea38317cd Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Fri, 31 Jul 2026 08:54:51 +0000 Subject: [PATCH 6/7] free the decode buffers in std.encoding base64 decode, base32 decode, base58 decode and varint encode each build a ByteBuffer, copy it out with bytes(), and walk away from the handle. from_hex right next to them already had the `defer buf.free()` these were missing. it leaked around 80 bytes per call, which nobody noticed while base64 was a setup step. it is a per-request cost now: verifying a jwt decodes three base64url fields, so a service checking tokens on every call was paying for it on every call. a loop of 100k decodes was growing the peak resident set by 8 mb and is now flat. --- std/encoding.pith | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/std/encoding.pith b/std/encoding.pith index 5bf610e8..b4dba9d1 100644 --- a/std/encoding.pith +++ b/std/encoding.pith @@ -107,6 +107,7 @@ fn b64_decode_with(input: String, table: String, padded: Bool, ignore_ws: Bool) text = append_padding(text, 4) buf := bytes.buffer_with_capacity(text.len()) + defer buf.free() mut i := 0 while i < text.len(): a := table_char_val(text[i], table) @@ -229,6 +230,7 @@ fn b32_decode_with(input: String, table: String, padded: Bool, ignore_ws: Bool) fail "invalid base32 padding" buf := bytes.buffer_with_capacity(text.len()) + defer buf.free() mut buffer := 0 mut bits_left := 0 mut seen_pad := false @@ -350,6 +352,7 @@ pub fn base58_decode(input: String) -> Bytes!: i = i + 1 out := bytes.buffer_with_capacity(zeroes + digits.len()) + defer out.free() i = 0 while i < zeroes: out.write_byte(0) @@ -431,6 +434,7 @@ pub fn varint_encode(value: Int) -> Bytes!: if value < 0: fail "varint value must be non-negative" out := bytes.buffer() + defer out.free() mut remaining := value while true: mut byte_value := bits.band(remaining, 127) From 5858583d0fda72ad80737262fec4742bcc337a09 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Fri, 31 Jul 2026 09:40:17 +0000 Subject: [PATCH 7/7] tamper a base64 character that carries information the tampered-hash test mutated the last character of the phc hash field. a 16-byte hash encodes to 22 base64 characters, and the last one holds two meaningful bits plus four spare ones, so 'a' and 'b' decode identically and the tampered string still verified. it failed about one run in four. tamper the first character of the hash and of the salt instead, where every bit counts. --- std/crypto/password.pith | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/std/crypto/password.pith b/std/crypto/password.pith index fca54aa5..af39c526 100644 --- a/std/crypto/password.pith +++ b/std/crypto/password.pith @@ -245,13 +245,22 @@ test "parameters survive the encoding": test "a tampered hash does not verify": encoded := hash_with("pw", cheap())! - cut := encoded.len() - 1 - mut last := "a" - if encoded[cut] == "a": - last = "b" - tampered := encoded.substring(0, cut) + last - - assert(not verify("pw", tampered)) + fields := encoded.split("$") + + # tamper the FIRST character of a field, never the last. a 16-byte hash + # base64-encodes to 22 characters whose final one carries two meaningful + # bits and four spare ones, so several different characters there decode + # to the same bytes and the "tampered" string verifies just fine. + assert(not verify("pw", replace_first_char(encoded, fields[fields.len() - 1]))) + assert(not verify("pw", replace_first_char(encoded, fields[fields.len() - 2]))) + +# rebuild `encoded` with the first character of `field` changed to something else. +fn replace_first_char(encoded: String, field: String) -> String: + mut swapped := "a" + if field[0] == "a": + swapped = "b" + altered := swapped + field.substring(1, field.len()) + return strings.replace_n(encoded, "$" + field, "$" + altered, 1) test "needs_rehash points at the weaker side": cheaper := hash_with("pw", params_with_lengths(64, 1, 1, 8, 16))!