diff --git a/Makefile b/Makefile index f661102e..b77bdbc0 100644 --- a/Makefile +++ b/Makefile @@ -1123,6 +1123,7 @@ MEMCHECK_CASES := \ tests/cases/test_list_transform_ownership \ tests/cases/test_result_unwrap_or_fallback_leak \ tests/cases/test_borrowed_operand_extraction \ + tests/cases/test_task_result_payloads \ tests/cases/test_struct_closure_field tests/cases/test_generic_struct_field_dtor \ tests/cases/test_iterator_drain tests/cases/test_method_fresh_string_return \ tests/cases/test_lazy_adapter_pipeline tests/cases/test_named_local_adapter_chain \ diff --git a/bench/grpc/pith/client.pith b/bench/grpc/pith/client.pith index ae50dcb3..0af38128 100644 --- a/bench/grpc/pith/client.pith +++ b/bench/grpc/pith/client.pith @@ -58,17 +58,16 @@ fn echo_request(payload: Bytes) -> Bytes: w.write_bytes(1, payload) catch false return w.bytes() -# time each call, pushing the latency of every call into `lat` (a shared list -# handle created by the caller — task results with list payloads are avoided on -# purpose, the handle is the simpler contract). -fn timed_batch(ch: grpc.Conn, method: String, request: Bytes, count: Int, lat: List[Int]) -> Int: +# time each call and return the latency of every call. +fn timed_batch(ch: grpc.Conn, method: String, request: Bytes, count: Int) -> List[Int]: + mut lat := [] mut i := 0 while i < count: t0 := time.mono_nanos() ch.unary(method, request) catch bytes.empty() lat.push(time.mono_nanos() - t0) i = i + 1 - return count + return lat # each worker gets its OWN connection from the pool (round-robin) and keeps its # calls on that one connection's pipeline, so the pool spreads load across @@ -77,18 +76,14 @@ fn timed_batch(ch: grpc.Conn, method: String, request: Bytes, count: Int, lat: L fn run_concurrent(pool: grpc.PoolConn, method: String, request: Bytes, calls: Int, conc: Int, merged: List[Int]): per := calls / conc mut tasks := [] - mut buckets: List[List[Int]] := [] mut w := 0 while w < conc: c := pool.at(w % pool.size()) - bucket: List[Int] := [] - buckets.push(bucket) - tasks.push(spawn timed_batch(c, method, request, per, bucket)) + tasks.push(spawn timed_batch(c, method, request, per)) w = w + 1 for t in tasks: - await t - for bucket in buckets: - for v in bucket: + lat := await t + for v in lat: merged.push(v) # the value at `pct` percent of the way through a sorted list, matching the @@ -160,7 +155,8 @@ fn main(): start := time.now() latencies: List[Int] := [] if conc <= 1: - timed_batch(ch.at(0), method, request, calls, latencies) + for v in timed_batch(ch.at(0), method, request, calls): + latencies.push(v) else: run_concurrent(ch, method, request, calls, conc, latencies) elapsed := time.now() - start diff --git a/docs/idiomatic_pith.md b/docs/idiomatic_pith.md index c5039084..83e3d5b9 100644 --- a/docs/idiomatic_pith.md +++ b/docs/idiomatic_pith.md @@ -69,6 +69,12 @@ few elements, switch to the lazy adapters in `std.iter`. The chain fuses and the source is walked once. See `docs/iterators.md` for the protocol and worked examples. +An empty literal takes its element type from an annotation when you give one +(`mut names: List[String] := []`), and otherwise from the first value stored +into it — `mut tasks := []` followed by `tasks.push(spawn worker())` types +`tasks` as a list of tasks. Annotate when the first store sits far from the +declaration and a reader would have to hunt for it. + Collections are shared handles. If a function needs to mutate its own top-level container, start with `copy_list`, `copy_map`, or `copy_set`. diff --git a/examples/concurrency.pith b/examples/concurrency.pith index 2f37f52c..7fc1b7e3 100644 --- a/examples/concurrency.pith +++ b/examples/concurrency.pith @@ -27,6 +27,16 @@ fn main() -> Int!: value := await spawn compute(21) print(value.to_string()) + # fan out over a list of tasks; the list needs no annotation, the + # first push names its element type + mut work := [] + for n in 1..=3: + work.push(spawn compute(n)) + mut doubled := [] + for t in work: + doubled.push(await t) + print("doubled: {doubled[0]} {doubled[1]} {doubled[2]}") + jobs := Channel[Int](1) jobs.send(7) picked := select: diff --git a/examples/expected/concurrency.txt b/examples/expected/concurrency.txt index 944769c4..e8ff8aa4 100644 --- a/examples/expected/concurrency.txt +++ b/examples/expected/concurrency.txt @@ -1,5 +1,6 @@ response from https://example.com 42 +doubled: 2 4 6 select picked: 7 await_ctx timed out: true send_ctx ok: true diff --git a/self-host/bootstrap/ir_driver.ir b/self-host/bootstrap/ir_driver.ir index ca630e9a..b3fca411 100644 --- a/self-host/bootstrap/ir_driver.ir +++ b/self-host/bootstrap/ir_driver.ir @@ -21615,7 +21615,7 @@ call 76 pith_struct_release void 1 75 iconst 77 0 ret 77 endfunc -func scope_lookup_binding 2 int +func scope_lookup_binding_index 2 int param scope_id param name iconst 2 0 @@ -21645,23 +21645,131 @@ load 18 name call 19 scope_binding_names_equal bool 2 17 18 brif 19 L68 L69 label L68 +load 20 i +load 21 entry +call 22 pith_struct_release void 1 21 +ret 20 +label L69 +label L67 +jmp L64 +label L66 +label L64 +load 23 i +iconst 24 1 +sub 25 23 24 +store i 25 +jmp L61 +label L63 +load 26 entry +load 27 scope_scope_entries +load 28 scope_id +call 29 pith_list_get_value_strict struct:ScopeEntry 2 27 28 +call 30 pith_struct_retain void 1 29 +call 31 pith_struct_release void 1 26 +store entry 29 +load 32 entry +field 33 32 0 int parent +iconst 34 0 +gte 35 33 34 +brif 35 L71 L72 +label L71 +load 36 entry +field 37 36 0 int parent +load 38 name +call 39 scope_lookup_binding_index int 2 37 38 +load 40 entry +call 41 pith_struct_release void 1 40 +ret 39 +label L72 +label L70 +iconst 42 1 +iconst 44 0 +sub 43 44 42 +load 45 entry +call 46 pith_struct_release void 1 45 +ret 43 +load 47 entry +call 48 pith_struct_release void 1 47 +iconst 49 0 +ret 49 +endfunc +func scope_set_binding_type_at 2 void +param index +param type_id +iconst 2 0 +store __and_2_76 2 +load 3 index +iconst 4 0 +gte 5 3 4 +store __and_2_76 5 +brif 5 L76 L77 +label L76 +load 6 index +load 7 scope_binding_types +call 8 pith_list_len int 1 7 +lt 9 6 8 +store __and_2_76 9 +label L77 +load 10 __and_2_76 +brif 10 L74 L75 +label L74 +load 11 scope_binding_types +load 12 index +load 13 type_id +call 14 pith_list_set_value void 3 11 12 13 +jmp L73 +label L75 +label L73 +iconst 15 0 +ret 15 +endfunc +func scope_lookup_binding 2 int +param scope_id +param name +iconst 2 0 +store entry 2 +load 3 scope_binding_scope_ids +call 4 pith_list_len int 1 3 +iconst 5 1 +sub 6 4 5 +store i 6 +label L78 +load 7 i +iconst 8 0 +gte 9 7 8 +brif 9 L79 L80 +label L79 +load 10 scope_binding_scope_ids +load 11 i +call 12 pith_list_get_value_strict int 2 10 11 +load 13 scope_id +eq 14 12 13 +brif 14 L82 L83 +label L82 +load 15 scope_binding_names +load 16 i +call 17 pith_list_get_value_strict string 2 15 16 +load 18 name +call 19 scope_binding_names_equal bool 2 17 18 +brif 19 L85 L86 +label L85 load 20 scope_binding_types load 21 i call 22 pith_list_get_value_strict int 2 20 21 load 23 entry call 24 pith_struct_release void 1 23 ret 22 -label L69 -label L67 -jmp L64 -label L66 -label L64 +label L86 +label L84 +jmp L81 +label L83 +label L81 load 25 i iconst 26 1 sub 27 25 26 store i 27 -jmp L61 -label L63 +jmp L78 +label L80 load 28 entry load 29 scope_scope_entries load 30 scope_id @@ -21673,8 +21781,8 @@ load 34 entry field 35 34 0 int parent iconst 36 0 gte 37 35 36 -brif 37 L71 L72 -label L71 +brif 37 L88 L89 +label L88 load 38 entry field 39 38 0 int parent load 40 name @@ -21682,8 +21790,8 @@ call 41 scope_lookup_binding int 2 39 40 load 42 entry call 43 pith_struct_release void 1 42 ret 41 -label L72 -label L70 +label L89 +label L87 iconst 44 1 iconst 46 0 sub 45 46 44 @@ -21705,43 +21813,43 @@ call 4 pith_list_len int 1 3 iconst 5 1 sub 6 4 5 store i 6 -label L73 +label L90 load 7 i iconst 8 0 gte 9 7 8 -brif 9 L74 L75 -label L74 +brif 9 L91 L92 +label L91 load 10 scope_binding_scope_ids load 11 i call 12 pith_list_get_value_strict int 2 10 11 load 13 scope_id eq 14 12 13 -brif 14 L77 L78 -label L77 +brif 14 L94 L95 +label L94 load 15 scope_binding_names load 16 i call 17 pith_list_get_value_strict string 2 15 16 load 18 name call 19 scope_binding_names_equal bool 2 17 18 -brif 19 L80 L81 -label L80 +brif 19 L97 L98 +label L97 load 20 scope_binding_mutable_flags load 21 i call 22 pith_list_get_value_strict bool 2 20 21 load 23 entry call 24 pith_struct_release void 1 23 ret 22 -label L81 -label L79 -jmp L76 -label L78 -label L76 +label L98 +label L96 +jmp L93 +label L95 +label L93 load 25 i iconst 26 1 sub 27 25 26 store i 27 -jmp L73 -label L75 +jmp L90 +label L92 load 28 entry load 29 scope_scope_entries load 30 scope_id @@ -21753,8 +21861,8 @@ load 34 entry field 35 34 0 int parent iconst 36 0 gte 37 35 36 -brif 37 L83 L84 -label L83 +brif 37 L100 L101 +label L100 load 38 entry field 39 38 0 int parent load 40 name @@ -21762,8 +21870,8 @@ call 41 scope_is_binding_mutable bool 2 39 40 load 42 entry call 43 pith_struct_release void 1 42 ret 41 -label L84 -label L82 +label L101 +label L99 iconst 44 0 load 45 entry call 46 pith_struct_release void 1 45 @@ -21801,16 +21909,16 @@ store in_lp 2 load 3 parent iconst 4 0 gte 5 3 4 -brif 5 L86 L87 -label L86 +brif 5 L103 L104 +label L103 load 6 scope_scope_entries load 7 parent call 8 pith_list_get_value_strict struct:ScopeEntry 2 6 7 field 9 8 16 bool in_loop store in_lp 9 -jmp L85 -label L87 -label L85 +jmp L102 +label L104 +label L102 load 10 scope_scope_entries load 11 parent load 12 return_type @@ -21838,16 +21946,16 @@ store ret_type 2 load 4 parent iconst 5 0 gte 6 4 5 -brif 6 L89 L90 -label L89 +brif 6 L106 L107 +label L106 load 7 scope_scope_entries load 8 parent call 9 pith_list_get_value_strict struct:ScopeEntry 2 7 8 field 10 9 8 int return_type store ret_type 10 -jmp L88 -label L90 -label L88 +jmp L105 +label L107 +label L105 load 11 scope_scope_entries load 12 parent load 13 ret_type @@ -28552,6 +28660,7 @@ global checker_struct_instance_base_name map global checker_struct_instance_tids list global checker_suppress_unknown_type_for map global checker_expression_type_cache map +global checker_open_empty_literal_bindings map global checker_type_resolve_depth 0 global checker_TID_LAMBDA_INFER 0 global checker_lambda_inferred_return 0 @@ -28612,128 +28721,130 @@ call 27 pith_map_new_default map 0 store checker_suppress_unknown_type_for 27 call 28 pith_map_new_int map_int 0 store checker_expression_type_cache 28 -iconst 29 0 -iconst 30 2 -sub 31 29 30 -store checker_TID_LAMBDA_INFER 31 -iconst 32 0 -iconst 33 1 -sub 34 32 33 -store checker_lambda_inferred_return 34 -iconst 35 0 -ret 35 +call 29 pith_map_new_int map_int 0 +store checker_open_empty_literal_bindings 29 +iconst 30 0 +iconst 31 2 +sub 32 30 31 +store checker_TID_LAMBDA_INFER 32 +iconst 33 0 +iconst 34 1 +sub 35 33 34 +store checker_lambda_inferred_return 35 +iconst 36 0 +ret 36 endfunc func checker___opt_dtor_struct 1 void param p -load 36 p -field 37 36 8 unknown value -call 38 pith_struct_release void 1 37 -iconst 39 0 -ret 39 +load 37 p +field 38 37 8 unknown value +call 39 pith_struct_release void 1 38 +iconst 40 0 +ret 40 endfunc func checker___opt_dtor_list 1 void param p -load 40 p -field 41 40 8 unknown value -call 42 pith_list_release_handle void 1 41 -iconst 43 0 -ret 43 +load 41 p +field 42 41 8 unknown value +call 43 pith_list_release_handle void 1 42 +iconst 44 0 +ret 44 endfunc func checker___opt_dtor_map 1 void param p -load 44 p -field 45 44 8 unknown value -call 46 pith_map_release_handle void 1 45 -iconst 47 0 -ret 47 +load 45 p +field 46 45 8 unknown value +call 47 pith_map_release_handle void 1 46 +iconst 48 0 +ret 48 endfunc func checker___opt_dtor_set 1 void param p -load 48 p -field 49 48 8 unknown value -call 50 pith_set_release_handle void 1 49 -iconst 51 0 -ret 51 +load 49 p +field 50 49 8 unknown value +call 51 pith_set_release_handle void 1 50 +iconst 52 0 +ret 52 endfunc func checker___opt_dtor_bytes 1 void param p -load 52 p -field 53 52 8 unknown value -call 54 pith_bytes_release void 1 53 -iconst 55 0 -ret 55 +load 53 p +field 54 53 8 unknown value +call 55 pith_bytes_release void 1 54 +iconst 56 0 +ret 56 endfunc func checker___opt_dtor_closure 1 void param p -load 56 p -field 57 56 8 unknown value -call 58 pith_closure_release void 1 57 -iconst 59 0 -ret 59 +load 57 p +field 58 57 8 unknown value +call 59 pith_closure_release void 1 58 +iconst 60 0 +ret 60 endfunc func checker___dtor_Node 1 void param p -load 60 p -field 61 60 0 unknown kind -call 62 pith_cstring_release void 1 61 -field 63 60 8 unknown value -call 64 pith_cstring_release void 1 63 -field 65 60 16 unknown children -call 66 pith_list_release_handle void 1 65 -iconst 67 0 -ret 67 +load 61 p +field 62 61 0 unknown kind +call 63 pith_cstring_release void 1 62 +field 64 61 8 unknown value +call 65 pith_cstring_release void 1 64 +field 66 61 16 unknown children +call 67 pith_list_release_handle void 1 66 +iconst 68 0 +ret 68 endfunc func checker___dtor_Token 1 void param p -load 68 p -field 69 68 0 unknown kind -call 70 pith_cstring_release void 1 69 -field 71 68 8 unknown value -call 72 pith_cstring_release void 1 71 -iconst 73 0 -ret 73 +load 69 p +field 70 69 0 unknown kind +call 71 pith_cstring_release void 1 70 +field 72 69 8 unknown value +call 73 pith_cstring_release void 1 72 +iconst 74 0 +ret 74 endfunc func checker___dtor_TypeInfo 1 void param p -load 74 p -field 75 74 0 unknown kind -call 76 pith_cstring_release void 1 75 -field 77 74 8 unknown name -call 78 pith_cstring_release void 1 77 -field 79 74 16 unknown fields -call 80 pith_list_release_handle void 1 79 -field 81 74 24 unknown field_types -call 82 pith_list_release_handle void 1 81 -field 83 74 32 unknown field_pub -call 84 pith_list_release_handle void 1 83 -field 85 74 40 unknown field_mut -call 86 pith_list_release_handle void 1 85 -field 87 74 48 unknown param_types -call 88 pith_list_release_handle void 1 87 -field 89 74 88 unknown elements -call 90 pith_list_release_handle void 1 89 -field 91 74 96 unknown variants -call 92 pith_list_release_handle void 1 91 -field 93 74 104 unknown variant_types -call 94 pith_list_release_handle void 1 93 -iconst 95 0 -ret 95 +load 75 p +field 76 75 0 unknown kind +call 77 pith_cstring_release void 1 76 +field 78 75 8 unknown name +call 79 pith_cstring_release void 1 78 +field 80 75 16 unknown fields +call 81 pith_list_release_handle void 1 80 +field 82 75 24 unknown field_types +call 83 pith_list_release_handle void 1 82 +field 84 75 32 unknown field_pub +call 85 pith_list_release_handle void 1 84 +field 86 75 40 unknown field_mut +call 87 pith_list_release_handle void 1 86 +field 88 75 48 unknown param_types +call 89 pith_list_release_handle void 1 88 +field 90 75 88 unknown elements +call 91 pith_list_release_handle void 1 90 +field 92 75 96 unknown variants +call 93 pith_list_release_handle void 1 92 +field 94 75 104 unknown variant_types +call 95 pith_list_release_handle void 1 94 +iconst 96 0 +ret 96 endfunc func checker___dtor_Diagnostic 1 void param p -load 96 p -field 97 96 0 unknown severity -call 98 pith_cstring_release void 1 97 -field 99 96 8 unknown code -call 100 pith_cstring_release void 1 99 -field 101 96 16 unknown message -call 102 pith_cstring_release void 1 101 -field 103 96 24 unknown file -call 104 pith_cstring_release void 1 103 -field 105 96 48 unknown fix -call 106 pith_cstring_release void 1 105 -iconst 107 0 -ret 107 +load 97 p +field 98 97 0 unknown severity +call 99 pith_cstring_release void 1 98 +field 100 97 8 unknown code +call 101 pith_cstring_release void 1 100 +field 102 97 16 unknown message +call 103 pith_cstring_release void 1 102 +field 104 97 24 unknown file +call 105 pith_cstring_release void 1 104 +field 106 97 48 unknown fix +call 107 pith_cstring_release void 1 106 +iconst 108 0 +ret 108 endfunc func checker_copy_string_map 1 map param src @@ -28816,33 +28927,35 @@ call 18 pith_map_new_default map 0 store checker_suppress_unknown_type_for 18 call 19 pith_map_new_int map_int 0 store checker_expression_type_cache 19 -call 20 pith_map_new_cstr_val map 0 -store checker_module_aliases 20 -call 21 pith_list_new_cstr list 0 -store checker_module_export_entries 21 +call 20 pith_map_new_int map_int 0 +store checker_open_empty_literal_bindings 20 +call 21 pith_map_new_cstr_val map 0 +store checker_module_aliases 21 call 22 pith_list_new_cstr list 0 -store checker_wildcard_imports 22 +store checker_module_export_entries 22 call 23 pith_list_new_cstr list 0 -store checker_generic_named_import_entries 23 +store checker_wildcard_imports 23 call 24 pith_list_new_cstr list 0 -store checker_generic_wildcard_import_entries 24 -load 25 checker_current_checker_module_path -strref 26 m13s35 -call 27 pith_cstring_release void 1 25 -store checker_current_checker_module_path 26 -call 28 pith_map_new_default map 0 -store checker_checked_module_paths 28 +store checker_generic_named_import_entries 24 +call 25 pith_list_new_cstr list 0 +store checker_generic_wildcard_import_entries 25 +load 26 checker_current_checker_module_path +strref 27 m13s35 +call 28 pith_cstring_release void 1 26 +store checker_current_checker_module_path 27 call 29 pith_map_new_default map 0 -store checker_generic_inference_subst 29 -iconst 30 1 -iconst 32 0 -sub 31 32 30 -call 33 scope_create_scope int 1 31 -store checker_current_scope 33 -load 34 checker_current_scope -call 35 checker_builtins_register_builtin_types void 1 34 -iconst 36 0 -ret 36 +store checker_checked_module_paths 29 +call 30 pith_map_new_default map 0 +store checker_generic_inference_subst 30 +iconst 31 1 +iconst 33 0 +sub 32 33 31 +call 34 scope_create_scope int 1 32 +store checker_current_scope 34 +load 35 checker_current_scope +call 36 checker_builtins_register_builtin_types void 1 35 +iconst 37 0 +ret 37 endfunc func checker_set_checker_module_path 1 void param module_path @@ -38036,17 +38149,87 @@ load 157 name load 158 val_type load 159 is_mut call 160 scope_define_binding void 4 156 157 158 159 +load 161 val_type +call 162 types_is_error_type bool 1 161 +brif 162 L1104 L1105 +label L1104 +load 163 val_node +load 164 node +field 165 164 16 list children +iconst 166 0 +call 167 pith_list_get_value_strict int 2 165 166 +call 168 ast_get_node struct:Node 1 167 +call 169 pith_struct_release void 1 163 +store val_node 168 +load 170 val_node +field 171 170 16 list children +call 172 pith_list_len int 1 171 +iconst 173 0 +eq 174 172 173 +brif 174 L1107 L1108 +label L1107 +iconst 175 0 +store __or_175_1112 175 +iconst 176 0 +store __or_176_1112 176 +load 177 val_node +field 178 177 0 string kind +strref 179 m13s22 +call 180 pith_cstring_eq bool 2 178 179 +call 181 pith_cstring_release void 1 179 +store __or_176_1112 180 +brif 180 L1113 L1112 +label L1112 +load 182 val_node +field 183 182 0 string kind +strref 184 m13s20 +call 185 pith_cstring_eq bool 2 183 184 +call 186 pith_cstring_release void 1 184 +store __or_176_1112 185 +label L1113 +load 187 __or_176_1112 +store __or_175_1112 187 +brif 187 L1115 L1114 +label L1114 +load 188 val_node +field 189 188 0 string kind +strref 190 m13s18 +call 191 pith_cstring_eq bool 2 189 190 +call 192 pith_cstring_release void 1 190 +store __or_175_1112 191 +label L1115 +load 193 __or_175_1112 +brif 193 L1110 L1111 +label L1110 +load 194 checker_open_empty_literal_bindings +load 195 scope_id +load 196 name +call 197 scope_lookup_binding_index int 2 195 196 +load 198 node +field 199 198 16 list children +iconst 200 0 +call 201 pith_list_get_value_strict int 2 199 200 +call 202 map_insert_ikey void 3 194 197 201 +jmp L1109 +label L1111 +label L1109 +jmp L1106 +label L1108 +label L1106 +jmp L1103 +label L1105 +label L1103 jmp L1070 label L1102 label L1070 -load 161 node -call 162 pith_struct_release void 1 161 -load 163 name -call 164 pith_cstring_release void 1 163 -load 165 val_node -call 166 pith_struct_release void 1 165 -iconst 167 0 -ret 167 +load 203 node +call 204 pith_struct_release void 1 203 +load 205 name +call 206 pith_cstring_release void 1 205 +load 207 val_node +call 208 pith_struct_release void 1 207 +iconst 209 0 +ret 209 endfunc func checker_check_assignment 2 void param node @@ -38060,16 +38243,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 2 lt 8 6 7 -brif 8 L1104 L1105 -label L1104 +brif 8 L1117 L1118 +label L1117 load 9 target_node call 10 pith_struct_release void 1 9 load 11 op call 12 pith_cstring_release void 1 11 iconst 13 0 ret 13 -label L1105 -label L1103 +label L1118 +label L1116 load 14 node field 15 14 16 list children iconst 16 0 @@ -38090,16 +38273,16 @@ field 27 26 0 string kind strref 28 m13s293 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L1107 L1108 -label L1107 +brif 29 L1120 L1121 +label L1120 load 31 scope_id load 32 target_node field 33 32 8 string value call 34 scope_is_binding_mutable bool 2 31 33 iconst 35 0 eq 36 34 35 -brif 36 L1110 L1111 -label L1110 +brif 36 L1123 L1124 +label L1123 strref 37 m13s764 strref 38 m13s763 load 39 target_node @@ -38125,11 +38308,11 @@ load 58 op call 59 pith_cstring_release void 1 58 iconst 60 0 ret 60 -label L1111 -label L1109 -jmp L1106 -label L1108 -label L1106 +label L1124 +label L1122 +jmp L1119 +label L1121 +label L1119 load 61 target_idx load 62 scope_id call 63 checker_c_check_expr int 2 61 62 @@ -38140,56 +38323,56 @@ call 66 checker_c_check_expr int 2 64 65 store val_type 66 load 67 target_type call 68 types_is_error_type bool 1 67 -brif 68 L1113 L1114 -label L1113 +brif 68 L1126 L1127 +label L1126 load 69 target_node call 70 pith_struct_release void 1 69 load 71 op call 72 pith_cstring_release void 1 71 iconst 73 0 ret 73 -label L1114 -label L1112 +label L1127 +label L1125 load 74 value_idx load 75 val_type load 76 target_type call 77 checker_value_matches_optional_target bool 3 74 75 76 -brif 77 L1116 L1117 -label L1116 +brif 77 L1129 L1130 +label L1129 load 78 target_node call 79 pith_struct_release void 1 78 load 80 op call 81 pith_cstring_release void 1 80 iconst 82 0 ret 82 -label L1117 -label L1115 +label L1130 +label L1128 load 83 value_idx load 84 target_type load 85 scope_id call 86 checker_collection_literal_matches_target bool 3 83 84 85 -brif 86 L1119 L1120 -label L1119 +brif 86 L1132 L1133 +label L1132 load 87 target_node call 88 pith_struct_release void 1 87 load 89 op call 90 pith_cstring_release void 1 89 iconst 91 0 ret 91 -label L1120 -label L1118 +label L1133 +label L1131 load 92 val_type call 93 types_is_error_type bool 1 92 -brif 93 L1122 L1123 -label L1122 +brif 93 L1135 L1136 +label L1135 load 94 target_node call 95 pith_struct_release void 1 94 load 96 op call 97 pith_cstring_release void 1 96 iconst 98 0 ret 98 -label L1123 -label L1121 +label L1136 +label L1134 load 99 op load 100 node field 101 100 8 string value @@ -38200,20 +38383,20 @@ load 104 op strref 105 m13s761 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -brif 106 L1125 L1126 -label L1125 +brif 106 L1138 L1139 +label L1138 load 108 target_type load 109 val_type neq 110 108 109 -brif 110 L1128 L1129 -label L1128 +brif 110 L1141 L1142 +label L1141 load 111 target_type load 112 val_type call 113 checker_types_structurally_equal bool 2 111 112 iconst 114 0 eq 115 113 114 -brif 115 L1131 L1132 -label L1131 +brif 115 L1144 L1145 +label L1144 strref 116 m13s375 strref 117 m13s758 load 118 target_type @@ -38233,20 +38416,20 @@ call 131 pith_cstring_release void 1 128 call 132 checker_diagnostics_report_error void 2 116 129 call 133 pith_cstring_release void 1 116 call 134 pith_cstring_release void 1 129 -jmp L1130 -label L1132 -label L1130 -jmp L1127 -label L1129 -label L1127 -jmp L1124 -label L1126 +jmp L1143 +label L1145 +label L1143 +jmp L1140 +label L1142 +label L1140 +jmp L1137 +label L1139 load 135 target_type call 136 types_is_numeric_type bool 1 135 iconst 137 0 eq 138 136 137 -brif 138 L1134 L1135 -label L1134 +brif 138 L1147 L1148 +label L1147 strref 139 m13s413 strref 140 m13s760 load 141 op @@ -38264,13 +38447,13 @@ call 152 pith_cstring_release void 1 149 call 153 checker_diagnostics_report_error void 2 139 150 call 154 pith_cstring_release void 1 139 call 155 pith_cstring_release void 1 150 -jmp L1133 -label L1135 +jmp L1146 +label L1148 load 156 target_type load 157 val_type neq 158 156 157 -brif 158 L1136 L1137 -label L1136 +brif 158 L1149 L1150 +label L1149 strref 159 m13s375 strref 160 m13s758 load 161 target_type @@ -38290,10 +38473,10 @@ call 174 pith_cstring_release void 1 171 call 175 checker_diagnostics_report_error void 2 159 172 call 176 pith_cstring_release void 1 159 call 177 pith_cstring_release void 1 172 -jmp L1133 +jmp L1146 +label L1150 +label L1146 label L1137 -label L1133 -label L1124 load 178 target_node call 179 pith_struct_release void 1 178 load 180 op @@ -38314,33 +38497,33 @@ store expected 5 load 6 expected load 7 checker_TID_LAMBDA_INFER eq 8 6 7 -brif 8 L1139 L1140 -label L1139 +brif 8 L1152 L1153 +label L1152 load 9 node field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 0 eq 13 11 12 -brif 13 L1142 L1143 -label L1142 +brif 13 L1155 L1156 +label L1155 load 14 checker_lambda_inferred_return iconst 15 0 lt 16 14 15 -brif 16 L1145 L1146 -label L1145 +brif 16 L1158 L1159 +label L1158 load 17 types_TID_VOID store checker_lambda_inferred_return 17 -jmp L1144 -label L1146 -label L1144 +jmp L1157 +label L1159 +label L1157 load 18 actual_node call 19 pith_struct_release void 1 18 load 20 exp_info call 21 pith_struct_release void 1 20 iconst 22 0 ret 22 -label L1143 -label L1141 +label L1156 +label L1154 load 23 node field 24 23 16 list children iconst 25 0 @@ -38351,36 +38534,36 @@ store first 28 load 29 checker_lambda_inferred_return iconst 30 0 lt 31 29 30 -brif 31 L1148 L1149 -label L1148 +brif 31 L1161 L1162 +label L1161 load 32 first store checker_lambda_inferred_return 32 -jmp L1147 -label L1149 +jmp L1160 +label L1162 iconst 33 0 -store __and_33_1152 33 +store __and_33_1165 33 load 34 first call 35 types_is_error_type bool 1 34 iconst 36 0 eq 37 35 36 -store __and_33_1152 37 -brif 37 L1152 L1153 -label L1152 +store __and_33_1165 37 +brif 37 L1165 L1166 +label L1165 load 38 first load 39 checker_lambda_inferred_return neq 40 38 39 -store __and_33_1152 40 -label L1153 -load 41 __and_33_1152 -brif 41 L1150 L1151 -label L1150 +store __and_33_1165 40 +label L1166 +load 41 __and_33_1165 +brif 41 L1163 L1164 +label L1163 load 42 first load 43 checker_lambda_inferred_return call 44 checker_types_structurally_equal bool 2 42 43 iconst 45 0 eq 46 44 45 -brif 46 L1155 L1156 -label L1155 +brif 46 L1168 L1169 +label L1168 strref 47 m13s375 strref 48 m13s757 load 49 checker_lambda_inferred_return @@ -38400,25 +38583,25 @@ call 62 pith_cstring_release void 1 59 call 63 checker_diagnostics_report_error void 2 47 60 call 64 pith_cstring_release void 1 47 call 65 pith_cstring_release void 1 60 -jmp L1154 -label L1156 -label L1154 -jmp L1147 -label L1151 -label L1147 +jmp L1167 +label L1169 +label L1167 +jmp L1160 +label L1164 +label L1160 load 66 actual_node call 67 pith_struct_release void 1 66 load 68 exp_info call 69 pith_struct_release void 1 68 iconst 70 0 ret 70 -label L1140 -label L1138 +label L1153 +label L1151 load 71 expected iconst 72 0 lt 73 71 72 -brif 73 L1158 L1159 -label L1158 +brif 73 L1171 L1172 +label L1171 strref 74 m13s752 strref 75 m13s756 call 76 checker_diagnostics_report_error void 2 74 75 @@ -38430,20 +38613,20 @@ load 81 exp_info call 82 pith_struct_release void 1 81 iconst 83 0 ret 83 -label L1159 -label L1157 +label L1172 +label L1170 load 84 node field 85 84 16 list children call 86 pith_list_len int 1 85 iconst 87 0 eq 88 86 87 -brif 88 L1161 L1162 -label L1161 +brif 88 L1174 L1175 +label L1174 load 89 expected load 90 types_TID_VOID neq 91 89 90 -brif 91 L1164 L1165 -label L1164 +brif 91 L1177 L1178 +label L1177 strref 92 m13s375 strref 93 m13s754 load 94 expected @@ -38458,17 +38641,17 @@ call 102 pith_cstring_release void 1 99 call 103 checker_diagnostics_report_error void 2 92 100 call 104 pith_cstring_release void 1 92 call 105 pith_cstring_release void 1 100 -jmp L1163 -label L1165 -label L1163 +jmp L1176 +label L1178 +label L1176 load 106 actual_node call 107 pith_struct_release void 1 106 load 108 exp_info call 109 pith_struct_release void 1 108 iconst 110 0 ret 110 -label L1162 -label L1160 +label L1175 +label L1173 load 111 node field 112 111 16 list children iconst 113 0 @@ -38490,88 +38673,88 @@ call 126 types_get_type_info struct:TypeInfo 1 125 call 127 pith_struct_release void 1 124 store exp_info 126 iconst 128 0 -store __or_128_1169 128 +store __or_128_1182 128 iconst 129 0 -store __or_129_1169 129 +store __or_129_1182 129 load 130 actual_node field 131 130 0 string kind strref 132 m13s22 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_129_1169 133 -brif 133 L1170 L1169 -label L1169 +store __or_129_1182 133 +brif 133 L1183 L1182 +label L1182 load 135 actual_node field 136 135 0 string kind strref 137 m13s20 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 -store __or_129_1169 138 -label L1170 -load 140 __or_129_1169 -store __or_128_1169 140 -brif 140 L1172 L1171 -label L1171 +store __or_129_1182 138 +label L1183 +load 140 __or_129_1182 +store __or_128_1182 140 +brif 140 L1185 L1184 +label L1184 load 141 actual_node field 142 141 0 string kind strref 143 m13s18 call 144 pith_cstring_eq bool 2 142 143 call 145 pith_cstring_release void 1 143 -store __or_128_1169 144 -label L1172 -load 146 __or_128_1169 -brif 146 L1167 L1168 -label L1167 +store __or_128_1182 144 +label L1185 +load 146 __or_128_1182 +brif 146 L1180 L1181 +label L1180 iconst 147 0 -store __and_147_1176 147 +store __and_147_1189 147 load 148 actual_node field 149 148 16 list children call 150 pith_list_len int 1 149 iconst 151 0 eq 152 150 151 -store __and_147_1176 152 -brif 152 L1176 L1177 -label L1176 +store __and_147_1189 152 +brif 152 L1189 L1190 +label L1189 load 153 actual call 154 types_is_error_type bool 1 153 -store __and_147_1176 154 -label L1177 -load 155 __and_147_1176 -brif 155 L1174 L1175 -label L1174 +store __and_147_1189 154 +label L1190 +load 155 __and_147_1189 +brif 155 L1187 L1188 +label L1187 iconst 156 0 -store __or_156_1181 156 +store __or_156_1194 156 iconst 157 0 -store __or_157_1181 157 +store __or_157_1194 157 load 158 exp_info field 159 158 0 string kind strref 160 m13s22 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -store __or_157_1181 161 -brif 161 L1182 L1181 -label L1181 +store __or_157_1194 161 +brif 161 L1195 L1194 +label L1194 load 163 exp_info field 164 163 0 string kind strref 165 m13s20 call 166 pith_cstring_eq bool 2 164 165 call 167 pith_cstring_release void 1 165 -store __or_157_1181 166 -label L1182 -load 168 __or_157_1181 -store __or_156_1181 168 -brif 168 L1184 L1183 -label L1183 +store __or_157_1194 166 +label L1195 +load 168 __or_157_1194 +store __or_156_1194 168 +brif 168 L1197 L1196 +label L1196 load 169 exp_info field 170 169 0 string kind strref 171 m13s18 call 172 pith_cstring_eq bool 2 170 171 call 173 pith_cstring_release void 1 171 -store __or_156_1181 172 -label L1184 -load 174 __or_156_1181 -brif 174 L1179 L1180 -label L1179 +store __or_156_1194 172 +label L1197 +load 174 __or_156_1194 +brif 174 L1192 L1193 +label L1192 load 175 checker_expression_type_cache load 176 node field 177 176 16 list children @@ -38585,153 +38768,153 @@ load 184 exp_info call 185 pith_struct_release void 1 184 iconst 186 0 ret 186 -label L1180 -label L1178 -jmp L1173 -label L1175 -label L1173 -jmp L1166 -label L1168 -label L1166 +label L1193 +label L1191 +jmp L1186 +label L1188 +label L1186 +jmp L1179 +label L1181 +label L1179 load 187 actual_node field 188 187 0 string kind strref 189 m13s312 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -brif 190 L1186 L1187 -label L1186 +brif 190 L1199 L1200 +label L1199 load 192 exp_info field 193 192 0 string kind strref 194 m13s29 call 195 pith_cstring_eq bool 2 193 194 call 196 pith_cstring_release void 1 194 -brif 195 L1189 L1190 -label L1189 +brif 195 L1202 L1203 +label L1202 load 197 actual_node call 198 pith_struct_release void 1 197 load 199 exp_info call 200 pith_struct_release void 1 199 iconst 201 0 ret 201 -label L1190 -label L1188 -jmp L1185 -label L1187 -label L1185 +label L1203 +label L1201 +jmp L1198 +label L1200 +label L1198 load 202 actual call 203 types_is_error_type bool 1 202 -brif 203 L1192 L1193 -label L1192 +brif 203 L1205 L1206 +label L1205 load 204 actual_node call 205 pith_struct_release void 1 204 load 206 exp_info call 207 pith_struct_release void 1 206 iconst 208 0 ret 208 -label L1193 -label L1191 +label L1206 +label L1204 load 209 actual load 210 expected eq 211 209 210 -brif 211 L1195 L1196 -label L1195 +brif 211 L1208 L1209 +label L1208 load 212 actual_node call 213 pith_struct_release void 1 212 load 214 exp_info call 215 pith_struct_release void 1 214 iconst 216 0 ret 216 -label L1196 -label L1194 +label L1209 +label L1207 load 217 exp_info field 218 217 0 string kind strref 219 m13s28 call 220 pith_cstring_eq bool 2 218 219 call 221 pith_cstring_release void 1 219 -brif 220 L1198 L1199 -label L1198 +brif 220 L1211 L1212 +label L1211 load 222 actual load 223 exp_info field 224 223 64 int inner eq 225 222 224 -brif 225 L1201 L1202 -label L1201 +brif 225 L1214 L1215 +label L1214 load 226 actual_node call 227 pith_struct_release void 1 226 load 228 exp_info call 229 pith_struct_release void 1 228 iconst 230 0 ret 230 -label L1202 -label L1200 +label L1215 +label L1213 load 231 actual load 232 exp_info field 233 232 64 int inner call 234 checker_types_structurally_equal bool 2 231 233 -brif 234 L1204 L1205 -label L1204 +brif 234 L1217 L1218 +label L1217 load 235 actual_node call 236 pith_struct_release void 1 235 load 237 exp_info call 238 pith_struct_release void 1 237 iconst 239 0 ret 239 -label L1205 -label L1203 -jmp L1197 -label L1199 -label L1197 +label L1218 +label L1216 +jmp L1210 +label L1212 +label L1210 load 240 exp_info field 241 240 0 string kind strref 242 m13s29 call 243 pith_cstring_eq bool 2 241 242 call 244 pith_cstring_release void 1 242 -brif 243 L1207 L1208 -label L1207 +brif 243 L1220 L1221 +label L1220 load 245 actual load 246 exp_info field 247 246 64 int inner eq 248 245 247 -brif 248 L1210 L1211 -label L1210 +brif 248 L1223 L1224 +label L1223 load 249 actual_node call 250 pith_struct_release void 1 249 load 251 exp_info call 252 pith_struct_release void 1 251 iconst 253 0 ret 253 -label L1211 -label L1209 +label L1224 +label L1222 load 254 actual load 255 exp_info field 256 255 64 int inner call 257 checker_types_structurally_equal bool 2 254 256 -brif 257 L1213 L1214 -label L1213 +brif 257 L1226 L1227 +label L1226 load 258 actual_node call 259 pith_struct_release void 1 258 load 260 exp_info call 261 pith_struct_release void 1 260 iconst 262 0 ret 262 -label L1214 -label L1212 -jmp L1206 -label L1208 -label L1206 +label L1227 +label L1225 +jmp L1219 +label L1221 +label L1219 load 263 actual load 264 expected call 265 checker_types_structurally_equal bool 2 263 264 -brif 265 L1216 L1217 -label L1216 +brif 265 L1229 L1230 +label L1229 load 266 actual_node call 267 pith_struct_release void 1 266 load 268 exp_info call 269 pith_struct_release void 1 268 iconst 270 0 ret 270 -label L1217 -label L1215 +label L1230 +label L1228 strref 271 m13s375 strref 272 m13s754 load 273 expected @@ -38776,8 +38959,8 @@ store ret_type 4 load 5 ret_type iconst 6 0 lt 7 5 6 -brif 7 L1219 L1220 -label L1219 +brif 7 L1232 L1233 +label L1232 strref 8 m13s752 strref 9 m13s751 call 10 checker_diagnostics_report_error void 2 8 9 @@ -38787,8 +38970,8 @@ load 13 ret_info call 14 pith_struct_release void 1 13 iconst 15 0 ret 15 -label L1220 -label L1218 +label L1233 +label L1231 load 16 ret_info load 17 ret_type call 18 types_get_type_info struct:TypeInfo 1 17 @@ -38801,8 +38984,8 @@ call 24 pith_cstring_eq bool 2 21 22 iconst 25 1 sub 23 25 24 call 26 pith_cstring_release void 1 22 -brif 23 L1222 L1223 -label L1222 +brif 23 L1235 L1236 +label L1235 strref 27 m13s750 strref 28 m13s749 call 29 checker_diagnostics_report_error void 2 27 28 @@ -38812,21 +38995,21 @@ load 32 ret_info call 33 pith_struct_release void 1 32 iconst 34 0 ret 34 -label L1223 -label L1221 +label L1236 +label L1234 load 35 node field 36 35 16 list children call 37 pith_list_len int 1 36 iconst 38 1 lt 39 37 38 -brif 39 L1225 L1226 -label L1225 +brif 39 L1238 L1239 +label L1238 load 40 ret_info call 41 pith_struct_release void 1 40 iconst 42 0 ret 42 -label L1226 -label L1224 +label L1239 +label L1237 load 43 node field 44 43 16 list children iconst 45 0 @@ -38836,22 +39019,22 @@ call 48 checker_c_check_expr int 2 46 47 store err_type 48 load 49 err_type call 50 types_is_error_type bool 1 49 -brif 50 L1228 L1229 -label L1228 +brif 50 L1241 L1242 +label L1241 load 51 ret_info call 52 pith_struct_release void 1 51 iconst 53 0 ret 53 -label L1229 -label L1227 +label L1242 +label L1240 load 54 err_type load 55 ret_info field 56 55 80 int value_type call 57 checker_types_compatible bool 2 54 56 iconst 58 0 eq 59 57 58 -brif 59 L1231 L1232 -label L1231 +brif 59 L1244 L1245 +label L1244 strref 60 m13s304 strref 61 m13s748 load 62 ret_info @@ -38872,9 +39055,9 @@ call 76 pith_cstring_release void 1 73 call 77 checker_diagnostics_report_error void 2 60 74 call 78 pith_cstring_release void 1 60 call 79 pith_cstring_release void 1 74 -jmp L1230 -label L1232 -label L1230 +jmp L1243 +label L1245 +label L1243 load 80 ret_info call 81 pith_struct_release void 1 80 iconst 82 0 @@ -38898,8 +39081,8 @@ field 8 7 16 list children call 9 pith_list_len int 1 8 iconst 10 2 lt 11 9 10 -brif 11 L1234 L1235 -label L1234 +brif 11 L1247 L1248 +label L1247 load 12 then_node call 13 pith_struct_release void 1 12 load 14 block @@ -38912,8 +39095,8 @@ load 20 eblock call 21 pith_struct_release void 1 20 iconst 22 0 ret 22 -label L1235 -label L1233 +label L1248 +label L1246 strref 23 m13s12 call 24 types_lookup_type_id int 1 23 call 25 pith_cstring_release void 1 23 @@ -38929,13 +39112,13 @@ load 32 cond_type call 33 types_is_error_type bool 1 32 iconst 34 0 eq 35 33 34 -brif 35 L1237 L1238 -label L1237 +brif 35 L1250 L1251 +label L1250 load 36 cond_type load 37 tid_bool neq 38 36 37 -brif 38 L1240 L1241 -label L1240 +brif 38 L1253 L1254 +label L1253 strref 39 m13s375 strref 40 m13s374 load 41 cond_type @@ -38946,12 +39129,12 @@ call 45 pith_cstring_release void 1 42 call 46 checker_diagnostics_report_error void 2 39 43 call 47 pith_cstring_release void 1 39 call 48 pith_cstring_release void 1 43 -jmp L1239 -label L1241 -label L1239 -jmp L1236 -label L1238 -label L1236 +jmp L1252 +label L1254 +label L1252 +jmp L1249 +label L1251 +label L1249 load 49 then_node load 50 node field 51 50 16 list children @@ -38965,8 +39148,8 @@ field 57 56 0 string kind strref 58 m13s746 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -brif 59 L1243 L1244 -label L1243 +brif 59 L1256 L1257 +label L1256 load 61 scope_id call 62 scope_create_scope int 1 61 store then_scope 62 @@ -38975,8 +39158,8 @@ field 64 63 16 list children call 65 pith_list_len int 1 64 iconst 66 0 gt 67 65 66 -brif 67 L1246 L1247 -label L1246 +brif 67 L1259 L1260 +label L1259 load 68 block load 69 then_node field 70 69 16 list children @@ -38990,20 +39173,20 @@ field 76 75 0 string kind strref 77 m13s319 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 -brif 78 L1249 L1250 -label L1249 +brif 78 L1262 L1263 +label L1262 load 80 block load 81 then_scope call 82 checker_check_block_statement void 2 80 81 -jmp L1248 -label L1250 -label L1248 -jmp L1245 -label L1247 -label L1245 -jmp L1242 -label L1244 -label L1242 +jmp L1261 +label L1263 +label L1261 +jmp L1258 +label L1260 +label L1258 +jmp L1255 +label L1257 +label L1255 iconst 83 2 store skip_if 83 load 84 node @@ -39013,12 +39196,12 @@ iconst 87 0 store __for_idx_116 87 store __for_len_116 86 store __for_iter_116 85 -label L1251 +label L1264 load 88 __for_idx_116 load 89 __for_len_116 lt 90 88 89 -brif 90 L1252 L1254 -label L1252 +brif 90 L1265 L1267 +label L1265 load 91 __for_iter_116 load 92 __for_idx_116 call 93 pith_list_get_value unknown 2 91 92 @@ -39026,15 +39209,15 @@ store __loopvar_116_child 93 load 94 skip_if iconst 95 0 gt 96 94 95 -brif 96 L1256 L1257 -label L1256 +brif 96 L1269 L1270 +label L1269 load 97 skip_if iconst 98 1 sub 99 97 98 store skip_if 99 -jmp L1253 -label L1257 -label L1255 +jmp L1266 +label L1270 +label L1268 load 100 cn load 101 __loopvar_116_child call 102 ast_get_node struct:Node 1 101 @@ -39045,8 +39228,8 @@ field 105 104 0 string kind strref 106 m13s747 call 107 pith_cstring_eq bool 2 105 106 call 108 pith_cstring_release void 1 106 -brif 107 L1259 L1260 -label L1259 +brif 107 L1272 L1273 +label L1272 load 109 scope_id call 110 scope_create_scope int 1 109 store elif_scope 110 @@ -39055,8 +39238,8 @@ field 112 111 16 list children call 113 pith_list_len int 1 112 iconst 114 0 gt 115 113 114 -brif 115 L1262 L1263 -label L1262 +brif 115 L1275 L1276 +label L1275 load 116 cn field 117 116 16 list children iconst 118 0 @@ -39068,13 +39251,13 @@ load 122 econd call 123 types_is_error_type bool 1 122 iconst 124 0 eq 125 123 124 -brif 125 L1265 L1266 -label L1265 +brif 125 L1278 L1279 +label L1278 load 126 econd load 127 tid_bool neq 128 126 127 -brif 128 L1268 L1269 -label L1268 +brif 128 L1281 L1282 +label L1281 strref 129 m13s375 strref 130 m13s374 load 131 econd @@ -39085,22 +39268,22 @@ call 135 pith_cstring_release void 1 132 call 136 checker_diagnostics_report_error void 2 129 133 call 137 pith_cstring_release void 1 129 call 138 pith_cstring_release void 1 133 -jmp L1267 -label L1269 -label L1267 -jmp L1264 -label L1266 -label L1264 -jmp L1261 -label L1263 -label L1261 +jmp L1280 +label L1282 +label L1280 +jmp L1277 +label L1279 +label L1277 +jmp L1274 +label L1276 +label L1274 load 139 cn field 140 139 16 list children call 141 pith_list_len int 1 140 iconst 142 1 gt 143 141 142 -brif 143 L1271 L1272 -label L1271 +brif 143 L1284 L1285 +label L1284 load 144 ebody load 145 cn field 146 145 16 list children @@ -39114,27 +39297,27 @@ field 152 151 0 string kind strref 153 m13s319 call 154 pith_cstring_eq bool 2 152 153 call 155 pith_cstring_release void 1 153 -brif 154 L1274 L1275 -label L1274 +brif 154 L1287 L1288 +label L1287 load 156 ebody load 157 elif_scope call 158 checker_check_block_statement void 2 156 157 -jmp L1273 -label L1275 +jmp L1286 +label L1288 load 159 ebody field 160 159 0 string kind strref 161 m13s746 call 162 pith_cstring_eq bool 2 160 161 call 163 pith_cstring_release void 1 161 -brif 162 L1276 L1277 -label L1276 +brif 162 L1289 L1290 +label L1289 load 164 ebody field 165 164 16 list children call 166 pith_list_len int 1 165 iconst 167 0 gt 168 166 167 -brif 168 L1279 L1280 -label L1279 +brif 168 L1292 L1293 +label L1292 load 169 eblock load 170 ebody field 171 170 16 list children @@ -39148,32 +39331,32 @@ field 177 176 0 string kind strref 178 m13s319 call 179 pith_cstring_eq bool 2 177 178 call 180 pith_cstring_release void 1 178 -brif 179 L1282 L1283 -label L1282 +brif 179 L1295 L1296 +label L1295 load 181 eblock load 182 elif_scope call 183 checker_check_block_statement void 2 181 182 -jmp L1281 +jmp L1294 +label L1296 +label L1294 +jmp L1291 +label L1293 +label L1291 +jmp L1286 +label L1290 +label L1286 +jmp L1283 +label L1285 label L1283 -label L1281 -jmp L1278 -label L1280 -label L1278 -jmp L1273 -label L1277 +jmp L1271 label L1273 -jmp L1270 -label L1272 -label L1270 -jmp L1258 -label L1260 load 184 cn field 185 184 0 string kind strref 186 m13s745 call 187 pith_cstring_eq bool 2 185 186 call 188 pith_cstring_release void 1 186 -brif 187 L1284 L1285 -label L1284 +brif 187 L1297 L1298 +label L1297 load 189 scope_id call 190 scope_create_scope int 1 189 store else_scope 190 @@ -39182,8 +39365,8 @@ field 192 191 16 list children call 193 pith_list_len int 1 192 iconst 194 0 gt 195 193 194 -brif 195 L1287 L1288 -label L1287 +brif 195 L1300 L1301 +label L1300 load 196 eblock load 197 cn field 198 197 16 list children @@ -39197,27 +39380,27 @@ field 204 203 0 string kind strref 205 m13s319 call 206 pith_cstring_eq bool 2 204 205 call 207 pith_cstring_release void 1 205 -brif 206 L1290 L1291 -label L1290 +brif 206 L1303 L1304 +label L1303 load 208 eblock load 209 else_scope call 210 checker_check_block_statement void 2 208 209 -jmp L1289 -label L1291 -label L1289 -jmp L1286 -label L1288 -label L1286 -jmp L1258 -label L1285 -label L1258 -label L1253 +jmp L1302 +label L1304 +label L1302 +jmp L1299 +label L1301 +label L1299 +jmp L1271 +label L1298 +label L1271 +label L1266 load 211 __for_idx_116 iconst 212 1 add 213 211 212 store __for_idx_116 213 -jmp L1251 -label L1254 +jmp L1264 +label L1267 load 214 then_node call 215 pith_struct_release void 1 214 load 216 block @@ -39241,14 +39424,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L1293 L1294 -label L1293 +brif 7 L1306 L1307 +label L1306 load 8 body_node call 9 pith_struct_release void 1 8 iconst 10 0 ret 10 -label L1294 -label L1292 +label L1307 +label L1305 strref 11 m13s12 call 12 types_lookup_type_id int 1 11 call 13 pith_cstring_release void 1 11 @@ -39264,13 +39447,13 @@ load 20 cond_type call 21 types_is_error_type bool 1 20 iconst 22 0 eq 23 21 22 -brif 23 L1296 L1297 -label L1296 +brif 23 L1309 L1310 +label L1309 load 24 cond_type load 25 tid_bool neq 26 24 25 -brif 26 L1299 L1300 -label L1299 +brif 26 L1312 L1313 +label L1312 strref 27 m13s375 strref 28 m13s374 load 29 cond_type @@ -39281,12 +39464,12 @@ call 33 pith_cstring_release void 1 30 call 34 checker_diagnostics_report_error void 2 27 31 call 35 pith_cstring_release void 1 27 call 36 pith_cstring_release void 1 31 -jmp L1298 -label L1300 -label L1298 -jmp L1295 -label L1297 -label L1295 +jmp L1311 +label L1313 +label L1311 +jmp L1308 +label L1310 +label L1308 load 37 scope_id call 38 scope_create_loop_scope int 1 37 store loop_scope 38 @@ -39303,29 +39486,29 @@ field 47 46 0 string kind strref 48 m13s320 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L1302 L1303 -label L1302 +brif 49 L1315 L1316 +label L1315 load 51 node field 52 51 16 list children iconst 53 1 call 54 pith_list_get_value_strict int 2 52 53 load 55 loop_scope call 56 checker_check_function_body void 2 54 55 -jmp L1301 -label L1303 +jmp L1314 +label L1316 load 57 body_node field 58 57 0 string kind strref 59 m13s319 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L1304 L1305 -label L1304 +brif 60 L1317 L1318 +label L1317 load 62 body_node load 63 loop_scope call 64 checker_check_block_statement void 2 62 63 -jmp L1301 -label L1305 -label L1301 +jmp L1314 +label L1318 +label L1314 load 65 body_node call 66 pith_struct_release void 1 65 iconst 67 0 @@ -39347,16 +39530,16 @@ call 9 checker_c_check_expr int 2 7 8 store subj_type 9 load 10 subj_type call 11 types_is_error_type bool 1 10 -brif 11 L1307 L1308 -label L1307 +brif 11 L1320 L1321 +label L1320 load 12 pat call 13 pith_struct_release void 1 12 load 14 info call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L1308 -label L1306 +label L1321 +label L1319 load 17 pat load 18 pat_idx call 19 ast_get_node struct:Node 1 18 @@ -39367,8 +39550,8 @@ field 22 21 0 string kind strref 23 m13s342 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L1310 L1311 -label L1310 +brif 24 L1323 L1324 +label L1323 load 26 pat_idx load 27 subj_type load 28 branch_scope @@ -39379,15 +39562,15 @@ load 32 info call 33 pith_struct_release void 1 32 iconst 34 0 ret 34 -label L1311 -label L1309 +label L1324 +label L1322 load 35 pat field 36 35 0 string kind strref 37 m13s338 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L1313 L1314 -label L1313 +brif 38 L1326 L1327 +label L1326 load 40 info load 41 subj_type call 42 types_get_type_info struct:TypeInfo 1 41 @@ -39398,8 +39581,8 @@ field 45 44 0 string kind strref 46 m13s29 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -brif 47 L1316 L1317 -label L1316 +brif 47 L1329 L1330 +label L1329 load 49 branch_scope load 50 pat field 51 50 8 string value @@ -39413,8 +39596,8 @@ load 58 info call 59 pith_struct_release void 1 58 iconst 60 0 ret 60 -label L1317 -label L1315 +label L1330 +label L1328 strref 61 m13s743 load 62 form strref 63 m13s744 @@ -39434,8 +39617,8 @@ load 76 info call 77 pith_struct_release void 1 76 iconst 78 0 ret 78 -label L1314 -label L1312 +label L1327 +label L1325 strref 79 m13s743 load 80 form strref 81 m13s742 @@ -39463,16 +39646,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L1319 L1320 -label L1319 +brif 8 L1332 L1333 +label L1332 load 9 then_node call 10 pith_struct_release void 1 9 load 11 else_node call 12 pith_struct_release void 1 11 iconst 13 0 ret 13 -label L1320 -label L1318 +label L1333 +label L1331 load 14 scope_id call 15 scope_create_scope int 1 14 store then_scope 15 @@ -39502,21 +39685,21 @@ field 37 36 0 string kind strref 38 m13s319 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L1322 L1323 -label L1322 +brif 39 L1335 L1336 +label L1335 load 41 then_node load 42 then_scope call 43 checker_check_block_statement void 2 41 42 -jmp L1321 -label L1323 -label L1321 +jmp L1334 +label L1336 +label L1334 load 44 node field 45 44 16 list children call 46 pith_list_len int 1 45 iconst 47 3 gt 48 46 47 -brif 48 L1325 L1326 -label L1325 +brif 48 L1338 L1339 +label L1338 load 49 scope_id call 50 scope_create_scope int 1 49 store else_scope 50 @@ -39533,17 +39716,17 @@ field 59 58 0 string kind strref 60 m13s319 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L1328 L1329 -label L1328 +brif 61 L1341 L1342 +label L1341 load 63 else_node load 64 else_scope call 65 checker_check_block_statement void 2 63 64 -jmp L1327 -label L1329 -label L1327 -jmp L1324 -label L1326 -label L1324 +jmp L1340 +label L1342 +label L1340 +jmp L1337 +label L1339 +label L1337 load 66 then_node call 67 pith_struct_release void 1 66 load 68 else_node @@ -39561,14 +39744,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 3 lt 7 5 6 -brif 7 L1331 L1332 -label L1331 +brif 7 L1344 L1345 +label L1344 load 8 body_node call 9 pith_struct_release void 1 8 iconst 10 0 ret 10 -label L1332 -label L1330 +label L1345 +label L1343 load 11 scope_id call 12 scope_create_loop_scope int 1 11 store loop_scope 12 @@ -39598,14 +39781,14 @@ field 34 33 0 string kind strref 35 m13s319 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L1334 L1335 -label L1334 +brif 36 L1347 L1348 +label L1347 load 38 body_node load 39 loop_scope call 40 checker_check_block_statement void 2 38 39 -jmp L1333 -label L1335 -label L1333 +jmp L1346 +label L1348 +label L1346 load 41 body_node call 42 pith_struct_release void 1 41 iconst 43 0 @@ -39645,8 +39828,8 @@ call 19 pith_cstring_eq bool 2 16 17 iconst 20 1 sub 18 20 19 call 21 pith_cstring_release void 1 17 -brif 18 L1337 L1338 -label L1337 +brif 18 L1350 L1351 +label L1350 iconst 22 0 iconst 23 1 sub 24 22 23 @@ -39671,8 +39854,8 @@ call 42 pith_cstring_release void 1 41 load 43 ret_info call 44 pith_struct_release void 1 43 ret 24 -label L1338 -label L1336 +label L1351 +label L1349 load 45 type_name load 46 iter_type call 47 types_get_type_name string 1 46 @@ -39689,8 +39872,8 @@ load 55 next_key call 56 checker_methods_has_method_declaration bool 1 55 iconst 57 0 eq 58 56 57 -brif 58 L1340 L1341 -label L1340 +brif 58 L1353 L1354 +label L1353 load 59 base load 60 type_name call 61 checker_extract_base_type_name string 1 60 @@ -39701,8 +39884,8 @@ load 64 type_name call 66 pith_cstring_eq bool 2 63 64 iconst 67 1 sub 65 67 66 -brif 65 L1343 L1344 -label L1343 +brif 65 L1356 L1357 +label L1356 load 68 next_key load 69 base strref 70 m13s739 @@ -39710,18 +39893,18 @@ concat 71 69 70 call 72 pith_cstring_release void 1 70 call 73 pith_cstring_release void 1 68 store next_key 71 -jmp L1342 -label L1344 -label L1342 -jmp L1339 -label L1341 -label L1339 +jmp L1355 +label L1357 +label L1355 +jmp L1352 +label L1354 +label L1352 load 74 next_key call 75 checker_methods_has_method_declaration bool 1 74 iconst 76 0 eq 77 75 76 -brif 77 L1346 L1347 -label L1346 +brif 77 L1359 L1360 +label L1359 iconst 78 0 iconst 79 1 sub 80 78 79 @@ -39746,8 +39929,8 @@ call 98 pith_cstring_release void 1 97 load 99 ret_info call 100 pith_struct_release void 1 99 ret 80 -label L1347 -label L1345 +label L1360 +label L1358 load 101 method_node load 102 next_key call 103 checker_methods_get_method_declaration_index int 1 102 @@ -39765,8 +39948,8 @@ store struct_args 110 load 112 checker_struct_instance_type_args load 113 iter_type call 114 map_contains_ikey bool 2 112 113 -brif 114 L1349 L1350 -label L1349 +brif 114 L1362 L1363 +label L1362 load 115 struct_args load 116 checker_struct_instance_type_args load 117 iter_type @@ -39777,8 +39960,8 @@ store struct_args 119 load 121 checker_struct_instance_base_name load 122 iter_type call 123 map_contains_ikey bool 2 121 122 -brif 123 L1352 L1353 -label L1352 +brif 123 L1365 L1366 +label L1365 load 124 base load 125 checker_struct_instance_base_name load 126 iter_type @@ -39788,8 +39971,8 @@ call 129 pith_cstring_release void 1 124 store base 127 load 130 base call 131 checker_has_generic_declaration bool 1 130 -brif 131 L1355 L1356 -label L1355 +brif 131 L1368 L1369 +label L1368 load 132 sdecl load 133 base call 134 checker_get_generic_declaration_index int 1 133 @@ -39801,15 +39984,15 @@ load 138 sdecl call 139 checker_collect_generic_parameter_names list_string 1 138 call 140 pith_list_release_handle void 1 137 store struct_params 139 -jmp L1354 -label L1356 -label L1354 -jmp L1351 -label L1353 -label L1351 -jmp L1348 -label L1350 -label L1348 +jmp L1367 +label L1369 +label L1367 +jmp L1364 +label L1366 +label L1364 +jmp L1361 +label L1363 +label L1361 load 141 assoc_base load 142 type_name call 143 checker_extract_base_type_name string 1 142 @@ -39818,8 +40001,8 @@ store assoc_base 143 load 145 checker_type_assoc_names load 146 assoc_base call 147 contains_key bool 2 145 146 -brif 147 L1358 L1359 -label L1358 +brif 147 L1371 L1372 +label L1371 load 148 checker_type_assoc_names load 149 assoc_base call 150 map_get_strict string 2 148 149 @@ -39831,12 +40014,12 @@ iconst 155 0 store __for_idx_117 155 store __for_len_117 154 store __for_iter_117 152 -label L1360 +label L1373 load 156 __for_idx_117 load 157 __for_len_117 lt 158 156 157 -brif 158 L1361 L1363 -label L1361 +brif 158 L1374 L1376 +label L1374 load 159 __for_iter_117 load 160 __for_idx_117 call 161 pith_list_get_value_unchecked string 2 159 160 @@ -39849,29 +40032,29 @@ load 165 resolved call 166 types_is_error_type bool 1 165 iconst 167 0 eq 168 166 167 -brif 168 L1365 L1366 -label L1365 +brif 168 L1378 L1379 +label L1378 load 169 struct_params load 170 __loopvar_117_an call 171 pith_list_push_value void 2 169 170 load 172 struct_args load 173 resolved call 174 pith_list_push_value void 2 172 173 -jmp L1364 -label L1366 -label L1364 -label L1362 +jmp L1377 +label L1379 +label L1377 +label L1375 load 175 __for_idx_117 iconst 176 1 add 177 175 176 store __for_idx_117 177 -jmp L1360 -label L1363 +jmp L1373 +label L1376 load 178 __for_iter_117 call 179 pith_list_release_handle void 1 178 -jmp L1357 -label L1359 -label L1357 +jmp L1370 +label L1372 +label L1370 load 180 method_node load 181 struct_params load 182 struct_args @@ -39889,8 +40072,8 @@ call 192 pith_cstring_eq bool 2 189 190 iconst 193 1 sub 191 193 192 call 194 pith_cstring_release void 1 190 -brif 191 L1368 L1369 -label L1368 +brif 191 L1381 L1382 +label L1381 iconst 195 0 iconst 196 1 sub 197 195 196 @@ -39915,8 +40098,8 @@ call 215 pith_cstring_release void 1 214 load 216 ret_info call 217 pith_struct_release void 1 216 ret 197 -label L1369 -label L1367 +label L1382 +label L1380 load 218 ret_info field 219 218 64 int inner load 220 info @@ -39983,8 +40166,8 @@ field 9 8 16 list children call 10 pith_list_len int 1 9 iconst 11 2 lt 12 10 11 -brif 12 L1371 L1372 -label L1371 +brif 12 L1384 L1385 +label L1384 load 13 iter_node call 14 pith_struct_release void 1 13 load 15 iter_info @@ -39999,8 +40182,8 @@ load 23 body_node call 24 pith_struct_release void 1 23 iconst 25 0 ret 25 -label L1372 -label L1370 +label L1385 +label L1383 strref 26 m13s0 call 27 types_lookup_type_id int 1 26 call 28 pith_cstring_release void 1 26 @@ -40028,8 +40211,8 @@ field 44 43 0 string kind strref 45 m13s738 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L1374 L1375 -label L1374 +brif 46 L1387 L1388 +label L1387 load 48 iter_node field 49 48 16 list children iconst 50 0 @@ -40045,19 +40228,19 @@ load 58 scope_id call 59 checker_c_check_expr int 2 57 58 store hi_type 59 iconst 60 0 -store __or_60_1379 60 +store __or_60_1392 60 load 61 lo_type call 62 types_is_error_type bool 1 61 -store __or_60_1379 62 -brif 62 L1380 L1379 -label L1379 +store __or_60_1392 62 +brif 62 L1393 L1392 +label L1392 load 63 hi_type call 64 types_is_error_type bool 1 63 -store __or_60_1379 64 -label L1380 -load 65 __or_60_1379 -brif 65 L1377 L1378 -label L1377 +store __or_60_1392 64 +label L1393 +load 65 __or_60_1392 +brif 65 L1390 L1391 +label L1390 load 66 iter_node call 67 pith_struct_release void 1 66 load 68 iter_info @@ -40072,24 +40255,24 @@ load 76 body_node call 77 pith_struct_release void 1 76 iconst 78 0 ret 78 -label L1378 -label L1376 +label L1391 +label L1389 iconst 79 0 -store __or_79_1384 79 +store __or_79_1397 79 load 80 lo_type load 81 tid_int neq 82 80 81 -store __or_79_1384 82 -brif 82 L1385 L1384 -label L1384 +store __or_79_1397 82 +brif 82 L1398 L1397 +label L1397 load 83 hi_type load 84 tid_int neq 85 83 84 -store __or_79_1384 85 -label L1385 -load 86 __or_79_1384 -brif 86 L1382 L1383 -label L1382 +store __or_79_1397 85 +label L1398 +load 86 __or_79_1397 +brif 86 L1395 L1396 +label L1395 strref 87 m13s413 strref 88 m13s737 load 89 lo_type @@ -40123,12 +40306,12 @@ load 116 body_node call 117 pith_struct_release void 1 116 iconst 118 0 ret 118 -label L1383 -label L1381 +label L1396 +label L1394 load 119 tid_int store elem_type 119 -jmp L1373 -label L1375 +jmp L1386 +label L1388 load 120 node field 121 120 16 list children iconst 122 0 @@ -40138,8 +40321,8 @@ call 125 checker_c_check_expr int 2 123 124 store iter_type 125 load 126 iter_type call 127 types_is_error_type bool 1 126 -brif 127 L1387 L1388 -label L1387 +brif 127 L1400 L1401 +label L1400 load 128 iter_node call 129 pith_struct_release void 1 128 load 130 iter_info @@ -40154,8 +40337,8 @@ load 138 body_node call 139 pith_struct_release void 1 138 iconst 140 0 ret 140 -label L1388 -label L1386 +label L1401 +label L1399 load 141 iter_info load 142 iter_type call 143 types_get_type_info struct:TypeInfo 1 142 @@ -40164,60 +40347,60 @@ store iter_info 143 load 145 iter_type load 146 tid_string eq 147 145 146 -brif 147 L1390 L1391 -label L1390 +brif 147 L1403 L1404 +label L1403 load 148 tid_string store elem_type 148 -jmp L1389 -label L1391 +jmp L1402 +label L1404 load 149 iter_info field 150 149 0 string kind strref 151 m13s22 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -brif 152 L1392 L1393 -label L1392 +brif 152 L1405 L1406 +label L1405 load 154 iter_info field 155 154 64 int inner store elem_type 155 -jmp L1389 -label L1393 +jmp L1402 +label L1406 load 156 iter_info field 157 156 0 string kind strref 158 m13s20 call 159 pith_cstring_eq bool 2 157 158 call 160 pith_cstring_release void 1 158 -brif 159 L1394 L1395 -label L1394 +brif 159 L1407 L1408 +label L1407 load 161 iter_info field 162 161 72 int key_type store elem_type 162 -jmp L1389 -label L1395 +jmp L1402 +label L1408 load 163 iter_info field 164 163 0 string kind strref 165 m13s18 call 166 pith_cstring_eq bool 2 164 165 call 167 pith_cstring_release void 1 165 -brif 166 L1396 L1397 -label L1396 +brif 166 L1409 L1410 +label L1409 load 168 iter_info field 169 168 64 int inner store elem_type 169 -jmp L1389 -label L1397 +jmp L1402 +label L1410 load 170 iter_type call 171 checker_iterator_element_type int 1 170 store it_elem 171 load 172 it_elem iconst 173 0 gte 174 172 173 -brif 174 L1399 L1400 -label L1399 +brif 174 L1412 L1413 +label L1412 load 175 it_elem store elem_type 175 -jmp L1398 -label L1400 +jmp L1411 +label L1413 strref 176 m13s413 strref 177 m13s735 load 178 iter_type @@ -40242,9 +40425,9 @@ load 196 body_node call 197 pith_struct_release void 1 196 iconst 198 0 ret 198 -label L1398 -label L1389 -label L1373 +label L1411 +label L1402 +label L1386 load 199 scope_id call 200 scope_create_loop_scope int 1 199 store loop_scope 200 @@ -40253,8 +40436,8 @@ field 202 201 16 list children call 203 pith_list_len int 1 202 iconst 204 3 gte 205 203 204 -brif 205 L1402 L1403 -label L1402 +brif 205 L1415 L1416 +label L1415 load 206 elem_name load 207 node field 208 207 16 list children @@ -40282,8 +40465,8 @@ field 228 227 16 list children call 229 pith_list_len int 1 228 iconst 230 4 gte 231 229 230 -brif 231 L1405 L1406 -label L1405 +brif 231 L1418 L1419 +label L1418 load 232 idx_name load 233 node field 234 233 16 list children @@ -40299,11 +40482,11 @@ load 242 idx_name load 243 tid_int iconst 244 0 call 245 scope_define_binding void 4 241 242 243 244 -jmp L1404 -label L1406 -label L1404 -jmp L1401 -label L1403 +jmp L1417 +label L1419 +label L1417 +jmp L1414 +label L1416 load 246 binding_names load 247 node field 248 247 8 string value @@ -40317,7 +40500,7 @@ load 254 elem_type iconst 255 0 call 256 scope_define_binding void 4 251 253 254 255 call 257 pith_cstring_release void 1 253 -label L1401 +label L1414 load 258 body_node load 259 node field 260 259 16 list children @@ -40331,29 +40514,29 @@ field 266 265 0 string kind strref 267 m13s320 call 268 pith_cstring_eq bool 2 266 267 call 269 pith_cstring_release void 1 267 -brif 268 L1408 L1409 -label L1408 +brif 268 L1421 L1422 +label L1421 load 270 node field 271 270 16 list children iconst 272 1 call 273 pith_list_get_value_strict int 2 271 272 load 274 loop_scope call 275 checker_check_function_body void 2 273 274 -jmp L1407 -label L1409 +jmp L1420 +label L1422 load 276 body_node field 277 276 0 string kind strref 278 m13s319 call 279 pith_cstring_eq bool 2 277 278 call 280 pith_cstring_release void 1 278 -brif 279 L1410 L1411 -label L1410 +brif 279 L1423 L1424 +label L1423 load 281 body_node load 282 loop_scope call 283 checker_check_block_statement void 2 281 282 -jmp L1407 -label L1411 -label L1407 +jmp L1420 +label L1424 +label L1420 load 284 iter_node call 285 pith_struct_release void 1 284 load 286 iter_info @@ -40395,14 +40578,14 @@ param node_idx load 1 checker_expression_type_cache load 2 node_idx call 3 map_contains_ikey bool 2 1 2 -brif 3 L1413 L1414 -label L1413 +brif 3 L1426 L1427 +label L1426 load 4 checker_expression_type_cache load 5 node_idx call 6 map_get_ikey_strict int 2 4 5 ret 6 -label L1414 -label L1412 +label L1427 +label L1425 load 7 types_TID_ERR ret 7 iconst 8 0 @@ -40445,83 +40628,83 @@ field 24 23 0 string kind strref 25 m13s734 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L1416 L1417 -label L1416 +brif 26 L1429 L1430 +label L1429 load 28 tid_int load 29 node call 30 pith_struct_release void 1 29 load 31 cn call 32 pith_struct_release void 1 31 ret 28 -label L1417 -label L1415 +label L1430 +label L1428 load 33 node field 34 33 0 string kind strref 35 m13s733 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L1419 L1420 -label L1419 +brif 36 L1432 L1433 +label L1432 load 38 tid_float load 39 node call 40 pith_struct_release void 1 39 load 41 cn call 42 pith_struct_release void 1 41 ret 38 -label L1420 -label L1418 +label L1433 +label L1431 load 43 node field 44 43 0 string kind strref 45 m13s732 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L1422 L1423 -label L1422 +brif 46 L1435 L1436 +label L1435 load 48 tid_string load 49 node call 50 pith_struct_release void 1 49 load 51 cn call 52 pith_struct_release void 1 51 ret 48 -label L1423 -label L1421 +label L1436 +label L1434 load 53 node field 54 53 0 string kind strref 55 m13s731 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L1425 L1426 -label L1425 +brif 56 L1438 L1439 +label L1438 load 58 tid_bool load 59 node call 60 pith_struct_release void 1 59 load 61 cn call 62 pith_struct_release void 1 61 ret 58 -label L1426 -label L1424 +label L1439 +label L1437 load 63 node field 64 63 0 string kind strref 65 m13s312 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 -brif 66 L1428 L1429 -label L1428 +brif 66 L1441 L1442 +label L1441 load 68 tid_err load 69 node call 70 pith_struct_release void 1 69 load 71 cn call 72 pith_struct_release void 1 71 ret 68 -label L1429 -label L1427 +label L1442 +label L1440 load 73 node field 74 73 0 string kind strref 75 m13s293 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L1431 L1432 -label L1431 +brif 76 L1444 L1445 +label L1444 load 78 node_idx load 79 node field 80 79 8 string value @@ -40532,15 +40715,15 @@ call 84 pith_struct_release void 1 83 load 85 cn call 86 pith_struct_release void 1 85 ret 82 -label L1432 -label L1430 +label L1445 +label L1443 load 87 node field 88 87 0 string kind strref 89 m13s730 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -brif 90 L1434 L1435 -label L1434 +brif 90 L1447 L1448 +label L1447 load 92 node_idx strref 93 m13s730 load 94 scope_id @@ -40551,15 +40734,15 @@ call 98 pith_struct_release void 1 97 load 99 cn call 100 pith_struct_release void 1 99 ret 95 -label L1435 -label L1433 +label L1448 +label L1446 load 101 node field 102 101 0 string kind strref 103 m13s729 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -brif 104 L1437 L1438 -label L1437 +brif 104 L1450 L1451 +label L1450 load 106 node load 107 scope_id call 108 checker_check_binary_expression int 2 106 107 @@ -40568,15 +40751,15 @@ call 110 pith_struct_release void 1 109 load 111 cn call 112 pith_struct_release void 1 111 ret 108 -label L1438 -label L1436 +label L1451 +label L1449 load 113 node field 114 113 0 string kind strref 115 m13s728 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -brif 116 L1440 L1441 -label L1440 +brif 116 L1453 L1454 +label L1453 load 118 node load 119 scope_id call 120 checker_check_unary_expression int 2 118 119 @@ -40585,22 +40768,22 @@ call 122 pith_struct_release void 1 121 load 123 cn call 124 pith_struct_release void 1 123 ret 120 -label L1441 -label L1439 +label L1454 +label L1452 load 125 node field 126 125 0 string kind strref 127 m13s727 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L1443 L1444 -label L1443 +brif 128 L1456 L1457 +label L1456 load 130 node field 131 130 16 list children call 132 pith_list_len int 1 131 iconst 133 0 gt 134 132 133 -brif 134 L1446 L1447 -label L1446 +brif 134 L1459 L1460 +label L1459 load 135 node field 136 135 16 list children iconst 137 0 @@ -40612,23 +40795,23 @@ call 142 pith_struct_release void 1 141 load 143 cn call 144 pith_struct_release void 1 143 ret 140 -label L1447 -label L1445 +label L1460 +label L1458 load 145 types_TID_ERR load 146 node call 147 pith_struct_release void 1 146 load 148 cn call 149 pith_struct_release void 1 148 ret 145 -label L1444 -label L1442 +label L1457 +label L1455 load 150 node field 151 150 0 string kind strref 152 m13s726 call 153 pith_cstring_eq bool 2 151 152 call 154 pith_cstring_release void 1 152 -brif 153 L1449 L1450 -label L1449 +brif 153 L1462 L1463 +label L1462 load 155 node field 156 155 16 list children call 157 pith_auto_len int 1 156 @@ -40636,12 +40819,12 @@ iconst 158 0 store __for_idx_118 158 store __for_len_118 157 store __for_iter_118 156 -label L1451 +label L1464 load 159 __for_idx_118 load 160 __for_len_118 lt 161 159 160 -brif 161 L1452 L1454 -label L1452 +brif 161 L1465 L1467 +label L1465 load 162 __for_iter_118 load 163 __for_idx_118 call 164 pith_list_get_value unknown 2 162 163 @@ -40656,8 +40839,8 @@ field 170 169 0 string kind strref 171 m13s725 call 172 pith_cstring_eq bool 2 170 171 call 173 pith_cstring_release void 1 171 -brif 172 L1456 L1457 -label L1456 +brif 172 L1469 L1470 +label L1469 load 174 cn field 175 174 16 list children iconst 176 0 @@ -40669,14 +40852,14 @@ load 180 spec_tid call 181 types_is_error_type bool 1 180 iconst 182 0 eq 183 181 182 -brif 183 L1459 L1460 -label L1459 +brif 183 L1472 L1473 +label L1472 load 184 spec_tid call 185 checker_type_supports_stringify bool 1 184 iconst 186 0 eq 187 185 186 -brif 187 L1462 L1463 -label L1462 +brif 187 L1475 L1476 +label L1475 strref 188 m13s304 strref 189 m13s723 load 190 spec_tid @@ -40687,14 +40870,14 @@ call 194 pith_cstring_release void 1 191 call 195 checker_diagnostics_report_error void 2 188 192 call 196 pith_cstring_release void 1 188 call 197 pith_cstring_release void 1 192 -jmp L1461 -label L1463 -label L1461 -jmp L1458 -label L1460 -label L1458 -jmp L1455 -label L1457 +jmp L1474 +label L1476 +label L1474 +jmp L1471 +label L1473 +label L1471 +jmp L1468 +label L1470 load 198 cn field 199 198 0 string kind strref 200 m13s724 @@ -40702,8 +40885,8 @@ call 202 pith_cstring_eq bool 2 199 200 iconst 203 1 sub 201 203 202 call 204 pith_cstring_release void 1 200 -brif 201 L1464 L1465 -label L1464 +brif 201 L1477 L1478 +label L1477 load 205 __loopvar_118_child load 206 scope_id call 207 checker_c_check_expr int 2 205 206 @@ -40712,14 +40895,14 @@ load 208 expr_tid call 209 types_is_error_type bool 1 208 iconst 210 0 eq 211 209 210 -brif 211 L1467 L1468 -label L1467 +brif 211 L1480 L1481 +label L1480 load 212 expr_tid call 213 checker_type_supports_stringify bool 1 212 iconst 214 0 eq 215 213 214 -brif 215 L1470 L1471 -label L1470 +brif 215 L1483 L1484 +label L1483 strref 216 m13s304 strref 217 m13s723 load 218 expr_tid @@ -40730,37 +40913,37 @@ call 222 pith_cstring_release void 1 219 call 223 checker_diagnostics_report_error void 2 216 220 call 224 pith_cstring_release void 1 216 call 225 pith_cstring_release void 1 220 -jmp L1469 -label L1471 -label L1469 -jmp L1466 +jmp L1482 +label L1484 +label L1482 +jmp L1479 +label L1481 +label L1479 +jmp L1468 +label L1478 label L1468 label L1466 -jmp L1455 -label L1465 -label L1455 -label L1453 load 226 __for_idx_118 iconst 227 1 add 228 226 227 store __for_idx_118 228 -jmp L1451 -label L1454 +jmp L1464 +label L1467 load 229 tid_string load 230 node call 231 pith_struct_release void 1 230 load 232 cn call 233 pith_struct_release void 1 232 ret 229 -label L1450 -label L1448 +label L1463 +label L1461 load 234 node field 235 234 0 string kind strref 236 m13s722 call 237 pith_cstring_eq bool 2 235 236 call 238 pith_cstring_release void 1 236 -brif 237 L1473 L1474 -label L1473 +brif 237 L1486 L1487 +label L1486 load 239 node load 240 scope_id call 241 checker_check_if_expression int 2 239 240 @@ -40769,15 +40952,15 @@ call 243 pith_struct_release void 1 242 load 244 cn call 245 pith_struct_release void 1 244 ret 241 -label L1474 -label L1472 +label L1487 +label L1485 load 246 node field 247 246 0 string kind strref 248 m13s300 call 249 pith_cstring_eq bool 2 247 248 call 250 pith_cstring_release void 1 248 -brif 249 L1476 L1477 -label L1476 +brif 249 L1489 L1490 +label L1489 load 251 node load 252 scope_id call 253 checker_check_function_call int 2 251 252 @@ -40786,15 +40969,15 @@ call 255 pith_struct_release void 1 254 load 256 cn call 257 pith_struct_release void 1 256 ret 253 -label L1477 -label L1475 +label L1490 +label L1488 load 258 node field 259 258 0 string kind strref 260 m13s382 call 261 pith_cstring_eq bool 2 259 260 call 262 pith_cstring_release void 1 260 -brif 261 L1479 L1480 -label L1479 +brif 261 L1492 L1493 +label L1492 load 263 node load 264 scope_id call 265 checker_check_method_call int 2 263 264 @@ -40803,15 +40986,15 @@ call 267 pith_struct_release void 1 266 load 268 cn call 269 pith_struct_release void 1 268 ret 265 -label L1480 -label L1478 +label L1493 +label L1491 load 270 node field 271 270 0 string kind strref 272 m13s292 call 273 pith_cstring_eq bool 2 271 272 call 274 pith_cstring_release void 1 272 -brif 273 L1482 L1483 -label L1482 +brif 273 L1495 L1496 +label L1495 load 275 node load 276 scope_id call 277 checker_check_field_access_expression int 2 275 276 @@ -40820,15 +41003,15 @@ call 279 pith_struct_release void 1 278 load 280 cn call 281 pith_struct_release void 1 280 ret 277 -label L1483 -label L1481 +label L1496 +label L1494 load 282 node field 283 282 0 string kind strref 284 m13s291 call 285 pith_cstring_eq bool 2 283 284 call 286 pith_cstring_release void 1 284 -brif 285 L1485 L1486 -label L1485 +brif 285 L1498 L1499 +label L1498 load 287 node load 288 scope_id call 289 checker_check_index_expression int 2 287 288 @@ -40837,15 +41020,15 @@ call 291 pith_struct_release void 1 290 load 292 cn call 293 pith_struct_release void 1 292 ret 289 -label L1486 -label L1484 +label L1499 +label L1497 load 294 node field 295 294 0 string kind strref 296 m13s721 call 297 pith_cstring_eq bool 2 295 296 call 298 pith_cstring_release void 1 296 -brif 297 L1488 L1489 -label L1488 +brif 297 L1501 L1502 +label L1501 load 299 node load 300 scope_id call 301 checker_check_unwrap_expression int 2 299 300 @@ -40854,15 +41037,15 @@ call 303 pith_struct_release void 1 302 load 304 cn call 305 pith_struct_release void 1 304 ret 301 -label L1489 -label L1487 +label L1502 +label L1500 load 306 node field 307 306 0 string kind strref 308 m13s720 call 309 pith_cstring_eq bool 2 307 308 call 310 pith_cstring_release void 1 308 -brif 309 L1491 L1492 -label L1491 +brif 309 L1504 L1505 +label L1504 load 311 node load 312 scope_id call 313 checker_check_try_expression int 2 311 312 @@ -40871,15 +41054,15 @@ call 315 pith_struct_release void 1 314 load 316 cn call 317 pith_struct_release void 1 316 ret 313 -label L1492 -label L1490 +label L1505 +label L1503 load 318 node field 319 318 0 string kind strref 320 m13s719 call 321 pith_cstring_eq bool 2 319 320 call 322 pith_cstring_release void 1 320 -brif 321 L1494 L1495 -label L1494 +brif 321 L1507 L1508 +label L1507 load 323 node load 324 scope_id call 325 checker_check_catch_expression int 2 323 324 @@ -40888,15 +41071,15 @@ call 327 pith_struct_release void 1 326 load 328 cn call 329 pith_struct_release void 1 328 ret 325 -label L1495 -label L1493 +label L1508 +label L1506 load 330 node field 331 330 0 string kind strref 332 m13s718 call 333 pith_cstring_eq bool 2 331 332 call 334 pith_cstring_release void 1 332 -brif 333 L1497 L1498 -label L1497 +brif 333 L1510 L1511 +label L1510 load 335 node load 336 scope_id call 337 checker_check_select_expression int 2 335 336 @@ -40905,15 +41088,15 @@ call 339 pith_struct_release void 1 338 load 340 cn call 341 pith_struct_release void 1 340 ret 337 -label L1498 -label L1496 +label L1511 +label L1509 load 342 node field 343 342 0 string kind strref 344 m13s717 call 345 pith_cstring_eq bool 2 343 344 call 346 pith_cstring_release void 1 344 -brif 345 L1500 L1501 -label L1500 +brif 345 L1513 L1514 +label L1513 load 347 node_idx load 348 scope_id call 349 checker_check_match_expression int 2 347 348 @@ -40922,15 +41105,15 @@ call 351 pith_struct_release void 1 350 load 352 cn call 353 pith_struct_release void 1 352 ret 349 -label L1501 -label L1499 +label L1514 +label L1512 load 354 node field 355 354 0 string kind strref 356 m13s716 call 357 pith_cstring_eq bool 2 355 356 call 358 pith_cstring_release void 1 356 -brif 357 L1503 L1504 -label L1503 +brif 357 L1516 L1517 +label L1516 load 359 node load 360 scope_id call 361 checker_check_lambda_expression int 2 359 360 @@ -40939,15 +41122,15 @@ call 363 pith_struct_release void 1 362 load 364 cn call 365 pith_struct_release void 1 364 ret 361 -label L1504 -label L1502 +label L1517 +label L1515 load 366 node field 367 366 0 string kind strref 368 m13s22 call 369 pith_cstring_eq bool 2 367 368 call 370 pith_cstring_release void 1 368 -brif 369 L1506 L1507 -label L1506 +brif 369 L1519 L1520 +label L1519 load 371 node load 372 scope_id call 373 checker_check_list_expression int 2 371 372 @@ -40956,15 +41139,15 @@ call 375 pith_struct_release void 1 374 load 376 cn call 377 pith_struct_release void 1 376 ret 373 -label L1507 -label L1505 +label L1520 +label L1518 load 378 node field 379 378 0 string kind strref 380 m13s20 call 381 pith_cstring_eq bool 2 379 380 call 382 pith_cstring_release void 1 380 -brif 381 L1509 L1510 -label L1509 +brif 381 L1522 L1523 +label L1522 load 383 node load 384 scope_id call 385 checker_check_map_expression int 2 383 384 @@ -40973,15 +41156,15 @@ call 387 pith_struct_release void 1 386 load 388 cn call 389 pith_struct_release void 1 388 ret 385 -label L1510 -label L1508 +label L1523 +label L1521 load 390 node field 391 390 0 string kind strref 392 m13s18 call 393 pith_cstring_eq bool 2 391 392 call 394 pith_cstring_release void 1 392 -brif 393 L1512 L1513 -label L1512 +brif 393 L1525 L1526 +label L1525 load 395 node load 396 scope_id call 397 checker_check_set_expression int 2 395 396 @@ -40990,15 +41173,15 @@ call 399 pith_struct_release void 1 398 load 400 cn call 401 pith_struct_release void 1 400 ret 397 -label L1513 -label L1511 +label L1526 +label L1524 load 402 node field 403 402 0 string kind strref 404 m13s27 call 405 pith_cstring_eq bool 2 403 404 call 406 pith_cstring_release void 1 404 -brif 405 L1515 L1516 -label L1515 +brif 405 L1528 L1529 +label L1528 load 407 node load 408 scope_id call 409 checker_check_tuple_expression int 2 407 408 @@ -41007,15 +41190,15 @@ call 411 pith_struct_release void 1 410 load 412 cn call 413 pith_struct_release void 1 412 ret 409 -label L1516 -label L1514 +label L1529 +label L1527 load 414 node field 415 414 0 string kind strref 416 m13s715 call 417 pith_cstring_eq bool 2 415 416 call 418 pith_cstring_release void 1 416 -brif 417 L1518 L1519 -label L1518 +brif 417 L1531 L1532 +label L1531 load 419 node load 420 scope_id call 421 checker_check_struct_initialization int 2 419 420 @@ -41024,15 +41207,15 @@ call 423 pith_struct_release void 1 422 load 424 cn call 425 pith_struct_release void 1 424 ret 421 -label L1519 -label L1517 +label L1532 +label L1530 load 426 node field 427 426 0 string kind strref 428 m13s714 call 429 pith_cstring_eq bool 2 427 428 call 430 pith_cstring_release void 1 428 -brif 429 L1521 L1522 -label L1521 +brif 429 L1534 L1535 +label L1534 load 431 node load 432 scope_id call 433 checker_check_spawn_expression int 2 431 432 @@ -41041,15 +41224,15 @@ call 435 pith_struct_release void 1 434 load 436 cn call 437 pith_struct_release void 1 436 ret 433 -label L1522 -label L1520 +label L1535 +label L1533 load 438 node field 439 438 0 string kind strref 440 m13s713 call 441 pith_cstring_eq bool 2 439 440 call 442 pith_cstring_release void 1 440 -brif 441 L1524 L1525 -label L1524 +brif 441 L1537 L1538 +label L1537 load 443 node load 444 scope_id call 445 checker_check_await_expression int 2 443 444 @@ -41058,8 +41241,8 @@ call 447 pith_struct_release void 1 446 load 448 cn call 449 pith_struct_release void 1 448 ret 445 -label L1525 -label L1523 +label L1538 +label L1536 load 450 types_TID_ERR load 451 node call 452 pith_struct_release void 1 451 @@ -41080,14 +41263,14 @@ store info 1 load 2 tid iconst 3 0 lt 4 2 3 -brif 4 L1527 L1528 -label L1527 +brif 4 L1540 L1541 +label L1540 iconst 5 0 load 6 info call 7 pith_struct_release void 1 6 ret 5 -label L1528 -label L1526 +label L1541 +label L1539 load 8 info load 9 tid call 10 types_get_type_info struct:TypeInfo 1 9 @@ -41098,267 +41281,267 @@ field 13 12 0 string kind strref 14 m13s32 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L1530 L1531 -label L1530 +brif 15 L1543 L1544 +label L1543 iconst 17 0 -store __or_17_1532 17 +store __or_17_1545 17 iconst 18 0 -store __or_18_1532 18 +store __or_18_1545 18 iconst 19 0 -store __or_19_1532 19 +store __or_19_1545 19 iconst 20 0 -store __or_20_1532 20 +store __or_20_1545 20 iconst 21 0 -store __or_21_1532 21 +store __or_21_1545 21 iconst 22 0 -store __or_22_1532 22 +store __or_22_1545 22 iconst 23 0 -store __or_23_1532 23 +store __or_23_1545 23 iconst 24 0 -store __or_24_1532 24 +store __or_24_1545 24 iconst 25 0 -store __or_25_1532 25 +store __or_25_1545 25 iconst 26 0 -store __or_26_1532 26 +store __or_26_1545 26 iconst 27 0 -store __or_27_1532 27 +store __or_27_1545 27 iconst 28 0 -store __or_28_1532 28 +store __or_28_1545 28 load 29 info field 30 29 8 string name strref 31 m13s11 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_28_1532 32 -brif 32 L1533 L1532 -label L1532 +store __or_28_1545 32 +brif 32 L1546 L1545 +label L1545 load 34 info field 35 34 8 string name strref 36 m13s15 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_28_1532 37 -label L1533 -load 39 __or_28_1532 -store __or_27_1532 39 -brif 39 L1535 L1534 -label L1534 +store __or_28_1545 37 +label L1546 +load 39 __or_28_1545 +store __or_27_1545 39 +brif 39 L1548 L1547 +label L1547 load 40 info field 41 40 8 string name strref 42 m13s14 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -store __or_27_1532 43 -label L1535 -load 45 __or_27_1532 -store __or_26_1532 45 -brif 45 L1537 L1536 -label L1536 +store __or_27_1545 43 +label L1548 +load 45 __or_27_1545 +store __or_26_1545 45 +brif 45 L1550 L1549 +label L1549 load 46 info field 47 46 8 string name strref 48 m13s8 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_26_1532 49 -label L1537 -load 51 __or_26_1532 -store __or_25_1532 51 -brif 51 L1539 L1538 -label L1538 +store __or_26_1545 49 +label L1550 +load 51 __or_26_1545 +store __or_25_1545 51 +brif 51 L1552 L1551 +label L1551 load 52 info field 53 52 8 string name strref 54 m13s7 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_25_1532 55 -label L1539 -load 57 __or_25_1532 -store __or_24_1532 57 -brif 57 L1541 L1540 -label L1540 +store __or_25_1545 55 +label L1552 +load 57 __or_25_1545 +store __or_24_1545 57 +brif 57 L1554 L1553 +label L1553 load 58 info field 59 58 8 string name strref 60 m13s6 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __or_24_1532 61 -label L1541 -load 63 __or_24_1532 -store __or_23_1532 63 -brif 63 L1543 L1542 -label L1542 +store __or_24_1545 61 +label L1554 +load 63 __or_24_1545 +store __or_23_1545 63 +brif 63 L1556 L1555 +label L1555 load 64 info field 65 64 8 string name strref 66 m13s5 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __or_23_1532 67 -label L1543 -load 69 __or_23_1532 -store __or_22_1532 69 -brif 69 L1545 L1544 -label L1544 +store __or_23_1545 67 +label L1556 +load 69 __or_23_1545 +store __or_22_1545 69 +brif 69 L1558 L1557 +label L1557 load 70 info field 71 70 8 string name strref 72 m13s4 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -store __or_22_1532 73 -label L1545 -load 75 __or_22_1532 -store __or_21_1532 75 -brif 75 L1547 L1546 -label L1546 +store __or_22_1545 73 +label L1558 +load 75 __or_22_1545 +store __or_21_1545 75 +brif 75 L1560 L1559 +label L1559 load 76 info field 77 76 8 string name strref 78 m13s3 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __or_21_1532 79 -label L1547 -load 81 __or_21_1532 -store __or_20_1532 81 -brif 81 L1549 L1548 -label L1548 +store __or_21_1545 79 +label L1560 +load 81 __or_21_1545 +store __or_20_1545 81 +brif 81 L1562 L1561 +label L1561 load 82 info field 83 82 8 string name strref 84 m13s2 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __or_20_1532 85 -label L1549 -load 87 __or_20_1532 -store __or_19_1532 87 -brif 87 L1551 L1550 -label L1550 +store __or_20_1545 85 +label L1562 +load 87 __or_20_1545 +store __or_19_1545 87 +brif 87 L1564 L1563 +label L1563 load 88 info field 89 88 8 string name strref 90 m13s1 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __or_19_1532 91 -label L1551 -load 93 __or_19_1532 -store __or_18_1532 93 -brif 93 L1553 L1552 -label L1552 +store __or_19_1545 91 +label L1564 +load 93 __or_19_1545 +store __or_18_1545 93 +brif 93 L1566 L1565 +label L1565 load 94 info field 95 94 8 string name strref 96 m13s13 call 97 pith_cstring_eq bool 2 95 96 call 98 pith_cstring_release void 1 96 -store __or_18_1532 97 -label L1553 -load 99 __or_18_1532 -store __or_17_1532 99 -brif 99 L1555 L1554 -label L1554 +store __or_18_1545 97 +label L1566 +load 99 __or_18_1545 +store __or_17_1545 99 +brif 99 L1568 L1567 +label L1567 load 100 info field 101 100 8 string name strref 102 m13s12 call 103 pith_cstring_eq bool 2 101 102 call 104 pith_cstring_release void 1 102 -store __or_17_1532 103 -label L1555 -load 105 __or_17_1532 +store __or_17_1545 103 +label L1568 +load 105 __or_17_1545 load 106 info call 107 pith_struct_release void 1 106 ret 105 -label L1531 -label L1529 +label L1544 +label L1542 load 108 info field 109 108 0 string kind strref 110 m13s28 call 111 pith_cstring_eq bool 2 109 110 call 112 pith_cstring_release void 1 110 -brif 111 L1557 L1558 -label L1557 +brif 111 L1570 L1571 +label L1570 iconst 113 0 -store __and_113_1559 113 +store __and_113_1572 113 load 114 info field 115 114 64 int inner call 116 checker_type_supports_stringify bool 1 115 -store __and_113_1559 116 -brif 116 L1559 L1560 -label L1559 +store __and_113_1572 116 +brif 116 L1572 L1573 +label L1572 load 117 info field 118 117 80 int value_type call 119 checker_type_supports_stringify bool 1 118 -store __and_113_1559 119 -label L1560 -load 120 __and_113_1559 +store __and_113_1572 119 +label L1573 +load 120 __and_113_1572 load 121 info call 122 pith_struct_release void 1 121 ret 120 -label L1558 -label L1556 +label L1571 +label L1569 iconst 123 0 -store __or_123_1564 123 +store __or_123_1577 123 load 124 info field 125 124 0 string kind strref 126 m13s22 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -store __or_123_1564 127 -brif 127 L1565 L1564 -label L1564 +store __or_123_1577 127 +brif 127 L1578 L1577 +label L1577 load 129 info field 130 129 0 string kind strref 131 m13s18 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -store __or_123_1564 132 -label L1565 -load 134 __or_123_1564 -brif 134 L1562 L1563 -label L1562 +store __or_123_1577 132 +label L1578 +load 134 __or_123_1577 +brif 134 L1575 L1576 +label L1575 load 135 info field 136 135 64 int inner call 137 checker_type_supports_stringify bool 1 136 load 138 info call 139 pith_struct_release void 1 138 ret 137 -label L1563 -label L1561 +label L1576 +label L1574 load 140 info field 141 140 0 string kind strref 142 m13s20 call 143 pith_cstring_eq bool 2 141 142 call 144 pith_cstring_release void 1 142 -brif 143 L1567 L1568 -label L1567 +brif 143 L1580 L1581 +label L1580 iconst 145 0 -store __and_145_1569 145 +store __and_145_1582 145 load 146 info field 147 146 72 int key_type call 148 checker_type_supports_stringify bool 1 147 -store __and_145_1569 148 -brif 148 L1569 L1570 -label L1569 +store __and_145_1582 148 +brif 148 L1582 L1583 +label L1582 load 149 info field 150 149 80 int value_type call 151 checker_type_supports_stringify bool 1 150 -store __and_145_1569 151 -label L1570 -load 152 __and_145_1569 +store __and_145_1582 151 +label L1583 +load 152 __and_145_1582 load 153 info call 154 pith_struct_release void 1 153 ret 152 -label L1568 -label L1566 +label L1581 +label L1579 load 155 info field 156 155 0 string kind strref 157 m13s34 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -brif 158 L1572 L1573 -label L1572 +brif 158 L1585 L1586 +label L1585 iconst 160 1 load 161 info call 162 pith_struct_release void 1 161 ret 160 -label L1573 -label L1571 +label L1586 +label L1584 iconst 163 0 load 164 info call 165 pith_struct_release void 1 164 @@ -41388,12 +41571,12 @@ iconst 12 0 store __for_idx_119 12 store __for_len_119 11 store __for_iter_119 10 -label L1574 +label L1587 load 13 __for_idx_119 load 14 __for_len_119 lt 15 13 14 -brif 15 L1575 L1577 -label L1575 +brif 15 L1588 L1590 +label L1588 load 16 __for_iter_119 load 17 __for_idx_119 call 18 pith_list_get_value_unchecked string 2 16 17 @@ -41401,23 +41584,23 @@ store __loopvar_119_w 18 load 19 __loopvar_119_w load 20 wildcard_needle call 21 pith_cstring_starts_with bool 2 19 20 -brif 21 L1579 L1580 -label L1579 +brif 21 L1592 L1593 +label L1592 iconst 22 1 load 23 wildcard_needle call 24 pith_cstring_release void 1 23 load 25 needle call 26 pith_cstring_release void 1 25 ret 22 -label L1580 -label L1578 -label L1576 +label L1593 +label L1591 +label L1589 load 27 __for_idx_119 iconst 28 1 add 29 27 28 store __for_idx_119 29 -jmp L1574 -label L1577 +jmp L1587 +label L1590 load 30 needle load 31 checker_current_checker_module_path iconst 32 9 @@ -41440,12 +41623,12 @@ iconst 47 0 store __for_idx_120 47 store __for_len_120 46 store __for_iter_120 45 -label L1581 +label L1594 load 48 __for_idx_120 load 49 __for_len_120 lt 50 48 49 -brif 50 L1582 L1584 -label L1582 +brif 50 L1595 L1597 +label L1595 load 51 __for_iter_120 load 52 __for_idx_120 call 53 pith_list_get_value_unchecked string 2 51 52 @@ -41453,23 +41636,23 @@ store __loopvar_120_entry 53 load 54 __loopvar_120_entry load 55 needle call 56 pith_cstring_starts_with bool 2 54 55 -brif 56 L1586 L1587 -label L1586 +brif 56 L1599 L1600 +label L1599 iconst 57 1 load 58 wildcard_needle call 59 pith_cstring_release void 1 58 load 60 needle call 61 pith_cstring_release void 1 60 ret 57 -label L1587 -label L1585 -label L1583 +label L1600 +label L1598 +label L1596 load 62 __for_idx_120 iconst 63 1 add 64 62 63 store __for_idx_120 64 -jmp L1581 -label L1584 +jmp L1594 +label L1597 iconst 65 0 load 66 wildcard_needle call 67 pith_cstring_release void 1 66 @@ -41494,22 +41677,22 @@ store tid 5 load 6 tid iconst 7 0 gte 8 6 7 -brif 8 L1589 L1590 -label L1589 +brif 8 L1602 L1603 +label L1602 load 9 scope_id load 10 name load 11 checker_current_checker_module_path call 12 scope_binding_visible_from bool 3 9 10 11 iconst 13 0 eq 14 12 13 -brif 14 L1592 L1593 -label L1592 +brif 14 L1605 L1606 +label L1605 load 15 name call 16 checker_current_module_imports_name bool 1 15 iconst 17 0 eq 18 16 17 -brif 18 L1595 L1596 -label L1595 +brif 18 L1608 L1609 +label L1608 load 19 node_idx strref 20 m13s550 strref 21 m13s349 @@ -41527,23 +41710,23 @@ call 32 pith_cstring_release void 1 26 call 33 pith_cstring_release void 1 29 load 34 types_TID_ERR ret 34 -label L1596 -label L1594 -jmp L1591 -label L1593 -label L1591 +label L1609 +label L1607 +jmp L1604 +label L1606 +label L1604 load 35 tid ret 35 -label L1590 -label L1588 +label L1603 +label L1601 load 36 name call 37 checker_has_generic_declaration bool 1 36 -brif 37 L1598 L1599 -label L1598 +brif 37 L1611 L1612 +label L1611 load 38 types_TID_ERR ret 38 -label L1599 -label L1597 +label L1612 +label L1610 load 39 node_idx strref 40 m13s550 strref 41 m13s710 @@ -41572,8 +41755,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L1601 L1602 -label L1601 +brif 9 L1614 L1615 +label L1614 load 10 types_TID_ERR load 11 op call 12 pith_cstring_release void 1 11 @@ -41582,8 +41765,8 @@ call 14 pith_struct_release void 1 13 load 15 right_node call 16 pith_struct_release void 1 15 ret 10 -label L1602 -label L1600 +label L1615 +label L1613 load 17 op load 18 node field 19 18 8 string value @@ -41602,8 +41785,8 @@ load 28 op strref 29 m13s709 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L1604 L1605 -label L1604 +brif 30 L1617 L1618 +label L1617 load 32 node load 33 scope_id call 34 checker_check_pipe_expression int 2 32 33 @@ -41614,8 +41797,8 @@ call 38 pith_struct_release void 1 37 load 39 right_node call 40 pith_struct_release void 1 39 ret 34 -label L1605 -label L1603 +label L1618 +label L1616 load 41 left_node load 42 node field 43 42 16 list children @@ -41647,43 +41830,43 @@ load 65 scope_id call 66 checker_c_check_expr int 2 64 65 store right 66 iconst 67 0 -store __or_67_1609 67 +store __or_67_1622 67 load 68 op strref 69 m13s694 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -store __or_67_1609 70 -brif 70 L1610 L1609 -label L1609 +store __or_67_1622 70 +brif 70 L1623 L1622 +label L1622 load 72 op strref 73 m13s692 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -store __or_67_1609 74 -label L1610 -load 76 __or_67_1609 -brif 76 L1607 L1608 -label L1607 +store __or_67_1622 74 +label L1623 +load 76 __or_67_1622 +brif 76 L1620 L1621 +label L1620 iconst 77 0 -store __and_77_1614 77 +store __and_77_1627 77 load 78 left_node field 79 78 0 string kind strref 80 m13s312 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -store __and_77_1614 81 -brif 81 L1614 L1615 -label L1614 +store __and_77_1627 81 +brif 81 L1627 L1628 +label L1627 load 83 right_node field 84 83 0 string kind strref 85 m13s312 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -store __and_77_1614 86 -label L1615 -load 88 __and_77_1614 -brif 88 L1612 L1613 -label L1612 +store __and_77_1627 86 +label L1628 +load 88 __and_77_1627 +brif 88 L1625 L1626 +label L1625 load 89 tid_bool load 90 op call 91 pith_cstring_release void 1 90 @@ -41692,34 +41875,34 @@ call 93 pith_struct_release void 1 92 load 94 right_node call 95 pith_struct_release void 1 94 ret 89 -label L1613 -label L1611 +label L1626 +label L1624 iconst 96 0 -store __and_96_1619 96 +store __and_96_1632 96 load 97 left_node field 98 97 0 string kind strref 99 m13s312 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_96_1619 100 -brif 100 L1619 L1620 -label L1619 +store __and_96_1632 100 +brif 100 L1632 L1633 +label L1632 load 102 right iconst 103 0 gte 104 102 103 -store __and_96_1619 104 -label L1620 -load 105 __and_96_1619 -brif 105 L1617 L1618 -label L1617 +store __and_96_1632 104 +label L1633 +load 105 __and_96_1632 +brif 105 L1630 L1631 +label L1630 load 106 right call 107 types_get_type_info struct:TypeInfo 1 106 field 108 107 0 string kind strref 109 m13s29 call 110 pith_cstring_eq bool 2 108 109 call 111 pith_cstring_release void 1 109 -brif 110 L1622 L1623 -label L1622 +brif 110 L1635 L1636 +label L1635 load 112 tid_bool load 113 op call 114 pith_cstring_release void 1 113 @@ -41728,37 +41911,37 @@ call 116 pith_struct_release void 1 115 load 117 right_node call 118 pith_struct_release void 1 117 ret 112 -label L1623 -label L1621 -jmp L1616 -label L1618 -label L1616 +label L1636 +label L1634 +jmp L1629 +label L1631 +label L1629 iconst 119 0 -store __and_119_1627 119 +store __and_119_1640 119 load 120 right_node field 121 120 0 string kind strref 122 m13s312 call 123 pith_cstring_eq bool 2 121 122 call 124 pith_cstring_release void 1 122 -store __and_119_1627 123 -brif 123 L1627 L1628 -label L1627 +store __and_119_1640 123 +brif 123 L1640 L1641 +label L1640 load 125 left iconst 126 0 gte 127 125 126 -store __and_119_1627 127 -label L1628 -load 128 __and_119_1627 -brif 128 L1625 L1626 -label L1625 +store __and_119_1640 127 +label L1641 +load 128 __and_119_1640 +brif 128 L1638 L1639 +label L1638 load 129 left call 130 types_get_type_info struct:TypeInfo 1 129 field 131 130 0 string kind strref 132 m13s29 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -brif 133 L1630 L1631 -label L1630 +brif 133 L1643 L1644 +label L1643 load 135 tid_bool load 136 op call 137 pith_cstring_release void 1 136 @@ -41767,18 +41950,18 @@ call 139 pith_struct_release void 1 138 load 140 right_node call 141 pith_struct_release void 1 140 ret 135 -label L1631 -label L1629 -jmp L1624 -label L1626 -label L1624 -jmp L1606 -label L1608 -label L1606 +label L1644 +label L1642 +jmp L1637 +label L1639 +label L1637 +jmp L1619 +label L1621 +label L1619 load 142 left call 143 types_is_error_type bool 1 142 -brif 143 L1633 L1634 -label L1633 +brif 143 L1646 L1647 +label L1646 load 144 types_TID_ERR load 145 op call 146 pith_cstring_release void 1 145 @@ -41787,12 +41970,12 @@ call 148 pith_struct_release void 1 147 load 149 right_node call 150 pith_struct_release void 1 149 ret 144 -label L1634 -label L1632 +label L1647 +label L1645 load 151 right call 152 types_is_error_type bool 1 151 -brif 152 L1636 L1637 -label L1636 +brif 152 L1649 L1650 +label L1649 load 153 types_TID_ERR load 154 op call 155 pith_cstring_release void 1 154 @@ -41801,24 +41984,24 @@ call 157 pith_struct_release void 1 156 load 158 right_node call 159 pith_struct_release void 1 158 ret 153 -label L1637 -label L1635 +label L1650 +label L1648 load 160 op strref 161 m13s480 call 162 pith_cstring_eq bool 2 160 161 call 163 pith_cstring_release void 1 161 -brif 162 L1639 L1640 -label L1639 +brif 162 L1652 L1653 +label L1652 load 164 left load 165 tid_string eq 166 164 165 -brif 166 L1642 L1643 -label L1642 +brif 166 L1655 L1656 +label L1655 load 167 right load 168 tid_string eq 169 167 168 -brif 169 L1645 L1646 -label L1645 +brif 169 L1658 L1659 +label L1658 load 170 tid_string load 171 op call 172 pith_cstring_release void 1 171 @@ -41827,26 +42010,26 @@ call 174 pith_struct_release void 1 173 load 175 right_node call 176 pith_struct_release void 1 175 ret 170 -label L1646 -label L1644 -jmp L1641 -label L1643 -label L1641 -jmp L1638 -label L1640 -label L1638 +label L1659 +label L1657 +jmp L1654 +label L1656 +label L1654 +jmp L1651 +label L1653 +label L1651 load 177 op strref 178 m13s480 call 179 pith_cstring_eq bool 2 177 178 call 180 pith_cstring_release void 1 178 -brif 179 L1648 L1649 -label L1648 +brif 179 L1661 L1662 +label L1661 load 181 left call 182 types_is_numeric_type bool 1 181 iconst 183 0 eq 184 182 183 -brif 184 L1651 L1652 -label L1651 +brif 184 L1664 L1665 +label L1664 strref 185 m13s413 strref 186 m13s708 load 187 left @@ -41865,13 +42048,13 @@ call 199 pith_struct_release void 1 198 load 200 right_node call 201 pith_struct_release void 1 200 ret 195 -label L1652 -label L1650 +label L1665 +label L1663 load 202 left load 203 right neq 204 202 203 -brif 204 L1654 L1655 -label L1654 +brif 204 L1667 L1668 +label L1667 strref 205 m13s413 strref 206 m13s707 load 207 left @@ -41899,8 +42082,8 @@ call 228 pith_struct_release void 1 227 load 229 right_node call 230 pith_struct_release void 1 229 ret 224 -label L1655 -label L1653 +label L1668 +label L1666 load 231 left load 232 op call 233 pith_cstring_release void 1 232 @@ -41909,20 +42092,20 @@ call 235 pith_struct_release void 1 234 load 236 right_node call 237 pith_struct_release void 1 236 ret 231 -label L1649 -label L1647 +label L1662 +label L1660 load 238 op strref 239 m13s706 call 240 pith_cstring_eq bool 2 238 239 call 241 pith_cstring_release void 1 239 -brif 240 L1657 L1658 -label L1657 +brif 240 L1670 L1671 +label L1670 load 242 left call 243 types_is_numeric_type bool 1 242 iconst 244 0 eq 245 243 244 -brif 245 L1660 L1661 -label L1660 +brif 245 L1673 L1674 +label L1673 strref 246 m13s413 strref 247 m13s705 load 248 left @@ -41941,13 +42124,13 @@ call 260 pith_struct_release void 1 259 load 261 right_node call 262 pith_struct_release void 1 261 ret 256 -label L1661 -label L1659 +label L1674 +label L1672 load 263 left load 264 right neq 265 263 264 -brif 265 L1663 L1664 -label L1663 +brif 265 L1676 L1677 +label L1676 strref 266 m13s413 strref 267 m13s704 load 268 left @@ -41975,8 +42158,8 @@ call 289 pith_struct_release void 1 288 load 290 right_node call 291 pith_struct_release void 1 290 ret 285 -label L1664 -label L1662 +label L1677 +label L1675 load 292 left load 293 op call 294 pith_cstring_release void 1 293 @@ -41985,20 +42168,20 @@ call 296 pith_struct_release void 1 295 load 297 right_node call 298 pith_struct_release void 1 297 ret 292 -label L1658 -label L1656 +label L1671 +label L1669 load 299 op strref 300 m13s703 call 301 pith_cstring_eq bool 2 299 300 call 302 pith_cstring_release void 1 300 -brif 301 L1666 L1667 -label L1666 +brif 301 L1679 L1680 +label L1679 load 303 left call 304 types_is_numeric_type bool 1 303 iconst 305 0 eq 306 304 305 -brif 306 L1669 L1670 -label L1669 +brif 306 L1682 L1683 +label L1682 strref 307 m13s413 strref 308 m13s702 load 309 left @@ -42017,13 +42200,13 @@ call 321 pith_struct_release void 1 320 load 322 right_node call 323 pith_struct_release void 1 322 ret 317 -label L1670 -label L1668 +label L1683 +label L1681 load 324 left load 325 right neq 326 324 325 -brif 326 L1672 L1673 -label L1672 +brif 326 L1685 L1686 +label L1685 strref 327 m13s413 strref 328 m13s701 load 329 left @@ -42051,8 +42234,8 @@ call 350 pith_struct_release void 1 349 load 351 right_node call 352 pith_struct_release void 1 351 ret 346 -label L1673 -label L1671 +label L1686 +label L1684 load 353 left load 354 op call 355 pith_cstring_release void 1 354 @@ -42061,20 +42244,20 @@ call 357 pith_struct_release void 1 356 load 358 right_node call 359 pith_struct_release void 1 358 ret 353 -label L1667 -label L1665 +label L1680 +label L1678 load 360 op strref 361 m13s700 call 362 pith_cstring_eq bool 2 360 361 call 363 pith_cstring_release void 1 361 -brif 362 L1675 L1676 -label L1675 +brif 362 L1688 L1689 +label L1688 load 364 left call 365 types_is_numeric_type bool 1 364 iconst 366 0 eq 367 365 366 -brif 367 L1678 L1679 -label L1678 +brif 367 L1691 L1692 +label L1691 strref 368 m13s413 strref 369 m13s699 load 370 left @@ -42093,13 +42276,13 @@ call 382 pith_struct_release void 1 381 load 383 right_node call 384 pith_struct_release void 1 383 ret 378 -label L1679 -label L1677 +label L1692 +label L1690 load 385 left load 386 right neq 387 385 386 -brif 387 L1681 L1682 -label L1681 +brif 387 L1694 L1695 +label L1694 strref 388 m13s413 strref 389 m13s698 load 390 left @@ -42127,8 +42310,8 @@ call 411 pith_struct_release void 1 410 load 412 right_node call 413 pith_struct_release void 1 412 ret 407 -label L1682 -label L1680 +label L1695 +label L1693 load 414 left load 415 op call 416 pith_cstring_release void 1 415 @@ -42137,20 +42320,20 @@ call 418 pith_struct_release void 1 417 load 419 right_node call 420 pith_struct_release void 1 419 ret 414 -label L1676 -label L1674 +label L1689 +label L1687 load 421 op strref 422 m13s697 call 423 pith_cstring_eq bool 2 421 422 call 424 pith_cstring_release void 1 422 -brif 423 L1684 L1685 -label L1684 +brif 423 L1697 L1698 +label L1697 load 425 left call 426 types_is_integer_type bool 1 425 iconst 427 0 eq 428 426 427 -brif 428 L1687 L1688 -label L1687 +brif 428 L1700 L1701 +label L1700 strref 429 m13s413 strref 430 m13s696 load 431 left @@ -42169,13 +42352,13 @@ call 443 pith_struct_release void 1 442 load 444 right_node call 445 pith_struct_release void 1 444 ret 439 -label L1688 -label L1686 +label L1701 +label L1699 load 446 left load 447 right neq 448 446 447 -brif 448 L1690 L1691 -label L1690 +brif 448 L1703 L1704 +label L1703 strref 449 m13s413 strref 450 m13s695 load 451 left @@ -42203,8 +42386,8 @@ call 472 pith_struct_release void 1 471 load 473 right_node call 474 pith_struct_release void 1 473 ret 468 -label L1691 -label L1689 +label L1704 +label L1702 load 475 left load 476 op call 477 pith_cstring_release void 1 476 @@ -42213,32 +42396,32 @@ call 479 pith_struct_release void 1 478 load 480 right_node call 481 pith_struct_release void 1 480 ret 475 -label L1685 -label L1683 +label L1698 +label L1696 load 482 op strref 483 m13s694 call 484 pith_cstring_eq bool 2 482 483 call 485 pith_cstring_release void 1 483 -brif 484 L1693 L1694 -label L1693 +brif 484 L1706 L1707 +label L1706 iconst 486 0 -store __and_486_1698 486 +store __and_486_1711 486 load 487 left load 488 right neq 489 487 488 -store __and_486_1698 489 -brif 489 L1698 L1699 -label L1698 +store __and_486_1711 489 +brif 489 L1711 L1712 +label L1711 load 490 left load 491 right call 492 checker_optional_types_match bool 2 490 491 iconst 493 0 eq 494 492 493 -store __and_486_1698 494 -label L1699 -load 495 __and_486_1698 -brif 495 L1696 L1697 -label L1696 +store __and_486_1711 494 +label L1712 +load 495 __and_486_1711 +brif 495 L1709 L1710 +label L1709 strref 496 m13s413 strref 497 m13s693 load 498 left @@ -42266,8 +42449,8 @@ call 519 pith_struct_release void 1 518 load 520 right_node call 521 pith_struct_release void 1 520 ret 515 -label L1697 -label L1695 +label L1710 +label L1708 load 522 tid_bool load 523 op call 524 pith_cstring_release void 1 523 @@ -42276,32 +42459,32 @@ call 526 pith_struct_release void 1 525 load 527 right_node call 528 pith_struct_release void 1 527 ret 522 -label L1694 -label L1692 +label L1707 +label L1705 load 529 op strref 530 m13s692 call 531 pith_cstring_eq bool 2 529 530 call 532 pith_cstring_release void 1 530 -brif 531 L1701 L1702 -label L1701 +brif 531 L1714 L1715 +label L1714 iconst 533 0 -store __and_533_1706 533 +store __and_533_1719 533 load 534 left load 535 right neq 536 534 535 -store __and_533_1706 536 -brif 536 L1706 L1707 -label L1706 +store __and_533_1719 536 +brif 536 L1719 L1720 +label L1719 load 537 left load 538 right call 539 checker_optional_types_match bool 2 537 538 iconst 540 0 eq 541 539 540 -store __and_533_1706 541 -label L1707 -load 542 __and_533_1706 -brif 542 L1704 L1705 -label L1704 +store __and_533_1719 541 +label L1720 +load 542 __and_533_1719 +brif 542 L1717 L1718 +label L1717 strref 543 m13s413 strref 544 m13s691 load 545 left @@ -42329,8 +42512,8 @@ call 566 pith_struct_release void 1 565 load 567 right_node call 568 pith_struct_release void 1 567 ret 562 -label L1705 -label L1703 +label L1718 +label L1716 load 569 tid_bool load 570 op call 571 pith_cstring_release void 1 570 @@ -42339,25 +42522,25 @@ call 573 pith_struct_release void 1 572 load 574 right_node call 575 pith_struct_release void 1 574 ret 569 -label L1702 -label L1700 +label L1715 +label L1713 load 576 op strref 577 m13s690 call 578 pith_cstring_eq bool 2 576 577 call 579 pith_cstring_release void 1 577 -brif 578 L1709 L1710 -label L1709 +brif 578 L1722 L1723 +label L1722 load 580 left call 581 types_is_numeric_type bool 1 580 iconst 582 0 eq 583 581 582 -brif 583 L1712 L1713 -label L1712 +brif 583 L1725 L1726 +label L1725 load 584 left load 585 tid_string neq 586 584 585 -brif 586 L1715 L1716 -label L1715 +brif 586 L1728 L1729 +label L1728 strref 587 m13s413 strref 588 m13s689 load 589 left @@ -42376,16 +42559,16 @@ call 601 pith_struct_release void 1 600 load 602 right_node call 603 pith_struct_release void 1 602 ret 597 -label L1716 -label L1714 -jmp L1711 -label L1713 -label L1711 +label L1729 +label L1727 +jmp L1724 +label L1726 +label L1724 load 604 left load 605 right neq 606 604 605 -brif 606 L1718 L1719 -label L1718 +brif 606 L1731 L1732 +label L1731 strref 607 m13s413 strref 608 m13s688 load 609 left @@ -42413,8 +42596,8 @@ call 630 pith_struct_release void 1 629 load 631 right_node call 632 pith_struct_release void 1 631 ret 626 -label L1719 -label L1717 +label L1732 +label L1730 load 633 tid_bool load 634 op call 635 pith_cstring_release void 1 634 @@ -42423,25 +42606,25 @@ call 637 pith_struct_release void 1 636 load 638 right_node call 639 pith_struct_release void 1 638 ret 633 -label L1710 -label L1708 +label L1723 +label L1721 load 640 op strref 641 m13s687 call 642 pith_cstring_eq bool 2 640 641 call 643 pith_cstring_release void 1 641 -brif 642 L1721 L1722 -label L1721 +brif 642 L1734 L1735 +label L1734 load 644 left call 645 types_is_numeric_type bool 1 644 iconst 646 0 eq 647 645 646 -brif 647 L1724 L1725 -label L1724 +brif 647 L1737 L1738 +label L1737 load 648 left load 649 tid_string neq 650 648 649 -brif 650 L1727 L1728 -label L1727 +brif 650 L1740 L1741 +label L1740 strref 651 m13s413 strref 652 m13s686 load 653 left @@ -42460,16 +42643,16 @@ call 665 pith_struct_release void 1 664 load 666 right_node call 667 pith_struct_release void 1 666 ret 661 -label L1728 -label L1726 -jmp L1723 -label L1725 -label L1723 +label L1741 +label L1739 +jmp L1736 +label L1738 +label L1736 load 668 left load 669 right neq 670 668 669 -brif 670 L1730 L1731 -label L1730 +brif 670 L1743 L1744 +label L1743 strref 671 m13s413 strref 672 m13s685 load 673 left @@ -42497,8 +42680,8 @@ call 694 pith_struct_release void 1 693 load 695 right_node call 696 pith_struct_release void 1 695 ret 690 -label L1731 -label L1729 +label L1744 +label L1742 load 697 tid_bool load 698 op call 699 pith_cstring_release void 1 698 @@ -42507,25 +42690,25 @@ call 701 pith_struct_release void 1 700 load 702 right_node call 703 pith_struct_release void 1 702 ret 697 -label L1722 -label L1720 +label L1735 +label L1733 load 704 op strref 705 m13s684 call 706 pith_cstring_eq bool 2 704 705 call 707 pith_cstring_release void 1 705 -brif 706 L1733 L1734 -label L1733 +brif 706 L1746 L1747 +label L1746 load 708 left call 709 types_is_numeric_type bool 1 708 iconst 710 0 eq 711 709 710 -brif 711 L1736 L1737 -label L1736 +brif 711 L1749 L1750 +label L1749 load 712 left load 713 tid_string neq 714 712 713 -brif 714 L1739 L1740 -label L1739 +brif 714 L1752 L1753 +label L1752 strref 715 m13s413 strref 716 m13s683 load 717 left @@ -42544,16 +42727,16 @@ call 729 pith_struct_release void 1 728 load 730 right_node call 731 pith_struct_release void 1 730 ret 725 -label L1740 -label L1738 -jmp L1735 -label L1737 -label L1735 +label L1753 +label L1751 +jmp L1748 +label L1750 +label L1748 load 732 left load 733 right neq 734 732 733 -brif 734 L1742 L1743 -label L1742 +brif 734 L1755 L1756 +label L1755 strref 735 m13s413 strref 736 m13s682 load 737 left @@ -42581,8 +42764,8 @@ call 758 pith_struct_release void 1 757 load 759 right_node call 760 pith_struct_release void 1 759 ret 754 -label L1743 -label L1741 +label L1756 +label L1754 load 761 tid_bool load 762 op call 763 pith_cstring_release void 1 762 @@ -42591,25 +42774,25 @@ call 765 pith_struct_release void 1 764 load 766 right_node call 767 pith_struct_release void 1 766 ret 761 -label L1734 -label L1732 +label L1747 +label L1745 load 768 op strref 769 m13s681 call 770 pith_cstring_eq bool 2 768 769 call 771 pith_cstring_release void 1 769 -brif 770 L1745 L1746 -label L1745 +brif 770 L1758 L1759 +label L1758 load 772 left call 773 types_is_numeric_type bool 1 772 iconst 774 0 eq 775 773 774 -brif 775 L1748 L1749 -label L1748 +brif 775 L1761 L1762 +label L1761 load 776 left load 777 tid_string neq 778 776 777 -brif 778 L1751 L1752 -label L1751 +brif 778 L1764 L1765 +label L1764 strref 779 m13s413 strref 780 m13s680 load 781 left @@ -42628,16 +42811,16 @@ call 793 pith_struct_release void 1 792 load 794 right_node call 795 pith_struct_release void 1 794 ret 789 -label L1752 -label L1750 -jmp L1747 -label L1749 -label L1747 +label L1765 +label L1763 +jmp L1760 +label L1762 +label L1760 load 796 left load 797 right neq 798 796 797 -brif 798 L1754 L1755 -label L1754 +brif 798 L1767 L1768 +label L1767 strref 799 m13s413 strref 800 m13s679 load 801 left @@ -42665,8 +42848,8 @@ call 822 pith_struct_release void 1 821 load 823 right_node call 824 pith_struct_release void 1 823 ret 818 -label L1755 -label L1753 +label L1768 +label L1766 load 825 tid_bool load 826 op call 827 pith_cstring_release void 1 826 @@ -42675,19 +42858,19 @@ call 829 pith_struct_release void 1 828 load 830 right_node call 831 pith_struct_release void 1 830 ret 825 -label L1746 -label L1744 +label L1759 +label L1757 load 832 op strref 833 m13s678 call 834 pith_cstring_eq bool 2 832 833 call 835 pith_cstring_release void 1 833 -brif 834 L1757 L1758 -label L1757 +brif 834 L1770 L1771 +label L1770 load 836 left load 837 tid_bool neq 838 836 837 -brif 838 L1760 L1761 -label L1760 +brif 838 L1773 L1774 +label L1773 strref 839 m13s413 strref 840 m13s677 load 841 left @@ -42706,13 +42889,13 @@ call 853 pith_struct_release void 1 852 load 854 right_node call 855 pith_struct_release void 1 854 ret 849 -label L1761 -label L1759 +label L1774 +label L1772 load 856 right load 857 tid_bool neq 858 856 857 -brif 858 L1763 L1764 -label L1763 +brif 858 L1776 L1777 +label L1776 strref 859 m13s413 strref 860 m13s677 load 861 right @@ -42731,8 +42914,8 @@ call 873 pith_struct_release void 1 872 load 874 right_node call 875 pith_struct_release void 1 874 ret 869 -label L1764 -label L1762 +label L1777 +label L1775 load 876 tid_bool load 877 op call 878 pith_cstring_release void 1 877 @@ -42741,19 +42924,19 @@ call 880 pith_struct_release void 1 879 load 881 right_node call 882 pith_struct_release void 1 881 ret 876 -label L1758 -label L1756 +label L1771 +label L1769 load 883 op strref 884 m13s676 call 885 pith_cstring_eq bool 2 883 884 call 886 pith_cstring_release void 1 884 -brif 885 L1766 L1767 -label L1766 +brif 885 L1779 L1780 +label L1779 load 887 left load 888 tid_bool neq 889 887 888 -brif 889 L1769 L1770 -label L1769 +brif 889 L1782 L1783 +label L1782 strref 890 m13s413 strref 891 m13s675 load 892 left @@ -42772,13 +42955,13 @@ call 904 pith_struct_release void 1 903 load 905 right_node call 906 pith_struct_release void 1 905 ret 900 -label L1770 -label L1768 +label L1783 +label L1781 load 907 right load 908 tid_bool neq 909 907 908 -brif 909 L1772 L1773 -label L1772 +brif 909 L1785 L1786 +label L1785 strref 910 m13s413 strref 911 m13s675 load 912 right @@ -42797,8 +42980,8 @@ call 924 pith_struct_release void 1 923 load 925 right_node call 926 pith_struct_release void 1 925 ret 920 -label L1773 -label L1771 +label L1786 +label L1784 load 927 tid_bool load 928 op call 929 pith_cstring_release void 1 928 @@ -42807,8 +42990,8 @@ call 931 pith_struct_release void 1 930 load 932 right_node call 933 pith_struct_release void 1 932 ret 927 -label L1767 -label L1765 +label L1780 +label L1778 load 934 types_TID_ERR load 935 op call 936 pith_cstring_release void 1 935 @@ -42844,8 +43027,8 @@ call 10 checker_c_check_expr int 2 8 9 store left 10 load 11 left call 12 types_is_error_type bool 1 11 -brif 12 L1775 L1776 -label L1775 +brif 12 L1788 L1789 +label L1788 load 13 types_TID_ERR load 14 rhs_node call 15 pith_struct_release void 1 14 @@ -42854,8 +43037,8 @@ call 17 pith_cstring_release void 1 16 load 18 fn_info call 19 pith_struct_release void 1 18 ret 13 -label L1776 -label L1774 +label L1789 +label L1787 load 20 rhs_node load 21 node field 22 21 16 list children @@ -42871,8 +43054,8 @@ 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 L1778 L1779 -label L1778 +brif 30 L1791 L1792 +label L1791 strref 34 m13s579 strref 35 m13s674 call 36 checker_diagnostics_report_error void 2 34 35 @@ -42886,8 +43069,8 @@ call 43 pith_cstring_release void 1 42 load 44 fn_info call 45 pith_struct_release void 1 44 ret 39 -label L1779 -label L1777 +label L1792 +label L1790 load 46 fn_name load 47 rhs_node field 48 47 8 string value @@ -42901,8 +43084,8 @@ store fn_tid 53 load 54 fn_tid iconst 55 0 lt 56 54 55 -brif 56 L1781 L1782 -label L1781 +brif 56 L1794 L1795 +label L1794 strref 57 m13s550 strref 58 m13s554 load 59 fn_name @@ -42919,8 +43102,8 @@ call 69 pith_cstring_release void 1 68 load 70 fn_info call 71 pith_struct_release void 1 70 ret 65 -label L1782 -label L1780 +label L1795 +label L1793 load 72 fn_info load 73 fn_tid call 74 types_get_type_info struct:TypeInfo 1 73 @@ -42933,8 +43116,8 @@ call 80 pith_cstring_eq bool 2 77 78 iconst 81 1 sub 79 81 80 call 82 pith_cstring_release void 1 78 -brif 79 L1784 L1785 -label L1784 +brif 79 L1797 L1798 +label L1797 strref 83 m13s579 strref 84 m13s349 load 85 fn_name @@ -42955,15 +43138,15 @@ call 99 pith_cstring_release void 1 98 load 100 fn_info call 101 pith_struct_release void 1 100 ret 95 -label L1785 -label L1783 +label L1798 +label L1796 load 102 fn_info field 103 102 48 list param_types call 104 pith_list_len int 1 103 iconst 105 1 neq 106 104 105 -brif 106 L1787 L1788 -label L1787 +brif 106 L1800 L1801 +label L1800 strref 107 m13s307 strref 108 m13s672 load 109 fn_name @@ -42984,16 +43167,16 @@ call 123 pith_cstring_release void 1 122 load 124 fn_info call 125 pith_struct_release void 1 124 ret 119 -label L1788 -label L1786 +label L1801 +label L1799 load 126 left load 127 fn_info field 128 127 48 list param_types iconst 129 0 call 130 pith_list_get_value_strict int 2 128 129 neq 131 126 130 -brif 131 L1790 L1791 -label L1790 +brif 131 L1803 L1804 +label L1803 strref 132 m13s375 strref 133 m13s670 load 134 fn_info @@ -43024,8 +43207,8 @@ call 158 pith_cstring_release void 1 157 load 159 fn_info call 160 pith_struct_release void 1 159 ret 154 -label L1791 -label L1789 +label L1804 +label L1802 load 161 fn_info field 162 161 56 int return_type load 163 rhs_node @@ -43058,14 +43241,14 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 1 lt 10 8 9 -brif 10 L1793 L1794 -label L1793 +brif 10 L1806 L1807 +label L1806 load 11 types_TID_ERR load 12 op call 13 pith_cstring_release void 1 12 ret 11 -label L1794 -label L1792 +label L1807 +label L1805 load 14 node field 15 14 16 list children iconst 16 0 @@ -43075,14 +43258,14 @@ call 19 checker_c_check_expr int 2 17 18 store operand 19 load 20 operand call 21 types_is_error_type bool 1 20 -brif 21 L1796 L1797 -label L1796 +brif 21 L1809 L1810 +label L1809 load 22 types_TID_ERR load 23 op call 24 pith_cstring_release void 1 23 ret 22 -label L1797 -label L1795 +label L1810 +label L1808 load 25 op load 26 node field 27 26 8 string value @@ -43093,14 +43276,14 @@ load 30 op strref 31 m13s669 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L1799 L1800 -label L1799 +brif 32 L1812 L1813 +label L1812 load 34 operand call 35 types_is_numeric_type bool 1 34 iconst 36 0 eq 37 35 36 -brif 37 L1802 L1803 -label L1802 +brif 37 L1815 L1816 +label L1815 strref 38 m13s413 strref 39 m13s668 load 40 operand @@ -43115,25 +43298,25 @@ load 48 types_TID_ERR load 49 op call 50 pith_cstring_release void 1 49 ret 48 -label L1803 -label L1801 +label L1816 +label L1814 load 51 operand load 52 op call 53 pith_cstring_release void 1 52 ret 51 -label L1800 -label L1798 +label L1813 +label L1811 load 54 op strref 55 m13s667 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L1805 L1806 -label L1805 +brif 56 L1818 L1819 +label L1818 load 58 operand load 59 tid_bool neq 60 58 59 -brif 60 L1808 L1809 -label L1808 +brif 60 L1821 L1822 +label L1821 strref 61 m13s413 strref 62 m13s666 load 63 operand @@ -43148,14 +43331,14 @@ load 71 types_TID_ERR load 72 op call 73 pith_cstring_release void 1 72 ret 71 -label L1809 -label L1807 +label L1822 +label L1820 load 74 tid_bool load 75 op call 76 pith_cstring_release void 1 75 ret 74 -label L1806 -label L1804 +label L1819 +label L1817 load 77 types_TID_ERR load 78 op call 79 pith_cstring_release void 1 78 @@ -43173,7 +43356,7 @@ store base_node 2 iconst 3 0 store recv_node 3 iconst 4 0 -store __or_4_1813 4 +store __or_4_1826 4 load 5 index_node field 6 5 0 string kind strref 7 m13s291 @@ -43181,27 +43364,27 @@ call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 call 11 pith_cstring_release void 1 7 -store __or_4_1813 8 -brif 8 L1814 L1813 -label L1813 +store __or_4_1826 8 +brif 8 L1827 L1826 +label L1826 load 12 index_node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -store __or_4_1813 16 -label L1814 -load 17 __or_4_1813 -brif 17 L1811 L1812 -label L1811 +store __or_4_1826 16 +label L1827 +load 17 __or_4_1826 +brif 17 L1824 L1825 +label L1824 iconst 18 0 load 19 base_node call 20 pith_struct_release void 1 19 load 21 recv_node call 22 pith_struct_release void 1 21 ret 18 -label L1812 -label L1810 +label L1825 +label L1823 load 23 base_node load 24 index_node field 25 24 16 list children @@ -43211,7 +43394,7 @@ call 28 ast_get_node struct:Node 1 27 call 29 pith_struct_release void 1 23 store base_node 28 iconst 30 0 -store __or_30_1818 30 +store __or_30_1831 30 load 31 base_node field 32 31 0 string kind strref 33 m13s292 @@ -43219,43 +43402,43 @@ call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 call 37 pith_cstring_release void 1 33 -store __or_30_1818 34 -brif 34 L1819 L1818 -label L1818 +store __or_30_1831 34 +brif 34 L1832 L1831 +label L1831 load 38 base_node field 39 38 8 string value load 40 member_name call 42 pith_cstring_eq bool 2 39 40 iconst 43 1 sub 41 43 42 -store __or_30_1818 41 -label L1819 -load 44 __or_30_1818 -brif 44 L1816 L1817 -label L1816 +store __or_30_1831 41 +label L1832 +load 44 __or_30_1831 +brif 44 L1829 L1830 +label L1829 iconst 45 0 load 46 base_node call 47 pith_struct_release void 1 46 load 48 recv_node call 49 pith_struct_release void 1 48 ret 45 -label L1817 -label L1815 +label L1830 +label L1828 load 50 base_node field 51 50 16 list children call 52 pith_list_len int 1 51 iconst 53 1 lt 54 52 53 -brif 54 L1821 L1822 -label L1821 +brif 54 L1834 L1835 +label L1834 iconst 55 0 load 56 base_node call 57 pith_struct_release void 1 56 load 58 recv_node call 59 pith_struct_release void 1 58 ret 55 -label L1822 -label L1820 +label L1835 +label L1833 load 60 recv_node load 61 base_node field 62 61 16 list children @@ -43271,22 +43454,22 @@ call 71 pith_cstring_eq bool 2 68 69 iconst 72 1 sub 70 72 71 call 73 pith_cstring_release void 1 69 -brif 70 L1824 L1825 -label L1824 +brif 70 L1837 L1838 +label L1837 iconst 74 0 load 75 base_node call 76 pith_struct_release void 1 75 load 77 recv_node call 78 pith_struct_release void 1 77 ret 74 -label L1825 -label L1823 +label L1838 +label L1836 load 79 checker_module_aliases load 80 recv_node field 81 80 8 string value call 82 contains_key bool 2 79 81 -brif 82 L1827 L1828 -label L1827 +brif 82 L1840 L1841 +label L1840 load 83 checker_module_aliases load 84 recv_node field 85 84 8 string value @@ -43294,37 +43477,37 @@ call 86 map_get_strict string 2 83 85 strref 87 m13s122 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 -brif 88 L1830 L1831 -label L1830 +brif 88 L1843 L1844 +label L1843 iconst 90 1 load 91 base_node call 92 pith_struct_release void 1 91 load 93 recv_node call 94 pith_struct_release void 1 93 ret 90 -label L1831 -label L1829 -jmp L1826 -label L1828 -label L1826 +label L1844 +label L1842 +jmp L1839 +label L1841 +label L1839 iconst 95 0 -store __or_95_1832 95 +store __or_95_1845 95 load 96 recv_node field 97 96 8 string value strref 98 m13s665 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __or_95_1832 99 -brif 99 L1833 L1832 -label L1832 +store __or_95_1845 99 +brif 99 L1846 L1845 +label L1845 load 101 recv_node field 102 101 8 string value strref 103 m13s664 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __or_95_1832 104 -label L1833 -load 106 __or_95_1832 +store __or_95_1845 104 +label L1846 +load 106 __or_95_1845 load 107 base_node call 108 pith_struct_release void 1 107 load 109 recv_node @@ -43345,7 +43528,7 @@ store base_node 2 iconst 3 0 store recv_node 3 iconst 4 0 -store __or_4_1837 4 +store __or_4_1850 4 load 5 index_node field 6 5 0 string kind strref 7 m13s291 @@ -43353,27 +43536,27 @@ call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 call 11 pith_cstring_release void 1 7 -store __or_4_1837 8 -brif 8 L1838 L1837 -label L1837 +store __or_4_1850 8 +brif 8 L1851 L1850 +label L1850 load 12 index_node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -store __or_4_1837 16 -label L1838 -load 17 __or_4_1837 -brif 17 L1835 L1836 -label L1835 +store __or_4_1850 16 +label L1851 +load 17 __or_4_1850 +brif 17 L1848 L1849 +label L1848 iconst 18 0 load 19 base_node call 20 pith_struct_release void 1 19 load 21 recv_node call 22 pith_struct_release void 1 21 ret 18 -label L1836 -label L1834 +label L1849 +label L1847 load 23 base_node load 24 index_node field 25 24 16 list children @@ -43383,7 +43566,7 @@ call 28 ast_get_node struct:Node 1 27 call 29 pith_struct_release void 1 23 store base_node 28 iconst 30 0 -store __or_30_1842 30 +store __or_30_1855 30 load 31 base_node field 32 31 0 string kind strref 33 m13s292 @@ -43391,43 +43574,43 @@ call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 call 37 pith_cstring_release void 1 33 -store __or_30_1842 34 -brif 34 L1843 L1842 -label L1842 +store __or_30_1855 34 +brif 34 L1856 L1855 +label L1855 load 38 base_node field 39 38 8 string value load 40 member_name call 42 pith_cstring_eq bool 2 39 40 iconst 43 1 sub 41 43 42 -store __or_30_1842 41 -label L1843 -load 44 __or_30_1842 -brif 44 L1840 L1841 -label L1840 +store __or_30_1855 41 +label L1856 +load 44 __or_30_1855 +brif 44 L1853 L1854 +label L1853 iconst 45 0 load 46 base_node call 47 pith_struct_release void 1 46 load 48 recv_node call 49 pith_struct_release void 1 48 ret 45 -label L1841 -label L1839 +label L1854 +label L1852 load 50 base_node field 51 50 16 list children call 52 pith_list_len int 1 51 iconst 53 1 lt 54 52 53 -brif 54 L1845 L1846 -label L1845 +brif 54 L1858 L1859 +label L1858 iconst 55 0 load 56 base_node call 57 pith_struct_release void 1 56 load 58 recv_node call 59 pith_struct_release void 1 58 ret 55 -label L1846 -label L1844 +label L1859 +label L1857 load 60 recv_node load 61 base_node field 62 61 16 list children @@ -43443,22 +43626,22 @@ call 71 pith_cstring_eq bool 2 68 69 iconst 72 1 sub 70 72 71 call 73 pith_cstring_release void 1 69 -brif 70 L1848 L1849 -label L1848 +brif 70 L1861 L1862 +label L1861 iconst 74 0 load 75 base_node call 76 pith_struct_release void 1 75 load 77 recv_node call 78 pith_struct_release void 1 77 ret 74 -label L1849 -label L1847 +label L1862 +label L1860 load 79 checker_module_aliases load 80 recv_node field 81 80 8 string value call 82 contains_key bool 2 79 81 -brif 82 L1851 L1852 -label L1851 +brif 82 L1864 L1865 +label L1864 load 83 checker_module_aliases load 84 recv_node field 85 84 8 string value @@ -43466,37 +43649,37 @@ call 86 map_get_strict string 2 83 85 strref 87 m13s661 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 -brif 88 L1854 L1855 -label L1854 +brif 88 L1867 L1868 +label L1867 iconst 90 1 load 91 base_node call 92 pith_struct_release void 1 91 load 93 recv_node call 94 pith_struct_release void 1 93 ret 90 -label L1855 -label L1853 -jmp L1850 -label L1852 -label L1850 +label L1868 +label L1866 +jmp L1863 +label L1865 +label L1863 iconst 95 0 -store __or_95_1856 95 +store __or_95_1869 95 load 96 recv_node field 97 96 8 string value strref 98 m13s660 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __or_95_1856 99 -brif 99 L1857 L1856 -label L1856 +store __or_95_1869 99 +brif 99 L1870 L1869 +label L1869 load 101 recv_node field 102 101 8 string value strref 103 m13s659 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __or_95_1856 104 -label L1857 -load 106 __or_95_1856 +store __or_95_1869 104 +label L1870 +load 106 __or_95_1869 load 107 base_node call 108 pith_struct_release void 1 107 load 109 recv_node @@ -43517,7 +43700,7 @@ store base_node 2 iconst 3 0 store recv_node 3 iconst 4 0 -store __or_4_1861 4 +store __or_4_1874 4 load 5 index_node field 6 5 0 string kind strref 7 m13s291 @@ -43525,27 +43708,27 @@ call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 call 11 pith_cstring_release void 1 7 -store __or_4_1861 8 -brif 8 L1862 L1861 -label L1861 +store __or_4_1874 8 +brif 8 L1875 L1874 +label L1874 load 12 index_node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -store __or_4_1861 16 -label L1862 -load 17 __or_4_1861 -brif 17 L1859 L1860 -label L1859 +store __or_4_1874 16 +label L1875 +load 17 __or_4_1874 +brif 17 L1872 L1873 +label L1872 iconst 18 0 load 19 base_node call 20 pith_struct_release void 1 19 load 21 recv_node call 22 pith_struct_release void 1 21 ret 18 -label L1860 -label L1858 +label L1873 +label L1871 load 23 base_node load 24 index_node field 25 24 16 list children @@ -43555,7 +43738,7 @@ call 28 ast_get_node struct:Node 1 27 call 29 pith_struct_release void 1 23 store base_node 28 iconst 30 0 -store __or_30_1866 30 +store __or_30_1879 30 load 31 base_node field 32 31 0 string kind strref 33 m13s292 @@ -43563,43 +43746,43 @@ call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 call 37 pith_cstring_release void 1 33 -store __or_30_1866 34 -brif 34 L1867 L1866 -label L1866 +store __or_30_1879 34 +brif 34 L1880 L1879 +label L1879 load 38 base_node field 39 38 8 string value load 40 member_name call 42 pith_cstring_eq bool 2 39 40 iconst 43 1 sub 41 43 42 -store __or_30_1866 41 -label L1867 -load 44 __or_30_1866 -brif 44 L1864 L1865 -label L1864 +store __or_30_1879 41 +label L1880 +load 44 __or_30_1879 +brif 44 L1877 L1878 +label L1877 iconst 45 0 load 46 base_node call 47 pith_struct_release void 1 46 load 48 recv_node call 49 pith_struct_release void 1 48 ret 45 -label L1865 -label L1863 +label L1878 +label L1876 load 50 base_node field 51 50 16 list children call 52 pith_list_len int 1 51 iconst 53 1 lt 54 52 53 -brif 54 L1869 L1870 -label L1869 +brif 54 L1882 L1883 +label L1882 iconst 55 0 load 56 base_node call 57 pith_struct_release void 1 56 load 58 recv_node call 59 pith_struct_release void 1 58 ret 55 -label L1870 -label L1868 +label L1883 +label L1881 load 60 recv_node load 61 base_node field 62 61 16 list children @@ -43615,22 +43798,22 @@ call 71 pith_cstring_eq bool 2 68 69 iconst 72 1 sub 70 72 71 call 73 pith_cstring_release void 1 69 -brif 70 L1872 L1873 -label L1872 +brif 70 L1885 L1886 +label L1885 iconst 74 0 load 75 base_node call 76 pith_struct_release void 1 75 load 77 recv_node call 78 pith_struct_release void 1 77 ret 74 -label L1873 -label L1871 +label L1886 +label L1884 load 79 checker_module_aliases load 80 recv_node field 81 80 8 string value call 82 contains_key bool 2 79 81 -brif 82 L1875 L1876 -label L1875 +brif 82 L1888 L1889 +label L1888 load 83 checker_module_aliases load 84 recv_node field 85 84 8 string value @@ -43638,37 +43821,37 @@ call 86 map_get_strict string 2 83 85 strref 87 m13s120 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 -brif 88 L1878 L1879 -label L1878 +brif 88 L1891 L1892 +label L1891 iconst 90 1 load 91 base_node call 92 pith_struct_release void 1 91 load 93 recv_node call 94 pith_struct_release void 1 93 ret 90 -label L1879 -label L1877 -jmp L1874 -label L1876 -label L1874 +label L1892 +label L1890 +jmp L1887 +label L1889 +label L1887 iconst 95 0 -store __or_95_1880 95 +store __or_95_1893 95 load 96 recv_node field 97 96 8 string value strref 98 m13s663 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __or_95_1880 99 -brif 99 L1881 L1880 -label L1880 +store __or_95_1893 99 +brif 99 L1894 L1893 +label L1893 load 101 recv_node field 102 101 8 string value strref 103 m13s662 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __or_95_1880 104 -label L1881 -load 106 __or_95_1880 +store __or_95_1893 104 +label L1894 +load 106 __or_95_1893 load 107 base_node call 108 pith_struct_release void 1 107 load 109 recv_node @@ -43689,7 +43872,7 @@ store base_node 2 iconst 3 0 store recv_node 3 iconst 4 0 -store __or_4_1885 4 +store __or_4_1898 4 load 5 index_node field 6 5 0 string kind strref 7 m13s291 @@ -43697,27 +43880,27 @@ call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 call 11 pith_cstring_release void 1 7 -store __or_4_1885 8 -brif 8 L1886 L1885 -label L1885 +store __or_4_1898 8 +brif 8 L1899 L1898 +label L1898 load 12 index_node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -store __or_4_1885 16 -label L1886 -load 17 __or_4_1885 -brif 17 L1883 L1884 -label L1883 +store __or_4_1898 16 +label L1899 +load 17 __or_4_1898 +brif 17 L1896 L1897 +label L1896 iconst 18 0 load 19 base_node call 20 pith_struct_release void 1 19 load 21 recv_node call 22 pith_struct_release void 1 21 ret 18 -label L1884 -label L1882 +label L1897 +label L1895 load 23 base_node load 24 index_node field 25 24 16 list children @@ -43731,8 +43914,8 @@ field 31 30 0 string kind strref 32 m13s293 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L1888 L1889 -label L1888 +brif 33 L1901 L1902 +label L1901 load 35 base_node field 36 35 8 string value load 37 member_name @@ -43742,10 +43925,10 @@ call 40 pith_struct_release void 1 39 load 41 recv_node call 42 pith_struct_release void 1 41 ret 38 -label L1889 -label L1887 +label L1902 +label L1900 iconst 43 0 -store __or_43_1893 43 +store __or_43_1906 43 load 44 base_node field 45 44 0 string kind strref 46 m13s292 @@ -43753,43 +43936,43 @@ call 48 pith_cstring_eq bool 2 45 46 iconst 49 1 sub 47 49 48 call 50 pith_cstring_release void 1 46 -store __or_43_1893 47 -brif 47 L1894 L1893 -label L1893 +store __or_43_1906 47 +brif 47 L1907 L1906 +label L1906 load 51 base_node field 52 51 8 string value load 53 member_name call 55 pith_cstring_eq bool 2 52 53 iconst 56 1 sub 54 56 55 -store __or_43_1893 54 -label L1894 -load 57 __or_43_1893 -brif 57 L1891 L1892 -label L1891 +store __or_43_1906 54 +label L1907 +load 57 __or_43_1906 +brif 57 L1904 L1905 +label L1904 iconst 58 0 load 59 base_node call 60 pith_struct_release void 1 59 load 61 recv_node call 62 pith_struct_release void 1 61 ret 58 -label L1892 -label L1890 +label L1905 +label L1903 load 63 base_node field 64 63 16 list children call 65 pith_list_len int 1 64 iconst 66 1 lt 67 65 66 -brif 67 L1896 L1897 -label L1896 +brif 67 L1909 L1910 +label L1909 iconst 68 0 load 69 base_node call 70 pith_struct_release void 1 69 load 71 recv_node call 72 pith_struct_release void 1 71 ret 68 -label L1897 -label L1895 +label L1910 +label L1908 load 73 recv_node load 74 base_node field 75 74 16 list children @@ -43805,22 +43988,22 @@ call 84 pith_cstring_eq bool 2 81 82 iconst 85 1 sub 83 85 84 call 86 pith_cstring_release void 1 82 -brif 83 L1899 L1900 -label L1899 +brif 83 L1912 L1913 +label L1912 iconst 87 0 load 88 base_node call 89 pith_struct_release void 1 88 load 90 recv_node call 91 pith_struct_release void 1 90 ret 87 -label L1900 -label L1898 +label L1913 +label L1911 load 92 checker_module_aliases load 93 recv_node field 94 93 8 string value call 95 contains_key bool 2 92 94 -brif 95 L1902 L1903 -label L1902 +brif 95 L1915 L1916 +label L1915 load 96 checker_module_aliases load 97 recv_node field 98 97 8 string value @@ -43828,37 +44011,37 @@ call 99 map_get_strict string 2 96 98 strref 100 m13s661 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -brif 101 L1905 L1906 -label L1905 +brif 101 L1918 L1919 +label L1918 iconst 103 1 load 104 base_node call 105 pith_struct_release void 1 104 load 106 recv_node call 107 pith_struct_release void 1 106 ret 103 -label L1906 -label L1904 -jmp L1901 -label L1903 -label L1901 +label L1919 +label L1917 +jmp L1914 +label L1916 +label L1914 iconst 108 0 -store __or_108_1907 108 +store __or_108_1920 108 load 109 recv_node field 110 109 8 string value strref 111 m13s660 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -store __or_108_1907 112 -brif 112 L1908 L1907 -label L1907 +store __or_108_1920 112 +brif 112 L1921 L1920 +label L1920 load 114 recv_node field 115 114 8 string value strref 116 m13s659 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __or_108_1907 117 -label L1908 -load 119 __or_108_1907 +store __or_108_1920 117 +label L1921 +load 119 __or_108_1920 load 120 base_node call 121 pith_struct_release void 1 120 load 122 recv_node @@ -43887,8 +44070,8 @@ field 8 7 0 string kind strref 9 m13s293 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L1910 L1911 -label L1910 +brif 10 L1923 L1924 +label L1923 load 12 type_arg field 13 12 8 string value call 14 checker_resolve_named_type int 1 13 @@ -43897,28 +44080,28 @@ call 16 pith_struct_release void 1 15 load 17 recv call 18 pith_struct_release void 1 17 ret 14 -label L1911 -label L1909 +label L1924 +label L1922 iconst 19 0 -store __and_19_1915 19 +store __and_19_1928 19 load 20 type_arg field 21 20 0 string kind strref 22 m13s292 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __and_19_1915 23 -brif 23 L1915 L1916 -label L1915 +store __and_19_1928 23 +brif 23 L1928 L1929 +label L1928 load 25 type_arg field 26 25 16 list children call 27 pith_list_len int 1 26 iconst 28 0 gt 29 27 28 -store __and_19_1915 29 -label L1916 -load 30 __and_19_1915 -brif 30 L1913 L1914 -label L1913 +store __and_19_1928 29 +label L1929 +load 30 __and_19_1928 +brif 30 L1926 L1927 +label L1926 load 31 recv load 32 type_arg field 33 32 16 list children @@ -43932,8 +44115,8 @@ field 39 38 0 string kind strref 40 m13s293 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L1918 L1919 -label L1918 +brif 41 L1931 L1932 +label L1931 load 43 recv field 44 43 8 string value strref 45 m13s123 @@ -43950,11 +44133,11 @@ call 55 pith_struct_release void 1 54 load 56 recv call 57 pith_struct_release void 1 56 ret 52 -label L1919 -label L1917 -jmp L1912 -label L1914 -label L1912 +label L1932 +label L1930 +jmp L1925 +label L1927 +label L1925 strref 58 m13s310 strref 59 m13s658 call 60 checker_diagnostics_report_error void 2 58 59 @@ -43999,38 +44182,38 @@ store seen_key 3 iconst 4 0 store next_seen 4 iconst 5 0 -store __or_5_1923 5 +store __or_5_1936 5 iconst 6 0 -store __or_6_1923 6 +store __or_6_1936 6 load 7 field_tid strref 8 m13s11 call 9 types_lookup_type_id int 1 8 call 10 pith_cstring_release void 1 8 eq 11 7 9 -store __or_6_1923 11 -brif 11 L1924 L1923 -label L1923 +store __or_6_1936 11 +brif 11 L1937 L1936 +label L1936 load 12 field_tid strref 13 m13s15 call 14 types_lookup_type_id int 1 13 call 15 pith_cstring_release void 1 13 eq 16 12 14 -store __or_6_1923 16 -label L1924 -load 17 __or_6_1923 -store __or_5_1923 17 -brif 17 L1926 L1925 -label L1925 +store __or_6_1936 16 +label L1937 +load 17 __or_6_1936 +store __or_5_1936 17 +brif 17 L1939 L1938 +label L1938 load 18 field_tid strref 19 m13s12 call 20 types_lookup_type_id int 1 19 call 21 pith_cstring_release void 1 19 eq 22 18 20 -store __or_5_1923 22 -label L1926 -load 23 __or_5_1923 -brif 23 L1921 L1922 -label L1921 +store __or_5_1936 22 +label L1939 +load 23 __or_5_1936 +brif 23 L1934 L1935 +label L1934 iconst 24 1 load 25 info call 26 pith_struct_release void 1 25 @@ -44039,32 +44222,32 @@ call 28 pith_cstring_release void 1 27 load 29 next_seen call 30 pith_cstring_release void 1 29 ret 24 -label L1922 -label L1920 +label L1935 +label L1933 load 31 info load 32 field_tid call 33 types_get_type_info struct:TypeInfo 1 32 call 34 pith_struct_release void 1 31 store info 33 iconst 35 0 -store __and_35_1930 35 +store __and_35_1943 35 load 36 info field 37 36 0 string kind strref 38 m13s29 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __and_35_1930 39 -brif 39 L1930 L1931 -label L1930 +store __and_35_1943 39 +brif 39 L1943 L1944 +label L1943 load 41 info field 42 41 64 int inner iconst 43 0 gte 44 42 43 -store __and_35_1930 44 -label L1931 -load 45 __and_35_1930 -brif 45 L1928 L1929 -label L1928 +store __and_35_1943 44 +label L1944 +load 45 __and_35_1943 +brif 45 L1941 L1942 +label L1941 load 46 info field 47 46 64 int inner load 48 seen @@ -44076,15 +44259,15 @@ call 53 pith_cstring_release void 1 52 load 54 next_seen call 55 pith_cstring_release void 1 54 ret 49 -label L1929 -label L1927 +label L1942 +label L1940 load 56 info field 57 56 0 string kind strref 58 m13s34 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -brif 59 L1933 L1934 -label L1933 +brif 59 L1946 L1947 +label L1946 load 61 seen_key load 62 field_tid call 63 checker_decode_support_seen_key string 1 62 @@ -44093,8 +44276,8 @@ store seen_key 63 load 65 seen load 66 seen_key call 67 pith_cstring_contains bool 2 65 66 -brif 67 L1936 L1937 -label L1936 +brif 67 L1949 L1950 +label L1949 iconst 68 0 load 69 info call 70 pith_struct_release void 1 69 @@ -44103,8 +44286,8 @@ call 72 pith_cstring_release void 1 71 load 73 next_seen call 74 pith_cstring_release void 1 73 ret 68 -label L1937 -label L1935 +label L1950 +label L1948 load 75 next_seen load 76 seen load 77 seen_key @@ -44118,12 +44301,12 @@ iconst 83 0 store __for_idx_121 83 store __for_len_121 82 store __for_iter_121 81 -label L1938 +label L1951 load 84 __for_idx_121 load 85 __for_len_121 lt 86 84 85 -brif 86 L1939 L1941 -label L1939 +brif 86 L1952 L1954 +label L1952 load 87 __for_iter_121 load 88 __for_idx_121 call 89 pith_list_get_value_unchecked string 2 87 88 @@ -44131,26 +44314,26 @@ store __loopvar_121_field_name 89 load 90 __for_idx_121 store __loopvar_121_i 90 iconst 91 0 -store __and_91_1945 91 +store __and_91_1958 91 load 92 __loopvar_121_i load 93 info field 94 93 32 list field_pub call 95 pith_list_len int 1 94 lt 96 92 95 -store __and_91_1945 96 -brif 96 L1945 L1946 -label L1945 +store __and_91_1958 96 +brif 96 L1958 L1959 +label L1958 load 97 info field 98 97 32 list field_pub load 99 __loopvar_121_i call 100 pith_list_get_value_strict bool 2 98 99 iconst 102 1 sub 101 102 100 -store __and_91_1945 101 -label L1946 -load 103 __and_91_1945 -brif 103 L1943 L1944 -label L1943 +store __and_91_1958 101 +label L1959 +load 103 __and_91_1958 +brif 103 L1956 L1957 +label L1956 iconst 104 0 load 105 info call 106 pith_struct_release void 1 105 @@ -44159,15 +44342,15 @@ call 108 pith_cstring_release void 1 107 load 109 next_seen call 110 pith_cstring_release void 1 109 ret 104 -label L1944 -label L1942 +label L1957 +label L1955 load 111 __loopvar_121_i load 112 info field 113 112 24 list field_types call 114 pith_list_len int 1 113 gte 115 111 114 -brif 115 L1948 L1949 -label L1948 +brif 115 L1961 L1962 +label L1961 iconst 116 0 load 117 info call 118 pith_struct_release void 1 117 @@ -44176,8 +44359,8 @@ call 120 pith_cstring_release void 1 119 load 121 next_seen call 122 pith_cstring_release void 1 121 ret 116 -label L1949 -label L1947 +label L1962 +label L1960 load 123 info field 124 123 24 list field_types load 125 __loopvar_121_i @@ -44186,8 +44369,8 @@ load 127 next_seen call 128 checker_json_decode_field_supported_with_seen bool 2 126 127 iconst 130 1 sub 129 130 128 -brif 129 L1951 L1952 -label L1951 +brif 129 L1964 L1965 +label L1964 iconst 131 0 load 132 info call 133 pith_struct_release void 1 132 @@ -44196,15 +44379,15 @@ call 135 pith_cstring_release void 1 134 load 136 next_seen call 137 pith_cstring_release void 1 136 ret 131 -label L1952 -label L1950 -label L1940 +label L1965 +label L1963 +label L1953 load 138 __for_idx_121 iconst 139 1 add 140 138 139 store __for_idx_121 140 -jmp L1938 -label L1941 +jmp L1951 +label L1954 iconst 141 1 load 142 info call 143 pith_struct_release void 1 142 @@ -44213,8 +44396,8 @@ call 145 pith_cstring_release void 1 144 load 146 next_seen call 147 pith_cstring_release void 1 146 ret 141 -label L1934 -label L1932 +label L1947 +label L1945 iconst 148 0 load 149 info call 150 pith_struct_release void 1 149 @@ -44254,8 +44437,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L1954 L1955 -label L1954 +brif 9 L1967 L1968 +label L1967 strref 10 m13s557 strref 11 m13s656 call 12 checker_diagnostics_report_error void 2 10 11 @@ -44265,24 +44448,24 @@ load 15 types_TID_ERR load 16 target_info call 17 pith_struct_release void 1 16 ret 15 -label L1955 -label L1953 +label L1968 +label L1966 iconst 18 1 store expected_args 18 load 19 prefixed -brif 19 L1957 L1958 -label L1957 +brif 19 L1970 L1971 +label L1970 iconst 20 2 store expected_args 20 -jmp L1956 -label L1958 -label L1956 +jmp L1969 +label L1971 +label L1969 load 21 arg_indices call 22 pith_list_len int 1 21 load 23 expected_args neq 24 22 23 -brif 24 L1960 L1961 -label L1960 +brif 24 L1973 L1974 +label L1973 strref 25 m13s307 strref 26 m13s655 load 27 expected_args @@ -44307,8 +44490,8 @@ load 45 types_TID_ERR load 46 target_info call 47 pith_struct_release void 1 46 ret 45 -label L1961 -label L1959 +label L1974 +label L1972 load 48 index_node field 49 48 16 list children iconst 50 1 @@ -44317,14 +44500,14 @@ call 52 checker_resolve_json_decode_type_arg int 1 51 store target_tid 52 load 53 target_tid call 54 types_is_error_type bool 1 53 -brif 54 L1963 L1964 -label L1963 +brif 54 L1976 L1977 +label L1976 load 55 types_TID_ERR load 56 target_info call 57 pith_struct_release void 1 56 ret 55 -label L1964 -label L1962 +label L1977 +label L1975 load 58 target_info load 59 target_tid call 60 types_get_type_info struct:TypeInfo 1 59 @@ -44337,8 +44520,8 @@ call 66 pith_cstring_eq bool 2 63 64 iconst 67 1 sub 65 67 66 call 68 pith_cstring_release void 1 64 -brif 65 L1966 L1967 -label L1966 +brif 65 L1979 L1980 +label L1979 strref 69 m13s304 strref 70 m13s653 load 71 target_tid @@ -44353,8 +44536,8 @@ load 79 types_TID_ERR load 80 target_info call 81 pith_struct_release void 1 80 ret 79 -label L1967 -label L1965 +label L1980 +label L1978 strref 82 m13s652 call 83 types_lookup_type_id int 1 82 call 84 pith_cstring_release void 1 82 @@ -44362,8 +44545,8 @@ store cfg_tid 83 load 85 cfg_tid iconst 86 0 lt 87 85 86 -brif 87 L1969 L1970 -label L1969 +brif 87 L1982 L1983 +label L1982 strref 88 m13s310 strref 89 m13s651 call 90 checker_diagnostics_report_error void 2 88 89 @@ -44373,8 +44556,8 @@ load 93 types_TID_ERR load 94 target_info call 95 pith_struct_release void 1 94 ret 93 -label L1970 -label L1968 +label L1983 +label L1981 load 96 arg_indices iconst 97 0 call 98 pith_list_get_value_strict int 2 96 97 @@ -44382,22 +44565,22 @@ load 99 scope_id call 100 checker_c_check_expr int 2 98 99 store first_arg_tid 100 iconst 101 0 -store __and_101_1974 101 +store __and_101_1987 101 load 102 first_arg_tid call 103 types_is_error_type bool 1 102 iconst 104 0 eq 105 103 104 -store __and_101_1974 105 -brif 105 L1974 L1975 -label L1974 +store __and_101_1987 105 +brif 105 L1987 L1988 +label L1987 load 106 first_arg_tid load 107 cfg_tid neq 108 106 107 -store __and_101_1974 108 -label L1975 -load 109 __and_101_1974 -brif 109 L1972 L1973 -label L1972 +store __and_101_1987 108 +label L1988 +load 109 __and_101_1987 +brif 109 L1985 L1986 +label L1985 strref 110 m13s304 strref 111 m13s650 load 112 first_arg_tid @@ -44412,11 +44595,11 @@ load 120 types_TID_ERR load 121 target_info call 122 pith_struct_release void 1 121 ret 120 -label L1973 -label L1971 +label L1986 +label L1984 load 123 prefixed -brif 123 L1977 L1978 -label L1977 +brif 123 L1990 L1991 +label L1990 load 124 arg_indices iconst 125 1 call 126 pith_list_get_value_strict int 2 124 125 @@ -44428,22 +44611,22 @@ call 130 types_lookup_type_id int 1 129 call 131 pith_cstring_release void 1 129 store string_tid 130 iconst 132 0 -store __and_132_1982 132 +store __and_132_1995 132 load 133 prefix_tid call 134 types_is_error_type bool 1 133 iconst 135 0 eq 136 134 135 -store __and_132_1982 136 -brif 136 L1982 L1983 -label L1982 +store __and_132_1995 136 +brif 136 L1995 L1996 +label L1995 load 137 prefix_tid load 138 string_tid neq 139 137 138 -store __and_132_1982 139 -label L1983 -load 140 __and_132_1982 -brif 140 L1980 L1981 -label L1980 +store __and_132_1995 139 +label L1996 +load 140 __and_132_1995 +brif 140 L1993 L1994 +label L1993 strref 141 m13s304 strref 142 m13s649 load 143 prefix_tid @@ -44458,11 +44641,11 @@ load 151 types_TID_ERR load 152 target_info call 153 pith_struct_release void 1 152 ret 151 -label L1981 -label L1979 -jmp L1976 -label L1978 -label L1976 +label L1994 +label L1992 +jmp L1989 +label L1991 +label L1989 load 154 target_info field 155 154 16 list_string fields call 156 pith_auto_len int 1 155 @@ -44470,12 +44653,12 @@ iconst 157 0 store __for_idx_122 157 store __for_len_122 156 store __for_iter_122 155 -label L1984 +label L1997 load 158 __for_idx_122 load 159 __for_len_122 lt 160 158 159 -brif 160 L1985 L1987 -label L1985 +brif 160 L1998 L2000 +label L1998 load 161 __for_iter_122 load 162 __for_idx_122 call 163 pith_list_get_value_unchecked string 2 161 162 @@ -44483,26 +44666,26 @@ store __loopvar_122_field_name 163 load 164 __for_idx_122 store __loopvar_122_i 164 iconst 165 0 -store __and_165_1991 165 +store __and_165_2004 165 load 166 __loopvar_122_i load 167 target_info field 168 167 32 list field_pub call 169 pith_list_len int 1 168 lt 170 166 169 -store __and_165_1991 170 -brif 170 L1991 L1992 -label L1991 +store __and_165_2004 170 +brif 170 L2004 L2005 +label L2004 load 171 target_info field 172 171 32 list field_pub load 173 __loopvar_122_i call 174 pith_list_get_value_strict bool 2 172 173 iconst 176 1 sub 175 176 174 -store __and_165_1991 175 -label L1992 -load 177 __and_165_1991 -brif 177 L1989 L1990 -label L1989 +store __and_165_2004 175 +label L2005 +load 177 __and_165_2004 +brif 177 L2002 L2003 +label L2002 strref 178 m13s304 strref 179 m13s648 load 180 __loopvar_122_field_name @@ -44515,15 +44698,15 @@ load 186 types_TID_ERR load 187 target_info call 188 pith_struct_release void 1 187 ret 186 -label L1990 -label L1988 +label L2003 +label L2001 load 189 __loopvar_122_i load 190 target_info field 191 190 24 list field_types call 192 pith_list_len int 1 191 lt 193 189 192 -brif 193 L1994 L1995 -label L1994 +brif 193 L2007 L2008 +label L2007 load 194 target_info field 195 194 24 list field_types load 196 __loopvar_122_i @@ -44533,8 +44716,8 @@ load 198 field_tid call 199 checker_json_decode_field_supported bool 1 198 iconst 201 1 sub 200 201 199 -brif 200 L1997 L1998 -label L1997 +brif 200 L2010 L2011 +label L2010 strref 202 m13s304 strref 203 m13s647 load 204 __loopvar_122_field_name @@ -44556,18 +44739,18 @@ load 219 types_TID_ERR load 220 target_info call 221 pith_struct_release void 1 220 ret 219 -label L1998 -label L1996 -jmp L1993 -label L1995 -label L1993 -label L1986 +label L2011 +label L2009 +jmp L2006 +label L2008 +label L2006 +label L1999 load 222 __for_idx_122 iconst 223 1 add 224 222 223 store __for_idx_122 224 -jmp L1984 -label L1987 +jmp L1997 +label L2000 strref 225 m13s623 call 226 types_lookup_type_id int 1 225 call 227 pith_cstring_release void 1 225 @@ -44575,8 +44758,8 @@ store err_tid 226 load 228 err_tid iconst 229 0 lt 230 228 229 -brif 230 L2000 L2001 -label L2000 +brif 230 L2013 L2014 +label L2013 strref 231 m13s310 strref 232 m13s622 call 233 checker_diagnostics_report_error void 2 231 232 @@ -44586,8 +44769,8 @@ load 236 types_TID_ERR load 237 target_info call 238 pith_struct_release void 1 237 ret 236 -label L2001 -label L1999 +label L2014 +label L2012 load 239 target_tid load 240 err_tid call 241 types_ti_result struct:TypeInfo 2 239 240 @@ -44615,8 +44798,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 2 lt 10 8 9 -brif 10 L2003 L2004 -label L2003 +brif 10 L2016 L2017 +label L2016 strref 11 m13s557 strref 12 m13s646 call 13 checker_diagnostics_report_error void 2 11 12 @@ -44628,14 +44811,14 @@ call 18 pith_struct_release void 1 17 load 19 arg_node call 20 pith_struct_release void 1 19 ret 16 -label L2004 -label L2002 +label L2017 +label L2015 load 21 arg_indices call 22 pith_list_len int 1 21 iconst 23 1 neq 24 22 23 -brif 24 L2006 L2007 -label L2006 +brif 24 L2019 L2020 +label L2019 strref 25 m13s307 strref 26 m13s645 load 27 arg_indices @@ -44653,8 +44836,8 @@ call 38 pith_struct_release void 1 37 load 39 arg_node call 40 pith_struct_release void 1 39 ret 36 -label L2007 -label L2005 +label L2020 +label L2018 load 41 index_node field 42 41 16 list children iconst 43 1 @@ -44663,16 +44846,16 @@ call 45 checker_resolve_json_decode_type_arg int 1 44 store target_tid 45 load 46 target_tid call 47 types_is_error_type bool 1 46 -brif 47 L2009 L2010 -label L2009 +brif 47 L2022 L2023 +label L2022 load 48 types_TID_ERR load 49 target_info call 50 pith_struct_release void 1 49 load 51 arg_node call 52 pith_struct_release void 1 51 ret 48 -label L2010 -label L2008 +label L2023 +label L2021 load 53 target_info load 54 target_tid call 55 types_get_type_info struct:TypeInfo 1 54 @@ -44685,8 +44868,8 @@ call 61 pith_cstring_eq bool 2 58 59 iconst 62 1 sub 60 62 61 call 63 pith_cstring_release void 1 59 -brif 60 L2012 L2013 -label L2012 +brif 60 L2025 L2026 +label L2025 strref 64 m13s304 strref 65 m13s644 load 66 target_tid @@ -44703,8 +44886,8 @@ call 76 pith_struct_release void 1 75 load 77 arg_node call 78 pith_struct_release void 1 77 ret 74 -label L2013 -label L2011 +label L2026 +label L2024 load 79 arg_node load 80 arg_indices iconst 81 0 @@ -44717,33 +44900,33 @@ iconst 86 0 call 87 pith_list_get_value_strict int 2 85 86 store arg_expr_idx 87 iconst 88 0 -store __and_88_2017 88 +store __and_88_2030 88 load 89 arg_node field 90 89 0 string kind strref 91 m13s298 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -store __and_88_2017 92 -brif 92 L2017 L2018 -label L2017 +store __and_88_2030 92 +brif 92 L2030 L2031 +label L2030 load 94 arg_node field 95 94 16 list children call 96 pith_list_len int 1 95 iconst 97 0 gt 98 96 97 -store __and_88_2017 98 -label L2018 -load 99 __and_88_2017 -brif 99 L2015 L2016 -label L2015 +store __and_88_2030 98 +label L2031 +load 99 __and_88_2030 +brif 99 L2028 L2029 +label L2028 load 100 arg_node field 101 100 16 list children iconst 102 0 call 103 pith_list_get_value_strict int 2 101 102 store arg_expr_idx 103 -jmp L2014 -label L2016 -label L2014 +jmp L2027 +label L2029 +label L2027 load 104 arg_expr_idx load 105 scope_id call 106 checker_c_check_expr int 2 104 105 @@ -44753,32 +44936,32 @@ call 108 types_lookup_type_id int 1 107 call 109 pith_cstring_release void 1 107 store expected_tid 108 load 110 text_input -brif 110 L2020 L2021 -label L2020 +brif 110 L2033 L2034 +label L2033 strref 111 m13s11 call 112 types_lookup_type_id int 1 111 call 113 pith_cstring_release void 1 111 store expected_tid 112 -jmp L2019 -label L2021 -label L2019 +jmp L2032 +label L2034 +label L2032 iconst 114 0 -store __and_114_2025 114 +store __and_114_2038 114 load 115 arg_tid call 116 types_is_error_type bool 1 115 iconst 117 0 eq 118 116 117 -store __and_114_2025 118 -brif 118 L2025 L2026 -label L2025 +store __and_114_2038 118 +brif 118 L2038 L2039 +label L2038 load 119 arg_tid load 120 expected_tid neq 121 119 120 -store __and_114_2025 121 -label L2026 -load 122 __and_114_2025 -brif 122 L2023 L2024 -label L2023 +store __and_114_2038 121 +label L2039 +load 122 __and_114_2038 +brif 122 L2036 L2037 +label L2036 strref 123 m13s304 strref 124 m13s643 load 125 expected_tid @@ -44804,8 +44987,8 @@ call 144 pith_struct_release void 1 143 load 145 arg_node call 146 pith_struct_release void 1 145 ret 142 -label L2024 -label L2022 +label L2037 +label L2035 load 147 target_info field 148 147 16 list_string fields call 149 pith_auto_len int 1 148 @@ -44813,12 +44996,12 @@ iconst 150 0 store __for_idx_123 150 store __for_len_123 149 store __for_iter_123 148 -label L2027 +label L2040 load 151 __for_idx_123 load 152 __for_len_123 lt 153 151 152 -brif 153 L2028 L2030 -label L2028 +brif 153 L2041 L2043 +label L2041 load 154 __for_iter_123 load 155 __for_idx_123 call 156 pith_list_get_value_unchecked string 2 154 155 @@ -44826,26 +45009,26 @@ store __loopvar_123_field_name 156 load 157 __for_idx_123 store __loopvar_123_i 157 iconst 158 0 -store __and_158_2034 158 +store __and_158_2047 158 load 159 __loopvar_123_i load 160 target_info field 161 160 32 list field_pub call 162 pith_list_len int 1 161 lt 163 159 162 -store __and_158_2034 163 -brif 163 L2034 L2035 -label L2034 +store __and_158_2047 163 +brif 163 L2047 L2048 +label L2047 load 164 target_info field 165 164 32 list field_pub load 166 __loopvar_123_i call 167 pith_list_get_value_strict bool 2 165 166 iconst 169 1 sub 168 169 167 -store __and_158_2034 168 -label L2035 -load 170 __and_158_2034 -brif 170 L2032 L2033 -label L2032 +store __and_158_2047 168 +label L2048 +load 170 __and_158_2047 +brif 170 L2045 L2046 +label L2045 strref 171 m13s304 strref 172 m13s642 load 173 __loopvar_123_field_name @@ -44860,15 +45043,15 @@ call 181 pith_struct_release void 1 180 load 182 arg_node call 183 pith_struct_release void 1 182 ret 179 -label L2033 -label L2031 +label L2046 +label L2044 load 184 __loopvar_123_i load 185 target_info field 186 185 24 list field_types call 187 pith_list_len int 1 186 lt 188 184 187 -brif 188 L2037 L2038 -label L2037 +brif 188 L2050 L2051 +label L2050 load 189 target_info field 190 189 24 list field_types load 191 __loopvar_123_i @@ -44878,8 +45061,8 @@ load 193 field_tid call 194 checker_json_decode_field_supported bool 1 193 iconst 196 1 sub 195 196 194 -brif 195 L2040 L2041 -label L2040 +brif 195 L2053 L2054 +label L2053 strref 197 m13s304 strref 198 m13s641 load 199 __loopvar_123_field_name @@ -44903,18 +45086,18 @@ call 216 pith_struct_release void 1 215 load 217 arg_node call 218 pith_struct_release void 1 217 ret 214 -label L2041 -label L2039 -jmp L2036 -label L2038 -label L2036 -label L2029 +label L2054 +label L2052 +jmp L2049 +label L2051 +label L2049 +label L2042 load 219 __for_idx_123 iconst 220 1 add 221 219 220 store __for_idx_123 221 -jmp L2027 -label L2030 +jmp L2040 +label L2043 strref 222 m13s640 call 223 types_lookup_type_id int 1 222 call 224 pith_cstring_release void 1 222 @@ -44922,8 +45105,8 @@ store err_tid 223 load 225 err_tid iconst 226 0 lt 227 225 226 -brif 227 L2043 L2044 -label L2043 +brif 227 L2056 L2057 +label L2056 strref 228 m13s310 strref 229 m13s639 call 230 checker_diagnostics_report_error void 2 228 229 @@ -44935,8 +45118,8 @@ call 235 pith_struct_release void 1 234 load 236 arg_node call 237 pith_struct_release void 1 236 ret 233 -label L2044 -label L2042 +label L2057 +label L2055 load 238 target_tid load 239 err_tid call 240 types_ti_result struct:TypeInfo 2 238 239 @@ -44968,8 +45151,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 2 lt 10 8 9 -brif 10 L2046 L2047 -label L2046 +brif 10 L2059 L2060 +label L2059 strref 11 m13s557 strref 12 m13s638 call 13 checker_diagnostics_report_error void 2 11 12 @@ -44981,14 +45164,14 @@ call 18 pith_struct_release void 1 17 load 19 arg_node call 20 pith_struct_release void 1 19 ret 16 -label L2047 -label L2045 +label L2060 +label L2058 load 21 arg_indices call 22 pith_list_len int 1 21 iconst 23 1 neq 24 22 23 -brif 24 L2049 L2050 -label L2049 +brif 24 L2062 L2063 +label L2062 strref 25 m13s307 strref 26 m13s637 load 27 arg_indices @@ -45006,8 +45189,8 @@ call 38 pith_struct_release void 1 37 load 39 arg_node call 40 pith_struct_release void 1 39 ret 36 -label L2050 -label L2048 +label L2063 +label L2061 load 41 index_node field 42 41 16 list children iconst 43 1 @@ -45016,16 +45199,16 @@ call 45 checker_resolve_json_decode_type_arg int 1 44 store target_tid 45 load 46 target_tid call 47 types_is_error_type bool 1 46 -brif 47 L2052 L2053 -label L2052 +brif 47 L2065 L2066 +label L2065 load 48 types_TID_ERR load 49 target_info call 50 pith_struct_release void 1 49 load 51 arg_node call 52 pith_struct_release void 1 51 ret 48 -label L2053 -label L2051 +label L2066 +label L2064 load 53 target_info load 54 target_tid call 55 types_get_type_info struct:TypeInfo 1 54 @@ -45038,8 +45221,8 @@ call 61 pith_cstring_eq bool 2 58 59 iconst 62 1 sub 60 62 61 call 63 pith_cstring_release void 1 59 -brif 60 L2055 L2056 -label L2055 +brif 60 L2068 L2069 +label L2068 strref 64 m13s304 strref 65 m13s636 load 66 target_tid @@ -45056,8 +45239,8 @@ call 76 pith_struct_release void 1 75 load 77 arg_node call 78 pith_struct_release void 1 77 ret 74 -label L2056 -label L2054 +label L2069 +label L2067 load 79 arg_node load 80 arg_indices iconst 81 0 @@ -45070,33 +45253,33 @@ iconst 86 0 call 87 pith_list_get_value_strict int 2 85 86 store arg_expr_idx 87 iconst 88 0 -store __and_88_2060 88 +store __and_88_2073 88 load 89 arg_node field 90 89 0 string kind strref 91 m13s298 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -store __and_88_2060 92 -brif 92 L2060 L2061 -label L2060 +store __and_88_2073 92 +brif 92 L2073 L2074 +label L2073 load 94 arg_node field 95 94 16 list children call 96 pith_list_len int 1 95 iconst 97 0 gt 98 96 97 -store __and_88_2060 98 -label L2061 -load 99 __and_88_2060 -brif 99 L2058 L2059 -label L2058 +store __and_88_2073 98 +label L2074 +load 99 __and_88_2073 +brif 99 L2071 L2072 +label L2071 load 100 arg_node field 101 100 16 list children iconst 102 0 call 103 pith_list_get_value_strict int 2 101 102 store arg_expr_idx 103 -jmp L2057 -label L2059 -label L2057 +jmp L2070 +label L2072 +label L2070 load 104 arg_expr_idx load 105 scope_id call 106 checker_c_check_expr int 2 104 105 @@ -45106,32 +45289,32 @@ call 108 types_lookup_type_id int 1 107 call 109 pith_cstring_release void 1 107 store expected_tid 108 load 110 text_input -brif 110 L2063 L2064 -label L2063 +brif 110 L2076 L2077 +label L2076 strref 111 m13s11 call 112 types_lookup_type_id int 1 111 call 113 pith_cstring_release void 1 111 store expected_tid 112 -jmp L2062 -label L2064 -label L2062 +jmp L2075 +label L2077 +label L2075 iconst 114 0 -store __and_114_2068 114 +store __and_114_2081 114 load 115 arg_tid call 116 types_is_error_type bool 1 115 iconst 117 0 eq 118 116 117 -store __and_114_2068 118 -brif 118 L2068 L2069 -label L2068 +store __and_114_2081 118 +brif 118 L2081 L2082 +label L2081 load 119 arg_tid load 120 expected_tid neq 121 119 120 -store __and_114_2068 121 -label L2069 -load 122 __and_114_2068 -brif 122 L2066 L2067 -label L2066 +store __and_114_2081 121 +label L2082 +load 122 __and_114_2081 +brif 122 L2079 L2080 +label L2079 strref 123 m13s304 strref 124 m13s635 load 125 expected_tid @@ -45157,8 +45340,8 @@ call 144 pith_struct_release void 1 143 load 145 arg_node call 146 pith_struct_release void 1 145 ret 142 -label L2067 -label L2065 +label L2080 +label L2078 load 147 target_info field 148 147 16 list_string fields call 149 pith_auto_len int 1 148 @@ -45166,12 +45349,12 @@ iconst 150 0 store __for_idx_124 150 store __for_len_124 149 store __for_iter_124 148 -label L2070 +label L2083 load 151 __for_idx_124 load 152 __for_len_124 lt 153 151 152 -brif 153 L2071 L2073 -label L2071 +brif 153 L2084 L2086 +label L2084 load 154 __for_iter_124 load 155 __for_idx_124 call 156 pith_list_get_value_unchecked string 2 154 155 @@ -45179,26 +45362,26 @@ store __loopvar_124_field_name 156 load 157 __for_idx_124 store __loopvar_124_i 157 iconst 158 0 -store __and_158_2077 158 +store __and_158_2090 158 load 159 __loopvar_124_i load 160 target_info field 161 160 32 list field_pub call 162 pith_list_len int 1 161 lt 163 159 162 -store __and_158_2077 163 -brif 163 L2077 L2078 -label L2077 +store __and_158_2090 163 +brif 163 L2090 L2091 +label L2090 load 164 target_info field 165 164 32 list field_pub load 166 __loopvar_124_i call 167 pith_list_get_value_strict bool 2 165 166 iconst 169 1 sub 168 169 167 -store __and_158_2077 168 -label L2078 -load 170 __and_158_2077 -brif 170 L2075 L2076 -label L2075 +store __and_158_2090 168 +label L2091 +load 170 __and_158_2090 +brif 170 L2088 L2089 +label L2088 strref 171 m13s304 strref 172 m13s634 load 173 __loopvar_124_field_name @@ -45213,15 +45396,15 @@ call 181 pith_struct_release void 1 180 load 182 arg_node call 183 pith_struct_release void 1 182 ret 179 -label L2076 -label L2074 +label L2089 +label L2087 load 184 __loopvar_124_i load 185 target_info field 186 185 24 list field_types call 187 pith_list_len int 1 186 lt 188 184 187 -brif 188 L2080 L2081 -label L2080 +brif 188 L2093 L2094 +label L2093 load 189 target_info field 190 189 24 list field_types load 191 __loopvar_124_i @@ -45231,8 +45414,8 @@ load 193 field_tid call 194 checker_json_decode_field_supported bool 1 193 iconst 196 1 sub 195 196 194 -brif 195 L2083 L2084 -label L2083 +brif 195 L2096 L2097 +label L2096 strref 197 m13s304 strref 198 m13s633 load 199 __loopvar_124_field_name @@ -45256,18 +45439,18 @@ call 216 pith_struct_release void 1 215 load 217 arg_node call 218 pith_struct_release void 1 217 ret 214 -label L2084 -label L2082 -jmp L2079 -label L2081 -label L2079 -label L2072 +label L2097 +label L2095 +jmp L2092 +label L2094 +label L2092 +label L2085 load 219 __for_idx_124 iconst 220 1 add 221 219 220 store __for_idx_124 221 -jmp L2070 -label L2073 +jmp L2083 +label L2086 strref 222 m13s632 call 223 types_lookup_type_id int 1 222 call 224 pith_cstring_release void 1 222 @@ -45275,8 +45458,8 @@ store err_tid 223 load 225 err_tid iconst 226 0 lt 227 225 226 -brif 227 L2086 L2087 -label L2086 +brif 227 L2099 L2100 +label L2099 strref 228 m13s310 strref 229 m13s631 call 230 checker_diagnostics_report_error void 2 228 229 @@ -45288,8 +45471,8 @@ call 235 pith_struct_release void 1 234 load 236 arg_node call 237 pith_struct_release void 1 236 ret 233 -label L2087 -label L2085 +label L2100 +label L2098 load 238 target_tid load 239 err_tid call 240 types_ti_result struct:TypeInfo 2 238 239 @@ -45320,8 +45503,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L2089 L2090 -label L2089 +brif 9 L2102 L2103 +label L2102 strref 10 m13s557 strref 11 m13s630 call 12 checker_diagnostics_report_error void 2 10 11 @@ -45333,14 +45516,14 @@ call 17 pith_struct_release void 1 16 load 18 arg_node call 19 pith_struct_release void 1 18 ret 15 -label L2090 -label L2088 +label L2103 +label L2101 load 20 arg_indices call 21 pith_list_len int 1 20 iconst 22 1 neq 23 21 22 -brif 23 L2092 L2093 -label L2092 +brif 23 L2105 L2106 +label L2105 strref 24 m13s307 strref 25 m13s629 load 26 arg_indices @@ -45358,8 +45541,8 @@ call 37 pith_struct_release void 1 36 load 38 arg_node call 39 pith_struct_release void 1 38 ret 35 -label L2093 -label L2091 +label L2106 +label L2104 load 40 index_node field 41 40 16 list children iconst 42 1 @@ -45368,16 +45551,16 @@ call 44 checker_resolve_json_decode_type_arg int 1 43 store target_tid 44 load 45 target_tid call 46 types_is_error_type bool 1 45 -brif 46 L2095 L2096 -label L2095 +brif 46 L2108 L2109 +label L2108 load 47 types_TID_ERR load 48 target_info call 49 pith_struct_release void 1 48 load 50 arg_node call 51 pith_struct_release void 1 50 ret 47 -label L2096 -label L2094 +label L2109 +label L2107 load 52 target_info load 53 target_tid call 54 types_get_type_info struct:TypeInfo 1 53 @@ -45390,8 +45573,8 @@ call 60 pith_cstring_eq bool 2 57 58 iconst 61 1 sub 59 61 60 call 62 pith_cstring_release void 1 58 -brif 59 L2098 L2099 -label L2098 +brif 59 L2111 L2112 +label L2111 strref 63 m13s304 strref 64 m13s628 load 65 target_tid @@ -45408,8 +45591,8 @@ call 75 pith_struct_release void 1 74 load 76 arg_node call 77 pith_struct_release void 1 76 ret 73 -label L2099 -label L2097 +label L2112 +label L2110 load 78 arg_node load 79 arg_indices iconst 80 0 @@ -45422,33 +45605,33 @@ iconst 85 0 call 86 pith_list_get_value_strict int 2 84 85 store arg_expr_idx 86 iconst 87 0 -store __and_87_2103 87 +store __and_87_2116 87 load 88 arg_node field 89 88 0 string kind strref 90 m13s298 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __and_87_2103 91 -brif 91 L2103 L2104 -label L2103 +store __and_87_2116 91 +brif 91 L2116 L2117 +label L2116 load 93 arg_node field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 0 gt 97 95 96 -store __and_87_2103 97 -label L2104 -load 98 __and_87_2103 -brif 98 L2101 L2102 -label L2101 +store __and_87_2116 97 +label L2117 +load 98 __and_87_2116 +brif 98 L2114 L2115 +label L2114 load 99 arg_node field 100 99 16 list children iconst 101 0 call 102 pith_list_get_value_strict int 2 100 101 store arg_expr_idx 102 -jmp L2100 -label L2102 -label L2100 +jmp L2113 +label L2115 +label L2113 load 103 arg_expr_idx load 104 scope_id call 105 checker_c_check_expr int 2 103 104 @@ -45458,22 +45641,22 @@ call 107 types_lookup_type_id int 1 106 call 108 pith_cstring_release void 1 106 store expected_tid 107 iconst 109 0 -store __and_109_2108 109 +store __and_109_2121 109 load 110 arg_tid call 111 types_is_error_type bool 1 110 iconst 112 0 eq 113 111 112 -store __and_109_2108 113 -brif 113 L2108 L2109 -label L2108 +store __and_109_2121 113 +brif 113 L2121 L2122 +label L2121 load 114 arg_tid load 115 expected_tid neq 116 114 115 -store __and_109_2108 116 -label L2109 -load 117 __and_109_2108 -brif 117 L2106 L2107 -label L2106 +store __and_109_2121 116 +label L2122 +load 117 __and_109_2121 +brif 117 L2119 L2120 +label L2119 strref 118 m13s304 strref 119 m13s627 load 120 expected_tid @@ -45499,8 +45682,8 @@ call 139 pith_struct_release void 1 138 load 140 arg_node call 141 pith_struct_release void 1 140 ret 137 -label L2107 -label L2105 +label L2120 +label L2118 load 142 target_info field 143 142 16 list_string fields call 144 pith_auto_len int 1 143 @@ -45508,12 +45691,12 @@ iconst 145 0 store __for_idx_125 145 store __for_len_125 144 store __for_iter_125 143 -label L2110 +label L2123 load 146 __for_idx_125 load 147 __for_len_125 lt 148 146 147 -brif 148 L2111 L2113 -label L2111 +brif 148 L2124 L2126 +label L2124 load 149 __for_iter_125 load 150 __for_idx_125 call 151 pith_list_get_value_unchecked string 2 149 150 @@ -45521,26 +45704,26 @@ store __loopvar_125_field_name 151 load 152 __for_idx_125 store __loopvar_125_i 152 iconst 153 0 -store __and_153_2117 153 +store __and_153_2130 153 load 154 __loopvar_125_i load 155 target_info field 156 155 32 list field_pub call 157 pith_list_len int 1 156 lt 158 154 157 -store __and_153_2117 158 -brif 158 L2117 L2118 -label L2117 +store __and_153_2130 158 +brif 158 L2130 L2131 +label L2130 load 159 target_info field 160 159 32 list field_pub load 161 __loopvar_125_i call 162 pith_list_get_value_strict bool 2 160 161 iconst 164 1 sub 163 164 162 -store __and_153_2117 163 -label L2118 -load 165 __and_153_2117 -brif 165 L2115 L2116 -label L2115 +store __and_153_2130 163 +label L2131 +load 165 __and_153_2130 +brif 165 L2128 L2129 +label L2128 strref 166 m13s304 strref 167 m13s626 load 168 __loopvar_125_field_name @@ -45555,15 +45738,15 @@ call 176 pith_struct_release void 1 175 load 177 arg_node call 178 pith_struct_release void 1 177 ret 174 -label L2116 -label L2114 +label L2129 +label L2127 load 179 __loopvar_125_i load 180 target_info field 181 180 24 list field_types call 182 pith_list_len int 1 181 lt 183 179 182 -brif 183 L2120 L2121 -label L2120 +brif 183 L2133 L2134 +label L2133 load 184 target_info field 185 184 24 list field_types load 186 __loopvar_125_i @@ -45573,8 +45756,8 @@ load 188 field_tid call 189 checker_json_decode_field_supported bool 1 188 iconst 191 1 sub 190 191 189 -brif 190 L2123 L2124 -label L2123 +brif 190 L2136 L2137 +label L2136 strref 192 m13s304 strref 193 m13s625 load 194 __loopvar_125_field_name @@ -45598,18 +45781,18 @@ call 211 pith_struct_release void 1 210 load 212 arg_node call 213 pith_struct_release void 1 212 ret 209 -label L2124 -label L2122 -jmp L2119 -label L2121 -label L2119 -label L2112 +label L2137 +label L2135 +jmp L2132 +label L2134 +label L2132 +label L2125 load 214 __for_idx_125 iconst 215 1 add 216 214 215 store __for_idx_125 216 -jmp L2110 -label L2113 +jmp L2123 +label L2126 strref 217 m13s623 call 218 types_lookup_type_id int 1 217 call 219 pith_cstring_release void 1 217 @@ -45617,8 +45800,8 @@ store err_tid 218 load 220 err_tid iconst 221 0 lt 222 220 221 -brif 222 L2126 L2127 -label L2126 +brif 222 L2139 L2140 +label L2139 strref 223 m13s310 strref 224 m13s622 call 225 checker_diagnostics_report_error void 2 223 224 @@ -45630,8 +45813,8 @@ call 230 pith_struct_release void 1 229 load 231 arg_node call 232 pith_struct_release void 1 231 ret 228 -label L2127 -label L2125 +label L2140 +label L2138 load 233 target_tid load 234 err_tid call 235 types_ti_result struct:TypeInfo 2 233 234 @@ -45656,7 +45839,7 @@ store base_node 1 iconst 2 0 store recv_node 2 iconst 3 0 -store __or_3_2131 3 +store __or_3_2144 3 load 4 index_node field 5 4 0 string kind strref 6 m13s291 @@ -45664,27 +45847,27 @@ call 8 pith_cstring_eq bool 2 5 6 iconst 9 1 sub 7 9 8 call 10 pith_cstring_release void 1 6 -store __or_3_2131 7 -brif 7 L2132 L2131 -label L2131 +store __or_3_2144 7 +brif 7 L2145 L2144 +label L2144 load 11 index_node field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 1 lt 15 13 14 -store __or_3_2131 15 -label L2132 -load 16 __or_3_2131 -brif 16 L2129 L2130 -label L2129 +store __or_3_2144 15 +label L2145 +load 16 __or_3_2144 +brif 16 L2142 L2143 +label L2142 strref 17 m13s35 load 18 base_node call 19 pith_struct_release void 1 18 load 20 recv_node call 21 pith_struct_release void 1 20 ret 17 -label L2130 -label L2128 +label L2143 +label L2141 load 22 base_node load 23 index_node field 24 23 16 list children @@ -45698,8 +45881,8 @@ field 30 29 0 string kind strref 31 m13s293 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L2134 L2135 -label L2134 +brif 32 L2147 L2148 +label L2147 load 34 base_node field 35 34 8 string value call 36 pith_cstring_retain void 1 35 @@ -45708,28 +45891,28 @@ call 38 pith_struct_release void 1 37 load 39 recv_node call 40 pith_struct_release void 1 39 ret 35 -label L2135 -label L2133 +label L2148 +label L2146 iconst 41 0 -store __and_41_2139 41 +store __and_41_2152 41 load 42 base_node field 43 42 0 string kind strref 44 m13s292 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_41_2139 45 -brif 45 L2139 L2140 -label L2139 +store __and_41_2152 45 +brif 45 L2152 L2153 +label L2152 load 47 base_node field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 gt 51 49 50 -store __and_41_2139 51 -label L2140 -load 52 __and_41_2139 -brif 52 L2137 L2138 -label L2137 +store __and_41_2152 51 +label L2153 +load 52 __and_41_2152 +brif 52 L2150 L2151 +label L2150 load 53 recv_node load 54 base_node field 55 54 16 list children @@ -45739,24 +45922,24 @@ call 58 ast_get_node struct:Node 1 57 call 59 pith_struct_release void 1 53 store recv_node 58 iconst 60 0 -store __and_60_2144 60 +store __and_60_2157 60 load 61 recv_node field 62 61 0 string kind strref 63 m13s293 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __and_60_2144 64 -brif 64 L2144 L2145 -label L2144 +store __and_60_2157 64 +brif 64 L2157 L2158 +label L2157 load 66 checker_module_aliases load 67 recv_node field 68 67 8 string value call 69 contains_key bool 2 66 68 -store __and_60_2144 69 -label L2145 -load 70 __and_60_2144 -brif 70 L2142 L2143 -label L2142 +store __and_60_2157 69 +label L2158 +load 70 __and_60_2157 +brif 70 L2155 L2156 +label L2155 load 71 checker_module_aliases load 72 recv_node field 73 72 8 string value @@ -45769,11 +45952,11 @@ call 79 pith_struct_release void 1 78 load 80 recv_node call 81 pith_struct_release void 1 80 ret 77 -label L2143 -label L2141 -jmp L2136 -label L2138 -label L2136 +label L2156 +label L2154 +jmp L2149 +label L2151 +label L2149 strref 82 m13s35 load 83 base_node call 84 pith_struct_release void 1 83 @@ -45801,16 +45984,16 @@ field 7 6 0 string kind strref 8 m13s293 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L2147 L2148 -label L2147 +brif 9 L2160 L2161 +label L2160 load 11 type_arg field 12 11 8 string value call 13 checker_resolve_named_type int 1 12 load 14 type_arg call 15 pith_struct_release void 1 14 ret 13 -label L2148 -label L2146 +label L2161 +label L2159 load 16 type_arg_idx call 17 checker_resolve_type_implementation int 1 16 load 18 type_arg @@ -45840,8 +46023,8 @@ store decl_idx 9 load 10 decl_idx iconst 11 0 lt 12 10 11 -brif 12 L2150 L2151 -label L2150 +brif 12 L2163 L2164 +label L2163 load 13 types_TID_ERR load 14 decl_node call 15 pith_struct_release void 1 14 @@ -45852,8 +46035,8 @@ call 19 pith_list_release_handle void 1 18 load 20 subst_map call 21 pith_map_release_handle void 1 20 ret 13 -label L2151 -label L2149 +label L2164 +label L2162 load 22 decl_node load 23 decl_idx call 24 ast_get_node struct:Node 1 23 @@ -45870,14 +46053,14 @@ call 32 pith_list_release_handle void 1 30 store type_args 31 iconst 33 1 store i 33 -label L2152 +label L2165 load 34 i load 35 index_node field 36 35 16 list children call 37 pith_list_len int 1 36 lt 38 34 37 -brif 38 L2153 L2154 -label L2153 +brif 38 L2166 L2167 +label L2166 load 39 type_args load 40 index_node field 41 40 16 list children @@ -45889,15 +46072,15 @@ load 46 i iconst 47 1 add 48 46 47 store i 48 -jmp L2152 -label L2154 +jmp L2165 +label L2167 load 49 type_args call 50 pith_list_len int 1 49 load 51 generic_params call 52 pith_list_len int 1 51 neq 53 50 52 -brif 53 L2156 L2157 -label L2156 +brif 53 L2169 L2170 +label L2169 strref 54 m13s621 load 55 name strref 56 m13s549 @@ -45932,8 +46115,8 @@ call 84 pith_list_release_handle void 1 83 load 85 subst_map call 86 pith_map_release_handle void 1 85 ret 78 -label L2157 -label L2155 +label L2170 +label L2168 load 87 subst_map call 88 pith_map_new_default map 0 call 89 pith_map_release_handle void 1 87 @@ -45944,12 +46127,12 @@ iconst 92 0 store __for_idx_126 92 store __for_len_126 91 store __for_iter_126 90 -label L2158 +label L2171 load 93 __for_idx_126 load 94 __for_len_126 lt 95 93 94 -brif 95 L2159 L2161 -label L2159 +brif 95 L2172 L2174 +label L2172 load 96 __for_iter_126 load 97 __for_idx_126 call 98 pith_list_get_value_unchecked string 2 96 97 @@ -45960,31 +46143,31 @@ load 100 __loopvar_126_gp_i load 101 type_args call 102 pith_list_len int 1 101 lt 103 100 102 -brif 103 L2163 L2164 -label L2163 +brif 103 L2176 L2177 +label L2176 load 104 subst_map load 105 __loopvar_126_gp load 106 type_args load 107 __loopvar_126_gp_i call 108 pith_list_get_value_strict int 2 106 107 call 109 map_insert void 3 104 105 108 -jmp L2162 -label L2164 -label L2162 -label L2160 +jmp L2175 +label L2177 +label L2175 +label L2173 load 110 __for_idx_126 iconst 111 1 add 112 110 111 store __for_idx_126 112 -jmp L2158 -label L2161 +jmp L2171 +label L2174 load 113 decl_idx load 114 subst_map call 115 checker_check_type_parameter_bounds bool 2 113 114 iconst 116 0 eq 117 115 116 -brif 117 L2166 L2167 -label L2166 +brif 117 L2179 L2180 +label L2179 load 118 types_TID_ERR load 119 decl_node call 120 pith_struct_release void 1 119 @@ -45995,8 +46178,8 @@ call 124 pith_list_release_handle void 1 123 load 125 subst_map call 126 pith_map_release_handle void 1 125 ret 118 -label L2167 -label L2165 +label L2180 +label L2178 load 127 decl_node load 128 type_args call 129 checker_instantiate_generic_struct_type int 2 127 128 @@ -46004,8 +46187,8 @@ store struct_tid 129 load 130 struct_tid iconst 131 0 lt 132 130 131 -brif 132 L2169 L2170 -label L2169 +brif 132 L2182 L2183 +label L2182 load 133 types_TID_ERR load 134 decl_node call 135 pith_struct_release void 1 134 @@ -46016,8 +46199,8 @@ call 139 pith_list_release_handle void 1 138 load 140 subst_map call 141 pith_map_release_handle void 1 140 ret 133 -label L2170 -label L2168 +label L2183 +label L2181 load 142 struct_tid call 143 types_get_type_name string 1 142 load 144 struct_tid @@ -46075,8 +46258,8 @@ store decl_idx 13 load 14 decl_idx iconst 15 0 lt 16 14 15 -brif 16 L2172 L2173 -label L2172 +brif 16 L2185 L2186 +label L2185 load 17 types_TID_ERR load 18 decl_node call 19 pith_struct_release void 1 18 @@ -46095,8 +46278,8 @@ call 31 pith_list_release_handle void 1 30 load 32 cn call 33 pith_struct_release void 1 32 ret 17 -label L2173 -label L2171 +label L2186 +label L2184 load 34 decl_node load 35 decl_idx call 36 ast_get_node struct:Node 1 35 @@ -46113,14 +46296,14 @@ call 44 pith_list_release_handle void 1 42 store subst_args 43 iconst 45 1 store i 45 -label L2174 +label L2187 load 46 i load 47 index_node field 48 47 16 list children call 49 pith_list_len int 1 48 lt 50 46 49 -brif 50 L2175 L2176 -label L2175 +brif 50 L2188 L2189 +label L2188 load 51 subst_args load 52 index_node field 53 52 16 list children @@ -46132,15 +46315,15 @@ load 58 i iconst 59 1 add 60 58 59 store i 60 -jmp L2174 -label L2176 +jmp L2187 +label L2189 load 61 subst_args call 62 pith_list_len int 1 61 load 63 generic_params call 64 pith_list_len int 1 63 neq 65 62 64 -brif 65 L2178 L2179 -label L2178 +brif 65 L2191 L2192 +label L2191 strref 66 m13s621 load 67 name strref 68 m13s549 @@ -46183,8 +46366,8 @@ call 104 pith_list_release_handle void 1 103 load 105 cn call 106 pith_struct_release void 1 105 ret 90 -label L2179 -label L2177 +label L2192 +label L2190 load 107 subst_map call 108 pith_map_new_default map 0 call 109 pith_map_release_handle void 1 107 @@ -46195,12 +46378,12 @@ iconst 112 0 store __for_idx_127 112 store __for_len_127 111 store __for_iter_127 110 -label L2180 +label L2193 load 113 __for_idx_127 load 114 __for_len_127 lt 115 113 114 -brif 115 L2181 L2183 -label L2181 +brif 115 L2194 L2196 +label L2194 load 116 __for_iter_127 load 117 __for_idx_127 call 118 pith_list_get_value_unchecked string 2 116 117 @@ -46211,31 +46394,31 @@ load 120 __loopvar_127_gp_i load 121 subst_args call 122 pith_list_len int 1 121 lt 123 120 122 -brif 123 L2185 L2186 -label L2185 +brif 123 L2198 L2199 +label L2198 load 124 subst_map load 125 __loopvar_127_gp load 126 subst_args load 127 __loopvar_127_gp_i call 128 pith_list_get_value_strict int 2 126 127 call 129 map_insert void 3 124 125 128 -jmp L2184 -label L2186 -label L2184 -label L2182 +jmp L2197 +label L2199 +label L2197 +label L2195 load 130 __for_idx_127 iconst 131 1 add 132 130 131 store __for_idx_127 132 -jmp L2180 -label L2183 +jmp L2193 +label L2196 load 133 decl_idx load 134 subst_map call 135 checker_check_type_parameter_bounds bool 2 133 134 iconst 136 0 eq 137 135 136 -brif 137 L2188 L2189 -label L2188 +brif 137 L2201 L2202 +label L2201 load 138 types_TID_ERR load 139 decl_node call 140 pith_struct_release void 1 139 @@ -46254,8 +46437,8 @@ call 152 pith_list_release_handle void 1 151 load 153 cn call 154 pith_struct_release void 1 153 ret 138 -label L2189 -label L2187 +label L2202 +label L2200 load 155 arg_types call 156 pith_list_new_default list 0 call 157 pith_list_release_handle void 1 155 @@ -46266,12 +46449,12 @@ iconst 160 0 store __for_idx_128 160 store __for_len_128 159 store __for_iter_128 158 -label L2190 +label L2203 load 161 __for_idx_128 load 162 __for_len_128 lt 163 161 162 -brif 163 L2191 L2193 -label L2191 +brif 163 L2204 L2206 +label L2204 load 164 __for_iter_128 load 165 __for_idx_128 call 166 pith_list_get_value unknown 2 164 165 @@ -46284,45 +46467,45 @@ store arg_node 169 load 171 __loopvar_128_ai store arg_expr 171 iconst 172 0 -store __and_172_2197 172 +store __and_172_2210 172 load 173 arg_node field 174 173 0 string kind strref 175 m13s298 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 -store __and_172_2197 176 -brif 176 L2197 L2198 -label L2197 +store __and_172_2210 176 +brif 176 L2210 L2211 +label L2210 load 178 arg_node field 179 178 16 list children call 180 pith_list_len int 1 179 iconst 181 0 gt 182 180 181 -store __and_172_2197 182 -label L2198 -load 183 __and_172_2197 -brif 183 L2195 L2196 -label L2195 +store __and_172_2210 182 +label L2211 +load 183 __and_172_2210 +brif 183 L2208 L2209 +label L2208 load 184 arg_node field 185 184 16 list children iconst 186 0 call 187 pith_list_get_value_strict int 2 185 186 store arg_expr 187 -jmp L2194 -label L2196 -label L2194 +jmp L2207 +label L2209 +label L2207 load 188 arg_types load 189 arg_expr load 190 scope_id call 191 checker_c_check_expr int 2 189 190 call 192 pith_list_push_value void 2 188 191 -label L2192 +label L2205 load 193 __for_idx_128 iconst 194 1 add 195 193 194 store __for_idx_128 195 -jmp L2190 -label L2193 +jmp L2203 +label L2206 load 196 param_type_nodes call 197 pith_list_new_default list 0 call 198 pith_list_release_handle void 1 196 @@ -46334,12 +46517,12 @@ iconst 202 0 store __for_idx_129 202 store __for_len_129 201 store __for_iter_129 200 -label L2199 +label L2212 load 203 __for_idx_129 load 204 __for_len_129 lt 205 203 204 -brif 205 L2200 L2202 -label L2200 +brif 205 L2213 L2215 +label L2213 load 206 __for_iter_129 load 207 __for_idx_129 call 208 pith_list_get_value unknown 2 206 207 @@ -46354,46 +46537,46 @@ field 214 213 0 string kind strref 215 m13s323 call 216 pith_cstring_eq bool 2 214 215 call 217 pith_cstring_release void 1 215 -brif 216 L2204 L2205 -label L2204 +brif 216 L2217 L2218 +label L2217 load 218 cn field 219 218 16 list children call 220 pith_list_len int 1 219 iconst 221 0 gt 222 220 221 -brif 222 L2207 L2208 -label L2207 +brif 222 L2220 L2221 +label L2220 load 223 param_type_nodes load 224 cn field 225 224 16 list children iconst 226 0 call 227 pith_list_get_value_strict int 2 225 226 call 228 pith_list_push_value void 2 223 227 -jmp L2206 -label L2208 +jmp L2219 +label L2221 load 229 param_type_nodes iconst 230 1 iconst 232 0 sub 231 232 230 call 233 pith_list_push_value void 2 229 231 -label L2206 -jmp L2203 -label L2205 -label L2203 -label L2201 +label L2219 +jmp L2216 +label L2218 +label L2216 +label L2214 load 234 __for_idx_129 iconst 235 1 add 236 234 235 store __for_idx_129 236 -jmp L2199 -label L2202 +jmp L2212 +label L2215 load 237 arg_types call 238 pith_list_len int 1 237 load 239 param_type_nodes call 240 pith_list_len int 1 239 neq 241 238 240 -brif 241 L2210 L2211 -label L2210 +brif 241 L2223 L2224 +label L2223 strref 242 m13s307 strref 243 m13s558 load 244 param_type_nodes @@ -46433,8 +46616,8 @@ call 277 pith_list_release_handle void 1 276 load 278 cn call 279 pith_struct_release void 1 278 ret 263 -label L2211 -label L2209 +label L2224 +label L2222 load 280 types_TID_VOID store ret_type 280 load 281 decl_node @@ -46444,12 +46627,12 @@ iconst 284 0 store __for_idx_130 284 store __for_len_130 283 store __for_iter_130 282 -label L2212 +label L2225 load 285 __for_idx_130 load 286 __for_len_130 lt 287 285 286 -brif 287 L2213 L2215 -label L2213 +brif 287 L2226 L2228 +label L2226 load 288 __for_iter_130 load 289 __for_idx_130 call 290 pith_list_get_value unknown 2 288 289 @@ -46464,8 +46647,8 @@ field 296 295 0 string kind strref 297 m13s555 call 298 pith_cstring_eq bool 2 296 297 call 299 pith_cstring_release void 1 297 -brif 298 L2217 L2218 -label L2217 +brif 298 L2230 L2231 +label L2230 load 300 cn field 301 300 16 list children iconst 302 0 @@ -46474,16 +46657,16 @@ load 304 generic_params load 305 subst_args call 306 checker_resolve_type_with_substitution_map int 3 303 304 305 store ret_type 306 -jmp L2216 -label L2218 -label L2216 -label L2214 +jmp L2229 +label L2231 +label L2229 +label L2227 load 307 __for_idx_130 iconst 308 1 add 309 307 308 store __for_idx_130 309 -jmp L2212 -label L2215 +jmp L2225 +label L2228 iconst 310 0 store vidx 310 load 311 param_type_nodes @@ -46492,65 +46675,65 @@ iconst 313 0 store __for_idx_131 313 store __for_len_131 312 store __for_iter_131 311 -label L2219 +label L2232 load 314 __for_idx_131 load 315 __for_len_131 lt 316 314 315 -brif 316 L2220 L2222 -label L2220 +brif 316 L2233 L2235 +label L2233 load 317 __for_iter_131 load 318 __for_idx_131 call 319 pith_list_get_value unknown 2 317 318 store __loopvar_131_ptn 319 iconst 320 0 -store __and_320_2226 320 +store __and_320_2239 320 load 321 __loopvar_131_ptn iconst 322 0 gte 323 321 322 -store __and_320_2226 323 -brif 323 L2226 L2227 -label L2226 +store __and_320_2239 323 +brif 323 L2239 L2240 +label L2239 load 324 vidx load 325 arg_types call 326 pith_list_len int 1 325 lt 327 324 326 -store __and_320_2226 327 -label L2227 -load 328 __and_320_2226 -brif 328 L2224 L2225 -label L2224 +store __and_320_2239 327 +label L2240 +load 328 __and_320_2239 +brif 328 L2237 L2238 +label L2237 load 329 __loopvar_131_ptn load 330 generic_params load 331 subst_args call 332 checker_resolve_type_with_substitution_map int 3 329 330 331 store concrete 332 iconst 333 0 -store __and_333_2231 333 +store __and_333_2244 333 load 334 concrete call 335 types_is_error_type bool 1 334 iconst 336 0 eq 337 335 336 -store __and_333_2231 337 -brif 337 L2231 L2232 -label L2231 +store __and_333_2244 337 +brif 337 L2244 L2245 +label L2244 load 338 arg_types load 339 vidx call 340 pith_list_get_value_strict int 2 338 339 call 341 types_is_error_type bool 1 340 iconst 342 0 eq 343 341 342 -store __and_333_2231 343 -label L2232 -load 344 __and_333_2231 -brif 344 L2229 L2230 -label L2229 +store __and_333_2244 343 +label L2245 +load 344 __and_333_2244 +brif 344 L2242 L2243 +label L2242 load 345 arg_types load 346 vidx call 347 pith_list_get_value_strict int 2 345 346 load 348 concrete neq 349 347 348 -brif 349 L2234 L2235 -label L2234 +brif 349 L2247 L2248 +label L2247 load 350 arg_types load 351 vidx call 352 pith_list_get_value_strict int 2 350 351 @@ -46558,8 +46741,8 @@ load 353 concrete call 354 checker_types_structurally_equal bool 2 352 353 iconst 355 0 eq 356 354 355 -brif 356 L2237 L2238 -label L2237 +brif 356 L2250 L2251 +label L2250 strref 357 m13s304 strref 358 m13s443 load 359 concrete @@ -46581,29 +46764,29 @@ call 374 pith_cstring_release void 1 371 call 375 checker_diagnostics_report_error void 2 357 372 call 376 pith_cstring_release void 1 357 call 377 pith_cstring_release void 1 372 +jmp L2249 +label L2251 +label L2249 +jmp L2246 +label L2248 +label L2246 +jmp L2241 +label L2243 +label L2241 jmp L2236 label L2238 label L2236 -jmp L2233 -label L2235 -label L2233 -jmp L2228 -label L2230 -label L2228 -jmp L2223 -label L2225 -label L2223 load 378 vidx iconst 379 1 add 380 378 379 store vidx 380 -label L2221 +label L2234 load 381 __for_idx_131 iconst 382 1 add 383 381 382 store __for_idx_131 383 -jmp L2219 -label L2222 +jmp L2232 +label L2235 load 384 ret_type load 385 decl_node call 386 pith_struct_release void 1 385 @@ -46665,8 +46848,8 @@ field 11 10 16 list children call 12 pith_list_len int 1 11 iconst 13 1 lt 14 12 13 -brif 14 L2240 L2241 -label L2240 +brif 14 L2253 L2254 +label L2253 load 15 types_TID_ERR load 16 callee_node call 17 pith_struct_release void 1 16 @@ -46685,8 +46868,8 @@ call 29 pith_struct_release void 1 28 load 30 existing_info call 31 pith_struct_release void 1 30 ret 15 -label L2241 -label L2239 +label L2254 +label L2252 load 32 node field 33 32 16 list children iconst 34 0 @@ -46710,12 +46893,12 @@ iconst 47 0 store __for_idx_132 47 store __for_len_132 46 store __for_iter_132 45 -label L2242 +label L2255 load 48 __for_idx_132 load 49 __for_len_132 lt 50 48 49 -brif 50 L2243 L2245 -label L2243 +brif 50 L2256 L2258 +label L2256 load 51 __for_iter_132 load 52 __for_idx_132 call 53 pith_list_get_value unknown 2 51 52 @@ -46723,38 +46906,38 @@ store __loopvar_132_child 53 load 54 skip_callee iconst 55 0 gt 56 54 55 -brif 56 L2247 L2248 -label L2247 +brif 56 L2260 L2261 +label L2260 load 57 skip_callee iconst 58 1 sub 59 57 58 store skip_callee 59 -jmp L2244 -label L2248 -label L2246 +jmp L2257 +label L2261 +label L2259 load 60 arg_indices load 61 __loopvar_132_child call 62 pith_list_push_value void 2 60 61 -label L2244 +label L2257 load 63 __for_idx_132 iconst 64 1 add 65 63 64 store __for_idx_132 65 -jmp L2242 -label L2245 +jmp L2255 +label L2258 load 66 callee_node field 67 66 0 string kind strref 68 m13s291 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L2250 L2251 -label L2250 +brif 69 L2263 L2264 +label L2263 load 71 callee_node strref 72 m13s618 call 73 checker_check_json_decode_callee bool 2 71 72 call 74 pith_cstring_release void 1 72 -brif 73 L2253 L2254 -label L2253 +brif 73 L2266 L2267 +label L2266 load 75 callee_node load 76 arg_indices load 77 scope_id @@ -46777,14 +46960,14 @@ call 93 pith_struct_release void 1 92 load 94 existing_info call 95 pith_struct_release void 1 94 ret 79 -label L2254 -label L2252 +label L2267 +label L2265 load 96 callee_node strref 97 m13s617 call 98 checker_check_json_decode_callee bool 2 96 97 call 99 pith_cstring_release void 1 97 -brif 98 L2256 L2257 -label L2256 +brif 98 L2269 L2270 +label L2269 load 100 callee_node load 101 arg_indices load 102 scope_id @@ -46807,14 +46990,14 @@ call 118 pith_struct_release void 1 117 load 119 existing_info call 120 pith_struct_release void 1 119 ret 104 -label L2257 -label L2255 +label L2270 +label L2268 load 121 callee_node strref 122 m13s618 call 123 checker_check_config_decode_callee bool 2 121 122 call 124 pith_cstring_release void 1 122 -brif 123 L2259 L2260 -label L2259 +brif 123 L2272 L2273 +label L2272 load 125 callee_node load 126 arg_indices load 127 scope_id @@ -46837,14 +47020,14 @@ call 143 pith_struct_release void 1 142 load 144 existing_info call 145 pith_struct_release void 1 144 ret 129 -label L2260 -label L2258 +label L2273 +label L2271 load 146 callee_node strref 147 m13s619 call 148 checker_check_config_decode_callee bool 2 146 147 call 149 pith_cstring_release void 1 147 -brif 148 L2262 L2263 -label L2262 +brif 148 L2275 L2276 +label L2275 load 150 callee_node load 151 arg_indices load 152 scope_id @@ -46867,14 +47050,14 @@ call 168 pith_struct_release void 1 167 load 169 existing_info call 170 pith_struct_release void 1 169 ret 154 -label L2263 -label L2261 +label L2276 +label L2274 load 171 callee_node strref 172 m13s618 call 173 checker_check_toml_decode_callee bool 2 171 172 call 174 pith_cstring_release void 1 172 -brif 173 L2265 L2266 -label L2265 +brif 173 L2278 L2279 +label L2278 load 175 callee_node load 176 arg_indices load 177 scope_id @@ -46897,14 +47080,14 @@ call 193 pith_struct_release void 1 192 load 194 existing_info call 195 pith_struct_release void 1 194 ret 179 -label L2266 -label L2264 +label L2279 +label L2277 load 196 callee_node strref 197 m13s617 call 198 checker_check_toml_decode_callee bool 2 196 197 call 199 pith_cstring_release void 1 197 -brif 198 L2268 L2269 -label L2268 +brif 198 L2281 L2282 +label L2281 load 200 callee_node load 201 arg_indices load 202 scope_id @@ -46927,14 +47110,14 @@ call 218 pith_struct_release void 1 217 load 219 existing_info call 220 pith_struct_release void 1 219 ret 204 -label L2269 -label L2267 +label L2282 +label L2280 load 221 callee_node strref 222 m13s616 call 223 checker_check_config_file_decode_callee bool 2 221 222 call 224 pith_cstring_release void 1 222 -brif 223 L2271 L2272 -label L2271 +brif 223 L2284 L2285 +label L2284 load 225 callee_node load 226 arg_indices load 227 scope_id @@ -46956,14 +47139,14 @@ call 242 pith_struct_release void 1 241 load 243 existing_info call 244 pith_struct_release void 1 243 ret 228 -label L2272 -label L2270 +label L2285 +label L2283 load 245 callee_node strref 246 m13s615 call 247 checker_check_config_file_decode_callee bool 2 245 246 call 248 pith_cstring_release void 1 246 -brif 247 L2274 L2275 -label L2274 +brif 247 L2287 L2288 +label L2287 load 249 callee_node load 250 arg_indices load 251 scope_id @@ -46985,15 +47168,15 @@ call 266 pith_struct_release void 1 265 load 267 existing_info call 268 pith_struct_release void 1 267 ret 252 -label L2275 -label L2273 +label L2288 +label L2286 load 269 callee_node field 270 269 16 list children call 271 pith_list_len int 1 270 iconst 272 2 gte 273 271 272 -brif 273 L2277 L2278 -label L2277 +brif 273 L2290 L2291 +label L2290 load 274 obj_node load 275 callee_node field 276 275 16 list children @@ -47007,15 +47190,15 @@ field 282 281 0 string kind strref 283 m13s293 call 284 pith_cstring_eq bool 2 282 283 call 285 pith_cstring_release void 1 283 -brif 284 L2280 L2281 -label L2280 +brif 284 L2293 L2294 +label L2293 load 286 obj_node field 287 286 8 string value strref 288 m13s23 call 289 pith_cstring_eq bool 2 287 288 call 290 pith_cstring_release void 1 288 -brif 289 L2283 L2284 -label L2283 +brif 289 L2296 L2297 +label L2296 load 291 callee_node load 292 arg_indices load 293 scope_id @@ -47037,35 +47220,35 @@ call 308 pith_struct_release void 1 307 load 309 existing_info call 310 pith_struct_release void 1 309 ret 294 -label L2284 -label L2282 -jmp L2279 -label L2281 -label L2279 -jmp L2276 -label L2278 -label L2276 +label L2297 +label L2295 +jmp L2292 +label L2294 +label L2292 +jmp L2289 +label L2291 +label L2289 load 311 explicit_name load 312 callee_node call 313 checker_check_explicit_generic_callee_name string 1 312 call 314 pith_cstring_release void 1 311 store explicit_name 313 iconst 315 0 -store __and_315_2288 315 +store __and_315_2301 315 load 316 explicit_name call 317 string_len int 1 316 iconst 318 0 gt 319 317 318 -store __and_315_2288 319 -brif 319 L2288 L2289 -label L2288 +store __and_315_2301 319 +brif 319 L2301 L2302 +label L2301 load 320 explicit_name call 321 checker_has_generic_declaration bool 1 320 -store __and_315_2288 321 -label L2289 -load 322 __and_315_2288 -brif 322 L2286 L2287 -label L2286 +store __and_315_2301 321 +label L2302 +load 322 __and_315_2301 +brif 322 L2299 L2300 +label L2299 load 323 gdecl load 324 explicit_name call 325 checker_get_generic_declaration_index int 1 324 @@ -47077,8 +47260,8 @@ field 329 328 0 string kind strref 330 m13s287 call 331 pith_cstring_eq bool 2 329 330 call 332 pith_cstring_release void 1 330 -brif 331 L2291 L2292 -label L2291 +brif 331 L2304 L2305 +label L2304 load 333 explicit_name load 334 callee_node load 335 arg_indices @@ -47101,8 +47284,8 @@ call 351 pith_struct_release void 1 350 load 352 existing_info call 353 pith_struct_release void 1 352 ret 337 -label L2292 -label L2290 +label L2305 +label L2303 load 354 explicit_name load 355 callee_node load 356 arg_indices @@ -47125,8 +47308,8 @@ call 372 pith_struct_release void 1 371 load 373 existing_info call 374 pith_struct_release void 1 373 ret 358 -label L2287 -label L2285 +label L2300 +label L2298 load 375 callee_idx load 376 arg_indices load 377 scope_id @@ -47148,15 +47331,15 @@ call 392 pith_struct_release void 1 391 load 393 existing_info call 394 pith_struct_release void 1 393 ret 378 -label L2251 -label L2249 +label L2264 +label L2262 load 395 callee_node field 396 395 0 string kind strref 397 m13s293 call 398 pith_cstring_eq bool 2 396 397 call 399 pith_cstring_release void 1 397 -brif 398 L2294 L2295 -label L2294 +brif 398 L2307 L2308 +label L2307 load 400 name load 401 callee_node field 402 401 8 string value @@ -47164,20 +47347,20 @@ call 403 pith_cstring_retain void 1 402 call 404 pith_cstring_release void 1 400 store name 402 iconst 405 0 -store __and_405_2299 405 +store __and_405_2312 405 load 406 checker_checking_test_decl -store __and_405_2299 406 -brif 406 L2299 L2300 -label L2299 +store __and_405_2312 406 +brif 406 L2312 L2313 +label L2312 load 407 name strref 408 m13s614 call 409 pith_cstring_eq bool 2 407 408 call 410 pith_cstring_release void 1 408 -store __and_405_2299 409 -label L2300 -load 411 __and_405_2299 -brif 411 L2297 L2298 -label L2297 +store __and_405_2312 409 +label L2313 +load 411 __and_405_2312 +brif 411 L2310 L2311 +label L2310 load 412 arg_indices load 413 scope_id call 414 checker_check_assertion_equality int 2 412 413 @@ -47198,23 +47381,23 @@ call 428 pith_struct_release void 1 427 load 429 existing_info call 430 pith_struct_release void 1 429 ret 414 -label L2298 -label L2296 +label L2311 +label L2309 iconst 431 0 -store __and_431_2304 431 +store __and_431_2317 431 load 432 checker_checking_test_decl -store __and_431_2304 432 -brif 432 L2304 L2305 -label L2304 +store __and_431_2317 432 +brif 432 L2317 L2318 +label L2317 load 433 name strref 434 m13s613 call 435 pith_cstring_eq bool 2 433 434 call 436 pith_cstring_release void 1 434 -store __and_431_2304 435 -label L2305 -load 437 __and_431_2304 -brif 437 L2302 L2303 -label L2302 +store __and_431_2317 435 +label L2318 +load 437 __and_431_2317 +brif 437 L2315 L2316 +label L2315 load 438 arg_indices load 439 scope_id call 440 checker_check_assertion_equality int 2 438 439 @@ -47235,14 +47418,14 @@ call 454 pith_struct_release void 1 453 load 455 existing_info call 456 pith_struct_release void 1 455 ret 440 -label L2303 -label L2301 +label L2316 +label L2314 load 457 name strref 458 m13s20 call 459 pith_cstring_eq bool 2 457 458 call 460 pith_cstring_release void 1 458 -brif 459 L2307 L2308 -label L2307 +brif 459 L2320 L2321 +label L2320 load 461 arg_indices load 462 scope_id call 463 checker_check_list_map_builtin int 2 461 462 @@ -47263,14 +47446,14 @@ call 477 pith_struct_release void 1 476 load 478 existing_info call 479 pith_struct_release void 1 478 ret 463 -label L2308 -label L2306 +label L2321 +label L2319 load 480 name strref 481 m13s503 call 482 pith_cstring_eq bool 2 480 481 call 483 pith_cstring_release void 1 481 -brif 482 L2310 L2311 -label L2310 +brif 482 L2323 L2324 +label L2323 load 484 arg_indices load 485 scope_id call 486 checker_check_list_filter_builtin int 2 484 485 @@ -47291,14 +47474,14 @@ call 500 pith_struct_release void 1 499 load 501 existing_info call 502 pith_struct_release void 1 501 ret 486 -label L2311 -label L2309 +label L2324 +label L2322 load 503 name strref 504 m13s502 call 505 pith_cstring_eq bool 2 503 504 call 506 pith_cstring_release void 1 504 -brif 505 L2313 L2314 -label L2313 +brif 505 L2326 L2327 +label L2326 load 507 arg_indices load 508 scope_id call 509 checker_check_list_reduce_builtin int 2 507 508 @@ -47319,16 +47502,16 @@ call 523 pith_struct_release void 1 522 load 524 existing_info call 525 pith_struct_release void 1 524 ret 509 -label L2314 -label L2312 +label L2327 +label L2325 load 526 name call 527 types_lookup_type_id int 1 526 store struct_tid 527 load 528 struct_tid iconst 529 0 gte 530 528 529 -brif 530 L2316 L2317 -label L2316 +brif 530 L2329 L2330 +label L2329 load 531 info load 532 struct_tid call 533 types_get_type_info struct:TypeInfo 1 532 @@ -47339,21 +47522,21 @@ field 536 535 0 string kind strref 537 m13s34 call 538 pith_cstring_eq bool 2 536 537 call 539 pith_cstring_release void 1 537 -brif 538 L2319 L2320 -label L2319 +brif 538 L2332 L2333 +label L2332 load 540 info field 541 540 16 list_string fields call 542 pith_list_len int 1 541 iconst 543 0 eq 544 542 543 -brif 544 L2322 L2323 -label L2322 +brif 544 L2335 L2336 +label L2335 load 545 arg_indices call 546 pith_list_len int 1 545 iconst 547 0 gt 548 546 547 -brif 548 L2325 L2326 -label L2325 +brif 548 L2338 L2339 +label L2338 load 549 callee_idx load 550 arg_indices load 551 scope_id @@ -47375,11 +47558,11 @@ call 566 pith_struct_release void 1 565 load 567 existing_info call 568 pith_struct_release void 1 567 ret 552 -label L2326 -label L2324 -jmp L2321 -label L2323 -label L2321 +label L2339 +label L2337 +jmp L2334 +label L2336 +label L2334 load 569 name load 570 struct_tid load 571 info @@ -47403,15 +47586,15 @@ call 588 pith_struct_release void 1 587 load 589 existing_info call 590 pith_struct_release void 1 589 ret 574 -label L2320 -label L2318 +label L2333 +label L2331 load 591 info field 592 591 0 string kind strref 593 m13s33 call 594 pith_cstring_eq bool 2 592 593 call 595 pith_cstring_release void 1 593 -brif 594 L2328 L2329 -label L2328 +brif 594 L2341 L2342 +label L2341 load 596 callee_idx load 597 arg_indices load 598 scope_id @@ -47433,11 +47616,11 @@ call 613 pith_struct_release void 1 612 load 614 existing_info call 615 pith_struct_release void 1 614 ret 599 -label L2329 -label L2327 -jmp L2315 -label L2317 -label L2315 +label L2342 +label L2340 +jmp L2328 +label L2330 +label L2328 load 616 scope_id load 617 name call 618 scope_lookup_binding int 2 616 617 @@ -47445,8 +47628,8 @@ store existing_fn 618 load 619 existing_fn iconst 620 0 gte 621 619 620 -brif 621 L2331 L2332 -label L2331 +brif 621 L2344 L2345 +label L2344 load 622 existing_info load 623 existing_fn call 624 types_get_type_info struct:TypeInfo 1 623 @@ -47457,8 +47640,8 @@ field 627 626 0 string kind strref 628 m13s31 call 629 pith_cstring_eq bool 2 627 628 call 630 pith_cstring_release void 1 628 -brif 629 L2334 L2335 -label L2334 +brif 629 L2347 L2348 +label L2347 load 631 callee_idx load 632 arg_indices load 633 scope_id @@ -47480,15 +47663,15 @@ call 648 pith_struct_release void 1 647 load 649 existing_info call 650 pith_struct_release void 1 649 ret 634 -label L2335 -label L2333 -jmp L2330 -label L2332 -label L2330 +label L2348 +label L2346 +jmp L2343 +label L2345 +label L2343 load 651 name call 652 checker_has_generic_declaration bool 1 651 -brif 652 L2337 L2338 -label L2337 +brif 652 L2350 L2351 +label L2350 load 653 gdecl load 654 name call 655 checker_get_generic_declaration_index int 1 654 @@ -47500,8 +47683,8 @@ field 659 658 0 string kind strref 660 m13s287 call 661 pith_cstring_eq bool 2 659 660 call 662 pith_cstring_release void 1 660 -brif 661 L2340 L2341 -label L2340 +brif 661 L2353 L2354 +label L2353 load 663 name load 664 arg_indices load 665 scope_id @@ -47523,8 +47706,8 @@ call 680 pith_struct_release void 1 679 load 681 existing_info call 682 pith_struct_release void 1 681 ret 666 -label L2341 -label L2339 +label L2354 +label L2352 load 683 name load 684 arg_indices load 685 scope_id @@ -47546,8 +47729,8 @@ call 700 pith_struct_release void 1 699 load 701 existing_info call 702 pith_struct_release void 1 701 ret 686 -label L2338 -label L2336 +label L2351 +label L2349 load 703 callee_idx load 704 arg_indices load 705 scope_id @@ -47569,8 +47752,8 @@ call 720 pith_struct_release void 1 719 load 721 existing_info call 722 pith_struct_release void 1 721 ret 706 -label L2295 -label L2293 +label L2308 +label L2306 load 723 callee_idx load 724 arg_indices load 725 scope_id @@ -47634,8 +47817,8 @@ 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 L2343 L2344 -label L2343 +brif 15 L2356 L2357 +label L2356 strref 19 m13s612 strref 20 m13s611 call 21 checker_diagnostics_report_error void 2 19 20 @@ -47647,30 +47830,30 @@ call 26 pith_struct_release void 1 25 load 27 type_args call 28 pith_list_release_handle void 1 27 ret 24 -label L2344 -label L2342 +label L2357 +label L2355 load 29 type_arg_node field 30 29 8 string value call 31 checker_resolve_named_type int 1 30 store inner_tid 31 load 32 inner_tid call 33 types_is_error_type bool 1 32 -brif 33 L2346 L2347 -label L2346 +brif 33 L2359 L2360 +label L2359 load 34 types_TID_ERR load 35 type_arg_node call 36 pith_struct_release void 1 35 load 37 type_args call 38 pith_list_release_handle void 1 37 ret 34 -label L2347 -label L2345 +label L2360 +label L2358 load 39 arg_indices call 40 pith_list_len int 1 39 iconst 41 1 gt 42 40 41 -brif 42 L2349 L2350 -label L2349 +brif 42 L2362 L2363 +label L2362 strref 43 m13s307 strref 44 m13s610 load 45 arg_indices @@ -47688,14 +47871,14 @@ call 56 pith_struct_release void 1 55 load 57 type_args call 58 pith_list_release_handle void 1 57 ret 54 -label L2350 -label L2348 +label L2363 +label L2361 load 59 arg_indices call 60 pith_list_len int 1 59 iconst 61 1 eq 62 60 61 -brif 62 L2352 L2353 -label L2352 +brif 62 L2365 L2366 +label L2365 strref 63 m13s23 load 64 arg_indices strref 65 m13s15 @@ -47704,9 +47887,9 @@ call 67 pith_cstring_release void 1 65 load 68 scope_id call 69 checker_expect_one_typed_argument void 4 63 64 66 68 call 70 pith_cstring_release void 1 63 -jmp L2351 -label L2353 -label L2351 +jmp L2364 +label L2366 +label L2364 load 71 type_args call 72 pith_list_new_default list 0 call 73 pith_list_release_handle void 1 71 @@ -47740,12 +47923,12 @@ call 5 checker_c_check_expr int 2 3 4 store callee_type 5 load 6 callee_type call 7 types_is_error_type bool 1 6 -brif 7 L2355 L2356 -label L2355 +brif 7 L2368 L2369 +label L2368 load 8 types_TID_ERR ret 8 -label L2356 -label L2354 +label L2369 +label L2367 load 9 callee_type load 10 arg_indices load 11 scope_id @@ -47774,8 +47957,8 @@ call 13 pith_cstring_eq bool 2 10 11 iconst 14 1 sub 12 14 13 call 15 pith_cstring_release void 1 11 -brif 12 L2358 L2359 -label L2358 +brif 12 L2371 L2372 +label L2371 strref 16 m13s579 strref 17 m13s609 call 18 checker_diagnostics_report_error void 2 16 17 @@ -47787,16 +47970,16 @@ call 23 pith_struct_release void 1 22 load 24 arg_node call 25 pith_struct_release void 1 24 ret 21 -label L2359 -label L2357 +label L2372 +label L2370 load 26 arg_indices call 27 pith_list_len int 1 26 load 28 fn_info field 29 28 48 list param_types call 30 pith_list_len int 1 29 neq 31 27 30 -brif 31 L2361 L2362 -label L2361 +brif 31 L2374 L2375 +label L2374 strref 32 m13s307 strref 33 m13s558 load 34 fn_info @@ -47825,8 +48008,8 @@ call 56 pith_struct_release void 1 55 load 57 arg_node call 58 pith_struct_release void 1 57 ret 54 -label L2362 -label L2360 +label L2375 +label L2373 iconst 59 0 store idx 59 load 60 arg_indices @@ -47835,12 +48018,12 @@ iconst 62 0 store __for_idx_133 62 store __for_len_133 61 store __for_iter_133 60 -label L2363 +label L2376 load 63 __for_idx_133 load 64 __for_len_133 lt 65 63 64 -brif 65 L2364 L2366 -label L2364 +brif 65 L2377 L2379 +label L2377 load 66 __for_iter_133 load 67 __for_idx_133 call 68 pith_list_get_value unknown 2 66 67 @@ -47857,26 +48040,26 @@ field 75 74 0 string kind strref 76 m13s298 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -brif 77 L2368 L2369 -label L2368 +brif 77 L2381 L2382 +label L2381 load 79 arg_node field 80 79 16 list children call 81 pith_list_len int 1 80 iconst 82 0 gt 83 81 82 -brif 83 L2371 L2372 -label L2371 +brif 83 L2384 L2385 +label L2384 load 84 arg_node field 85 84 16 list children iconst 86 0 call 87 pith_list_get_value_strict int 2 85 86 store arg_expr_idx 87 -jmp L2370 -label L2372 -label L2370 -jmp L2367 -label L2369 -label L2367 +jmp L2383 +label L2385 +label L2383 +jmp L2380 +label L2382 +label L2380 load 88 arg_expr_idx load 89 scope_id call 90 checker_c_check_expr int 2 88 89 @@ -47885,15 +48068,15 @@ load 91 arg_type call 92 types_is_error_type bool 1 91 iconst 93 0 eq 94 92 93 -brif 94 L2374 L2375 -label L2374 +brif 94 L2387 L2388 +label L2387 load 95 idx load 96 fn_info field 97 96 48 list param_types call 98 pith_list_len int 1 97 lt 99 95 98 -brif 99 L2377 L2378 -label L2377 +brif 99 L2390 L2391 +label L2390 load 100 fn_info field 101 100 48 list param_types load 102 idx @@ -47902,15 +48085,15 @@ store expected 103 load 104 arg_type load 105 expected neq 106 104 105 -brif 106 L2380 L2381 -label L2380 +brif 106 L2393 L2394 +label L2393 load 107 arg_type load 108 expected call 109 checker_types_structurally_equal bool 2 107 108 iconst 110 0 eq 111 109 110 -brif 111 L2383 L2384 -label L2383 +brif 111 L2396 L2397 +label L2396 strref 112 m13s304 strref 113 m13s443 load 114 expected @@ -47930,29 +48113,29 @@ call 127 pith_cstring_release void 1 124 call 128 checker_diagnostics_report_error void 2 112 125 call 129 pith_cstring_release void 1 112 call 130 pith_cstring_release void 1 125 -jmp L2382 -label L2384 -label L2382 -jmp L2379 -label L2381 -label L2379 -jmp L2376 -label L2378 -label L2376 -jmp L2373 -label L2375 -label L2373 +jmp L2395 +label L2397 +label L2395 +jmp L2392 +label L2394 +label L2392 +jmp L2389 +label L2391 +label L2389 +jmp L2386 +label L2388 +label L2386 load 131 idx iconst 132 1 add 133 131 132 store idx 133 -label L2365 +label L2378 load 134 __for_idx_133 iconst 135 1 add 136 134 135 store __for_idx_133 136 -jmp L2363 -label L2366 +jmp L2376 +label L2379 load 137 fn_info field 138 137 56 int return_type load 139 fn_info @@ -47977,12 +48160,12 @@ iconst 4 0 store __for_idx_134 4 store __for_len_134 3 store __for_iter_134 2 -label L2385 +label L2398 load 5 __for_idx_134 load 6 __for_len_134 lt 7 5 6 -brif 7 L2386 L2388 -label L2386 +brif 7 L2399 L2401 +label L2399 load 8 __for_iter_134 load 9 __for_idx_134 call 10 pith_list_get_value unknown 2 8 9 @@ -47993,38 +48176,38 @@ call 13 ast_get_node struct:Node 1 12 call 14 pith_struct_release void 1 11 store an 13 iconst 15 0 -store __and_15_2392 15 +store __and_15_2405 15 load 16 an field 17 16 0 string kind strref 18 m13s298 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_15_2392 19 -brif 19 L2392 L2393 -label L2392 +store __and_15_2405 19 +brif 19 L2405 L2406 +label L2405 load 21 an field 22 21 8 string value call 23 string_len int 1 22 iconst 24 0 gt 25 23 24 -store __and_15_2392 25 -label L2393 -load 26 __and_15_2392 -brif 26 L2390 L2391 -label L2390 +store __and_15_2405 25 +label L2406 +load 26 __and_15_2405 +brif 26 L2403 L2404 +label L2403 iconst 27 1 load 28 an call 29 pith_struct_release void 1 28 ret 27 -label L2391 -label L2389 -label L2387 +label L2404 +label L2402 +label L2400 load 30 __for_idx_134 iconst 31 1 add 32 30 31 store __for_idx_134 32 -jmp L2385 -label L2388 +jmp L2398 +label L2401 iconst 33 0 load 34 an call 35 pith_struct_release void 1 34 @@ -48044,12 +48227,12 @@ iconst 5 0 store __for_idx_135 5 store __for_len_135 4 store __for_iter_135 3 -label L2394 +label L2407 load 6 __for_idx_135 load 7 __for_len_135 lt 8 6 7 -brif 8 L2395 L2397 -label L2395 +brif 8 L2408 L2410 +label L2408 load 9 __for_iter_135 load 10 __for_idx_135 call 11 pith_list_get_value_unchecked string 2 9 10 @@ -48057,19 +48240,19 @@ store __loopvar_135_f 11 load 12 __loopvar_135_f load 13 field_name call 14 checker_strings_equal bool 2 12 13 -brif 14 L2399 L2400 -label L2399 +brif 14 L2412 L2413 +label L2412 iconst 15 1 ret 15 -label L2400 -label L2398 -label L2396 +label L2413 +label L2411 +label L2409 load 16 __for_idx_135 iconst 17 1 add 18 16 17 store __for_idx_135 18 -jmp L2394 -label L2397 +jmp L2407 +label L2410 iconst 19 0 ret 19 iconst 20 0 @@ -48097,12 +48280,12 @@ iconst 13 0 store __for_idx_136 13 store __for_len_136 12 store __for_iter_136 11 -label L2401 +label L2414 load 14 __for_idx_136 load 15 __for_len_136 lt 16 14 15 -brif 16 L2402 L2404 -label L2402 +brif 16 L2415 L2417 +label L2415 load 17 __for_iter_136 load 18 __for_idx_136 call 19 pith_list_get_value unknown 2 17 18 @@ -48113,7 +48296,7 @@ call 22 ast_get_node struct:Node 1 21 call 23 pith_struct_release void 1 20 store an 22 iconst 24 0 -store __or_24_2408 24 +store __or_24_2421 24 load 25 an field 26 25 0 string kind strref 27 m13s298 @@ -48121,19 +48304,19 @@ call 29 pith_cstring_eq bool 2 26 27 iconst 30 1 sub 28 30 29 call 31 pith_cstring_release void 1 27 -store __or_24_2408 28 -brif 28 L2409 L2408 -label L2408 +store __or_24_2421 28 +brif 28 L2422 L2421 +label L2421 load 32 an field 33 32 8 string value call 34 string_len int 1 33 iconst 35 0 eq 36 34 35 -store __or_24_2408 36 -label L2409 -load 37 __or_24_2408 -brif 37 L2406 L2407 -label L2406 +store __or_24_2421 36 +label L2422 +load 37 __or_24_2421 +brif 37 L2419 L2420 +label L2419 strref 38 m13s608 load 39 name strref 40 m13s607 @@ -48144,16 +48327,16 @@ call 44 pith_cstring_release void 1 38 call 45 pith_cstring_release void 1 41 iconst 46 0 store ok 46 -jmp L2405 -label L2407 +jmp L2418 +label L2420 load 47 info load 48 an field 49 48 8 string value call 50 checker_struct_has_field bool 2 47 49 iconst 51 0 eq 52 50 51 -brif 52 L2410 L2411 -label L2410 +brif 52 L2423 L2424 +label L2423 strref 53 m13s606 load 54 name strref 55 m13s428 @@ -48172,14 +48355,14 @@ call 67 pith_cstring_release void 1 53 call 68 pith_cstring_release void 1 63 iconst 69 0 store ok 69 -jmp L2405 -label L2411 +jmp L2418 +label L2424 load 70 provided load 71 an field 72 71 8 string value call 73 contains_key bool 2 70 72 -brif 73 L2412 L2413 -label L2412 +brif 73 L2425 L2426 +label L2425 strref 74 m13s605 load 75 name strref 76 m13s604 @@ -48198,8 +48381,8 @@ call 88 pith_cstring_release void 1 74 call 89 pith_cstring_release void 1 84 iconst 90 0 store ok 90 -jmp L2405 -label L2413 +jmp L2418 +label L2426 load 91 __loopvar_136_ai store expr 91 load 92 an @@ -48207,29 +48390,29 @@ field 93 92 16 list children call 94 pith_list_len int 1 93 iconst 95 0 gt 96 94 95 -brif 96 L2415 L2416 -label L2415 +brif 96 L2428 L2429 +label L2428 load 97 an field 98 97 16 list children iconst 99 0 call 100 pith_list_get_value_strict int 2 98 99 store expr 100 -jmp L2414 -label L2416 -label L2414 +jmp L2427 +label L2429 +label L2427 load 101 provided load 102 an field 103 102 8 string value load 104 expr call 105 map_insert void 3 101 103 104 -label L2405 -label L2403 +label L2418 +label L2416 load 106 __for_idx_136 iconst 107 1 add 108 106 107 store __for_idx_136 108 -jmp L2401 -label L2404 +jmp L2414 +label L2417 load 109 info field 110 109 16 list_string fields call 111 pith_auto_len int 1 110 @@ -48237,12 +48420,12 @@ iconst 112 0 store __for_idx_137 112 store __for_len_137 111 store __for_iter_137 110 -label L2417 +label L2430 load 113 __for_idx_137 load 114 __for_len_137 lt 115 113 114 -brif 115 L2418 L2420 -label L2418 +brif 115 L2431 L2433 +label L2431 load 116 __for_iter_137 load 117 __for_idx_137 call 118 pith_list_get_value_unchecked string 2 116 117 @@ -48252,15 +48435,15 @@ load 120 __loopvar_137_fld call 121 contains_key bool 2 119 120 iconst 122 0 eq 123 121 122 -brif 123 L2422 L2423 -label L2422 +brif 123 L2435 L2436 +label L2435 load 124 name load 125 __loopvar_137_fld call 126 checker_struct_field_has_default bool 2 124 125 iconst 127 0 eq 128 126 127 -brif 128 L2425 L2426 -label L2425 +brif 128 L2438 L2439 +label L2438 strref 129 m13s602 load 130 name strref 131 m13s601 @@ -48278,32 +48461,32 @@ call 142 pith_cstring_release void 1 129 call 143 pith_cstring_release void 1 138 iconst 144 0 store ok 144 -jmp L2424 -label L2426 -label L2424 -jmp L2421 -label L2423 -label L2421 -label L2419 +jmp L2437 +label L2439 +label L2437 +jmp L2434 +label L2436 +label L2434 +label L2432 load 145 __for_idx_137 iconst 146 1 add 147 145 146 store __for_idx_137 147 -jmp L2417 -label L2420 +jmp L2430 +label L2433 load 148 ok iconst 149 0 eq 150 148 149 -brif 150 L2428 L2429 -label L2428 +brif 150 L2441 L2442 +label L2441 load 151 types_TID_ERR load 152 provided call 153 pith_map_release_handle void 1 152 load 154 an call 155 pith_struct_release void 1 154 ret 151 -label L2429 -label L2427 +label L2442 +label L2440 iconst 156 0 store idx 156 load 157 info @@ -48313,12 +48496,12 @@ iconst 160 0 store __for_idx_138 160 store __for_len_138 159 store __for_iter_138 158 -label L2430 +label L2443 load 161 __for_idx_138 load 162 __for_len_138 lt 163 161 162 -brif 163 L2431 L2433 -label L2431 +brif 163 L2444 L2446 +label L2444 load 164 __for_iter_138 load 165 __for_idx_138 call 166 pith_list_get_value_unchecked string 2 164 165 @@ -48326,8 +48509,8 @@ store __loopvar_138_fld 166 load 167 provided load 168 __loopvar_138_fld call 169 contains_key bool 2 167 168 -brif 169 L2435 L2436 -label L2435 +brif 169 L2448 L2449 +label L2448 load 170 provided load 171 __loopvar_138_fld call 172 map_get_strict int 2 170 171 @@ -48338,23 +48521,23 @@ call 175 checker_c_check_expr int 2 173 174 store arg_type 175 load 176 arg_type call 177 types_is_error_type bool 1 176 -brif 177 L2438 L2439 -label L2438 +brif 177 L2451 L2452 +label L2451 load 178 expr load 179 info field 180 179 24 list field_types load 181 idx call 182 pith_list_get_value_strict int 2 180 181 call 183 checker_propagate_empty_collection_literal void 2 178 182 -jmp L2437 -label L2439 -label L2437 +jmp L2450 +label L2452 +label L2450 load 184 arg_type call 185 types_is_error_type bool 1 184 iconst 186 0 eq 187 185 186 -brif 187 L2441 L2442 -label L2441 +brif 187 L2454 L2455 +label L2454 load 188 info field 189 188 24 list field_types load 190 idx @@ -48366,23 +48549,23 @@ load 194 expected call 195 checker_value_matches_optional_target bool 3 192 193 194 iconst 196 0 eq 197 195 196 -brif 197 L2444 L2445 -label L2444 +brif 197 L2457 L2458 +label L2457 load 198 expr load 199 expected load 200 scope_id call 201 checker_collection_literal_matches_target bool 3 198 199 200 iconst 202 0 eq 203 201 202 -brif 203 L2447 L2448 -label L2447 +brif 203 L2460 L2461 +label L2460 load 204 arg_type load 205 expected call 206 checker_types_compatible bool 2 204 205 iconst 207 0 eq 208 206 207 -brif 208 L2450 L2451 -label L2450 +brif 208 L2463 L2464 +label L2463 strref 209 m13s304 strref 210 m13s303 load 211 __loopvar_138_fld @@ -48409,32 +48592,32 @@ call 231 pith_cstring_release void 1 228 call 232 checker_diagnostics_report_error void 2 209 229 call 233 pith_cstring_release void 1 209 call 234 pith_cstring_release void 1 229 -jmp L2449 -label L2451 +jmp L2462 +label L2464 +label L2462 +jmp L2459 +label L2461 +label L2459 +jmp L2456 +label L2458 +label L2456 +jmp L2453 +label L2455 +label L2453 +jmp L2447 label L2449 -jmp L2446 -label L2448 -label L2446 -jmp L2443 -label L2445 -label L2443 -jmp L2440 -label L2442 -label L2440 -jmp L2434 -label L2436 -label L2434 +label L2447 load 235 idx iconst 236 1 add 237 235 236 store idx 237 -label L2432 +label L2445 load 238 __for_idx_138 iconst 239 1 add 240 238 239 store __for_idx_138 240 -jmp L2430 -label L2433 +jmp L2443 +label L2446 load 241 struct_tid load 242 provided call 243 pith_map_release_handle void 1 242 @@ -48458,8 +48641,8 @@ iconst 5 0 store arg_node 5 load 6 arg_indices call 7 checker_struct_args_are_named bool 1 6 -brif 7 L2453 L2454 -label L2453 +brif 7 L2466 L2467 +label L2466 load 8 name load 9 struct_tid load 10 info @@ -48469,16 +48652,16 @@ call 13 checker_check_named_struct_constructor int 5 8 9 10 11 12 load 14 arg_node call 15 pith_struct_release void 1 14 ret 13 -label L2454 -label L2452 +label L2467 +label L2465 load 16 arg_indices call 17 pith_list_len int 1 16 load 18 info field 19 18 16 list_string fields call 20 pith_list_len int 1 19 gt 21 17 20 -brif 21 L2456 L2457 -label L2456 +brif 21 L2469 L2470 +label L2469 strref 22 m13s307 load 23 name strref 24 m13s308 @@ -48508,8 +48691,8 @@ load 47 types_TID_ERR load 48 arg_node call 49 pith_struct_release void 1 48 ret 47 -label L2457 -label L2455 +label L2470 +label L2468 load 50 name load 51 info call 52 checker_struct_min_required_fields int 2 50 51 @@ -48518,8 +48701,8 @@ load 53 arg_indices call 54 pith_list_len int 1 53 load 55 min_required lt 56 54 55 -brif 56 L2459 L2460 -label L2459 +brif 56 L2472 L2473 +label L2472 strref 57 m13s307 load 58 name strref 59 m13s306 @@ -48547,8 +48730,8 @@ load 80 types_TID_ERR load 81 arg_node call 82 pith_struct_release void 1 81 ret 80 -label L2460 -label L2458 +label L2473 +label L2471 iconst 83 0 store idx 83 load 84 arg_indices @@ -48557,12 +48740,12 @@ iconst 86 0 store __for_idx_139 86 store __for_len_139 85 store __for_iter_139 84 -label L2461 +label L2474 load 87 __for_idx_139 load 88 __for_len_139 lt 89 87 88 -brif 89 L2462 L2464 -label L2462 +brif 89 L2475 L2477 +label L2475 load 90 __for_iter_139 load 91 __for_idx_139 call 92 pith_list_get_value unknown 2 90 91 @@ -48579,66 +48762,66 @@ field 99 98 0 string kind strref 100 m13s298 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -brif 101 L2466 L2467 -label L2466 +brif 101 L2479 L2480 +label L2479 load 103 arg_node field 104 103 16 list children call 105 pith_list_len int 1 104 iconst 106 0 gt 107 105 106 -brif 107 L2469 L2470 -label L2469 +brif 107 L2482 L2483 +label L2482 load 108 arg_node field 109 108 16 list children iconst 110 0 call 111 pith_list_get_value_strict int 2 109 110 store arg_expr_idx 111 -jmp L2468 -label L2470 -label L2468 -jmp L2465 -label L2467 -label L2465 +jmp L2481 +label L2483 +label L2481 +jmp L2478 +label L2480 +label L2478 load 112 arg_expr_idx load 113 scope_id call 114 checker_c_check_expr int 2 112 113 store arg_type 114 load 115 arg_type call 116 types_is_error_type bool 1 115 -brif 116 L2472 L2473 -label L2472 +brif 116 L2485 L2486 +label L2485 load 117 idx load 118 info field 119 118 24 list field_types call 120 pith_list_len int 1 119 lt 121 117 120 -brif 121 L2475 L2476 -label L2475 +brif 121 L2488 L2489 +label L2488 load 122 arg_expr_idx load 123 info field 124 123 24 list field_types load 125 idx call 126 pith_list_get_value_strict int 2 124 125 call 127 checker_propagate_empty_collection_literal void 2 122 126 -jmp L2474 -label L2476 -label L2474 -jmp L2471 -label L2473 -label L2471 +jmp L2487 +label L2489 +label L2487 +jmp L2484 +label L2486 +label L2484 load 128 arg_type call 129 types_is_error_type bool 1 128 iconst 130 0 eq 131 129 130 -brif 131 L2478 L2479 -label L2478 +brif 131 L2491 L2492 +label L2491 load 132 idx load 133 info field 134 133 24 list field_types call 135 pith_list_len int 1 134 lt 136 132 135 -brif 136 L2481 L2482 -label L2481 +brif 136 L2494 L2495 +label L2494 load 137 info field 138 137 24 list field_types load 139 idx @@ -48650,23 +48833,23 @@ load 143 expected call 144 checker_value_matches_optional_target bool 3 141 142 143 iconst 145 0 eq 146 144 145 -brif 146 L2484 L2485 -label L2484 +brif 146 L2497 L2498 +label L2497 load 147 arg_expr_idx load 148 expected load 149 scope_id call 150 checker_collection_literal_matches_target bool 3 147 148 149 iconst 151 0 eq 152 150 151 -brif 152 L2487 L2488 -label L2487 +brif 152 L2500 L2501 +label L2500 load 153 arg_type load 154 expected call 155 checker_types_compatible bool 2 153 154 iconst 156 0 eq 157 155 156 -brif 157 L2490 L2491 -label L2490 +brif 157 L2503 L2504 +label L2503 strref 158 m13s304 strref 159 m13s303 load 160 info @@ -48696,32 +48879,32 @@ call 183 pith_cstring_release void 1 180 call 184 checker_diagnostics_report_error void 2 158 181 call 185 pith_cstring_release void 1 158 call 186 pith_cstring_release void 1 181 -jmp L2489 -label L2491 -label L2489 -jmp L2486 -label L2488 -label L2486 -jmp L2483 -label L2485 -label L2483 -jmp L2480 -label L2482 -label L2480 -jmp L2477 -label L2479 -label L2477 +jmp L2502 +label L2504 +label L2502 +jmp L2499 +label L2501 +label L2499 +jmp L2496 +label L2498 +label L2496 +jmp L2493 +label L2495 +label L2493 +jmp L2490 +label L2492 +label L2490 load 187 idx iconst 188 1 add 189 187 188 store idx 189 -label L2463 +label L2476 load 190 __for_idx_139 iconst 191 1 add 192 190 191 store __for_idx_139 192 -jmp L2461 -label L2464 +jmp L2474 +label L2477 load 193 struct_tid load 194 arg_node call 195 pith_struct_release void 1 194 @@ -48743,29 +48926,29 @@ store arg_info 5 load 6 field_node_idx iconst 7 0 lt 8 6 7 -brif 8 L2493 L2494 -label L2493 +brif 8 L2506 L2507 +label L2506 load 9 fnode call 10 pith_struct_release void 1 9 load 11 arg_info call 12 pith_struct_release void 1 11 iconst 13 0 ret 13 -label L2494 -label L2492 +label L2507 +label L2505 load 14 arg_tid iconst 15 0 lt 16 14 15 -brif 16 L2496 L2497 -label L2496 +brif 16 L2509 L2510 +label L2509 load 17 fnode call 18 pith_struct_release void 1 17 load 19 arg_info call 20 pith_struct_release void 1 19 iconst 21 0 ret 21 -label L2497 -label L2495 +label L2510 +label L2508 load 22 fnode load 23 field_node_idx call 24 ast_get_node struct:Node 1 23 @@ -48776,20 +48959,20 @@ field 27 26 0 string kind strref 28 m13s564 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L2499 L2500 -label L2499 +brif 29 L2512 L2513 +label L2512 load 31 generic_params call 32 pith_auto_len int 1 31 iconst 33 0 store __for_idx_140 33 store __for_len_140 32 store __for_iter_140 31 -label L2501 +label L2514 load 34 __for_idx_140 load 35 __for_len_140 lt 36 34 35 -brif 36 L2502 L2504 -label L2502 +brif 36 L2515 L2517 +label L2515 load 37 __for_iter_140 load 38 __for_idx_140 call 39 pith_list_get_value_unchecked string 2 37 38 @@ -48798,45 +48981,45 @@ load 40 __loopvar_140_gp load 41 fnode field 42 41 8 string value call 43 checker_strings_equal bool 2 40 42 -brif 43 L2506 L2507 -label L2506 +brif 43 L2519 L2520 +label L2519 load 44 subst_map load 45 __loopvar_140_gp call 46 contains_key bool 2 44 45 iconst 47 0 eq 48 46 47 -brif 48 L2509 L2510 -label L2509 +brif 48 L2522 L2523 +label L2522 load 49 subst_map load 50 __loopvar_140_gp load 51 arg_tid call 52 map_insert void 3 49 50 51 -jmp L2508 -label L2510 -label L2508 +jmp L2521 +label L2523 +label L2521 load 53 fnode call 54 pith_struct_release void 1 53 load 55 arg_info call 56 pith_struct_release void 1 55 iconst 57 0 ret 57 -label L2507 -label L2505 -label L2503 +label L2520 +label L2518 +label L2516 load 58 __for_idx_140 iconst 59 1 add 60 58 59 store __for_idx_140 60 -jmp L2501 -label L2504 +jmp L2514 +label L2517 load 61 fnode call 62 pith_struct_release void 1 61 load 63 arg_info call 64 pith_struct_release void 1 63 iconst 65 0 ret 65 -label L2500 -label L2498 +label L2513 +label L2511 load 66 arg_info load 67 arg_tid call 68 types_get_type_info struct:TypeInfo 1 67 @@ -48847,29 +49030,29 @@ field 71 70 0 string kind strref 72 m13s563 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -brif 73 L2512 L2513 -label L2512 +brif 73 L2525 L2526 +label L2525 load 75 fnode field 76 75 8 string value strref 77 m13s21 call 78 checker_strings_equal bool 2 76 77 call 79 pith_cstring_release void 1 77 -brif 78 L2515 L2516 -label L2515 +brif 78 L2528 L2529 +label L2528 load 80 arg_info field 81 80 0 string kind strref 82 m13s22 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L2518 L2519 -label L2518 +brif 83 L2531 L2532 +label L2531 load 85 fnode field 86 85 16 list children call 87 pith_list_len int 1 86 iconst 88 1 eq 89 87 88 -brif 89 L2521 L2522 -label L2521 +brif 89 L2534 L2535 +label L2534 load 90 fnode field 91 90 16 list children iconst 92 0 @@ -48879,41 +49062,41 @@ field 95 94 64 int inner load 96 generic_params load 97 subst_map call 98 checker_unify_field_type_against_arg void 4 93 95 96 97 -jmp L2520 -label L2522 -label L2520 -jmp L2517 -label L2519 -label L2517 +jmp L2533 +label L2535 +label L2533 +jmp L2530 +label L2532 +label L2530 load 99 fnode call 100 pith_struct_release void 1 99 load 101 arg_info call 102 pith_struct_release void 1 101 iconst 103 0 ret 103 -label L2516 -label L2514 +label L2529 +label L2527 load 104 fnode field 105 104 8 string value strref 106 m13s17 call 107 checker_strings_equal bool 2 105 106 call 108 pith_cstring_release void 1 106 -brif 107 L2524 L2525 -label L2524 +brif 107 L2537 L2538 +label L2537 load 109 arg_info field 110 109 0 string kind strref 111 m13s18 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -brif 112 L2527 L2528 -label L2527 +brif 112 L2540 L2541 +label L2540 load 114 fnode field 115 114 16 list children call 116 pith_list_len int 1 115 iconst 117 1 eq 118 116 117 -brif 118 L2530 L2531 -label L2530 +brif 118 L2543 L2544 +label L2543 load 119 fnode field 120 119 16 list children iconst 121 0 @@ -48923,41 +49106,41 @@ field 124 123 64 int inner load 125 generic_params load 126 subst_map call 127 checker_unify_field_type_against_arg void 4 122 124 125 126 -jmp L2529 -label L2531 -label L2529 -jmp L2526 -label L2528 -label L2526 +jmp L2542 +label L2544 +label L2542 +jmp L2539 +label L2541 +label L2539 load 128 fnode call 129 pith_struct_release void 1 128 load 130 arg_info call 131 pith_struct_release void 1 130 iconst 132 0 ret 132 -label L2525 -label L2523 +label L2538 +label L2536 load 133 fnode field 134 133 8 string value strref 135 m13s19 call 136 checker_strings_equal bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L2533 L2534 -label L2533 +brif 136 L2546 L2547 +label L2546 load 138 arg_info field 139 138 0 string kind strref 140 m13s20 call 141 pith_cstring_eq bool 2 139 140 call 142 pith_cstring_release void 1 140 -brif 141 L2536 L2537 -label L2536 +brif 141 L2549 L2550 +label L2549 load 143 fnode field 144 143 16 list children call 145 pith_list_len int 1 144 iconst 146 2 eq 147 145 146 -brif 147 L2539 L2540 -label L2539 +brif 147 L2552 L2553 +label L2552 load 148 fnode field 149 148 16 list children iconst 150 0 @@ -48976,41 +49159,41 @@ field 162 161 80 int value_type load 163 generic_params load 164 subst_map call 165 checker_unify_field_type_against_arg void 4 160 162 163 164 -jmp L2538 -label L2540 -label L2538 -jmp L2535 -label L2537 -label L2535 +jmp L2551 +label L2553 +label L2551 +jmp L2548 +label L2550 +label L2548 load 166 fnode call 167 pith_struct_release void 1 166 load 168 arg_info call 169 pith_struct_release void 1 168 iconst 170 0 ret 170 -label L2534 -label L2532 +label L2547 +label L2545 load 171 fnode field 172 171 8 string value strref 173 m13s25 call 174 checker_strings_equal bool 2 172 173 call 175 pith_cstring_release void 1 173 -brif 174 L2542 L2543 -label L2542 +brif 174 L2555 L2556 +label L2555 load 176 arg_info field 177 176 0 string kind strref 178 m13s26 call 179 pith_cstring_eq bool 2 177 178 call 180 pith_cstring_release void 1 178 -brif 179 L2545 L2546 -label L2545 +brif 179 L2558 L2559 +label L2558 load 181 fnode field 182 181 16 list children call 183 pith_list_len int 1 182 iconst 184 1 eq 185 183 184 -brif 185 L2548 L2549 -label L2548 +brif 185 L2561 L2562 +label L2561 load 186 fnode field 187 186 16 list children iconst 188 0 @@ -49020,41 +49203,41 @@ field 191 190 64 int inner load 192 generic_params load 193 subst_map call 194 checker_unify_field_type_against_arg void 4 189 191 192 193 -jmp L2547 -label L2549 -label L2547 -jmp L2544 -label L2546 -label L2544 +jmp L2560 +label L2562 +label L2560 +jmp L2557 +label L2559 +label L2557 load 195 fnode call 196 pith_struct_release void 1 195 load 197 arg_info call 198 pith_struct_release void 1 197 iconst 199 0 ret 199 -label L2543 -label L2541 +label L2556 +label L2554 load 200 fnode field 201 200 8 string value strref 202 m13s23 call 203 checker_strings_equal bool 2 201 202 call 204 pith_cstring_release void 1 202 -brif 203 L2551 L2552 -label L2551 +brif 203 L2564 L2565 +label L2564 load 205 arg_info field 206 205 0 string kind strref 207 m13s24 call 208 pith_cstring_eq bool 2 206 207 call 209 pith_cstring_release void 1 207 -brif 208 L2554 L2555 -label L2554 +brif 208 L2567 L2568 +label L2567 load 210 fnode field 211 210 16 list children call 212 pith_list_len int 1 211 iconst 213 1 eq 214 212 213 -brif 214 L2557 L2558 -label L2557 +brif 214 L2570 L2571 +label L2570 load 215 fnode field 216 215 16 list children iconst 217 0 @@ -49064,49 +49247,49 @@ field 220 219 64 int inner load 221 generic_params load 222 subst_map call 223 checker_unify_field_type_against_arg void 4 218 220 221 222 -jmp L2556 -label L2558 -label L2556 -jmp L2553 -label L2555 -label L2553 +jmp L2569 +label L2571 +label L2569 +jmp L2566 +label L2568 +label L2566 load 224 fnode call 225 pith_struct_release void 1 224 load 226 arg_info call 227 pith_struct_release void 1 226 iconst 228 0 ret 228 -label L2552 -label L2550 +label L2565 +label L2563 load 229 fnode call 230 pith_struct_release void 1 229 load 231 arg_info call 232 pith_struct_release void 1 231 iconst 233 0 ret 233 -label L2513 -label L2511 +label L2526 +label L2524 load 234 fnode field 235 234 0 string kind strref 236 m13s562 call 237 pith_cstring_eq bool 2 235 236 call 238 pith_cstring_release void 1 236 -brif 237 L2560 L2561 -label L2560 +brif 237 L2573 L2574 +label L2573 load 239 arg_info field 240 239 0 string kind strref 241 m13s29 call 242 pith_cstring_eq bool 2 240 241 call 243 pith_cstring_release void 1 241 -brif 242 L2563 L2564 -label L2563 +brif 242 L2576 L2577 +label L2576 load 244 fnode field 245 244 16 list children call 246 pith_list_len int 1 245 iconst 247 1 gte 248 246 247 -brif 248 L2566 L2567 -label L2566 +brif 248 L2579 L2580 +label L2579 load 249 fnode field 250 249 16 list children iconst 251 0 @@ -49116,34 +49299,34 @@ field 254 253 64 int inner load 255 generic_params load 256 subst_map call 257 checker_unify_field_type_against_arg void 4 252 254 255 256 -jmp L2565 -label L2567 -label L2565 -jmp L2562 -label L2564 -label L2562 +jmp L2578 +label L2580 +label L2578 +jmp L2575 +label L2577 +label L2575 load 258 fnode call 259 pith_struct_release void 1 258 load 260 arg_info call 261 pith_struct_release void 1 260 iconst 262 0 ret 262 -label L2561 -label L2559 +label L2574 +label L2572 load 263 fnode field 264 263 0 string kind strref 265 m13s560 call 266 pith_cstring_eq bool 2 264 265 call 267 pith_cstring_release void 1 265 -brif 266 L2569 L2570 -label L2569 +brif 266 L2582 L2583 +label L2582 load 268 arg_info field 269 268 0 string kind strref 270 m13s27 call 271 pith_cstring_eq bool 2 269 270 call 272 pith_cstring_release void 1 270 -brif 271 L2572 L2573 -label L2572 +brif 271 L2585 L2586 +label L2585 iconst 273 0 store i 273 load 274 fnode @@ -49153,12 +49336,12 @@ iconst 277 0 store __for_idx_141 277 store __for_len_141 276 store __for_iter_141 275 -label L2574 +label L2587 load 278 __for_idx_141 load 279 __for_len_141 lt 280 278 279 -brif 280 L2575 L2577 -label L2575 +brif 280 L2588 L2590 +label L2588 load 281 __for_iter_141 load 282 __for_idx_141 call 283 pith_list_get_value unknown 2 281 282 @@ -49168,8 +49351,8 @@ load 285 arg_info field 286 285 88 list elements call 287 pith_list_len int 1 286 lt 288 284 287 -brif 288 L2579 L2580 -label L2579 +brif 288 L2592 L2593 +label L2592 load 289 __loopvar_141_c load 290 arg_info field 291 290 88 list elements @@ -49178,26 +49361,26 @@ call 293 pith_list_get_value_strict int 2 291 292 load 294 generic_params load 295 subst_map call 296 checker_unify_field_type_against_arg void 4 289 293 294 295 -jmp L2578 -label L2580 -label L2578 +jmp L2591 +label L2593 +label L2591 load 297 i iconst 298 1 add 299 297 298 store i 299 -label L2576 +label L2589 load 300 __for_idx_141 iconst 301 1 add 302 300 301 store __for_idx_141 302 -jmp L2574 -label L2577 -jmp L2571 -label L2573 -label L2571 -jmp L2568 -label L2570 -label L2568 +jmp L2587 +label L2590 +jmp L2584 +label L2586 +label L2584 +jmp L2581 +label L2583 +label L2581 load 303 fnode call 304 pith_struct_release void 1 303 load 305 arg_info @@ -49217,12 +49400,12 @@ iconst 6 0 store __for_idx_142 6 store __for_len_142 5 store __for_iter_142 4 -label L2581 +label L2594 load 7 __for_idx_142 load 8 __for_len_142 lt 9 7 8 -brif 9 L2582 L2584 -label L2582 +brif 9 L2595 L2597 +label L2595 load 10 __for_iter_142 load 11 __for_idx_142 call 12 pith_list_get_value unknown 2 10 11 @@ -49237,21 +49420,21 @@ field 18 17 0 string kind strref 19 m13s298 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2586 L2587 -label L2586 +brif 20 L2599 L2600 +label L2599 load 22 an field 23 22 8 string value load 24 fname call 25 checker_strings_equal bool 2 23 24 -brif 25 L2589 L2590 -label L2589 +brif 25 L2602 L2603 +label L2602 load 26 an field 27 26 16 list children call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -brif 30 L2592 L2593 -label L2592 +brif 30 L2605 L2606 +label L2605 load 31 an field 32 31 16 list children iconst 33 0 @@ -49261,21 +49444,21 @@ call 36 checker_c_check_expr int 2 34 35 load 37 an call 38 pith_struct_release void 1 37 ret 36 -label L2593 -label L2591 -jmp L2588 -label L2590 -label L2588 -jmp L2585 -label L2587 -label L2585 -label L2583 +label L2606 +label L2604 +jmp L2601 +label L2603 +label L2601 +jmp L2598 +label L2600 +label L2598 +label L2596 load 39 __for_idx_142 iconst 40 1 add 41 39 40 store __for_idx_142 41 -jmp L2581 -label L2584 +jmp L2594 +label L2597 iconst 42 1 iconst 44 0 sub 43 44 42 @@ -49340,12 +49523,12 @@ iconst 33 0 store __for_idx_143 33 store __for_len_143 32 store __for_iter_143 31 -label L2594 +label L2607 load 34 __for_idx_143 load 35 __for_len_143 lt 36 34 35 -brif 36 L2595 L2597 -label L2595 +brif 36 L2608 L2610 +label L2608 load 37 __for_iter_143 load 38 __for_idx_143 call 39 pith_list_get_value unknown 2 37 38 @@ -49360,63 +49543,63 @@ field 45 44 0 string kind strref 46 m13s285 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -brif 47 L2599 L2600 -label L2599 +brif 47 L2612 L2613 +label L2612 load 49 cn field 50 49 16 list children call 51 pith_list_len int 1 50 iconst 52 0 gt 53 51 52 -brif 53 L2602 L2603 -label L2602 +brif 53 L2615 L2616 +label L2615 load 54 field_type_nodes load 55 cn field 56 55 16 list children iconst 57 0 call 58 pith_list_get_value_strict int 2 56 57 call 59 pith_list_push_value void 2 54 58 -jmp L2601 -label L2603 +jmp L2614 +label L2616 load 60 field_type_nodes iconst 61 1 iconst 63 0 sub 62 63 61 call 64 pith_list_push_value void 2 60 62 -label L2601 +label L2614 load 65 field_names load 66 cn field 67 66 8 string value call 68 checker_extract_field_name string 1 67 call 69 pith_list_push_value_owned void 2 65 68 -jmp L2598 -label L2600 -label L2598 -label L2596 +jmp L2611 +label L2613 +label L2611 +label L2609 load 70 __for_idx_143 iconst 71 1 add 72 70 71 store __for_idx_143 72 -jmp L2594 -label L2597 +jmp L2607 +label L2610 load 73 arg_types call 74 pith_list_new_default list 0 call 75 pith_list_release_handle void 1 73 store arg_types 74 load 76 named -brif 76 L2605 L2606 -label L2605 +brif 76 L2618 L2619 +label L2618 load 77 field_names call 78 pith_auto_len int 1 77 iconst 79 0 store __for_idx_144 79 store __for_len_144 78 store __for_iter_144 77 -label L2607 +label L2620 load 80 __for_idx_144 load 81 __for_len_144 lt 82 80 81 -brif 82 L2608 L2610 -label L2608 +brif 82 L2621 L2623 +label L2621 load 83 __for_iter_144 load 84 __for_idx_144 call 85 pith_list_get_value_unchecked string 2 83 84 @@ -49427,27 +49610,27 @@ load 88 __loopvar_144_fname load 89 scope_id call 90 checker_named_arg_type_for_field int 3 87 88 89 call 91 pith_list_push_value void 2 86 90 -label L2609 +label L2622 load 92 __for_idx_144 iconst 93 1 add 94 92 93 store __for_idx_144 94 -jmp L2607 -label L2610 -jmp L2604 -label L2606 +jmp L2620 +label L2623 +jmp L2617 +label L2619 load 95 arg_indices call 96 pith_auto_len int 1 95 iconst 97 0 store __for_idx_145 97 store __for_len_145 96 store __for_iter_145 95 -label L2611 +label L2624 load 98 __for_idx_145 load 99 __for_len_145 lt 100 98 99 -brif 100 L2612 L2614 -label L2612 +brif 100 L2625 L2627 +label L2625 load 101 __for_iter_145 load 102 __for_idx_145 call 103 pith_list_get_value unknown 2 101 102 @@ -49464,45 +49647,45 @@ field 110 109 0 string kind strref 111 m13s298 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -brif 112 L2616 L2617 -label L2616 +brif 112 L2629 L2630 +label L2629 load 114 arg_node field 115 114 16 list children call 116 pith_list_len int 1 115 iconst 117 0 gt 118 116 117 -brif 118 L2619 L2620 -label L2619 +brif 118 L2632 L2633 +label L2632 load 119 arg_node field 120 119 16 list children iconst 121 0 call 122 pith_list_get_value_strict int 2 120 121 store arg_expr 122 -jmp L2618 -label L2620 -label L2618 -jmp L2615 -label L2617 -label L2615 +jmp L2631 +label L2633 +label L2631 +jmp L2628 +label L2630 +label L2628 load 123 arg_types load 124 arg_expr load 125 scope_id call 126 checker_c_check_expr int 2 124 125 call 127 pith_list_push_value void 2 123 126 -label L2613 +label L2626 load 128 __for_idx_145 iconst 129 1 add 130 128 129 store __for_idx_145 130 -jmp L2611 -label L2614 +jmp L2624 +label L2627 load 131 arg_types call 132 pith_list_len int 1 131 load 133 field_type_nodes call 134 pith_list_len int 1 133 gt 135 132 134 -brif 135 L2622 L2623 -label L2622 +brif 135 L2635 L2636 +label L2635 strref 136 m13s307 load 137 name strref 138 m13s308 @@ -49547,9 +49730,9 @@ call 176 pith_map_release_handle void 1 175 load 177 type_args call 178 pith_list_release_handle void 1 177 ret 160 -label L2623 -label L2621 -label L2604 +label L2636 +label L2634 +label L2617 load 179 subst_map call 180 pith_map_new_default map 0 call 181 pith_map_release_handle void 1 179 @@ -49562,12 +49745,12 @@ iconst 185 0 store __for_idx_146 185 store __for_len_146 184 store __for_iter_146 183 -label L2624 +label L2637 load 186 __for_idx_146 load 187 __for_len_146 lt 188 186 187 -brif 188 L2625 L2627 -label L2625 +brif 188 L2638 L2640 +label L2638 load 189 __for_iter_146 load 190 __for_idx_146 call 191 pith_list_get_value unknown 2 189 190 @@ -49575,41 +49758,41 @@ store __loopvar_146_ftn 191 load 192 __loopvar_146_ftn iconst 193 0 gte 194 192 193 -brif 194 L2629 L2630 -label L2629 +brif 194 L2642 L2643 +label L2642 iconst 195 0 -store __and_195_2634 195 +store __and_195_2647 195 iconst 196 0 -store __and_196_2634 196 +store __and_196_2647 196 load 197 fidx load 198 arg_types call 199 pith_list_len int 1 198 lt 200 197 199 -store __and_196_2634 200 -brif 200 L2634 L2635 -label L2634 +store __and_196_2647 200 +brif 200 L2647 L2648 +label L2647 load 201 arg_types load 202 fidx call 203 pith_list_get_value_strict int 2 201 202 iconst 204 0 gte 205 203 204 -store __and_196_2634 205 -label L2635 -load 206 __and_196_2634 -store __and_195_2634 206 -brif 206 L2636 L2637 -label L2636 +store __and_196_2647 205 +label L2648 +load 206 __and_196_2647 +store __and_195_2647 206 +brif 206 L2649 L2650 +label L2649 load 207 arg_types load 208 fidx call 209 pith_list_get_value_strict int 2 207 208 call 210 types_is_error_type bool 1 209 iconst 211 0 eq 212 210 211 -store __and_195_2634 212 -label L2637 -load 213 __and_195_2634 -brif 213 L2632 L2633 -label L2632 +store __and_195_2647 212 +label L2650 +load 213 __and_195_2647 +brif 213 L2645 L2646 +label L2645 load 214 __loopvar_146_ftn load 215 arg_types load 216 fidx @@ -49617,30 +49800,30 @@ call 217 pith_list_get_value_strict int 2 215 216 load 218 generic_params load 219 subst_map call 220 checker_unify_field_type_against_arg void 4 214 217 218 219 -jmp L2631 -label L2633 -label L2631 -jmp L2628 -label L2630 -label L2628 +jmp L2644 +label L2646 +label L2644 +jmp L2641 +label L2643 +label L2641 load 221 fidx iconst 222 1 add 223 221 222 store fidx 223 -label L2626 +label L2639 load 224 __for_idx_146 iconst 225 1 add 226 224 225 store __for_idx_146 226 -jmp L2624 -label L2627 +jmp L2637 +label L2640 load 227 decl_idx load 228 subst_map call 229 checker_check_type_parameter_bounds bool 2 227 228 iconst 230 0 eq 231 229 230 -brif 231 L2639 L2640 -label L2639 +brif 231 L2652 L2653 +label L2652 load 232 types_TID_ERR load 233 decl_node call 234 pith_struct_release void 1 233 @@ -49661,8 +49844,8 @@ call 248 pith_map_release_handle void 1 247 load 249 type_args call 250 pith_list_release_handle void 1 249 ret 232 -label L2640 -label L2638 +label L2653 +label L2651 load 251 type_args call 252 pith_list_new_default list 0 call 253 pith_list_release_handle void 1 251 @@ -49673,12 +49856,12 @@ iconst 256 0 store __for_idx_147 256 store __for_len_147 255 store __for_iter_147 254 -label L2641 +label L2654 load 257 __for_idx_147 load 258 __for_len_147 lt 259 257 258 -brif 259 L2642 L2644 -label L2642 +brif 259 L2655 L2657 +label L2655 load 260 __for_iter_147 load 261 __for_idx_147 call 262 pith_list_get_value_unchecked string 2 260 261 @@ -49686,26 +49869,26 @@ store __loopvar_147_gp 262 load 263 subst_map load 264 __loopvar_147_gp call 265 contains_key bool 2 263 264 -brif 265 L2646 L2647 -label L2646 +brif 265 L2659 L2660 +label L2659 load 266 type_args load 267 subst_map load 268 __loopvar_147_gp call 269 map_get_strict int 2 267 268 call 270 pith_list_push_value void 2 266 269 -jmp L2645 -label L2647 +jmp L2658 +label L2660 load 271 type_args load 272 types_TID_ERR call 273 pith_list_push_value void 2 271 272 -label L2645 -label L2643 +label L2658 +label L2656 load 274 __for_idx_147 iconst 275 1 add 276 274 275 store __for_idx_147 276 -jmp L2641 -label L2644 +jmp L2654 +label L2657 load 277 decl_node load 278 type_args call 279 checker_instantiate_generic_struct_type int 2 277 278 @@ -49713,8 +49896,8 @@ store struct_tid 279 load 280 struct_tid iconst 281 0 lt 282 280 281 -brif 282 L2649 L2650 -label L2649 +brif 282 L2662 L2663 +label L2662 load 283 types_TID_ERR load 284 decl_node call 285 pith_struct_release void 1 284 @@ -49735,8 +49918,8 @@ call 299 pith_map_release_handle void 1 298 load 300 type_args call 301 pith_list_release_handle void 1 300 ret 283 -label L2650 -label L2648 +label L2663 +label L2661 load 302 struct_tid call 303 types_get_type_name string 1 302 load 304 struct_tid @@ -49798,8 +49981,8 @@ load 4 arg_indices call 5 pith_list_len int 1 4 iconst 6 2 neq 7 5 6 -brif 7 L2652 L2653 -label L2652 +brif 7 L2665 L2666 +label L2665 strref 8 m13s307 strref 9 m13s600 load 10 arg_indices @@ -49817,8 +50000,8 @@ call 21 pith_struct_release void 1 20 load 22 second_node call 23 pith_struct_release void 1 22 ret 19 -label L2653 -label L2651 +label L2666 +label L2664 load 24 arg_indices iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -49846,51 +50029,51 @@ field 41 40 0 string kind strref 42 m13s298 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L2655 L2656 -label L2655 +brif 43 L2668 L2669 +label L2668 load 45 first_node field 46 45 16 list children call 47 pith_list_len int 1 46 iconst 48 0 gt 49 47 48 -brif 49 L2658 L2659 -label L2658 +brif 49 L2671 L2672 +label L2671 load 50 first_node field 51 50 16 list children iconst 52 0 call 53 pith_list_get_value_strict int 2 51 52 store first_expr 53 -jmp L2657 -label L2659 -label L2657 -jmp L2654 -label L2656 -label L2654 +jmp L2670 +label L2672 +label L2670 +jmp L2667 +label L2669 +label L2667 load 54 second_node field 55 54 0 string kind strref 56 m13s298 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -brif 57 L2661 L2662 -label L2661 +brif 57 L2674 L2675 +label L2674 load 59 second_node field 60 59 16 list children call 61 pith_list_len int 1 60 iconst 62 0 gt 63 61 62 -brif 63 L2664 L2665 -label L2664 +brif 63 L2677 L2678 +label L2677 load 64 second_node field 65 64 16 list children iconst 66 0 call 67 pith_list_get_value_strict int 2 65 66 store second_expr 67 -jmp L2663 -label L2665 -label L2663 -jmp L2660 -label L2662 -label L2660 +jmp L2676 +label L2678 +label L2676 +jmp L2673 +label L2675 +label L2673 load 68 first_expr load 69 scope_id call 70 checker_c_check_expr int 2 68 69 @@ -49903,32 +50086,32 @@ load 74 t1 call 75 types_is_error_type bool 1 74 iconst 76 0 eq 77 75 76 -brif 77 L2667 L2668 -label L2667 +brif 77 L2680 L2681 +label L2680 load 78 t2 call 79 types_is_error_type bool 1 78 iconst 80 0 eq 81 79 80 -brif 81 L2670 L2671 -label L2670 +brif 81 L2683 L2684 +label L2683 iconst 82 0 -store __and_82_2675 82 +store __and_82_2688 82 load 83 t1 load 84 t2 neq 85 83 84 -store __and_82_2675 85 -brif 85 L2675 L2676 -label L2675 +store __and_82_2688 85 +brif 85 L2688 L2689 +label L2688 load 86 t1 load 87 t2 call 88 checker_types_structurally_equal bool 2 86 87 iconst 89 0 eq 90 88 89 -store __and_82_2675 90 -label L2676 -load 91 __and_82_2675 -brif 91 L2673 L2674 -label L2673 +store __and_82_2688 90 +label L2689 +load 91 __and_82_2688 +brif 91 L2686 L2687 +label L2686 strref 92 m13s304 strref 93 m13s599 load 94 t1 @@ -49948,15 +50131,15 @@ call 107 pith_cstring_release void 1 104 call 108 checker_diagnostics_report_error void 2 92 105 call 109 pith_cstring_release void 1 92 call 110 pith_cstring_release void 1 105 -jmp L2672 -label L2674 -label L2672 -jmp L2669 -label L2671 -label L2669 -jmp L2666 -label L2668 -label L2666 +jmp L2685 +label L2687 +label L2685 +jmp L2682 +label L2684 +label L2682 +jmp L2679 +label L2681 +label L2679 load 111 types_TID_VOID load 112 first_node call 113 pith_struct_release void 1 112 @@ -49984,15 +50167,15 @@ field 7 6 0 string kind strref 8 m13s298 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L2678 L2679 -label L2678 +brif 9 L2691 L2692 +label L2691 load 11 arg_node field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L2681 L2682 -label L2681 +brif 15 L2694 L2695 +label L2694 load 16 arg_node field 17 16 16 list children iconst 18 0 @@ -50000,11 +50183,11 @@ call 19 pith_list_get_value_strict int 2 17 18 load 20 arg_node call 21 pith_struct_release void 1 20 ret 19 -label L2682 -label L2680 -jmp L2677 -label L2679 -label L2677 +label L2695 +label L2693 +jmp L2690 +label L2692 +label L2690 load 22 arg_idx load 23 arg_node call 24 pith_struct_release void 1 23 @@ -50025,8 +50208,8 @@ load 4 arg_indices call 5 pith_list_len int 1 4 iconst 6 2 neq 7 5 6 -brif 7 L2684 L2685 -label L2684 +brif 7 L2697 L2698 +label L2697 strref 8 m13s307 strref 9 m13s598 load 10 arg_indices @@ -50044,8 +50227,8 @@ call 21 pith_struct_release void 1 20 load 22 fn_info call 23 pith_struct_release void 1 22 ret 19 -label L2685 -label L2683 +label L2698 +label L2696 load 24 arg_indices iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -50062,28 +50245,28 @@ call 35 checker_c_check_expr int 2 33 34 store fn_tid 35 load 36 list_tid call 37 types_is_error_type bool 1 36 -brif 37 L2687 L2688 -label L2687 +brif 37 L2700 L2701 +label L2700 load 38 types_TID_ERR load 39 list_info call 40 pith_struct_release void 1 39 load 41 fn_info call 42 pith_struct_release void 1 41 ret 38 -label L2688 -label L2686 +label L2701 +label L2699 load 43 fn_tid call 44 types_is_error_type bool 1 43 -brif 44 L2690 L2691 -label L2690 +brif 44 L2703 L2704 +label L2703 load 45 types_TID_ERR load 46 list_info call 47 pith_struct_release void 1 46 load 48 fn_info call 49 pith_struct_release void 1 48 ret 45 -label L2691 -label L2689 +label L2704 +label L2702 load 50 list_info load 51 list_tid call 52 types_get_type_info struct:TypeInfo 1 51 @@ -50096,8 +50279,8 @@ call 58 pith_cstring_eq bool 2 55 56 iconst 59 1 sub 57 59 58 call 60 pith_cstring_release void 1 56 -brif 57 L2693 L2694 -label L2693 +brif 57 L2706 L2707 +label L2706 strref 61 m13s304 strref 62 m13s597 load 63 list_tid @@ -50114,8 +50297,8 @@ call 73 pith_struct_release void 1 72 load 74 fn_info call 75 pith_struct_release void 1 74 ret 71 -label L2694 -label L2692 +label L2707 +label L2705 load 76 fn_info load 77 fn_tid call 78 types_get_type_info struct:TypeInfo 1 77 @@ -50128,8 +50311,8 @@ call 84 pith_cstring_eq bool 2 81 82 iconst 85 1 sub 83 85 84 call 86 pith_cstring_release void 1 82 -brif 83 L2696 L2697 -label L2696 +brif 83 L2709 L2710 +label L2709 strref 87 m13s579 strref 88 m13s596 call 89 checker_diagnostics_report_error void 2 87 88 @@ -50141,15 +50324,15 @@ call 94 pith_struct_release void 1 93 load 95 fn_info call 96 pith_struct_release void 1 95 ret 92 -label L2697 -label L2695 +label L2710 +label L2708 load 97 fn_info field 98 97 48 list param_types call 99 pith_list_len int 1 98 iconst 100 1 neq 101 99 100 -brif 101 L2699 L2700 -label L2699 +brif 101 L2712 L2713 +label L2712 strref 102 m13s307 strref 103 m13s587 load 104 fn_info @@ -50168,8 +50351,8 @@ call 116 pith_struct_release void 1 115 load 117 fn_info call 118 pith_struct_release void 1 117 ret 114 -label L2700 -label L2698 +label L2713 +label L2711 load 119 fn_info field 120 119 48 list param_types iconst 121 0 @@ -50179,8 +50362,8 @@ field 124 123 64 int inner call 125 checker_types_structurally_equal bool 2 122 124 iconst 126 0 eq 127 125 126 -brif 127 L2702 L2703 -label L2702 +brif 127 L2715 L2716 +label L2715 strref 128 m13s304 strref 129 m13s586 load 130 list_info @@ -50210,8 +50393,8 @@ call 153 pith_struct_release void 1 152 load 154 fn_info call 155 pith_struct_release void 1 154 ret 151 -label L2703 -label L2701 +label L2716 +label L2714 load 156 fn_info field 157 156 56 int return_type call 158 checker_type_intern_intern_list_type int 1 157 @@ -50238,8 +50421,8 @@ load 4 arg_indices call 5 pith_list_len int 1 4 iconst 6 2 neq 7 5 6 -brif 7 L2705 L2706 -label L2705 +brif 7 L2718 L2719 +label L2718 strref 8 m13s307 strref 9 m13s595 load 10 arg_indices @@ -50257,8 +50440,8 @@ call 21 pith_struct_release void 1 20 load 22 fn_info call 23 pith_struct_release void 1 22 ret 19 -label L2706 -label L2704 +label L2719 +label L2717 load 24 arg_indices iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -50275,28 +50458,28 @@ call 35 checker_c_check_expr int 2 33 34 store fn_tid 35 load 36 list_tid call 37 types_is_error_type bool 1 36 -brif 37 L2708 L2709 -label L2708 +brif 37 L2721 L2722 +label L2721 load 38 types_TID_ERR load 39 list_info call 40 pith_struct_release void 1 39 load 41 fn_info call 42 pith_struct_release void 1 41 ret 38 -label L2709 -label L2707 +label L2722 +label L2720 load 43 fn_tid call 44 types_is_error_type bool 1 43 -brif 44 L2711 L2712 -label L2711 +brif 44 L2724 L2725 +label L2724 load 45 types_TID_ERR load 46 list_info call 47 pith_struct_release void 1 46 load 48 fn_info call 49 pith_struct_release void 1 48 ret 45 -label L2712 -label L2710 +label L2725 +label L2723 load 50 list_info load 51 list_tid call 52 types_get_type_info struct:TypeInfo 1 51 @@ -50309,8 +50492,8 @@ call 58 pith_cstring_eq bool 2 55 56 iconst 59 1 sub 57 59 58 call 60 pith_cstring_release void 1 56 -brif 57 L2714 L2715 -label L2714 +brif 57 L2727 L2728 +label L2727 strref 61 m13s304 strref 62 m13s594 load 63 list_tid @@ -50327,8 +50510,8 @@ call 73 pith_struct_release void 1 72 load 74 fn_info call 75 pith_struct_release void 1 74 ret 71 -label L2715 -label L2713 +label L2728 +label L2726 load 76 fn_info load 77 fn_tid call 78 types_get_type_info struct:TypeInfo 1 77 @@ -50341,8 +50524,8 @@ call 84 pith_cstring_eq bool 2 81 82 iconst 85 1 sub 83 85 84 call 86 pith_cstring_release void 1 82 -brif 83 L2717 L2718 -label L2717 +brif 83 L2730 L2731 +label L2730 strref 87 m13s579 strref 88 m13s593 call 89 checker_diagnostics_report_error void 2 87 88 @@ -50354,15 +50537,15 @@ call 94 pith_struct_release void 1 93 load 95 fn_info call 96 pith_struct_release void 1 95 ret 92 -label L2718 -label L2716 +label L2731 +label L2729 load 97 fn_info field 98 97 48 list param_types call 99 pith_list_len int 1 98 iconst 100 1 neq 101 99 100 -brif 101 L2720 L2721 -label L2720 +brif 101 L2733 L2734 +label L2733 strref 102 m13s307 strref 103 m13s583 load 104 fn_info @@ -50381,8 +50564,8 @@ call 116 pith_struct_release void 1 115 load 117 fn_info call 118 pith_struct_release void 1 117 ret 114 -label L2721 -label L2719 +label L2734 +label L2732 load 119 fn_info field 120 119 48 list param_types iconst 121 0 @@ -50392,8 +50575,8 @@ field 124 123 64 int inner call 125 checker_types_structurally_equal bool 2 122 124 iconst 126 0 eq 127 125 126 -brif 127 L2723 L2724 -label L2723 +brif 127 L2736 L2737 +label L2736 strref 128 m13s304 strref 129 m13s582 load 130 list_info @@ -50423,23 +50606,23 @@ call 153 pith_struct_release void 1 152 load 154 fn_info call 155 pith_struct_release void 1 154 ret 151 -label L2724 -label L2722 +label L2737 +label L2735 load 156 fn_info field 157 156 56 int return_type strref 158 m13s12 call 159 types_lookup_type_id int 1 158 call 160 pith_cstring_release void 1 158 neq 161 157 159 -brif 161 L2726 L2727 -label L2726 +brif 161 L2739 L2740 +label L2739 load 162 fn_info field 163 162 56 int return_type call 164 types_is_integer_type bool 1 163 iconst 165 0 eq 166 164 165 -brif 166 L2729 L2730 -label L2729 +brif 166 L2742 L2743 +label L2742 strref 167 m13s304 strref 168 m13s581 load 169 fn_info @@ -50457,11 +50640,11 @@ call 180 pith_struct_release void 1 179 load 181 fn_info call 182 pith_struct_release void 1 181 ret 178 -label L2730 -label L2728 -jmp L2725 -label L2727 -label L2725 +label L2743 +label L2741 +jmp L2738 +label L2740 +label L2738 load 183 list_tid load 184 list_info call 185 pith_struct_release void 1 184 @@ -50486,8 +50669,8 @@ load 4 arg_indices call 5 pith_list_len int 1 4 iconst 6 3 neq 7 5 6 -brif 7 L2732 L2733 -label L2732 +brif 7 L2745 L2746 +label L2745 strref 8 m13s307 strref 9 m13s592 load 10 arg_indices @@ -50505,8 +50688,8 @@ call 21 pith_struct_release void 1 20 load 22 fn_info call 23 pith_struct_release void 1 22 ret 19 -label L2733 -label L2731 +label L2746 +label L2744 load 24 arg_indices iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -50530,40 +50713,40 @@ call 41 checker_c_check_expr int 2 39 40 store fn_tid 41 load 42 list_tid call 43 types_is_error_type bool 1 42 -brif 43 L2735 L2736 -label L2735 +brif 43 L2748 L2749 +label L2748 load 44 types_TID_ERR load 45 list_info call 46 pith_struct_release void 1 45 load 47 fn_info call 48 pith_struct_release void 1 47 ret 44 -label L2736 -label L2734 +label L2749 +label L2747 load 49 init_tid call 50 types_is_error_type bool 1 49 -brif 50 L2738 L2739 -label L2738 +brif 50 L2751 L2752 +label L2751 load 51 types_TID_ERR load 52 list_info call 53 pith_struct_release void 1 52 load 54 fn_info call 55 pith_struct_release void 1 54 ret 51 -label L2739 -label L2737 +label L2752 +label L2750 load 56 fn_tid call 57 types_is_error_type bool 1 56 -brif 57 L2741 L2742 -label L2741 +brif 57 L2754 L2755 +label L2754 load 58 types_TID_ERR load 59 list_info call 60 pith_struct_release void 1 59 load 61 fn_info call 62 pith_struct_release void 1 61 ret 58 -label L2742 -label L2740 +label L2755 +label L2753 load 63 list_info load 64 list_tid call 65 types_get_type_info struct:TypeInfo 1 64 @@ -50576,8 +50759,8 @@ call 71 pith_cstring_eq bool 2 68 69 iconst 72 1 sub 70 72 71 call 73 pith_cstring_release void 1 69 -brif 70 L2744 L2745 -label L2744 +brif 70 L2757 L2758 +label L2757 strref 74 m13s304 strref 75 m13s591 load 76 list_tid @@ -50594,8 +50777,8 @@ call 86 pith_struct_release void 1 85 load 87 fn_info call 88 pith_struct_release void 1 87 ret 84 -label L2745 -label L2743 +label L2758 +label L2756 load 89 fn_info load 90 fn_tid call 91 types_get_type_info struct:TypeInfo 1 90 @@ -50608,8 +50791,8 @@ call 97 pith_cstring_eq bool 2 94 95 iconst 98 1 sub 96 98 97 call 99 pith_cstring_release void 1 95 -brif 96 L2747 L2748 -label L2747 +brif 96 L2760 L2761 +label L2760 strref 100 m13s579 strref 101 m13s590 call 102 checker_diagnostics_report_error void 2 100 101 @@ -50621,15 +50804,15 @@ call 107 pith_struct_release void 1 106 load 108 fn_info call 109 pith_struct_release void 1 108 ret 105 -label L2748 -label L2746 +label L2761 +label L2759 load 110 fn_info field 111 110 48 list param_types call 112 pith_list_len int 1 111 iconst 113 2 neq 114 112 113 -brif 114 L2750 L2751 -label L2750 +brif 114 L2763 L2764 +label L2763 strref 115 m13s307 strref 116 m13s577 load 117 fn_info @@ -50648,8 +50831,8 @@ call 129 pith_struct_release void 1 128 load 130 fn_info call 131 pith_struct_release void 1 130 ret 127 -label L2751 -label L2749 +label L2764 +label L2762 load 132 fn_info field 133 132 48 list param_types iconst 134 0 @@ -50658,8 +50841,8 @@ load 136 init_tid call 137 checker_types_structurally_equal bool 2 135 136 iconst 138 0 eq 139 137 138 -brif 139 L2753 L2754 -label L2753 +brif 139 L2766 L2767 +label L2766 strref 140 m13s304 strref 141 m13s576 load 142 init_tid @@ -50688,8 +50871,8 @@ call 164 pith_struct_release void 1 163 load 165 fn_info call 166 pith_struct_release void 1 165 ret 162 -label L2754 -label L2752 +label L2767 +label L2765 load 167 fn_info field 168 167 48 list param_types iconst 169 1 @@ -50699,8 +50882,8 @@ field 172 171 64 int inner call 173 checker_types_structurally_equal bool 2 170 172 iconst 174 0 eq 175 173 174 -brif 175 L2756 L2757 -label L2756 +brif 175 L2769 L2770 +label L2769 strref 176 m13s304 strref 177 m13s575 load 178 list_info @@ -50730,16 +50913,16 @@ call 201 pith_struct_release void 1 200 load 202 fn_info call 203 pith_struct_release void 1 202 ret 199 -label L2757 -label L2755 +label L2770 +label L2768 load 204 fn_info field 205 204 56 int return_type load 206 init_tid call 207 checker_types_structurally_equal bool 2 205 206 iconst 208 0 eq 209 207 208 -brif 209 L2759 L2760 -label L2759 +brif 209 L2772 L2773 +label L2772 strref 210 m13s304 strref 211 m13s574 load 212 init_tid @@ -50766,8 +50949,8 @@ call 232 pith_struct_release void 1 231 load 233 fn_info call 234 pith_struct_release void 1 233 ret 230 -label L2760 -label L2758 +label L2773 +label L2771 load 235 init_tid load 236 list_info call 237 pith_struct_release void 1 236 @@ -50791,8 +50974,8 @@ load 4 args call 5 pith_list_len int 1 4 iconst 6 1 neq 7 5 6 -brif 7 L2762 L2763 -label L2762 +brif 7 L2775 L2776 +label L2775 strref 8 m13s307 strref 9 m13s589 load 10 args @@ -50808,8 +50991,8 @@ load 19 types_TID_ERR load 20 fn_info call 21 pith_struct_release void 1 20 ret 19 -label L2763 -label L2761 +label L2776 +label L2774 load 22 args iconst 23 0 call 24 pith_list_get_value_strict int 2 22 23 @@ -50819,14 +51002,14 @@ call 27 checker_c_check_expr int 2 25 26 store fn_tid 27 load 28 fn_tid call 29 types_is_error_type bool 1 28 -brif 29 L2765 L2766 -label L2765 +brif 29 L2778 L2779 +label L2778 load 30 types_TID_ERR load 31 fn_info call 32 pith_struct_release void 1 31 ret 30 -label L2766 -label L2764 +label L2779 +label L2777 load 33 fn_info load 34 fn_tid call 35 types_get_type_info struct:TypeInfo 1 34 @@ -50839,8 +51022,8 @@ call 41 pith_cstring_eq bool 2 38 39 iconst 42 1 sub 40 42 41 call 43 pith_cstring_release void 1 39 -brif 40 L2768 L2769 -label L2768 +brif 40 L2781 L2782 +label L2781 strref 44 m13s579 strref 45 m13s588 call 46 checker_diagnostics_report_error void 2 44 45 @@ -50850,15 +51033,15 @@ load 49 types_TID_ERR load 50 fn_info call 51 pith_struct_release void 1 50 ret 49 -label L2769 -label L2767 +label L2782 +label L2780 load 52 fn_info field 53 52 48 list param_types call 54 pith_list_len int 1 53 iconst 55 1 neq 56 54 55 -brif 56 L2771 L2772 -label L2771 +brif 56 L2784 L2785 +label L2784 strref 57 m13s307 strref 58 m13s587 load 59 fn_info @@ -50875,8 +51058,8 @@ load 69 types_TID_ERR load 70 fn_info call 71 pith_struct_release void 1 70 ret 69 -label L2772 -label L2770 +label L2785 +label L2783 load 72 fn_info field 73 72 48 list param_types iconst 74 0 @@ -50886,8 +51069,8 @@ field 77 76 64 int inner call 78 checker_types_structurally_equal bool 2 75 77 iconst 79 0 eq 80 78 79 -brif 80 L2774 L2775 -label L2774 +brif 80 L2787 L2788 +label L2787 strref 81 m13s304 strref 82 m13s586 load 83 info @@ -50915,8 +51098,8 @@ load 104 types_TID_ERR load 105 fn_info call 106 pith_struct_release void 1 105 ret 104 -label L2775 -label L2773 +label L2788 +label L2786 load 107 fn_info field 108 107 56 int return_type call 109 checker_type_intern_intern_list_type int 1 108 @@ -50938,8 +51121,8 @@ load 4 args call 5 pith_list_len int 1 4 iconst 6 1 neq 7 5 6 -brif 7 L2777 L2778 -label L2777 +brif 7 L2790 L2791 +label L2790 strref 8 m13s307 strref 9 m13s585 load 10 args @@ -50955,8 +51138,8 @@ load 19 types_TID_ERR load 20 fn_info call 21 pith_struct_release void 1 20 ret 19 -label L2778 -label L2776 +label L2791 +label L2789 load 22 args iconst 23 0 call 24 pith_list_get_value_strict int 2 22 23 @@ -50966,14 +51149,14 @@ call 27 checker_c_check_expr int 2 25 26 store fn_tid 27 load 28 fn_tid call 29 types_is_error_type bool 1 28 -brif 29 L2780 L2781 -label L2780 +brif 29 L2793 L2794 +label L2793 load 30 types_TID_ERR load 31 fn_info call 32 pith_struct_release void 1 31 ret 30 -label L2781 -label L2779 +label L2794 +label L2792 load 33 fn_info load 34 fn_tid call 35 types_get_type_info struct:TypeInfo 1 34 @@ -50986,8 +51169,8 @@ call 41 pith_cstring_eq bool 2 38 39 iconst 42 1 sub 40 42 41 call 43 pith_cstring_release void 1 39 -brif 40 L2783 L2784 -label L2783 +brif 40 L2796 L2797 +label L2796 strref 44 m13s579 strref 45 m13s584 call 46 checker_diagnostics_report_error void 2 44 45 @@ -50997,15 +51180,15 @@ load 49 types_TID_ERR load 50 fn_info call 51 pith_struct_release void 1 50 ret 49 -label L2784 -label L2782 +label L2797 +label L2795 load 52 fn_info field 53 52 48 list param_types call 54 pith_list_len int 1 53 iconst 55 1 neq 56 54 55 -brif 56 L2786 L2787 -label L2786 +brif 56 L2799 L2800 +label L2799 strref 57 m13s307 strref 58 m13s583 load 59 fn_info @@ -51022,8 +51205,8 @@ load 69 types_TID_ERR load 70 fn_info call 71 pith_struct_release void 1 70 ret 69 -label L2787 -label L2785 +label L2800 +label L2798 load 72 fn_info field 73 72 48 list param_types iconst 74 0 @@ -51033,8 +51216,8 @@ field 77 76 64 int inner call 78 checker_types_structurally_equal bool 2 75 77 iconst 79 0 eq 80 78 79 -brif 80 L2789 L2790 -label L2789 +brif 80 L2802 L2803 +label L2802 strref 81 m13s304 strref 82 m13s582 load 83 info @@ -51062,23 +51245,23 @@ load 104 types_TID_ERR load 105 fn_info call 106 pith_struct_release void 1 105 ret 104 -label L2790 -label L2788 +label L2803 +label L2801 load 107 fn_info field 108 107 56 int return_type strref 109 m13s12 call 110 types_lookup_type_id int 1 109 call 111 pith_cstring_release void 1 109 neq 112 108 110 -brif 112 L2792 L2793 -label L2792 +brif 112 L2805 L2806 +label L2805 load 113 fn_info field 114 113 56 int return_type call 115 types_is_integer_type bool 1 114 iconst 116 0 eq 117 115 116 -brif 117 L2795 L2796 -label L2795 +brif 117 L2808 L2809 +label L2808 strref 118 m13s304 strref 119 m13s581 load 120 fn_info @@ -51094,11 +51277,11 @@ load 129 types_TID_ERR load 130 fn_info call 131 pith_struct_release void 1 130 ret 129 -label L2796 -label L2794 -jmp L2791 -label L2793 -label L2791 +label L2809 +label L2807 +jmp L2804 +label L2806 +label L2804 load 132 info field 133 132 64 int inner call 134 checker_type_intern_intern_list_type int 1 133 @@ -51120,8 +51303,8 @@ load 4 args call 5 pith_list_len int 1 4 iconst 6 2 neq 7 5 6 -brif 7 L2798 L2799 -label L2798 +brif 7 L2811 L2812 +label L2811 strref 8 m13s307 strref 9 m13s580 load 10 args @@ -51137,8 +51320,8 @@ load 19 types_TID_ERR load 20 fn_info call 21 pith_struct_release void 1 20 ret 19 -label L2799 -label L2797 +label L2812 +label L2810 load 22 args iconst 23 0 call 24 pith_list_get_value_strict int 2 22 23 @@ -51155,24 +51338,24 @@ call 33 checker_c_check_expr int 2 31 32 store fn_tid 33 load 34 init_tid call 35 types_is_error_type bool 1 34 -brif 35 L2801 L2802 -label L2801 +brif 35 L2814 L2815 +label L2814 load 36 types_TID_ERR load 37 fn_info call 38 pith_struct_release void 1 37 ret 36 -label L2802 -label L2800 +label L2815 +label L2813 load 39 fn_tid call 40 types_is_error_type bool 1 39 -brif 40 L2804 L2805 -label L2804 +brif 40 L2817 L2818 +label L2817 load 41 types_TID_ERR load 42 fn_info call 43 pith_struct_release void 1 42 ret 41 -label L2805 -label L2803 +label L2818 +label L2816 load 44 fn_info load 45 fn_tid call 46 types_get_type_info struct:TypeInfo 1 45 @@ -51185,8 +51368,8 @@ call 52 pith_cstring_eq bool 2 49 50 iconst 53 1 sub 51 53 52 call 54 pith_cstring_release void 1 50 -brif 51 L2807 L2808 -label L2807 +brif 51 L2820 L2821 +label L2820 strref 55 m13s579 strref 56 m13s578 call 57 checker_diagnostics_report_error void 2 55 56 @@ -51196,15 +51379,15 @@ load 60 types_TID_ERR load 61 fn_info call 62 pith_struct_release void 1 61 ret 60 -label L2808 -label L2806 +label L2821 +label L2819 load 63 fn_info field 64 63 48 list param_types call 65 pith_list_len int 1 64 iconst 66 2 neq 67 65 66 -brif 67 L2810 L2811 -label L2810 +brif 67 L2823 L2824 +label L2823 strref 68 m13s307 strref 69 m13s577 load 70 fn_info @@ -51221,8 +51404,8 @@ load 80 types_TID_ERR load 81 fn_info call 82 pith_struct_release void 1 81 ret 80 -label L2811 -label L2809 +label L2824 +label L2822 load 83 fn_info field 84 83 48 list param_types iconst 85 0 @@ -51231,8 +51414,8 @@ load 87 init_tid call 88 checker_types_structurally_equal bool 2 86 87 iconst 89 0 eq 90 88 89 -brif 90 L2813 L2814 -label L2813 +brif 90 L2826 L2827 +label L2826 strref 91 m13s304 strref 92 m13s576 load 93 init_tid @@ -51259,8 +51442,8 @@ load 113 types_TID_ERR load 114 fn_info call 115 pith_struct_release void 1 114 ret 113 -label L2814 -label L2812 +label L2827 +label L2825 load 116 fn_info field 117 116 48 list param_types iconst 118 1 @@ -51270,8 +51453,8 @@ field 121 120 64 int inner call 122 checker_types_structurally_equal bool 2 119 121 iconst 123 0 eq 124 122 123 -brif 124 L2816 L2817 -label L2816 +brif 124 L2829 L2830 +label L2829 strref 125 m13s304 strref 126 m13s575 load 127 info @@ -51299,16 +51482,16 @@ load 148 types_TID_ERR load 149 fn_info call 150 pith_struct_release void 1 149 ret 148 -label L2817 -label L2815 +label L2830 +label L2828 load 151 fn_info field 152 151 56 int return_type load 153 init_tid call 154 checker_types_structurally_equal bool 2 152 153 iconst 155 0 eq 156 154 155 -brif 156 L2819 L2820 -label L2819 +brif 156 L2832 L2833 +label L2832 strref 157 m13s304 strref 158 m13s574 load 159 init_tid @@ -51333,8 +51516,8 @@ load 177 types_TID_ERR load 178 fn_info call 179 pith_struct_release void 1 178 ret 177 -label L2820 -label L2818 +label L2833 +label L2831 load 180 init_tid load 181 fn_info call 182 pith_struct_release void 1 181 @@ -51351,40 +51534,40 @@ field 2 1 0 string kind strref 3 m13s563 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L2822 L2823 -label L2822 +brif 4 L2835 L2836 +label L2835 load 6 node field 7 6 8 string value call 8 pith_cstring_retain void 1 7 ret 7 -label L2823 -label L2821 +label L2836 +label L2834 load 9 node field 10 9 0 string kind strref 11 m13s564 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L2825 L2826 -label L2825 +brif 12 L2838 L2839 +label L2838 load 14 node field 15 14 8 string value strref 16 m13s96 call 17 pith_cstring_contains bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L2828 L2829 -label L2828 +brif 17 L2841 L2842 +label L2841 load 19 node field 20 19 8 string value call 21 checker_extract_base_type_name string 1 20 ret 21 -label L2829 -label L2827 +label L2842 +label L2840 load 22 node field 23 22 8 string value call 24 pith_cstring_retain void 1 23 ret 23 -label L2826 -label L2824 +label L2839 +label L2837 strref 25 m13s35 ret 25 iconst 26 0 @@ -51411,8 +51594,8 @@ field 10 9 0 string kind strref 11 m13s563 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L2831 L2832 -label L2831 +brif 12 L2844 L2845 +label L2844 load 14 node field 15 14 16 list children call 16 pith_auto_len int 1 15 @@ -51420,12 +51603,12 @@ iconst 17 0 store __for_idx_148 17 store __for_len_148 16 store __for_iter_148 15 -label L2833 +label L2846 load 18 __for_idx_148 load 19 __for_len_148 lt 20 18 19 -brif 20 L2834 L2836 -label L2834 +brif 20 L2847 L2849 +label L2847 load 21 __for_iter_148 load 22 __for_idx_148 call 23 pith_list_get_value unknown 2 21 22 @@ -51439,29 +51622,29 @@ load 28 names load 29 cn call 30 checker_get_type_node_name string 1 29 call 31 pith_list_push_value_owned void 2 28 30 -label L2835 +label L2848 load 32 __for_idx_148 iconst 33 1 add 34 32 33 store __for_idx_148 34 -jmp L2833 -label L2836 -jmp L2830 -label L2832 +jmp L2846 +label L2849 +jmp L2843 +label L2845 load 35 node field 36 35 0 string kind strref 37 m13s564 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L2837 L2838 -label L2837 +brif 38 L2850 L2851 +label L2850 load 40 node field 41 40 8 string value strref 42 m13s96 call 43 pith_cstring_contains bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L2840 L2841 -label L2840 +brif 43 L2853 L2854 +label L2853 load 45 base load 46 node field 47 46 8 string value @@ -51496,12 +51679,12 @@ iconst 72 0 store __for_idx_149 72 store __for_len_149 71 store __for_iter_149 70 -label L2842 +label L2855 load 73 __for_idx_149 load 74 __for_len_149 lt 75 73 74 -brif 75 L2843 L2845 -label L2843 +brif 75 L2856 L2858 +label L2856 load 76 __for_iter_149 load 77 __for_idx_149 call 78 pith_list_get_value_unchecked string 2 76 77 @@ -51510,19 +51693,19 @@ load 79 names load 80 __loopvar_149_part call 81 pith_cstring_trim string 1 80 call 82 pith_list_push_value_owned void 2 79 81 -label L2844 +label L2857 load 83 __for_idx_149 iconst 84 1 add 85 83 84 store __for_idx_149 85 -jmp L2842 -label L2845 -jmp L2839 -label L2841 -label L2839 -jmp L2830 -label L2838 -label L2830 +jmp L2855 +label L2858 +jmp L2852 +label L2854 +label L2852 +jmp L2843 +label L2851 +label L2843 load 86 names load 87 cn call 88 pith_struct_release void 1 87 @@ -51568,8 +51751,8 @@ call 12 pith_list_release_handle void 1 10 store struct_params 11 load 13 impl_struct_base call 14 checker_has_generic_declaration bool 1 13 -brif 14 L2847 L2848 -label L2847 +brif 14 L2860 L2861 +label L2860 load 15 sdecl load 16 impl_struct_base call 17 checker_get_generic_declaration_index int 1 16 @@ -51581,9 +51764,9 @@ load 21 sdecl call 22 checker_collect_generic_parameter_names list_string 1 21 call 23 pith_list_release_handle void 1 20 store struct_params 22 -jmp L2846 -label L2848 -label L2846 +jmp L2859 +label L2861 +label L2859 load 24 parts call 25 pith_list_new_cstr list 0 call 26 pith_list_release_handle void 1 24 @@ -51594,12 +51777,12 @@ iconst 29 0 store __for_idx_150 29 store __for_len_150 28 store __for_iter_150 27 -label L2849 +label L2862 load 30 __for_idx_150 load 31 __for_len_150 lt 32 30 31 -brif 32 L2850 L2852 -label L2850 +brif 32 L2863 L2865 +label L2863 load 33 __for_iter_150 load 34 __for_idx_150 call 35 pith_list_get_value_unchecked string 2 33 34 @@ -51614,12 +51797,12 @@ iconst 41 0 store __for_idx_151 41 store __for_len_151 40 store __for_iter_151 39 -label L2853 +label L2866 load 42 __for_idx_151 load 43 __for_len_151 lt 44 42 43 -brif 44 L2854 L2856 -label L2854 +brif 44 L2867 L2869 +label L2867 load 45 __for_iter_151 load 46 __for_idx_151 call 47 pith_list_get_value_unchecked string 2 45 46 @@ -51629,25 +51812,25 @@ store __loopvar_151_sp_i 48 load 49 __loopvar_151_sp load 50 __loopvar_150_n call 51 pith_cstring_eq bool 2 49 50 -brif 51 L2858 L2859 -label L2858 +brif 51 L2871 L2872 +label L2871 load 52 __loopvar_151_sp_i store found_idx 52 -jmp L2857 -label L2859 -label L2857 -label L2855 +jmp L2870 +label L2872 +label L2870 +label L2868 load 53 __for_idx_151 iconst 54 1 add 55 53 54 store __for_idx_151 55 -jmp L2853 -label L2856 +jmp L2866 +label L2869 load 56 found_idx iconst 57 0 gte 58 56 57 -brif 58 L2861 L2862 -label L2861 +brif 58 L2874 L2875 +label L2874 load 59 parts strref 60 m13s573 load 61 found_idx @@ -51656,8 +51839,8 @@ concat 63 60 62 call 64 pith_cstring_release void 1 60 call 65 pith_cstring_release void 1 62 call 66 pith_list_push_value_owned void 2 59 63 -jmp L2860 -label L2862 +jmp L2873 +label L2875 load 67 parts strref 68 m13s572 load 69 __loopvar_150_n @@ -51667,14 +51850,14 @@ concat 72 68 71 call 73 pith_cstring_release void 1 68 call 74 pith_cstring_release void 1 71 call 75 pith_list_push_value_owned void 2 67 72 -label L2860 -label L2851 +label L2873 +label L2864 load 76 __for_idx_150 iconst 77 1 add 78 76 77 store __for_idx_150 78 -jmp L2849 -label L2852 +jmp L2862 +label L2865 load 79 parts strref 80 m13s90 call 81 list_join string 2 79 80 @@ -51718,8 +51901,8 @@ load 9 encoded call 10 string_len int 1 9 iconst 11 0 eq 12 10 11 -brif 12 L2864 L2865 -label L2864 +brif 12 L2877 L2878 +label L2877 load 13 tids load 14 instance_args call 15 pith_list_release_handle void 1 14 @@ -51728,8 +51911,8 @@ call 17 pith_list_release_handle void 1 16 load 18 idx_str call 19 pith_cstring_release void 1 18 ret 13 -label L2865 -label L2863 +label L2878 +label L2876 load 20 instance_args call 21 pith_list_new_default list 0 call 22 pith_list_release_handle void 1 20 @@ -51737,8 +51920,8 @@ store instance_args 21 load 23 checker_struct_instance_type_args load 24 instance_tid call 25 map_contains_ikey bool 2 23 24 -brif 25 L2867 L2868 -label L2867 +brif 25 L2880 L2881 +label L2880 load 26 instance_args load 27 checker_struct_instance_type_args load 28 instance_tid @@ -51746,9 +51929,9 @@ call 29 map_get_ikey_strict string 2 27 28 call 30 checker_decode_tid_list list 1 29 call 31 pith_list_release_handle void 1 26 store instance_args 30 -jmp L2866 -label L2868 -label L2866 +jmp L2879 +label L2881 +label L2879 load 32 parts load 33 encoded strref 34 m13s90 @@ -51762,12 +51945,12 @@ iconst 40 0 store __for_idx_152 40 store __for_len_152 39 store __for_iter_152 38 -label L2869 +label L2882 load 41 __for_idx_152 load 42 __for_len_152 lt 43 41 42 -brif 43 L2870 L2872 -label L2870 +brif 43 L2883 L2885 +label L2883 load 44 __for_iter_152 load 45 __for_idx_152 call 46 pith_list_get_value_unchecked string 2 44 45 @@ -51776,8 +51959,8 @@ load 47 __loopvar_152_part strref 48 m13s573 call 49 pith_cstring_starts_with bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L2874 L2875 -label L2874 +brif 49 L2887 L2888 +label L2887 load 51 idx_str load 52 __loopvar_152_part iconst 53 6 @@ -51790,43 +51973,43 @@ load 58 idx_str call 59 checker_parse_integer_string int 1 58 store idx 59 iconst 60 0 -store __and_60_2879 60 +store __and_60_2892 60 load 61 idx iconst 62 0 gte 63 61 62 -store __and_60_2879 63 -brif 63 L2879 L2880 -label L2879 +store __and_60_2892 63 +brif 63 L2892 L2893 +label L2892 load 64 idx load 65 instance_args call 66 pith_list_len int 1 65 lt 67 64 66 -store __and_60_2879 67 -label L2880 -load 68 __and_60_2879 -brif 68 L2877 L2878 -label L2877 +store __and_60_2892 67 +label L2893 +load 68 __and_60_2892 +brif 68 L2890 L2891 +label L2890 load 69 tids load 70 instance_args load 71 idx call 72 pith_list_get_value_strict int 2 70 71 call 73 pith_list_push_value void 2 69 72 -jmp L2876 -label L2878 +jmp L2889 +label L2891 load 74 tids iconst 75 0 iconst 76 1 sub 77 75 76 call 78 pith_list_push_value void 2 74 77 -label L2876 -jmp L2873 -label L2875 +label L2889 +jmp L2886 +label L2888 load 79 __loopvar_152_part strref 80 m13s572 call 81 pith_cstring_starts_with bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L2881 L2882 -label L2881 +brif 81 L2894 L2895 +label L2894 load 83 __loopvar_152_part iconst 84 4 load 85 __loopvar_152_part @@ -51838,21 +52021,21 @@ store tid 88 load 90 tids load 91 tid call 92 pith_list_push_value void 2 90 91 -jmp L2873 -label L2882 +jmp L2886 +label L2895 load 93 tids iconst 94 0 iconst 95 1 sub 96 94 95 call 97 pith_list_push_value void 2 93 96 -label L2873 -label L2871 +label L2886 +label L2884 load 98 __for_idx_152 iconst 99 1 add 100 98 99 store __for_idx_152 100 -jmp L2869 -label L2872 +jmp L2882 +label L2885 load 101 tids load 102 instance_args call 103 pith_list_release_handle void 1 102 @@ -51886,12 +52069,12 @@ iconst 7 0 store __for_idx_153 7 store __for_len_153 6 store __for_iter_153 5 -label L2883 +label L2896 load 8 __for_idx_153 load 9 __for_len_153 lt 10 8 9 -brif 10 L2884 L2886 -label L2884 +brif 10 L2897 L2899 +label L2897 load 11 __for_iter_153 load 12 __for_idx_153 call 13 pith_list_get_value unknown 2 11 12 @@ -51900,13 +52083,13 @@ load 14 parts load 15 __loopvar_153_tid call 16 int_to_string string 1 15 call 17 pith_list_push_value_owned void 2 14 16 -label L2885 +label L2898 load 18 __for_idx_153 iconst 19 1 add 20 18 19 store __for_idx_153 20 -jmp L2883 -label L2886 +jmp L2896 +label L2899 load 21 parts strref 22 m13s90 call 23 list_join string 2 21 22 @@ -51933,14 +52116,14 @@ load 6 s call 7 string_len int 1 6 iconst 8 0 eq 9 7 8 -brif 9 L2888 L2889 -label L2888 +brif 9 L2901 L2902 +label L2901 load 10 tids load 11 parts call 12 pith_list_release_handle void 1 11 ret 10 -label L2889 -label L2887 +label L2902 +label L2900 load 13 parts load 14 s strref 15 m13s90 @@ -51954,12 +52137,12 @@ iconst 21 0 store __for_idx_154 21 store __for_len_154 20 store __for_iter_154 19 -label L2890 +label L2903 load 22 __for_idx_154 load 23 __for_len_154 lt 24 22 23 -brif 24 L2891 L2893 -label L2891 +brif 24 L2904 L2906 +label L2904 load 25 __for_iter_154 load 26 __for_idx_154 call 27 pith_list_get_value_unchecked string 2 25 26 @@ -51968,13 +52151,13 @@ load 28 tids load 29 __loopvar_154_part call 30 checker_parse_integer_string int 1 29 call 31 pith_list_push_value void 2 28 30 -label L2892 +label L2905 load 32 __for_idx_154 iconst 33 1 add 34 32 33 store __for_idx_154 34 -jmp L2890 -label L2893 +jmp L2903 +label L2906 load 35 tids load 36 parts call 37 pith_list_release_handle void 1 36 @@ -52014,12 +52197,12 @@ iconst 14 0 store __for_idx_155 14 store __for_len_155 13 store __for_iter_155 12 -label L2894 +label L2907 load 15 __for_idx_155 load 16 __for_len_155 lt 17 15 16 -brif 17 L2895 L2897 -label L2895 +brif 17 L2908 L2910 +label L2908 load 18 __for_iter_155 load 19 __for_idx_155 call 20 pith_list_get_value unknown 2 18 19 @@ -52034,8 +52217,8 @@ field 26 25 0 string kind strref 27 m13s571 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2899 L2900 -label L2899 +brif 28 L2912 L2913 +label L2912 load 30 param_name load 31 cn field 32 31 8 string value @@ -52045,8 +52228,8 @@ store param_name 32 load 35 checker_generic_inference_subst load 36 param_name call 37 contains_key bool 2 35 36 -brif 37 L2902 L2903 -label L2902 +brif 37 L2915 L2916 +label L2915 load 38 checker_generic_inference_subst load 39 param_name call 40 map_get_strict int 2 38 39 @@ -52065,12 +52248,12 @@ iconst 50 0 store __for_idx_156 50 store __for_len_156 49 store __for_iter_156 48 -label L2904 +label L2917 load 51 __for_idx_156 load 52 __for_len_156 lt 53 51 52 -brif 53 L2905 L2907 -label L2905 +brif 53 L2918 L2920 +label L2918 load 54 __for_iter_156 load 55 __for_idx_156 call 56 pith_list_get_value unknown 2 54 55 @@ -52104,8 +52287,8 @@ store impl_key 76 load 79 checker_impl_interface_args load 80 impl_key call 81 contains_key bool 2 79 80 -brif 81 L2909 L2910 -label L2909 +brif 81 L2922 L2923 +label L2922 load 82 impl_args load 83 checker_impl_interface_args load 84 impl_key @@ -52116,25 +52299,25 @@ call 88 pith_list_release_handle void 1 82 store impl_args 87 iconst 89 0 store k 89 -label L2911 +label L2924 iconst 90 0 -store __and_90_2914 90 +store __and_90_2927 90 load 91 k load 92 bound_arg_names call 93 pith_list_len int 1 92 lt 94 91 93 -store __and_90_2914 94 -brif 94 L2914 L2915 -label L2914 +store __and_90_2927 94 +brif 94 L2927 L2928 +label L2927 load 95 k load 96 impl_args call 97 pith_list_len int 1 96 lt 98 95 97 -store __and_90_2914 98 -label L2915 -load 99 __and_90_2914 -brif 99 L2912 L2913 -label L2912 +store __and_90_2927 98 +label L2928 +load 99 __and_90_2927 +brif 99 L2925 L2926 +label L2925 load 100 ban load 101 bound_arg_names load 102 k @@ -52150,12 +52333,12 @@ iconst 109 0 store __for_idx_157 109 store __for_len_157 108 store __for_iter_157 107 -label L2916 +label L2929 load 110 __for_idx_157 load 111 __for_len_157 lt 112 110 111 -brif 112 L2917 L2919 -label L2917 +brif 112 L2930 L2932 +label L2930 load 113 __for_iter_157 load 114 __for_idx_157 call 115 pith_list_get_value_unchecked string 2 113 114 @@ -52163,84 +52346,84 @@ store __loopvar_157_gp 115 load 116 __loopvar_157_gp load 117 ban call 118 pith_cstring_eq bool 2 116 117 -brif 118 L2921 L2922 -label L2921 +brif 118 L2934 L2935 +label L2934 iconst 119 1 store is_gp 119 -jmp L2920 -label L2922 -label L2920 -label L2918 +jmp L2933 +label L2935 +label L2933 +label L2931 load 120 __for_idx_157 iconst 121 1 add 122 120 121 store __for_idx_157 122 -jmp L2916 -label L2919 +jmp L2929 +label L2932 iconst 123 0 -store __and_123_2926 123 +store __and_123_2939 123 load 124 is_gp -store __and_123_2926 124 -brif 124 L2926 L2927 -label L2926 +store __and_123_2939 124 +brif 124 L2939 L2940 +label L2939 load 125 checker_generic_inference_subst load 126 ban call 127 contains_key bool 2 125 126 iconst 128 0 eq 129 127 128 -store __and_123_2926 129 -label L2927 -load 130 __and_123_2926 -brif 130 L2924 L2925 -label L2924 +store __and_123_2939 129 +label L2940 +load 130 __and_123_2939 +brif 130 L2937 L2938 +label L2937 load 131 impl_args load 132 k call 133 pith_list_get_value_strict int 2 131 132 iconst 134 0 gte 135 133 134 -brif 135 L2929 L2930 -label L2929 +brif 135 L2942 L2943 +label L2942 load 136 checker_generic_inference_subst load 137 ban load 138 impl_args load 139 k call 140 pith_list_get_value_strict int 2 138 139 call 141 map_insert void 3 136 137 140 -jmp L2928 -label L2930 -label L2928 -jmp L2923 -label L2925 -label L2923 +jmp L2941 +label L2943 +label L2941 +jmp L2936 +label L2938 +label L2936 load 142 k iconst 143 1 add 144 142 143 store k 144 -jmp L2911 -label L2913 -jmp L2908 -label L2910 -label L2908 -label L2906 +jmp L2924 +label L2926 +jmp L2921 +label L2923 +label L2921 +label L2919 load 145 __for_idx_156 iconst 146 1 add 147 145 146 store __for_idx_156 147 -jmp L2904 -label L2907 -jmp L2901 -label L2903 -label L2901 -jmp L2898 -label L2900 -label L2898 -label L2896 +jmp L2917 +label L2920 +jmp L2914 +label L2916 +label L2914 +jmp L2911 +label L2913 +label L2911 +label L2909 load 148 __for_idx_155 iconst 149 1 add 150 148 149 store __for_idx_155 150 -jmp L2894 -label L2897 +jmp L2907 +label L2910 load 151 cn call 152 pith_struct_release void 1 151 load 153 param_name @@ -52291,12 +52474,12 @@ iconst 16 0 store __for_idx_158 16 store __for_len_158 15 store __for_iter_158 14 -label L2931 +label L2944 load 17 __for_idx_158 load 18 __for_len_158 lt 19 17 18 -brif 19 L2932 L2934 -label L2932 +brif 19 L2945 L2947 +label L2945 load 20 __for_iter_158 load 21 __for_idx_158 call 22 pith_list_get_value unknown 2 20 21 @@ -52311,8 +52494,8 @@ field 28 27 0 string kind strref 29 m13s571 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L2936 L2937 -label L2936 +brif 30 L2949 L2950 +label L2949 load 32 param_name load 33 cn field 34 33 8 string value @@ -52322,8 +52505,8 @@ store param_name 34 load 37 subst_map load 38 param_name call 39 contains_key bool 2 37 38 -brif 39 L2939 L2940 -label L2939 +brif 39 L2952 L2953 +label L2952 load 40 subst_map load 41 param_name call 42 map_get_strict int 2 40 41 @@ -52340,12 +52523,12 @@ iconst 50 0 store __for_idx_159 50 store __for_len_159 49 store __for_iter_159 48 -label L2941 +label L2954 load 51 __for_idx_159 load 52 __for_len_159 lt 53 51 52 -brif 53 L2942 L2944 -label L2942 +brif 53 L2955 L2957 +label L2955 load 54 __for_iter_159 load 55 __for_idx_159 call 56 pith_list_get_value unknown 2 54 55 @@ -52365,8 +52548,8 @@ load 66 iface_name call 67 checker_interfaces_has_interface_declaration bool 1 66 iconst 68 0 eq 69 67 68 -brif 69 L2946 L2947 -label L2946 +brif 69 L2959 L2960 +label L2959 strref 70 m13s568 strref 71 m13s570 load 72 iface_name @@ -52388,15 +52571,15 @@ call 87 pith_cstring_release void 1 70 call 88 pith_cstring_release void 1 83 iconst 89 0 store ok 89 -jmp L2945 -label L2947 +jmp L2958 +label L2960 load 90 type_name load 91 iface_name call 92 checker_check_type_implements_interface bool 2 90 91 iconst 93 0 eq 94 92 93 -brif 94 L2949 L2950 -label L2949 +brif 94 L2962 L2963 +label L2962 strref 95 m13s568 strref 96 m13s567 load 97 type_name @@ -52418,30 +52601,30 @@ call 112 pith_cstring_release void 1 95 call 113 pith_cstring_release void 1 108 iconst 114 0 store ok 114 -jmp L2948 -label L2950 -label L2948 -label L2945 -label L2943 +jmp L2961 +label L2963 +label L2961 +label L2958 +label L2956 load 115 __for_idx_159 iconst 116 1 add 117 115 116 store __for_idx_159 117 -jmp L2941 -label L2944 -jmp L2938 -label L2940 -label L2938 -jmp L2935 -label L2937 -label L2935 -label L2933 +jmp L2954 +label L2957 +jmp L2951 +label L2953 +label L2951 +jmp L2948 +label L2950 +label L2948 +label L2946 load 118 __for_idx_158 iconst 119 1 add 120 118 119 store __for_idx_158 120 -jmp L2931 -label L2934 +jmp L2944 +label L2947 load 121 ok load 122 decl_node call 123 pith_struct_release void 1 122 @@ -52477,8 +52660,8 @@ param actual_tid load 2 checker_generic_inference_subst load 3 name call 4 contains_key bool 2 2 3 -brif 4 L2952 L2953 -label L2952 +brif 4 L2965 L2966 +label L2965 load 5 checker_generic_inference_subst load 6 name call 7 map_get_strict int 2 5 6 @@ -52488,8 +52671,8 @@ load 9 actual_tid call 10 checker_types_structurally_equal bool 2 8 9 iconst 11 0 eq 12 10 11 -brif 12 L2955 L2956 -label L2955 +brif 12 L2968 L2969 +label L2968 strref 13 m13s304 strref 14 m13s565 load 15 name @@ -52518,12 +52701,12 @@ call 37 pith_cstring_release void 1 13 call 38 pith_cstring_release void 1 33 iconst 39 0 ret 39 -label L2956 -label L2954 +label L2969 +label L2967 iconst 40 1 ret 40 -label L2953 -label L2951 +label L2966 +label L2964 load 41 checker_generic_inference_subst load 42 name load 43 actual_tid @@ -52540,40 +52723,40 @@ store start 1 load 2 text call 3 string_len int 1 2 store end 3 -label L2957 +label L2970 iconst 4 0 -store __and_4_2960 4 +store __and_4_2973 4 load 5 start load 6 end lt 7 5 6 -store __and_4_2960 7 -brif 7 L2960 L2961 -label L2960 +store __and_4_2973 7 +brif 7 L2973 L2974 +label L2973 load 8 text load 9 start call 10 byte_at int 2 8 9 iconst 11 32 eq 12 10 11 -store __and_4_2960 12 -label L2961 -load 13 __and_4_2960 -brif 13 L2958 L2959 -label L2958 +store __and_4_2973 12 +label L2974 +load 13 __and_4_2973 +brif 13 L2971 L2972 +label L2971 load 14 start iconst 15 1 add 16 14 15 store start 16 -jmp L2957 -label L2959 -label L2962 +jmp L2970 +label L2972 +label L2975 iconst 17 0 -store __and_17_2965 17 +store __and_17_2978 17 load 18 end load 19 start gt 20 18 19 -store __and_17_2965 20 -brif 20 L2965 L2966 -label L2965 +store __and_17_2978 20 +brif 20 L2978 L2979 +label L2978 load 21 text load 22 end iconst 23 1 @@ -52581,17 +52764,17 @@ sub 24 22 23 call 25 byte_at int 2 21 24 iconst 26 32 eq 27 25 26 -store __and_17_2965 27 -label L2966 -load 28 __and_17_2965 -brif 28 L2963 L2964 -label L2963 +store __and_17_2978 27 +label L2979 +load 28 __and_17_2978 +brif 28 L2976 L2977 +label L2976 load 29 end iconst 30 1 sub 31 29 30 store end 31 -jmp L2962 -label L2964 +jmp L2975 +label L2977 load 32 text load 33 start load 34 end @@ -52616,13 +52799,13 @@ iconst 7 0 store depth 7 iconst 8 0 store i 8 -label L2967 +label L2980 load 9 i load 10 text call 11 string_len int 1 10 lt 12 9 11 -brif 12 L2968 L2969 -label L2968 +brif 12 L2981 L2982 +label L2981 load 13 ch load 14 text load 15 i @@ -52633,43 +52816,43 @@ load 18 ch strref 19 m13s96 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2971 L2972 -label L2971 +brif 20 L2984 L2985 +label L2984 load 22 depth iconst 23 1 add 24 22 23 store depth 24 -jmp L2970 -label L2972 +jmp L2983 +label L2985 load 25 ch strref 26 m13s95 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L2973 L2974 -label L2973 +brif 27 L2986 L2987 +label L2986 load 29 depth iconst 30 1 sub 31 29 30 store depth 31 -jmp L2970 -label L2974 +jmp L2983 +label L2987 iconst 32 0 -store __and_32_2977 32 +store __and_32_2990 32 load 33 ch strref 34 m13s90 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __and_32_2977 35 -brif 35 L2977 L2978 -label L2977 +store __and_32_2990 35 +brif 35 L2990 L2991 +label L2990 load 37 depth iconst 38 0 eq 39 37 38 -store __and_32_2977 39 -label L2978 -load 40 __and_32_2977 -brif 40 L2975 L2976 -label L2975 +store __and_32_2990 39 +label L2991 +load 40 __and_32_2990 +brif 40 L2988 L2989 +label L2988 load 41 parts load 42 text load 43 start @@ -52682,15 +52865,15 @@ load 49 i iconst 50 1 add 51 49 50 store start 51 -jmp L2970 -label L2976 -label L2970 +jmp L2983 +label L2989 +label L2983 load 52 i iconst 53 1 add 54 52 53 store i 54 -jmp L2967 -label L2969 +jmp L2980 +label L2982 load 55 parts load 56 text load 57 start @@ -52728,8 +52911,8 @@ store args 7 load 8 actual_tid iconst 9 0 lt 10 8 9 -brif 10 L2980 L2981 -label L2980 +brif 10 L2993 L2994 +label L2993 iconst 11 1 load 12 trimmed call 13 pith_cstring_release void 1 12 @@ -52742,8 +52925,8 @@ call 19 pith_cstring_release void 1 18 load 20 args call 21 pith_list_release_handle void 1 20 ret 11 -label L2981 -label L2979 +label L2994 +label L2992 load 22 trimmed load 23 type_name call 24 checker_trim_type_text string 1 23 @@ -52755,12 +52938,12 @@ iconst 28 0 store __for_idx_160 28 store __for_len_160 27 store __for_iter_160 26 -label L2982 +label L2995 load 29 __for_idx_160 load 30 __for_len_160 lt 31 29 30 -brif 31 L2983 L2985 -label L2983 +brif 31 L2996 L2998 +label L2996 load 32 __for_iter_160 load 33 __for_idx_160 call 34 pith_list_get_value_unchecked string 2 32 33 @@ -52773,8 +52956,8 @@ store normalized_gp 37 load 39 normalized_gp load 40 trimmed call 41 checker_strings_equal bool 2 39 40 -brif 41 L2987 L2988 -label L2987 +brif 41 L3000 L3001 +label L3000 load 42 normalized_gp load 43 actual_tid call 44 checker_bind_inferred_generic_type bool 2 42 43 @@ -52789,38 +52972,38 @@ call 52 pith_cstring_release void 1 51 load 53 args call 54 pith_list_release_handle void 1 53 ret 44 -label L2988 -label L2986 -label L2984 +label L3001 +label L2999 +label L2997 load 55 __for_idx_160 iconst 56 1 add 57 55 56 store __for_idx_160 57 -jmp L2982 -label L2985 +jmp L2995 +label L2998 load 58 actual_info load 59 actual_tid call 60 types_get_type_info struct:TypeInfo 1 59 call 61 pith_struct_release void 1 58 store actual_info 60 iconst 62 0 -store __and_62_2992 62 +store __and_62_3005 62 load 63 trimmed strref 64 m13s135 call 65 pith_cstring_starts_with bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __and_62_2992 65 -brif 65 L2992 L2993 -label L2992 +store __and_62_3005 65 +brif 65 L3005 L3006 +label L3005 load 67 trimmed strref 68 m13s95 call 69 pith_cstring_ends_with bool 2 67 68 call 70 pith_cstring_release void 1 68 -store __and_62_2992 69 -label L2993 -load 71 __and_62_2992 -brif 71 L2990 L2991 -label L2990 +store __and_62_3005 69 +label L3006 +load 71 __and_62_3005 +brif 71 L3003 L3004 +label L3003 load 72 actual_info field 73 72 0 string kind strref 74 m13s22 @@ -52828,8 +53011,8 @@ call 76 pith_cstring_eq bool 2 73 74 iconst 77 1 sub 75 77 76 call 78 pith_cstring_release void 1 74 -brif 75 L2995 L2996 -label L2995 +brif 75 L3008 L3009 +label L3008 iconst 79 1 load 80 trimmed call 81 pith_cstring_release void 1 80 @@ -52842,8 +53025,8 @@ call 87 pith_cstring_release void 1 86 load 88 args call 89 pith_list_release_handle void 1 88 ret 79 -label L2996 -label L2994 +label L3009 +label L3007 load 90 inner_text load 91 trimmed iconst 92 5 @@ -52870,26 +53053,26 @@ call 111 pith_cstring_release void 1 110 load 112 args call 113 pith_list_release_handle void 1 112 ret 103 -label L2991 -label L2989 +label L3004 +label L3002 iconst 114 0 -store __and_114_3000 114 +store __and_114_3013 114 load 115 trimmed strref 116 m13s134 call 117 pith_cstring_starts_with bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __and_114_3000 117 -brif 117 L3000 L3001 -label L3000 +store __and_114_3013 117 +brif 117 L3013 L3014 +label L3013 load 119 trimmed strref 120 m13s95 call 121 pith_cstring_ends_with bool 2 119 120 call 122 pith_cstring_release void 1 120 -store __and_114_3000 121 -label L3001 -load 123 __and_114_3000 -brif 123 L2998 L2999 -label L2998 +store __and_114_3013 121 +label L3014 +load 123 __and_114_3013 +brif 123 L3011 L3012 +label L3011 load 124 actual_info field 125 124 0 string kind strref 126 m13s18 @@ -52897,8 +53080,8 @@ call 128 pith_cstring_eq bool 2 125 126 iconst 129 1 sub 127 129 128 call 130 pith_cstring_release void 1 126 -brif 127 L3003 L3004 -label L3003 +brif 127 L3016 L3017 +label L3016 iconst 131 1 load 132 trimmed call 133 pith_cstring_release void 1 132 @@ -52911,8 +53094,8 @@ call 139 pith_cstring_release void 1 138 load 140 args call 141 pith_list_release_handle void 1 140 ret 131 -label L3004 -label L3002 +label L3017 +label L3015 load 142 inner_text load 143 trimmed iconst 144 4 @@ -52939,26 +53122,26 @@ call 163 pith_cstring_release void 1 162 load 164 args call 165 pith_list_release_handle void 1 164 ret 155 -label L2999 -label L2997 +label L3012 +label L3010 iconst 166 0 -store __and_166_3008 166 +store __and_166_3021 166 load 167 trimmed strref 168 m13s133 call 169 pith_cstring_starts_with bool 2 167 168 call 170 pith_cstring_release void 1 168 -store __and_166_3008 169 -brif 169 L3008 L3009 -label L3008 +store __and_166_3021 169 +brif 169 L3021 L3022 +label L3021 load 171 trimmed strref 172 m13s95 call 173 pith_cstring_ends_with bool 2 171 172 call 174 pith_cstring_release void 1 172 -store __and_166_3008 173 -label L3009 -load 175 __and_166_3008 -brif 175 L3006 L3007 -label L3006 +store __and_166_3021 173 +label L3022 +load 175 __and_166_3021 +brif 175 L3019 L3020 +label L3019 load 176 actual_info field 177 176 0 string kind strref 178 m13s26 @@ -52966,8 +53149,8 @@ call 180 pith_cstring_eq bool 2 177 178 iconst 181 1 sub 179 181 180 call 182 pith_cstring_release void 1 178 -brif 179 L3011 L3012 -label L3011 +brif 179 L3024 L3025 +label L3024 iconst 183 1 load 184 trimmed call 185 pith_cstring_release void 1 184 @@ -52980,8 +53163,8 @@ call 191 pith_cstring_release void 1 190 load 192 args call 193 pith_list_release_handle void 1 192 ret 183 -label L3012 -label L3010 +label L3025 +label L3023 load 194 inner_text load 195 trimmed iconst 196 5 @@ -53008,26 +53191,26 @@ call 215 pith_cstring_release void 1 214 load 216 args call 217 pith_list_release_handle void 1 216 ret 207 -label L3007 -label L3005 +label L3020 +label L3018 iconst 218 0 -store __and_218_3016 218 +store __and_218_3029 218 load 219 trimmed strref 220 m13s132 call 221 pith_cstring_starts_with bool 2 219 220 call 222 pith_cstring_release void 1 220 -store __and_218_3016 221 -brif 221 L3016 L3017 -label L3016 +store __and_218_3029 221 +brif 221 L3029 L3030 +label L3029 load 223 trimmed strref 224 m13s95 call 225 pith_cstring_ends_with bool 2 223 224 call 226 pith_cstring_release void 1 224 -store __and_218_3016 225 -label L3017 -load 227 __and_218_3016 -brif 227 L3014 L3015 -label L3014 +store __and_218_3029 225 +label L3030 +load 227 __and_218_3029 +brif 227 L3027 L3028 +label L3027 load 228 actual_info field 229 228 0 string kind strref 230 m13s24 @@ -53035,8 +53218,8 @@ call 232 pith_cstring_eq bool 2 229 230 iconst 233 1 sub 231 233 232 call 234 pith_cstring_release void 1 230 -brif 231 L3019 L3020 -label L3019 +brif 231 L3032 L3033 +label L3032 iconst 235 1 load 236 trimmed call 237 pith_cstring_release void 1 236 @@ -53049,8 +53232,8 @@ call 243 pith_cstring_release void 1 242 load 244 args call 245 pith_list_release_handle void 1 244 ret 235 -label L3020 -label L3018 +label L3033 +label L3031 load 246 inner_text load 247 trimmed iconst 248 8 @@ -53077,26 +53260,26 @@ call 267 pith_cstring_release void 1 266 load 268 args call 269 pith_list_release_handle void 1 268 ret 259 -label L3015 -label L3013 +label L3028 +label L3026 iconst 270 0 -store __and_270_3024 270 +store __and_270_3037 270 load 271 trimmed strref 272 m13s131 call 273 pith_cstring_starts_with bool 2 271 272 call 274 pith_cstring_release void 1 272 -store __and_270_3024 273 -brif 273 L3024 L3025 -label L3024 +store __and_270_3037 273 +brif 273 L3037 L3038 +label L3037 load 275 trimmed strref 276 m13s95 call 277 pith_cstring_ends_with bool 2 275 276 call 278 pith_cstring_release void 1 276 -store __and_270_3024 277 -label L3025 -load 279 __and_270_3024 -brif 279 L3022 L3023 -label L3022 +store __and_270_3037 277 +label L3038 +load 279 __and_270_3037 +brif 279 L3035 L3036 +label L3035 load 280 actual_info field 281 280 0 string kind strref 282 m13s20 @@ -53104,8 +53287,8 @@ call 284 pith_cstring_eq bool 2 281 282 iconst 285 1 sub 283 285 284 call 286 pith_cstring_release void 1 282 -brif 283 L3027 L3028 -label L3027 +brif 283 L3040 L3041 +label L3040 iconst 287 1 load 288 trimmed call 289 pith_cstring_release void 1 288 @@ -53118,8 +53301,8 @@ call 295 pith_cstring_release void 1 294 load 296 args call 297 pith_list_release_handle void 1 296 ret 287 -label L3028 -label L3026 +label L3041 +label L3039 load 298 args load 299 trimmed iconst 300 4 @@ -53136,8 +53319,8 @@ load 309 args call 310 pith_list_len int 1 309 iconst 311 0 gt 312 310 311 -brif 312 L3030 L3031 -label L3030 +brif 312 L3043 L3044 +label L3043 load 313 args iconst 314 0 call 315 pith_list_get_value_strict string 2 313 314 @@ -53147,8 +53330,8 @@ load 318 generic_params call 319 checker_infer_generic_subst_from_type_text bool 3 315 317 318 iconst 320 0 eq 321 319 320 -brif 321 L3033 L3034 -label L3033 +brif 321 L3046 L3047 +label L3046 iconst 322 0 load 323 trimmed call 324 pith_cstring_release void 1 323 @@ -53161,17 +53344,17 @@ call 330 pith_cstring_release void 1 329 load 331 args call 332 pith_list_release_handle void 1 331 ret 322 -label L3034 -label L3032 -jmp L3029 -label L3031 -label L3029 +label L3047 +label L3045 +jmp L3042 +label L3044 +label L3042 load 333 args call 334 pith_list_len int 1 333 iconst 335 1 gt 336 334 335 -brif 336 L3036 L3037 -label L3036 +brif 336 L3049 L3050 +label L3049 load 337 args iconst 338 1 call 339 pith_list_get_value_strict string 2 337 338 @@ -53190,8 +53373,8 @@ call 351 pith_cstring_release void 1 350 load 352 args call 353 pith_list_release_handle void 1 352 ret 343 -label L3037 -label L3035 +label L3050 +label L3048 iconst 354 1 load 355 trimmed call 356 pith_cstring_release void 1 355 @@ -53204,8 +53387,8 @@ call 362 pith_cstring_release void 1 361 load 363 args call 364 pith_list_release_handle void 1 363 ret 354 -label L3023 -label L3021 +label L3036 +label L3034 iconst 365 1 load 366 trimmed call 367 pith_cstring_release void 1 366 @@ -53244,21 +53427,21 @@ store normalized_gp 5 iconst 6 0 store cn 6 iconst 7 0 -store __or_7_3041 7 +store __or_7_3054 7 load 8 type_idx iconst 9 0 lt 10 8 9 -store __or_7_3041 10 -brif 10 L3042 L3041 -label L3041 +store __or_7_3054 10 +brif 10 L3055 L3054 +label L3054 load 11 actual_tid iconst 12 0 lt 13 11 12 -store __or_7_3041 13 -label L3042 -load 14 __or_7_3041 -brif 14 L3039 L3040 -label L3039 +store __or_7_3054 13 +label L3055 +load 14 __or_7_3054 +brif 14 L3052 L3053 +label L3052 iconst 15 1 load 16 node call 17 pith_struct_release void 1 16 @@ -53269,8 +53452,8 @@ call 21 pith_cstring_release void 1 20 load 22 cn call 23 pith_struct_release void 1 22 ret 15 -label L3040 -label L3038 +label L3053 +label L3051 load 24 node load 25 type_idx call 26 ast_get_node struct:Node 1 25 @@ -53281,8 +53464,8 @@ field 29 28 0 string kind strref 30 m13s564 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L3044 L3045 -label L3044 +brif 31 L3057 L3058 +label L3057 load 33 node field 34 33 8 string value load 35 actual_tid @@ -53297,8 +53480,8 @@ call 43 pith_cstring_release void 1 42 load 44 cn call 45 pith_struct_release void 1 44 ret 37 -label L3045 -label L3043 +label L3058 +label L3056 load 46 actual_info load 47 actual_tid call 48 types_get_type_info struct:TypeInfo 1 47 @@ -53309,20 +53492,20 @@ field 51 50 0 string kind strref 52 m13s563 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L3047 L3048 -label L3047 +brif 53 L3060 L3061 +label L3060 load 55 generic_params call 56 pith_auto_len int 1 55 iconst 57 0 store __for_idx_161 57 store __for_len_161 56 store __for_iter_161 55 -label L3049 +label L3062 load 58 __for_idx_161 load 59 __for_len_161 lt 60 58 59 -brif 60 L3050 L3052 -label L3050 +brif 60 L3063 L3065 +label L3063 load 61 __for_iter_161 load 62 __for_idx_161 call 63 pith_list_get_value_unchecked string 2 61 62 @@ -53338,8 +53521,8 @@ field 70 69 8 string value call 71 checker_trim_type_text string 1 70 call 72 checker_strings_equal bool 2 68 71 call 73 pith_cstring_release void 1 71 -brif 72 L3054 L3055 -label L3054 +brif 72 L3067 L3068 +label L3067 load 74 normalized_gp load 75 actual_tid call 76 checker_bind_inferred_generic_type bool 2 74 75 @@ -53352,42 +53535,42 @@ call 82 pith_cstring_release void 1 81 load 83 cn call 84 pith_struct_release void 1 83 ret 76 -label L3055 -label L3053 -label L3051 +label L3068 +label L3066 +label L3064 load 85 __for_idx_161 iconst 86 1 add 87 85 86 store __for_idx_161 87 -jmp L3049 -label L3052 +jmp L3062 +label L3065 load 88 node field 89 88 8 string value strref 90 m13s21 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -brif 91 L3057 L3058 -label L3057 +brif 91 L3070 L3071 +label L3070 iconst 93 0 -store __and_93_3062 93 +store __and_93_3075 93 load 94 actual_info field 95 94 0 string kind strref 96 m13s22 call 97 pith_cstring_eq bool 2 95 96 call 98 pith_cstring_release void 1 96 -store __and_93_3062 97 -brif 97 L3062 L3063 -label L3062 +store __and_93_3075 97 +brif 97 L3075 L3076 +label L3075 load 99 node field 100 99 16 list children call 101 pith_list_len int 1 100 iconst 102 0 gt 103 101 102 -store __and_93_3062 103 -label L3063 -load 104 __and_93_3062 -brif 104 L3060 L3061 -label L3060 +store __and_93_3075 103 +label L3076 +load 104 __and_93_3075 +brif 104 L3073 L3074 +label L3073 load 105 node field 106 105 16 list children iconst 107 0 @@ -53405,8 +53588,8 @@ call 118 pith_cstring_release void 1 117 load 119 cn call 120 pith_struct_release void 1 119 ret 112 -label L3061 -label L3059 +label L3074 +label L3072 iconst 121 1 load 122 node call 123 pith_struct_release void 1 122 @@ -53417,35 +53600,35 @@ call 127 pith_cstring_release void 1 126 load 128 cn call 129 pith_struct_release void 1 128 ret 121 -label L3058 -label L3056 +label L3071 +label L3069 load 130 node field 131 130 8 string value strref 132 m13s17 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -brif 133 L3065 L3066 -label L3065 +brif 133 L3078 L3079 +label L3078 iconst 135 0 -store __and_135_3070 135 +store __and_135_3083 135 load 136 actual_info field 137 136 0 string kind strref 138 m13s18 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -store __and_135_3070 139 -brif 139 L3070 L3071 -label L3070 +store __and_135_3083 139 +brif 139 L3083 L3084 +label L3083 load 141 node field 142 141 16 list children call 143 pith_list_len int 1 142 iconst 144 0 gt 145 143 144 -store __and_135_3070 145 -label L3071 -load 146 __and_135_3070 -brif 146 L3068 L3069 -label L3068 +store __and_135_3083 145 +label L3084 +load 146 __and_135_3083 +brif 146 L3081 L3082 +label L3081 load 147 node field 148 147 16 list children iconst 149 0 @@ -53463,8 +53646,8 @@ call 160 pith_cstring_release void 1 159 load 161 cn call 162 pith_struct_release void 1 161 ret 154 -label L3069 -label L3067 +label L3082 +label L3080 iconst 163 1 load 164 node call 165 pith_struct_release void 1 164 @@ -53475,35 +53658,35 @@ call 169 pith_cstring_release void 1 168 load 170 cn call 171 pith_struct_release void 1 170 ret 163 -label L3066 -label L3064 +label L3079 +label L3077 load 172 node field 173 172 8 string value strref 174 m13s25 call 175 pith_cstring_eq bool 2 173 174 call 176 pith_cstring_release void 1 174 -brif 175 L3073 L3074 -label L3073 +brif 175 L3086 L3087 +label L3086 iconst 177 0 -store __and_177_3078 177 +store __and_177_3091 177 load 178 actual_info field 179 178 0 string kind strref 180 m13s26 call 181 pith_cstring_eq bool 2 179 180 call 182 pith_cstring_release void 1 180 -store __and_177_3078 181 -brif 181 L3078 L3079 -label L3078 +store __and_177_3091 181 +brif 181 L3091 L3092 +label L3091 load 183 node field 184 183 16 list children call 185 pith_list_len int 1 184 iconst 186 0 gt 187 185 186 -store __and_177_3078 187 -label L3079 -load 188 __and_177_3078 -brif 188 L3076 L3077 -label L3076 +store __and_177_3091 187 +label L3092 +load 188 __and_177_3091 +brif 188 L3089 L3090 +label L3089 load 189 node field 190 189 16 list children iconst 191 0 @@ -53521,8 +53704,8 @@ call 202 pith_cstring_release void 1 201 load 203 cn call 204 pith_struct_release void 1 203 ret 196 -label L3077 -label L3075 +label L3090 +label L3088 iconst 205 1 load 206 node call 207 pith_struct_release void 1 206 @@ -53533,35 +53716,35 @@ call 211 pith_cstring_release void 1 210 load 212 cn call 213 pith_struct_release void 1 212 ret 205 -label L3074 -label L3072 +label L3087 +label L3085 load 214 node field 215 214 8 string value strref 216 m13s23 call 217 pith_cstring_eq bool 2 215 216 call 218 pith_cstring_release void 1 216 -brif 217 L3081 L3082 -label L3081 +brif 217 L3094 L3095 +label L3094 iconst 219 0 -store __and_219_3086 219 +store __and_219_3099 219 load 220 actual_info field 221 220 0 string kind strref 222 m13s24 call 223 pith_cstring_eq bool 2 221 222 call 224 pith_cstring_release void 1 222 -store __and_219_3086 223 -brif 223 L3086 L3087 -label L3086 +store __and_219_3099 223 +brif 223 L3099 L3100 +label L3099 load 225 node field 226 225 16 list children call 227 pith_list_len int 1 226 iconst 228 0 gt 229 227 228 -store __and_219_3086 229 -label L3087 -load 230 __and_219_3086 -brif 230 L3084 L3085 -label L3084 +store __and_219_3099 229 +label L3100 +load 230 __and_219_3099 +brif 230 L3097 L3098 +label L3097 load 231 node field 232 231 16 list children iconst 233 0 @@ -53579,8 +53762,8 @@ call 244 pith_cstring_release void 1 243 load 245 cn call 246 pith_struct_release void 1 245 ret 238 -label L3085 -label L3083 +label L3098 +label L3096 iconst 247 1 load 248 node call 249 pith_struct_release void 1 248 @@ -53591,35 +53774,35 @@ call 253 pith_cstring_release void 1 252 load 254 cn call 255 pith_struct_release void 1 254 ret 247 -label L3082 -label L3080 +label L3095 +label L3093 load 256 node field 257 256 8 string value strref 258 m13s19 call 259 pith_cstring_eq bool 2 257 258 call 260 pith_cstring_release void 1 258 -brif 259 L3089 L3090 -label L3089 +brif 259 L3102 L3103 +label L3102 iconst 261 0 -store __and_261_3094 261 +store __and_261_3107 261 load 262 actual_info field 263 262 0 string kind strref 264 m13s20 call 265 pith_cstring_eq bool 2 263 264 call 266 pith_cstring_release void 1 264 -store __and_261_3094 265 -brif 265 L3094 L3095 -label L3094 +store __and_261_3107 265 +brif 265 L3107 L3108 +label L3107 load 267 node field 268 267 16 list children call 269 pith_list_len int 1 268 iconst 270 1 gt 271 269 270 -store __and_261_3094 271 -label L3095 -load 272 __and_261_3094 -brif 272 L3092 L3093 -label L3092 +store __and_261_3107 271 +label L3108 +load 272 __and_261_3107 +brif 272 L3105 L3106 +label L3105 load 273 node field 274 273 16 list children iconst 275 0 @@ -53630,8 +53813,8 @@ load 279 generic_params call 280 checker_infer_generic_subst_from_type_node bool 3 276 278 279 iconst 281 0 eq 282 280 281 -brif 282 L3097 L3098 -label L3097 +brif 282 L3110 L3111 +label L3110 iconst 283 0 load 284 node call 285 pith_struct_release void 1 284 @@ -53642,8 +53825,8 @@ call 289 pith_cstring_release void 1 288 load 290 cn call 291 pith_struct_release void 1 290 ret 283 -label L3098 -label L3096 +label L3111 +label L3109 load 292 node field 293 292 16 list children iconst 294 1 @@ -53661,8 +53844,8 @@ call 305 pith_cstring_release void 1 304 load 306 cn call 307 pith_struct_release void 1 306 ret 299 -label L3093 -label L3091 +label L3106 +label L3104 iconst 308 1 load 309 node call 310 pith_struct_release void 1 309 @@ -53673,8 +53856,8 @@ call 314 pith_cstring_release void 1 313 load 315 cn call 316 pith_struct_release void 1 315 ret 308 -label L3090 -label L3088 +label L3103 +label L3101 iconst 317 1 load 318 node call 319 pith_struct_release void 1 318 @@ -53685,35 +53868,35 @@ call 323 pith_cstring_release void 1 322 load 324 cn call 325 pith_struct_release void 1 324 ret 317 -label L3048 -label L3046 +label L3061 +label L3059 load 326 node field 327 326 0 string kind strref 328 m13s562 call 329 pith_cstring_eq bool 2 327 328 call 330 pith_cstring_release void 1 328 -brif 329 L3100 L3101 -label L3100 +brif 329 L3113 L3114 +label L3113 iconst 331 0 -store __and_331_3105 331 +store __and_331_3118 331 load 332 actual_info field 333 332 0 string kind strref 334 m13s29 call 335 pith_cstring_eq bool 2 333 334 call 336 pith_cstring_release void 1 334 -store __and_331_3105 335 -brif 335 L3105 L3106 -label L3105 +store __and_331_3118 335 +brif 335 L3118 L3119 +label L3118 load 337 node field 338 337 16 list children call 339 pith_list_len int 1 338 iconst 340 0 gt 341 339 340 -store __and_331_3105 341 -label L3106 -load 342 __and_331_3105 -brif 342 L3103 L3104 -label L3103 +store __and_331_3118 341 +label L3119 +load 342 __and_331_3118 +brif 342 L3116 L3117 +label L3116 load 343 node field 344 343 16 list children iconst 345 0 @@ -53731,8 +53914,8 @@ call 356 pith_cstring_release void 1 355 load 357 cn call 358 pith_struct_release void 1 357 ret 350 -label L3104 -label L3102 +label L3117 +label L3115 iconst 359 1 load 360 node call 361 pith_struct_release void 1 360 @@ -53743,35 +53926,35 @@ call 365 pith_cstring_release void 1 364 load 366 cn call 367 pith_struct_release void 1 366 ret 359 -label L3101 -label L3099 +label L3114 +label L3112 load 368 node field 369 368 0 string kind strref 370 m13s561 call 371 pith_cstring_eq bool 2 369 370 call 372 pith_cstring_release void 1 370 -brif 371 L3108 L3109 -label L3108 +brif 371 L3121 L3122 +label L3121 iconst 373 0 -store __and_373_3113 373 +store __and_373_3126 373 load 374 actual_info field 375 374 0 string kind strref 376 m13s28 call 377 pith_cstring_eq bool 2 375 376 call 378 pith_cstring_release void 1 376 -store __and_373_3113 377 -brif 377 L3113 L3114 -label L3113 +store __and_373_3126 377 +brif 377 L3126 L3127 +label L3126 load 379 node field 380 379 16 list children call 381 pith_list_len int 1 380 iconst 382 0 gt 383 381 382 -store __and_373_3113 383 -label L3114 -load 384 __and_373_3113 -brif 384 L3111 L3112 -label L3111 +store __and_373_3126 383 +label L3127 +load 384 __and_373_3126 +brif 384 L3124 L3125 +label L3124 load 385 node field 386 385 16 list children iconst 387 0 @@ -53782,8 +53965,8 @@ load 391 generic_params call 392 checker_infer_generic_subst_from_type_node bool 3 388 390 391 iconst 393 0 eq 394 392 393 -brif 394 L3116 L3117 -label L3116 +brif 394 L3129 L3130 +label L3129 iconst 395 0 load 396 node call 397 pith_struct_release void 1 396 @@ -53794,27 +53977,27 @@ call 401 pith_cstring_release void 1 400 load 402 cn call 403 pith_struct_release void 1 402 ret 395 -label L3117 -label L3115 +label L3130 +label L3128 iconst 404 0 -store __and_404_3121 404 +store __and_404_3134 404 load 405 node field 406 405 16 list children call 407 pith_list_len int 1 406 iconst 408 1 gt 409 407 408 -store __and_404_3121 409 -brif 409 L3121 L3122 -label L3121 +store __and_404_3134 409 +brif 409 L3134 L3135 +label L3134 load 410 actual_info field 411 410 80 int value_type iconst 412 0 gte 413 411 412 -store __and_404_3121 413 -label L3122 -load 414 __and_404_3121 -brif 414 L3119 L3120 -label L3119 +store __and_404_3134 413 +label L3135 +load 414 __and_404_3134 +brif 414 L3132 L3133 +label L3132 load 415 node field 416 415 16 list children iconst 417 1 @@ -53832,11 +54015,11 @@ call 428 pith_cstring_release void 1 427 load 429 cn call 430 pith_struct_release void 1 429 ret 422 -label L3120 -label L3118 -jmp L3110 -label L3112 -label L3110 +label L3133 +label L3131 +jmp L3123 +label L3125 +label L3123 iconst 431 1 load 432 node call 433 pith_struct_release void 1 432 @@ -53847,22 +54030,22 @@ call 437 pith_cstring_release void 1 436 load 438 cn call 439 pith_struct_release void 1 438 ret 431 -label L3109 -label L3107 +label L3122 +label L3120 load 440 node field 441 440 0 string kind strref 442 m13s560 call 443 pith_cstring_eq bool 2 441 442 call 444 pith_cstring_release void 1 442 -brif 443 L3124 L3125 -label L3124 +brif 443 L3137 L3138 +label L3137 load 445 actual_info field 446 445 0 string kind strref 447 m13s27 call 448 pith_cstring_eq bool 2 446 447 call 449 pith_cstring_release void 1 447 -brif 448 L3127 L3128 -label L3127 +brif 448 L3140 L3141 +label L3140 load 450 node field 451 450 16 list children call 452 pith_auto_len int 1 451 @@ -53870,12 +54053,12 @@ iconst 453 0 store __for_idx_162 453 store __for_len_162 452 store __for_iter_162 451 -label L3129 +label L3142 load 454 __for_idx_162 load 455 __for_len_162 lt 456 454 455 -brif 456 L3130 L3132 -label L3130 +brif 456 L3143 L3145 +label L3143 load 457 __for_iter_162 load 458 __for_idx_162 call 459 pith_list_get_value unknown 2 457 458 @@ -53887,8 +54070,8 @@ load 462 actual_info field 463 462 88 list elements call 464 pith_list_len int 1 463 lt 465 461 464 -brif 465 L3134 L3135 -label L3134 +brif 465 L3147 L3148 +label L3147 load 466 __loopvar_162_child load 467 actual_info field 468 467 88 list elements @@ -53898,8 +54081,8 @@ load 471 generic_params call 472 checker_infer_generic_subst_from_type_node bool 3 466 470 471 iconst 473 0 eq 474 472 473 -brif 474 L3137 L3138 -label L3137 +brif 474 L3150 L3151 +label L3150 iconst 475 0 load 476 node call 477 pith_struct_release void 1 476 @@ -53910,21 +54093,21 @@ call 481 pith_cstring_release void 1 480 load 482 cn call 483 pith_struct_release void 1 482 ret 475 -label L3138 -label L3136 -jmp L3133 -label L3135 -label L3133 -label L3131 +label L3151 +label L3149 +jmp L3146 +label L3148 +label L3146 +label L3144 load 484 __for_idx_162 iconst 485 1 add 486 484 485 store __for_idx_162 486 -jmp L3129 -label L3132 -jmp L3126 -label L3128 -label L3126 +jmp L3142 +label L3145 +jmp L3139 +label L3141 +label L3139 iconst 487 1 load 488 node call 489 pith_struct_release void 1 488 @@ -53935,22 +54118,22 @@ call 493 pith_cstring_release void 1 492 load 494 cn call 495 pith_struct_release void 1 494 ret 487 -label L3125 -label L3123 +label L3138 +label L3136 load 496 node field 497 496 0 string kind strref 498 m13s559 call 499 pith_cstring_eq bool 2 497 498 call 500 pith_cstring_release void 1 498 -brif 499 L3140 L3141 -label L3140 +brif 499 L3153 L3154 +label L3153 load 501 actual_info field 502 501 0 string kind strref 503 m13s31 call 504 pith_cstring_eq bool 2 502 503 call 505 pith_cstring_release void 1 503 -brif 504 L3143 L3144 -label L3143 +brif 504 L3156 L3157 +label L3156 load 506 node field 507 506 16 list children call 508 pith_auto_len int 1 507 @@ -53958,12 +54141,12 @@ iconst 509 0 store __for_idx_163 509 store __for_len_163 508 store __for_iter_163 507 -label L3145 +label L3158 load 510 __for_idx_163 load 511 __for_len_163 lt 512 510 511 -brif 512 L3146 L3148 -label L3146 +brif 512 L3159 L3161 +label L3159 load 513 __for_iter_163 load 514 __for_idx_163 call 515 pith_list_get_value unknown 2 513 514 @@ -53980,15 +54163,15 @@ field 522 521 0 string kind strref 523 m13s323 call 524 pith_cstring_eq bool 2 522 523 call 525 pith_cstring_release void 1 523 -brif 524 L3150 L3151 -label L3150 +brif 524 L3163 L3164 +label L3163 load 526 __loopvar_163_i load 527 actual_info field 528 527 48 list param_types call 529 pith_list_len int 1 528 lt 530 526 529 -brif 530 L3153 L3154 -label L3153 +brif 530 L3166 L3167 +label L3166 load 531 cn field 532 531 16 list children iconst 533 0 @@ -54001,8 +54184,8 @@ load 539 generic_params call 540 checker_infer_generic_subst_from_type_node bool 3 534 538 539 iconst 541 0 eq 542 540 541 -brif 542 L3156 L3157 -label L3156 +brif 542 L3169 L3170 +label L3169 iconst 543 0 load 544 node call 545 pith_struct_release void 1 544 @@ -54013,28 +54196,28 @@ call 549 pith_cstring_release void 1 548 load 550 cn call 551 pith_struct_release void 1 550 ret 543 -label L3157 -label L3155 -jmp L3152 -label L3154 -label L3152 -jmp L3147 -label L3151 -label L3149 +label L3170 +label L3168 +jmp L3165 +label L3167 +label L3165 +jmp L3160 +label L3164 +label L3162 load 552 cn field 553 552 0 string kind strref 554 m13s555 call 555 pith_cstring_eq bool 2 553 554 call 556 pith_cstring_release void 1 554 -brif 555 L3159 L3160 -label L3159 +brif 555 L3172 L3173 +label L3172 load 557 cn field 558 557 16 list children call 559 pith_list_len int 1 558 iconst 560 0 gt 561 559 560 -brif 561 L3162 L3163 -label L3162 +brif 561 L3175 L3176 +label L3175 load 562 cn field 563 562 16 list children iconst 564 0 @@ -54052,21 +54235,21 @@ call 575 pith_cstring_release void 1 574 load 576 cn call 577 pith_struct_release void 1 576 ret 569 -label L3163 -label L3161 -jmp L3158 +label L3176 +label L3174 +jmp L3171 +label L3173 +label L3171 label L3160 -label L3158 -label L3147 load 578 __for_idx_163 iconst 579 1 add 580 578 579 store __for_idx_163 580 -jmp L3145 -label L3148 -jmp L3142 -label L3144 -label L3142 +jmp L3158 +label L3161 +jmp L3155 +label L3157 +label L3155 iconst 581 1 load 582 node call 583 pith_struct_release void 1 582 @@ -54077,8 +54260,8 @@ call 587 pith_cstring_release void 1 586 load 588 cn call 589 pith_struct_release void 1 588 ret 581 -label L3141 -label L3139 +label L3154 +label L3152 iconst 590 1 load 591 node call 592 pith_struct_release void 1 591 @@ -54149,12 +54332,12 @@ iconst 29 0 store __for_idx_164 29 store __for_len_164 28 store __for_iter_164 27 -label L3164 +label L3177 load 30 __for_idx_164 load 31 __for_len_164 lt 32 30 31 -brif 32 L3165 L3167 -label L3165 +brif 32 L3178 L3180 +label L3178 load 33 __for_iter_164 load 34 __for_idx_164 call 35 pith_list_get_value unknown 2 33 34 @@ -54171,38 +54354,38 @@ field 42 41 0 string kind strref 43 m13s298 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L3169 L3170 -label L3169 +brif 44 L3182 L3183 +label L3182 load 46 arg_node field 47 46 16 list children call 48 pith_list_len int 1 47 iconst 49 0 gt 50 48 49 -brif 50 L3172 L3173 -label L3172 +brif 50 L3185 L3186 +label L3185 load 51 arg_node field 52 51 16 list children iconst 53 0 call 54 pith_list_get_value_strict int 2 52 53 store arg_expr 54 -jmp L3171 -label L3173 -label L3171 -jmp L3168 -label L3170 -label L3168 +jmp L3184 +label L3186 +label L3184 +jmp L3181 +label L3183 +label L3181 load 55 arg_types load 56 arg_expr load 57 scope_id call 58 checker_c_check_expr int 2 56 57 call 59 pith_list_push_value void 2 55 58 -label L3166 +label L3179 load 60 __for_idx_164 iconst 61 1 add 62 60 61 store __for_idx_164 62 -jmp L3164 -label L3167 +jmp L3177 +label L3180 load 63 param_type_nodes call 64 pith_list_new_default list 0 call 65 pith_list_release_handle void 1 63 @@ -54214,12 +54397,12 @@ iconst 69 0 store __for_idx_165 69 store __for_len_165 68 store __for_iter_165 67 -label L3174 +label L3187 load 70 __for_idx_165 load 71 __for_len_165 lt 72 70 71 -brif 72 L3175 L3177 -label L3175 +brif 72 L3188 L3190 +label L3188 load 73 __for_iter_165 load 74 __for_idx_165 call 75 pith_list_get_value unknown 2 73 74 @@ -54234,46 +54417,46 @@ field 81 80 0 string kind strref 82 m13s323 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L3179 L3180 -label L3179 +brif 83 L3192 L3193 +label L3192 load 85 cn field 86 85 16 list children call 87 pith_list_len int 1 86 iconst 88 0 gt 89 87 88 -brif 89 L3182 L3183 -label L3182 +brif 89 L3195 L3196 +label L3195 load 90 param_type_nodes load 91 cn field 92 91 16 list children iconst 93 0 call 94 pith_list_get_value_strict int 2 92 93 call 95 pith_list_push_value void 2 90 94 -jmp L3181 -label L3183 +jmp L3194 +label L3196 load 96 param_type_nodes iconst 97 1 iconst 99 0 sub 98 99 97 call 100 pith_list_push_value void 2 96 98 -label L3181 -jmp L3178 -label L3180 -label L3178 -label L3176 +label L3194 +jmp L3191 +label L3193 +label L3191 +label L3189 load 101 __for_idx_165 iconst 102 1 add 103 101 102 store __for_idx_165 103 -jmp L3174 -label L3177 +jmp L3187 +label L3190 load 104 arg_types call 105 pith_list_len int 1 104 load 106 param_type_nodes call 107 pith_list_len int 1 106 neq 108 105 107 -brif 108 L3185 L3186 -label L3185 +brif 108 L3198 L3199 +label L3198 strref 109 m13s307 strref 110 m13s558 load 111 param_type_nodes @@ -54319,8 +54502,8 @@ call 150 pith_list_release_handle void 1 149 load 151 pnode call 152 pith_struct_release void 1 151 ret 130 -label L3186 -label L3184 +label L3199 +label L3197 call 153 pith_map_new_default map 0 store checker_generic_inference_subst 153 iconst 154 0 @@ -54331,33 +54514,33 @@ iconst 157 0 store __for_idx_166 157 store __for_len_166 156 store __for_iter_166 155 -label L3187 +label L3200 load 158 __for_idx_166 load 159 __for_len_166 lt 160 158 159 -brif 160 L3188 L3190 -label L3188 +brif 160 L3201 L3203 +label L3201 load 161 __for_iter_166 load 162 __for_idx_166 call 163 pith_list_get_value unknown 2 161 162 store __loopvar_166_ptn 163 iconst 164 0 -store __and_164_3194 164 +store __and_164_3207 164 load 165 __loopvar_166_ptn iconst 166 0 gte 167 165 166 -store __and_164_3194 167 -brif 167 L3194 L3195 -label L3194 +store __and_164_3207 167 +brif 167 L3207 L3208 +label L3207 load 168 pidx load 169 arg_types call 170 pith_list_len int 1 169 lt 171 168 170 -store __and_164_3194 171 -label L3195 -load 172 __and_164_3194 -brif 172 L3192 L3193 -label L3192 +store __and_164_3207 171 +label L3208 +load 172 __and_164_3207 +brif 172 L3205 L3206 +label L3205 load 173 __loopvar_166_ptn load 174 arg_types load 175 pidx @@ -54366,8 +54549,8 @@ load 177 generic_params call 178 checker_infer_generic_subst_from_type_node bool 3 173 176 177 iconst 179 0 eq 180 178 179 -brif 180 L3197 L3198 -label L3197 +brif 180 L3210 L3211 +label L3210 load 181 types_TID_ERR load 182 decl_node call 183 pith_struct_release void 1 182 @@ -54392,22 +54575,22 @@ call 201 pith_list_release_handle void 1 200 load 202 pnode call 203 pith_struct_release void 1 202 ret 181 -label L3198 -label L3196 -jmp L3191 -label L3193 -label L3191 +label L3211 +label L3209 +jmp L3204 +label L3206 +label L3204 load 204 pidx iconst 205 1 add 206 204 205 store pidx 206 -label L3189 +label L3202 load 207 __for_idx_166 iconst 208 1 add 209 207 208 store __for_idx_166 209 -jmp L3187 -label L3190 +jmp L3200 +label L3203 load 210 decl_node load 211 generic_params call 212 checker_infer_subst_from_bounds void 2 210 211 @@ -54423,12 +54606,12 @@ iconst 219 0 store __for_idx_167 219 store __for_len_167 218 store __for_iter_167 217 -label L3199 +label L3212 load 220 __for_idx_167 load 221 __for_len_167 lt 222 220 221 -brif 222 L3200 L3202 -label L3200 +brif 222 L3213 L3215 +label L3213 load 223 __for_iter_167 load 224 __for_idx_167 call 225 pith_list_get_value_unchecked string 2 223 224 @@ -54441,15 +54624,15 @@ store normalized_gp 228 load 230 checker_generic_inference_subst load 231 normalized_gp call 232 contains_key bool 2 230 231 -brif 232 L3204 L3205 -label L3204 +brif 232 L3217 L3218 +label L3217 load 233 subst_args load 234 checker_generic_inference_subst load 235 normalized_gp call 236 map_get_strict int 2 234 235 call 237 pith_list_push_value void 2 233 236 -jmp L3203 -label L3205 +jmp L3216 +label L3218 iconst 238 0 store all_inferred 238 load 239 debug_args @@ -54462,12 +54645,12 @@ iconst 244 0 store __for_idx_168 244 store __for_len_168 243 store __for_iter_168 242 -label L3206 +label L3219 load 245 __for_idx_168 load 246 __for_len_168 lt 247 245 246 -brif 247 L3207 L3209 -label L3207 +brif 247 L3220 L3222 +label L3220 load 248 __for_iter_168 load 249 __for_idx_168 call 250 pith_list_get_value unknown 2 248 249 @@ -54476,13 +54659,13 @@ load 251 debug_args load 252 __loopvar_168_arg_tid call 253 types_get_type_name string 1 252 call 254 pith_list_push_value_owned void 2 251 253 -label L3208 +label L3221 load 255 __for_idx_168 iconst 256 1 add 257 255 256 store __for_idx_168 257 -jmp L3206 -label L3209 +jmp L3219 +label L3222 load 258 debug_params call 259 pith_list_new_cstr list 0 call 260 pith_list_release_handle void 1 258 @@ -54493,12 +54676,12 @@ iconst 263 0 store __for_idx_169 263 store __for_len_169 262 store __for_iter_169 261 -label L3210 +label L3223 load 264 __for_idx_169 load 265 __for_len_169 lt 266 264 265 -brif 266 L3211 L3213 -label L3211 +brif 266 L3224 L3226 +label L3224 load 267 __for_iter_169 load 268 __for_idx_169 call 269 pith_list_get_value unknown 2 267 268 @@ -54506,8 +54689,8 @@ store __loopvar_169_ptn 269 load 270 __loopvar_169_ptn iconst 271 0 gte 272 270 271 -brif 272 L3215 L3216 -label L3215 +brif 272 L3228 L3229 +label L3228 load 273 pnode load 274 __loopvar_169_ptn call 275 ast_get_node struct:Node 1 274 @@ -54524,16 +54707,16 @@ field 284 283 8 string value concat 285 281 284 call 286 pith_cstring_release void 1 281 call 287 pith_list_push_value_owned void 2 277 285 -jmp L3214 -label L3216 -label L3214 -label L3212 +jmp L3227 +label L3229 +label L3227 +label L3225 load 288 __for_idx_169 iconst 289 1 add 290 288 289 store __for_idx_169 290 -jmp L3210 -label L3213 +jmp L3223 +label L3226 strref 291 m13s557 strref 292 m13s556 load 293 __loopvar_167_gp @@ -54566,21 +54749,21 @@ call 319 pith_list_release_handle void 1 318 load 320 pnode call 321 pith_struct_release void 1 320 ret 299 -label L3203 -label L3201 +label L3216 +label L3214 load 322 __for_idx_167 iconst 323 1 add 324 322 323 store __for_idx_167 324 -jmp L3199 -label L3202 +jmp L3212 +label L3215 load 325 decl_idx load 326 checker_generic_inference_subst call 327 checker_check_type_parameter_bounds bool 2 325 326 iconst 328 0 eq 329 327 328 -brif 329 L3218 L3219 -label L3218 +brif 329 L3231 L3232 +label L3231 load 330 types_TID_ERR load 331 decl_node call 332 pith_struct_release void 1 331 @@ -54605,8 +54788,8 @@ call 350 pith_list_release_handle void 1 349 load 351 pnode call 352 pith_struct_release void 1 351 ret 330 -label L3219 -label L3217 +label L3232 +label L3230 load 353 types_TID_VOID store ret_type 353 load 354 decl_node @@ -54616,12 +54799,12 @@ iconst 357 0 store __for_idx_170 357 store __for_len_170 356 store __for_iter_170 355 -label L3220 +label L3233 load 358 __for_idx_170 load 359 __for_len_170 lt 360 358 359 -brif 360 L3221 L3223 -label L3221 +brif 360 L3234 L3236 +label L3234 load 361 __for_iter_170 load 362 __for_idx_170 call 363 pith_list_get_value unknown 2 361 362 @@ -54636,8 +54819,8 @@ field 369 368 0 string kind strref 370 m13s555 call 371 pith_cstring_eq bool 2 369 370 call 372 pith_cstring_release void 1 370 -brif 371 L3225 L3226 -label L3225 +brif 371 L3238 L3239 +label L3238 load 373 cn field 374 373 16 list children iconst 375 0 @@ -54646,16 +54829,16 @@ load 377 generic_params load 378 subst_args call 379 checker_resolve_type_with_substitution_map int 3 376 377 378 store ret_type 379 -jmp L3224 -label L3226 -label L3224 -label L3222 +jmp L3237 +label L3239 +label L3237 +label L3235 load 380 __for_idx_170 iconst 381 1 add 382 380 381 store __for_idx_170 382 -jmp L3220 -label L3223 +jmp L3233 +label L3236 iconst 383 0 store vidx 383 load 384 param_type_nodes @@ -54664,12 +54847,12 @@ iconst 386 0 store __for_idx_171 386 store __for_len_171 385 store __for_iter_171 384 -label L3227 +label L3240 load 387 __for_idx_171 load 388 __for_len_171 lt 389 387 388 -brif 389 L3228 L3230 -label L3228 +brif 389 L3241 L3243 +label L3241 load 390 __for_iter_171 load 391 __for_idx_171 call 392 pith_list_get_value unknown 2 390 391 @@ -54677,14 +54860,14 @@ store __loopvar_171_ptn 392 load 393 __loopvar_171_ptn iconst 394 0 gte 395 393 394 -brif 395 L3232 L3233 -label L3232 +brif 395 L3245 L3246 +label L3245 load 396 vidx load 397 arg_types call 398 pith_list_len int 1 397 lt 399 396 398 -brif 399 L3235 L3236 -label L3235 +brif 399 L3248 L3249 +label L3248 load 400 __loopvar_171_ptn load 401 generic_params load 402 subst_args @@ -54694,23 +54877,23 @@ load 404 concrete call 405 types_is_error_type bool 1 404 iconst 406 0 eq 407 405 406 -brif 407 L3238 L3239 -label L3238 +brif 407 L3251 L3252 +label L3251 load 408 arg_types load 409 vidx call 410 pith_list_get_value_strict int 2 408 409 call 411 types_is_error_type bool 1 410 iconst 412 0 eq 413 411 412 -brif 413 L3241 L3242 -label L3241 +brif 413 L3254 L3255 +label L3254 load 414 arg_types load 415 vidx call 416 pith_list_get_value_strict int 2 414 415 load 417 concrete neq 418 416 417 -brif 418 L3244 L3245 -label L3244 +brif 418 L3257 L3258 +label L3257 load 419 arg_types load 420 vidx call 421 pith_list_get_value_strict int 2 419 420 @@ -54718,8 +54901,8 @@ load 422 concrete call 423 checker_types_structurally_equal bool 2 421 422 iconst 424 0 eq 425 423 424 -brif 425 L3247 L3248 -label L3247 +brif 425 L3260 L3261 +label L3260 strref 426 m13s304 strref 427 m13s443 load 428 concrete @@ -54741,35 +54924,35 @@ call 443 pith_cstring_release void 1 440 call 444 checker_diagnostics_report_error void 2 426 441 call 445 pith_cstring_release void 1 426 call 446 pith_cstring_release void 1 441 -jmp L3246 -label L3248 +jmp L3259 +label L3261 +label L3259 +jmp L3256 +label L3258 +label L3256 +jmp L3253 +label L3255 +label L3253 +jmp L3250 +label L3252 +label L3250 +jmp L3247 +label L3249 +label L3247 +jmp L3244 label L3246 -jmp L3243 -label L3245 -label L3243 -jmp L3240 -label L3242 -label L3240 -jmp L3237 -label L3239 -label L3237 -jmp L3234 -label L3236 -label L3234 -jmp L3231 -label L3233 -label L3231 +label L3244 load 447 vidx iconst 448 1 add 449 447 448 store vidx 449 -label L3229 +label L3242 load 450 __for_idx_171 iconst 451 1 add 452 450 451 store __for_idx_171 452 -jmp L3227 -label L3230 +jmp L3240 +label L3243 load 453 ret_type load 454 decl_node call 455 pith_struct_release void 1 454 @@ -54838,12 +55021,12 @@ iconst 11 0 store __for_idx_172 11 store __for_len_172 10 store __for_iter_172 9 -label L3249 +label L3262 load 12 __for_idx_172 load 13 __for_len_172 lt 14 12 13 -brif 14 L3250 L3252 -label L3250 +brif 14 L3263 L3265 +label L3263 load 15 __for_iter_172 load 16 __for_idx_172 call 17 pith_list_get_value unknown 2 15 16 @@ -54858,15 +55041,15 @@ field 23 22 0 string kind strref 24 m13s323 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L3254 L3255 -label L3254 +brif 25 L3267 L3268 +label L3267 load 27 cn field 28 27 16 list children call 29 pith_list_len int 1 28 iconst 30 0 gt 31 29 30 -brif 31 L3257 L3258 -label L3257 +brif 31 L3270 L3271 +label L3270 load 32 out load 33 cn field 34 33 16 list children @@ -54876,22 +55059,22 @@ load 37 params load 38 args call 39 checker_resolve_type_with_substitution_map int 3 36 37 38 call 40 pith_list_push_value void 2 32 39 -jmp L3256 -label L3258 +jmp L3269 +label L3271 load 41 out load 42 types_TID_ERR call 43 pith_list_push_value void 2 41 42 -label L3256 -jmp L3253 -label L3255 -label L3253 -label L3251 +label L3269 +jmp L3266 +label L3268 +label L3266 +label L3264 load 44 __for_idx_172 iconst 45 1 add 46 44 45 store __for_idx_172 46 -jmp L3249 -label L3252 +jmp L3262 +label L3265 load 47 out load 48 cn call 49 pith_struct_release void 1 48 @@ -54916,12 +55099,12 @@ iconst 7 0 store __for_idx_173 7 store __for_len_173 6 store __for_iter_173 5 -label L3259 +label L3272 load 8 __for_idx_173 load 9 __for_len_173 lt 10 8 9 -brif 10 L3260 L3262 -label L3260 +brif 10 L3273 L3275 +label L3273 load 11 __for_iter_173 load 12 __for_idx_173 call 13 pith_list_get_value unknown 2 11 12 @@ -54936,15 +55119,15 @@ field 19 18 0 string kind strref 20 m13s555 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L3264 L3265 -label L3264 +brif 21 L3277 L3278 +label L3277 load 23 cn field 24 23 16 list children call 25 pith_list_len int 1 24 iconst 26 0 gt 27 25 26 -brif 27 L3267 L3268 -label L3267 +brif 27 L3280 L3281 +label L3280 load 28 cn field 29 28 16 list children iconst 30 0 @@ -54955,18 +55138,18 @@ call 34 checker_resolve_type_with_substitution_map int 3 31 32 33 load 35 cn call 36 pith_struct_release void 1 35 ret 34 -label L3268 -label L3266 -jmp L3263 -label L3265 -label L3263 -label L3261 +label L3281 +label L3279 +jmp L3276 +label L3278 +label L3276 +label L3274 load 37 __for_idx_173 iconst 38 1 add 39 37 38 store __for_idx_173 39 -jmp L3259 -label L3262 +jmp L3272 +label L3275 load 40 types_TID_VOID load 41 cn call 42 pith_struct_release void 1 41 @@ -54986,25 +55169,25 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store arg_node 4 iconst 6 0 -store __and_6_3272 6 +store __and_6_3285 6 load 7 arg_node field 8 7 0 string kind strref 9 m13s298 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_3272 10 -brif 10 L3272 L3273 -label L3272 +store __and_6_3285 10 +brif 10 L3285 L3286 +label L3285 load 12 arg_node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -store __and_6_3272 16 -label L3273 -load 17 __and_6_3272 -brif 17 L3270 L3271 -label L3270 +store __and_6_3285 16 +label L3286 +load 17 __and_6_3285 +brif 17 L3283 L3284 +label L3283 load 18 arg_node field 19 18 16 list children iconst 20 0 @@ -55012,8 +55195,8 @@ call 21 pith_list_get_value_strict int 2 19 20 load 22 arg_node call 23 pith_struct_release void 1 22 ret 21 -label L3271 -label L3269 +label L3284 +label L3282 load 24 arg_idx load 25 arg_node call 26 pith_struct_release void 1 25 @@ -55048,8 +55231,8 @@ load 18 arg_indices call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3275 L3276 -label L3275 +brif 21 L3288 L3289 +label L3288 load 22 arg_indices iconst 23 0 call 24 pith_list_get_value_strict int 2 22 23 @@ -55061,8 +55244,8 @@ load 28 recv_type call 29 types_is_error_type bool 1 28 iconst 30 0 eq 31 29 30 -brif 31 L3278 L3279 -label L3278 +brif 31 L3291 L3292 +label L3291 load 32 checker_method_type_map load 33 recv_type call 34 types_get_type_name string 1 33 @@ -55075,8 +55258,8 @@ concat 40 36 39 call 41 pith_cstring_release void 1 36 call 42 contains_key bool 2 32 40 call 43 pith_cstring_release void 1 40 -brif 42 L3281 L3282 -label L3281 +brif 42 L3294 L3295 +label L3294 strref 44 m13s550 load 45 message strref 46 m13s349 @@ -55110,14 +55293,14 @@ load 73 message call 74 pith_cstring_release void 1 73 iconst 75 0 ret 75 -label L3282 -label L3280 -jmp L3277 -label L3279 -label L3277 -jmp L3274 -label L3276 -label L3274 +label L3295 +label L3293 +jmp L3290 +label L3292 +label L3290 +jmp L3287 +label L3289 +label L3287 strref 76 m13s550 load 77 message call 78 checker_diagnostics_report_error void 2 76 77 @@ -55127,6 +55310,262 @@ call 81 pith_cstring_release void 1 80 iconst 82 0 ret 82 endfunc +func checker_refine_empty_literal_binding 5 int +param name +param method +param args +param scope_id +param recv_idx +iconst 5 0 +store literal_kind 5 +load 6 scope_id +load 7 name +call 8 scope_lookup_binding_index int 2 6 7 +store binding_index 8 +load 9 binding_index +iconst 10 0 +lt 11 9 10 +brif 11 L3297 L3298 +label L3297 +load 12 types_TID_ERR +load 13 literal_kind +call 14 pith_cstring_release void 1 13 +ret 12 +label L3298 +label L3296 +load 15 checker_open_empty_literal_bindings +load 16 binding_index +call 17 map_contains_ikey bool 2 15 16 +iconst 18 0 +eq 19 17 18 +brif 19 L3300 L3301 +label L3300 +load 20 types_TID_ERR +load 21 literal_kind +call 22 pith_cstring_release void 1 21 +ret 20 +label L3301 +label L3299 +load 23 checker_open_empty_literal_bindings +load 24 binding_index +call 25 map_get_ikey_strict int 2 23 24 +store literal_idx 25 +load 26 literal_kind +load 27 literal_idx +call 28 ast_get_node struct:Node 1 27 +field 29 28 0 string kind +call 30 pith_cstring_retain void 1 29 +call 31 pith_cstring_release void 1 26 +store literal_kind 29 +load 32 types_TID_ERR +store refined 32 +iconst 33 0 +store __and_33_3305 33 +iconst 34 0 +store __and_34_3305 34 +load 35 literal_kind +strref 36 m13s22 +call 37 pith_cstring_eq bool 2 35 36 +call 38 pith_cstring_release void 1 36 +store __and_34_3305 37 +brif 37 L3305 L3306 +label L3305 +load 39 method +strref 40 m13s512 +call 41 pith_cstring_eq bool 2 39 40 +call 42 pith_cstring_release void 1 40 +store __and_34_3305 41 +label L3306 +load 43 __and_34_3305 +store __and_33_3305 43 +brif 43 L3307 L3308 +label L3307 +load 44 args +call 45 pith_list_len int 1 44 +iconst 46 1 +eq 47 45 46 +store __and_33_3305 47 +label L3308 +load 48 __and_33_3305 +brif 48 L3303 L3304 +label L3303 +load 49 args +iconst 50 0 +call 51 pith_list_get_value_strict int 2 49 50 +call 52 checker_argument_expression_index int 1 51 +load 53 scope_id +call 54 checker_c_check_expr int 2 52 53 +store elem 54 +load 55 elem +call 56 types_is_error_type bool 1 55 +iconst 57 0 +eq 58 56 57 +brif 58 L3310 L3311 +label L3310 +load 59 elem +call 60 checker_type_intern_intern_list_type int 1 59 +store refined 60 +jmp L3309 +label L3311 +label L3309 +jmp L3302 +label L3304 +iconst 61 0 +store __and_61_3314 61 +iconst 62 0 +store __and_62_3314 62 +load 63 literal_kind +strref 64 m13s18 +call 65 pith_cstring_eq bool 2 63 64 +call 66 pith_cstring_release void 1 64 +store __and_62_3314 65 +brif 65 L3314 L3315 +label L3314 +load 67 method +strref 68 m13s480 +call 69 pith_cstring_eq bool 2 67 68 +call 70 pith_cstring_release void 1 68 +store __and_62_3314 69 +label L3315 +load 71 __and_62_3314 +store __and_61_3314 71 +brif 71 L3316 L3317 +label L3316 +load 72 args +call 73 pith_list_len int 1 72 +iconst 74 1 +eq 75 73 74 +store __and_61_3314 75 +label L3317 +load 76 __and_61_3314 +brif 76 L3312 L3313 +label L3312 +load 77 args +iconst 78 0 +call 79 pith_list_get_value_strict int 2 77 78 +call 80 checker_argument_expression_index int 1 79 +load 81 scope_id +call 82 checker_c_check_expr int 2 80 81 +store elem 82 +load 83 elem +call 84 types_is_error_type bool 1 83 +iconst 85 0 +eq 86 84 85 +brif 86 L3319 L3320 +label L3319 +load 87 elem +call 88 checker_type_intern_intern_set_type int 1 87 +store refined 88 +jmp L3318 +label L3320 +label L3318 +jmp L3302 +label L3313 +iconst 89 0 +store __and_89_3323 89 +iconst 90 0 +store __and_90_3323 90 +load 91 literal_kind +strref 92 m13s20 +call 93 pith_cstring_eq bool 2 91 92 +call 94 pith_cstring_release void 1 92 +store __and_90_3323 93 +brif 93 L3323 L3324 +label L3323 +load 95 method +strref 96 m13s491 +call 97 pith_cstring_eq bool 2 95 96 +call 98 pith_cstring_release void 1 96 +store __and_90_3323 97 +label L3324 +load 99 __and_90_3323 +store __and_89_3323 99 +brif 99 L3325 L3326 +label L3325 +load 100 args +call 101 pith_list_len int 1 100 +iconst 102 2 +eq 103 101 102 +store __and_89_3323 103 +label L3326 +load 104 __and_89_3323 +brif 104 L3321 L3322 +label L3321 +load 105 args +iconst 106 0 +call 107 pith_list_get_value_strict int 2 105 106 +call 108 checker_argument_expression_index int 1 107 +load 109 scope_id +call 110 checker_c_check_expr int 2 108 109 +store key_type 110 +load 111 args +iconst 112 1 +call 113 pith_list_get_value_strict int 2 111 112 +call 114 checker_argument_expression_index int 1 113 +load 115 scope_id +call 116 checker_c_check_expr int 2 114 115 +store value_type 116 +iconst 117 0 +store __and_117_3330 117 +load 118 key_type +call 119 types_is_error_type bool 1 118 +iconst 120 0 +eq 121 119 120 +store __and_117_3330 121 +brif 121 L3330 L3331 +label L3330 +load 122 value_type +call 123 types_is_error_type bool 1 122 +iconst 124 0 +eq 125 123 124 +store __and_117_3330 125 +label L3331 +load 126 __and_117_3330 +brif 126 L3328 L3329 +label L3328 +load 127 key_type +load 128 value_type +call 129 checker_type_intern_intern_map_type int 2 127 128 +store refined 129 +jmp L3327 +label L3329 +label L3327 +jmp L3302 +label L3322 +label L3302 +load 130 refined +call 131 types_is_error_type bool 1 130 +brif 131 L3333 L3334 +label L3333 +load 132 types_TID_ERR +load 133 literal_kind +call 134 pith_cstring_release void 1 133 +ret 132 +label L3334 +label L3332 +load 135 binding_index +load 136 refined +call 137 scope_set_binding_type_at void 2 135 136 +load 138 checker_open_empty_literal_bindings +load 139 binding_index +call 140 map_remove_ikey void 2 138 139 +load 141 checker_expression_type_cache +load 142 literal_idx +load 143 refined +call 144 map_insert_ikey void 3 141 142 143 +load 145 checker_expression_type_cache +load 146 recv_idx +load 147 refined +call 148 map_insert_ikey void 3 145 146 147 +load 149 refined +load 150 literal_kind +call 151 pith_cstring_release void 1 150 +ret 149 +load 152 literal_kind +call 153 pith_cstring_release void 1 152 +iconst 154 0 +ret 154 +endfunc func checker_check_method_call 2 int param node param scope_id @@ -55187,8 +55626,8 @@ field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 1 lt 32 30 31 -brif 32 L3284 L3285 -label L3284 +brif 32 L3336 L3337 +label L3336 load 33 types_TID_ERR load 34 method_name call 35 pith_cstring_release void 1 34 @@ -55243,8 +55682,8 @@ call 83 pith_list_release_handle void 1 82 load 84 arg_node call 85 pith_struct_release void 1 84 ret 33 -label L3285 -label L3283 +label L3337 +label L3335 load 86 method_name load 87 node field 88 87 8 string value @@ -55255,8 +55694,8 @@ load 91 method_name strref 92 m13s123 call 93 pith_cstring_starts_with bool 2 91 92 call 94 pith_cstring_release void 1 92 -brif 93 L3287 L3288 -label L3287 +brif 93 L3339 L3340 +label L3339 load 95 method_name load 96 method_name iconst 97 1 @@ -55265,9 +55704,9 @@ call 99 string_len int 1 98 call 100 pith_cstring_substring string 3 96 97 99 call 101 pith_cstring_release void 1 95 store method_name 100 -jmp L3286 -label L3288 -label L3286 +jmp L3338 +label L3340 +label L3338 load 102 recv_node load 103 node field 104 103 16 list children @@ -55289,12 +55728,12 @@ iconst 116 0 store __for_idx_174 116 store __for_len_174 115 store __for_iter_174 114 -label L3289 +label L3341 load 117 __for_idx_174 load 118 __for_len_174 lt 119 117 118 -brif 119 L3290 L3292 -label L3290 +brif 119 L3342 L3344 +label L3342 load 120 __for_iter_174 load 121 __for_idx_174 call 122 pith_list_get_value unknown 2 120 121 @@ -55302,32 +55741,32 @@ store __loopvar_174_child 122 load 123 skip_recv iconst 124 0 gt 125 123 124 -brif 125 L3294 L3295 -label L3294 +brif 125 L3346 L3347 +label L3346 load 126 skip_recv iconst 127 1 sub 128 126 127 store skip_recv 128 -jmp L3291 -label L3295 -label L3293 +jmp L3343 +label L3347 +label L3345 load 129 arg_indices load 130 __loopvar_174_child call 131 pith_list_push_value void 2 129 130 -label L3291 +label L3343 load 132 __for_idx_174 iconst 133 1 add 134 132 133 store __for_idx_174 134 -jmp L3289 -label L3292 +jmp L3341 +label L3344 load 135 recv_node field 136 135 0 string kind strref 137 m13s293 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 -brif 138 L3297 L3298 -label L3297 +brif 138 L3349 L3350 +label L3349 load 140 recv_name load 141 recv_node field 142 141 8 string value @@ -55337,8 +55776,8 @@ store recv_name 142 load 145 checker_module_aliases load 146 recv_name call 147 contains_key bool 2 145 146 -brif 147 L3300 L3301 -label L3300 +brif 147 L3352 L3353 +label L3352 load 148 module_path load 149 checker_module_aliases load 150 recv_name @@ -55364,8 +55803,8 @@ store ctor_tid 166 load 167 ctor_tid iconst 168 0 gte 169 167 168 -brif 169 L3303 L3304 -label L3303 +brif 169 L3355 L3356 +label L3355 load 170 ctor_info load 171 ctor_tid call 172 types_get_type_info struct:TypeInfo 1 171 @@ -55376,27 +55815,27 @@ field 175 174 0 string kind strref 176 m13s34 call 177 pith_cstring_eq bool 2 175 176 call 178 pith_cstring_release void 1 176 -brif 177 L3306 L3307 -label L3306 +brif 177 L3358 L3359 +label L3358 iconst 179 0 -store __or_179_3311 179 +store __or_179_3363 179 load 180 ctor_info field 181 180 16 list_string fields call 182 pith_list_len int 1 181 iconst 183 0 gt 184 182 183 -store __or_179_3311 184 -brif 184 L3312 L3311 -label L3311 +store __or_179_3363 184 +brif 184 L3364 L3363 +label L3363 load 185 arg_indices call 186 pith_list_len int 1 185 iconst 187 0 eq 188 186 187 -store __or_179_3311 188 -label L3312 -load 189 __or_179_3311 -brif 189 L3309 L3310 -label L3309 +store __or_179_3363 188 +label L3364 +load 189 __or_179_3363 +brif 189 L3361 L3362 +label L3361 load 190 ctor_type_name load 191 ctor_tid load 192 ctor_info @@ -55456,14 +55895,14 @@ call 245 pith_list_release_handle void 1 244 load 246 arg_node call 247 pith_struct_release void 1 246 ret 195 -label L3310 -label L3308 -jmp L3305 -label L3307 -label L3305 -jmp L3302 -label L3304 -label L3302 +label L3362 +label L3360 +jmp L3357 +label L3359 +label L3357 +jmp L3354 +label L3356 +label L3354 load 248 gen_ctor_name load 249 module_path load 250 method_name @@ -55472,8 +55911,8 @@ call 252 pith_cstring_release void 1 248 store gen_ctor_name 251 load 253 gen_ctor_name call 254 checker_has_generic_declaration bool 1 253 -brif 254 L3314 L3315 -label L3314 +brif 254 L3366 L3367 +label L3366 load 255 gen_ctor_name call 256 checker_get_generic_declaration_index int 1 255 call 257 ast_get_node struct:Node 1 256 @@ -55481,8 +55920,8 @@ field 258 257 0 string kind strref 259 m13s287 call 260 pith_cstring_eq bool 2 258 259 call 261 pith_cstring_release void 1 259 -brif 260 L3317 L3318 -label L3317 +brif 260 L3369 L3370 +label L3369 load 262 gen_ctor_name load 263 arg_indices load 264 scope_id @@ -55540,15 +55979,15 @@ call 315 pith_list_release_handle void 1 314 load 316 arg_node call 317 pith_struct_release void 1 316 ret 265 -label L3318 -label L3316 -jmp L3313 -label L3315 -label L3313 +label L3370 +label L3368 +jmp L3365 +label L3367 +label L3365 load 318 method_name call 319 checker_has_generic_declaration bool 1 318 -brif 319 L3320 L3321 -label L3320 +brif 319 L3372 L3373 +label L3372 load 320 method_name call 321 checker_get_generic_declaration_index int 1 320 call 322 ast_get_node struct:Node 1 321 @@ -55556,8 +55995,8 @@ field 323 322 0 string kind strref 324 m13s287 call 325 pith_cstring_eq bool 2 323 324 call 326 pith_cstring_release void 1 324 -brif 325 L3323 L3324 -label L3323 +brif 325 L3375 L3376 +label L3375 load 327 method_name load 328 arg_indices load 329 scope_id @@ -55615,18 +56054,18 @@ call 380 pith_list_release_handle void 1 379 load 381 arg_node call 382 pith_struct_release void 1 381 ret 330 -label L3324 -label L3322 -jmp L3319 -label L3321 -label L3319 +label L3376 +label L3374 +jmp L3371 +label L3373 +label L3371 load 383 module_path load 384 method_name call 385 checker_module_function_is_visible bool 2 383 384 iconst 387 1 sub 386 387 385 -brif 386 L3326 L3327 -label L3326 +brif 386 L3378 L3379 +label L3378 strref 388 m13s442 strref 389 m13s349 load 390 method_name @@ -55700,8 +56139,8 @@ call 457 pith_list_release_handle void 1 456 load 458 arg_node call 459 pith_struct_release void 1 458 ret 407 -label L3327 -label L3325 +label L3379 +label L3377 load 460 qualified_name load 461 module_path load 462 method_name @@ -55721,34 +56160,34 @@ store callee_type 472 load 473 callee_type iconst 474 0 lt 475 473 474 -brif 475 L3329 L3330 -label L3329 +brif 475 L3381 L3382 +label L3381 load 476 scope_id load 477 qualified_name load 478 module_path call 479 scope_lookup_binding_owned_by int 3 476 477 478 store callee_type 479 -jmp L3328 -label L3330 -label L3328 +jmp L3380 +label L3382 +label L3380 load 480 callee_type iconst 481 0 lt 482 480 481 -brif 482 L3332 L3333 -label L3332 +brif 482 L3384 L3385 +label L3384 load 483 scope_id load 484 method_name load 485 module_path call 486 scope_lookup_binding_owned_by int 3 483 484 485 store callee_type 486 -jmp L3331 -label L3333 -label L3331 +jmp L3383 +label L3385 +label L3383 load 487 callee_type iconst 488 0 lt 489 487 488 -brif 489 L3335 L3336 -label L3335 +brif 489 L3387 L3388 +label L3387 load 490 generic_name load 491 module_path load 492 method_name @@ -55757,8 +56196,8 @@ call 494 pith_cstring_release void 1 490 store generic_name 493 load 495 generic_name call 496 checker_has_generic_declaration bool 1 495 -brif 496 L3338 L3339 -label L3338 +brif 496 L3390 L3391 +label L3390 load 497 generic_name load 498 arg_indices load 499 scope_id @@ -55816,12 +56255,12 @@ call 550 pith_list_release_handle void 1 549 load 551 arg_node call 552 pith_struct_release void 1 551 ret 500 -label L3339 -label L3337 +label L3391 +label L3389 load 553 method_name call 554 checker_has_generic_declaration bool 1 553 -brif 554 L3341 L3342 -label L3341 +brif 554 L3393 L3394 +label L3393 load 555 method_name load 556 arg_indices load 557 scope_id @@ -55879,16 +56318,16 @@ call 608 pith_list_release_handle void 1 607 load 609 arg_node call 610 pith_struct_release void 1 609 ret 558 -label L3342 -label L3340 -jmp L3334 -label L3336 -label L3334 +label L3394 +label L3392 +jmp L3386 +label L3388 +label L3386 load 611 callee_type iconst 612 0 lt 613 611 612 -brif 613 L3344 L3345 -label L3344 +brif 613 L3396 L3397 +label L3396 load 614 recv_name load 615 method_name load 616 arg_indices @@ -55948,8 +56387,8 @@ call 669 pith_list_release_handle void 1 668 load 670 arg_node call 671 pith_struct_release void 1 670 ret 619 -label L3345 -label L3343 +label L3397 +label L3395 load 672 callee_type load 673 arg_indices load 674 scope_id @@ -56007,11 +56446,11 @@ call 725 pith_list_release_handle void 1 724 load 726 arg_node call 727 pith_struct_release void 1 726 ret 675 -label L3301 -label L3299 -jmp L3296 -label L3298 -label L3296 +label L3353 +label L3351 +jmp L3348 +label L3350 +label L3348 load 728 node field 729 728 16 list children iconst 730 0 @@ -56019,2235 +56458,2266 @@ call 731 pith_list_get_value_strict int 2 729 730 load 732 scope_id call 733 checker_c_check_expr int 2 731 732 store receiver_type 733 -load 734 receiver_type -call 735 types_is_error_type bool 1 734 -brif 735 L3347 L3348 -label L3347 -load 736 types_TID_ERR -load 737 method_name -call 738 pith_cstring_release void 1 737 -load 739 recv_node -call 740 pith_struct_release void 1 739 -load 741 arg_indices -call 742 pith_list_release_handle void 1 741 -load 743 recv_name -call 744 pith_cstring_release void 1 743 -load 745 module_path -call 746 pith_cstring_release void 1 745 -load 747 ctor_type_name -call 748 pith_cstring_release void 1 747 -load 749 ctor_info -call 750 pith_struct_release void 1 749 -load 751 gen_ctor_name -call 752 pith_cstring_release void 1 751 -load 753 qualified_name -call 754 pith_cstring_release void 1 753 -load 755 module_name -call 756 pith_cstring_release void 1 755 -load 757 generic_name -call 758 pith_cstring_release void 1 757 -load 759 recv_info -call 760 pith_struct_release void 1 759 -load 761 payload_types -call 762 pith_list_release_handle void 1 761 -load 763 pa_node -call 764 pith_struct_release void 1 763 -load 765 type_name -call 766 pith_cstring_release void 1 765 -load 767 key -call 768 pith_cstring_release void 1 767 -load 769 base_name -call 770 pith_cstring_release void 1 769 -load 771 method_node -call 772 pith_struct_release void 1 771 -load 773 struct_params -call 774 pith_list_release_handle void 1 773 -load 775 struct_args -call 776 pith_list_release_handle void 1 775 -load 777 base -call 778 pith_cstring_release void 1 777 -load 779 sdecl -call 780 pith_struct_release void 1 779 -load 781 assoc_base -call 782 pith_cstring_release void 1 781 -load 783 bkey -call 784 pith_cstring_release void 1 783 -load 785 param_types -call 786 pith_list_release_handle void 1 785 -load 787 arg_node -call 788 pith_struct_release void 1 787 -ret 736 -label L3348 -label L3346 -load 789 recv_info -load 790 receiver_type -call 791 types_get_type_info struct:TypeInfo 1 790 -call 792 pith_struct_release void 1 789 -store recv_info 791 -load 793 receiver_type -store dispatch_type 793 -load 794 recv_info -field 795 794 0 string kind -strref 796 m13s29 -call 797 pith_cstring_eq bool 2 795 796 -call 798 pith_cstring_release void 1 796 -brif 797 L3350 L3351 -label L3350 -load 799 method_name -strref 800 m13s76 -call 801 pith_cstring_eq bool 2 799 800 -call 802 pith_cstring_release void 1 800 -brif 801 L3353 L3354 -label L3353 -load 803 method_name -load 804 arg_indices -call 805 checker_expect_no_arguments void 2 803 804 -load 806 recv_info -field 807 806 64 int inner -load 808 method_name -call 809 pith_cstring_release void 1 808 -load 810 recv_node -call 811 pith_struct_release void 1 810 -load 812 arg_indices -call 813 pith_list_release_handle void 1 812 -load 814 recv_name -call 815 pith_cstring_release void 1 814 -load 816 module_path -call 817 pith_cstring_release void 1 816 -load 818 ctor_type_name -call 819 pith_cstring_release void 1 818 -load 820 ctor_info -call 821 pith_struct_release void 1 820 -load 822 gen_ctor_name -call 823 pith_cstring_release void 1 822 -load 824 qualified_name -call 825 pith_cstring_release void 1 824 -load 826 module_name -call 827 pith_cstring_release void 1 826 -load 828 generic_name -call 829 pith_cstring_release void 1 828 -load 830 recv_info -call 831 pith_struct_release void 1 830 -load 832 payload_types -call 833 pith_list_release_handle void 1 832 -load 834 pa_node -call 835 pith_struct_release void 1 834 -load 836 type_name -call 837 pith_cstring_release void 1 836 -load 838 key -call 839 pith_cstring_release void 1 838 -load 840 base_name -call 841 pith_cstring_release void 1 840 -load 842 method_node -call 843 pith_struct_release void 1 842 -load 844 struct_params -call 845 pith_list_release_handle void 1 844 -load 846 struct_args -call 847 pith_list_release_handle void 1 846 -load 848 base -call 849 pith_cstring_release void 1 848 -load 850 sdecl -call 851 pith_struct_release void 1 850 -load 852 assoc_base -call 853 pith_cstring_release void 1 852 -load 854 bkey -call 855 pith_cstring_release void 1 854 -load 856 param_types -call 857 pith_list_release_handle void 1 856 -load 858 arg_node -call 859 pith_struct_release void 1 858 -ret 807 -label L3354 -label L3352 -load 860 method_name -strref 861 m13s528 -call 862 pith_cstring_eq bool 2 860 861 -call 863 pith_cstring_release void 1 861 -brif 862 L3356 L3357 -label L3356 -load 864 arg_indices -call 865 pith_list_len int 1 864 -iconst 866 1 -neq 867 865 866 -brif 867 L3359 L3360 -label L3359 -strref 868 m13s307 -strref 869 m13s527 -load 870 arg_indices -call 871 pith_list_len int 1 870 -call 872 int_to_string string 1 871 -concat 873 869 872 -call 874 pith_cstring_release void 1 869 -call 875 pith_cstring_release void 1 872 -call 876 checker_diagnostics_report_error void 2 868 873 -call 877 pith_cstring_release void 1 868 -call 878 pith_cstring_release void 1 873 -load 879 recv_info -field 880 879 64 int inner -load 881 method_name -call 882 pith_cstring_release void 1 881 -load 883 recv_node -call 884 pith_struct_release void 1 883 -load 885 arg_indices -call 886 pith_list_release_handle void 1 885 -load 887 recv_name -call 888 pith_cstring_release void 1 887 -load 889 module_path -call 890 pith_cstring_release void 1 889 -load 891 ctor_type_name -call 892 pith_cstring_release void 1 891 -load 893 ctor_info -call 894 pith_struct_release void 1 893 -load 895 gen_ctor_name -call 896 pith_cstring_release void 1 895 -load 897 qualified_name -call 898 pith_cstring_release void 1 897 -load 899 module_name -call 900 pith_cstring_release void 1 899 -load 901 generic_name -call 902 pith_cstring_release void 1 901 -load 903 recv_info -call 904 pith_struct_release void 1 903 -load 905 payload_types -call 906 pith_list_release_handle void 1 905 -load 907 pa_node -call 908 pith_struct_release void 1 907 -load 909 type_name -call 910 pith_cstring_release void 1 909 -load 911 key -call 912 pith_cstring_release void 1 911 -load 913 base_name -call 914 pith_cstring_release void 1 913 -load 915 method_node -call 916 pith_struct_release void 1 915 -load 917 struct_params -call 918 pith_list_release_handle void 1 917 -load 919 struct_args -call 920 pith_list_release_handle void 1 919 -load 921 base -call 922 pith_cstring_release void 1 921 -load 923 sdecl -call 924 pith_struct_release void 1 923 -load 925 assoc_base -call 926 pith_cstring_release void 1 925 -load 927 bkey -call 928 pith_cstring_release void 1 927 -load 929 param_types -call 930 pith_list_release_handle void 1 929 -load 931 arg_node -call 932 pith_struct_release void 1 931 -ret 880 -label L3360 -label L3358 -load 933 arg_indices -iconst 934 0 -call 935 pith_list_get_value_strict int 2 933 934 -load 936 recv_info -field 937 936 64 int inner -load 938 scope_id -call 939 checker_check_argument_type void 3 935 937 938 -load 940 recv_info -field 941 940 64 int inner -load 942 method_name -call 943 pith_cstring_release void 1 942 -load 944 recv_node -call 945 pith_struct_release void 1 944 -load 946 arg_indices -call 947 pith_list_release_handle void 1 946 -load 948 recv_name -call 949 pith_cstring_release void 1 948 -load 950 module_path -call 951 pith_cstring_release void 1 950 -load 952 ctor_type_name -call 953 pith_cstring_release void 1 952 -load 954 ctor_info -call 955 pith_struct_release void 1 954 -load 956 gen_ctor_name -call 957 pith_cstring_release void 1 956 -load 958 qualified_name -call 959 pith_cstring_release void 1 958 -load 960 module_name -call 961 pith_cstring_release void 1 960 -load 962 generic_name -call 963 pith_cstring_release void 1 962 -load 964 recv_info -call 965 pith_struct_release void 1 964 -load 966 payload_types -call 967 pith_list_release_handle void 1 966 -load 968 pa_node -call 969 pith_struct_release void 1 968 -load 970 type_name -call 971 pith_cstring_release void 1 970 -load 972 key -call 973 pith_cstring_release void 1 972 -load 974 base_name -call 975 pith_cstring_release void 1 974 -load 976 method_node -call 977 pith_struct_release void 1 976 -load 978 struct_params -call 979 pith_list_release_handle void 1 978 -load 980 struct_args -call 981 pith_list_release_handle void 1 980 -load 982 base -call 983 pith_cstring_release void 1 982 -load 984 sdecl -call 985 pith_struct_release void 1 984 -load 986 assoc_base -call 987 pith_cstring_release void 1 986 -load 988 bkey -call 989 pith_cstring_release void 1 988 -load 990 param_types -call 991 pith_list_release_handle void 1 990 -load 992 arg_node -call 993 pith_struct_release void 1 992 -ret 941 -label L3357 -label L3355 -load 994 recv_info -field 995 994 64 int inner -store dispatch_type 995 -load 996 recv_info -load 997 dispatch_type -call 998 types_get_type_info struct:TypeInfo 1 997 -call 999 pith_struct_release void 1 996 -store recv_info 998 -jmp L3349 -label L3351 -load 1000 recv_info -field 1001 1000 0 string kind -strref 1002 m13s28 -call 1003 pith_cstring_eq bool 2 1001 1002 -call 1004 pith_cstring_release void 1 1002 -brif 1003 L3361 L3362 -label L3361 -load 1005 method_name -load 1006 recv_info -load 1007 arg_indices -load 1008 scope_id -call 1009 checker_check_result_method_call int 4 1005 1006 1007 1008 -store result_method 1009 -load 1010 result_method -call 1011 types_is_error_type bool 1 1010 -iconst 1012 0 -eq 1013 1011 1012 -brif 1013 L3364 L3365 -label L3364 -load 1014 result_method -load 1015 method_name -call 1016 pith_cstring_release void 1 1015 -load 1017 recv_node -call 1018 pith_struct_release void 1 1017 -load 1019 arg_indices -call 1020 pith_list_release_handle void 1 1019 -load 1021 recv_name -call 1022 pith_cstring_release void 1 1021 -load 1023 module_path -call 1024 pith_cstring_release void 1 1023 -load 1025 ctor_type_name -call 1026 pith_cstring_release void 1 1025 -load 1027 ctor_info -call 1028 pith_struct_release void 1 1027 -load 1029 gen_ctor_name -call 1030 pith_cstring_release void 1 1029 -load 1031 qualified_name -call 1032 pith_cstring_release void 1 1031 -load 1033 module_name -call 1034 pith_cstring_release void 1 1033 -load 1035 generic_name -call 1036 pith_cstring_release void 1 1035 -load 1037 recv_info -call 1038 pith_struct_release void 1 1037 -load 1039 payload_types -call 1040 pith_list_release_handle void 1 1039 -load 1041 pa_node -call 1042 pith_struct_release void 1 1041 -load 1043 type_name -call 1044 pith_cstring_release void 1 1043 -load 1045 key -call 1046 pith_cstring_release void 1 1045 -load 1047 base_name -call 1048 pith_cstring_release void 1 1047 -load 1049 method_node -call 1050 pith_struct_release void 1 1049 -load 1051 struct_params -call 1052 pith_list_release_handle void 1 1051 -load 1053 struct_args -call 1054 pith_list_release_handle void 1 1053 -load 1055 base -call 1056 pith_cstring_release void 1 1055 -load 1057 sdecl -call 1058 pith_struct_release void 1 1057 -load 1059 assoc_base -call 1060 pith_cstring_release void 1 1059 -load 1061 bkey -call 1062 pith_cstring_release void 1 1061 -load 1063 param_types -call 1064 pith_list_release_handle void 1 1063 -load 1065 arg_node -call 1066 pith_struct_release void 1 1065 -ret 1014 -label L3365 -label L3363 -load 1067 recv_info -field 1068 1067 64 int inner -store dispatch_type 1068 -load 1069 recv_info -load 1070 dispatch_type -call 1071 types_get_type_info struct:TypeInfo 1 1070 -call 1072 pith_struct_release void 1 1069 -store recv_info 1071 -jmp L3349 -label L3362 -label L3349 -strref 1073 m13s11 -call 1074 types_lookup_type_id int 1 1073 -call 1075 pith_cstring_release void 1 1073 -store tid_string 1074 -strref 1076 m13s10 -call 1077 types_lookup_type_id int 1 1076 -call 1078 pith_cstring_release void 1 1076 -store tid_bytes 1077 -strref 1079 m13s15 -call 1080 types_lookup_type_id int 1 1079 -call 1081 pith_cstring_release void 1 1079 -store tid_int 1080 -strref 1082 m13s13 -call 1083 types_lookup_type_id int 1 1082 -call 1084 pith_cstring_release void 1 1082 -store tid_float 1083 -strref 1085 m13s12 -call 1086 types_lookup_type_id int 1 1085 -call 1087 pith_cstring_release void 1 1085 -store tid_bool 1086 -load 1088 dispatch_type -load 1089 tid_string -eq 1090 1088 1089 -brif 1090 L3367 L3368 -label L3367 -load 1091 method_name -load 1092 arg_indices -load 1093 scope_id -call 1094 checker_check_string_method_call int 3 1091 1092 1093 -load 1095 method_name -call 1096 pith_cstring_release void 1 1095 -load 1097 recv_node -call 1098 pith_struct_release void 1 1097 -load 1099 arg_indices -call 1100 pith_list_release_handle void 1 1099 -load 1101 recv_name -call 1102 pith_cstring_release void 1 1101 -load 1103 module_path -call 1104 pith_cstring_release void 1 1103 -load 1105 ctor_type_name -call 1106 pith_cstring_release void 1 1105 -load 1107 ctor_info -call 1108 pith_struct_release void 1 1107 -load 1109 gen_ctor_name -call 1110 pith_cstring_release void 1 1109 -load 1111 qualified_name -call 1112 pith_cstring_release void 1 1111 -load 1113 module_name -call 1114 pith_cstring_release void 1 1113 -load 1115 generic_name -call 1116 pith_cstring_release void 1 1115 -load 1117 recv_info -call 1118 pith_struct_release void 1 1117 -load 1119 payload_types -call 1120 pith_list_release_handle void 1 1119 -load 1121 pa_node -call 1122 pith_struct_release void 1 1121 -load 1123 type_name -call 1124 pith_cstring_release void 1 1123 -load 1125 key -call 1126 pith_cstring_release void 1 1125 -load 1127 base_name -call 1128 pith_cstring_release void 1 1127 -load 1129 method_node -call 1130 pith_struct_release void 1 1129 -load 1131 struct_params -call 1132 pith_list_release_handle void 1 1131 -load 1133 struct_args -call 1134 pith_list_release_handle void 1 1133 -load 1135 base -call 1136 pith_cstring_release void 1 1135 -load 1137 sdecl -call 1138 pith_struct_release void 1 1137 -load 1139 assoc_base -call 1140 pith_cstring_release void 1 1139 -load 1141 bkey -call 1142 pith_cstring_release void 1 1141 -load 1143 param_types -call 1144 pith_list_release_handle void 1 1143 -load 1145 arg_node -call 1146 pith_struct_release void 1 1145 -ret 1094 -label L3368 -label L3366 -load 1147 dispatch_type -load 1148 tid_bytes -eq 1149 1147 1148 -brif 1149 L3370 L3371 -label L3370 -load 1150 method_name -load 1151 arg_indices -load 1152 scope_id -call 1153 checker_check_bytes_method_call int 3 1150 1151 1152 -load 1154 method_name -call 1155 pith_cstring_release void 1 1154 -load 1156 recv_node -call 1157 pith_struct_release void 1 1156 -load 1158 arg_indices -call 1159 pith_list_release_handle void 1 1158 -load 1160 recv_name -call 1161 pith_cstring_release void 1 1160 -load 1162 module_path -call 1163 pith_cstring_release void 1 1162 -load 1164 ctor_type_name -call 1165 pith_cstring_release void 1 1164 -load 1166 ctor_info -call 1167 pith_struct_release void 1 1166 -load 1168 gen_ctor_name -call 1169 pith_cstring_release void 1 1168 -load 1170 qualified_name -call 1171 pith_cstring_release void 1 1170 -load 1172 module_name -call 1173 pith_cstring_release void 1 1172 -load 1174 generic_name -call 1175 pith_cstring_release void 1 1174 -load 1176 recv_info -call 1177 pith_struct_release void 1 1176 -load 1178 payload_types -call 1179 pith_list_release_handle void 1 1178 -load 1180 pa_node -call 1181 pith_struct_release void 1 1180 -load 1182 type_name -call 1183 pith_cstring_release void 1 1182 -load 1184 key -call 1185 pith_cstring_release void 1 1184 -load 1186 base_name -call 1187 pith_cstring_release void 1 1186 -load 1188 method_node -call 1189 pith_struct_release void 1 1188 -load 1190 struct_params -call 1191 pith_list_release_handle void 1 1190 -load 1192 struct_args -call 1193 pith_list_release_handle void 1 1192 -load 1194 base -call 1195 pith_cstring_release void 1 1194 -load 1196 sdecl -call 1197 pith_struct_release void 1 1196 -load 1198 assoc_base -call 1199 pith_cstring_release void 1 1198 -load 1200 bkey -call 1201 pith_cstring_release void 1 1200 -load 1202 param_types -call 1203 pith_list_release_handle void 1 1202 -load 1204 arg_node -call 1205 pith_struct_release void 1 1204 -ret 1153 -label L3371 -label L3369 -load 1206 dispatch_type -call 1207 types_is_integer_type bool 1 1206 -brif 1207 L3373 L3374 -label L3373 -load 1208 method_name -load 1209 arg_indices -load 1210 scope_id -call 1211 checker_check_int_method_call int 3 1208 1209 1210 -load 1212 method_name -call 1213 pith_cstring_release void 1 1212 -load 1214 recv_node -call 1215 pith_struct_release void 1 1214 -load 1216 arg_indices -call 1217 pith_list_release_handle void 1 1216 -load 1218 recv_name -call 1219 pith_cstring_release void 1 1218 -load 1220 module_path -call 1221 pith_cstring_release void 1 1220 -load 1222 ctor_type_name -call 1223 pith_cstring_release void 1 1222 -load 1224 ctor_info -call 1225 pith_struct_release void 1 1224 -load 1226 gen_ctor_name -call 1227 pith_cstring_release void 1 1226 -load 1228 qualified_name -call 1229 pith_cstring_release void 1 1228 -load 1230 module_name -call 1231 pith_cstring_release void 1 1230 -load 1232 generic_name -call 1233 pith_cstring_release void 1 1232 -load 1234 recv_info -call 1235 pith_struct_release void 1 1234 -load 1236 payload_types -call 1237 pith_list_release_handle void 1 1236 -load 1238 pa_node -call 1239 pith_struct_release void 1 1238 -load 1240 type_name -call 1241 pith_cstring_release void 1 1240 -load 1242 key -call 1243 pith_cstring_release void 1 1242 -load 1244 base_name -call 1245 pith_cstring_release void 1 1244 -load 1246 method_node -call 1247 pith_struct_release void 1 1246 -load 1248 struct_params -call 1249 pith_list_release_handle void 1 1248 -load 1250 struct_args -call 1251 pith_list_release_handle void 1 1250 -load 1252 base -call 1253 pith_cstring_release void 1 1252 -load 1254 sdecl -call 1255 pith_struct_release void 1 1254 -load 1256 assoc_base -call 1257 pith_cstring_release void 1 1256 -load 1258 bkey -call 1259 pith_cstring_release void 1 1258 -load 1260 param_types -call 1261 pith_list_release_handle void 1 1260 -load 1262 arg_node -call 1263 pith_struct_release void 1 1262 -ret 1211 -label L3374 -label L3372 -load 1264 dispatch_type -load 1265 tid_float -eq 1266 1264 1265 -brif 1266 L3376 L3377 -label L3376 -load 1267 method_name -load 1268 arg_indices -load 1269 scope_id -call 1270 checker_check_float_method_call int 3 1267 1268 1269 -load 1271 method_name -call 1272 pith_cstring_release void 1 1271 -load 1273 recv_node -call 1274 pith_struct_release void 1 1273 -load 1275 arg_indices -call 1276 pith_list_release_handle void 1 1275 -load 1277 recv_name -call 1278 pith_cstring_release void 1 1277 -load 1279 module_path -call 1280 pith_cstring_release void 1 1279 -load 1281 ctor_type_name -call 1282 pith_cstring_release void 1 1281 -load 1283 ctor_info -call 1284 pith_struct_release void 1 1283 -load 1285 gen_ctor_name -call 1286 pith_cstring_release void 1 1285 -load 1287 qualified_name -call 1288 pith_cstring_release void 1 1287 -load 1289 module_name -call 1290 pith_cstring_release void 1 1289 -load 1291 generic_name -call 1292 pith_cstring_release void 1 1291 -load 1293 recv_info -call 1294 pith_struct_release void 1 1293 -load 1295 payload_types -call 1296 pith_list_release_handle void 1 1295 -load 1297 pa_node -call 1298 pith_struct_release void 1 1297 -load 1299 type_name -call 1300 pith_cstring_release void 1 1299 -load 1301 key -call 1302 pith_cstring_release void 1 1301 -load 1303 base_name -call 1304 pith_cstring_release void 1 1303 -load 1305 method_node -call 1306 pith_struct_release void 1 1305 -load 1307 struct_params -call 1308 pith_list_release_handle void 1 1307 -load 1309 struct_args -call 1310 pith_list_release_handle void 1 1309 -load 1311 base -call 1312 pith_cstring_release void 1 1311 -load 1313 sdecl -call 1314 pith_struct_release void 1 1313 -load 1315 assoc_base -call 1316 pith_cstring_release void 1 1315 -load 1317 bkey -call 1318 pith_cstring_release void 1 1317 -load 1319 param_types -call 1320 pith_list_release_handle void 1 1319 -load 1321 arg_node -call 1322 pith_struct_release void 1 1321 -ret 1270 -label L3377 -label L3375 -load 1323 dispatch_type -load 1324 tid_bool -eq 1325 1323 1324 -brif 1325 L3379 L3380 -label L3379 -load 1326 method_name -load 1327 arg_indices -load 1328 scope_id -call 1329 checker_check_bool_method_call int 3 1326 1327 1328 -load 1330 method_name -call 1331 pith_cstring_release void 1 1330 -load 1332 recv_node -call 1333 pith_struct_release void 1 1332 -load 1334 arg_indices -call 1335 pith_list_release_handle void 1 1334 -load 1336 recv_name -call 1337 pith_cstring_release void 1 1336 -load 1338 module_path -call 1339 pith_cstring_release void 1 1338 -load 1340 ctor_type_name -call 1341 pith_cstring_release void 1 1340 -load 1342 ctor_info -call 1343 pith_struct_release void 1 1342 -load 1344 gen_ctor_name -call 1345 pith_cstring_release void 1 1344 -load 1346 qualified_name -call 1347 pith_cstring_release void 1 1346 -load 1348 module_name -call 1349 pith_cstring_release void 1 1348 -load 1350 generic_name -call 1351 pith_cstring_release void 1 1350 -load 1352 recv_info -call 1353 pith_struct_release void 1 1352 -load 1354 payload_types -call 1355 pith_list_release_handle void 1 1354 -load 1356 pa_node -call 1357 pith_struct_release void 1 1356 -load 1358 type_name -call 1359 pith_cstring_release void 1 1358 -load 1360 key -call 1361 pith_cstring_release void 1 1360 -load 1362 base_name -call 1363 pith_cstring_release void 1 1362 -load 1364 method_node -call 1365 pith_struct_release void 1 1364 -load 1366 struct_params -call 1367 pith_list_release_handle void 1 1366 -load 1368 struct_args -call 1369 pith_list_release_handle void 1 1368 -load 1370 base -call 1371 pith_cstring_release void 1 1370 -load 1372 sdecl -call 1373 pith_struct_release void 1 1372 -load 1374 assoc_base -call 1375 pith_cstring_release void 1 1374 -load 1376 bkey -call 1377 pith_cstring_release void 1 1376 -load 1378 param_types -call 1379 pith_list_release_handle void 1 1378 -load 1380 arg_node -call 1381 pith_struct_release void 1 1380 -ret 1329 -label L3380 -label L3378 -load 1382 recv_info -field 1383 1382 0 string kind -strref 1384 m13s22 -call 1385 pith_cstring_eq bool 2 1383 1384 -call 1386 pith_cstring_release void 1 1384 -brif 1385 L3382 L3383 -label L3382 -load 1387 method_name -load 1388 recv_info -load 1389 arg_indices -load 1390 scope_id -call 1391 checker_check_list_method_call int 4 1387 1388 1389 1390 -store result 1391 -load 1392 result -call 1393 checker_method_table_answered bool 1 1392 -brif 1393 L3385 L3386 -label L3385 -load 1394 result -load 1395 method_name -call 1396 pith_cstring_release void 1 1395 -load 1397 recv_node -call 1398 pith_struct_release void 1 1397 -load 1399 arg_indices -call 1400 pith_list_release_handle void 1 1399 -load 1401 recv_name -call 1402 pith_cstring_release void 1 1401 -load 1403 module_path -call 1404 pith_cstring_release void 1 1403 -load 1405 ctor_type_name -call 1406 pith_cstring_release void 1 1405 -load 1407 ctor_info -call 1408 pith_struct_release void 1 1407 -load 1409 gen_ctor_name -call 1410 pith_cstring_release void 1 1409 -load 1411 qualified_name -call 1412 pith_cstring_release void 1 1411 -load 1413 module_name -call 1414 pith_cstring_release void 1 1413 -load 1415 generic_name -call 1416 pith_cstring_release void 1 1415 -load 1417 recv_info -call 1418 pith_struct_release void 1 1417 -load 1419 payload_types -call 1420 pith_list_release_handle void 1 1419 -load 1421 pa_node -call 1422 pith_struct_release void 1 1421 -load 1423 type_name -call 1424 pith_cstring_release void 1 1423 -load 1425 key -call 1426 pith_cstring_release void 1 1425 -load 1427 base_name -call 1428 pith_cstring_release void 1 1427 -load 1429 method_node -call 1430 pith_struct_release void 1 1429 -load 1431 struct_params -call 1432 pith_list_release_handle void 1 1431 -load 1433 struct_args -call 1434 pith_list_release_handle void 1 1433 -load 1435 base -call 1436 pith_cstring_release void 1 1435 -load 1437 sdecl -call 1438 pith_struct_release void 1 1437 -load 1439 assoc_base -call 1440 pith_cstring_release void 1 1439 -load 1441 bkey -call 1442 pith_cstring_release void 1 1441 -load 1443 param_types -call 1444 pith_list_release_handle void 1 1443 -load 1445 arg_node -call 1446 pith_struct_release void 1 1445 -ret 1394 -label L3386 -label L3384 -jmp L3381 -label L3383 -label L3381 -load 1447 recv_info -field 1448 1447 0 string kind -strref 1449 m13s20 -call 1450 pith_cstring_eq bool 2 1448 1449 -call 1451 pith_cstring_release void 1 1449 -brif 1450 L3388 L3389 -label L3388 -load 1452 method_name -load 1453 recv_info -load 1454 arg_indices -load 1455 scope_id -call 1456 checker_check_map_method_call int 4 1452 1453 1454 1455 -store result 1456 -load 1457 result -call 1458 checker_method_table_answered bool 1 1457 -brif 1458 L3391 L3392 -label L3391 -load 1459 result -load 1460 method_name -call 1461 pith_cstring_release void 1 1460 -load 1462 recv_node -call 1463 pith_struct_release void 1 1462 -load 1464 arg_indices -call 1465 pith_list_release_handle void 1 1464 -load 1466 recv_name -call 1467 pith_cstring_release void 1 1466 -load 1468 module_path -call 1469 pith_cstring_release void 1 1468 -load 1470 ctor_type_name -call 1471 pith_cstring_release void 1 1470 -load 1472 ctor_info -call 1473 pith_struct_release void 1 1472 -load 1474 gen_ctor_name -call 1475 pith_cstring_release void 1 1474 -load 1476 qualified_name -call 1477 pith_cstring_release void 1 1476 -load 1478 module_name -call 1479 pith_cstring_release void 1 1478 -load 1480 generic_name -call 1481 pith_cstring_release void 1 1480 -load 1482 recv_info -call 1483 pith_struct_release void 1 1482 -load 1484 payload_types -call 1485 pith_list_release_handle void 1 1484 -load 1486 pa_node -call 1487 pith_struct_release void 1 1486 -load 1488 type_name -call 1489 pith_cstring_release void 1 1488 -load 1490 key -call 1491 pith_cstring_release void 1 1490 -load 1492 base_name -call 1493 pith_cstring_release void 1 1492 -load 1494 method_node -call 1495 pith_struct_release void 1 1494 -load 1496 struct_params -call 1497 pith_list_release_handle void 1 1496 -load 1498 struct_args -call 1499 pith_list_release_handle void 1 1498 -load 1500 base -call 1501 pith_cstring_release void 1 1500 -load 1502 sdecl -call 1503 pith_struct_release void 1 1502 -load 1504 assoc_base -call 1505 pith_cstring_release void 1 1504 -load 1506 bkey -call 1507 pith_cstring_release void 1 1506 -load 1508 param_types -call 1509 pith_list_release_handle void 1 1508 -load 1510 arg_node -call 1511 pith_struct_release void 1 1510 -ret 1459 -label L3392 -label L3390 -jmp L3387 -label L3389 -label L3387 -load 1512 recv_info -field 1513 1512 0 string kind -strref 1514 m13s18 -call 1515 pith_cstring_eq bool 2 1513 1514 -call 1516 pith_cstring_release void 1 1514 -brif 1515 L3394 L3395 -label L3394 -load 1517 method_name -load 1518 recv_info -load 1519 arg_indices -load 1520 scope_id -call 1521 checker_check_set_method_call int 4 1517 1518 1519 1520 -store result 1521 -load 1522 result -call 1523 checker_method_table_answered bool 1 1522 -brif 1523 L3397 L3398 -label L3397 -load 1524 result -load 1525 method_name -call 1526 pith_cstring_release void 1 1525 -load 1527 recv_node -call 1528 pith_struct_release void 1 1527 -load 1529 arg_indices -call 1530 pith_list_release_handle void 1 1529 -load 1531 recv_name -call 1532 pith_cstring_release void 1 1531 -load 1533 module_path -call 1534 pith_cstring_release void 1 1533 -load 1535 ctor_type_name -call 1536 pith_cstring_release void 1 1535 -load 1537 ctor_info -call 1538 pith_struct_release void 1 1537 -load 1539 gen_ctor_name -call 1540 pith_cstring_release void 1 1539 -load 1541 qualified_name -call 1542 pith_cstring_release void 1 1541 -load 1543 module_name -call 1544 pith_cstring_release void 1 1543 -load 1545 generic_name -call 1546 pith_cstring_release void 1 1545 -load 1547 recv_info -call 1548 pith_struct_release void 1 1547 -load 1549 payload_types -call 1550 pith_list_release_handle void 1 1549 -load 1551 pa_node -call 1552 pith_struct_release void 1 1551 -load 1553 type_name -call 1554 pith_cstring_release void 1 1553 -load 1555 key -call 1556 pith_cstring_release void 1 1555 -load 1557 base_name -call 1558 pith_cstring_release void 1 1557 -load 1559 method_node -call 1560 pith_struct_release void 1 1559 -load 1561 struct_params -call 1562 pith_list_release_handle void 1 1561 -load 1563 struct_args -call 1564 pith_list_release_handle void 1 1563 -load 1565 base -call 1566 pith_cstring_release void 1 1565 -load 1567 sdecl -call 1568 pith_struct_release void 1 1567 -load 1569 assoc_base -call 1570 pith_cstring_release void 1 1569 -load 1571 bkey -call 1572 pith_cstring_release void 1 1571 -load 1573 param_types -call 1574 pith_list_release_handle void 1 1573 -load 1575 arg_node -call 1576 pith_struct_release void 1 1575 -ret 1524 -label L3398 -label L3396 -jmp L3393 -label L3395 -label L3393 -load 1577 recv_info -field 1578 1577 0 string kind -strref 1579 m13s24 -call 1580 pith_cstring_eq bool 2 1578 1579 -call 1581 pith_cstring_release void 1 1579 -brif 1580 L3400 L3401 -label L3400 -load 1582 method_name -load 1583 recv_info -load 1584 arg_indices -load 1585 scope_id -call 1586 checker_check_channel_method_call int 4 1582 1583 1584 1585 -store ch_result 1586 -load 1587 ch_result -call 1588 checker_method_table_answered bool 1 1587 -brif 1588 L3403 L3404 -label L3403 -load 1589 ch_result -load 1590 method_name -call 1591 pith_cstring_release void 1 1590 -load 1592 recv_node -call 1593 pith_struct_release void 1 1592 -load 1594 arg_indices -call 1595 pith_list_release_handle void 1 1594 -load 1596 recv_name -call 1597 pith_cstring_release void 1 1596 -load 1598 module_path -call 1599 pith_cstring_release void 1 1598 -load 1600 ctor_type_name -call 1601 pith_cstring_release void 1 1600 -load 1602 ctor_info -call 1603 pith_struct_release void 1 1602 -load 1604 gen_ctor_name -call 1605 pith_cstring_release void 1 1604 -load 1606 qualified_name -call 1607 pith_cstring_release void 1 1606 -load 1608 module_name -call 1609 pith_cstring_release void 1 1608 -load 1610 generic_name -call 1611 pith_cstring_release void 1 1610 -load 1612 recv_info -call 1613 pith_struct_release void 1 1612 -load 1614 payload_types -call 1615 pith_list_release_handle void 1 1614 -load 1616 pa_node -call 1617 pith_struct_release void 1 1616 -load 1618 type_name -call 1619 pith_cstring_release void 1 1618 -load 1620 key -call 1621 pith_cstring_release void 1 1620 -load 1622 base_name -call 1623 pith_cstring_release void 1 1622 -load 1624 method_node -call 1625 pith_struct_release void 1 1624 -load 1626 struct_params -call 1627 pith_list_release_handle void 1 1626 -load 1628 struct_args -call 1629 pith_list_release_handle void 1 1628 -load 1630 base -call 1631 pith_cstring_release void 1 1630 -load 1632 sdecl -call 1633 pith_struct_release void 1 1632 -load 1634 assoc_base -call 1635 pith_cstring_release void 1 1634 -load 1636 bkey -call 1637 pith_cstring_release void 1 1636 -load 1638 param_types -call 1639 pith_list_release_handle void 1 1638 -load 1640 arg_node -call 1641 pith_struct_release void 1 1640 -ret 1589 -label L3404 -label L3402 -jmp L3399 +iconst 734 0 +store __and_734_3401 734 +load 735 receiver_type +call 736 types_is_error_type bool 1 735 +store __and_734_3401 736 +brif 736 L3401 L3402 label L3401 +load 737 recv_node +field 738 737 0 string kind +strref 739 m13s293 +call 740 pith_cstring_eq bool 2 738 739 +call 741 pith_cstring_release void 1 739 +store __and_734_3401 740 +label L3402 +load 742 __and_734_3401 +brif 742 L3399 L3400 label L3399 -load 1642 recv_info -field 1643 1642 0 string kind -strref 1644 m13s26 -call 1645 pith_cstring_eq bool 2 1643 1644 -call 1646 pith_cstring_release void 1 1644 -brif 1645 L3406 L3407 -label L3406 -load 1647 method_name -load 1648 recv_info -load 1649 arg_indices -load 1650 scope_id -call 1651 checker_check_task_method_call int 4 1647 1648 1649 1650 -store task_result 1651 -load 1652 task_result -call 1653 checker_method_table_answered bool 1 1652 -brif 1653 L3409 L3410 -label L3409 -load 1654 task_result -load 1655 method_name -call 1656 pith_cstring_release void 1 1655 -load 1657 recv_node -call 1658 pith_struct_release void 1 1657 -load 1659 arg_indices -call 1660 pith_list_release_handle void 1 1659 -load 1661 recv_name -call 1662 pith_cstring_release void 1 1661 -load 1663 module_path -call 1664 pith_cstring_release void 1 1663 -load 1665 ctor_type_name -call 1666 pith_cstring_release void 1 1665 -load 1667 ctor_info -call 1668 pith_struct_release void 1 1667 -load 1669 gen_ctor_name -call 1670 pith_cstring_release void 1 1669 -load 1671 qualified_name -call 1672 pith_cstring_release void 1 1671 -load 1673 module_name -call 1674 pith_cstring_release void 1 1673 -load 1675 generic_name -call 1676 pith_cstring_release void 1 1675 -load 1677 recv_info -call 1678 pith_struct_release void 1 1677 -load 1679 payload_types -call 1680 pith_list_release_handle void 1 1679 -load 1681 pa_node -call 1682 pith_struct_release void 1 1681 -load 1683 type_name -call 1684 pith_cstring_release void 1 1683 -load 1685 key -call 1686 pith_cstring_release void 1 1685 -load 1687 base_name -call 1688 pith_cstring_release void 1 1687 -load 1689 method_node -call 1690 pith_struct_release void 1 1689 -load 1691 struct_params -call 1692 pith_list_release_handle void 1 1691 -load 1693 struct_args -call 1694 pith_list_release_handle void 1 1693 -load 1695 base -call 1696 pith_cstring_release void 1 1695 -load 1697 sdecl -call 1698 pith_struct_release void 1 1697 -load 1699 assoc_base -call 1700 pith_cstring_release void 1 1699 -load 1701 bkey -call 1702 pith_cstring_release void 1 1701 -load 1703 param_types -call 1704 pith_list_release_handle void 1 1703 -load 1705 arg_node -call 1706 pith_struct_release void 1 1705 -ret 1654 -label L3410 -label L3408 -jmp L3405 -label L3407 +load 743 recv_node +field 744 743 8 string value +load 745 method_name +load 746 arg_indices +load 747 scope_id +load 748 node +field 749 748 16 list children +iconst 750 0 +call 751 pith_list_get_value_strict int 2 749 750 +call 752 checker_refine_empty_literal_binding int 5 744 745 746 747 751 +store receiver_type 752 +jmp L3398 +label L3400 +label L3398 +load 753 receiver_type +call 754 types_is_error_type bool 1 753 +brif 754 L3404 L3405 +label L3404 +load 755 types_TID_ERR +load 756 method_name +call 757 pith_cstring_release void 1 756 +load 758 recv_node +call 759 pith_struct_release void 1 758 +load 760 arg_indices +call 761 pith_list_release_handle void 1 760 +load 762 recv_name +call 763 pith_cstring_release void 1 762 +load 764 module_path +call 765 pith_cstring_release void 1 764 +load 766 ctor_type_name +call 767 pith_cstring_release void 1 766 +load 768 ctor_info +call 769 pith_struct_release void 1 768 +load 770 gen_ctor_name +call 771 pith_cstring_release void 1 770 +load 772 qualified_name +call 773 pith_cstring_release void 1 772 +load 774 module_name +call 775 pith_cstring_release void 1 774 +load 776 generic_name +call 777 pith_cstring_release void 1 776 +load 778 recv_info +call 779 pith_struct_release void 1 778 +load 780 payload_types +call 781 pith_list_release_handle void 1 780 +load 782 pa_node +call 783 pith_struct_release void 1 782 +load 784 type_name +call 785 pith_cstring_release void 1 784 +load 786 key +call 787 pith_cstring_release void 1 786 +load 788 base_name +call 789 pith_cstring_release void 1 788 +load 790 method_node +call 791 pith_struct_release void 1 790 +load 792 struct_params +call 793 pith_list_release_handle void 1 792 +load 794 struct_args +call 795 pith_list_release_handle void 1 794 +load 796 base +call 797 pith_cstring_release void 1 796 +load 798 sdecl +call 799 pith_struct_release void 1 798 +load 800 assoc_base +call 801 pith_cstring_release void 1 800 +load 802 bkey +call 803 pith_cstring_release void 1 802 +load 804 param_types +call 805 pith_list_release_handle void 1 804 +load 806 arg_node +call 807 pith_struct_release void 1 806 +ret 755 label L3405 -load 1707 recv_info -field 1708 1707 0 string kind -strref 1709 m13s34 -call 1710 pith_cstring_eq bool 2 1708 1709 -call 1711 pith_cstring_release void 1 1709 -brif 1710 L3412 L3413 -label L3412 -load 1712 recv_info -field 1713 1712 8 string name -load 1714 method_name -load 1715 arg_indices -load 1716 scope_id -call 1717 checker_check_sync_primitive_method_call int 4 1713 1714 1715 1716 -store sync_result 1717 -load 1718 sync_result -call 1719 checker_method_table_answered bool 1 1718 -brif 1719 L3415 L3416 -label L3415 -load 1720 sync_result -load 1721 method_name -call 1722 pith_cstring_release void 1 1721 -load 1723 recv_node -call 1724 pith_struct_release void 1 1723 -load 1725 arg_indices -call 1726 pith_list_release_handle void 1 1725 -load 1727 recv_name -call 1728 pith_cstring_release void 1 1727 -load 1729 module_path -call 1730 pith_cstring_release void 1 1729 -load 1731 ctor_type_name -call 1732 pith_cstring_release void 1 1731 -load 1733 ctor_info -call 1734 pith_struct_release void 1 1733 -load 1735 gen_ctor_name -call 1736 pith_cstring_release void 1 1735 -load 1737 qualified_name -call 1738 pith_cstring_release void 1 1737 -load 1739 module_name -call 1740 pith_cstring_release void 1 1739 -load 1741 generic_name -call 1742 pith_cstring_release void 1 1741 -load 1743 recv_info -call 1744 pith_struct_release void 1 1743 -load 1745 payload_types -call 1746 pith_list_release_handle void 1 1745 -load 1747 pa_node -call 1748 pith_struct_release void 1 1747 -load 1749 type_name -call 1750 pith_cstring_release void 1 1749 -load 1751 key -call 1752 pith_cstring_release void 1 1751 -load 1753 base_name -call 1754 pith_cstring_release void 1 1753 -load 1755 method_node -call 1756 pith_struct_release void 1 1755 -load 1757 struct_params -call 1758 pith_list_release_handle void 1 1757 -load 1759 struct_args -call 1760 pith_list_release_handle void 1 1759 -load 1761 base -call 1762 pith_cstring_release void 1 1761 -load 1763 sdecl -call 1764 pith_struct_release void 1 1763 -load 1765 assoc_base -call 1766 pith_cstring_release void 1 1765 -load 1767 bkey -call 1768 pith_cstring_release void 1 1767 -load 1769 param_types -call 1770 pith_list_release_handle void 1 1769 -load 1771 arg_node -call 1772 pith_struct_release void 1 1771 -ret 1720 +label L3403 +load 808 recv_info +load 809 receiver_type +call 810 types_get_type_info struct:TypeInfo 1 809 +call 811 pith_struct_release void 1 808 +store recv_info 810 +load 812 receiver_type +store dispatch_type 812 +load 813 recv_info +field 814 813 0 string kind +strref 815 m13s29 +call 816 pith_cstring_eq bool 2 814 815 +call 817 pith_cstring_release void 1 815 +brif 816 L3407 L3408 +label L3407 +load 818 method_name +strref 819 m13s76 +call 820 pith_cstring_eq bool 2 818 819 +call 821 pith_cstring_release void 1 819 +brif 820 L3410 L3411 +label L3410 +load 822 method_name +load 823 arg_indices +call 824 checker_expect_no_arguments void 2 822 823 +load 825 recv_info +field 826 825 64 int inner +load 827 method_name +call 828 pith_cstring_release void 1 827 +load 829 recv_node +call 830 pith_struct_release void 1 829 +load 831 arg_indices +call 832 pith_list_release_handle void 1 831 +load 833 recv_name +call 834 pith_cstring_release void 1 833 +load 835 module_path +call 836 pith_cstring_release void 1 835 +load 837 ctor_type_name +call 838 pith_cstring_release void 1 837 +load 839 ctor_info +call 840 pith_struct_release void 1 839 +load 841 gen_ctor_name +call 842 pith_cstring_release void 1 841 +load 843 qualified_name +call 844 pith_cstring_release void 1 843 +load 845 module_name +call 846 pith_cstring_release void 1 845 +load 847 generic_name +call 848 pith_cstring_release void 1 847 +load 849 recv_info +call 850 pith_struct_release void 1 849 +load 851 payload_types +call 852 pith_list_release_handle void 1 851 +load 853 pa_node +call 854 pith_struct_release void 1 853 +load 855 type_name +call 856 pith_cstring_release void 1 855 +load 857 key +call 858 pith_cstring_release void 1 857 +load 859 base_name +call 860 pith_cstring_release void 1 859 +load 861 method_node +call 862 pith_struct_release void 1 861 +load 863 struct_params +call 864 pith_list_release_handle void 1 863 +load 865 struct_args +call 866 pith_list_release_handle void 1 865 +load 867 base +call 868 pith_cstring_release void 1 867 +load 869 sdecl +call 870 pith_struct_release void 1 869 +load 871 assoc_base +call 872 pith_cstring_release void 1 871 +load 873 bkey +call 874 pith_cstring_release void 1 873 +load 875 param_types +call 876 pith_list_release_handle void 1 875 +load 877 arg_node +call 878 pith_struct_release void 1 877 +ret 826 +label L3411 +label L3409 +load 879 method_name +strref 880 m13s528 +call 881 pith_cstring_eq bool 2 879 880 +call 882 pith_cstring_release void 1 880 +brif 881 L3413 L3414 +label L3413 +load 883 arg_indices +call 884 pith_list_len int 1 883 +iconst 885 1 +neq 886 884 885 +brif 886 L3416 L3417 label L3416 +strref 887 m13s307 +strref 888 m13s527 +load 889 arg_indices +call 890 pith_list_len int 1 889 +call 891 int_to_string string 1 890 +concat 892 888 891 +call 893 pith_cstring_release void 1 888 +call 894 pith_cstring_release void 1 891 +call 895 checker_diagnostics_report_error void 2 887 892 +call 896 pith_cstring_release void 1 887 +call 897 pith_cstring_release void 1 892 +load 898 recv_info +field 899 898 64 int inner +load 900 method_name +call 901 pith_cstring_release void 1 900 +load 902 recv_node +call 903 pith_struct_release void 1 902 +load 904 arg_indices +call 905 pith_list_release_handle void 1 904 +load 906 recv_name +call 907 pith_cstring_release void 1 906 +load 908 module_path +call 909 pith_cstring_release void 1 908 +load 910 ctor_type_name +call 911 pith_cstring_release void 1 910 +load 912 ctor_info +call 913 pith_struct_release void 1 912 +load 914 gen_ctor_name +call 915 pith_cstring_release void 1 914 +load 916 qualified_name +call 917 pith_cstring_release void 1 916 +load 918 module_name +call 919 pith_cstring_release void 1 918 +load 920 generic_name +call 921 pith_cstring_release void 1 920 +load 922 recv_info +call 923 pith_struct_release void 1 922 +load 924 payload_types +call 925 pith_list_release_handle void 1 924 +load 926 pa_node +call 927 pith_struct_release void 1 926 +load 928 type_name +call 929 pith_cstring_release void 1 928 +load 930 key +call 931 pith_cstring_release void 1 930 +load 932 base_name +call 933 pith_cstring_release void 1 932 +load 934 method_node +call 935 pith_struct_release void 1 934 +load 936 struct_params +call 937 pith_list_release_handle void 1 936 +load 938 struct_args +call 939 pith_list_release_handle void 1 938 +load 940 base +call 941 pith_cstring_release void 1 940 +load 942 sdecl +call 943 pith_struct_release void 1 942 +load 944 assoc_base +call 945 pith_cstring_release void 1 944 +load 946 bkey +call 947 pith_cstring_release void 1 946 +load 948 param_types +call 949 pith_list_release_handle void 1 948 +load 950 arg_node +call 951 pith_struct_release void 1 950 +ret 899 +label L3417 +label L3415 +load 952 arg_indices +iconst 953 0 +call 954 pith_list_get_value_strict int 2 952 953 +load 955 recv_info +field 956 955 64 int inner +load 957 scope_id +call 958 checker_check_argument_type void 3 954 956 957 +load 959 recv_info +field 960 959 64 int inner +load 961 method_name +call 962 pith_cstring_release void 1 961 +load 963 recv_node +call 964 pith_struct_release void 1 963 +load 965 arg_indices +call 966 pith_list_release_handle void 1 965 +load 967 recv_name +call 968 pith_cstring_release void 1 967 +load 969 module_path +call 970 pith_cstring_release void 1 969 +load 971 ctor_type_name +call 972 pith_cstring_release void 1 971 +load 973 ctor_info +call 974 pith_struct_release void 1 973 +load 975 gen_ctor_name +call 976 pith_cstring_release void 1 975 +load 977 qualified_name +call 978 pith_cstring_release void 1 977 +load 979 module_name +call 980 pith_cstring_release void 1 979 +load 981 generic_name +call 982 pith_cstring_release void 1 981 +load 983 recv_info +call 984 pith_struct_release void 1 983 +load 985 payload_types +call 986 pith_list_release_handle void 1 985 +load 987 pa_node +call 988 pith_struct_release void 1 987 +load 989 type_name +call 990 pith_cstring_release void 1 989 +load 991 key +call 992 pith_cstring_release void 1 991 +load 993 base_name +call 994 pith_cstring_release void 1 993 +load 995 method_node +call 996 pith_struct_release void 1 995 +load 997 struct_params +call 998 pith_list_release_handle void 1 997 +load 999 struct_args +call 1000 pith_list_release_handle void 1 999 +load 1001 base +call 1002 pith_cstring_release void 1 1001 +load 1003 sdecl +call 1004 pith_struct_release void 1 1003 +load 1005 assoc_base +call 1006 pith_cstring_release void 1 1005 +load 1007 bkey +call 1008 pith_cstring_release void 1 1007 +load 1009 param_types +call 1010 pith_list_release_handle void 1 1009 +load 1011 arg_node +call 1012 pith_struct_release void 1 1011 +ret 960 label L3414 -jmp L3411 -label L3413 -label L3411 -load 1773 recv_info -field 1774 1773 0 string kind -strref 1775 m13s33 -call 1776 pith_cstring_eq bool 2 1774 1775 -call 1777 pith_cstring_release void 1 1775 -brif 1776 L3418 L3419 +label L3412 +load 1013 recv_info +field 1014 1013 64 int inner +store dispatch_type 1014 +load 1015 recv_info +load 1016 dispatch_type +call 1017 types_get_type_info struct:TypeInfo 1 1016 +call 1018 pith_struct_release void 1 1015 +store recv_info 1017 +jmp L3406 +label L3408 +load 1019 recv_info +field 1020 1019 0 string kind +strref 1021 m13s28 +call 1022 pith_cstring_eq bool 2 1020 1021 +call 1023 pith_cstring_release void 1 1021 +brif 1022 L3418 L3419 label L3418 -iconst 1778 0 -store vi 1778 -label L3420 -load 1779 vi -load 1780 recv_info -field 1781 1780 96 list_string variants -call 1782 pith_list_len int 1 1781 -lt 1783 1779 1782 -brif 1783 L3421 L3422 +load 1024 method_name +load 1025 recv_info +load 1026 arg_indices +load 1027 scope_id +call 1028 checker_check_result_method_call int 4 1024 1025 1026 1027 +store result_method 1028 +load 1029 result_method +call 1030 types_is_error_type bool 1 1029 +iconst 1031 0 +eq 1032 1030 1031 +brif 1032 L3421 L3422 label L3421 -load 1784 recv_info -field 1785 1784 96 list_string variants -load 1786 vi -call 1787 pith_list_get_value_strict string 2 1785 1786 -load 1788 method_name -call 1789 pith_cstring_eq bool 2 1787 1788 -brif 1789 L3424 L3425 +load 1033 result_method +load 1034 method_name +call 1035 pith_cstring_release void 1 1034 +load 1036 recv_node +call 1037 pith_struct_release void 1 1036 +load 1038 arg_indices +call 1039 pith_list_release_handle void 1 1038 +load 1040 recv_name +call 1041 pith_cstring_release void 1 1040 +load 1042 module_path +call 1043 pith_cstring_release void 1 1042 +load 1044 ctor_type_name +call 1045 pith_cstring_release void 1 1044 +load 1046 ctor_info +call 1047 pith_struct_release void 1 1046 +load 1048 gen_ctor_name +call 1049 pith_cstring_release void 1 1048 +load 1050 qualified_name +call 1051 pith_cstring_release void 1 1050 +load 1052 module_name +call 1053 pith_cstring_release void 1 1052 +load 1054 generic_name +call 1055 pith_cstring_release void 1 1054 +load 1056 recv_info +call 1057 pith_struct_release void 1 1056 +load 1058 payload_types +call 1059 pith_list_release_handle void 1 1058 +load 1060 pa_node +call 1061 pith_struct_release void 1 1060 +load 1062 type_name +call 1063 pith_cstring_release void 1 1062 +load 1064 key +call 1065 pith_cstring_release void 1 1064 +load 1066 base_name +call 1067 pith_cstring_release void 1 1066 +load 1068 method_node +call 1069 pith_struct_release void 1 1068 +load 1070 struct_params +call 1071 pith_list_release_handle void 1 1070 +load 1072 struct_args +call 1073 pith_list_release_handle void 1 1072 +load 1074 base +call 1075 pith_cstring_release void 1 1074 +load 1076 sdecl +call 1077 pith_struct_release void 1 1076 +load 1078 assoc_base +call 1079 pith_cstring_release void 1 1078 +load 1080 bkey +call 1081 pith_cstring_release void 1 1080 +load 1082 param_types +call 1083 pith_list_release_handle void 1 1082 +load 1084 arg_node +call 1085 pith_struct_release void 1 1084 +ret 1033 +label L3422 +label L3420 +load 1086 recv_info +field 1087 1086 64 int inner +store dispatch_type 1087 +load 1088 recv_info +load 1089 dispatch_type +call 1090 types_get_type_info struct:TypeInfo 1 1089 +call 1091 pith_struct_release void 1 1088 +store recv_info 1090 +jmp L3406 +label L3419 +label L3406 +strref 1092 m13s11 +call 1093 types_lookup_type_id int 1 1092 +call 1094 pith_cstring_release void 1 1092 +store tid_string 1093 +strref 1095 m13s10 +call 1096 types_lookup_type_id int 1 1095 +call 1097 pith_cstring_release void 1 1095 +store tid_bytes 1096 +strref 1098 m13s15 +call 1099 types_lookup_type_id int 1 1098 +call 1100 pith_cstring_release void 1 1098 +store tid_int 1099 +strref 1101 m13s13 +call 1102 types_lookup_type_id int 1 1101 +call 1103 pith_cstring_release void 1 1101 +store tid_float 1102 +strref 1104 m13s12 +call 1105 types_lookup_type_id int 1 1104 +call 1106 pith_cstring_release void 1 1104 +store tid_bool 1105 +load 1107 dispatch_type +load 1108 tid_string +eq 1109 1107 1108 +brif 1109 L3424 L3425 label L3424 -load 1790 payload_types -load 1791 recv_info -field 1792 1791 104 list variant_types -load 1793 vi -call 1794 pith_list_get_value_strict list 2 1792 1793 -call 1795 pith_list_retain_handle void 1 1794 -call 1796 pith_list_release_handle void 1 1790 -store payload_types 1794 -load 1797 arg_indices -call 1798 pith_list_len int 1 1797 -load 1799 payload_types -call 1800 pith_list_len int 1 1799 -neq 1801 1798 1800 -brif 1801 L3427 L3428 +load 1110 method_name +load 1111 arg_indices +load 1112 scope_id +call 1113 checker_check_string_method_call int 3 1110 1111 1112 +load 1114 method_name +call 1115 pith_cstring_release void 1 1114 +load 1116 recv_node +call 1117 pith_struct_release void 1 1116 +load 1118 arg_indices +call 1119 pith_list_release_handle void 1 1118 +load 1120 recv_name +call 1121 pith_cstring_release void 1 1120 +load 1122 module_path +call 1123 pith_cstring_release void 1 1122 +load 1124 ctor_type_name +call 1125 pith_cstring_release void 1 1124 +load 1126 ctor_info +call 1127 pith_struct_release void 1 1126 +load 1128 gen_ctor_name +call 1129 pith_cstring_release void 1 1128 +load 1130 qualified_name +call 1131 pith_cstring_release void 1 1130 +load 1132 module_name +call 1133 pith_cstring_release void 1 1132 +load 1134 generic_name +call 1135 pith_cstring_release void 1 1134 +load 1136 recv_info +call 1137 pith_struct_release void 1 1136 +load 1138 payload_types +call 1139 pith_list_release_handle void 1 1138 +load 1140 pa_node +call 1141 pith_struct_release void 1 1140 +load 1142 type_name +call 1143 pith_cstring_release void 1 1142 +load 1144 key +call 1145 pith_cstring_release void 1 1144 +load 1146 base_name +call 1147 pith_cstring_release void 1 1146 +load 1148 method_node +call 1149 pith_struct_release void 1 1148 +load 1150 struct_params +call 1151 pith_list_release_handle void 1 1150 +load 1152 struct_args +call 1153 pith_list_release_handle void 1 1152 +load 1154 base +call 1155 pith_cstring_release void 1 1154 +load 1156 sdecl +call 1157 pith_struct_release void 1 1156 +load 1158 assoc_base +call 1159 pith_cstring_release void 1 1158 +load 1160 bkey +call 1161 pith_cstring_release void 1 1160 +load 1162 param_types +call 1163 pith_list_release_handle void 1 1162 +load 1164 arg_node +call 1165 pith_struct_release void 1 1164 +ret 1113 +label L3425 +label L3423 +load 1166 dispatch_type +load 1167 tid_bytes +eq 1168 1166 1167 +brif 1168 L3427 L3428 label L3427 -strref 1802 m13s307 -load 1803 method_name -strref 1804 m13s549 -concat 1805 1803 1804 -call 1806 pith_cstring_release void 1 1804 -load 1807 payload_types -call 1808 pith_list_len int 1 1807 -call 1809 int_to_string string 1 1808 -concat 1810 1805 1809 -call 1811 pith_cstring_release void 1 1805 -call 1812 pith_cstring_release void 1 1809 -strref 1813 m13s548 -concat 1814 1810 1813 -call 1815 pith_cstring_release void 1 1810 -call 1816 pith_cstring_release void 1 1813 -load 1817 arg_indices -call 1818 pith_list_len int 1 1817 -call 1819 int_to_string string 1 1818 -concat 1820 1814 1819 -call 1821 pith_cstring_release void 1 1814 -call 1822 pith_cstring_release void 1 1819 -call 1823 checker_diagnostics_report_error void 2 1802 1820 -call 1824 pith_cstring_release void 1 1802 -call 1825 pith_cstring_release void 1 1820 -load 1826 types_TID_ERR -load 1827 method_name -call 1828 pith_cstring_release void 1 1827 -load 1829 recv_node -call 1830 pith_struct_release void 1 1829 -load 1831 arg_indices -call 1832 pith_list_release_handle void 1 1831 -load 1833 recv_name -call 1834 pith_cstring_release void 1 1833 -load 1835 module_path -call 1836 pith_cstring_release void 1 1835 -load 1837 ctor_type_name -call 1838 pith_cstring_release void 1 1837 -load 1839 ctor_info -call 1840 pith_struct_release void 1 1839 -load 1841 gen_ctor_name -call 1842 pith_cstring_release void 1 1841 -load 1843 qualified_name -call 1844 pith_cstring_release void 1 1843 -load 1845 module_name -call 1846 pith_cstring_release void 1 1845 -load 1847 generic_name -call 1848 pith_cstring_release void 1 1847 -load 1849 recv_info -call 1850 pith_struct_release void 1 1849 -load 1851 payload_types -call 1852 pith_list_release_handle void 1 1851 -load 1853 pa_node -call 1854 pith_struct_release void 1 1853 -load 1855 type_name -call 1856 pith_cstring_release void 1 1855 -load 1857 key -call 1858 pith_cstring_release void 1 1857 -load 1859 base_name -call 1860 pith_cstring_release void 1 1859 -load 1861 method_node -call 1862 pith_struct_release void 1 1861 -load 1863 struct_params -call 1864 pith_list_release_handle void 1 1863 -load 1865 struct_args -call 1866 pith_list_release_handle void 1 1865 -load 1867 base -call 1868 pith_cstring_release void 1 1867 -load 1869 sdecl -call 1870 pith_struct_release void 1 1869 -load 1871 assoc_base -call 1872 pith_cstring_release void 1 1871 -load 1873 bkey -call 1874 pith_cstring_release void 1 1873 -load 1875 param_types -call 1876 pith_list_release_handle void 1 1875 -load 1877 arg_node -call 1878 pith_struct_release void 1 1877 -ret 1826 +load 1169 method_name +load 1170 arg_indices +load 1171 scope_id +call 1172 checker_check_bytes_method_call int 3 1169 1170 1171 +load 1173 method_name +call 1174 pith_cstring_release void 1 1173 +load 1175 recv_node +call 1176 pith_struct_release void 1 1175 +load 1177 arg_indices +call 1178 pith_list_release_handle void 1 1177 +load 1179 recv_name +call 1180 pith_cstring_release void 1 1179 +load 1181 module_path +call 1182 pith_cstring_release void 1 1181 +load 1183 ctor_type_name +call 1184 pith_cstring_release void 1 1183 +load 1185 ctor_info +call 1186 pith_struct_release void 1 1185 +load 1187 gen_ctor_name +call 1188 pith_cstring_release void 1 1187 +load 1189 qualified_name +call 1190 pith_cstring_release void 1 1189 +load 1191 module_name +call 1192 pith_cstring_release void 1 1191 +load 1193 generic_name +call 1194 pith_cstring_release void 1 1193 +load 1195 recv_info +call 1196 pith_struct_release void 1 1195 +load 1197 payload_types +call 1198 pith_list_release_handle void 1 1197 +load 1199 pa_node +call 1200 pith_struct_release void 1 1199 +load 1201 type_name +call 1202 pith_cstring_release void 1 1201 +load 1203 key +call 1204 pith_cstring_release void 1 1203 +load 1205 base_name +call 1206 pith_cstring_release void 1 1205 +load 1207 method_node +call 1208 pith_struct_release void 1 1207 +load 1209 struct_params +call 1210 pith_list_release_handle void 1 1209 +load 1211 struct_args +call 1212 pith_list_release_handle void 1 1211 +load 1213 base +call 1214 pith_cstring_release void 1 1213 +load 1215 sdecl +call 1216 pith_struct_release void 1 1215 +load 1217 assoc_base +call 1218 pith_cstring_release void 1 1217 +load 1219 bkey +call 1220 pith_cstring_release void 1 1219 +load 1221 param_types +call 1222 pith_list_release_handle void 1 1221 +load 1223 arg_node +call 1224 pith_struct_release void 1 1223 +ret 1172 label L3428 label L3426 -iconst 1879 0 -store pi 1879 -load 1880 arg_indices -call 1881 pith_auto_len int 1 1880 -iconst 1882 0 -store __for_idx_175 1882 -store __for_len_175 1881 -store __for_iter_175 1880 -label L3429 -load 1883 __for_idx_175 -load 1884 __for_len_175 -lt 1885 1883 1884 -brif 1885 L3430 L3432 +load 1225 dispatch_type +call 1226 types_is_integer_type bool 1 1225 +brif 1226 L3430 L3431 label L3430 -load 1886 __for_iter_175 -load 1887 __for_idx_175 -call 1888 pith_list_get_value unknown 2 1886 1887 -store __loopvar_175_pai 1888 -load 1889 pa_node -load 1890 __loopvar_175_pai -call 1891 ast_get_node struct:Node 1 1890 -call 1892 pith_struct_release void 1 1889 -store pa_node 1891 -load 1893 __loopvar_175_pai -store pa_expr 1893 -load 1894 pa_node -field 1895 1894 0 string kind -strref 1896 m13s298 -call 1897 pith_cstring_eq bool 2 1895 1896 -call 1898 pith_cstring_release void 1 1896 -brif 1897 L3434 L3435 +load 1227 method_name +load 1228 arg_indices +load 1229 scope_id +call 1230 checker_check_int_method_call int 3 1227 1228 1229 +load 1231 method_name +call 1232 pith_cstring_release void 1 1231 +load 1233 recv_node +call 1234 pith_struct_release void 1 1233 +load 1235 arg_indices +call 1236 pith_list_release_handle void 1 1235 +load 1237 recv_name +call 1238 pith_cstring_release void 1 1237 +load 1239 module_path +call 1240 pith_cstring_release void 1 1239 +load 1241 ctor_type_name +call 1242 pith_cstring_release void 1 1241 +load 1243 ctor_info +call 1244 pith_struct_release void 1 1243 +load 1245 gen_ctor_name +call 1246 pith_cstring_release void 1 1245 +load 1247 qualified_name +call 1248 pith_cstring_release void 1 1247 +load 1249 module_name +call 1250 pith_cstring_release void 1 1249 +load 1251 generic_name +call 1252 pith_cstring_release void 1 1251 +load 1253 recv_info +call 1254 pith_struct_release void 1 1253 +load 1255 payload_types +call 1256 pith_list_release_handle void 1 1255 +load 1257 pa_node +call 1258 pith_struct_release void 1 1257 +load 1259 type_name +call 1260 pith_cstring_release void 1 1259 +load 1261 key +call 1262 pith_cstring_release void 1 1261 +load 1263 base_name +call 1264 pith_cstring_release void 1 1263 +load 1265 method_node +call 1266 pith_struct_release void 1 1265 +load 1267 struct_params +call 1268 pith_list_release_handle void 1 1267 +load 1269 struct_args +call 1270 pith_list_release_handle void 1 1269 +load 1271 base +call 1272 pith_cstring_release void 1 1271 +load 1273 sdecl +call 1274 pith_struct_release void 1 1273 +load 1275 assoc_base +call 1276 pith_cstring_release void 1 1275 +load 1277 bkey +call 1278 pith_cstring_release void 1 1277 +load 1279 param_types +call 1280 pith_list_release_handle void 1 1279 +load 1281 arg_node +call 1282 pith_struct_release void 1 1281 +ret 1230 +label L3431 +label L3429 +load 1283 dispatch_type +load 1284 tid_float +eq 1285 1283 1284 +brif 1285 L3433 L3434 +label L3433 +load 1286 method_name +load 1287 arg_indices +load 1288 scope_id +call 1289 checker_check_float_method_call int 3 1286 1287 1288 +load 1290 method_name +call 1291 pith_cstring_release void 1 1290 +load 1292 recv_node +call 1293 pith_struct_release void 1 1292 +load 1294 arg_indices +call 1295 pith_list_release_handle void 1 1294 +load 1296 recv_name +call 1297 pith_cstring_release void 1 1296 +load 1298 module_path +call 1299 pith_cstring_release void 1 1298 +load 1300 ctor_type_name +call 1301 pith_cstring_release void 1 1300 +load 1302 ctor_info +call 1303 pith_struct_release void 1 1302 +load 1304 gen_ctor_name +call 1305 pith_cstring_release void 1 1304 +load 1306 qualified_name +call 1307 pith_cstring_release void 1 1306 +load 1308 module_name +call 1309 pith_cstring_release void 1 1308 +load 1310 generic_name +call 1311 pith_cstring_release void 1 1310 +load 1312 recv_info +call 1313 pith_struct_release void 1 1312 +load 1314 payload_types +call 1315 pith_list_release_handle void 1 1314 +load 1316 pa_node +call 1317 pith_struct_release void 1 1316 +load 1318 type_name +call 1319 pith_cstring_release void 1 1318 +load 1320 key +call 1321 pith_cstring_release void 1 1320 +load 1322 base_name +call 1323 pith_cstring_release void 1 1322 +load 1324 method_node +call 1325 pith_struct_release void 1 1324 +load 1326 struct_params +call 1327 pith_list_release_handle void 1 1326 +load 1328 struct_args +call 1329 pith_list_release_handle void 1 1328 +load 1330 base +call 1331 pith_cstring_release void 1 1330 +load 1332 sdecl +call 1333 pith_struct_release void 1 1332 +load 1334 assoc_base +call 1335 pith_cstring_release void 1 1334 +load 1336 bkey +call 1337 pith_cstring_release void 1 1336 +load 1338 param_types +call 1339 pith_list_release_handle void 1 1338 +load 1340 arg_node +call 1341 pith_struct_release void 1 1340 +ret 1289 label L3434 -load 1899 pa_node -field 1900 1899 16 list children -call 1901 pith_list_len int 1 1900 -iconst 1902 0 -gt 1903 1901 1902 -brif 1903 L3437 L3438 -label L3437 -load 1904 pa_node -field 1905 1904 16 list children -iconst 1906 0 -call 1907 pith_list_get_value_strict int 2 1905 1906 -store pa_expr 1907 -jmp L3436 -label L3438 +label L3432 +load 1342 dispatch_type +load 1343 tid_bool +eq 1344 1342 1343 +brif 1344 L3436 L3437 label L3436 -jmp L3433 +load 1345 method_name +load 1346 arg_indices +load 1347 scope_id +call 1348 checker_check_bool_method_call int 3 1345 1346 1347 +load 1349 method_name +call 1350 pith_cstring_release void 1 1349 +load 1351 recv_node +call 1352 pith_struct_release void 1 1351 +load 1353 arg_indices +call 1354 pith_list_release_handle void 1 1353 +load 1355 recv_name +call 1356 pith_cstring_release void 1 1355 +load 1357 module_path +call 1358 pith_cstring_release void 1 1357 +load 1359 ctor_type_name +call 1360 pith_cstring_release void 1 1359 +load 1361 ctor_info +call 1362 pith_struct_release void 1 1361 +load 1363 gen_ctor_name +call 1364 pith_cstring_release void 1 1363 +load 1365 qualified_name +call 1366 pith_cstring_release void 1 1365 +load 1367 module_name +call 1368 pith_cstring_release void 1 1367 +load 1369 generic_name +call 1370 pith_cstring_release void 1 1369 +load 1371 recv_info +call 1372 pith_struct_release void 1 1371 +load 1373 payload_types +call 1374 pith_list_release_handle void 1 1373 +load 1375 pa_node +call 1376 pith_struct_release void 1 1375 +load 1377 type_name +call 1378 pith_cstring_release void 1 1377 +load 1379 key +call 1380 pith_cstring_release void 1 1379 +load 1381 base_name +call 1382 pith_cstring_release void 1 1381 +load 1383 method_node +call 1384 pith_struct_release void 1 1383 +load 1385 struct_params +call 1386 pith_list_release_handle void 1 1385 +load 1387 struct_args +call 1388 pith_list_release_handle void 1 1387 +load 1389 base +call 1390 pith_cstring_release void 1 1389 +load 1391 sdecl +call 1392 pith_struct_release void 1 1391 +load 1393 assoc_base +call 1394 pith_cstring_release void 1 1393 +load 1395 bkey +call 1396 pith_cstring_release void 1 1395 +load 1397 param_types +call 1398 pith_list_release_handle void 1 1397 +load 1399 arg_node +call 1400 pith_struct_release void 1 1399 +ret 1348 +label L3437 label L3435 -label L3433 -load 1908 pa_expr -load 1909 scope_id -call 1910 checker_c_check_expr int 2 1908 1909 -store pa_type 1910 -iconst 1911 0 -store __and_1911_3442 1911 -load 1912 pa_type -call 1913 types_is_error_type bool 1 1912 -iconst 1914 0 -eq 1915 1913 1914 -store __and_1911_3442 1915 -brif 1915 L3442 L3443 +load 1401 recv_info +field 1402 1401 0 string kind +strref 1403 m13s22 +call 1404 pith_cstring_eq bool 2 1402 1403 +call 1405 pith_cstring_release void 1 1403 +brif 1404 L3439 L3440 +label L3439 +load 1406 method_name +load 1407 recv_info +load 1408 arg_indices +load 1409 scope_id +call 1410 checker_check_list_method_call int 4 1406 1407 1408 1409 +store result 1410 +load 1411 result +call 1412 checker_method_table_answered bool 1 1411 +brif 1412 L3442 L3443 label L3442 -load 1916 pi -load 1917 payload_types -call 1918 pith_list_len int 1 1917 -lt 1919 1916 1918 -store __and_1911_3442 1919 +load 1413 result +load 1414 method_name +call 1415 pith_cstring_release void 1 1414 +load 1416 recv_node +call 1417 pith_struct_release void 1 1416 +load 1418 arg_indices +call 1419 pith_list_release_handle void 1 1418 +load 1420 recv_name +call 1421 pith_cstring_release void 1 1420 +load 1422 module_path +call 1423 pith_cstring_release void 1 1422 +load 1424 ctor_type_name +call 1425 pith_cstring_release void 1 1424 +load 1426 ctor_info +call 1427 pith_struct_release void 1 1426 +load 1428 gen_ctor_name +call 1429 pith_cstring_release void 1 1428 +load 1430 qualified_name +call 1431 pith_cstring_release void 1 1430 +load 1432 module_name +call 1433 pith_cstring_release void 1 1432 +load 1434 generic_name +call 1435 pith_cstring_release void 1 1434 +load 1436 recv_info +call 1437 pith_struct_release void 1 1436 +load 1438 payload_types +call 1439 pith_list_release_handle void 1 1438 +load 1440 pa_node +call 1441 pith_struct_release void 1 1440 +load 1442 type_name +call 1443 pith_cstring_release void 1 1442 +load 1444 key +call 1445 pith_cstring_release void 1 1444 +load 1446 base_name +call 1447 pith_cstring_release void 1 1446 +load 1448 method_node +call 1449 pith_struct_release void 1 1448 +load 1450 struct_params +call 1451 pith_list_release_handle void 1 1450 +load 1452 struct_args +call 1453 pith_list_release_handle void 1 1452 +load 1454 base +call 1455 pith_cstring_release void 1 1454 +load 1456 sdecl +call 1457 pith_struct_release void 1 1456 +load 1458 assoc_base +call 1459 pith_cstring_release void 1 1458 +load 1460 bkey +call 1461 pith_cstring_release void 1 1460 +load 1462 param_types +call 1463 pith_list_release_handle void 1 1462 +load 1464 arg_node +call 1465 pith_struct_release void 1 1464 +ret 1413 label L3443 -load 1920 __and_1911_3442 -brif 1920 L3440 L3441 +label L3441 +jmp L3438 label L3440 -load 1921 pa_type -load 1922 payload_types -load 1923 pi -call 1924 pith_list_get_value_strict int 2 1922 1923 -neq 1925 1921 1924 -brif 1925 L3445 L3446 +label L3438 +load 1466 recv_info +field 1467 1466 0 string kind +strref 1468 m13s20 +call 1469 pith_cstring_eq bool 2 1467 1468 +call 1470 pith_cstring_release void 1 1468 +brif 1469 L3445 L3446 label L3445 -load 1926 pa_type -load 1927 payload_types -load 1928 pi -call 1929 pith_list_get_value_strict int 2 1927 1928 -call 1930 checker_types_structurally_equal bool 2 1926 1929 -iconst 1931 0 -eq 1932 1930 1931 -brif 1932 L3448 L3449 +load 1471 method_name +load 1472 recv_info +load 1473 arg_indices +load 1474 scope_id +call 1475 checker_check_map_method_call int 4 1471 1472 1473 1474 +store result 1475 +load 1476 result +call 1477 checker_method_table_answered bool 1 1476 +brif 1477 L3448 L3449 label L3448 -strref 1933 m13s304 -strref 1934 m13s443 -load 1935 payload_types -load 1936 pi -call 1937 pith_list_get_value_strict int 2 1935 1936 -call 1938 types_get_type_name string 1 1937 -concat 1939 1934 1938 -call 1940 pith_cstring_release void 1 1934 -call 1941 pith_cstring_release void 1 1938 -strref 1942 m13s301 -concat 1943 1939 1942 -call 1944 pith_cstring_release void 1 1939 -call 1945 pith_cstring_release void 1 1942 -load 1946 pa_type -call 1947 types_get_type_name string 1 1946 -concat 1948 1943 1947 -call 1949 pith_cstring_release void 1 1943 -call 1950 pith_cstring_release void 1 1947 -call 1951 checker_diagnostics_report_error void 2 1933 1948 -call 1952 pith_cstring_release void 1 1933 -call 1953 pith_cstring_release void 1 1948 -jmp L3447 +load 1478 result +load 1479 method_name +call 1480 pith_cstring_release void 1 1479 +load 1481 recv_node +call 1482 pith_struct_release void 1 1481 +load 1483 arg_indices +call 1484 pith_list_release_handle void 1 1483 +load 1485 recv_name +call 1486 pith_cstring_release void 1 1485 +load 1487 module_path +call 1488 pith_cstring_release void 1 1487 +load 1489 ctor_type_name +call 1490 pith_cstring_release void 1 1489 +load 1491 ctor_info +call 1492 pith_struct_release void 1 1491 +load 1493 gen_ctor_name +call 1494 pith_cstring_release void 1 1493 +load 1495 qualified_name +call 1496 pith_cstring_release void 1 1495 +load 1497 module_name +call 1498 pith_cstring_release void 1 1497 +load 1499 generic_name +call 1500 pith_cstring_release void 1 1499 +load 1501 recv_info +call 1502 pith_struct_release void 1 1501 +load 1503 payload_types +call 1504 pith_list_release_handle void 1 1503 +load 1505 pa_node +call 1506 pith_struct_release void 1 1505 +load 1507 type_name +call 1508 pith_cstring_release void 1 1507 +load 1509 key +call 1510 pith_cstring_release void 1 1509 +load 1511 base_name +call 1512 pith_cstring_release void 1 1511 +load 1513 method_node +call 1514 pith_struct_release void 1 1513 +load 1515 struct_params +call 1516 pith_list_release_handle void 1 1515 +load 1517 struct_args +call 1518 pith_list_release_handle void 1 1517 +load 1519 base +call 1520 pith_cstring_release void 1 1519 +load 1521 sdecl +call 1522 pith_struct_release void 1 1521 +load 1523 assoc_base +call 1524 pith_cstring_release void 1 1523 +load 1525 bkey +call 1526 pith_cstring_release void 1 1525 +load 1527 param_types +call 1528 pith_list_release_handle void 1 1527 +load 1529 arg_node +call 1530 pith_struct_release void 1 1529 +ret 1478 label L3449 label L3447 jmp L3444 label L3446 label L3444 -jmp L3439 -label L3441 -label L3439 -load 1954 pi -iconst 1955 1 -add 1956 1954 1955 -store pi 1956 -label L3431 -load 1957 __for_idx_175 -iconst 1958 1 -add 1959 1957 1958 -store __for_idx_175 1959 -jmp L3429 -label L3432 -load 1960 receiver_type -load 1961 method_name -call 1962 pith_cstring_release void 1 1961 -load 1963 recv_node -call 1964 pith_struct_release void 1 1963 -load 1965 arg_indices -call 1966 pith_list_release_handle void 1 1965 -load 1967 recv_name -call 1968 pith_cstring_release void 1 1967 -load 1969 module_path -call 1970 pith_cstring_release void 1 1969 -load 1971 ctor_type_name -call 1972 pith_cstring_release void 1 1971 -load 1973 ctor_info -call 1974 pith_struct_release void 1 1973 -load 1975 gen_ctor_name -call 1976 pith_cstring_release void 1 1975 -load 1977 qualified_name -call 1978 pith_cstring_release void 1 1977 -load 1979 module_name -call 1980 pith_cstring_release void 1 1979 -load 1981 generic_name -call 1982 pith_cstring_release void 1 1981 -load 1983 recv_info -call 1984 pith_struct_release void 1 1983 -load 1985 payload_types -call 1986 pith_list_release_handle void 1 1985 -load 1987 pa_node -call 1988 pith_struct_release void 1 1987 -load 1989 type_name -call 1990 pith_cstring_release void 1 1989 -load 1991 key -call 1992 pith_cstring_release void 1 1991 -load 1993 base_name -call 1994 pith_cstring_release void 1 1993 -load 1995 method_node -call 1996 pith_struct_release void 1 1995 -load 1997 struct_params -call 1998 pith_list_release_handle void 1 1997 -load 1999 struct_args -call 2000 pith_list_release_handle void 1 1999 -load 2001 base -call 2002 pith_cstring_release void 1 2001 -load 2003 sdecl -call 2004 pith_struct_release void 1 2003 -load 2005 assoc_base -call 2006 pith_cstring_release void 1 2005 -load 2007 bkey -call 2008 pith_cstring_release void 1 2007 -load 2009 param_types -call 2010 pith_list_release_handle void 1 2009 -load 2011 arg_node -call 2012 pith_struct_release void 1 2011 -ret 1960 -label L3425 -label L3423 -load 2013 vi -iconst 2014 1 -add 2015 2013 2014 -store vi 2015 -jmp L3420 -label L3422 -jmp L3417 -label L3419 -label L3417 -load 2016 type_name -load 2017 dispatch_type -call 2018 types_get_type_name string 1 2017 -call 2019 pith_cstring_release void 1 2016 -store type_name 2018 -load 2020 key -load 2021 type_name -strref 2022 m13s123 -concat 2023 2021 2022 -call 2024 pith_cstring_release void 1 2022 -load 2025 method_name -concat 2026 2023 2025 -call 2027 pith_cstring_release void 1 2023 -call 2028 pith_cstring_release void 1 2020 -store key 2026 -load 2029 key -call 2030 checker_methods_has_method_declaration bool 1 2029 -iconst 2031 0 -eq 2032 2030 2031 -brif 2032 L3451 L3452 +load 1531 recv_info +field 1532 1531 0 string kind +strref 1533 m13s18 +call 1534 pith_cstring_eq bool 2 1532 1533 +call 1535 pith_cstring_release void 1 1533 +brif 1534 L3451 L3452 label L3451 -load 2033 base_name -load 2034 type_name -call 2035 checker_extract_base_type_name string 1 2034 -call 2036 pith_cstring_release void 1 2033 -store base_name 2035 -load 2037 base_name -load 2038 type_name -call 2040 pith_cstring_eq bool 2 2037 2038 -iconst 2041 1 -sub 2039 2041 2040 -brif 2039 L3454 L3455 +load 1536 method_name +load 1537 recv_info +load 1538 arg_indices +load 1539 scope_id +call 1540 checker_check_set_method_call int 4 1536 1537 1538 1539 +store result 1540 +load 1541 result +call 1542 checker_method_table_answered bool 1 1541 +brif 1542 L3454 L3455 label L3454 -load 2042 key -load 2043 base_name -strref 2044 m13s123 -concat 2045 2043 2044 -call 2046 pith_cstring_release void 1 2044 -load 2047 method_name -concat 2048 2045 2047 -call 2049 pith_cstring_release void 1 2045 -call 2050 pith_cstring_release void 1 2042 -store key 2048 -jmp L3453 +load 1543 result +load 1544 method_name +call 1545 pith_cstring_release void 1 1544 +load 1546 recv_node +call 1547 pith_struct_release void 1 1546 +load 1548 arg_indices +call 1549 pith_list_release_handle void 1 1548 +load 1550 recv_name +call 1551 pith_cstring_release void 1 1550 +load 1552 module_path +call 1553 pith_cstring_release void 1 1552 +load 1554 ctor_type_name +call 1555 pith_cstring_release void 1 1554 +load 1556 ctor_info +call 1557 pith_struct_release void 1 1556 +load 1558 gen_ctor_name +call 1559 pith_cstring_release void 1 1558 +load 1560 qualified_name +call 1561 pith_cstring_release void 1 1560 +load 1562 module_name +call 1563 pith_cstring_release void 1 1562 +load 1564 generic_name +call 1565 pith_cstring_release void 1 1564 +load 1566 recv_info +call 1567 pith_struct_release void 1 1566 +load 1568 payload_types +call 1569 pith_list_release_handle void 1 1568 +load 1570 pa_node +call 1571 pith_struct_release void 1 1570 +load 1572 type_name +call 1573 pith_cstring_release void 1 1572 +load 1574 key +call 1575 pith_cstring_release void 1 1574 +load 1576 base_name +call 1577 pith_cstring_release void 1 1576 +load 1578 method_node +call 1579 pith_struct_release void 1 1578 +load 1580 struct_params +call 1581 pith_list_release_handle void 1 1580 +load 1582 struct_args +call 1583 pith_list_release_handle void 1 1582 +load 1584 base +call 1585 pith_cstring_release void 1 1584 +load 1586 sdecl +call 1587 pith_struct_release void 1 1586 +load 1588 assoc_base +call 1589 pith_cstring_release void 1 1588 +load 1590 bkey +call 1591 pith_cstring_release void 1 1590 +load 1592 param_types +call 1593 pith_list_release_handle void 1 1592 +load 1594 arg_node +call 1595 pith_struct_release void 1 1594 +ret 1543 label L3455 label L3453 jmp L3450 label L3452 label L3450 -load 2051 key -call 2052 checker_methods_has_method_declaration bool 1 2051 -brif 2052 L3457 L3458 +load 1596 recv_info +field 1597 1596 0 string kind +strref 1598 m13s24 +call 1599 pith_cstring_eq bool 2 1597 1598 +call 1600 pith_cstring_release void 1 1598 +brif 1599 L3457 L3458 label L3457 -load 2053 method_node -load 2054 key -call 2055 checker_methods_get_method_declaration_index int 1 2054 -call 2056 ast_get_node struct:Node 1 2055 -call 2057 pith_struct_release void 1 2053 -store method_node 2056 -load 2058 struct_params -call 2059 pith_list_new_cstr list 0 -call 2060 pith_list_release_handle void 1 2058 -store struct_params 2059 -load 2061 struct_args -call 2062 pith_list_new_default list 0 -call 2063 pith_list_release_handle void 1 2061 -store struct_args 2062 -load 2064 checker_struct_instance_type_args -load 2065 dispatch_type -call 2066 map_contains_ikey bool 2 2064 2065 -brif 2066 L3460 L3461 +load 1601 method_name +load 1602 recv_info +load 1603 arg_indices +load 1604 scope_id +call 1605 checker_check_channel_method_call int 4 1601 1602 1603 1604 +store ch_result 1605 +load 1606 ch_result +call 1607 checker_method_table_answered bool 1 1606 +brif 1607 L3460 L3461 label L3460 -load 2067 struct_args -load 2068 checker_struct_instance_type_args -load 2069 dispatch_type -call 2070 map_get_ikey_strict string 2 2068 2069 -call 2071 checker_decode_tid_list list 1 2070 -call 2072 pith_list_release_handle void 1 2067 -store struct_args 2071 -load 2073 checker_struct_instance_base_name -load 2074 dispatch_type -call 2075 map_contains_ikey bool 2 2073 2074 -brif 2075 L3463 L3464 +load 1608 ch_result +load 1609 method_name +call 1610 pith_cstring_release void 1 1609 +load 1611 recv_node +call 1612 pith_struct_release void 1 1611 +load 1613 arg_indices +call 1614 pith_list_release_handle void 1 1613 +load 1615 recv_name +call 1616 pith_cstring_release void 1 1615 +load 1617 module_path +call 1618 pith_cstring_release void 1 1617 +load 1619 ctor_type_name +call 1620 pith_cstring_release void 1 1619 +load 1621 ctor_info +call 1622 pith_struct_release void 1 1621 +load 1623 gen_ctor_name +call 1624 pith_cstring_release void 1 1623 +load 1625 qualified_name +call 1626 pith_cstring_release void 1 1625 +load 1627 module_name +call 1628 pith_cstring_release void 1 1627 +load 1629 generic_name +call 1630 pith_cstring_release void 1 1629 +load 1631 recv_info +call 1632 pith_struct_release void 1 1631 +load 1633 payload_types +call 1634 pith_list_release_handle void 1 1633 +load 1635 pa_node +call 1636 pith_struct_release void 1 1635 +load 1637 type_name +call 1638 pith_cstring_release void 1 1637 +load 1639 key +call 1640 pith_cstring_release void 1 1639 +load 1641 base_name +call 1642 pith_cstring_release void 1 1641 +load 1643 method_node +call 1644 pith_struct_release void 1 1643 +load 1645 struct_params +call 1646 pith_list_release_handle void 1 1645 +load 1647 struct_args +call 1648 pith_list_release_handle void 1 1647 +load 1649 base +call 1650 pith_cstring_release void 1 1649 +load 1651 sdecl +call 1652 pith_struct_release void 1 1651 +load 1653 assoc_base +call 1654 pith_cstring_release void 1 1653 +load 1655 bkey +call 1656 pith_cstring_release void 1 1655 +load 1657 param_types +call 1658 pith_list_release_handle void 1 1657 +load 1659 arg_node +call 1660 pith_struct_release void 1 1659 +ret 1608 +label L3461 +label L3459 +jmp L3456 +label L3458 +label L3456 +load 1661 recv_info +field 1662 1661 0 string kind +strref 1663 m13s26 +call 1664 pith_cstring_eq bool 2 1662 1663 +call 1665 pith_cstring_release void 1 1663 +brif 1664 L3463 L3464 label L3463 -load 2076 base -load 2077 checker_struct_instance_base_name -load 2078 dispatch_type -call 2079 map_get_ikey_strict string 2 2077 2078 -call 2080 pith_cstring_retain void 1 2079 -call 2081 pith_cstring_release void 1 2076 -store base 2079 -load 2082 base -call 2083 checker_has_generic_declaration bool 1 2082 -brif 2083 L3466 L3467 +load 1666 method_name +load 1667 recv_info +load 1668 arg_indices +load 1669 scope_id +call 1670 checker_check_task_method_call int 4 1666 1667 1668 1669 +store task_result 1670 +load 1671 task_result +call 1672 checker_method_table_answered bool 1 1671 +brif 1672 L3466 L3467 label L3466 -load 2084 sdecl -load 2085 base -call 2086 checker_get_generic_declaration_index int 1 2085 -call 2087 ast_get_node struct:Node 1 2086 -call 2088 pith_struct_release void 1 2084 -store sdecl 2087 -load 2089 struct_params -load 2090 sdecl -call 2091 checker_collect_generic_parameter_names list_string 1 2090 -call 2092 pith_list_release_handle void 1 2089 -store struct_params 2091 -jmp L3465 +load 1673 task_result +load 1674 method_name +call 1675 pith_cstring_release void 1 1674 +load 1676 recv_node +call 1677 pith_struct_release void 1 1676 +load 1678 arg_indices +call 1679 pith_list_release_handle void 1 1678 +load 1680 recv_name +call 1681 pith_cstring_release void 1 1680 +load 1682 module_path +call 1683 pith_cstring_release void 1 1682 +load 1684 ctor_type_name +call 1685 pith_cstring_release void 1 1684 +load 1686 ctor_info +call 1687 pith_struct_release void 1 1686 +load 1688 gen_ctor_name +call 1689 pith_cstring_release void 1 1688 +load 1690 qualified_name +call 1691 pith_cstring_release void 1 1690 +load 1692 module_name +call 1693 pith_cstring_release void 1 1692 +load 1694 generic_name +call 1695 pith_cstring_release void 1 1694 +load 1696 recv_info +call 1697 pith_struct_release void 1 1696 +load 1698 payload_types +call 1699 pith_list_release_handle void 1 1698 +load 1700 pa_node +call 1701 pith_struct_release void 1 1700 +load 1702 type_name +call 1703 pith_cstring_release void 1 1702 +load 1704 key +call 1705 pith_cstring_release void 1 1704 +load 1706 base_name +call 1707 pith_cstring_release void 1 1706 +load 1708 method_node +call 1709 pith_struct_release void 1 1708 +load 1710 struct_params +call 1711 pith_list_release_handle void 1 1710 +load 1712 struct_args +call 1713 pith_list_release_handle void 1 1712 +load 1714 base +call 1715 pith_cstring_release void 1 1714 +load 1716 sdecl +call 1717 pith_struct_release void 1 1716 +load 1718 assoc_base +call 1719 pith_cstring_release void 1 1718 +load 1720 bkey +call 1721 pith_cstring_release void 1 1720 +load 1722 param_types +call 1723 pith_list_release_handle void 1 1722 +load 1724 arg_node +call 1725 pith_struct_release void 1 1724 +ret 1673 label L3467 label L3465 jmp L3462 label L3464 label L3462 -jmp L3459 -label L3461 -label L3459 -load 2093 assoc_base -load 2094 type_name -call 2095 checker_extract_base_type_name string 1 2094 -call 2096 pith_cstring_release void 1 2093 -store assoc_base 2095 -load 2097 checker_type_assoc_names -load 2098 assoc_base -call 2099 contains_key bool 2 2097 2098 -brif 2099 L3469 L3470 +load 1726 recv_info +field 1727 1726 0 string kind +strref 1728 m13s34 +call 1729 pith_cstring_eq bool 2 1727 1728 +call 1730 pith_cstring_release void 1 1728 +brif 1729 L3469 L3470 label L3469 -load 2100 checker_type_assoc_names -load 2101 assoc_base -call 2102 map_get_strict string 2 2100 2101 -strref 2103 m13s90 -call 2104 pith_string_split_to_list list_string 2 2102 2103 -call 2105 pith_cstring_release void 1 2103 -call 2106 pith_auto_len int 1 2104 -iconst 2107 0 -store __for_idx_176 2107 -store __for_len_176 2106 -store __for_iter_176 2104 -label L3471 -load 2108 __for_idx_176 -load 2109 __for_len_176 -lt 2110 2108 2109 -brif 2110 L3472 L3474 +load 1731 recv_info +field 1732 1731 8 string name +load 1733 method_name +load 1734 arg_indices +load 1735 scope_id +call 1736 checker_check_sync_primitive_method_call int 4 1732 1733 1734 1735 +store sync_result 1736 +load 1737 sync_result +call 1738 checker_method_table_answered bool 1 1737 +brif 1738 L3472 L3473 label L3472 -load 2111 __for_iter_176 -load 2112 __for_idx_176 -call 2113 pith_list_get_value_unchecked string 2 2111 2112 -store __loopvar_176_an 2113 -load 2114 bkey -load 2115 assoc_base -strref 2116 m13s123 -concat 2117 2115 2116 -call 2118 pith_cstring_release void 1 2116 -load 2119 __loopvar_176_an -concat 2120 2117 2119 -call 2121 pith_cstring_release void 1 2117 -call 2122 pith_cstring_release void 1 2114 -store bkey 2120 -load 2123 checker_assoc_type_binding -load 2124 bkey -call 2125 contains_key bool 2 2123 2124 -brif 2125 L3476 L3477 -label L3476 -load 2126 struct_params -load 2127 __loopvar_176_an -call 2128 pith_list_push_value void 2 2126 2127 -load 2129 struct_args -load 2130 checker_assoc_type_binding -load 2131 bkey -call 2132 map_get_strict int 2 2130 2131 -call 2133 pith_list_push_value void 2 2129 2132 -jmp L3475 -label L3477 -label L3475 +load 1739 sync_result +load 1740 method_name +call 1741 pith_cstring_release void 1 1740 +load 1742 recv_node +call 1743 pith_struct_release void 1 1742 +load 1744 arg_indices +call 1745 pith_list_release_handle void 1 1744 +load 1746 recv_name +call 1747 pith_cstring_release void 1 1746 +load 1748 module_path +call 1749 pith_cstring_release void 1 1748 +load 1750 ctor_type_name +call 1751 pith_cstring_release void 1 1750 +load 1752 ctor_info +call 1753 pith_struct_release void 1 1752 +load 1754 gen_ctor_name +call 1755 pith_cstring_release void 1 1754 +load 1756 qualified_name +call 1757 pith_cstring_release void 1 1756 +load 1758 module_name +call 1759 pith_cstring_release void 1 1758 +load 1760 generic_name +call 1761 pith_cstring_release void 1 1760 +load 1762 recv_info +call 1763 pith_struct_release void 1 1762 +load 1764 payload_types +call 1765 pith_list_release_handle void 1 1764 +load 1766 pa_node +call 1767 pith_struct_release void 1 1766 +load 1768 type_name +call 1769 pith_cstring_release void 1 1768 +load 1770 key +call 1771 pith_cstring_release void 1 1770 +load 1772 base_name +call 1773 pith_cstring_release void 1 1772 +load 1774 method_node +call 1775 pith_struct_release void 1 1774 +load 1776 struct_params +call 1777 pith_list_release_handle void 1 1776 +load 1778 struct_args +call 1779 pith_list_release_handle void 1 1778 +load 1780 base +call 1781 pith_cstring_release void 1 1780 +load 1782 sdecl +call 1783 pith_struct_release void 1 1782 +load 1784 assoc_base +call 1785 pith_cstring_release void 1 1784 +load 1786 bkey +call 1787 pith_cstring_release void 1 1786 +load 1788 param_types +call 1789 pith_list_release_handle void 1 1788 +load 1790 arg_node +call 1791 pith_struct_release void 1 1790 +ret 1739 label L3473 -load 2134 __for_idx_176 -iconst 2135 1 -add 2136 2134 2135 -store __for_idx_176 2136 -jmp L3471 -label L3474 -load 2137 __for_iter_176 -call 2138 pith_list_release_handle void 1 2137 +label L3471 jmp L3468 label L3470 label L3468 -load 2139 param_types -load 2140 method_node -load 2141 struct_params -load 2142 struct_args -call 2143 checker_collect_function_param_types_with_subst list 3 2140 2141 2142 -call 2144 pith_list_release_handle void 1 2139 -store param_types 2143 -load 2145 method_node -load 2146 struct_params -load 2147 struct_args -call 2148 checker_collect_function_return_type_with_subst int 3 2145 2146 2147 -store ret_type 2148 -load 2149 arg_indices -call 2150 pith_list_len int 1 2149 -load 2151 param_types -call 2152 pith_list_len int 1 2151 -neq 2153 2150 2152 -brif 2153 L3479 L3480 -label L3479 -strref 2154 m13s307 -load 2155 method_name -strref 2156 m13s549 -concat 2157 2155 2156 -call 2158 pith_cstring_release void 1 2156 -load 2159 param_types -call 2160 pith_list_len int 1 2159 -call 2161 int_to_string string 1 2160 -concat 2162 2157 2161 -call 2163 pith_cstring_release void 1 2157 -call 2164 pith_cstring_release void 1 2161 -strref 2165 m13s548 -concat 2166 2162 2165 -call 2167 pith_cstring_release void 1 2162 -call 2168 pith_cstring_release void 1 2165 -load 2169 arg_indices -call 2170 pith_list_len int 1 2169 -call 2171 int_to_string string 1 2170 -concat 2172 2166 2171 -call 2173 pith_cstring_release void 1 2166 -call 2174 pith_cstring_release void 1 2171 -call 2175 checker_diagnostics_report_error void 2 2154 2172 -call 2176 pith_cstring_release void 1 2154 -call 2177 pith_cstring_release void 1 2172 -load 2178 types_TID_ERR -load 2179 method_name -call 2180 pith_cstring_release void 1 2179 -load 2181 recv_node -call 2182 pith_struct_release void 1 2181 -load 2183 arg_indices -call 2184 pith_list_release_handle void 1 2183 -load 2185 recv_name -call 2186 pith_cstring_release void 1 2185 -load 2187 module_path -call 2188 pith_cstring_release void 1 2187 -load 2189 ctor_type_name -call 2190 pith_cstring_release void 1 2189 -load 2191 ctor_info -call 2192 pith_struct_release void 1 2191 -load 2193 gen_ctor_name -call 2194 pith_cstring_release void 1 2193 -load 2195 qualified_name -call 2196 pith_cstring_release void 1 2195 -load 2197 module_name -call 2198 pith_cstring_release void 1 2197 -load 2199 generic_name -call 2200 pith_cstring_release void 1 2199 -load 2201 recv_info -call 2202 pith_struct_release void 1 2201 -load 2203 payload_types -call 2204 pith_list_release_handle void 1 2203 -load 2205 pa_node -call 2206 pith_struct_release void 1 2205 -load 2207 type_name -call 2208 pith_cstring_release void 1 2207 -load 2209 key -call 2210 pith_cstring_release void 1 2209 -load 2211 base_name -call 2212 pith_cstring_release void 1 2211 -load 2213 method_node -call 2214 pith_struct_release void 1 2213 -load 2215 struct_params -call 2216 pith_list_release_handle void 1 2215 -load 2217 struct_args -call 2218 pith_list_release_handle void 1 2217 -load 2219 base -call 2220 pith_cstring_release void 1 2219 -load 2221 sdecl -call 2222 pith_struct_release void 1 2221 -load 2223 assoc_base -call 2224 pith_cstring_release void 1 2223 -load 2225 bkey -call 2226 pith_cstring_release void 1 2225 -load 2227 param_types -call 2228 pith_list_release_handle void 1 2227 -load 2229 arg_node -call 2230 pith_struct_release void 1 2229 -ret 2178 -label L3480 +load 1792 recv_info +field 1793 1792 0 string kind +strref 1794 m13s33 +call 1795 pith_cstring_eq bool 2 1793 1794 +call 1796 pith_cstring_release void 1 1794 +brif 1795 L3475 L3476 +label L3475 +iconst 1797 0 +store vi 1797 +label L3477 +load 1798 vi +load 1799 recv_info +field 1800 1799 96 list_string variants +call 1801 pith_list_len int 1 1800 +lt 1802 1798 1801 +brif 1802 L3478 L3479 label L3478 -iconst 2231 0 -store aidx 2231 -load 2232 arg_indices -call 2233 pith_auto_len int 1 2232 -iconst 2234 0 -store __for_idx_177 2234 -store __for_len_177 2233 -store __for_iter_177 2232 +load 1803 recv_info +field 1804 1803 96 list_string variants +load 1805 vi +call 1806 pith_list_get_value_strict string 2 1804 1805 +load 1807 method_name +call 1808 pith_cstring_eq bool 2 1806 1807 +brif 1808 L3481 L3482 label L3481 -load 2235 __for_idx_177 -load 2236 __for_len_177 -lt 2237 2235 2236 -brif 2237 L3482 L3484 -label L3482 -load 2238 __for_iter_177 -load 2239 __for_idx_177 -call 2240 pith_list_get_value unknown 2 2238 2239 -store __loopvar_177_ai 2240 -load 2241 arg_node -load 2242 __loopvar_177_ai -call 2243 ast_get_node struct:Node 1 2242 -call 2244 pith_struct_release void 1 2241 -store arg_node 2243 -load 2245 __loopvar_177_ai -store arg_expr 2245 -load 2246 arg_node -field 2247 2246 0 string kind -strref 2248 m13s298 -call 2249 pith_cstring_eq bool 2 2247 2248 -call 2250 pith_cstring_release void 1 2248 -brif 2249 L3486 L3487 +load 1809 payload_types +load 1810 recv_info +field 1811 1810 104 list variant_types +load 1812 vi +call 1813 pith_list_get_value_strict list 2 1811 1812 +call 1814 pith_list_retain_handle void 1 1813 +call 1815 pith_list_release_handle void 1 1809 +store payload_types 1813 +load 1816 arg_indices +call 1817 pith_list_len int 1 1816 +load 1818 payload_types +call 1819 pith_list_len int 1 1818 +neq 1820 1817 1819 +brif 1820 L3484 L3485 +label L3484 +strref 1821 m13s307 +load 1822 method_name +strref 1823 m13s549 +concat 1824 1822 1823 +call 1825 pith_cstring_release void 1 1823 +load 1826 payload_types +call 1827 pith_list_len int 1 1826 +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 +concat 1833 1829 1832 +call 1834 pith_cstring_release void 1 1829 +call 1835 pith_cstring_release void 1 1832 +load 1836 arg_indices +call 1837 pith_list_len int 1 1836 +call 1838 int_to_string string 1 1837 +concat 1839 1833 1838 +call 1840 pith_cstring_release void 1 1833 +call 1841 pith_cstring_release void 1 1838 +call 1842 checker_diagnostics_report_error void 2 1821 1839 +call 1843 pith_cstring_release void 1 1821 +call 1844 pith_cstring_release void 1 1839 +load 1845 types_TID_ERR +load 1846 method_name +call 1847 pith_cstring_release void 1 1846 +load 1848 recv_node +call 1849 pith_struct_release void 1 1848 +load 1850 arg_indices +call 1851 pith_list_release_handle void 1 1850 +load 1852 recv_name +call 1853 pith_cstring_release void 1 1852 +load 1854 module_path +call 1855 pith_cstring_release void 1 1854 +load 1856 ctor_type_name +call 1857 pith_cstring_release void 1 1856 +load 1858 ctor_info +call 1859 pith_struct_release void 1 1858 +load 1860 gen_ctor_name +call 1861 pith_cstring_release void 1 1860 +load 1862 qualified_name +call 1863 pith_cstring_release void 1 1862 +load 1864 module_name +call 1865 pith_cstring_release void 1 1864 +load 1866 generic_name +call 1867 pith_cstring_release void 1 1866 +load 1868 recv_info +call 1869 pith_struct_release void 1 1868 +load 1870 payload_types +call 1871 pith_list_release_handle void 1 1870 +load 1872 pa_node +call 1873 pith_struct_release void 1 1872 +load 1874 type_name +call 1875 pith_cstring_release void 1 1874 +load 1876 key +call 1877 pith_cstring_release void 1 1876 +load 1878 base_name +call 1879 pith_cstring_release void 1 1878 +load 1880 method_node +call 1881 pith_struct_release void 1 1880 +load 1882 struct_params +call 1883 pith_list_release_handle void 1 1882 +load 1884 struct_args +call 1885 pith_list_release_handle void 1 1884 +load 1886 base +call 1887 pith_cstring_release void 1 1886 +load 1888 sdecl +call 1889 pith_struct_release void 1 1888 +load 1890 assoc_base +call 1891 pith_cstring_release void 1 1890 +load 1892 bkey +call 1893 pith_cstring_release void 1 1892 +load 1894 param_types +call 1895 pith_list_release_handle void 1 1894 +load 1896 arg_node +call 1897 pith_struct_release void 1 1896 +ret 1845 +label L3485 +label L3483 +iconst 1898 0 +store pi 1898 +load 1899 arg_indices +call 1900 pith_auto_len int 1 1899 +iconst 1901 0 +store __for_idx_175 1901 +store __for_len_175 1900 +store __for_iter_175 1899 label L3486 -load 2251 arg_node -field 2252 2251 16 list children -call 2253 pith_list_len int 1 2252 -iconst 2254 0 -gt 2255 2253 2254 -brif 2255 L3489 L3490 -label L3489 -load 2256 arg_node -field 2257 2256 16 list children -iconst 2258 0 -call 2259 pith_list_get_value_strict int 2 2257 2258 -store arg_expr 2259 -jmp L3488 -label L3490 -label L3488 -jmp L3485 +load 1902 __for_idx_175 +load 1903 __for_len_175 +lt 1904 1902 1903 +brif 1904 L3487 L3489 label L3487 -label L3485 -load 2260 arg_expr -load 2261 scope_id -call 2262 checker_c_check_expr int 2 2260 2261 -store atype 2262 -load 2263 atype -call 2264 types_is_error_type bool 1 2263 -iconst 2265 0 -eq 2266 2264 2265 -brif 2266 L3492 L3493 -label L3492 -load 2267 aidx -load 2268 param_types -call 2269 pith_list_len int 1 2268 -lt 2270 2267 2269 -brif 2270 L3495 L3496 +load 1905 __for_iter_175 +load 1906 __for_idx_175 +call 1907 pith_list_get_value unknown 2 1905 1906 +store __loopvar_175_pai 1907 +load 1908 pa_node +load 1909 __loopvar_175_pai +call 1910 ast_get_node struct:Node 1 1909 +call 1911 pith_struct_release void 1 1908 +store pa_node 1910 +load 1912 __loopvar_175_pai +store pa_expr 1912 +load 1913 pa_node +field 1914 1913 0 string kind +strref 1915 m13s298 +call 1916 pith_cstring_eq bool 2 1914 1915 +call 1917 pith_cstring_release void 1 1915 +brif 1916 L3491 L3492 +label L3491 +load 1918 pa_node +field 1919 1918 16 list children +call 1920 pith_list_len int 1 1919 +iconst 1921 0 +gt 1922 1920 1921 +brif 1922 L3494 L3495 +label L3494 +load 1923 pa_node +field 1924 1923 16 list children +iconst 1925 0 +call 1926 pith_list_get_value_strict int 2 1924 1925 +store pa_expr 1926 +jmp L3493 label L3495 -load 2271 atype -load 2272 param_types -load 2273 aidx -call 2274 pith_list_get_value_strict int 2 2272 2273 -neq 2275 2271 2274 -brif 2275 L3498 L3499 -label L3498 -load 2276 atype -load 2277 param_types -load 2278 aidx -call 2279 pith_list_get_value_strict int 2 2277 2278 -call 2280 checker_types_structurally_equal bool 2 2276 2279 -iconst 2281 0 -eq 2282 2280 2281 -brif 2282 L3501 L3502 -label L3501 -strref 2283 m13s304 -strref 2284 m13s443 -load 2285 param_types -load 2286 aidx -call 2287 pith_list_get_value_strict int 2 2285 2286 -call 2288 types_get_type_name string 1 2287 -concat 2289 2284 2288 -call 2290 pith_cstring_release void 1 2284 -call 2291 pith_cstring_release void 1 2288 -strref 2292 m13s301 -concat 2293 2289 2292 -call 2294 pith_cstring_release void 1 2289 -call 2295 pith_cstring_release void 1 2292 -load 2296 atype -call 2297 types_get_type_name string 1 2296 -concat 2298 2293 2297 -call 2299 pith_cstring_release void 1 2293 -call 2300 pith_cstring_release void 1 2297 -call 2301 checker_diagnostics_report_error void 2 2283 2298 -call 2302 pith_cstring_release void 1 2283 -call 2303 pith_cstring_release void 1 2298 -jmp L3500 -label L3502 -label L3500 -jmp L3497 +label L3493 +jmp L3490 +label L3492 +label L3490 +load 1927 pa_expr +load 1928 scope_id +call 1929 checker_c_check_expr int 2 1927 1928 +store pa_type 1929 +iconst 1930 0 +store __and_1930_3499 1930 +load 1931 pa_type +call 1932 types_is_error_type bool 1 1931 +iconst 1933 0 +eq 1934 1932 1933 +store __and_1930_3499 1934 +brif 1934 L3499 L3500 label L3499 +load 1935 pi +load 1936 payload_types +call 1937 pith_list_len int 1 1936 +lt 1938 1935 1937 +store __and_1930_3499 1938 +label L3500 +load 1939 __and_1930_3499 +brif 1939 L3497 L3498 label L3497 -jmp L3494 -label L3496 -label L3494 -jmp L3491 -label L3493 -label L3491 -load 2304 aidx -iconst 2305 1 -add 2306 2304 2305 -store aidx 2306 -label L3483 -load 2307 __for_idx_177 -iconst 2308 1 -add 2309 2307 2308 -store __for_idx_177 2309 -jmp L3481 -label L3484 -load 2310 ret_type -load 2311 method_name -call 2312 pith_cstring_release void 1 2311 -load 2313 recv_node -call 2314 pith_struct_release void 1 2313 -load 2315 arg_indices -call 2316 pith_list_release_handle void 1 2315 -load 2317 recv_name -call 2318 pith_cstring_release void 1 2317 -load 2319 module_path -call 2320 pith_cstring_release void 1 2319 -load 2321 ctor_type_name -call 2322 pith_cstring_release void 1 2321 -load 2323 ctor_info -call 2324 pith_struct_release void 1 2323 -load 2325 gen_ctor_name -call 2326 pith_cstring_release void 1 2325 -load 2327 qualified_name -call 2328 pith_cstring_release void 1 2327 -load 2329 module_name -call 2330 pith_cstring_release void 1 2329 -load 2331 generic_name -call 2332 pith_cstring_release void 1 2331 -load 2333 recv_info -call 2334 pith_struct_release void 1 2333 -load 2335 payload_types -call 2336 pith_list_release_handle void 1 2335 -load 2337 pa_node -call 2338 pith_struct_release void 1 2337 -load 2339 type_name -call 2340 pith_cstring_release void 1 2339 -load 2341 key -call 2342 pith_cstring_release void 1 2341 -load 2343 base_name -call 2344 pith_cstring_release void 1 2343 -load 2345 method_node -call 2346 pith_struct_release void 1 2345 -load 2347 struct_params -call 2348 pith_list_release_handle void 1 2347 -load 2349 struct_args -call 2350 pith_list_release_handle void 1 2349 -load 2351 base -call 2352 pith_cstring_release void 1 2351 -load 2353 sdecl -call 2354 pith_struct_release void 1 2353 -load 2355 assoc_base -call 2356 pith_cstring_release void 1 2355 -load 2357 bkey -call 2358 pith_cstring_release void 1 2357 -load 2359 param_types -call 2360 pith_list_release_handle void 1 2359 -load 2361 arg_node -call 2362 pith_struct_release void 1 2361 -ret 2310 -label L3458 -label L3456 -load 2363 recv_info -field 2364 2363 0 string kind -strref 2365 m13s34 -call 2366 pith_cstring_eq bool 2 2364 2365 -call 2367 pith_cstring_release void 1 2365 -brif 2366 L3504 L3505 -label L3504 -iconst 2368 0 -store ffi 2368 +load 1940 pa_type +load 1941 payload_types +load 1942 pi +call 1943 pith_list_get_value_strict int 2 1941 1942 +neq 1944 1940 1943 +brif 1944 L3502 L3503 +label L3502 +load 1945 pa_type +load 1946 payload_types +load 1947 pi +call 1948 pith_list_get_value_strict int 2 1946 1947 +call 1949 checker_types_structurally_equal bool 2 1945 1948 +iconst 1950 0 +eq 1951 1949 1950 +brif 1951 L3505 L3506 +label L3505 +strref 1952 m13s304 +strref 1953 m13s443 +load 1954 payload_types +load 1955 pi +call 1956 pith_list_get_value_strict int 2 1954 1955 +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 +concat 1962 1958 1961 +call 1963 pith_cstring_release void 1 1958 +call 1964 pith_cstring_release void 1 1961 +load 1965 pa_type +call 1966 types_get_type_name string 1 1965 +concat 1967 1962 1966 +call 1968 pith_cstring_release void 1 1962 +call 1969 pith_cstring_release void 1 1966 +call 1970 checker_diagnostics_report_error void 2 1952 1967 +call 1971 pith_cstring_release void 1 1952 +call 1972 pith_cstring_release void 1 1967 +jmp L3504 label L3506 -load 2369 ffi -load 2370 recv_info -field 2371 2370 16 list_string fields -call 2372 pith_list_len int 1 2371 -lt 2373 2369 2372 -brif 2373 L3507 L3508 -label L3507 -load 2374 recv_info -field 2375 2374 16 list_string fields -load 2376 ffi -call 2377 pith_list_get_value_strict string 2 2375 2376 -load 2378 method_name -call 2379 checker_strings_equal bool 2 2377 2378 -brif 2379 L3510 L3511 -label L3510 -iconst 2380 0 -store __and_2380_3515 2380 -load 2381 ffi -load 2382 recv_info -field 2383 2382 24 list field_types -call 2384 pith_list_len int 1 2383 -lt 2385 2381 2384 -store __and_2380_3515 2385 -brif 2385 L3515 L3516 -label L3515 -load 2386 recv_info -field 2387 2386 24 list field_types -load 2388 ffi -call 2389 pith_list_get_value_strict int 2 2387 2388 -call 2390 types_get_type_info struct:TypeInfo 1 2389 -field 2391 2390 0 string kind -strref 2392 m13s31 -call 2393 pith_cstring_eq bool 2 2391 2392 -call 2394 pith_cstring_release void 1 2392 -store __and_2380_3515 2393 -label L3516 -load 2395 __and_2380_3515 -brif 2395 L3513 L3514 -label L3513 -load 2396 recv_info -field 2397 2396 24 list field_types -load 2398 ffi -call 2399 pith_list_get_value_strict int 2 2397 2398 -load 2400 arg_indices -load 2401 scope_id -call 2402 checker_check_callable_type_with_args int 3 2399 2400 2401 -load 2403 method_name -call 2404 pith_cstring_release void 1 2403 -load 2405 recv_node -call 2406 pith_struct_release void 1 2405 -load 2407 arg_indices -call 2408 pith_list_release_handle void 1 2407 -load 2409 recv_name -call 2410 pith_cstring_release void 1 2409 -load 2411 module_path -call 2412 pith_cstring_release void 1 2411 -load 2413 ctor_type_name -call 2414 pith_cstring_release void 1 2413 -load 2415 ctor_info -call 2416 pith_struct_release void 1 2415 -load 2417 gen_ctor_name -call 2418 pith_cstring_release void 1 2417 -load 2419 qualified_name -call 2420 pith_cstring_release void 1 2419 -load 2421 module_name -call 2422 pith_cstring_release void 1 2421 -load 2423 generic_name -call 2424 pith_cstring_release void 1 2423 -load 2425 recv_info -call 2426 pith_struct_release void 1 2425 -load 2427 payload_types -call 2428 pith_list_release_handle void 1 2427 -load 2429 pa_node -call 2430 pith_struct_release void 1 2429 -load 2431 type_name -call 2432 pith_cstring_release void 1 2431 -load 2433 key -call 2434 pith_cstring_release void 1 2433 -load 2435 base_name -call 2436 pith_cstring_release void 1 2435 -load 2437 method_node -call 2438 pith_struct_release void 1 2437 -load 2439 struct_params -call 2440 pith_list_release_handle void 1 2439 -load 2441 struct_args -call 2442 pith_list_release_handle void 1 2441 -load 2443 base -call 2444 pith_cstring_release void 1 2443 -load 2445 sdecl -call 2446 pith_struct_release void 1 2445 -load 2447 assoc_base -call 2448 pith_cstring_release void 1 2447 -load 2449 bkey -call 2450 pith_cstring_release void 1 2449 -load 2451 param_types -call 2452 pith_list_release_handle void 1 2451 -load 2453 arg_node -call 2454 pith_struct_release void 1 2453 -ret 2402 -label L3514 -label L3512 -jmp L3509 +label L3504 +jmp L3501 +label L3503 +label L3501 +jmp L3496 +label L3498 +label L3496 +load 1973 pi +iconst 1974 1 +add 1975 1973 1974 +store pi 1975 +label L3488 +load 1976 __for_idx_175 +iconst 1977 1 +add 1978 1976 1977 +store __for_idx_175 1978 +jmp L3486 +label L3489 +load 1979 receiver_type +load 1980 method_name +call 1981 pith_cstring_release void 1 1980 +load 1982 recv_node +call 1983 pith_struct_release void 1 1982 +load 1984 arg_indices +call 1985 pith_list_release_handle void 1 1984 +load 1986 recv_name +call 1987 pith_cstring_release void 1 1986 +load 1988 module_path +call 1989 pith_cstring_release void 1 1988 +load 1990 ctor_type_name +call 1991 pith_cstring_release void 1 1990 +load 1992 ctor_info +call 1993 pith_struct_release void 1 1992 +load 1994 gen_ctor_name +call 1995 pith_cstring_release void 1 1994 +load 1996 qualified_name +call 1997 pith_cstring_release void 1 1996 +load 1998 module_name +call 1999 pith_cstring_release void 1 1998 +load 2000 generic_name +call 2001 pith_cstring_release void 1 2000 +load 2002 recv_info +call 2003 pith_struct_release void 1 2002 +load 2004 payload_types +call 2005 pith_list_release_handle void 1 2004 +load 2006 pa_node +call 2007 pith_struct_release void 1 2006 +load 2008 type_name +call 2009 pith_cstring_release void 1 2008 +load 2010 key +call 2011 pith_cstring_release void 1 2010 +load 2012 base_name +call 2013 pith_cstring_release void 1 2012 +load 2014 method_node +call 2015 pith_struct_release void 1 2014 +load 2016 struct_params +call 2017 pith_list_release_handle void 1 2016 +load 2018 struct_args +call 2019 pith_list_release_handle void 1 2018 +load 2020 base +call 2021 pith_cstring_release void 1 2020 +load 2022 sdecl +call 2023 pith_struct_release void 1 2022 +load 2024 assoc_base +call 2025 pith_cstring_release void 1 2024 +load 2026 bkey +call 2027 pith_cstring_release void 1 2026 +load 2028 param_types +call 2029 pith_list_release_handle void 1 2028 +load 2030 arg_node +call 2031 pith_struct_release void 1 2030 +ret 1979 +label L3482 +label L3480 +load 2032 vi +iconst 2033 1 +add 2034 2032 2033 +store vi 2034 +jmp L3477 +label L3479 +jmp L3474 +label L3476 +label L3474 +load 2035 type_name +load 2036 dispatch_type +call 2037 types_get_type_name string 1 2036 +call 2038 pith_cstring_release void 1 2035 +store type_name 2037 +load 2039 key +load 2040 type_name +strref 2041 m13s123 +concat 2042 2040 2041 +call 2043 pith_cstring_release void 1 2041 +load 2044 method_name +concat 2045 2042 2044 +call 2046 pith_cstring_release void 1 2042 +call 2047 pith_cstring_release void 1 2039 +store key 2045 +load 2048 key +call 2049 checker_methods_has_method_declaration bool 1 2048 +iconst 2050 0 +eq 2051 2049 2050 +brif 2051 L3508 L3509 +label L3508 +load 2052 base_name +load 2053 type_name +call 2054 checker_extract_base_type_name string 1 2053 +call 2055 pith_cstring_release void 1 2052 +store base_name 2054 +load 2056 base_name +load 2057 type_name +call 2059 pith_cstring_eq bool 2 2056 2057 +iconst 2060 1 +sub 2058 2060 2059 +brif 2058 L3511 L3512 label L3511 +load 2061 key +load 2062 base_name +strref 2063 m13s123 +concat 2064 2062 2063 +call 2065 pith_cstring_release void 1 2063 +load 2066 method_name +concat 2067 2064 2066 +call 2068 pith_cstring_release void 1 2064 +call 2069 pith_cstring_release void 1 2061 +store key 2067 +jmp L3510 +label L3512 +label L3510 +jmp L3507 label L3509 -load 2455 ffi -iconst 2456 1 -add 2457 2455 2456 -store ffi 2457 -jmp L3506 -label L3508 -jmp L3503 -label L3505 -label L3503 -call 2458 checker_diagnostics_checker_reported_at_current bool 0 -iconst 2459 0 -eq 2460 2458 2459 -brif 2460 L3518 L3519 -label L3518 -strref 2461 m13s429 -load 2462 receiver_type -call 2463 types_get_type_name string 1 2462 -strref 2464 m13s547 -concat 2465 2463 2464 -call 2466 pith_cstring_release void 1 2463 -call 2467 pith_cstring_release void 1 2464 -load 2468 method_name -concat 2469 2465 2468 -call 2470 pith_cstring_release void 1 2465 -strref 2471 m13s349 -concat 2472 2469 2471 -call 2473 pith_cstring_release void 1 2469 -call 2474 pith_cstring_release void 1 2471 -call 2475 checker_diagnostics_report_error void 2 2461 2472 -call 2476 pith_cstring_release void 1 2461 -call 2477 pith_cstring_release void 1 2472 -jmp L3517 -label L3519 +label L3507 +load 2070 key +call 2071 checker_methods_has_method_declaration bool 1 2070 +brif 2071 L3514 L3515 +label L3514 +load 2072 method_node +load 2073 key +call 2074 checker_methods_get_method_declaration_index int 1 2073 +call 2075 ast_get_node struct:Node 1 2074 +call 2076 pith_struct_release void 1 2072 +store method_node 2075 +load 2077 struct_params +call 2078 pith_list_new_cstr list 0 +call 2079 pith_list_release_handle void 1 2077 +store struct_params 2078 +load 2080 struct_args +call 2081 pith_list_new_default list 0 +call 2082 pith_list_release_handle void 1 2080 +store struct_args 2081 +load 2083 checker_struct_instance_type_args +load 2084 dispatch_type +call 2085 map_contains_ikey bool 2 2083 2084 +brif 2085 L3517 L3518 label L3517 -load 2478 types_TID_ERR -load 2479 method_name -call 2480 pith_cstring_release void 1 2479 -load 2481 recv_node -call 2482 pith_struct_release void 1 2481 -load 2483 arg_indices -call 2484 pith_list_release_handle void 1 2483 -load 2485 recv_name -call 2486 pith_cstring_release void 1 2485 -load 2487 module_path -call 2488 pith_cstring_release void 1 2487 -load 2489 ctor_type_name -call 2490 pith_cstring_release void 1 2489 -load 2491 ctor_info -call 2492 pith_struct_release void 1 2491 -load 2493 gen_ctor_name -call 2494 pith_cstring_release void 1 2493 -load 2495 qualified_name -call 2496 pith_cstring_release void 1 2495 -load 2497 module_name -call 2498 pith_cstring_release void 1 2497 -load 2499 generic_name -call 2500 pith_cstring_release void 1 2499 -load 2501 recv_info -call 2502 pith_struct_release void 1 2501 -load 2503 payload_types -call 2504 pith_list_release_handle void 1 2503 -load 2505 pa_node -call 2506 pith_struct_release void 1 2505 -load 2507 type_name -call 2508 pith_cstring_release void 1 2507 -load 2509 key -call 2510 pith_cstring_release void 1 2509 -load 2511 base_name -call 2512 pith_cstring_release void 1 2511 -load 2513 method_node -call 2514 pith_struct_release void 1 2513 -load 2515 struct_params -call 2516 pith_list_release_handle void 1 2515 -load 2517 struct_args -call 2518 pith_list_release_handle void 1 2517 -load 2519 base -call 2520 pith_cstring_release void 1 2519 -load 2521 sdecl -call 2522 pith_struct_release void 1 2521 -load 2523 assoc_base -call 2524 pith_cstring_release void 1 2523 -load 2525 bkey -call 2526 pith_cstring_release void 1 2525 -load 2527 param_types -call 2528 pith_list_release_handle void 1 2527 -load 2529 arg_node -call 2530 pith_struct_release void 1 2529 -ret 2478 -load 2531 method_name -call 2532 pith_cstring_release void 1 2531 -load 2533 recv_node -call 2534 pith_struct_release void 1 2533 -load 2535 arg_indices -call 2536 pith_list_release_handle void 1 2535 -load 2537 recv_name -call 2538 pith_cstring_release void 1 2537 -load 2539 module_path -call 2540 pith_cstring_release void 1 2539 -load 2541 ctor_type_name -call 2542 pith_cstring_release void 1 2541 -load 2543 ctor_info -call 2544 pith_struct_release void 1 2543 -load 2545 gen_ctor_name -call 2546 pith_cstring_release void 1 2545 -load 2547 qualified_name -call 2548 pith_cstring_release void 1 2547 -load 2549 module_name -call 2550 pith_cstring_release void 1 2549 -load 2551 generic_name -call 2552 pith_cstring_release void 1 2551 -load 2553 recv_info -call 2554 pith_struct_release void 1 2553 -load 2555 payload_types -call 2556 pith_list_release_handle void 1 2555 -load 2557 pa_node -call 2558 pith_struct_release void 1 2557 -load 2559 type_name -call 2560 pith_cstring_release void 1 2559 -load 2561 key -call 2562 pith_cstring_release void 1 2561 -load 2563 base_name -call 2564 pith_cstring_release void 1 2563 -load 2565 method_node -call 2566 pith_struct_release void 1 2565 -load 2567 struct_params -call 2568 pith_list_release_handle void 1 2567 -load 2569 struct_args -call 2570 pith_list_release_handle void 1 2569 -load 2571 base -call 2572 pith_cstring_release void 1 2571 -load 2573 sdecl -call 2574 pith_struct_release void 1 2573 -load 2575 assoc_base -call 2576 pith_cstring_release void 1 2575 -load 2577 bkey -call 2578 pith_cstring_release void 1 2577 -load 2579 param_types -call 2580 pith_list_release_handle void 1 2579 -load 2581 arg_node -call 2582 pith_struct_release void 1 2581 -iconst 2583 0 -ret 2583 +load 2086 struct_args +load 2087 checker_struct_instance_type_args +load 2088 dispatch_type +call 2089 map_get_ikey_strict string 2 2087 2088 +call 2090 checker_decode_tid_list list 1 2089 +call 2091 pith_list_release_handle void 1 2086 +store struct_args 2090 +load 2092 checker_struct_instance_base_name +load 2093 dispatch_type +call 2094 map_contains_ikey bool 2 2092 2093 +brif 2094 L3520 L3521 +label L3520 +load 2095 base +load 2096 checker_struct_instance_base_name +load 2097 dispatch_type +call 2098 map_get_ikey_strict string 2 2096 2097 +call 2099 pith_cstring_retain void 1 2098 +call 2100 pith_cstring_release void 1 2095 +store base 2098 +load 2101 base +call 2102 checker_has_generic_declaration bool 1 2101 +brif 2102 L3523 L3524 +label L3523 +load 2103 sdecl +load 2104 base +call 2105 checker_get_generic_declaration_index int 1 2104 +call 2106 ast_get_node struct:Node 1 2105 +call 2107 pith_struct_release void 1 2103 +store sdecl 2106 +load 2108 struct_params +load 2109 sdecl +call 2110 checker_collect_generic_parameter_names list_string 1 2109 +call 2111 pith_list_release_handle void 1 2108 +store struct_params 2110 +jmp L3522 +label L3524 +label L3522 +jmp L3519 +label L3521 +label L3519 +jmp L3516 +label L3518 +label L3516 +load 2112 assoc_base +load 2113 type_name +call 2114 checker_extract_base_type_name string 1 2113 +call 2115 pith_cstring_release void 1 2112 +store assoc_base 2114 +load 2116 checker_type_assoc_names +load 2117 assoc_base +call 2118 contains_key bool 2 2116 2117 +brif 2118 L3526 L3527 +label L3526 +load 2119 checker_type_assoc_names +load 2120 assoc_base +call 2121 map_get_strict string 2 2119 2120 +strref 2122 m13s90 +call 2123 pith_string_split_to_list list_string 2 2121 2122 +call 2124 pith_cstring_release void 1 2122 +call 2125 pith_auto_len int 1 2123 +iconst 2126 0 +store __for_idx_176 2126 +store __for_len_176 2125 +store __for_iter_176 2123 +label L3528 +load 2127 __for_idx_176 +load 2128 __for_len_176 +lt 2129 2127 2128 +brif 2129 L3529 L3531 +label L3529 +load 2130 __for_iter_176 +load 2131 __for_idx_176 +call 2132 pith_list_get_value_unchecked string 2 2130 2131 +store __loopvar_176_an 2132 +load 2133 bkey +load 2134 assoc_base +strref 2135 m13s123 +concat 2136 2134 2135 +call 2137 pith_cstring_release void 1 2135 +load 2138 __loopvar_176_an +concat 2139 2136 2138 +call 2140 pith_cstring_release void 1 2136 +call 2141 pith_cstring_release void 1 2133 +store bkey 2139 +load 2142 checker_assoc_type_binding +load 2143 bkey +call 2144 contains_key bool 2 2142 2143 +brif 2144 L3533 L3534 +label L3533 +load 2145 struct_params +load 2146 __loopvar_176_an +call 2147 pith_list_push_value void 2 2145 2146 +load 2148 struct_args +load 2149 checker_assoc_type_binding +load 2150 bkey +call 2151 map_get_strict int 2 2149 2150 +call 2152 pith_list_push_value void 2 2148 2151 +jmp L3532 +label L3534 +label L3532 +label L3530 +load 2153 __for_idx_176 +iconst 2154 1 +add 2155 2153 2154 +store __for_idx_176 2155 +jmp L3528 +label L3531 +load 2156 __for_iter_176 +call 2157 pith_list_release_handle void 1 2156 +jmp L3525 +label L3527 +label L3525 +load 2158 param_types +load 2159 method_node +load 2160 struct_params +load 2161 struct_args +call 2162 checker_collect_function_param_types_with_subst list 3 2159 2160 2161 +call 2163 pith_list_release_handle void 1 2158 +store param_types 2162 +load 2164 method_node +load 2165 struct_params +load 2166 struct_args +call 2167 checker_collect_function_return_type_with_subst int 3 2164 2165 2166 +store ret_type 2167 +load 2168 arg_indices +call 2169 pith_list_len int 1 2168 +load 2170 param_types +call 2171 pith_list_len int 1 2170 +neq 2172 2169 2171 +brif 2172 L3536 L3537 +label L3536 +strref 2173 m13s307 +load 2174 method_name +strref 2175 m13s549 +concat 2176 2174 2175 +call 2177 pith_cstring_release void 1 2175 +load 2178 param_types +call 2179 pith_list_len int 1 2178 +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 +concat 2185 2181 2184 +call 2186 pith_cstring_release void 1 2181 +call 2187 pith_cstring_release void 1 2184 +load 2188 arg_indices +call 2189 pith_list_len int 1 2188 +call 2190 int_to_string string 1 2189 +concat 2191 2185 2190 +call 2192 pith_cstring_release void 1 2185 +call 2193 pith_cstring_release void 1 2190 +call 2194 checker_diagnostics_report_error void 2 2173 2191 +call 2195 pith_cstring_release void 1 2173 +call 2196 pith_cstring_release void 1 2191 +load 2197 types_TID_ERR +load 2198 method_name +call 2199 pith_cstring_release void 1 2198 +load 2200 recv_node +call 2201 pith_struct_release void 1 2200 +load 2202 arg_indices +call 2203 pith_list_release_handle void 1 2202 +load 2204 recv_name +call 2205 pith_cstring_release void 1 2204 +load 2206 module_path +call 2207 pith_cstring_release void 1 2206 +load 2208 ctor_type_name +call 2209 pith_cstring_release void 1 2208 +load 2210 ctor_info +call 2211 pith_struct_release void 1 2210 +load 2212 gen_ctor_name +call 2213 pith_cstring_release void 1 2212 +load 2214 qualified_name +call 2215 pith_cstring_release void 1 2214 +load 2216 module_name +call 2217 pith_cstring_release void 1 2216 +load 2218 generic_name +call 2219 pith_cstring_release void 1 2218 +load 2220 recv_info +call 2221 pith_struct_release void 1 2220 +load 2222 payload_types +call 2223 pith_list_release_handle void 1 2222 +load 2224 pa_node +call 2225 pith_struct_release void 1 2224 +load 2226 type_name +call 2227 pith_cstring_release void 1 2226 +load 2228 key +call 2229 pith_cstring_release void 1 2228 +load 2230 base_name +call 2231 pith_cstring_release void 1 2230 +load 2232 method_node +call 2233 pith_struct_release void 1 2232 +load 2234 struct_params +call 2235 pith_list_release_handle void 1 2234 +load 2236 struct_args +call 2237 pith_list_release_handle void 1 2236 +load 2238 base +call 2239 pith_cstring_release void 1 2238 +load 2240 sdecl +call 2241 pith_struct_release void 1 2240 +load 2242 assoc_base +call 2243 pith_cstring_release void 1 2242 +load 2244 bkey +call 2245 pith_cstring_release void 1 2244 +load 2246 param_types +call 2247 pith_list_release_handle void 1 2246 +load 2248 arg_node +call 2249 pith_struct_release void 1 2248 +ret 2197 +label L3537 +label L3535 +iconst 2250 0 +store aidx 2250 +load 2251 arg_indices +call 2252 pith_auto_len int 1 2251 +iconst 2253 0 +store __for_idx_177 2253 +store __for_len_177 2252 +store __for_iter_177 2251 +label L3538 +load 2254 __for_idx_177 +load 2255 __for_len_177 +lt 2256 2254 2255 +brif 2256 L3539 L3541 +label L3539 +load 2257 __for_iter_177 +load 2258 __for_idx_177 +call 2259 pith_list_get_value unknown 2 2257 2258 +store __loopvar_177_ai 2259 +load 2260 arg_node +load 2261 __loopvar_177_ai +call 2262 ast_get_node struct:Node 1 2261 +call 2263 pith_struct_release void 1 2260 +store arg_node 2262 +load 2264 __loopvar_177_ai +store arg_expr 2264 +load 2265 arg_node +field 2266 2265 0 string kind +strref 2267 m13s298 +call 2268 pith_cstring_eq bool 2 2266 2267 +call 2269 pith_cstring_release void 1 2267 +brif 2268 L3543 L3544 +label L3543 +load 2270 arg_node +field 2271 2270 16 list children +call 2272 pith_list_len int 1 2271 +iconst 2273 0 +gt 2274 2272 2273 +brif 2274 L3546 L3547 +label L3546 +load 2275 arg_node +field 2276 2275 16 list children +iconst 2277 0 +call 2278 pith_list_get_value_strict int 2 2276 2277 +store arg_expr 2278 +jmp L3545 +label L3547 +label L3545 +jmp L3542 +label L3544 +label L3542 +load 2279 arg_expr +load 2280 scope_id +call 2281 checker_c_check_expr int 2 2279 2280 +store atype 2281 +load 2282 atype +call 2283 types_is_error_type bool 1 2282 +iconst 2284 0 +eq 2285 2283 2284 +brif 2285 L3549 L3550 +label L3549 +load 2286 aidx +load 2287 param_types +call 2288 pith_list_len int 1 2287 +lt 2289 2286 2288 +brif 2289 L3552 L3553 +label L3552 +load 2290 atype +load 2291 param_types +load 2292 aidx +call 2293 pith_list_get_value_strict int 2 2291 2292 +neq 2294 2290 2293 +brif 2294 L3555 L3556 +label L3555 +load 2295 atype +load 2296 param_types +load 2297 aidx +call 2298 pith_list_get_value_strict int 2 2296 2297 +call 2299 checker_types_structurally_equal bool 2 2295 2298 +iconst 2300 0 +eq 2301 2299 2300 +brif 2301 L3558 L3559 +label L3558 +strref 2302 m13s304 +strref 2303 m13s443 +load 2304 param_types +load 2305 aidx +call 2306 pith_list_get_value_strict int 2 2304 2305 +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 +concat 2312 2308 2311 +call 2313 pith_cstring_release void 1 2308 +call 2314 pith_cstring_release void 1 2311 +load 2315 atype +call 2316 types_get_type_name string 1 2315 +concat 2317 2312 2316 +call 2318 pith_cstring_release void 1 2312 +call 2319 pith_cstring_release void 1 2316 +call 2320 checker_diagnostics_report_error void 2 2302 2317 +call 2321 pith_cstring_release void 1 2302 +call 2322 pith_cstring_release void 1 2317 +jmp L3557 +label L3559 +label L3557 +jmp L3554 +label L3556 +label L3554 +jmp L3551 +label L3553 +label L3551 +jmp L3548 +label L3550 +label L3548 +load 2323 aidx +iconst 2324 1 +add 2325 2323 2324 +store aidx 2325 +label L3540 +load 2326 __for_idx_177 +iconst 2327 1 +add 2328 2326 2327 +store __for_idx_177 2328 +jmp L3538 +label L3541 +load 2329 ret_type +load 2330 method_name +call 2331 pith_cstring_release void 1 2330 +load 2332 recv_node +call 2333 pith_struct_release void 1 2332 +load 2334 arg_indices +call 2335 pith_list_release_handle void 1 2334 +load 2336 recv_name +call 2337 pith_cstring_release void 1 2336 +load 2338 module_path +call 2339 pith_cstring_release void 1 2338 +load 2340 ctor_type_name +call 2341 pith_cstring_release void 1 2340 +load 2342 ctor_info +call 2343 pith_struct_release void 1 2342 +load 2344 gen_ctor_name +call 2345 pith_cstring_release void 1 2344 +load 2346 qualified_name +call 2347 pith_cstring_release void 1 2346 +load 2348 module_name +call 2349 pith_cstring_release void 1 2348 +load 2350 generic_name +call 2351 pith_cstring_release void 1 2350 +load 2352 recv_info +call 2353 pith_struct_release void 1 2352 +load 2354 payload_types +call 2355 pith_list_release_handle void 1 2354 +load 2356 pa_node +call 2357 pith_struct_release void 1 2356 +load 2358 type_name +call 2359 pith_cstring_release void 1 2358 +load 2360 key +call 2361 pith_cstring_release void 1 2360 +load 2362 base_name +call 2363 pith_cstring_release void 1 2362 +load 2364 method_node +call 2365 pith_struct_release void 1 2364 +load 2366 struct_params +call 2367 pith_list_release_handle void 1 2366 +load 2368 struct_args +call 2369 pith_list_release_handle void 1 2368 +load 2370 base +call 2371 pith_cstring_release void 1 2370 +load 2372 sdecl +call 2373 pith_struct_release void 1 2372 +load 2374 assoc_base +call 2375 pith_cstring_release void 1 2374 +load 2376 bkey +call 2377 pith_cstring_release void 1 2376 +load 2378 param_types +call 2379 pith_list_release_handle void 1 2378 +load 2380 arg_node +call 2381 pith_struct_release void 1 2380 +ret 2329 +label L3515 +label L3513 +load 2382 recv_info +field 2383 2382 0 string kind +strref 2384 m13s34 +call 2385 pith_cstring_eq bool 2 2383 2384 +call 2386 pith_cstring_release void 1 2384 +brif 2385 L3561 L3562 +label L3561 +iconst 2387 0 +store ffi 2387 +label L3563 +load 2388 ffi +load 2389 recv_info +field 2390 2389 16 list_string fields +call 2391 pith_list_len int 1 2390 +lt 2392 2388 2391 +brif 2392 L3564 L3565 +label L3564 +load 2393 recv_info +field 2394 2393 16 list_string fields +load 2395 ffi +call 2396 pith_list_get_value_strict string 2 2394 2395 +load 2397 method_name +call 2398 checker_strings_equal bool 2 2396 2397 +brif 2398 L3567 L3568 +label L3567 +iconst 2399 0 +store __and_2399_3572 2399 +load 2400 ffi +load 2401 recv_info +field 2402 2401 24 list field_types +call 2403 pith_list_len int 1 2402 +lt 2404 2400 2403 +store __and_2399_3572 2404 +brif 2404 L3572 L3573 +label L3572 +load 2405 recv_info +field 2406 2405 24 list field_types +load 2407 ffi +call 2408 pith_list_get_value_strict int 2 2406 2407 +call 2409 types_get_type_info struct:TypeInfo 1 2408 +field 2410 2409 0 string kind +strref 2411 m13s31 +call 2412 pith_cstring_eq bool 2 2410 2411 +call 2413 pith_cstring_release void 1 2411 +store __and_2399_3572 2412 +label L3573 +load 2414 __and_2399_3572 +brif 2414 L3570 L3571 +label L3570 +load 2415 recv_info +field 2416 2415 24 list field_types +load 2417 ffi +call 2418 pith_list_get_value_strict int 2 2416 2417 +load 2419 arg_indices +load 2420 scope_id +call 2421 checker_check_callable_type_with_args int 3 2418 2419 2420 +load 2422 method_name +call 2423 pith_cstring_release void 1 2422 +load 2424 recv_node +call 2425 pith_struct_release void 1 2424 +load 2426 arg_indices +call 2427 pith_list_release_handle void 1 2426 +load 2428 recv_name +call 2429 pith_cstring_release void 1 2428 +load 2430 module_path +call 2431 pith_cstring_release void 1 2430 +load 2432 ctor_type_name +call 2433 pith_cstring_release void 1 2432 +load 2434 ctor_info +call 2435 pith_struct_release void 1 2434 +load 2436 gen_ctor_name +call 2437 pith_cstring_release void 1 2436 +load 2438 qualified_name +call 2439 pith_cstring_release void 1 2438 +load 2440 module_name +call 2441 pith_cstring_release void 1 2440 +load 2442 generic_name +call 2443 pith_cstring_release void 1 2442 +load 2444 recv_info +call 2445 pith_struct_release void 1 2444 +load 2446 payload_types +call 2447 pith_list_release_handle void 1 2446 +load 2448 pa_node +call 2449 pith_struct_release void 1 2448 +load 2450 type_name +call 2451 pith_cstring_release void 1 2450 +load 2452 key +call 2453 pith_cstring_release void 1 2452 +load 2454 base_name +call 2455 pith_cstring_release void 1 2454 +load 2456 method_node +call 2457 pith_struct_release void 1 2456 +load 2458 struct_params +call 2459 pith_list_release_handle void 1 2458 +load 2460 struct_args +call 2461 pith_list_release_handle void 1 2460 +load 2462 base +call 2463 pith_cstring_release void 1 2462 +load 2464 sdecl +call 2465 pith_struct_release void 1 2464 +load 2466 assoc_base +call 2467 pith_cstring_release void 1 2466 +load 2468 bkey +call 2469 pith_cstring_release void 1 2468 +load 2470 param_types +call 2471 pith_list_release_handle void 1 2470 +load 2472 arg_node +call 2473 pith_struct_release void 1 2472 +ret 2421 +label L3571 +label L3569 +jmp L3566 +label L3568 +label L3566 +load 2474 ffi +iconst 2475 1 +add 2476 2474 2475 +store ffi 2476 +jmp L3563 +label L3565 +jmp L3560 +label L3562 +label L3560 +call 2477 checker_diagnostics_checker_reported_at_current bool 0 +iconst 2478 0 +eq 2479 2477 2478 +brif 2479 L3575 L3576 +label L3575 +strref 2480 m13s429 +load 2481 receiver_type +call 2482 types_get_type_name string 1 2481 +strref 2483 m13s547 +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 +concat 2491 2488 2490 +call 2492 pith_cstring_release void 1 2488 +call 2493 pith_cstring_release void 1 2490 +call 2494 checker_diagnostics_report_error void 2 2480 2491 +call 2495 pith_cstring_release void 1 2480 +call 2496 pith_cstring_release void 1 2491 +jmp L3574 +label L3576 +label L3574 +load 2497 types_TID_ERR +load 2498 method_name +call 2499 pith_cstring_release void 1 2498 +load 2500 recv_node +call 2501 pith_struct_release void 1 2500 +load 2502 arg_indices +call 2503 pith_list_release_handle void 1 2502 +load 2504 recv_name +call 2505 pith_cstring_release void 1 2504 +load 2506 module_path +call 2507 pith_cstring_release void 1 2506 +load 2508 ctor_type_name +call 2509 pith_cstring_release void 1 2508 +load 2510 ctor_info +call 2511 pith_struct_release void 1 2510 +load 2512 gen_ctor_name +call 2513 pith_cstring_release void 1 2512 +load 2514 qualified_name +call 2515 pith_cstring_release void 1 2514 +load 2516 module_name +call 2517 pith_cstring_release void 1 2516 +load 2518 generic_name +call 2519 pith_cstring_release void 1 2518 +load 2520 recv_info +call 2521 pith_struct_release void 1 2520 +load 2522 payload_types +call 2523 pith_list_release_handle void 1 2522 +load 2524 pa_node +call 2525 pith_struct_release void 1 2524 +load 2526 type_name +call 2527 pith_cstring_release void 1 2526 +load 2528 key +call 2529 pith_cstring_release void 1 2528 +load 2530 base_name +call 2531 pith_cstring_release void 1 2530 +load 2532 method_node +call 2533 pith_struct_release void 1 2532 +load 2534 struct_params +call 2535 pith_list_release_handle void 1 2534 +load 2536 struct_args +call 2537 pith_list_release_handle void 1 2536 +load 2538 base +call 2539 pith_cstring_release void 1 2538 +load 2540 sdecl +call 2541 pith_struct_release void 1 2540 +load 2542 assoc_base +call 2543 pith_cstring_release void 1 2542 +load 2544 bkey +call 2545 pith_cstring_release void 1 2544 +load 2546 param_types +call 2547 pith_list_release_handle void 1 2546 +load 2548 arg_node +call 2549 pith_struct_release void 1 2548 +ret 2497 +load 2550 method_name +call 2551 pith_cstring_release void 1 2550 +load 2552 recv_node +call 2553 pith_struct_release void 1 2552 +load 2554 arg_indices +call 2555 pith_list_release_handle void 1 2554 +load 2556 recv_name +call 2557 pith_cstring_release void 1 2556 +load 2558 module_path +call 2559 pith_cstring_release void 1 2558 +load 2560 ctor_type_name +call 2561 pith_cstring_release void 1 2560 +load 2562 ctor_info +call 2563 pith_struct_release void 1 2562 +load 2564 gen_ctor_name +call 2565 pith_cstring_release void 1 2564 +load 2566 qualified_name +call 2567 pith_cstring_release void 1 2566 +load 2568 module_name +call 2569 pith_cstring_release void 1 2568 +load 2570 generic_name +call 2571 pith_cstring_release void 1 2570 +load 2572 recv_info +call 2573 pith_struct_release void 1 2572 +load 2574 payload_types +call 2575 pith_list_release_handle void 1 2574 +load 2576 pa_node +call 2577 pith_struct_release void 1 2576 +load 2578 type_name +call 2579 pith_cstring_release void 1 2578 +load 2580 key +call 2581 pith_cstring_release void 1 2580 +load 2582 base_name +call 2583 pith_cstring_release void 1 2582 +load 2584 method_node +call 2585 pith_struct_release void 1 2584 +load 2586 struct_params +call 2587 pith_list_release_handle void 1 2586 +load 2588 struct_args +call 2589 pith_list_release_handle void 1 2588 +load 2590 base +call 2591 pith_cstring_release void 1 2590 +load 2592 sdecl +call 2593 pith_struct_release void 1 2592 +load 2594 assoc_base +call 2595 pith_cstring_release void 1 2594 +load 2596 bkey +call 2597 pith_cstring_release void 1 2596 +load 2598 param_types +call 2599 pith_list_release_handle void 1 2598 +load 2600 arg_node +call 2601 pith_struct_release void 1 2600 +iconst 2602 0 +ret 2602 endfunc func checker_method_table_answered 1 bool param result iconst 1 0 -store __and_1_3520 1 +store __and_1_3577 1 load 2 result iconst 3 0 gte 4 2 3 -store __and_1_3520 4 -brif 4 L3520 L3521 -label L3520 +store __and_1_3577 4 +brif 4 L3577 L3578 +label L3577 load 5 result call 6 types_is_error_type bool 1 5 iconst 7 0 eq 8 6 7 -store __and_1_3520 8 -label L3521 -load 9 __and_1_3520 +store __and_1_3577 8 +label L3578 +load 9 __and_1_3577 ret 9 iconst 10 0 ret 10 @@ -58272,143 +58742,143 @@ load 12 method strref 13 m13s454 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L3523 L3524 -label L3523 +brif 14 L3580 L3581 +label L3580 load 16 method load 17 args call 18 checker_expect_no_arguments void 2 16 17 load 19 tid_int ret 19 -label L3524 -label L3522 +label L3581 +label L3579 load 20 method strref 21 m13s546 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L3526 L3527 -label L3526 +brif 22 L3583 L3584 +label L3583 load 24 method load 25 args call 26 checker_expect_no_arguments void 2 24 25 load 27 tid_string ret 27 -label L3527 -label L3525 +label L3584 +label L3582 load 28 method strref 29 m13s545 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L3529 L3530 -label L3529 +brif 30 L3586 L3587 +label L3586 load 32 method load 33 args call 34 checker_expect_no_arguments void 2 32 33 load 35 tid_string ret 35 -label L3530 -label L3528 +label L3587 +label L3585 load 36 method strref 37 m13s544 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L3532 L3533 -label L3532 +brif 38 L3589 L3590 +label L3589 load 40 method load 41 args call 42 checker_expect_no_arguments void 2 40 41 load 43 tid_string ret 43 -label L3533 -label L3531 +label L3590 +label L3588 load 44 method strref 45 m13s488 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L3535 L3536 -label L3535 +brif 46 L3592 L3593 +label L3592 load 48 method load 49 args call 50 checker_expect_no_arguments void 2 48 49 load 51 tid_bool ret 51 -label L3536 -label L3534 +label L3593 +label L3591 load 52 method strref 53 m13s486 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L3538 L3539 -label L3538 +brif 54 L3595 L3596 +label L3595 load 56 method load 57 args load 58 scope_id call 59 checker_expect_one_string_argument void 3 56 57 58 load 60 tid_bool ret 60 -label L3539 -label L3537 +label L3596 +label L3594 load 61 method strref 62 m13s543 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L3541 L3542 -label L3541 +brif 63 L3598 L3599 +label L3598 load 65 method load 66 args load 67 scope_id call 68 checker_expect_one_string_argument void 3 65 66 67 load 69 tid_bool ret 69 -label L3542 -label L3540 +label L3599 +label L3597 load 70 method strref 71 m13s542 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L3544 L3545 -label L3544 +brif 72 L3601 L3602 +label L3601 load 74 method load 75 args load 76 scope_id call 77 checker_expect_one_string_argument void 3 74 75 76 load 78 tid_bool ret 78 -label L3545 -label L3543 +label L3602 +label L3600 load 79 method strref 80 m13s506 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L3547 L3548 -label L3547 +brif 81 L3604 L3605 +label L3604 load 83 method load 84 args load 85 scope_id call 86 checker_expect_one_string_argument void 3 83 84 85 load 87 tid_int ret 87 -label L3548 -label L3546 +label L3605 +label L3603 load 88 method strref 89 m13s541 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -brif 90 L3550 L3551 -label L3550 +brif 90 L3607 L3608 +label L3607 load 92 method load 93 args load 94 scope_id call 95 checker_expect_one_string_argument void 3 92 93 94 load 96 tid_int ret 96 -label L3551 -label L3549 +label L3608 +label L3606 load 97 method strref 98 m13s540 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -brif 99 L3553 L3554 -label L3553 +brif 99 L3610 L3611 +label L3610 load 101 method load 102 args load 103 scope_id @@ -58416,42 +58886,42 @@ call 104 checker_expect_one_string_argument void 3 101 102 103 load 105 tid_string call 106 checker_type_intern_intern_list_type int 1 105 ret 106 -label L3554 -label L3552 +label L3611 +label L3609 load 107 method strref 108 m13s539 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L3556 L3557 -label L3556 +brif 109 L3613 L3614 +label L3613 load 111 method load 112 args load 113 scope_id call 114 checker_expect_two_int_arguments void 3 111 112 113 load 115 tid_string ret 115 -label L3557 -label L3555 +label L3614 +label L3612 load 116 method strref 117 m13s538 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 -brif 118 L3559 L3560 -label L3559 +brif 118 L3616 L3617 +label L3616 load 120 method load 121 args load 122 scope_id call 123 checker_expect_two_string_arguments void 3 120 121 122 load 124 tid_string ret 124 -label L3560 -label L3558 +label L3617 +label L3615 load 125 method strref 126 m13s537 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -brif 127 L3562 L3563 -label L3562 +brif 127 L3619 L3620 +label L3619 load 129 method load 130 args load 131 tid_int @@ -58459,56 +58929,56 @@ load 132 scope_id call 133 checker_expect_one_typed_argument void 4 129 130 131 132 load 134 tid_string ret 134 -label L3563 -label L3561 +label L3620 +label L3618 load 135 method strref 136 m13s536 call 137 pith_cstring_eq bool 2 135 136 call 138 pith_cstring_release void 1 136 -brif 137 L3565 L3566 -label L3565 +brif 137 L3622 L3623 +label L3622 load 139 method load 140 args load 141 scope_id call 142 checker_expect_int_string_arguments void 3 139 140 141 load 143 tid_string ret 143 -label L3566 -label L3564 +label L3623 +label L3621 load 144 method strref 145 m13s535 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -brif 146 L3568 L3569 -label L3568 +brif 146 L3625 L3626 +label L3625 load 148 method load 149 args load 150 scope_id call 151 checker_expect_int_string_arguments void 3 148 149 150 load 152 tid_string ret 152 -label L3569 -label L3567 +label L3626 +label L3624 load 153 method strref 154 m13s534 call 155 pith_cstring_eq bool 2 153 154 call 156 pith_cstring_release void 1 154 -brif 155 L3571 L3572 -label L3571 +brif 155 L3628 L3629 +label L3628 load 157 method load 158 args call 159 checker_expect_no_arguments void 2 157 158 load 160 tid_string call 161 checker_type_intern_intern_list_type int 1 160 ret 161 -label L3572 -label L3570 +label L3629 +label L3627 load 162 method strref 163 m13s497 call 164 pith_cstring_eq bool 2 162 163 call 165 pith_cstring_release void 1 163 -brif 164 L3574 L3575 -label L3574 +brif 164 L3631 L3632 +label L3631 load 166 method load 167 args load 168 tid_int @@ -58519,8 +58989,8 @@ call 172 types_ti_optional struct:TypeInfo 1 171 call 173 types_add_type_info int 1 172 call 174 pith_struct_release void 1 172 ret 173 -label L3575 -label L3573 +label L3632 +label L3630 strref 175 m13s429 strref 176 m13s533 load 177 method @@ -58562,48 +59032,48 @@ load 15 method strref 16 m13s454 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3577 L3578 -label L3577 +brif 17 L3634 L3635 +label L3634 load 19 method load 20 args call 21 checker_expect_no_arguments void 2 19 20 load 22 tid_int ret 22 -label L3578 -label L3576 +label L3635 +label L3633 load 23 method strref 24 m13s488 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L3580 L3581 -label L3580 +brif 25 L3637 L3638 +label L3637 load 27 method load 28 args call 29 checker_expect_no_arguments void 2 27 28 load 30 tid_bool ret 30 -label L3581 -label L3579 +label L3638 +label L3636 load 31 method strref 32 m13s505 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3583 L3584 -label L3583 +brif 33 L3640 L3641 +label L3640 load 35 method load 36 args load 37 scope_id call 38 checker_expect_two_int_arguments void 3 35 36 37 load 39 tid_bytes ret 39 -label L3584 -label L3582 +label L3641 +label L3639 load 40 method strref 41 m13s532 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -brif 42 L3586 L3587 -label L3586 +brif 42 L3643 L3644 +label L3643 load 44 method load 45 args load 46 tid_bytes @@ -58611,14 +59081,14 @@ load 47 scope_id call 48 checker_expect_one_typed_argument void 4 44 45 46 47 load 49 tid_bytes ret 49 -label L3587 -label L3585 +label L3644 +label L3642 load 50 method strref 51 m13s531 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L3589 L3590 -label L3589 +brif 52 L3646 L3647 +label L3646 load 54 method load 55 args call 56 checker_expect_no_arguments void 2 54 55 @@ -58628,8 +59098,8 @@ call 59 types_ti_result struct:TypeInfo 2 57 58 call 60 types_add_type_info int 1 59 call 61 pith_struct_release void 1 59 ret 60 -label L3590 -label L3588 +label L3647 +label L3645 strref 62 m13s429 strref 63 m13s530 load 64 method @@ -58664,31 +59134,31 @@ load 9 method strref 10 m13s514 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L3592 L3593 -label L3592 +brif 11 L3649 L3650 +label L3649 load 13 method load 14 args call 15 checker_expect_no_arguments void 2 13 14 iconst 16 0 -store __or_16_3597 16 +store __or_16_3654 16 load 17 info field 18 17 64 int inner call 19 checker_type_supports_stringify bool 1 18 iconst 20 0 eq 21 19 20 -store __or_16_3597 21 -brif 21 L3598 L3597 -label L3597 +store __or_16_3654 21 +brif 21 L3655 L3654 +label L3654 load 22 info field 23 22 80 int value_type call 24 checker_type_supports_stringify bool 1 23 iconst 25 0 eq 26 24 25 -store __or_16_3597 26 -label L3598 -load 27 __or_16_3597 -brif 27 L3595 L3596 -label L3595 +store __or_16_3654 26 +label L3655 +load 27 __or_16_3654 +brif 27 L3652 L3653 +label L3652 strref 28 m13s304 strref 29 m13s529 call 30 checker_diagnostics_report_error void 2 28 29 @@ -58700,28 +59170,28 @@ call 35 pith_struct_release void 1 34 load 36 ret_info call 37 pith_struct_release void 1 36 ret 33 -label L3596 -label L3594 +label L3653 +label L3651 load 38 tid_string load 39 handler_info call 40 pith_struct_release void 1 39 load 41 ret_info call 42 pith_struct_release void 1 41 ret 38 -label L3593 -label L3591 +label L3650 +label L3648 load 43 method strref 44 m13s528 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L3600 L3601 -label L3600 +brif 45 L3657 L3658 +label L3657 load 47 args call 48 pith_list_len int 1 47 iconst 49 1 neq 50 48 49 -brif 50 L3603 L3604 -label L3603 +brif 50 L3660 L3661 +label L3660 strref 51 m13s307 strref 52 m13s527 load 53 args @@ -58739,8 +59209,8 @@ call 64 pith_struct_release void 1 63 load 65 ret_info call 66 pith_struct_release void 1 65 ret 62 -label L3604 -label L3602 +label L3661 +label L3659 load 67 args iconst 68 0 call 69 pith_list_get_value_strict int 2 67 68 @@ -58755,20 +59225,20 @@ call 77 pith_struct_release void 1 76 load 78 ret_info call 79 pith_struct_release void 1 78 ret 75 -label L3601 -label L3599 +label L3658 +label L3656 load 80 method strref 81 m13s526 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -brif 82 L3606 L3607 -label L3606 +brif 82 L3663 L3664 +label L3663 load 84 args call 85 pith_list_len int 1 84 iconst 86 1 neq 87 85 86 -brif 87 L3609 L3610 -label L3609 +brif 87 L3666 L3667 +label L3666 strref 88 m13s307 strref 89 m13s525 load 90 args @@ -58786,8 +59256,8 @@ call 101 pith_struct_release void 1 100 load 102 ret_info call 103 pith_struct_release void 1 102 ret 99 -label L3610 -label L3608 +label L3667 +label L3665 load 104 args iconst 105 0 call 106 pith_list_get_value_strict int 2 104 105 @@ -58797,16 +59267,16 @@ call 109 checker_c_check_expr int 2 107 108 store handler_type 109 load 110 handler_type call 111 types_is_error_type bool 1 110 -brif 111 L3612 L3613 -label L3612 +brif 111 L3669 L3670 +label L3669 load 112 types_TID_ERR load 113 handler_info call 114 pith_struct_release void 1 113 load 115 ret_info call 116 pith_struct_release void 1 115 ret 112 -label L3613 -label L3611 +label L3670 +label L3668 load 117 handler_info load 118 handler_type call 119 types_get_type_info struct:TypeInfo 1 118 @@ -58819,8 +59289,8 @@ call 125 pith_cstring_eq bool 2 122 123 iconst 126 1 sub 124 126 125 call 127 pith_cstring_release void 1 123 -brif 124 L3615 L3616 -label L3615 +brif 124 L3672 L3673 +label L3672 strref 128 m13s304 strref 129 m13s524 load 130 handler_type @@ -58837,15 +59307,15 @@ call 140 pith_struct_release void 1 139 load 141 ret_info call 142 pith_struct_release void 1 141 ret 138 -label L3616 -label L3614 +label L3673 +label L3671 load 143 handler_info field 144 143 48 list param_types call 145 pith_list_len int 1 144 iconst 146 1 neq 147 145 146 -brif 147 L3618 L3619 -label L3618 +brif 147 L3675 L3676 +label L3675 strref 148 m13s304 strref 149 m13s523 call 150 checker_diagnostics_report_error void 2 148 149 @@ -58857,8 +59327,8 @@ call 155 pith_struct_release void 1 154 load 156 ret_info call 157 pith_struct_release void 1 156 ret 153 -label L3619 -label L3617 +label L3676 +label L3674 load 158 handler_info field 159 158 48 list param_types iconst 160 0 @@ -58868,8 +59338,8 @@ field 163 162 80 int value_type call 164 checker_types_compatible bool 2 161 163 iconst 165 0 eq 166 164 165 -brif 166 L3621 L3622 -label L3621 +brif 166 L3678 L3679 +label L3678 strref 167 m13s304 strref 168 m13s522 load 169 info @@ -58899,8 +59369,8 @@ call 192 pith_struct_release void 1 191 load 193 ret_info call 194 pith_struct_release void 1 193 ret 190 -label L3622 -label L3620 +label L3679 +label L3677 load 195 ret_info load 196 handler_info field 197 196 56 int return_type @@ -58914,8 +59384,8 @@ call 204 pith_cstring_eq bool 2 201 202 iconst 205 1 sub 203 205 204 call 206 pith_cstring_release void 1 202 -brif 203 L3624 L3625 -label L3624 +brif 203 L3681 L3682 +label L3681 strref 207 m13s304 strref 208 m13s521 call 209 checker_diagnostics_report_error void 2 207 208 @@ -58927,8 +59397,8 @@ call 214 pith_struct_release void 1 213 load 215 ret_info call 216 pith_struct_release void 1 215 ret 212 -label L3625 -label L3623 +label L3682 +label L3680 load 217 ret_info field 218 217 64 int inner load 219 info @@ -58936,8 +59406,8 @@ field 220 219 64 int inner call 221 checker_types_compatible bool 2 218 220 iconst 222 0 eq 223 221 222 -brif 223 L3627 L3628 -label L3627 +brif 223 L3684 L3685 +label L3684 strref 224 m13s304 strref 225 m13s520 load 226 info @@ -58965,8 +59435,8 @@ call 247 pith_struct_release void 1 246 load 248 ret_info call 249 pith_struct_release void 1 248 ret 245 -label L3628 -label L3626 +label L3685 +label L3683 load 250 handler_info field 251 250 56 int return_type load 252 handler_info @@ -58974,8 +59444,8 @@ call 253 pith_struct_release void 1 252 load 254 ret_info call 255 pith_struct_release void 1 254 ret 251 -label L3607 -label L3605 +label L3664 +label L3662 load 256 types_TID_ERR load 257 handler_info call 258 pith_struct_release void 1 257 @@ -59005,28 +59475,28 @@ load 9 method strref 10 m13s514 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L3630 L3631 -label L3630 +brif 11 L3687 L3688 +label L3687 load 13 method load 14 args call 15 checker_expect_no_arguments void 2 13 14 load 16 tid_string ret 16 -label L3631 -label L3629 +label L3688 +label L3686 load 17 method strref 18 m13s518 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L3633 L3634 -label L3633 +brif 19 L3690 L3691 +label L3690 load 21 method load 22 args call 23 checker_expect_no_arguments void 2 21 22 load 24 tid_float ret 24 -label L3634 -label L3632 +label L3691 +label L3689 strref 25 m13s429 strref 26 m13s517 load 27 method @@ -59060,28 +59530,28 @@ load 9 method strref 10 m13s514 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L3636 L3637 -label L3636 +brif 11 L3693 L3694 +label L3693 load 13 method load 14 args call 15 checker_expect_no_arguments void 2 13 14 load 16 tid_string ret 16 -label L3637 -label L3635 +label L3694 +label L3692 load 17 method strref 18 m13s516 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L3639 L3640 -label L3639 +brif 19 L3696 L3697 +label L3696 load 21 method load 22 args call 23 checker_expect_no_arguments void 2 21 22 load 24 tid_int ret 24 -label L3640 -label L3638 +label L3697 +label L3695 strref 25 m13s429 strref 26 m13s515 load 27 method @@ -59111,15 +59581,15 @@ load 6 method strref 7 m13s514 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3642 L3643 -label L3642 +brif 8 L3699 L3700 +label L3699 load 10 method load 11 args call 12 checker_expect_no_arguments void 2 10 11 load 13 tid_string ret 13 -label L3643 -label L3641 +label L3700 +label L3698 strref 14 m13s429 strref 15 m13s513 load 16 method @@ -59165,8 +59635,8 @@ load 18 method strref 19 m13s512 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L3645 L3646 -label L3645 +brif 20 L3702 L3703 +label L3702 load 22 method load 23 args load 24 elem @@ -59174,66 +59644,66 @@ load 25 scope_id call 26 checker_expect_one_typed_argument void 4 22 23 24 25 load 27 tid_void ret 27 -label L3646 -label L3644 +label L3703 +label L3701 load 28 method strref 29 m13s454 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L3648 L3649 -label L3648 +brif 30 L3705 L3706 +label L3705 load 32 method load 33 args call 34 checker_expect_no_arguments void 2 32 33 load 35 tid_int ret 35 -label L3649 -label L3647 +label L3706 +label L3704 load 36 method strref 37 m13s488 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L3651 L3652 -label L3651 +brif 38 L3708 L3709 +label L3708 load 40 method load 41 args call 42 checker_expect_no_arguments void 2 40 41 load 43 tid_bool ret 43 -label L3652 -label L3650 +label L3709 +label L3707 load 44 method strref 45 m13s487 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L3654 L3655 -label L3654 +brif 46 L3711 L3712 +label L3711 load 48 method load 49 args call 50 checker_expect_no_arguments void 2 48 49 load 51 tid_void ret 51 -label L3655 -label L3653 +label L3712 +label L3710 load 52 method strref 53 m13s511 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L3657 L3658 -label L3657 +brif 54 L3714 L3715 +label L3714 load 56 method load 57 args call 58 checker_expect_no_arguments void 2 56 57 load 59 tid_void ret 59 -label L3658 -label L3656 +label L3715 +label L3713 load 60 method strref 61 m13s485 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -brif 62 L3660 L3661 -label L3660 +brif 62 L3717 L3718 +label L3717 load 64 method load 65 args load 66 tid_int @@ -59241,20 +59711,20 @@ load 67 scope_id call 68 checker_expect_one_typed_argument void 4 64 65 66 67 load 69 tid_void ret 69 -label L3661 -label L3659 +label L3718 +label L3716 load 70 method strref 71 m13s491 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L3663 L3664 -label L3663 +brif 72 L3720 L3721 +label L3720 load 74 args call 75 pith_list_len int 1 74 iconst 76 2 neq 77 75 76 -brif 77 L3666 L3667 -label L3666 +brif 77 L3723 L3724 +label L3723 strref 78 m13s307 strref 79 m13s510 load 80 args @@ -59268,8 +59738,8 @@ call 87 pith_cstring_release void 1 78 call 88 pith_cstring_release void 1 83 load 89 tid_void ret 89 -label L3667 -label L3665 +label L3724 +label L3722 load 90 args iconst 91 0 call 92 pith_list_get_value_strict int 2 90 91 @@ -59284,14 +59754,14 @@ load 100 scope_id call 101 checker_check_argument_type void 3 98 99 100 load 102 tid_void ret 102 -label L3664 -label L3662 +label L3721 +label L3719 load 103 method strref 104 m13s486 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L3669 L3670 -label L3669 +brif 105 L3726 L3727 +label L3726 load 107 method load 108 args load 109 elem @@ -59299,36 +59769,36 @@ load 110 scope_id call 111 checker_expect_one_typed_argument void 4 107 108 109 110 load 112 tid_bool ret 112 -label L3670 -label L3668 +label L3727 +label L3725 load 113 method strref 114 m13s509 call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 114 -brif 115 L3672 L3673 -label L3672 +brif 115 L3729 L3730 +label L3729 load 117 method load 118 args load 119 tid_string load 120 scope_id call 121 checker_expect_one_typed_argument void 4 117 118 119 120 iconst 122 0 -store __and_122_3677 122 +store __and_122_3734 122 load 123 elem load 124 tid_string neq 125 123 124 -store __and_122_3677 125 -brif 125 L3677 L3678 -label L3677 +store __and_122_3734 125 +brif 125 L3734 L3735 +label L3734 load 126 elem call 127 types_is_integer_type bool 1 126 iconst 128 0 eq 129 127 128 -store __and_122_3677 129 -label L3678 -load 130 __and_122_3677 -brif 130 L3675 L3676 -label L3675 +store __and_122_3734 129 +label L3735 +load 130 __and_122_3734 +brif 130 L3732 L3733 +label L3732 strref 131 m13s304 strref 132 m13s508 load 133 elem @@ -59343,19 +59813,19 @@ call 141 pith_cstring_release void 1 138 call 142 checker_diagnostics_report_error void 2 131 139 call 143 pith_cstring_release void 1 131 call 144 pith_cstring_release void 1 139 -jmp L3674 -label L3676 -label L3674 +jmp L3731 +label L3733 +label L3731 load 145 tid_string ret 145 -label L3673 -label L3671 +label L3730 +label L3728 load 146 method strref 147 m13s506 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 -brif 148 L3680 L3681 -label L3680 +brif 148 L3737 L3738 +label L3737 load 150 method load 151 args load 152 elem @@ -59366,14 +59836,14 @@ call 156 types_ti_optional struct:TypeInfo 1 155 call 157 types_add_type_info int 1 156 call 158 pith_struct_release void 1 156 ret 157 -label L3681 -label L3679 +label L3738 +label L3736 load 159 method strref 160 m13s505 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -brif 161 L3683 L3684 -label L3683 +brif 161 L3740 L3741 +label L3740 load 163 method load 164 args load 165 scope_id @@ -59381,67 +59851,67 @@ call 166 checker_expect_two_int_arguments void 3 163 164 165 load 167 elem call 168 checker_type_intern_intern_list_type int 1 167 ret 168 -label L3684 -label L3682 +label L3741 +label L3739 load 169 method strref 170 m13s504 call 171 pith_cstring_eq bool 2 169 170 call 172 pith_cstring_release void 1 170 -brif 171 L3686 L3687 -label L3686 +brif 171 L3743 L3744 +label L3743 load 173 method load 174 args call 175 checker_expect_no_arguments void 2 173 174 load 176 elem call 177 checker_type_intern_intern_list_type int 1 176 ret 177 -label L3687 -label L3685 +label L3744 +label L3742 load 178 method strref 179 m13s20 call 180 pith_cstring_eq bool 2 178 179 call 181 pith_cstring_release void 1 179 -brif 180 L3689 L3690 -label L3689 +brif 180 L3746 L3747 +label L3746 load 182 info load 183 args load 184 scope_id call 185 checker_check_list_map_method int 3 182 183 184 ret 185 -label L3690 -label L3688 +label L3747 +label L3745 load 186 method strref 187 m13s503 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L3692 L3693 -label L3692 +brif 188 L3749 L3750 +label L3749 load 190 info load 191 args load 192 scope_id call 193 checker_check_list_filter_method int 3 190 191 192 ret 193 -label L3693 -label L3691 +label L3750 +label L3748 load 194 method strref 195 m13s502 call 196 pith_cstring_eq bool 2 194 195 call 197 pith_cstring_release void 1 195 -brif 196 L3695 L3696 -label L3695 +brif 196 L3752 L3753 +label L3752 load 198 info load 199 args load 200 scope_id call 201 checker_check_list_reduce_method int 3 198 199 200 ret 201 -label L3696 -label L3694 +label L3753 +label L3751 load 202 method strref 203 m13s497 call 204 pith_cstring_eq bool 2 202 203 call 205 pith_cstring_release void 1 203 -brif 204 L3698 L3699 -label L3698 +brif 204 L3755 L3756 +label L3755 load 206 method load 207 args load 208 tid_int @@ -59452,14 +59922,14 @@ call 212 types_ti_optional struct:TypeInfo 1 211 call 213 types_add_type_info int 1 212 call 214 pith_struct_release void 1 212 ret 213 -label L3699 -label L3697 +label L3756 +label L3754 load 215 method strref 216 m13s501 call 217 pith_cstring_eq bool 2 215 216 call 218 pith_cstring_release void 1 216 -brif 217 L3701 L3702 -label L3701 +brif 217 L3758 L3759 +label L3758 load 219 method load 220 args call 221 checker_expect_no_arguments void 2 219 220 @@ -59468,14 +59938,14 @@ call 223 types_ti_optional struct:TypeInfo 1 222 call 224 types_add_type_info int 1 223 call 225 pith_struct_release void 1 223 ret 224 -label L3702 -label L3700 +label L3759 +label L3757 load 226 method strref 227 m13s500 call 228 pith_cstring_eq bool 2 226 227 call 229 pith_cstring_release void 1 227 -brif 228 L3704 L3705 -label L3704 +brif 228 L3761 L3762 +label L3761 load 230 method load 231 args call 232 checker_expect_no_arguments void 2 230 231 @@ -59484,8 +59954,8 @@ call 234 types_ti_optional struct:TypeInfo 1 233 call 235 types_add_type_info int 1 234 call 236 pith_struct_release void 1 234 ret 235 -label L3705 -label L3703 +label L3762 +label L3760 iconst 237 1 iconst 239 0 sub 238 239 237 @@ -59520,14 +59990,14 @@ load 17 method strref 18 m13s491 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L3707 L3708 -label L3707 +brif 19 L3764 L3765 +label L3764 load 21 args call 22 pith_list_len int 1 21 iconst 23 2 neq 24 22 23 -brif 24 L3710 L3711 -label L3710 +brif 24 L3767 L3768 +label L3767 strref 25 m13s307 strref 26 m13s499 load 27 args @@ -59541,8 +60011,8 @@ call 34 pith_cstring_release void 1 25 call 35 pith_cstring_release void 1 30 load 36 tid_void ret 36 -label L3711 -label L3709 +label L3768 +label L3766 load 37 args iconst 38 0 call 39 pith_list_get_value_strict int 2 37 38 @@ -59557,53 +60027,53 @@ load 47 scope_id call 48 checker_check_argument_type void 3 45 46 47 load 49 tid_void ret 49 -label L3708 -label L3706 +label L3765 +label L3763 load 50 method strref 51 m13s454 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L3713 L3714 -label L3713 +brif 52 L3770 L3771 +label L3770 load 54 method load 55 args call 56 checker_expect_no_arguments void 2 54 55 load 57 tid_int ret 57 -label L3714 -label L3712 +label L3771 +label L3769 load 58 method strref 59 m13s488 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L3716 L3717 -label L3716 +brif 60 L3773 L3774 +label L3773 load 62 method load 63 args call 64 checker_expect_no_arguments void 2 62 63 load 65 tid_bool ret 65 -label L3717 -label L3715 +label L3774 +label L3772 load 66 method strref 67 m13s487 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 -brif 68 L3719 L3720 -label L3719 +brif 68 L3776 L3777 +label L3776 load 70 method load 71 args call 72 checker_expect_no_arguments void 2 70 71 load 73 tid_void ret 73 -label L3720 -label L3718 +label L3777 +label L3775 load 74 method strref 75 m13s498 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L3722 L3723 -label L3722 +brif 76 L3779 L3780 +label L3779 load 78 method load 79 args load 80 key_t @@ -59611,14 +60081,14 @@ load 81 scope_id call 82 checker_expect_one_typed_argument void 4 78 79 80 81 load 83 tid_bool ret 83 -label L3723 -label L3721 +label L3780 +label L3778 load 84 method strref 85 m13s497 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L3725 L3726 -label L3725 +brif 86 L3782 L3783 +label L3782 load 88 method load 89 args load 90 key_t @@ -59629,20 +60099,20 @@ call 94 types_ti_optional struct:TypeInfo 1 93 call 95 types_add_type_info int 1 94 call 96 pith_struct_release void 1 94 ret 95 -label L3726 -label L3724 +label L3783 +label L3781 load 97 method strref 98 m13s496 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -brif 99 L3728 L3729 -label L3728 +brif 99 L3785 L3786 +label L3785 load 101 args call 102 pith_list_len int 1 101 iconst 103 2 neq 104 102 103 -brif 104 L3731 L3732 -label L3731 +brif 104 L3788 L3789 +label L3788 strref 105 m13s307 strref 106 m13s495 load 107 args @@ -59656,8 +60126,8 @@ call 114 pith_cstring_release void 1 105 call 115 pith_cstring_release void 1 110 load 116 val_t ret 116 -label L3732 -label L3730 +label L3789 +label L3787 load 117 args iconst 118 0 call 119 pith_list_get_value_strict int 2 117 118 @@ -59672,14 +60142,14 @@ load 127 scope_id call 128 checker_check_argument_type void 3 125 126 127 load 129 val_t ret 129 -label L3729 -label L3727 +label L3786 +label L3784 load 130 method strref 131 m13s485 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -brif 132 L3734 L3735 -label L3734 +brif 132 L3791 L3792 +label L3791 load 134 method load 135 args load 136 key_t @@ -59687,14 +60157,14 @@ load 137 scope_id call 138 checker_expect_one_typed_argument void 4 134 135 136 137 load 139 tid_void ret 139 -label L3735 -label L3733 +label L3792 +label L3790 load 140 method strref 141 m13s494 call 142 pith_cstring_eq bool 2 140 141 call 143 pith_cstring_release void 1 141 -brif 142 L3737 L3738 -label L3737 +brif 142 L3794 L3795 +label L3794 load 144 method load 145 args load 146 key_t @@ -59702,36 +60172,36 @@ load 147 scope_id call 148 checker_expect_one_typed_argument void 4 144 145 146 147 load 149 val_t ret 149 -label L3738 -label L3736 +label L3795 +label L3793 load 150 method strref 151 m13s493 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -brif 152 L3740 L3741 -label L3740 +brif 152 L3797 L3798 +label L3797 load 154 method load 155 args call 156 checker_expect_no_arguments void 2 154 155 load 157 key_t call 158 checker_type_intern_intern_list_type int 1 157 ret 158 -label L3741 -label L3739 +label L3798 +label L3796 load 159 method strref 160 m13s492 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -brif 161 L3743 L3744 -label L3743 +brif 161 L3800 L3801 +label L3800 load 163 method load 164 args call 165 checker_expect_no_arguments void 2 163 164 load 166 val_t call 167 checker_type_intern_intern_list_type int 1 166 ret 167 -label L3744 -label L3742 +label L3801 +label L3799 iconst 168 1 iconst 170 0 sub 169 170 168 @@ -59751,8 +60221,8 @@ load 6 method strref 7 m13s491 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3746 L3747 -label L3746 +brif 8 L3803 L3804 +label L3803 strref 10 m13s429 strref 11 m13s490 strref 12 m13s489 @@ -59762,14 +60232,14 @@ call 15 pith_cstring_release void 1 11 call 16 pith_cstring_release void 1 12 load 17 types_TID_ERR ret 17 -label L3747 -label L3745 +label L3804 +label L3802 load 18 method strref 19 m13s480 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L3749 L3750 -label L3749 +brif 20 L3806 L3807 +label L3806 load 22 method load 23 args load 24 elem @@ -59777,53 +60247,53 @@ load 25 scope_id call 26 checker_expect_one_typed_argument void 4 22 23 24 25 load 27 types_TID_VOID ret 27 -label L3750 -label L3748 +label L3807 +label L3805 load 28 method strref 29 m13s454 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L3752 L3753 -label L3752 +brif 30 L3809 L3810 +label L3809 load 32 method load 33 args call 34 checker_expect_no_arguments void 2 32 33 load 35 types_TID_INT ret 35 -label L3753 -label L3751 +label L3810 +label L3808 load 36 method strref 37 m13s488 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L3755 L3756 -label L3755 +brif 38 L3812 L3813 +label L3812 load 40 method load 41 args call 42 checker_expect_no_arguments void 2 40 41 load 43 types_TID_BOOL ret 43 -label L3756 -label L3754 +label L3813 +label L3811 load 44 method strref 45 m13s487 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L3758 L3759 -label L3758 +brif 46 L3815 L3816 +label L3815 load 48 method load 49 args call 50 checker_expect_no_arguments void 2 48 49 load 51 types_TID_VOID ret 51 -label L3759 -label L3757 +label L3816 +label L3814 load 52 method strref 53 m13s486 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L3761 L3762 -label L3761 +brif 54 L3818 L3819 +label L3818 load 56 method load 57 args load 58 elem @@ -59831,14 +60301,14 @@ load 59 scope_id call 60 checker_expect_one_typed_argument void 4 56 57 58 59 load 61 types_TID_BOOL ret 61 -label L3762 -label L3760 +label L3819 +label L3817 load 62 method strref 63 m13s485 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -brif 64 L3764 L3765 -label L3764 +brif 64 L3821 L3822 +label L3821 load 66 method load 67 args load 68 elem @@ -59846,8 +60316,8 @@ load 69 scope_id call 70 checker_expect_one_typed_argument void 4 66 67 68 69 load 71 types_TID_VOID ret 71 -label L3765 -label L3763 +label L3822 +label L3820 iconst 72 1 iconst 74 0 sub 73 74 72 @@ -59876,51 +60346,51 @@ load 13 type_name strref 14 m13s279 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L3767 L3768 -label L3767 +brif 15 L3824 L3825 +label L3824 load 17 method strref 18 m13s484 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L3770 L3771 -label L3770 +brif 19 L3827 L3828 +label L3827 strref 21 m13s483 load 22 args call 23 checker_expect_no_arguments void 2 21 22 call 24 pith_cstring_release void 1 21 load 25 tid_void ret 25 -label L3771 -label L3769 +label L3828 +label L3826 load 26 method strref 27 m13s482 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3773 L3774 -label L3773 +brif 28 L3830 L3831 +label L3830 strref 30 m13s481 load 31 args call 32 checker_expect_no_arguments void 2 30 31 call 33 pith_cstring_release void 1 30 load 34 tid_void ret 34 -label L3774 -label L3772 -jmp L3766 -label L3768 -label L3766 +label L3831 +label L3829 +jmp L3823 +label L3825 +label L3823 load 35 type_name strref 36 m13s278 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -brif 37 L3776 L3777 -label L3776 +brif 37 L3833 L3834 +label L3833 load 39 method strref 40 m13s480 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L3779 L3780 -label L3779 +brif 41 L3836 L3837 +label L3836 strref 43 m13s479 load 44 args load 45 tid_int @@ -59929,82 +60399,82 @@ call 47 checker_expect_one_typed_argument void 4 43 44 45 46 call 48 pith_cstring_release void 1 43 load 49 tid_void ret 49 -label L3780 -label L3778 +label L3837 +label L3835 load 50 method strref 51 m13s478 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L3782 L3783 -label L3782 +brif 52 L3839 L3840 +label L3839 strref 54 m13s477 load 55 args call 56 checker_expect_no_arguments void 2 54 55 call 57 pith_cstring_release void 1 54 load 58 tid_void ret 58 -label L3783 -label L3781 +label L3840 +label L3838 load 59 method strref 60 m13s476 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L3785 L3786 -label L3785 +brif 61 L3842 L3843 +label L3842 strref 63 m13s475 load 64 args call 65 checker_expect_no_arguments void 2 63 64 call 66 pith_cstring_release void 1 63 load 67 tid_void ret 67 -label L3786 -label L3784 -jmp L3775 -label L3777 -label L3775 +label L3843 +label L3841 +jmp L3832 +label L3834 +label L3832 load 68 type_name strref 69 m13s277 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -brif 70 L3788 L3789 -label L3788 +brif 70 L3845 L3846 +label L3845 load 72 method strref 73 m13s474 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -brif 74 L3791 L3792 -label L3791 +brif 74 L3848 L3849 +label L3848 strref 76 m13s473 load 77 args call 78 checker_expect_no_arguments void 2 76 77 call 79 pith_cstring_release void 1 76 load 80 tid_void ret 80 -label L3792 -label L3790 +label L3849 +label L3847 load 81 method strref 82 m13s472 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L3794 L3795 -label L3794 +brif 83 L3851 L3852 +label L3851 strref 85 m13s471 load 86 args call 87 checker_expect_no_arguments void 2 85 86 call 88 pith_cstring_release void 1 85 load 89 tid_void ret 89 -label L3795 -label L3793 -jmp L3787 -label L3789 -label L3787 +label L3852 +label L3850 +jmp L3844 +label L3846 +label L3844 load 90 type_name strref 91 m13s276 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -brif 92 L3797 L3798 -label L3797 +brif 92 L3854 L3855 +label L3854 strref 94 m13s12 call 95 types_lookup_type_id int 1 94 call 96 pith_cstring_release void 1 94 @@ -60013,22 +60483,22 @@ load 97 method strref 98 m13s470 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -brif 99 L3800 L3801 -label L3800 +brif 99 L3857 L3858 +label L3857 strref 101 m13s469 load 102 args call 103 checker_expect_no_arguments void 2 101 102 call 104 pith_cstring_release void 1 101 load 105 tid_int ret 105 -label L3801 -label L3799 +label L3858 +label L3856 load 106 method strref 107 m13s468 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 -brif 108 L3803 L3804 -label L3803 +brif 108 L3860 L3861 +label L3860 strref 110 m13s467 load 111 args load 112 tid_int @@ -60037,14 +60507,14 @@ call 114 checker_expect_one_typed_argument void 4 110 111 112 113 call 115 pith_cstring_release void 1 110 load 116 tid_void ret 116 -label L3804 -label L3802 +label L3861 +label L3859 load 117 method strref 118 m13s466 call 119 pith_cstring_eq bool 2 117 118 call 120 pith_cstring_release void 1 118 -brif 119 L3806 L3807 -label L3806 +brif 119 L3863 L3864 +label L3863 strref 121 m13s465 load 122 args load 123 tid_int @@ -60054,11 +60524,11 @@ call 126 checker_expect_two_typed_arguments void 5 121 122 123 124 125 call 127 pith_cstring_release void 1 121 load 128 tid_bool ret 128 -label L3807 -label L3805 -jmp L3796 -label L3798 -label L3796 +label L3864 +label L3862 +jmp L3853 +label L3855 +label L3853 load 129 tid_err ret 129 iconst 130 0 @@ -60088,8 +60558,8 @@ load 15 method strref 16 m13s381 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3809 L3810 -label L3809 +brif 17 L3866 L3867 +label L3866 strref 19 m13s464 load 20 args load 21 inner @@ -60098,14 +60568,14 @@ call 23 checker_expect_one_typed_argument void 4 19 20 21 22 call 24 pith_cstring_release void 1 19 load 25 tid_bool ret 25 -label L3810 -label L3808 +label L3867 +label L3865 load 26 method strref 27 m13s385 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3812 L3813 -label L3812 +brif 28 L3869 L3870 +label L3869 strref 30 m13s463 load 31 args call 32 checker_expect_no_arguments void 2 30 31 @@ -60115,14 +60585,14 @@ call 35 types_ti_optional struct:TypeInfo 1 34 call 36 types_add_type_info int 1 35 call 37 pith_struct_release void 1 35 ret 36 -label L3813 -label L3811 +label L3870 +label L3868 load 38 method strref 39 m13s462 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L3815 L3816 -label L3815 +brif 40 L3872 L3873 +label L3872 strref 42 m13s461 load 43 args load 44 inner @@ -60131,14 +60601,14 @@ call 46 checker_expect_one_typed_argument void 4 42 43 44 45 call 47 pith_cstring_release void 1 42 load 48 tid_bool ret 48 -label L3816 -label L3814 +label L3873 +label L3871 load 49 method strref 50 m13s460 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L3818 L3819 -label L3818 +brif 51 L3875 L3876 +label L3875 strref 53 m13s459 load 54 args call 55 checker_expect_no_arguments void 2 53 54 @@ -60148,64 +60618,64 @@ call 58 types_ti_optional struct:TypeInfo 1 57 call 59 types_add_type_info int 1 58 call 60 pith_struct_release void 1 58 ret 59 -label L3819 -label L3817 +label L3876 +label L3874 load 61 method strref 62 m13s458 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L3821 L3822 -label L3821 +brif 63 L3878 L3879 +label L3878 strref 65 m13s457 load 66 args call 67 checker_expect_no_arguments void 2 65 66 call 68 pith_cstring_release void 1 65 load 69 tid_bool ret 69 -label L3822 -label L3820 +label L3879 +label L3877 load 70 method strref 71 m13s456 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L3824 L3825 -label L3824 +brif 72 L3881 L3882 +label L3881 strref 74 m13s455 load 75 args call 76 checker_expect_no_arguments void 2 74 75 call 77 pith_cstring_release void 1 74 load 78 tid_bool ret 78 -label L3825 -label L3823 +label L3882 +label L3880 load 79 method strref 80 m13s454 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L3827 L3828 -label L3827 +brif 81 L3884 L3885 +label L3884 strref 83 m13s453 load 84 args call 85 checker_expect_no_arguments void 2 83 84 call 86 pith_cstring_release void 1 83 load 87 tid_int ret 87 -label L3828 -label L3826 +label L3885 +label L3883 load 88 method strref 89 m13s452 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -brif 90 L3830 L3831 -label L3830 +brif 90 L3887 L3888 +label L3887 strref 92 m13s451 load 93 args call 94 checker_expect_no_arguments void 2 92 93 call 95 pith_cstring_release void 1 92 load 96 tid_int ret 96 -label L3831 -label L3829 +label L3888 +label L3886 load 97 tid_err ret 97 iconst 98 0 @@ -60232,30 +60702,30 @@ load 13 method strref 14 m13s450 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L3833 L3834 -label L3833 +brif 15 L3890 L3891 +label L3890 strref 17 m13s449 load 18 args call 19 checker_expect_no_arguments void 2 17 18 call 20 pith_cstring_release void 1 17 load 21 tid_bool ret 21 -label L3834 -label L3832 +label L3891 +label L3889 load 22 method strref 23 m13s448 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L3836 L3837 -label L3836 +brif 24 L3893 L3894 +label L3893 strref 26 m13s447 load 27 args call 28 checker_expect_no_arguments void 2 26 27 call 29 pith_cstring_release void 1 26 load 30 tid_void ret 30 -label L3837 -label L3835 +label L3894 +label L3892 load 31 tid_err ret 31 iconst 32 0 @@ -60268,8 +60738,8 @@ load 2 args call 3 pith_list_len int 1 2 iconst 4 0 neq 5 3 4 -brif 5 L3839 L3840 -label L3839 +brif 5 L3896 L3897 +label L3896 strref 6 m13s307 load 7 method strref 8 m13s446 @@ -60284,9 +60754,9 @@ call 16 pith_cstring_release void 1 13 call 17 checker_diagnostics_report_error void 2 6 14 call 18 pith_cstring_release void 1 6 call 19 pith_cstring_release void 1 14 -jmp L3838 -label L3840 -label L3838 +jmp L3895 +label L3897 +label L3895 iconst 20 0 ret 20 endfunc @@ -60302,8 +60772,8 @@ load 6 args call 7 pith_list_len int 1 6 iconst 8 1 neq 9 7 8 -brif 9 L3842 L3843 -label L3842 +brif 9 L3899 L3900 +label L3899 strref 10 m13s307 load 11 method strref 12 m13s445 @@ -60320,8 +60790,8 @@ call 22 pith_cstring_release void 1 10 call 23 pith_cstring_release void 1 18 iconst 24 0 ret 24 -label L3843 -label L3841 +label L3900 +label L3898 load 25 args iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 @@ -60343,8 +60813,8 @@ load 6 args call 7 pith_list_len int 1 6 iconst 8 2 neq 9 7 8 -brif 9 L3845 L3846 -label L3845 +brif 9 L3902 L3903 +label L3902 strref 10 m13s307 load 11 method strref 12 m13s444 @@ -60361,8 +60831,8 @@ call 22 pith_cstring_release void 1 10 call 23 pith_cstring_release void 1 18 iconst 24 0 ret 24 -label L3846 -label L3844 +label L3903 +label L3901 load 25 args iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 @@ -60390,8 +60860,8 @@ load 6 args call 7 pith_list_len int 1 6 iconst 8 2 neq 9 7 8 -brif 9 L3848 L3849 -label L3848 +brif 9 L3905 L3906 +label L3905 strref 10 m13s307 load 11 method strref 12 m13s444 @@ -60408,8 +60878,8 @@ call 22 pith_cstring_release void 1 10 call 23 pith_cstring_release void 1 18 iconst 24 0 ret 24 -label L3849 -label L3847 +label L3906 +label L3904 load 25 args iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 @@ -60441,8 +60911,8 @@ load 9 args call 10 pith_list_len int 1 9 iconst 11 2 neq 12 10 11 -brif 12 L3851 L3852 -label L3851 +brif 12 L3908 L3909 +label L3908 strref 13 m13s307 load 14 method strref 15 m13s444 @@ -60459,8 +60929,8 @@ call 25 pith_cstring_release void 1 13 call 26 pith_cstring_release void 1 21 iconst 27 0 ret 27 -label L3852 -label L3850 +label L3909 +label L3907 load 28 args iconst 29 0 call 30 pith_list_get_value_strict int 2 28 29 @@ -60485,8 +60955,8 @@ load 4 args call 5 pith_list_len int 1 4 iconst 6 1 neq 7 5 6 -brif 7 L3854 L3855 -label L3854 +brif 7 L3911 L3912 +label L3911 strref 8 m13s307 load 9 method strref 10 m13s445 @@ -60503,8 +60973,8 @@ call 20 pith_cstring_release void 1 8 call 21 pith_cstring_release void 1 16 iconst 22 0 ret 22 -label L3855 -label L3853 +label L3912 +label L3910 load 23 args iconst 24 0 call 25 pith_list_get_value_strict int 2 23 24 @@ -60524,8 +60994,8 @@ load 5 args call 6 pith_list_len int 1 5 iconst 7 2 neq 8 6 7 -brif 8 L3857 L3858 -label L3857 +brif 8 L3914 L3915 +label L3914 strref 9 m13s307 load 10 method strref 11 m13s444 @@ -60542,8 +61012,8 @@ call 21 pith_cstring_release void 1 9 call 22 pith_cstring_release void 1 17 iconst 23 0 ret 23 -label L3858 -label L3856 +label L3915 +label L3913 load 24 args iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -60572,20 +61042,20 @@ load 7 actual call 8 types_is_error_type bool 1 7 iconst 9 0 eq 10 8 9 -brif 10 L3860 L3861 -label L3860 +brif 10 L3917 L3918 +label L3917 load 11 actual load 12 expected neq 13 11 12 -brif 13 L3863 L3864 -label L3863 +brif 13 L3920 L3921 +label L3920 load 14 actual load 15 expected call 16 checker_types_structurally_equal bool 2 14 15 iconst 17 0 eq 18 16 17 -brif 18 L3866 L3867 -label L3866 +brif 18 L3923 L3924 +label L3923 strref 19 m13s304 strref 20 m13s443 load 21 expected @@ -60605,15 +61075,15 @@ call 34 pith_cstring_release void 1 31 call 35 checker_diagnostics_report_error void 2 19 32 call 36 pith_cstring_release void 1 19 call 37 pith_cstring_release void 1 32 -jmp L3865 -label L3867 -label L3865 -jmp L3862 -label L3864 -label L3862 -jmp L3859 -label L3861 -label L3859 +jmp L3922 +label L3924 +label L3922 +jmp L3919 +label L3921 +label L3919 +jmp L3916 +label L3918 +label L3916 iconst 38 0 ret 38 endfunc @@ -60639,8 +61109,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 1 lt 13 11 12 -brif 13 L3869 L3870 -label L3869 +brif 13 L3926 L3927 +label L3926 load 14 types_TID_ERR load 15 field_name call 16 pith_cstring_release void 1 15 @@ -60657,8 +61127,8 @@ call 26 pith_cstring_release void 1 25 load 27 obj_info call 28 pith_struct_release void 1 27 ret 14 -label L3870 -label L3868 +label L3927 +label L3925 load 29 field_name load 30 node field 31 30 8 string value @@ -60680,8 +61150,8 @@ field 43 42 0 string kind strref 44 m13s293 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L3872 L3873 -label L3872 +brif 45 L3929 L3930 +label L3929 load 47 obj_name load 48 obj_node field 49 48 8 string value @@ -60691,8 +61161,8 @@ store obj_name 49 load 52 checker_module_aliases load 53 obj_name call 54 contains_key bool 2 52 53 -brif 54 L3875 L3876 -label L3875 +brif 54 L3932 L3933 +label L3932 load 55 module_path load 56 checker_module_aliases load 57 obj_name @@ -60717,8 +61187,8 @@ load 72 field_name call 73 checker_module_function_is_visible bool 2 71 72 iconst 75 1 sub 74 75 73 -brif 74 L3878 L3879 -label L3878 +brif 74 L3935 L3936 +label L3935 strref 76 m13s442 strref 77 m13s349 load 78 field_name @@ -60754,8 +61224,8 @@ call 107 pith_cstring_release void 1 106 load 108 obj_info call 109 pith_struct_release void 1 108 ret 95 -label L3879 -label L3877 +label L3936 +label L3934 load 110 scope_id load 111 module_name call 112 scope_lookup_binding int 2 110 111 @@ -60763,8 +61233,8 @@ store func_tid 112 load 113 func_tid iconst 114 0 gte 115 113 114 -brif 115 L3881 L3882 -label L3881 +brif 115 L3938 L3939 +label L3938 load 116 func_tid load 117 field_name call 118 pith_cstring_release void 1 117 @@ -60781,8 +61251,8 @@ call 128 pith_cstring_release void 1 127 load 129 obj_info call 130 pith_struct_release void 1 129 ret 116 -label L3882 -label L3880 +label L3939 +label L3937 load 131 scope_id load 132 qualified_name load 133 module_path @@ -60791,8 +61261,8 @@ store func_tid 134 load 135 func_tid iconst 136 0 gte 137 135 136 -brif 137 L3884 L3885 -label L3884 +brif 137 L3941 L3942 +label L3941 load 138 func_tid load 139 field_name call 140 pith_cstring_release void 1 139 @@ -60809,8 +61279,8 @@ call 150 pith_cstring_release void 1 149 load 151 obj_info call 152 pith_struct_release void 1 151 ret 138 -label L3885 -label L3883 +label L3942 +label L3940 load 153 scope_id load 154 field_name load 155 module_path @@ -60819,8 +61289,8 @@ store func_tid 156 load 157 func_tid iconst 158 0 gte 159 157 158 -brif 159 L3887 L3888 -label L3887 +brif 159 L3944 L3945 +label L3944 load 160 func_tid load 161 field_name call 162 pith_cstring_release void 1 161 @@ -60837,8 +61307,8 @@ call 172 pith_cstring_release void 1 171 load 173 obj_info call 174 pith_struct_release void 1 173 ret 160 -label L3888 -label L3886 +label L3945 +label L3943 strref 175 m13s429 strref 176 m13s440 load 177 obj_name @@ -60874,19 +61344,19 @@ call 206 pith_cstring_release void 1 205 load 207 obj_info call 208 pith_struct_release void 1 207 ret 194 -label L3876 -label L3874 -jmp L3871 -label L3873 -label L3871 +label L3933 +label L3931 +jmp L3928 +label L3930 +label L3928 load 209 obj_node_idx load 210 scope_id call 211 checker_c_check_expr int 2 209 210 store obj_type 211 load 212 obj_type call 213 types_is_error_type bool 1 212 -brif 213 L3890 L3891 -label L3890 +brif 213 L3947 L3948 +label L3947 load 214 types_TID_ERR load 215 field_name call 216 pith_cstring_release void 1 215 @@ -60903,8 +61373,8 @@ call 226 pith_cstring_release void 1 225 load 227 obj_info call 228 pith_struct_release void 1 227 ret 214 -label L3891 -label L3889 +label L3948 +label L3946 load 229 obj_info load 230 obj_type call 231 types_get_type_info struct:TypeInfo 1 230 @@ -60915,33 +61385,33 @@ field 234 233 0 string kind strref 235 m13s34 call 236 pith_cstring_eq bool 2 234 235 call 237 pith_cstring_release void 1 235 -brif 236 L3893 L3894 -label L3893 +brif 236 L3950 L3951 +label L3950 iconst 238 0 store fidx 238 -label L3895 +label L3952 load 239 fidx load 240 obj_info field 241 240 16 list_string fields call 242 pith_list_len int 1 241 lt 243 239 242 -brif 243 L3896 L3897 -label L3896 +brif 243 L3953 L3954 +label L3953 load 244 obj_info field 245 244 16 list_string fields load 246 fidx call 247 pith_list_get_value_strict string 2 245 246 load 248 field_name call 249 checker_strings_equal bool 2 247 248 -brif 249 L3899 L3900 -label L3899 +brif 249 L3956 L3957 +label L3956 load 250 fidx load 251 obj_info field 252 251 24 list field_types call 253 pith_list_len int 1 252 lt 254 250 253 -brif 254 L3902 L3903 -label L3902 +brif 254 L3959 L3960 +label L3959 load 255 obj_info field 256 255 24 list field_types load 257 fidx @@ -60961,8 +61431,8 @@ call 270 pith_cstring_release void 1 269 load 271 obj_info call 272 pith_struct_release void 1 271 ret 258 -label L3903 -label L3901 +label L3960 +label L3958 load 273 types_TID_ERR load 274 field_name call 275 pith_cstring_release void 1 274 @@ -60979,14 +61449,14 @@ call 285 pith_cstring_release void 1 284 load 286 obj_info call 287 pith_struct_release void 1 286 ret 273 -label L3900 -label L3898 +label L3957 +label L3955 load 288 fidx iconst 289 1 add 290 288 289 store fidx 290 -jmp L3895 -label L3897 +jmp L3952 +label L3954 strref 291 m13s429 load 292 obj_type call 293 types_get_type_name string 1 292 @@ -61020,23 +61490,23 @@ call 320 pith_cstring_release void 1 319 load 321 obj_info call 322 pith_struct_release void 1 321 ret 308 -label L3894 -label L3892 +label L3951 +label L3949 load 323 obj_info field 324 323 0 string kind strref 325 m13s27 call 326 pith_cstring_eq bool 2 324 325 call 327 pith_cstring_release void 1 325 -brif 326 L3905 L3906 -label L3905 +brif 326 L3962 L3963 +label L3962 load 328 field_name call 329 checker_parse_integer_string int 1 328 store idx 329 load 330 idx iconst 331 0 lt 332 330 331 -brif 332 L3908 L3909 -label L3908 +brif 332 L3965 L3966 +label L3965 strref 333 m13s429 strref 334 m13s438 call 335 checker_diagnostics_report_error void 2 333 334 @@ -61058,15 +61528,15 @@ call 350 pith_cstring_release void 1 349 load 351 obj_info call 352 pith_struct_release void 1 351 ret 338 -label L3909 -label L3907 +label L3966 +label L3964 load 353 idx load 354 obj_info field 355 354 88 list elements call 356 pith_list_len int 1 355 gte 357 353 356 -brif 357 L3911 L3912 -label L3911 +brif 357 L3968 L3969 +label L3968 strref 358 m13s429 strref 359 m13s437 load 360 field_name @@ -61106,8 +61576,8 @@ call 393 pith_cstring_release void 1 392 load 394 obj_info call 395 pith_struct_release void 1 394 ret 381 -label L3912 -label L3910 +label L3969 +label L3967 load 396 obj_info field 397 396 88 list elements load 398 idx @@ -61127,37 +61597,37 @@ call 411 pith_cstring_release void 1 410 load 412 obj_info call 413 pith_struct_release void 1 412 ret 399 -label L3906 -label L3904 +label L3963 +label L3961 load 414 obj_info field 415 414 0 string kind strref 416 m13s28 call 417 pith_cstring_eq bool 2 415 416 call 418 pith_cstring_release void 1 416 -brif 417 L3914 L3915 -label L3914 +brif 417 L3971 L3972 +label L3971 strref 419 m13s12 call 420 types_lookup_type_id int 1 419 call 421 pith_cstring_release void 1 419 store tid_bool 420 iconst 422 0 -store __or_422_3919 422 +store __or_422_3976 422 load 423 field_name strref 424 m13s434 call 425 checker_strings_equal bool 2 423 424 call 426 pith_cstring_release void 1 424 -store __or_422_3919 425 -brif 425 L3920 L3919 -label L3919 +store __or_422_3976 425 +brif 425 L3977 L3976 +label L3976 load 427 field_name strref 428 m13s433 call 429 checker_strings_equal bool 2 427 428 call 430 pith_cstring_release void 1 428 -store __or_422_3919 429 -label L3920 -load 431 __or_422_3919 -brif 431 L3917 L3918 -label L3917 +store __or_422_3976 429 +label L3977 +load 431 __or_422_3976 +brif 431 L3974 L3975 +label L3974 load 432 tid_bool load 433 field_name call 434 pith_cstring_release void 1 433 @@ -61174,14 +61644,14 @@ call 444 pith_cstring_release void 1 443 load 445 obj_info call 446 pith_struct_release void 1 445 ret 432 -label L3918 -label L3916 +label L3975 +label L3973 load 447 field_name strref 448 m13s432 call 449 checker_strings_equal bool 2 447 448 call 450 pith_cstring_release void 1 448 -brif 449 L3922 L3923 -label L3922 +brif 449 L3979 L3980 +label L3979 load 451 obj_info field 452 451 64 int inner load 453 field_name @@ -61199,14 +61669,14 @@ call 464 pith_cstring_release void 1 463 load 465 obj_info call 466 pith_struct_release void 1 465 ret 452 -label L3923 -label L3921 +label L3980 +label L3978 load 467 field_name strref 468 m13s431 call 469 checker_strings_equal bool 2 467 468 call 470 pith_cstring_release void 1 468 -brif 469 L3925 L3926 -label L3925 +brif 469 L3982 L3983 +label L3982 load 471 obj_info field 472 471 80 int value_type load 473 field_name @@ -61224,8 +61694,8 @@ call 484 pith_cstring_release void 1 483 load 485 obj_info call 486 pith_struct_release void 1 485 ret 472 -label L3926 -label L3924 +label L3983 +label L3981 strref 487 m13s429 strref 488 m13s430 load 489 field_name @@ -61254,15 +61724,15 @@ call 511 pith_cstring_release void 1 510 load 512 obj_info call 513 pith_struct_release void 1 512 ret 499 -label L3915 -label L3913 +label L3972 +label L3970 load 514 obj_info field 515 514 0 string kind strref 516 m13s33 call 517 pith_cstring_eq bool 2 515 516 call 518 pith_cstring_release void 1 516 -brif 517 L3928 L3929 -label L3928 +brif 517 L3985 L3986 +label L3985 load 519 obj_type load 520 field_name call 521 pith_cstring_release void 1 520 @@ -61279,8 +61749,8 @@ call 531 pith_cstring_release void 1 530 load 532 obj_info call 533 pith_struct_release void 1 532 ret 519 -label L3929 -label L3927 +label L3986 +label L3984 strref 534 m13s429 load 535 obj_type call 536 types_get_type_name string 1 535 @@ -61339,27 +61809,27 @@ load 2 s call 3 string_len int 1 2 iconst 4 0 eq 5 3 4 -brif 5 L3931 L3932 -label L3931 +brif 5 L3988 L3989 +label L3988 iconst 6 1 iconst 8 0 sub 7 8 6 load 9 ch call 10 pith_cstring_release void 1 9 ret 7 -label L3932 -label L3930 +label L3989 +label L3987 iconst 11 0 store result 11 iconst 12 0 store i 12 -label L3933 +label L3990 load 13 i load 14 s call 15 string_len int 1 14 lt 16 13 15 -brif 16 L3934 L3935 -label L3934 +brif 16 L3991 L3992 +label L3991 load 17 ch load 18 s load 19 i @@ -61370,153 +61840,153 @@ load 22 ch strref 23 m13s427 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L3937 L3938 -label L3937 +brif 24 L3994 L3995 +label L3994 load 26 result iconst 27 10 mul 28 26 27 store result 28 -jmp L3936 -label L3938 +jmp L3993 +label L3995 load 29 ch strref 30 m13s426 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L3939 L3940 -label L3939 +brif 31 L3996 L3997 +label L3996 load 33 result iconst 34 10 mul 35 33 34 iconst 36 1 add 37 35 36 store result 37 -jmp L3936 -label L3940 +jmp L3993 +label L3997 load 38 ch strref 39 m13s425 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L3941 L3942 -label L3941 +brif 40 L3998 L3999 +label L3998 load 42 result iconst 43 10 mul 44 42 43 iconst 45 2 add 46 44 45 store result 46 -jmp L3936 -label L3942 +jmp L3993 +label L3999 load 47 ch strref 48 m13s424 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L3943 L3944 -label L3943 +brif 49 L4000 L4001 +label L4000 load 51 result iconst 52 10 mul 53 51 52 iconst 54 3 add 55 53 54 store result 55 -jmp L3936 -label L3944 +jmp L3993 +label L4001 load 56 ch strref 57 m13s423 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L3945 L3946 -label L3945 +brif 58 L4002 L4003 +label L4002 load 60 result iconst 61 10 mul 62 60 61 iconst 63 4 add 64 62 63 store result 64 -jmp L3936 -label L3946 +jmp L3993 +label L4003 load 65 ch strref 66 m13s422 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L3947 L3948 -label L3947 +brif 67 L4004 L4005 +label L4004 load 69 result iconst 70 10 mul 71 69 70 iconst 72 5 add 73 71 72 store result 73 -jmp L3936 -label L3948 +jmp L3993 +label L4005 load 74 ch strref 75 m13s421 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L3949 L3950 -label L3949 +brif 76 L4006 L4007 +label L4006 load 78 result iconst 79 10 mul 80 78 79 iconst 81 6 add 82 80 81 store result 82 -jmp L3936 -label L3950 +jmp L3993 +label L4007 load 83 ch strref 84 m13s420 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -brif 85 L3951 L3952 -label L3951 +brif 85 L4008 L4009 +label L4008 load 87 result iconst 88 10 mul 89 87 88 iconst 90 7 add 91 89 90 store result 91 -jmp L3936 -label L3952 +jmp L3993 +label L4009 load 92 ch strref 93 m13s419 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -brif 94 L3953 L3954 -label L3953 +brif 94 L4010 L4011 +label L4010 load 96 result iconst 97 10 mul 98 96 97 iconst 99 8 add 100 98 99 store result 100 -jmp L3936 -label L3954 +jmp L3993 +label L4011 load 101 ch strref 102 m13s418 call 103 pith_cstring_eq bool 2 101 102 call 104 pith_cstring_release void 1 102 -brif 103 L3955 L3956 -label L3955 +brif 103 L4012 L4013 +label L4012 load 105 result iconst 106 10 mul 107 105 106 iconst 108 9 add 109 107 108 store result 109 -jmp L3936 -label L3956 +jmp L3993 +label L4013 iconst 110 1 iconst 112 0 sub 111 112 110 load 113 ch call 114 pith_cstring_release void 1 113 ret 111 -label L3936 +label L3993 load 115 i iconst 116 1 add 117 115 116 store i 117 -jmp L3933 -label L3935 +jmp L3990 +label L3992 load 118 result load 119 ch call 120 pith_cstring_release void 1 119 @@ -61548,14 +62018,14 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -brif 16 L3958 L3959 -label L3958 +brif 16 L4015 L4016 +label L4015 load 17 types_TID_ERR load 18 obj_info call 19 pith_struct_release void 1 18 ret 17 -label L3959 -label L3957 +label L4016 +label L4014 load 20 node field 21 20 16 list children iconst 22 0 @@ -61572,24 +62042,24 @@ call 31 checker_c_check_expr int 2 29 30 store idx_type 31 load 32 obj_type call 33 types_is_error_type bool 1 32 -brif 33 L3961 L3962 -label L3961 +brif 33 L4018 L4019 +label L4018 load 34 types_TID_ERR load 35 obj_info call 36 pith_struct_release void 1 35 ret 34 -label L3962 -label L3960 +label L4019 +label L4017 load 37 idx_type call 38 types_is_error_type bool 1 37 -brif 38 L3964 L3965 -label L3964 +brif 38 L4021 L4022 +label L4021 load 39 types_TID_ERR load 40 obj_info call 41 pith_struct_release void 1 40 ret 39 -label L3965 -label L3963 +label L4022 +label L4020 load 42 obj_info load 43 obj_type call 44 types_get_type_info struct:TypeInfo 1 43 @@ -61600,8 +62070,8 @@ field 47 46 0 string kind strref 48 m13s29 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L3967 L3968 -label L3967 +brif 49 L4024 L4025 +label L4024 load 51 obj_info field 52 51 64 int inner store obj_type 52 @@ -61610,15 +62080,15 @@ load 54 obj_type call 55 types_get_type_info struct:TypeInfo 1 54 call 56 pith_struct_release void 1 53 store obj_info 55 -jmp L3966 -label L3968 +jmp L4023 +label L4025 load 57 obj_info field 58 57 0 string kind strref 59 m13s28 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L3969 L3970 -label L3969 +brif 60 L4026 L4027 +label L4026 load 62 obj_info field 63 62 64 int inner store obj_type 63 @@ -61627,20 +62097,20 @@ load 65 obj_type call 66 types_get_type_info struct:TypeInfo 1 65 call 67 pith_struct_release void 1 64 store obj_info 66 -jmp L3966 -label L3970 -label L3966 +jmp L4023 +label L4027 +label L4023 load 68 obj_type load 69 tid_string eq 70 68 69 -brif 70 L3972 L3973 -label L3972 +brif 70 L4029 L4030 +label L4029 load 71 idx_type call 72 types_is_integer_type bool 1 71 iconst 73 0 eq 74 72 73 -brif 74 L3975 L3976 -label L3975 +brif 74 L4032 L4033 +label L4032 strref 75 m13s413 strref 76 m13s417 load 77 idx_type @@ -61655,25 +62125,25 @@ load 85 types_TID_ERR load 86 obj_info call 87 pith_struct_release void 1 86 ret 85 -label L3976 -label L3974 +label L4033 +label L4031 load 88 tid_string load 89 obj_info call 90 pith_struct_release void 1 89 ret 88 -label L3973 -label L3971 +label L4030 +label L4028 load 91 obj_type load 92 tid_bytes eq 93 91 92 -brif 93 L3978 L3979 -label L3978 +brif 93 L4035 L4036 +label L4035 load 94 idx_type call 95 types_is_integer_type bool 1 94 iconst 96 0 eq 97 95 96 -brif 97 L3981 L3982 -label L3981 +brif 97 L4038 L4039 +label L4038 strref 98 m13s413 strref 99 m13s416 load 100 idx_type @@ -61688,27 +62158,27 @@ load 108 types_TID_ERR load 109 obj_info call 110 pith_struct_release void 1 109 ret 108 -label L3982 -label L3980 +label L4039 +label L4037 load 111 tid_int load 112 obj_info call 113 pith_struct_release void 1 112 ret 111 -label L3979 -label L3977 +label L4036 +label L4034 load 114 obj_info field 115 114 0 string kind strref 116 m13s22 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L3984 L3985 -label L3984 +brif 117 L4041 L4042 +label L4041 load 119 idx_type call 120 types_is_integer_type bool 1 119 iconst 121 0 eq 122 120 121 -brif 122 L3987 L3988 -label L3987 +brif 122 L4044 L4045 +label L4044 strref 123 m13s413 strref 124 m13s415 load 125 idx_type @@ -61723,28 +62193,28 @@ load 133 types_TID_ERR load 134 obj_info call 135 pith_struct_release void 1 134 ret 133 -label L3988 -label L3986 +label L4045 +label L4043 load 136 obj_info field 137 136 64 int inner load 138 obj_info call 139 pith_struct_release void 1 138 ret 137 -label L3985 -label L3983 +label L4042 +label L4040 load 140 obj_info field 141 140 0 string kind strref 142 m13s20 call 143 pith_cstring_eq bool 2 141 142 call 144 pith_cstring_release void 1 142 -brif 143 L3990 L3991 -label L3990 +brif 143 L4047 L4048 +label L4047 load 145 idx_type load 146 obj_info field 147 146 72 int key_type neq 148 145 147 -brif 148 L3993 L3994 -label L3993 +brif 148 L4050 L4051 +label L4050 strref 149 m13s413 strref 150 m13s414 load 151 obj_info @@ -61769,15 +62239,15 @@ load 169 types_TID_ERR load 170 obj_info call 171 pith_struct_release void 1 170 ret 169 -label L3994 -label L3992 +label L4051 +label L4049 load 172 obj_info field 173 172 80 int value_type load 174 obj_info call 175 pith_struct_release void 1 174 ret 173 -label L3991 -label L3989 +label L4048 +label L4046 strref 176 m13s413 load 177 obj_type call 178 types_get_type_name string 1 177 @@ -61809,16 +62279,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 1 lt 8 6 7 -brif 8 L3996 L3997 -label L3996 +brif 8 L4053 L4054 +label L4053 load 9 types_TID_ERR load 10 info call 11 pith_struct_release void 1 10 load 12 ret_info call 13 pith_struct_release void 1 12 ret 9 -label L3997 -label L3995 +label L4054 +label L4052 load 14 node field 15 14 16 list children iconst 16 0 @@ -61828,16 +62298,16 @@ call 19 checker_c_check_expr int 2 17 18 store inner 19 load 20 inner call 21 types_is_error_type bool 1 20 -brif 21 L3999 L4000 -label L3999 +brif 21 L4056 L4057 +label L4056 load 22 types_TID_ERR load 23 info call 24 pith_struct_release void 1 23 load 25 ret_info call 26 pith_struct_release void 1 25 ret 22 -label L4000 -label L3998 +label L4057 +label L4055 load 27 info load 28 inner call 29 types_get_type_info struct:TypeInfo 1 28 @@ -61848,11 +62318,11 @@ field 32 31 0 string kind strref 33 m13s29 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L4002 L4003 -label L4002 +brif 34 L4059 L4060 +label L4059 load 36 checker_checking_test_decl -brif 36 L4005 L4006 -label L4005 +brif 36 L4062 L4063 +label L4062 load 37 info field 38 37 64 int inner load 39 info @@ -61860,16 +62330,16 @@ call 40 pith_struct_release void 1 39 load 41 ret_info call 42 pith_struct_release void 1 41 ret 38 -label L4006 -label L4004 +label L4063 +label L4061 load 43 scope_id call 44 scope_get_scope_return_type int 1 43 store ret 44 load 45 ret iconst 46 0 lt 47 45 46 -brif 47 L4008 L4009 -label L4008 +brif 47 L4065 L4066 +label L4065 strref 48 m13s411 strref 49 m13s410 strref 50 m13s409 @@ -61883,8 +62353,8 @@ call 57 pith_struct_release void 1 56 load 58 ret_info call 59 pith_struct_release void 1 58 ret 55 -label L4009 -label L4007 +label L4066 +label L4064 load 60 ret_info load 61 ret call 62 types_get_type_info struct:TypeInfo 1 61 @@ -61897,8 +62367,8 @@ call 68 pith_cstring_eq bool 2 65 66 iconst 69 1 sub 67 69 68 call 70 pith_cstring_release void 1 66 -brif 67 L4011 L4012 -label L4011 +brif 67 L4068 L4069 +label L4068 strref 71 m13s411 strref 72 m13s410 strref 73 m13s409 @@ -61912,8 +62382,8 @@ call 80 pith_struct_release void 1 79 load 81 ret_info call 82 pith_struct_release void 1 81 ret 78 -label L4012 -label L4010 +label L4069 +label L4067 load 83 info field 84 83 64 int inner load 85 info @@ -61921,15 +62391,15 @@ call 86 pith_struct_release void 1 85 load 87 ret_info call 88 pith_struct_release void 1 87 ret 84 -label L4003 -label L4001 +label L4060 +label L4058 load 89 info field 90 89 0 string kind strref 91 m13s28 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -brif 92 L4014 L4015 -label L4014 +brif 92 L4071 L4072 +label L4071 strref 94 m13s398 strref 95 m13s407 load 96 inner @@ -61942,8 +62412,8 @@ 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 L4013 -label L4015 +jmp L4070 +label L4072 strref 106 m13s398 strref 107 m13s407 load 108 inner @@ -61956,7 +62426,7 @@ 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 call 117 pith_cstring_release void 1 113 -label L4013 +label L4070 load 118 types_TID_ERR load 119 info call 120 pith_struct_release void 1 119 @@ -61982,16 +62452,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 1 lt 8 6 7 -brif 8 L4017 L4018 -label L4017 +brif 8 L4074 L4075 +label L4074 load 9 types_TID_ERR load 10 info call 11 pith_struct_release void 1 10 load 12 ret_info call 13 pith_struct_release void 1 12 ret 9 -label L4018 -label L4016 +label L4075 +label L4073 load 14 node field 15 14 16 list children iconst 16 0 @@ -62001,16 +62471,16 @@ call 19 checker_c_check_expr int 2 17 18 store inner 19 load 20 inner call 21 types_is_error_type bool 1 20 -brif 21 L4020 L4021 -label L4020 +brif 21 L4077 L4078 +label L4077 load 22 types_TID_ERR load 23 info call 24 pith_struct_release void 1 23 load 25 ret_info call 26 pith_struct_release void 1 25 ret 22 -label L4021 -label L4019 +label L4078 +label L4076 load 27 info load 28 inner call 29 types_get_type_info struct:TypeInfo 1 28 @@ -62021,11 +62491,11 @@ field 32 31 0 string kind strref 33 m13s28 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L4023 L4024 -label L4023 +brif 34 L4080 L4081 +label L4080 load 36 checker_checking_test_decl -brif 36 L4026 L4027 -label L4026 +brif 36 L4083 L4084 +label L4083 load 37 info field 38 37 64 int inner load 39 info @@ -62033,16 +62503,16 @@ call 40 pith_struct_release void 1 39 load 41 ret_info call 42 pith_struct_release void 1 41 ret 38 -label L4027 -label L4025 +label L4084 +label L4082 load 43 scope_id call 44 scope_get_scope_return_type int 1 43 store ret 44 load 45 ret iconst 46 0 lt 47 45 46 -brif 47 L4029 L4030 -label L4029 +brif 47 L4086 L4087 +label L4086 strref 48 m13s404 strref 49 m13s405 call 50 checker_diagnostics_report_error void 2 48 49 @@ -62054,8 +62524,8 @@ call 55 pith_struct_release void 1 54 load 56 ret_info call 57 pith_struct_release void 1 56 ret 53 -label L4030 -label L4028 +label L4087 +label L4085 load 58 ret_info load 59 ret call 60 types_get_type_info struct:TypeInfo 1 59 @@ -62068,8 +62538,8 @@ call 66 pith_cstring_eq bool 2 63 64 iconst 67 1 sub 65 67 66 call 68 pith_cstring_release void 1 64 -brif 65 L4032 L4033 -label L4032 +brif 65 L4089 L4090 +label L4089 strref 69 m13s404 strref 70 m13s405 call 71 checker_diagnostics_report_error void 2 69 70 @@ -62081,8 +62551,8 @@ call 76 pith_struct_release void 1 75 load 77 ret_info call 78 pith_struct_release void 1 77 ret 74 -label L4033 -label L4031 +label L4090 +label L4088 load 79 info field 80 79 80 int value_type load 81 ret_info @@ -62090,8 +62560,8 @@ field 82 81 80 int value_type call 83 checker_types_compatible bool 2 80 82 iconst 84 0 eq 85 83 84 -brif 85 L4035 L4036 -label L4035 +brif 85 L4092 L4093 +label L4092 strref 86 m13s404 strref 87 m13s403 load 88 info @@ -62118,8 +62588,8 @@ call 108 pith_struct_release void 1 107 load 109 ret_info call 110 pith_struct_release void 1 109 ret 106 -label L4036 -label L4034 +label L4093 +label L4091 load 111 info field 112 111 64 int inner load 113 info @@ -62127,15 +62597,15 @@ call 114 pith_struct_release void 1 113 load 115 ret_info call 116 pith_struct_release void 1 115 ret 112 -label L4024 -label L4022 +label L4081 +label L4079 load 117 info field 118 117 0 string kind strref 119 m13s29 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L4038 L4039 -label L4038 +brif 120 L4095 L4096 +label L4095 strref 122 m13s398 strref 123 m13s400 load 124 inner @@ -62148,8 +62618,8 @@ 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 L4037 -label L4039 +jmp L4094 +label L4096 strref 134 m13s398 strref 135 m13s400 load 136 inner @@ -62162,7 +62632,7 @@ 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 call 145 pith_cstring_release void 1 141 -label L4037 +label L4094 load 146 types_TID_ERR load 147 info call 148 pith_struct_release void 1 147 @@ -62186,14 +62656,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L4041 L4042 -label L4041 +brif 7 L4098 L4099 +label L4098 load 8 types_TID_ERR load 9 result_info call 10 pith_struct_release void 1 9 ret 8 -label L4042 -label L4040 +label L4099 +label L4097 load 11 node field 12 11 16 list children iconst 13 0 @@ -62203,14 +62673,14 @@ call 16 checker_c_check_expr int 2 14 15 store result_type 16 load 17 result_type call 18 types_is_error_type bool 1 17 -brif 18 L4044 L4045 -label L4044 +brif 18 L4101 L4102 +label L4101 load 19 types_TID_ERR load 20 result_info call 21 pith_struct_release void 1 20 ret 19 -label L4045 -label L4043 +label L4102 +label L4100 load 22 result_info load 23 result_type call 24 types_get_type_info struct:TypeInfo 1 23 @@ -62223,8 +62693,8 @@ call 30 pith_cstring_eq bool 2 27 28 iconst 31 1 sub 29 31 30 call 32 pith_cstring_release void 1 28 -brif 29 L4047 L4048 -label L4047 +brif 29 L4104 L4105 +label L4104 strref 33 m13s398 strref 34 m13s397 load 35 result_type @@ -62239,8 +62709,8 @@ load 43 types_TID_ERR load 44 result_info call 45 pith_struct_release void 1 44 ret 43 -label L4048 -label L4046 +label L4105 +label L4103 load 46 node field 47 46 16 list children iconst 48 1 @@ -62250,22 +62720,22 @@ call 51 checker_c_check_expr int 2 49 50 store fallback_type 51 load 52 fallback_type call 53 types_is_error_type bool 1 52 -brif 53 L4050 L4051 -label L4050 +brif 53 L4107 L4108 +label L4107 load 54 types_TID_ERR load 55 result_info call 56 pith_struct_release void 1 55 ret 54 -label L4051 -label L4049 +label L4108 +label L4106 load 57 fallback_type load 58 result_info field 59 58 64 int inner call 60 checker_types_compatible bool 2 57 59 iconst 61 0 eq 62 60 61 -brif 62 L4053 L4054 -label L4053 +brif 62 L4110 L4111 +label L4110 strref 63 m13s304 strref 64 m13s396 load 65 result_info @@ -62290,8 +62760,8 @@ load 83 types_TID_ERR load 84 result_info call 85 pith_struct_release void 1 84 ret 83 -label L4054 -label L4052 +label L4111 +label L4109 load 86 result_info field 87 86 64 int inner load 88 result_info @@ -62312,8 +62782,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 0 eq 7 5 6 -brif 7 L4056 L4057 -label L4056 +brif 7 L4113 L4114 +label L4113 strref 8 m13s289 strref 9 m13s395 call 10 checker_diagnostics_report_error void 2 8 9 @@ -62323,8 +62793,8 @@ load 13 types_TID_ERR load 14 arm_node call 15 pith_struct_release void 1 14 ret 13 -label L4057 -label L4055 +label L4114 +label L4112 load 16 types_TID_ERR store result_type 16 iconst 17 0 @@ -62338,12 +62808,12 @@ iconst 22 0 store __for_idx_178 22 store __for_len_178 21 store __for_iter_178 20 -label L4058 +label L4115 load 23 __for_idx_178 load 24 __for_len_178 lt 25 23 24 -brif 25 L4059 L4061 -label L4059 +brif 25 L4116 L4118 +label L4116 load 26 __for_iter_178 load 27 __for_idx_178 call 28 pith_list_get_value unknown 2 26 27 @@ -62362,88 +62832,88 @@ field 37 36 0 string kind strref 38 m13s388 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L4063 L4064 -label L4063 +brif 39 L4120 L4121 +label L4120 load 41 saw_default -brif 41 L4066 L4067 -label L4066 +brif 41 L4123 L4124 +label L4123 strref 42 m13s289 strref 43 m13s394 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 -jmp L4065 -label L4067 -label L4065 +jmp L4122 +label L4124 +label L4122 iconst 47 1 store saw_default 47 -jmp L4062 -label L4064 +jmp L4119 +label L4121 load 48 arm_node field 49 48 0 string kind strref 50 m13s389 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L4068 L4069 -label L4068 +brif 51 L4125 L4126 +label L4125 load 53 saw_timeout -brif 53 L4071 L4072 -label L4071 +brif 53 L4128 L4129 +label L4128 strref 54 m13s289 strref 55 m13s393 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 -jmp L4070 -label L4072 -label L4070 +jmp L4127 +label L4129 +label L4127 iconst 59 1 store saw_timeout 59 -jmp L4062 -label L4069 -label L4062 +jmp L4119 +label L4126 +label L4119 load 60 result_type call 61 types_is_error_type bool 1 60 -brif 61 L4074 L4075 -label L4074 +brif 61 L4131 L4132 +label L4131 load 62 arm_type store result_type 62 -jmp L4073 -label L4075 +jmp L4130 +label L4132 load 63 arm_type call 64 types_is_error_type bool 1 63 iconst 65 0 eq 66 64 65 -brif 66 L4076 L4077 -label L4076 +brif 66 L4133 L4134 +label L4133 load 67 arm_type load 68 result_type neq 69 67 68 -brif 69 L4079 L4080 -label L4079 +brif 69 L4136 L4137 +label L4136 load 70 arm_type load 71 result_type call 72 checker_types_structurally_equal bool 2 70 71 iconst 73 0 eq 74 72 73 -brif 74 L4082 L4083 -label L4082 +brif 74 L4139 L4140 +label L4139 iconst 75 0 -store __and_75_4087 75 +store __and_75_4144 75 load 76 arm_type load 77 types_TID_VOID neq 78 76 77 -store __and_75_4087 78 -brif 78 L4087 L4088 -label L4087 +store __and_75_4144 78 +brif 78 L4144 L4145 +label L4144 load 79 result_type load 80 types_TID_VOID neq 81 79 80 -store __and_75_4087 81 -label L4088 -load 82 __and_75_4087 -brif 82 L4085 L4086 -label L4085 +store __and_75_4144 81 +label L4145 +load 82 __and_75_4144 +brif 82 L4142 L4143 +label L4142 strref 83 m13s371 strref 84 m13s392 load 85 result_type @@ -62463,25 +62933,25 @@ call 98 pith_cstring_release void 1 95 call 99 checker_diagnostics_report_error void 2 83 96 call 100 pith_cstring_release void 1 83 call 101 pith_cstring_release void 1 96 -jmp L4084 -label L4086 -label L4084 -jmp L4081 -label L4083 -label L4081 -jmp L4078 -label L4080 -label L4078 -jmp L4073 -label L4077 -label L4073 -label L4060 +jmp L4141 +label L4143 +label L4141 +jmp L4138 +label L4140 +label L4138 +jmp L4135 +label L4137 +label L4135 +jmp L4130 +label L4134 +label L4130 +label L4117 load 102 __for_idx_178 iconst 103 1 add 104 102 103 store __for_idx_178 104 -jmp L4058 -label L4061 +jmp L4115 +label L4118 load 105 result_type load 106 arm_node call 107 pith_struct_release void 1 106 @@ -62499,54 +62969,54 @@ field 3 2 0 string kind strref 4 m13s391 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L4090 L4091 -label L4090 +brif 5 L4147 L4148 +label L4147 load 7 arm load 8 scope_id call 9 checker_check_select_recv_arm int 2 7 8 ret 9 -label L4091 -label L4089 +label L4148 +label L4146 load 10 arm field 11 10 0 string kind strref 12 m13s390 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L4093 L4094 -label L4093 +brif 13 L4150 L4151 +label L4150 load 15 arm load 16 scope_id call 17 checker_check_select_send_arm int 2 15 16 ret 17 -label L4094 -label L4092 +label L4151 +label L4149 load 18 arm field 19 18 0 string kind strref 20 m13s389 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L4096 L4097 -label L4096 +brif 21 L4153 L4154 +label L4153 load 23 arm load 24 scope_id call 25 checker_check_select_timeout_arm int 2 23 24 ret 25 -label L4097 -label L4095 +label L4154 +label L4152 load 26 arm field 27 26 0 string kind strref 28 m13s388 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L4099 L4100 -label L4099 +brif 29 L4156 L4157 +label L4156 load 31 arm iconst 32 0 load 33 scope_id call 34 checker_check_select_arm_body int 3 31 32 33 ret 34 -label L4100 -label L4098 +label L4157 +label L4155 strref 35 m13s289 strref 36 m13s387 call 37 checker_diagnostics_report_error void 2 35 36 @@ -62567,8 +63037,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L4102 L4103 -label L4102 +brif 7 L4159 L4160 +label L4159 strref 8 m13s289 strref 9 m13s386 call 10 checker_diagnostics_report_error void 2 8 9 @@ -62578,8 +63048,8 @@ load 13 types_TID_ERR load 14 recv_node call 15 pith_struct_release void 1 14 ret 13 -label L4103 -label L4101 +label L4160 +label L4158 load 16 recv_node load 17 arm field 18 17 16 list children @@ -62589,7 +63059,7 @@ call 21 ast_get_node struct:Node 1 20 call 22 pith_struct_release void 1 16 store recv_node 21 iconst 23 0 -store __or_23_4107 23 +store __or_23_4164 23 load 24 recv_node field 25 24 0 string kind strref 26 m13s382 @@ -62597,9 +63067,9 @@ call 28 pith_cstring_eq bool 2 25 26 iconst 29 1 sub 27 29 28 call 30 pith_cstring_release void 1 26 -store __or_23_4107 27 -brif 27 L4108 L4107 -label L4107 +store __or_23_4164 27 +brif 27 L4165 L4164 +label L4164 load 31 recv_node field 32 31 8 string value strref 33 m13s385 @@ -62607,11 +63077,11 @@ call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 call 37 pith_cstring_release void 1 33 -store __or_23_4107 34 -label L4108 -load 38 __or_23_4107 -brif 38 L4105 L4106 -label L4105 +store __or_23_4164 34 +label L4165 +load 38 __or_23_4164 +brif 38 L4162 L4163 +label L4162 strref 39 m13s289 strref 40 m13s384 call 41 checker_diagnostics_report_error void 2 39 40 @@ -62621,8 +63091,8 @@ load 44 types_TID_ERR load 45 recv_node call 46 pith_struct_release void 1 45 ret 44 -label L4106 -label L4104 +label L4163 +label L4161 load 47 arm field 48 47 16 list children iconst 49 0 @@ -62632,14 +63102,14 @@ call 52 checker_c_check_expr int 2 50 51 store recv_type 52 load 53 recv_type call 54 types_is_error_type bool 1 53 -brif 54 L4110 L4111 -label L4110 +brif 54 L4167 L4168 +label L4167 load 55 types_TID_ERR load 56 recv_node call 57 pith_struct_release void 1 56 ret 55 -label L4111 -label L4109 +label L4168 +label L4166 load 58 scope_id call 59 scope_create_scope int 1 58 store arm_scope 59 @@ -62671,8 +63141,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L4113 L4114 -label L4113 +brif 7 L4170 L4171 +label L4170 strref 8 m13s289 strref 9 m13s383 call 10 checker_diagnostics_report_error void 2 8 9 @@ -62682,8 +63152,8 @@ load 13 types_TID_ERR load 14 send_node call 15 pith_struct_release void 1 14 ret 13 -label L4114 -label L4112 +label L4171 +label L4169 load 16 send_node load 17 arm field 18 17 16 list children @@ -62693,7 +63163,7 @@ call 21 ast_get_node struct:Node 1 20 call 22 pith_struct_release void 1 16 store send_node 21 iconst 23 0 -store __or_23_4118 23 +store __or_23_4175 23 load 24 send_node field 25 24 0 string kind strref 26 m13s382 @@ -62701,9 +63171,9 @@ call 28 pith_cstring_eq bool 2 25 26 iconst 29 1 sub 27 29 28 call 30 pith_cstring_release void 1 26 -store __or_23_4118 27 -brif 27 L4119 L4118 -label L4118 +store __or_23_4175 27 +brif 27 L4176 L4175 +label L4175 load 31 send_node field 32 31 8 string value strref 33 m13s381 @@ -62711,11 +63181,11 @@ call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 call 37 pith_cstring_release void 1 33 -store __or_23_4118 34 -label L4119 -load 38 __or_23_4118 -brif 38 L4116 L4117 -label L4116 +store __or_23_4175 34 +label L4176 +load 38 __or_23_4175 +brif 38 L4173 L4174 +label L4173 strref 39 m13s289 strref 40 m13s380 call 41 checker_diagnostics_report_error void 2 39 40 @@ -62725,8 +63195,8 @@ load 44 types_TID_ERR load 45 send_node call 46 pith_struct_release void 1 45 ret 44 -label L4117 -label L4115 +label L4174 +label L4172 load 47 arm field 48 47 16 list children iconst 49 0 @@ -62736,19 +63206,19 @@ call 52 checker_c_check_expr int 2 50 51 store send_type 52 load 53 send_type call 54 types_is_error_type bool 1 53 -brif 54 L4121 L4122 -label L4121 +brif 54 L4178 L4179 +label L4178 load 55 types_TID_ERR load 56 send_node call 57 pith_struct_release void 1 56 ret 55 -label L4122 -label L4120 +label L4179 +label L4177 load 58 send_type load 59 types_TID_BOOL neq 60 58 59 -brif 60 L4124 L4125 -label L4124 +brif 60 L4181 L4182 +label L4181 strref 61 m13s289 strref 62 m13s379 call 63 checker_diagnostics_report_error void 2 61 62 @@ -62758,8 +63228,8 @@ load 66 types_TID_ERR load 67 send_node call 68 pith_struct_release void 1 67 ret 66 -label L4125 -label L4123 +label L4182 +label L4180 load 69 arm iconst 70 1 load 71 scope_id @@ -62780,8 +63250,8 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 2 lt 6 4 5 -brif 6 L4127 L4128 -label L4127 +brif 6 L4184 L4185 +label L4184 strref 7 m13s289 strref 8 m13s378 call 9 checker_diagnostics_report_error void 2 7 8 @@ -62789,8 +63259,8 @@ call 10 pith_cstring_release void 1 7 call 11 pith_cstring_release void 1 8 load 12 types_TID_ERR ret 12 -label L4128 -label L4126 +label L4185 +label L4183 load 13 arm field 14 13 16 list children iconst 15 0 @@ -62802,13 +63272,13 @@ load 19 timeout_type call 20 types_is_error_type bool 1 19 iconst 21 0 eq 22 20 21 -brif 22 L4130 L4131 -label L4130 +brif 22 L4187 L4188 +label L4187 load 23 timeout_type load 24 types_TID_INT neq 25 23 24 -brif 25 L4133 L4134 -label L4133 +brif 25 L4190 L4191 +label L4190 strref 26 m13s304 strref 27 m13s377 load 28 timeout_type @@ -62819,12 +63289,12 @@ call 32 pith_cstring_release void 1 29 call 33 checker_diagnostics_report_error void 2 26 30 call 34 pith_cstring_release void 1 26 call 35 pith_cstring_release void 1 30 -jmp L4132 -label L4134 -label L4132 -jmp L4129 -label L4131 -label L4129 +jmp L4189 +label L4191 +label L4189 +jmp L4186 +label L4188 +label L4186 load 36 arm iconst 37 1 load 38 scope_id @@ -62844,14 +63314,14 @@ load 5 arm field 6 5 16 list children call 7 pith_list_len int 1 6 gte 8 4 7 -brif 8 L4136 L4137 -label L4136 +brif 8 L4193 L4194 +label L4193 load 9 types_TID_VOID load 10 body_node call 11 pith_struct_release void 1 10 ret 9 -label L4137 -label L4135 +label L4194 +label L4192 load 12 body_node load 13 arm field 14 13 16 list children @@ -62865,21 +63335,21 @@ field 20 19 0 string kind strref 21 m13s320 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L4139 L4140 -label L4139 +brif 22 L4196 L4197 +label L4196 load 24 body_node field 25 24 16 list children call 26 pith_list_len int 1 25 iconst 27 0 eq 28 26 27 -brif 28 L4142 L4143 -label L4142 +brif 28 L4199 L4200 +label L4199 load 29 types_TID_VOID load 30 body_node call 31 pith_struct_release void 1 30 ret 29 -label L4143 -label L4141 +label L4200 +label L4198 load 32 body_node field 33 32 16 list children iconst 34 0 @@ -62889,15 +63359,15 @@ call 37 checker_c_check_expr int 2 35 36 load 38 body_node call 39 pith_struct_release void 1 38 ret 37 -label L4140 -label L4138 +label L4197 +label L4195 load 40 body_node field 41 40 0 string kind strref 42 m13s319 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L4145 L4146 -label L4145 +brif 43 L4202 L4203 +label L4202 load 45 body_node load 46 scope_id call 47 checker_check_block_statement void 2 45 46 @@ -62905,8 +63375,8 @@ load 48 types_TID_VOID load 49 body_node call 50 pith_struct_release void 1 49 ret 48 -label L4146 -label L4144 +label L4203 +label L4201 load 51 arm field 52 51 16 list children load 53 body_idx @@ -62931,14 +63401,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L4148 L4149 -label L4148 +brif 7 L4205 L4206 +label L4205 load 8 types_TID_ERR load 9 cn call 10 pith_struct_release void 1 9 ret 8 -label L4149 -label L4147 +label L4206 +label L4204 load 11 node field 12 11 16 list children iconst 13 0 @@ -62950,13 +63420,13 @@ load 17 cond call 18 types_is_error_type bool 1 17 iconst 19 0 eq 20 18 19 -brif 20 L4151 L4152 -label L4151 +brif 20 L4208 L4209 +label L4208 load 21 cond load 22 types_TID_BOOL neq 23 21 22 -brif 23 L4154 L4155 -label L4154 +brif 23 L4211 L4212 +label L4211 strref 24 m13s375 strref 25 m13s374 load 26 cond @@ -62967,12 +63437,12 @@ call 30 pith_cstring_release void 1 27 call 31 checker_diagnostics_report_error void 2 24 28 call 32 pith_cstring_release void 1 24 call 33 pith_cstring_release void 1 28 -jmp L4153 -label L4155 -label L4153 -jmp L4150 -label L4152 -label L4150 +jmp L4210 +label L4212 +label L4210 +jmp L4207 +label L4209 +label L4207 load 34 node field 35 34 16 list children iconst 36 1 @@ -62991,12 +63461,12 @@ iconst 45 0 store __for_idx_179 45 store __for_len_179 44 store __for_iter_179 43 -label L4156 +label L4213 load 46 __for_idx_179 load 47 __for_len_179 lt 48 46 47 -brif 48 L4157 L4159 -label L4157 +brif 48 L4214 L4216 +label L4214 load 49 __for_iter_179 load 50 __for_idx_179 call 51 pith_list_get_value unknown 2 49 50 @@ -63004,15 +63474,15 @@ store __loopvar_179_child 51 load 52 skip_br iconst 53 0 gt 54 52 53 -brif 54 L4161 L4162 -label L4161 +brif 54 L4218 L4219 +label L4218 load 55 skip_br iconst 56 1 sub 57 55 56 store skip_br 57 -jmp L4158 -label L4162 -label L4160 +jmp L4215 +label L4219 +label L4217 load 58 cn load 59 __loopvar_179_child call 60 ast_get_node struct:Node 1 59 @@ -63023,15 +63493,15 @@ field 63 62 0 string kind strref 64 m13s376 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -brif 65 L4164 L4165 -label L4164 +brif 65 L4221 L4222 +label L4221 load 67 cn field 68 67 16 list children call 69 pith_list_len int 1 68 iconst 70 2 gte 71 69 70 -brif 71 L4167 L4168 -label L4167 +brif 71 L4224 L4225 +label L4224 load 72 cn field 73 72 16 list children iconst 74 0 @@ -63043,13 +63513,13 @@ load 78 econd call 79 types_is_error_type bool 1 78 iconst 80 0 eq 81 79 80 -brif 81 L4170 L4171 -label L4170 +brif 81 L4227 L4228 +label L4227 load 82 econd load 83 types_TID_BOOL neq 84 82 83 -brif 84 L4173 L4174 -label L4173 +brif 84 L4230 L4231 +label L4230 strref 85 m13s375 strref 86 m13s374 load 87 econd @@ -63060,12 +63530,12 @@ call 91 pith_cstring_release void 1 88 call 92 checker_diagnostics_report_error void 2 85 89 call 93 pith_cstring_release void 1 85 call 94 pith_cstring_release void 1 89 -jmp L4172 -label L4174 -label L4172 -jmp L4169 -label L4171 -label L4169 +jmp L4229 +label L4231 +label L4229 +jmp L4226 +label L4228 +label L4226 load 95 cn field 96 95 16 list children iconst 97 1 @@ -63075,30 +63545,30 @@ call 100 checker_c_check_expr int 2 98 99 store etype 100 load 101 result_type call 102 types_is_error_type bool 1 101 -brif 102 L4176 L4177 -label L4176 +brif 102 L4233 L4234 +label L4233 load 103 etype store result_type 103 -jmp L4175 -label L4177 +jmp L4232 +label L4234 load 104 etype call 105 types_is_error_type bool 1 104 iconst 106 0 eq 107 105 106 -brif 107 L4178 L4179 -label L4178 +brif 107 L4235 L4236 +label L4235 load 108 etype load 109 result_type neq 110 108 109 -brif 110 L4181 L4182 -label L4181 +brif 110 L4238 L4239 +label L4238 load 111 etype load 112 result_type call 113 checker_types_structurally_equal bool 2 111 112 iconst 114 0 eq 115 113 114 -brif 115 L4184 L4185 -label L4184 +brif 115 L4241 L4242 +label L4241 strref 116 m13s371 strref 117 m13s373 load 118 result_type @@ -63118,50 +63588,50 @@ call 131 pith_cstring_release void 1 128 call 132 checker_diagnostics_report_error void 2 116 129 call 133 pith_cstring_release void 1 116 call 134 pith_cstring_release void 1 129 -jmp L4183 -label L4185 -label L4183 -jmp L4180 -label L4182 -label L4180 -jmp L4175 -label L4179 -label L4175 -jmp L4166 -label L4168 -label L4166 -jmp L4163 -label L4165 +jmp L4240 +label L4242 +label L4240 +jmp L4237 +label L4239 +label L4237 +jmp L4232 +label L4236 +label L4232 +jmp L4223 +label L4225 +label L4223 +jmp L4220 +label L4222 load 135 __loopvar_179_child load 136 scope_id call 137 checker_c_check_expr int 2 135 136 store etype 137 load 138 result_type call 139 types_is_error_type bool 1 138 -brif 139 L4187 L4188 -label L4187 +brif 139 L4244 L4245 +label L4244 load 140 etype store result_type 140 -jmp L4186 -label L4188 +jmp L4243 +label L4245 load 141 etype call 142 types_is_error_type bool 1 141 iconst 143 0 eq 144 142 143 -brif 144 L4189 L4190 -label L4189 +brif 144 L4246 L4247 +label L4246 load 145 etype load 146 result_type neq 147 145 146 -brif 147 L4192 L4193 -label L4192 +brif 147 L4249 L4250 +label L4249 load 148 etype load 149 result_type call 150 checker_types_structurally_equal bool 2 148 149 iconst 151 0 eq 152 150 151 -brif 152 L4195 L4196 -label L4195 +brif 152 L4252 L4253 +label L4252 strref 153 m13s371 strref 154 m13s373 load 155 result_type @@ -63181,23 +63651,23 @@ call 168 pith_cstring_release void 1 165 call 169 checker_diagnostics_report_error void 2 153 166 call 170 pith_cstring_release void 1 153 call 171 pith_cstring_release void 1 166 -jmp L4194 -label L4196 -label L4194 -jmp L4191 -label L4193 -label L4191 -jmp L4186 -label L4190 -label L4186 -label L4163 -label L4158 +jmp L4251 +label L4253 +label L4251 +jmp L4248 +label L4250 +label L4248 +jmp L4243 +label L4247 +label L4243 +label L4220 +label L4215 load 172 __for_idx_179 iconst 173 1 add 174 172 173 store __for_idx_179 174 -jmp L4156 -label L4159 +jmp L4213 +label L4216 load 175 result_type load 176 cn call 177 pith_struct_release void 1 176 @@ -63232,8 +63702,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -brif 16 L4198 L4199 -label L4198 +brif 16 L4255 L4256 +label L4255 load 17 types_TID_ERR load 18 node call 19 pith_struct_release void 1 18 @@ -63248,8 +63718,8 @@ call 27 pith_cstring_release void 1 26 load 28 pv call 29 pith_cstring_release void 1 28 ret 17 -label L4199 -label L4197 +label L4256 +label L4254 load 30 node field 31 30 16 list children iconst 32 0 @@ -63259,8 +63729,8 @@ call 35 checker_c_check_expr int 2 33 34 store subject_type 35 load 36 subject_type call 37 types_is_error_type bool 1 36 -brif 37 L4201 L4202 -label L4201 +brif 37 L4258 L4259 +label L4258 load 38 types_TID_ERR load 39 node call 40 pith_struct_release void 1 39 @@ -63275,8 +63745,8 @@ call 48 pith_cstring_release void 1 47 load 49 pv call 50 pith_cstring_release void 1 49 ret 38 -label L4202 -label L4200 +label L4259 +label L4257 load 51 types_TID_ERR store result_type 51 load 52 arm_values @@ -63292,12 +63762,12 @@ iconst 59 0 store __for_idx_180 59 store __for_len_180 58 store __for_iter_180 57 -label L4203 +label L4260 load 60 __for_idx_180 load 61 __for_len_180 lt 62 60 61 -brif 62 L4204 L4206 -label L4204 +brif 62 L4261 L4263 +label L4261 load 63 __for_iter_180 load 64 __for_idx_180 call 65 pith_list_get_value unknown 2 63 64 @@ -63305,15 +63775,15 @@ store __loopvar_180_child 65 load 66 skip_subj iconst 67 0 gt 68 66 67 -brif 68 L4208 L4209 -label L4208 +brif 68 L4265 L4266 +label L4265 load 69 skip_subj iconst 70 1 sub 71 69 70 store skip_subj 71 -jmp L4205 -label L4209 -label L4207 +jmp L4262 +label L4266 +label L4264 load 72 arm_node load 73 __loopvar_180_child call 74 ast_get_node struct:Node 1 73 @@ -63324,8 +63794,8 @@ field 77 76 0 string kind strref 78 m13s372 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -brif 79 L4211 L4212 -label L4211 +brif 79 L4268 L4269 +label L4268 load 81 arm_node load 82 subject_type load 83 scope_id @@ -63336,8 +63806,8 @@ field 86 85 16 list children call 87 pith_list_len int 1 86 iconst 88 0 gt 89 87 88 -brif 89 L4214 L4215 -label L4214 +brif 89 L4271 L4272 +label L4271 load 90 pat load 91 arm_node field 92 91 16 list children @@ -63351,8 +63821,8 @@ field 98 97 0 string kind strref 99 m13s358 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -brif 100 L4217 L4218 -label L4217 +brif 100 L4274 L4275 +label L4274 load 102 pat field 103 102 16 list children call 104 pith_auto_len int 1 103 @@ -63360,12 +63830,12 @@ iconst 105 0 store __for_idx_181 105 store __for_len_181 104 store __for_iter_181 103 -label L4219 +label L4276 load 106 __for_idx_181 load 107 __for_len_181 lt 108 106 107 -brif 108 L4220 L4222 -label L4220 +brif 108 L4277 L4279 +label L4277 load 109 __for_iter_181 load 110 __for_idx_181 call 111 pith_list_get_value unknown 2 109 110 @@ -63381,23 +63851,23 @@ load 118 av call 119 string_len int 1 118 iconst 120 0 gt 121 119 120 -brif 121 L4224 L4225 -label L4224 +brif 121 L4281 L4282 +label L4281 load 122 arm_values load 123 av call 124 pith_list_push_value void 2 122 123 -jmp L4223 -label L4225 -label L4223 -label L4221 +jmp L4280 +label L4282 +label L4280 +label L4278 load 125 __for_idx_181 iconst 126 1 add 127 125 126 store __for_idx_181 127 -jmp L4219 -label L4222 -jmp L4216 -label L4218 +jmp L4276 +label L4279 +jmp L4273 +label L4275 load 128 pv load 129 pat call 130 checker_collect_arm_pattern_bindings string 1 129 @@ -63407,54 +63877,54 @@ load 132 pv call 133 string_len int 1 132 iconst 134 0 gt 135 133 134 -brif 135 L4227 L4228 -label L4227 +brif 135 L4284 L4285 +label L4284 load 136 arm_values load 137 pv call 138 pith_list_push_value void 2 136 137 -jmp L4226 -label L4228 -label L4226 -label L4216 -jmp L4213 -label L4215 -label L4213 +jmp L4283 +label L4285 +label L4283 +label L4273 +jmp L4270 +label L4272 +label L4270 load 139 result_type call 140 types_is_error_type bool 1 139 -brif 140 L4230 L4231 -label L4230 +brif 140 L4287 L4288 +label L4287 load 141 arm_type store result_type 141 -jmp L4229 -label L4231 +jmp L4286 +label L4288 load 142 arm_type call 143 types_is_error_type bool 1 142 iconst 144 0 eq 145 143 144 -brif 145 L4232 L4233 -label L4232 +brif 145 L4289 L4290 +label L4289 load 146 arm_type load 147 result_type neq 148 146 147 -brif 148 L4235 L4236 -label L4235 +brif 148 L4292 L4293 +label L4292 load 149 arm_type load 150 types_TID_VOID neq 151 149 150 -brif 151 L4238 L4239 -label L4238 +brif 151 L4295 L4296 +label L4295 load 152 result_type load 153 types_TID_VOID neq 154 152 153 -brif 154 L4241 L4242 -label L4241 +brif 154 L4298 L4299 +label L4298 load 155 arm_type load 156 result_type call 157 checker_types_structurally_equal bool 2 155 156 iconst 158 0 eq 159 157 158 -brif 159 L4244 L4245 -label L4244 +brif 159 L4301 L4302 +label L4301 strref 160 m13s371 strref 161 m13s370 load 162 result_type @@ -63474,31 +63944,31 @@ call 175 pith_cstring_release void 1 172 call 176 checker_diagnostics_report_error void 2 160 173 call 177 pith_cstring_release void 1 160 call 178 pith_cstring_release void 1 173 -jmp L4243 -label L4245 -label L4243 -jmp L4240 -label L4242 -label L4240 -jmp L4237 -label L4239 -label L4237 -jmp L4234 -label L4236 -label L4234 -jmp L4229 -label L4233 -label L4229 -jmp L4210 -label L4212 -label L4210 -label L4205 +jmp L4300 +label L4302 +label L4300 +jmp L4297 +label L4299 +label L4297 +jmp L4294 +label L4296 +label L4294 +jmp L4291 +label L4293 +label L4291 +jmp L4286 +label L4290 +label L4286 +jmp L4267 +label L4269 +label L4267 +label L4262 load 179 __for_idx_180 iconst 180 1 add 181 179 180 store __for_idx_180 181 -jmp L4203 -label L4206 +jmp L4260 +label L4263 load 182 subject_type load 183 arm_values load 184 node_idx @@ -63545,16 +64015,16 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L4247 L4248 -label L4247 +brif 9 L4304 L4305 +label L4304 load 10 types_TID_ERR load 11 guard_node call 12 pith_struct_release void 1 11 load 13 body_node call 14 pith_struct_release void 1 13 ret 10 -label L4248 -label L4246 +label L4305 +label L4303 load 15 scope_id call 16 scope_create_scope int 1 15 store arm_scope 16 @@ -63572,8 +64042,8 @@ field 26 25 16 list children call 27 pith_list_len int 1 26 iconst 28 2 gt 29 27 28 -brif 29 L4250 L4251 -label L4250 +brif 29 L4307 L4308 +label L4307 load 30 guard_node load 31 arm field 32 31 16 list children @@ -63587,15 +64057,15 @@ field 38 37 0 string kind strref 39 m13s368 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L4253 L4254 -label L4253 +brif 40 L4310 L4311 +label L4310 load 42 guard_node field 43 42 16 list children call 44 pith_list_len int 1 43 iconst 45 0 gt 46 44 45 -brif 46 L4256 L4257 -label L4256 +brif 46 L4313 L4314 +label L4313 load 47 guard_node field 48 47 16 list children iconst 49 0 @@ -63607,13 +64077,13 @@ load 53 guard_type call 54 types_is_error_type bool 1 53 iconst 55 0 eq 56 54 55 -brif 56 L4259 L4260 -label L4259 +brif 56 L4316 L4317 +label L4316 load 57 guard_type load 58 types_TID_BOOL neq 59 57 58 -brif 59 L4262 L4263 -label L4262 +brif 59 L4319 L4320 +label L4319 strref 60 m13s367 strref 61 m13s366 load 62 guard_type @@ -63624,38 +64094,38 @@ call 66 pith_cstring_release void 1 63 call 67 checker_diagnostics_report_error void 2 60 64 call 68 pith_cstring_release void 1 60 call 69 pith_cstring_release void 1 64 -jmp L4261 -label L4263 -label L4261 -jmp L4258 -label L4260 -label L4258 -jmp L4255 -label L4257 -label L4255 +jmp L4318 +label L4320 +label L4318 +jmp L4315 +label L4317 +label L4315 +jmp L4312 +label L4314 +label L4312 iconst 70 2 store body_idx 70 -jmp L4252 -label L4254 -label L4252 -jmp L4249 -label L4251 -label L4249 +jmp L4309 +label L4311 +label L4309 +jmp L4306 +label L4308 +label L4306 load 71 body_idx load 72 arm field 73 72 16 list children call 74 pith_list_len int 1 73 gte 75 71 74 -brif 75 L4265 L4266 -label L4265 +brif 75 L4322 L4323 +label L4322 load 76 types_TID_VOID load 77 guard_node call 78 pith_struct_release void 1 77 load 79 body_node call 80 pith_struct_release void 1 79 ret 76 -label L4266 -label L4264 +label L4323 +label L4321 load 81 body_node load 82 arm field 83 82 16 list children @@ -63669,15 +64139,15 @@ field 89 88 0 string kind strref 90 m13s320 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -brif 91 L4268 L4269 -label L4268 +brif 91 L4325 L4326 +label L4325 load 93 body_node field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 0 gt 97 95 96 -brif 97 L4271 L4272 -label L4271 +brif 97 L4328 L4329 +label L4328 load 98 body_node field 99 98 16 list children iconst 100 0 @@ -63689,23 +64159,23 @@ call 105 pith_struct_release void 1 104 load 106 body_node call 107 pith_struct_release void 1 106 ret 103 -label L4272 -label L4270 +label L4329 +label L4327 load 108 types_TID_VOID load 109 guard_node call 110 pith_struct_release void 1 109 load 111 body_node call 112 pith_struct_release void 1 111 ret 108 -label L4269 -label L4267 +label L4326 +label L4324 load 113 body_node field 114 113 0 string kind strref 115 m13s319 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -brif 116 L4274 L4275 -label L4274 +brif 116 L4331 L4332 +label L4331 load 118 body_node load 119 arm_scope call 120 checker_check_block_statement void 2 118 119 @@ -63715,8 +64185,8 @@ call 123 pith_struct_release void 1 122 load 124 body_node call 125 pith_struct_release void 1 124 ret 121 -label L4275 -label L4273 +label L4332 +label L4330 load 126 arm field 127 126 16 list children load 128 body_idx @@ -63753,23 +64223,23 @@ field 10 9 0 string kind strref 11 m13s337 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L4277 L4278 -label L4277 +brif 12 L4334 L4335 +label L4334 load 14 pat call 15 pith_struct_release void 1 14 load 16 info call 17 pith_struct_release void 1 16 iconst 18 0 ret 18 -label L4278 -label L4276 +label L4335 +label L4333 load 19 pat field 20 19 0 string kind strref 21 m13s338 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L4280 L4281 -label L4280 +brif 22 L4337 L4338 +label L4337 load 24 info load 25 expected_type call 26 types_get_type_info struct:TypeInfo 1 25 @@ -63780,8 +64250,8 @@ field 29 28 0 string kind strref 30 m13s29 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L4283 L4284 -label L4283 +brif 31 L4340 L4341 +label L4340 load 33 scope_id load 34 pat field 35 34 8 string value @@ -63795,8 +64265,8 @@ load 42 info call 43 pith_struct_release void 1 42 iconst 44 0 ret 44 -label L4284 -label L4282 +label L4341 +label L4339 load 45 scope_id load 46 pat field 47 46 8 string value @@ -63809,21 +64279,21 @@ load 53 info call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L4281 -label L4279 +label L4338 +label L4336 load 56 pat field 57 56 0 string kind strref 58 m13s341 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -brif 59 L4286 L4287 -label L4286 +brif 59 L4343 L4344 +label L4343 load 61 expected_type call 62 types_is_integer_type bool 1 61 iconst 63 0 eq 64 62 63 -brif 64 L4289 L4290 -label L4289 +brif 64 L4346 L4347 +label L4346 strref 65 m13s348 strref 66 m13s365 load 67 expected_type @@ -63834,30 +64304,30 @@ call 71 pith_cstring_release void 1 68 call 72 checker_diagnostics_report_error void 2 65 69 call 73 pith_cstring_release void 1 65 call 74 pith_cstring_release void 1 69 -jmp L4288 -label L4290 -label L4288 +jmp L4345 +label L4347 +label L4345 load 75 pat call 76 pith_struct_release void 1 75 load 77 info call 78 pith_struct_release void 1 77 iconst 79 0 ret 79 -label L4287 -label L4285 +label L4344 +label L4342 load 80 pat field 81 80 0 string kind strref 82 m13s364 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L4292 L4293 -label L4292 +brif 83 L4349 L4350 +label L4349 load 85 expected_type call 86 types_is_integer_type bool 1 85 iconst 87 0 eq 88 86 87 -brif 88 L4295 L4296 -label L4295 +brif 88 L4352 L4353 +label L4352 strref 89 m13s348 strref 90 m13s363 load 91 expected_type @@ -63868,29 +64338,29 @@ call 95 pith_cstring_release void 1 92 call 96 checker_diagnostics_report_error void 2 89 93 call 97 pith_cstring_release void 1 89 call 98 pith_cstring_release void 1 93 -jmp L4294 -label L4296 -label L4294 +jmp L4351 +label L4353 +label L4351 load 99 pat call 100 pith_struct_release void 1 99 load 101 info call 102 pith_struct_release void 1 101 iconst 103 0 ret 103 -label L4293 -label L4291 +label L4350 +label L4348 load 104 pat field 105 104 0 string kind strref 106 m13s362 call 107 pith_cstring_eq bool 2 105 106 call 108 pith_cstring_release void 1 106 -brif 107 L4298 L4299 -label L4298 +brif 107 L4355 L4356 +label L4355 load 109 expected_type load 110 types_TID_FLOAT neq 111 109 110 -brif 111 L4301 L4302 -label L4301 +brif 111 L4358 L4359 +label L4358 strref 112 m13s348 strref 113 m13s361 load 114 expected_type @@ -63901,29 +64371,29 @@ call 118 pith_cstring_release void 1 115 call 119 checker_diagnostics_report_error void 2 112 116 call 120 pith_cstring_release void 1 112 call 121 pith_cstring_release void 1 116 -jmp L4300 -label L4302 -label L4300 +jmp L4357 +label L4359 +label L4357 load 122 pat call 123 pith_struct_release void 1 122 load 124 info call 125 pith_struct_release void 1 124 iconst 126 0 ret 126 -label L4299 -label L4297 +label L4356 +label L4354 load 127 pat field 128 127 0 string kind strref 129 m13s340 call 130 pith_cstring_eq bool 2 128 129 call 131 pith_cstring_release void 1 129 -brif 130 L4304 L4305 -label L4304 +brif 130 L4361 L4362 +label L4361 load 132 expected_type load 133 types_TID_STRING neq 134 132 133 -brif 134 L4307 L4308 -label L4307 +brif 134 L4364 L4365 +label L4364 strref 135 m13s348 strref 136 m13s360 load 137 expected_type @@ -63934,29 +64404,29 @@ call 141 pith_cstring_release void 1 138 call 142 checker_diagnostics_report_error void 2 135 139 call 143 pith_cstring_release void 1 135 call 144 pith_cstring_release void 1 139 -jmp L4306 -label L4308 -label L4306 +jmp L4363 +label L4365 +label L4363 load 145 pat call 146 pith_struct_release void 1 145 load 147 info call 148 pith_struct_release void 1 147 iconst 149 0 ret 149 -label L4305 -label L4303 +label L4362 +label L4360 load 150 pat field 151 150 0 string kind strref 152 m13s343 call 153 pith_cstring_eq bool 2 151 152 call 154 pith_cstring_release void 1 152 -brif 153 L4310 L4311 -label L4310 +brif 153 L4367 L4368 +label L4367 load 155 expected_type load 156 types_TID_BOOL neq 157 155 156 -brif 157 L4313 L4314 -label L4313 +brif 157 L4370 L4371 +label L4370 strref 158 m13s348 strref 159 m13s359 load 160 expected_type @@ -63967,39 +64437,39 @@ call 164 pith_cstring_release void 1 161 call 165 checker_diagnostics_report_error void 2 158 162 call 166 pith_cstring_release void 1 158 call 167 pith_cstring_release void 1 162 -jmp L4312 -label L4314 -label L4312 +jmp L4369 +label L4371 +label L4369 load 168 pat call 169 pith_struct_release void 1 168 load 170 info call 171 pith_struct_release void 1 170 iconst 172 0 ret 172 -label L4311 -label L4309 +label L4368 +label L4366 load 173 pat field 174 173 0 string kind strref 175 m13s336 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 -brif 176 L4316 L4317 -label L4316 +brif 176 L4373 L4374 +label L4373 load 178 pat call 179 pith_struct_release void 1 178 load 180 info call 181 pith_struct_release void 1 180 iconst 182 0 ret 182 -label L4317 -label L4315 +label L4374 +label L4372 load 183 pat field 184 183 0 string kind strref 185 m13s342 call 186 pith_cstring_eq bool 2 184 185 call 187 pith_cstring_release void 1 185 -brif 186 L4319 L4320 -label L4319 +brif 186 L4376 L4377 +label L4376 load 188 pat load 189 expected_type load 190 scope_id @@ -64010,15 +64480,15 @@ load 194 info call 195 pith_struct_release void 1 194 iconst 196 0 ret 196 -label L4320 -label L4318 +label L4377 +label L4375 load 197 pat field 198 197 0 string kind strref 199 m13s358 call 200 pith_cstring_eq bool 2 198 199 call 201 pith_cstring_release void 1 199 -brif 200 L4322 L4323 -label L4322 +brif 200 L4379 L4380 +label L4379 load 202 pat load 203 expected_type load 204 scope_id @@ -64029,15 +64499,15 @@ load 208 info call 209 pith_struct_release void 1 208 iconst 210 0 ret 210 -label L4323 -label L4321 +label L4380 +label L4378 load 211 pat field 212 211 0 string kind strref 213 m13s339 call 214 pith_cstring_eq bool 2 212 213 call 215 pith_cstring_release void 1 213 -brif 214 L4325 L4326 -label L4325 +brif 214 L4382 L4383 +label L4382 load 216 pat load 217 expected_type load 218 scope_id @@ -64048,8 +64518,8 @@ load 222 info call 223 pith_struct_release void 1 222 iconst 224 0 ret 224 -label L4326 -label L4324 +label L4383 +label L4381 load 225 pat call 226 pith_struct_release void 1 225 load 227 info @@ -64070,12 +64540,12 @@ iconst 7 0 store __for_idx_182 7 store __for_len_182 6 store __for_iter_182 5 -label L4327 +label L4384 load 8 __for_idx_182 load 9 __for_len_182 lt 10 8 9 -brif 10 L4328 L4330 -label L4328 +brif 10 L4385 L4387 +label L4385 load 11 __for_iter_182 load 12 __for_idx_182 call 13 pith_list_get_value unknown 2 11 12 @@ -64086,44 +64556,44 @@ call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 14 store alt_node 16 iconst 18 0 -store __or_18_4334 18 +store __or_18_4391 18 load 19 alt_node field 20 19 0 string kind strref 21 m13s338 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_18_4334 22 -brif 22 L4335 L4334 -label L4334 +store __or_18_4391 22 +brif 22 L4392 L4391 +label L4391 load 24 alt_node field 25 24 0 string kind strref 26 m13s337 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_18_4334 27 -label L4335 -load 29 __or_18_4334 -brif 29 L4332 L4333 -label L4332 +store __or_18_4391 27 +label L4392 +load 29 __or_18_4391 +brif 29 L4389 L4390 +label L4389 strref 30 m13s348 strref 31 m13s357 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 -jmp L4331 -label L4333 +jmp L4388 +label L4390 load 35 __loopvar_182_alt load 36 expected_type load 37 scope_id call 38 checker_check_pattern_match void 3 35 36 37 -label L4331 -label L4329 +label L4388 +label L4386 load 39 __for_idx_182 iconst 40 1 add 41 39 40 store __for_idx_182 41 -jmp L4327 -label L4330 +jmp L4384 +label L4387 load 42 alt_node call 43 pith_struct_release void 1 42 iconst 44 0 @@ -64154,8 +64624,8 @@ field 14 13 8 string 1 call 15 string_len int 1 14 iconst 16 0 eq 17 15 16 -brif 17 L4337 L4338 -label L4337 +brif 17 L4394 L4395 +label L4394 load 18 parts call 19 pith_struct_release void 1 18 load 20 type_name @@ -64168,8 +64638,8 @@ load 26 variant_fields call 27 pith_list_release_handle void 1 26 iconst 28 0 ret 28 -label L4338 -label L4336 +label L4395 +label L4393 load 29 type_name load 30 parts field 31 30 0 string 0 @@ -64188,8 +64658,8 @@ store enum_tid 40 load 41 enum_tid iconst 42 0 lt 43 41 42 -brif 43 L4340 L4341 -label L4340 +brif 43 L4397 L4398 +label L4397 strref 44 m13s310 strref 45 m13s311 load 46 type_name @@ -64210,13 +64680,13 @@ load 60 variant_fields call 61 pith_list_release_handle void 1 60 iconst 62 0 ret 62 -label L4341 -label L4339 +label L4398 +label L4396 load 63 enum_tid load 64 expected_type neq 65 63 64 -brif 65 L4343 L4344 -label L4343 +brif 65 L4400 L4401 +label L4400 strref 66 m13s348 strref 67 m13s356 load 68 type_name @@ -64246,8 +64716,8 @@ load 91 variant_fields call 92 pith_list_release_handle void 1 91 iconst 93 0 ret 93 -label L4344 -label L4342 +label L4401 +label L4399 load 94 enum_info load 95 enum_tid call 96 types_get_type_info struct:TypeInfo 1 95 @@ -64260,8 +64730,8 @@ call 102 pith_cstring_eq bool 2 99 100 iconst 103 1 sub 101 103 102 call 104 pith_cstring_release void 1 100 -brif 101 L4346 L4347 -label L4346 +brif 101 L4403 L4404 +label L4403 strref 105 m13s348 load 106 type_name strref 107 m13s354 @@ -64282,8 +64752,8 @@ load 121 variant_fields call 122 pith_list_release_handle void 1 121 iconst 123 0 ret 123 -label L4347 -label L4345 +label L4404 +label L4402 iconst 124 0 store found 124 iconst 125 0 @@ -64295,12 +64765,12 @@ iconst 129 0 store __for_idx_183 129 store __for_len_183 128 store __for_iter_183 127 -label L4348 +label L4405 load 130 __for_idx_183 load 131 __for_len_183 lt 132 130 131 -brif 132 L4349 L4351 -label L4349 +brif 132 L4406 L4408 +label L4406 load 133 __for_iter_183 load 134 __for_idx_183 call 135 pith_list_get_value_unchecked string 2 133 134 @@ -64308,8 +64778,8 @@ store __loopvar_183_v 135 load 136 __loopvar_183_v load 137 variant_name call 138 checker_strings_equal bool 2 136 137 -brif 138 L4353 L4354 -label L4353 +brif 138 L4410 L4411 +label L4410 iconst 139 1 store found 139 load 140 vidx @@ -64317,8 +64787,8 @@ load 141 enum_info field 142 141 104 list variant_types call 143 pith_list_len int 1 142 lt 144 140 143 -brif 144 L4356 L4357 -label L4356 +brif 144 L4413 L4414 +label L4413 load 145 variant_fields load 146 enum_info field 147 146 104 list variant_types @@ -64333,8 +64803,8 @@ call 154 pith_list_len int 1 153 load 155 variant_fields call 156 pith_list_len int 1 155 neq 157 154 156 -brif 157 L4359 L4360 -label L4359 +brif 157 L4416 L4417 +label L4416 strref 158 m13s346 load 159 variant_name strref 160 m13s353 @@ -64372,8 +64842,8 @@ load 191 variant_fields call 192 pith_list_release_handle void 1 191 iconst 193 0 ret 193 -label L4360 -label L4358 +label L4417 +label L4415 iconst 194 0 store fidx 194 load 195 pat @@ -64383,12 +64853,12 @@ iconst 198 0 store __for_idx_184 198 store __for_len_184 197 store __for_iter_184 196 -label L4361 +label L4418 load 199 __for_idx_184 load 200 __for_len_184 lt 201 199 200 -brif 201 L4362 L4364 -label L4362 +brif 201 L4419 L4421 +label L4419 load 202 __for_iter_184 load 203 __for_idx_184 call 204 pith_list_get_value unknown 2 202 203 @@ -64397,50 +64867,50 @@ load 205 fidx load 206 variant_fields call 207 pith_list_len int 1 206 lt 208 205 207 -brif 208 L4366 L4367 -label L4366 +brif 208 L4423 L4424 +label L4423 load 209 __loopvar_184_sub_pat load 210 variant_fields load 211 fidx call 212 pith_list_get_value_strict int 2 210 211 load 213 scope_id call 214 checker_check_pattern_match void 3 209 212 213 -jmp L4365 -label L4367 -label L4365 +jmp L4422 +label L4424 +label L4422 load 215 fidx iconst 216 1 add 217 215 216 store fidx 217 -label L4363 +label L4420 load 218 __for_idx_184 iconst 219 1 add 220 218 219 store __for_idx_184 220 -jmp L4361 -label L4364 -jmp L4355 -label L4357 -label L4355 -jmp L4352 -label L4354 -label L4352 +jmp L4418 +label L4421 +jmp L4412 +label L4414 +label L4412 +jmp L4409 +label L4411 +label L4409 load 221 vidx iconst 222 1 add 223 221 222 store vidx 223 -label L4350 +label L4407 load 224 __for_idx_183 iconst 225 1 add 226 224 225 store __for_idx_183 226 -jmp L4348 -label L4351 +jmp L4405 +label L4408 load 227 found iconst 228 0 eq 229 227 228 -brif 229 L4369 L4370 -label L4369 +brif 229 L4426 L4427 +label L4426 strref 230 m13s351 load 231 type_name strref 232 m13s350 @@ -64456,9 +64926,9 @@ call 241 pith_cstring_release void 1 238 call 242 checker_diagnostics_report_error void 2 230 239 call 243 pith_cstring_release void 1 230 call 244 pith_cstring_release void 1 239 -jmp L4368 -label L4370 -label L4368 +jmp L4425 +label L4427 +label L4425 load 245 parts call 246 pith_struct_release void 1 245 load 247 type_name @@ -64490,8 +64960,8 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -brif 11 L4372 L4373 -label L4372 +brif 11 L4429 L4430 +label L4429 strref 15 m13s348 strref 16 m13s347 load 17 expected_type @@ -64506,8 +64976,8 @@ load 25 info call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L4373 -label L4371 +label L4430 +label L4428 load 28 pat field 29 28 16 list children call 30 pith_list_len int 1 29 @@ -64515,8 +64985,8 @@ load 31 info field 32 31 88 list elements call 33 pith_list_len int 1 32 neq 34 30 33 -brif 34 L4375 L4376 -label L4375 +brif 34 L4432 L4433 +label L4432 strref 35 m13s346 strref 36 m13s345 load 37 pat @@ -64544,8 +65014,8 @@ load 58 info call 59 pith_struct_release void 1 58 iconst 60 0 ret 60 -label L4376 -label L4374 +label L4433 +label L4431 iconst 61 0 store i 61 load 62 pat @@ -64555,12 +65025,12 @@ iconst 65 0 store __for_idx_185 65 store __for_len_185 64 store __for_iter_185 63 -label L4377 +label L4434 load 66 __for_idx_185 load 67 __for_len_185 lt 68 66 67 -brif 68 L4378 L4380 -label L4378 +brif 68 L4435 L4437 +label L4435 load 69 __for_iter_185 load 70 __for_idx_185 call 71 pith_list_get_value unknown 2 69 70 @@ -64570,8 +65040,8 @@ load 73 info field 74 73 88 list elements call 75 pith_list_len int 1 74 lt 76 72 75 -brif 76 L4382 L4383 -label L4382 +brif 76 L4439 L4440 +label L4439 load 77 __loopvar_185_sub_pat load 78 info field 79 78 88 list elements @@ -64579,20 +65049,20 @@ load 80 i call 81 pith_list_get_value_strict int 2 79 80 load 82 scope_id call 83 checker_check_pattern_match void 3 77 81 82 -jmp L4381 -label L4383 -label L4381 +jmp L4438 +label L4440 +label L4438 load 84 i iconst 85 1 add 86 84 85 store i 86 -label L4379 +label L4436 load 87 __for_idx_185 iconst 88 1 add 89 87 88 store __for_idx_185 89 -jmp L4377 -label L4380 +jmp L4434 +label L4437 load 90 info call 91 pith_struct_release void 1 90 iconst 92 0 @@ -64609,38 +65079,38 @@ field 4 3 0 string kind strref 5 m13s337 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -brif 6 L4385 L4386 -label L4385 +brif 6 L4442 L4443 +label L4442 strref 8 m13s124 load 9 parts call 10 pith_struct_release void 1 9 load 11 sub call 12 pith_struct_release void 1 11 ret 8 -label L4386 -label L4384 +label L4443 +label L4441 load 13 pat field 14 13 0 string kind strref 15 m13s338 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L4388 L4389 -label L4388 +brif 16 L4445 L4446 +label L4445 strref 18 m13s124 load 19 parts call 20 pith_struct_release void 1 19 load 21 sub call 22 pith_struct_release void 1 21 ret 18 -label L4389 -label L4387 +label L4446 +label L4444 load 23 pat field 24 23 0 string kind strref 25 m13s343 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L4391 L4392 -label L4391 +brif 26 L4448 L4449 +label L4448 load 28 pat field 29 28 8 string value call 30 pith_cstring_retain void 1 29 @@ -64649,15 +65119,15 @@ call 32 pith_struct_release void 1 31 load 33 sub call 34 pith_struct_release void 1 33 ret 29 -label L4392 -label L4390 +label L4449 +label L4447 load 35 pat field 36 35 0 string kind strref 37 m13s342 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L4394 L4395 -label L4394 +brif 38 L4451 L4452 +label L4451 load 40 parts load 41 pat field 42 41 8 string value @@ -64669,8 +65139,8 @@ field 46 45 8 string 1 call 47 string_len int 1 46 iconst 48 0 gt 49 47 48 -brif 49 L4397 L4398 -label L4397 +brif 49 L4454 L4455 +label L4454 load 50 parts field 51 50 8 string 1 call 52 pith_cstring_retain void 1 51 @@ -64679,8 +65149,8 @@ call 54 pith_struct_release void 1 53 load 55 sub call 56 pith_struct_release void 1 55 ret 51 -label L4398 -label L4396 +label L4455 +label L4453 load 57 parts field 58 57 0 string 0 call 59 pith_cstring_retain void 1 58 @@ -64689,15 +65159,15 @@ call 61 pith_struct_release void 1 60 load 62 sub call 63 pith_struct_release void 1 62 ret 58 -label L4395 -label L4393 +label L4452 +label L4450 load 64 pat field 65 64 0 string kind strref 66 m13s341 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L4400 L4401 -label L4400 +brif 67 L4457 L4458 +label L4457 load 69 pat field 70 69 8 string value call 71 pith_cstring_retain void 1 70 @@ -64706,15 +65176,15 @@ call 73 pith_struct_release void 1 72 load 74 sub call 75 pith_struct_release void 1 74 ret 70 -label L4401 -label L4399 +label L4458 +label L4456 load 76 pat field 77 76 0 string kind strref 78 m13s340 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -brif 79 L4403 L4404 -label L4403 +brif 79 L4460 L4461 +label L4460 load 81 pat field 82 81 8 string value call 83 pith_cstring_retain void 1 82 @@ -64723,15 +65193,15 @@ call 85 pith_struct_release void 1 84 load 86 sub call 87 pith_struct_release void 1 86 ret 82 -label L4404 -label L4402 +label L4461 +label L4459 load 88 pat field 89 88 0 string kind strref 90 m13s339 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -brif 91 L4406 L4407 -label L4406 +brif 91 L4463 L4464 +label L4463 load 93 pat field 94 93 16 list children call 95 pith_auto_len int 1 94 @@ -64739,12 +65209,12 @@ iconst 96 0 store __for_idx_186 96 store __for_len_186 95 store __for_iter_186 94 -label L4408 +label L4465 load 97 __for_idx_186 load 98 __for_len_186 lt 99 97 98 -brif 99 L4409 L4411 -label L4409 +brif 99 L4466 L4468 +label L4466 load 100 __for_iter_186 load 101 __for_idx_186 call 102 pith_list_get_value unknown 2 100 101 @@ -64755,7 +65225,7 @@ call 105 ast_get_node struct:Node 1 104 call 106 pith_struct_release void 1 103 store sub 105 iconst 107 0 -store __and_107_4415 107 +store __and_107_4472 107 load 108 sub field 109 108 0 string kind strref 110 m13s338 @@ -64763,9 +65233,9 @@ call 112 pith_cstring_eq bool 2 109 110 iconst 113 1 sub 111 113 112 call 114 pith_cstring_release void 1 110 -store __and_107_4415 111 -brif 111 L4415 L4416 -label L4415 +store __and_107_4472 111 +brif 111 L4472 L4473 +label L4472 load 115 sub field 116 115 0 string kind strref 117 m13s337 @@ -64773,49 +65243,49 @@ call 119 pith_cstring_eq bool 2 116 117 iconst 120 1 sub 118 120 119 call 121 pith_cstring_release void 1 117 -store __and_107_4415 118 -label L4416 -load 122 __and_107_4415 -brif 122 L4413 L4414 -label L4413 +store __and_107_4472 118 +label L4473 +load 122 __and_107_4472 +brif 122 L4470 L4471 +label L4470 strref 123 m13s35 load 124 parts call 125 pith_struct_release void 1 124 load 126 sub call 127 pith_struct_release void 1 126 ret 123 -label L4414 -label L4412 -label L4410 +label L4471 +label L4469 +label L4467 load 128 __for_idx_186 iconst 129 1 add 130 128 129 store __for_idx_186 130 -jmp L4408 -label L4411 +jmp L4465 +label L4468 strref 131 m13s124 load 132 parts call 133 pith_struct_release void 1 132 load 134 sub call 135 pith_struct_release void 1 134 ret 131 -label L4407 -label L4405 +label L4464 +label L4462 load 136 pat field 137 136 0 string kind strref 138 m13s336 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L4418 L4419 -label L4418 +brif 139 L4475 L4476 +label L4475 strref 141 m13s334 load 142 parts call 143 pith_struct_release void 1 142 load 144 sub call 145 pith_struct_release void 1 144 ret 141 -label L4419 -label L4417 +label L4476 +label L4474 strref 146 m13s35 load 147 parts call 148 pith_struct_release void 1 147 @@ -64841,12 +65311,12 @@ iconst 6 0 store __for_idx_187 6 store __for_len_187 5 store __for_iter_187 4 -label L4420 +label L4477 load 7 __for_idx_187 load 8 __for_len_187 lt 9 7 8 -brif 9 L4421 L4423 -label L4421 +brif 9 L4478 L4480 +label L4478 load 10 __for_iter_187 load 11 __for_idx_187 call 12 pith_list_get_value_unchecked string 2 10 11 @@ -64855,34 +65325,34 @@ load 13 __loopvar_187_v strref 14 m13s124 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L4425 L4426 -label L4425 +brif 15 L4482 L4483 +label L4482 load 17 subj_info call 18 pith_struct_release void 1 17 iconst 19 0 ret 19 -label L4426 -label L4424 -label L4422 +label L4483 +label L4481 +label L4479 load 20 __for_idx_187 iconst 21 1 add 22 20 21 store __for_idx_187 22 -jmp L4420 -label L4423 +jmp L4477 +label L4480 load 23 subject_type load 24 types_TID_BOOL eq 25 23 24 -brif 25 L4428 L4429 -label L4428 +brif 25 L4485 L4486 +label L4485 load 26 arm_values call 27 checker_check_bool_exhaustiveness void 1 26 load 28 subj_info call 29 pith_struct_release void 1 28 iconst 30 0 ret 30 -label L4429 -label L4427 +label L4486 +label L4484 load 31 subj_info load 32 subject_type call 33 types_get_type_info struct:TypeInfo 1 32 @@ -64893,8 +65363,8 @@ field 36 35 0 string kind strref 37 m13s33 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L4431 L4432 -label L4431 +brif 38 L4488 L4489 +label L4488 load 40 subj_info load 41 arm_values call 42 checker_check_enum_exhaustiveness void 2 40 41 @@ -64902,15 +65372,15 @@ load 43 subj_info call 44 pith_struct_release void 1 43 iconst 45 0 ret 45 -label L4432 -label L4430 +label L4489 +label L4487 load 46 subj_info field 47 46 0 string kind strref 48 m13s29 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L4434 L4435 -label L4434 +brif 49 L4491 L4492 +label L4491 iconst 51 0 store has_some 51 iconst 52 0 @@ -64921,12 +65391,12 @@ iconst 55 0 store __for_idx_188 55 store __for_len_188 54 store __for_iter_188 53 -label L4436 +label L4493 load 56 __for_idx_188 load 57 __for_len_188 lt 58 56 57 -brif 58 L4437 L4439 -label L4437 +brif 58 L4494 L4496 +label L4494 load 59 __for_iter_188 load 60 __for_idx_188 call 61 pith_list_get_value_unchecked string 2 59 60 @@ -64935,83 +65405,83 @@ load 62 __loopvar_188_v strref 63 m13s335 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -brif 64 L4441 L4442 -label L4441 +brif 64 L4498 L4499 +label L4498 iconst 66 1 store has_some 66 -jmp L4440 -label L4442 +jmp L4497 +label L4499 load 67 __loopvar_188_v strref 68 m13s124 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L4443 L4444 -label L4443 +brif 69 L4500 L4501 +label L4500 iconst 71 1 store has_some 71 -jmp L4440 -label L4444 -label L4440 +jmp L4497 +label L4501 +label L4497 load 72 __loopvar_188_v strref 73 m13s334 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -brif 74 L4446 L4447 -label L4446 +brif 74 L4503 L4504 +label L4503 iconst 76 1 store has_none 76 -jmp L4445 -label L4447 +jmp L4502 +label L4504 load 77 __loopvar_188_v strref 78 m13s124 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -brif 79 L4448 L4449 -label L4448 +brif 79 L4505 L4506 +label L4505 iconst 81 1 store has_none 81 -jmp L4445 -label L4449 -label L4445 -label L4438 +jmp L4502 +label L4506 +label L4502 +label L4495 load 82 __for_idx_188 iconst 83 1 add 84 82 83 store __for_idx_188 84 -jmp L4436 -label L4439 +jmp L4493 +label L4496 load 85 has_some iconst 87 1 sub 86 87 85 -brif 86 L4451 L4452 -label L4451 +brif 86 L4508 L4509 +label L4508 strref 88 m13s326 strref 89 m13s333 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 -jmp L4450 -label L4452 -label L4450 +jmp L4507 +label L4509 +label L4507 load 93 has_none iconst 95 1 sub 94 95 93 -brif 94 L4454 L4455 -label L4454 +brif 94 L4511 L4512 +label L4511 strref 96 m13s326 strref 97 m13s332 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 -jmp L4453 -label L4455 -label L4453 +jmp L4510 +label L4512 +label L4510 load 101 subj_info call 102 pith_struct_release void 1 101 iconst 103 0 ret 103 -label L4435 -label L4433 +label L4492 +label L4490 strref 104 m13s326 strref 105 m13s331 call 106 checker_diagnostics_report_error void 2 104 105 @@ -65034,12 +65504,12 @@ iconst 5 0 store __for_idx_189 5 store __for_len_189 4 store __for_iter_189 3 -label L4456 +label L4513 load 6 __for_idx_189 load 7 __for_len_189 lt 8 6 7 -brif 8 L4457 L4459 -label L4457 +brif 8 L4514 L4516 +label L4514 load 9 __for_iter_189 load 10 __for_idx_189 call 11 pith_list_get_value_unchecked string 2 9 10 @@ -65048,57 +65518,57 @@ load 12 __loopvar_189_v strref 13 m13s330 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L4461 L4462 -label L4461 +brif 14 L4518 L4519 +label L4518 iconst 16 1 store has_true 16 -jmp L4460 -label L4462 -label L4460 +jmp L4517 +label L4519 +label L4517 load 17 __loopvar_189_v strref 18 m13s329 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4464 L4465 -label L4464 +brif 19 L4521 L4522 +label L4521 iconst 21 1 store has_false 21 -jmp L4463 -label L4465 -label L4463 -label L4458 +jmp L4520 +label L4522 +label L4520 +label L4515 load 22 __for_idx_189 iconst 23 1 add 24 22 23 store __for_idx_189 24 -jmp L4456 -label L4459 +jmp L4513 +label L4516 load 25 has_true iconst 26 0 eq 27 25 26 -brif 27 L4467 L4468 -label L4467 +brif 27 L4524 L4525 +label L4524 strref 28 m13s326 strref 29 m13s328 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 -jmp L4466 -label L4468 -label L4466 +jmp L4523 +label L4525 +label L4523 load 33 has_false iconst 34 0 eq 35 33 34 -brif 35 L4470 L4471 -label L4470 +brif 35 L4527 L4528 +label L4527 strref 36 m13s326 strref 37 m13s327 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 -jmp L4469 -label L4471 -label L4469 +jmp L4526 +label L4528 +label L4526 iconst 41 0 ret 41 endfunc @@ -65118,12 +65588,12 @@ iconst 9 0 store __for_idx_190 9 store __for_len_190 8 store __for_iter_190 7 -label L4472 +label L4529 load 10 __for_idx_190 load 11 __for_len_190 lt 12 10 11 -brif 12 L4473 L4475 -label L4473 +brif 12 L4530 L4532 +label L4530 load 13 __for_iter_190 load 14 __for_idx_190 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -65136,12 +65606,12 @@ iconst 19 0 store __for_idx_191 19 store __for_len_191 18 store __for_iter_191 17 -label L4476 +label L4533 load 20 __for_idx_191 load 21 __for_len_191 lt 22 20 21 -brif 22 L4477 L4479 -label L4477 +brif 22 L4534 L4536 +label L4534 load 23 __for_iter_191 load 24 __for_idx_191 call 25 pith_list_get_value_unchecked string 2 23 24 @@ -65149,44 +65619,44 @@ store __loopvar_191_v 25 load 26 __loopvar_191_v load 27 __loopvar_190_variant call 28 checker_strings_equal bool 2 26 27 -brif 28 L4481 L4482 -label L4481 +brif 28 L4538 L4539 +label L4538 iconst 29 1 store found 29 -jmp L4480 -label L4482 -label L4480 -label L4478 +jmp L4537 +label L4539 +label L4537 +label L4535 load 30 __for_idx_191 iconst 31 1 add 32 30 31 store __for_idx_191 32 -jmp L4476 -label L4479 +jmp L4533 +label L4536 load 33 found iconst 34 0 eq 35 33 34 -brif 35 L4484 L4485 -label L4484 +brif 35 L4541 L4542 +label L4541 load 36 missing load 37 __loopvar_190_variant call 38 pith_list_push_value void 2 36 37 -jmp L4483 -label L4485 -label L4483 -label L4474 +jmp L4540 +label L4542 +label L4540 +label L4531 load 39 __for_idx_190 iconst 40 1 add 41 39 40 store __for_idx_190 41 -jmp L4472 -label L4475 +jmp L4529 +label L4532 load 42 missing call 43 pith_list_len int 1 42 iconst 44 0 gt 45 43 44 -brif 45 L4487 L4488 -label L4487 +brif 45 L4544 L4545 +label L4544 strref 46 m13s326 strref 47 m13s325 load 48 missing @@ -65199,9 +65669,9 @@ call 54 pith_cstring_release void 1 50 call 55 checker_diagnostics_report_error void 2 46 52 call 56 pith_cstring_release void 1 46 call 57 pith_cstring_release void 1 52 -jmp L4486 -label L4488 -label L4486 +jmp L4543 +label L4545 +label L4543 load 58 missing call 59 pith_list_release_handle void 1 58 iconst 60 0 @@ -65236,12 +65706,12 @@ iconst 17 0 store __for_idx_192 17 store __for_len_192 16 store __for_iter_192 15 -label L4489 +label L4546 load 18 __for_idx_192 load 19 __for_len_192 lt 20 18 19 -brif 20 L4490 L4492 -label L4490 +brif 20 L4547 L4549 +label L4547 load 21 __for_iter_192 load 22 __for_idx_192 call 23 pith_list_get_value unknown 2 21 22 @@ -65256,15 +65726,15 @@ field 29 28 0 string kind strref 30 m13s323 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L4494 L4495 -label L4494 +brif 31 L4551 L4552 +label L4551 load 33 cn field 34 33 16 list children call 35 pith_list_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L4497 L4498 -label L4497 +brif 37 L4554 L4555 +label L4554 load 38 cn field 39 38 16 list children iconst 40 0 @@ -65285,8 +65755,8 @@ load 52 pname load 53 ptid iconst 54 0 call 55 scope_define_binding void 4 51 52 53 54 -jmp L4496 -label L4498 +jmp L4553 +label L4555 strref 56 m13s322 strref 57 m13s321 call 58 checker_diagnostics_report_error void 2 56 57 @@ -65295,26 +65765,26 @@ call 60 pith_cstring_release void 1 57 load 61 params load 62 types_TID_ERR call 63 pith_list_push_value void 2 61 62 -label L4496 -jmp L4493 -label L4495 +label L4553 +jmp L4550 +label L4552 load 64 __loopvar_192_child store body_idx 64 -label L4493 -label L4491 +label L4550 +label L4548 load 65 __for_idx_192 iconst 66 1 add 67 65 66 store __for_idx_192 67 -jmp L4489 -label L4492 +jmp L4546 +label L4549 load 68 types_TID_VOID store ret_type 68 load 69 body_idx iconst 70 0 gte 71 69 70 -brif 71 L4500 L4501 -label L4500 +brif 71 L4557 L4558 +label L4557 load 72 body_node load 73 body_idx call 74 ast_get_node struct:Node 1 73 @@ -65325,15 +65795,15 @@ field 77 76 0 string kind strref 78 m13s320 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -brif 79 L4503 L4504 -label L4503 +brif 79 L4560 L4561 +label L4560 load 81 body_node field 82 81 16 list children call 83 pith_list_len int 1 82 iconst 84 0 gt 85 83 84 -brif 85 L4506 L4507 -label L4506 +brif 85 L4563 L4564 +label L4563 load 86 body_node field 87 86 16 list children iconst 88 0 @@ -65341,18 +65811,18 @@ call 89 pith_list_get_value_strict int 2 87 88 load 90 lambda_scope call 91 checker_c_check_expr int 2 89 90 store ret_type 91 -jmp L4505 -label L4507 -label L4505 -jmp L4502 -label L4504 +jmp L4562 +label L4564 +label L4562 +jmp L4559 +label L4561 load 92 body_node field 93 92 0 string kind strref 94 m13s319 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -brif 95 L4508 L4509 -label L4508 +brif 95 L4565 L4566 +label L4565 load 97 lambda_scope load 98 checker_TID_LAMBDA_INFER call 99 scope_create_function_scope int 2 97 98 @@ -65369,25 +65839,25 @@ call 106 checker_check_block_statement void 2 104 105 load 107 checker_lambda_inferred_return iconst 108 0 gte 109 107 108 -brif 109 L4511 L4512 -label L4511 +brif 109 L4568 L4569 +label L4568 load 110 checker_lambda_inferred_return store ret_type 110 -jmp L4510 -label L4512 -label L4510 +jmp L4567 +label L4569 +label L4567 load 111 saved_infer store checker_lambda_inferred_return 111 -jmp L4502 -label L4509 +jmp L4559 +label L4566 load 112 body_idx load 113 lambda_scope call 114 checker_c_check_expr int 2 112 113 store ret_type 114 -label L4502 -jmp L4499 -label L4501 -label L4499 +label L4559 +jmp L4556 +label L4558 +label L4556 load 115 params load 116 ret_type call 117 types_ti_function struct:TypeInfo 2 115 116 @@ -65425,12 +65895,12 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 eq 9 7 8 -brif 9 L4514 L4515 -label L4514 +brif 9 L4571 L4572 +label L4571 load 10 tid_err ret 10 -label L4515 -label L4513 +label L4572 +label L4570 load 11 tid_err store elem_type 11 load 12 node @@ -65440,12 +65910,12 @@ iconst 15 0 store __for_idx_193 15 store __for_len_193 14 store __for_iter_193 13 -label L4516 +label L4573 load 16 __for_idx_193 load 17 __for_len_193 lt 18 16 17 -brif 18 L4517 L4519 -label L4517 +brif 18 L4574 L4576 +label L4574 load 19 __for_iter_193 load 20 __for_idx_193 call 21 pith_list_get_value unknown 2 19 20 @@ -65456,36 +65926,36 @@ call 24 checker_c_check_expr int 2 22 23 store t 24 load 25 elem_type call 26 types_is_error_type bool 1 25 -brif 26 L4521 L4522 -label L4521 +brif 26 L4578 L4579 +label L4578 load 27 t store elem_type 27 -jmp L4520 -label L4522 +jmp L4577 +label L4579 load 28 t call 29 types_is_error_type bool 1 28 iconst 30 0 eq 31 29 30 -brif 31 L4523 L4524 -label L4523 +brif 31 L4580 L4581 +label L4580 iconst 32 0 -store __and_32_4528 32 +store __and_32_4585 32 load 33 t load 34 elem_type neq 35 33 34 -store __and_32_4528 35 -brif 35 L4528 L4529 -label L4528 +store __and_32_4585 35 +brif 35 L4585 L4586 +label L4585 load 36 t load 37 elem_type call 38 checker_types_structurally_equal bool 2 36 37 iconst 39 0 eq 40 38 39 -store __and_32_4528 40 -label L4529 -load 41 __and_32_4528 -brif 41 L4526 L4527 -label L4526 +store __and_32_4585 40 +label L4586 +load 41 __and_32_4585 +brif 41 L4583 L4584 +label L4583 strref 42 m13s314 strref 43 m13s318 load 44 elem_type @@ -65505,27 +65975,27 @@ call 57 pith_cstring_release void 1 54 call 58 checker_diagnostics_report_error void 2 42 55 call 59 pith_cstring_release void 1 42 call 60 pith_cstring_release void 1 55 -jmp L4525 -label L4527 -label L4525 -jmp L4520 -label L4524 -label L4520 -label L4518 +jmp L4582 +label L4584 +label L4582 +jmp L4577 +label L4581 +label L4577 +label L4575 load 61 __for_idx_193 iconst 62 1 add 63 61 62 store __for_idx_193 63 -jmp L4516 -label L4519 +jmp L4573 +label L4576 load 64 elem_type call 65 types_is_error_type bool 1 64 -brif 65 L4531 L4532 -label L4531 +brif 65 L4588 L4589 +label L4588 load 66 tid_err ret 66 -label L4532 -label L4530 +label L4589 +label L4587 load 67 elem_type call 68 checker_type_intern_intern_list_type int 1 67 ret 68 @@ -65546,14 +66016,14 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L4534 L4535 -label L4534 +brif 10 L4591 L4592 +label L4591 load 11 tid_err load 12 entry call 13 pith_struct_release void 1 12 ret 11 -label L4535 -label L4533 +label L4592 +label L4590 load 14 tid_err store key_type 14 load 15 tid_err @@ -65565,12 +66035,12 @@ iconst 19 0 store __for_idx_194 19 store __for_len_194 18 store __for_iter_194 17 -label L4536 +label L4593 load 20 __for_idx_194 load 21 __for_len_194 lt 22 20 21 -brif 22 L4537 L4539 -label L4537 +brif 22 L4594 L4596 +label L4594 load 23 __for_iter_194 load 24 __for_idx_194 call 25 pith_list_get_value unknown 2 23 24 @@ -65585,15 +66055,15 @@ field 31 30 0 string kind strref 32 m13s317 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L4541 L4542 -label L4541 +brif 33 L4598 L4599 +label L4598 load 35 entry field 36 35 16 list children call 37 pith_list_len int 1 36 iconst 38 2 gte 39 37 38 -brif 39 L4544 L4545 -label L4544 +brif 39 L4601 L4602 +label L4601 load 40 entry field 41 40 16 list children iconst 42 0 @@ -65610,110 +66080,110 @@ call 51 checker_c_check_expr int 2 49 50 store vt 51 load 52 key_type call 53 types_is_error_type bool 1 52 -brif 53 L4547 L4548 -label L4547 +brif 53 L4604 L4605 +label L4604 load 54 kt store key_type 54 -jmp L4546 -label L4548 +jmp L4603 +label L4605 load 55 kt call 56 types_is_error_type bool 1 55 iconst 57 0 eq 58 56 57 -brif 58 L4549 L4550 -label L4549 +brif 58 L4606 L4607 +label L4606 load 59 kt load 60 key_type neq 61 59 60 -brif 61 L4552 L4553 -label L4552 +brif 61 L4609 L4610 +label L4609 strref 62 m13s314 strref 63 m13s316 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 -jmp L4551 -label L4553 -label L4551 -jmp L4546 -label L4550 -label L4546 +jmp L4608 +label L4610 +label L4608 +jmp L4603 +label L4607 +label L4603 load 67 val_type call 68 types_is_error_type bool 1 67 -brif 68 L4555 L4556 -label L4555 +brif 68 L4612 L4613 +label L4612 load 69 vt store val_type 69 -jmp L4554 -label L4556 +jmp L4611 +label L4613 load 70 vt call 71 types_is_error_type bool 1 70 iconst 72 0 eq 73 71 72 -brif 73 L4557 L4558 -label L4557 +brif 73 L4614 L4615 +label L4614 iconst 74 0 -store __and_74_4562 74 +store __and_74_4619 74 load 75 vt load 76 val_type neq 77 75 76 -store __and_74_4562 77 -brif 77 L4562 L4563 -label L4562 +store __and_74_4619 77 +brif 77 L4619 L4620 +label L4619 load 78 vt load 79 val_type call 80 checker_types_structurally_equal bool 2 78 79 iconst 81 0 eq 82 80 81 -store __and_74_4562 82 -label L4563 -load 83 __and_74_4562 -brif 83 L4560 L4561 -label L4560 +store __and_74_4619 82 +label L4620 +load 83 __and_74_4619 +brif 83 L4617 L4618 +label L4617 strref 84 m13s314 strref 85 m13s315 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 -jmp L4559 -label L4561 -label L4559 -jmp L4554 -label L4558 -label L4554 -jmp L4543 -label L4545 -label L4543 -jmp L4540 -label L4542 -label L4540 -label L4538 +jmp L4616 +label L4618 +label L4616 +jmp L4611 +label L4615 +label L4611 +jmp L4600 +label L4602 +label L4600 +jmp L4597 +label L4599 +label L4597 +label L4595 load 89 __for_idx_194 iconst 90 1 add 91 89 90 store __for_idx_194 91 -jmp L4536 -label L4539 +jmp L4593 +label L4596 load 92 key_type call 93 types_is_error_type bool 1 92 -brif 93 L4565 L4566 -label L4565 +brif 93 L4622 L4623 +label L4622 load 94 tid_err load 95 entry call 96 pith_struct_release void 1 95 ret 94 -label L4566 -label L4564 +label L4623 +label L4621 load 97 val_type call 98 types_is_error_type bool 1 97 -brif 98 L4568 L4569 -label L4568 +brif 98 L4625 L4626 +label L4625 load 99 tid_err load 100 entry call 101 pith_struct_release void 1 100 ret 99 -label L4569 -label L4567 +label L4626 +label L4624 load 102 key_type load 103 val_type call 104 checker_type_intern_intern_map_type int 2 102 103 @@ -65737,12 +66207,12 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 eq 9 7 8 -brif 9 L4571 L4572 -label L4571 +brif 9 L4628 L4629 +label L4628 load 10 tid_err ret 10 -label L4572 -label L4570 +label L4629 +label L4627 load 11 tid_err store elem_type 11 load 12 node @@ -65752,12 +66222,12 @@ iconst 15 0 store __for_idx_195 15 store __for_len_195 14 store __for_iter_195 13 -label L4573 +label L4630 load 16 __for_idx_195 load 17 __for_len_195 lt 18 16 17 -brif 18 L4574 L4576 -label L4574 +brif 18 L4631 L4633 +label L4631 load 19 __for_iter_195 load 20 __for_idx_195 call 21 pith_list_get_value unknown 2 19 20 @@ -65768,62 +66238,62 @@ call 24 checker_c_check_expr int 2 22 23 store t 24 load 25 elem_type call 26 types_is_error_type bool 1 25 -brif 26 L4578 L4579 -label L4578 +brif 26 L4635 L4636 +label L4635 load 27 t store elem_type 27 -jmp L4577 -label L4579 +jmp L4634 +label L4636 load 28 t call 29 types_is_error_type bool 1 28 iconst 30 0 eq 31 29 30 -brif 31 L4580 L4581 -label L4580 +brif 31 L4637 L4638 +label L4637 iconst 32 0 -store __and_32_4585 32 +store __and_32_4642 32 load 33 t load 34 elem_type neq 35 33 34 -store __and_32_4585 35 -brif 35 L4585 L4586 -label L4585 +store __and_32_4642 35 +brif 35 L4642 L4643 +label L4642 load 36 t load 37 elem_type call 38 checker_types_structurally_equal bool 2 36 37 iconst 39 0 eq 40 38 39 -store __and_32_4585 40 -label L4586 -load 41 __and_32_4585 -brif 41 L4583 L4584 -label L4583 +store __and_32_4642 40 +label L4643 +load 41 __and_32_4642 +brif 41 L4640 L4641 +label L4640 strref 42 m13s314 strref 43 m13s313 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 -jmp L4582 -label L4584 -label L4582 -jmp L4577 -label L4581 -label L4577 -label L4575 +jmp L4639 +label L4641 +label L4639 +jmp L4634 +label L4638 +label L4634 +label L4632 load 47 __for_idx_195 iconst 48 1 add 49 47 48 store __for_idx_195 49 -jmp L4573 -label L4576 +jmp L4630 +label L4633 load 50 elem_type call 51 types_is_error_type bool 1 50 -brif 51 L4588 L4589 -label L4588 +brif 51 L4645 L4646 +label L4645 load 52 tid_err ret 52 -label L4589 -label L4587 +label L4646 +label L4644 load 53 elem_type call 54 checker_type_intern_intern_set_type int 1 53 ret 54 @@ -65848,12 +66318,12 @@ iconst 10 0 store __for_idx_196 10 store __for_len_196 9 store __for_iter_196 8 -label L4590 +label L4647 load 11 __for_idx_196 load 12 __for_len_196 lt 13 11 12 -brif 13 L4591 L4593 -label L4591 +brif 13 L4648 L4650 +label L4648 load 14 __for_iter_196 load 15 __for_idx_196 call 16 pith_list_get_value unknown 2 14 15 @@ -65868,29 +66338,29 @@ field 22 21 0 string kind strref 23 m13s312 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L4595 L4596 -label L4595 +brif 24 L4652 L4653 +label L4652 load 26 elems load 27 types_TID_ERR call 28 types_ti_optional struct:TypeInfo 1 27 call 29 types_add_type_info int 1 28 call 30 pith_struct_release void 1 28 call 31 pith_list_push_value void 2 26 29 -jmp L4594 -label L4596 +jmp L4651 +label L4653 load 32 elems load 33 __loopvar_196_child load 34 scope_id call 35 checker_c_check_expr int 2 33 34 call 36 pith_list_push_value void 2 32 35 -label L4594 -label L4592 +label L4651 +label L4649 load 37 __for_idx_196 iconst 38 1 add 39 37 38 store __for_idx_196 39 -jmp L4590 -label L4593 +jmp L4647 +label L4650 load 40 elems call 41 types_ti_tuple struct:TypeInfo 1 40 call 42 types_add_type_info int 1 41 @@ -65926,8 +66396,8 @@ store struct_tid 10 load 11 struct_tid iconst 12 0 lt 13 11 12 -brif 13 L4598 L4599 -label L4598 +brif 13 L4655 L4656 +label L4655 strref 14 m13s310 strref 15 m13s311 load 16 struct_name @@ -65942,8 +66412,8 @@ call 24 pith_cstring_release void 1 23 load 25 info call 26 pith_struct_release void 1 25 ret 22 -label L4599 -label L4597 +label L4656 +label L4654 load 27 info load 28 struct_tid call 29 types_get_type_info struct:TypeInfo 1 28 @@ -65956,8 +66426,8 @@ call 35 pith_cstring_eq bool 2 32 33 iconst 36 1 sub 34 36 35 call 37 pith_cstring_release void 1 33 -brif 34 L4601 L4602 -label L4601 +brif 34 L4658 L4659 +label L4658 strref 38 m13s310 load 39 struct_name strref 40 m13s309 @@ -65972,8 +66442,8 @@ call 48 pith_cstring_release void 1 47 load 49 info call 50 pith_struct_release void 1 49 ret 46 -label L4602 -label L4600 +label L4659 +label L4657 load 51 node field 52 51 16 list children call 53 pith_list_len int 1 52 @@ -65981,8 +66451,8 @@ load 54 info field 55 54 16 list_string fields call 56 pith_list_len int 1 55 gt 57 53 56 -brif 57 L4604 L4605 -label L4604 +brif 57 L4661 L4662 +label L4661 strref 58 m13s307 load 59 struct_name strref 60 m13s308 @@ -66015,8 +66485,8 @@ call 86 pith_cstring_release void 1 85 load 87 info call 88 pith_struct_release void 1 87 ret 84 -label L4605 -label L4603 +label L4662 +label L4660 load 89 struct_name load 90 info call 91 checker_struct_min_required_fields int 2 89 90 @@ -66026,8 +66496,8 @@ field 93 92 16 list children call 94 pith_list_len int 1 93 load 95 min_required lt 96 94 95 -brif 96 L4607 L4608 -label L4607 +brif 96 L4664 L4665 +label L4664 strref 97 m13s307 load 98 struct_name strref 99 m13s306 @@ -66058,8 +66528,8 @@ call 123 pith_cstring_release void 1 122 load 124 info call 125 pith_struct_release void 1 124 ret 121 -label L4608 -label L4606 +label L4665 +label L4663 iconst 126 0 store idx 126 load 127 node @@ -66069,12 +66539,12 @@ iconst 130 0 store __for_idx_197 130 store __for_len_197 129 store __for_iter_197 128 -label L4609 +label L4666 load 131 __for_idx_197 load 132 __for_len_197 lt 133 131 132 -brif 133 L4610 L4612 -label L4610 +brif 133 L4667 L4669 +label L4667 load 134 __for_iter_197 load 135 __for_idx_197 call 136 pith_list_get_value unknown 2 134 135 @@ -66087,15 +66557,15 @@ load 140 arg_type call 141 types_is_error_type bool 1 140 iconst 142 0 eq 143 141 142 -brif 143 L4614 L4615 -label L4614 +brif 143 L4671 L4672 +label L4671 load 144 idx load 145 info field 146 145 24 list field_types call 147 pith_list_len int 1 146 lt 148 144 147 -brif 148 L4617 L4618 -label L4617 +brif 148 L4674 L4675 +label L4674 load 149 info field 150 149 24 list field_types load 151 idx @@ -66107,23 +66577,23 @@ load 155 expected call 156 checker_value_matches_optional_target bool 3 153 154 155 iconst 157 0 eq 158 156 157 -brif 158 L4620 L4621 -label L4620 +brif 158 L4677 L4678 +label L4677 load 159 __loopvar_197_child load 160 expected load 161 scope_id call 162 checker_collection_literal_matches_target bool 3 159 160 161 iconst 163 0 eq 164 162 163 -brif 164 L4623 L4624 -label L4623 +brif 164 L4680 L4681 +label L4680 load 165 arg_type load 166 expected call 167 checker_types_compatible bool 2 165 166 iconst 168 0 eq 169 167 168 -brif 169 L4626 L4627 -label L4626 +brif 169 L4683 L4684 +label L4683 strref 170 m13s304 strref 171 m13s303 load 172 info @@ -66153,32 +66623,32 @@ call 195 pith_cstring_release void 1 192 call 196 checker_diagnostics_report_error void 2 170 193 call 197 pith_cstring_release void 1 170 call 198 pith_cstring_release void 1 193 -jmp L4625 -label L4627 -label L4625 -jmp L4622 -label L4624 -label L4622 -jmp L4619 -label L4621 -label L4619 -jmp L4616 -label L4618 -label L4616 -jmp L4613 -label L4615 -label L4613 +jmp L4682 +label L4684 +label L4682 +jmp L4679 +label L4681 +label L4679 +jmp L4676 +label L4678 +label L4676 +jmp L4673 +label L4675 +label L4673 +jmp L4670 +label L4672 +label L4670 load 199 idx iconst 200 1 add 201 199 200 store idx 201 -label L4611 +label L4668 load 202 __for_idx_197 iconst 203 1 add 204 202 203 store __for_idx_197 204 -jmp L4609 -label L4612 +jmp L4666 +label L4669 load 205 struct_tid load 206 struct_name call 207 pith_cstring_release void 1 206 @@ -66202,8 +66672,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 1 lt 7 5 6 -brif 7 L4629 L4630 -label L4629 +brif 7 L4686 L4687 +label L4686 strref 8 m13s289 strref 9 m13s299 call 10 checker_diagnostics_report_error void 2 8 9 @@ -66213,8 +66683,8 @@ load 13 types_TID_ERR load 14 inner_node call 15 pith_struct_release void 1 14 ret 13 -label L4630 -label L4628 +label L4687 +label L4685 load 16 inner_node load 17 node field 18 17 16 list children @@ -66230,8 +66700,8 @@ 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 L4632 L4633 -label L4632 +brif 26 L4689 L4690 +label L4689 strref 30 m13s289 strref 31 m13s299 call 32 checker_diagnostics_report_error void 2 30 31 @@ -66241,8 +66711,8 @@ load 35 types_TID_ERR load 36 inner_node call 37 pith_struct_release void 1 36 ret 35 -label L4633 -label L4631 +label L4690 +label L4688 load 38 node field 39 38 16 list children iconst 40 0 @@ -66252,14 +66722,14 @@ call 43 checker_c_check_expr int 2 41 42 store inner 43 load 44 inner call 45 types_is_error_type bool 1 44 -brif 45 L4635 L4636 -label L4635 +brif 45 L4692 L4693 +label L4692 load 46 types_TID_ERR load 47 inner_node call 48 pith_struct_release void 1 47 ret 46 -label L4636 -label L4634 +label L4693 +label L4691 load 49 inner_node call 50 checker_check_spawn_shared_collections void 1 49 load 51 inner @@ -66287,12 +66757,12 @@ iconst 6 0 store __for_idx_198 6 store __for_len_198 5 store __for_iter_198 4 -label L4637 +label L4694 load 7 __for_idx_198 load 8 __for_len_198 lt 9 7 8 -brif 9 L4638 L4640 -label L4638 +brif 9 L4695 L4697 +label L4695 load 10 __for_iter_198 load 11 __for_idx_198 call 12 pith_list_get_value unknown 2 10 11 @@ -66302,11 +66772,11 @@ store __loopvar_198_i 13 load 14 __loopvar_198_i iconst 15 0 eq 16 14 15 -brif 16 L4642 L4643 -label L4642 -jmp L4639 -label L4643 -label L4641 +brif 16 L4699 L4700 +label L4699 +jmp L4696 +label L4700 +label L4698 load 17 __loopvar_198_child store expr_idx 17 load 18 arg_node @@ -66315,37 +66785,37 @@ call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store arg_node 20 iconst 22 0 -store __and_22_4647 22 +store __and_22_4704 22 load 23 arg_node field 24 23 0 string kind strref 25 m13s298 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __and_22_4647 26 -brif 26 L4647 L4648 -label L4647 +store __and_22_4704 26 +brif 26 L4704 L4705 +label L4704 load 28 arg_node field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -store __and_22_4647 32 -label L4648 -load 33 __and_22_4647 -brif 33 L4645 L4646 -label L4645 +store __and_22_4704 32 +label L4705 +load 33 __and_22_4704 +brif 33 L4702 L4703 +label L4702 load 34 arg_node field 35 34 16 list children iconst 36 0 call 37 pith_list_get_value_strict int 2 35 36 store expr_idx 37 -jmp L4644 -label L4646 -label L4644 +jmp L4701 +label L4703 +label L4701 load 38 expr_idx call 39 checker_spawn_arg_shares_collection bool 1 38 -brif 39 L4650 L4651 -label L4650 +brif 39 L4707 L4708 +label L4707 load 40 kind load 41 expr_idx call 42 checker_c_get_expr_type int 1 41 @@ -66376,16 +66846,16 @@ call 65 checker_diagnostics_report_error_with_fix_at void 4 47 48 54 62 call 66 pith_cstring_release void 1 48 call 67 pith_cstring_release void 1 54 call 68 pith_cstring_release void 1 62 -jmp L4649 -label L4651 -label L4649 -label L4639 +jmp L4706 +label L4708 +label L4706 +label L4696 load 69 __for_idx_198 iconst 70 1 add 71 69 70 store __for_idx_198 71 -jmp L4637 -label L4640 +jmp L4694 +label L4697 load 72 arg_node call 73 pith_struct_release void 1 72 load 74 kind @@ -66405,9 +66875,9 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __and_7_4655 7 +store __and_7_4712 7 iconst 8 0 -store __and_8_4655 8 +store __and_8_4712 8 load 9 node field 10 9 0 string kind strref 11 m13s293 @@ -66415,9 +66885,9 @@ call 13 pith_cstring_eq bool 2 10 11 iconst 14 1 sub 12 14 13 call 15 pith_cstring_release void 1 11 -store __and_8_4655 12 -brif 12 L4655 L4656 -label L4655 +store __and_8_4712 12 +brif 12 L4712 L4713 +label L4712 load 16 node field 17 16 0 string kind strref 18 m13s292 @@ -66425,12 +66895,12 @@ call 20 pith_cstring_eq bool 2 17 18 iconst 21 1 sub 19 21 20 call 22 pith_cstring_release void 1 18 -store __and_8_4655 19 -label L4656 -load 23 __and_8_4655 -store __and_7_4655 23 -brif 23 L4657 L4658 -label L4657 +store __and_8_4712 19 +label L4713 +load 23 __and_8_4712 +store __and_7_4712 23 +brif 23 L4714 L4715 +label L4714 load 24 node field 25 24 0 string kind strref 26 m13s291 @@ -66438,35 +66908,35 @@ call 28 pith_cstring_eq bool 2 25 26 iconst 29 1 sub 27 29 28 call 30 pith_cstring_release void 1 26 -store __and_7_4655 27 -label L4658 -load 31 __and_7_4655 -brif 31 L4653 L4654 -label L4653 +store __and_7_4712 27 +label L4715 +load 31 __and_7_4712 +brif 31 L4710 L4711 +label L4710 iconst 32 0 load 33 node call 34 pith_struct_release void 1 33 load 35 kind call 36 pith_cstring_release void 1 35 ret 32 -label L4654 -label L4652 +label L4711 +label L4709 load 37 expr_idx call 38 checker_c_get_expr_type int 1 37 store tid 38 load 39 tid iconst 40 0 lt 41 39 40 -brif 41 L4660 L4661 -label L4660 +brif 41 L4717 L4718 +label L4717 iconst 42 0 load 43 node call 44 pith_struct_release void 1 43 load 45 kind call 46 pith_cstring_release void 1 45 ret 42 -label L4661 -label L4659 +label L4718 +label L4716 load 47 kind load 48 tid call 49 types_get_type_info struct:TypeInfo 1 48 @@ -66475,33 +66945,33 @@ call 51 pith_cstring_retain void 1 50 call 52 pith_cstring_release void 1 47 store kind 50 iconst 53 0 -store __or_53_4662 53 +store __or_53_4719 53 iconst 54 0 -store __or_54_4662 54 +store __or_54_4719 54 load 55 kind strref 56 m13s22 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -store __or_54_4662 57 -brif 57 L4663 L4662 -label L4662 +store __or_54_4719 57 +brif 57 L4720 L4719 +label L4719 load 59 kind strref 60 m13s20 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __or_54_4662 61 -label L4663 -load 63 __or_54_4662 -store __or_53_4662 63 -brif 63 L4665 L4664 -label L4664 +store __or_54_4719 61 +label L4720 +load 63 __or_54_4719 +store __or_53_4719 63 +brif 63 L4722 L4721 +label L4721 load 64 kind strref 65 m13s18 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 -store __or_53_4662 66 -label L4665 -load 68 __or_53_4662 +store __or_53_4719 66 +label L4722 +load 68 __or_53_4719 load 69 node call 70 pith_struct_release void 1 69 load 71 kind @@ -66524,8 +66994,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 1 lt 7 5 6 -brif 7 L4667 L4668 -label L4667 +brif 7 L4724 L4725 +label L4724 strref 8 m13s289 strref 9 m13s290 call 10 checker_diagnostics_report_error void 2 8 9 @@ -66535,8 +67005,8 @@ load 13 types_TID_ERR load 14 info call 15 pith_struct_release void 1 14 ret 13 -label L4668 -label L4666 +label L4725 +label L4723 load 16 node field 17 16 16 list children iconst 18 0 @@ -66546,14 +67016,14 @@ call 21 checker_c_check_expr int 2 19 20 store inner 21 load 22 inner call 23 types_is_error_type bool 1 22 -brif 23 L4670 L4671 -label L4670 +brif 23 L4727 L4728 +label L4727 load 24 types_TID_ERR load 25 info call 26 pith_struct_release void 1 25 ret 24 -label L4671 -label L4669 +label L4728 +label L4726 load 27 info load 28 inner call 29 types_get_type_info struct:TypeInfo 1 28 @@ -66564,15 +67034,15 @@ field 32 31 0 string kind strref 33 m13s26 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L4673 L4674 -label L4673 +brif 34 L4730 L4731 +label L4730 load 36 info field 37 36 64 int inner load 38 info call 39 pith_struct_release void 1 38 ret 37 -label L4674 -label L4672 +label L4731 +label L4729 strref 40 m13s289 strref 41 m13s288 load 42 inner @@ -66607,31 +67077,31 @@ field 8 7 0 string kind strref 9 m13s287 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4676 L4677 -label L4676 +brif 10 L4733 L4734 +label L4733 load 12 decl load 13 type_args call 14 checker_instantiate_generic_struct_type int 2 12 13 load 15 decl call 16 pith_struct_release void 1 15 ret 14 -label L4677 -label L4675 +label L4734 +label L4732 load 17 decl field 18 17 0 string kind strref 19 m13s286 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4679 L4680 -label L4679 +brif 20 L4736 L4737 +label L4736 load 22 decl load 23 type_args call 24 checker_instantiate_generic_enum_type int 2 22 23 load 25 decl call 26 pith_struct_release void 1 25 ret 24 -label L4680 -label L4678 +label L4737 +label L4735 load 27 types_TID_ERR load 28 decl call 29 pith_struct_release void 1 28 @@ -66689,8 +67159,8 @@ iconst 29 1 iconst 31 0 sub 30 31 29 neq 32 28 30 -brif 32 L4682 L4683 -label L4682 +brif 32 L4739 L4740 +label L4739 load 33 existing load 34 name call 35 pith_cstring_release void 1 34 @@ -66713,8 +67183,8 @@ call 51 pith_struct_release void 1 50 load 52 fname call 53 pith_cstring_release void 1 52 ret 33 -label L4683 -label L4681 +label L4740 +label L4738 load 54 generic_params load 55 decl call 56 checker_collect_generic_parameter_names list_string 1 55 @@ -66743,12 +67213,12 @@ iconst 73 0 store __for_idx_199 73 store __for_len_199 72 store __for_iter_199 71 -label L4684 +label L4741 load 74 __for_idx_199 load 75 __for_len_199 lt 76 74 75 -brif 76 L4685 L4687 -label L4685 +brif 76 L4742 L4744 +label L4742 load 77 __for_iter_199 load 78 __for_idx_199 call 79 pith_list_get_value unknown 2 77 78 @@ -66763,8 +67233,8 @@ field 85 84 0 string kind strref 86 m13s285 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L4689 L4690 -label L4689 +brif 87 L4746 L4747 +label L4746 load 89 fname load 90 cn field 91 90 8 string value @@ -66797,8 +67267,8 @@ field 114 113 16 list children call 115 pith_list_len int 1 114 iconst 116 0 gt 117 115 116 -brif 117 L4692 L4693 -label L4692 +brif 117 L4749 L4750 +label L4749 load 118 cn field 119 118 16 list children iconst 120 0 @@ -66815,8 +67285,8 @@ field 129 128 16 list children call 130 pith_list_len int 1 129 iconst 131 1 gt 132 130 131 -brif 132 L4695 L4696 -label L4695 +brif 132 L4752 L4753 +label L4752 load 133 checker_struct_field_default_nodes load 134 inst_name strref 135 m13s123 @@ -66831,25 +67301,25 @@ iconst 143 1 call 144 pith_list_get_value_strict int 2 142 143 call 145 map_insert void 3 133 139 144 call 146 pith_cstring_release void 1 139 -jmp L4694 -label L4696 -label L4694 -jmp L4691 -label L4693 +jmp L4751 +label L4753 +label L4751 +jmp L4748 +label L4750 load 147 field_types load 148 types_TID_ERR call 149 pith_list_push_value void 2 147 148 -label L4691 -jmp L4688 -label L4690 -label L4688 -label L4686 +label L4748 +jmp L4745 +label L4747 +label L4745 +label L4743 load 150 __for_idx_199 iconst 151 1 add 152 150 151 store __for_idx_199 152 -jmp L4684 -label L4687 +jmp L4741 +label L4744 load 153 inst_name load 154 field_names load 155 field_types @@ -66963,8 +67433,8 @@ iconst 27 1 iconst 29 0 sub 28 29 27 neq 30 26 28 -brif 30 L4698 L4699 -label L4698 +brif 30 L4755 L4756 +label L4755 load 31 existing load 32 name call 33 pith_cstring_release void 1 32 @@ -66983,8 +67453,8 @@ call 45 pith_struct_release void 1 44 load 46 vtypes call 47 pith_list_release_handle void 1 46 ret 31 -label L4699 -label L4697 +label L4756 +label L4754 load 48 generic_params load 49 decl call 50 checker_collect_generic_parameter_names list_string 1 49 @@ -67005,12 +67475,12 @@ iconst 61 0 store __for_idx_200 61 store __for_len_200 60 store __for_iter_200 59 -label L4700 +label L4757 load 62 __for_idx_200 load 63 __for_len_200 lt 64 62 63 -brif 64 L4701 L4703 -label L4701 +brif 64 L4758 L4760 +label L4758 load 65 __for_iter_200 load 66 __for_idx_200 call 67 pith_list_get_value unknown 2 65 66 @@ -67025,8 +67495,8 @@ field 73 72 0 string kind strref 74 m13s282 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 -brif 75 L4705 L4706 -label L4705 +brif 75 L4762 L4763 +label L4762 load 77 variant_names load 78 cn field 79 78 8 string value @@ -67042,12 +67512,12 @@ iconst 87 0 store __for_idx_201 87 store __for_len_201 86 store __for_iter_201 85 -label L4707 +label L4764 load 88 __for_idx_201 load 89 __for_len_201 lt 90 88 89 -brif 90 L4708 L4710 -label L4708 +brif 90 L4765 L4767 +label L4765 load 91 __for_iter_201 load 92 __for_idx_201 call 93 pith_list_get_value unknown 2 91 92 @@ -67058,27 +67528,27 @@ load 96 generic_params load 97 type_args call 98 checker_resolve_type_with_substitution_map int 3 95 96 97 call 99 pith_list_push_value void 2 94 98 -label L4709 +label L4766 load 100 __for_idx_201 iconst 101 1 add 102 100 101 store __for_idx_201 102 -jmp L4707 -label L4710 +jmp L4764 +label L4767 load 103 variant_types load 104 vtypes call 106 pith_list_retain_handle void 1 104 call 105 pith_list_push_value void 2 103 104 -jmp L4704 -label L4706 -label L4704 -label L4702 +jmp L4761 +label L4763 +label L4761 +label L4759 load 107 __for_idx_200 iconst 108 1 add 109 107 108 store __for_idx_200 109 -jmp L4700 -label L4703 +jmp L4757 +label L4760 load 110 inst_name load 111 variant_names load 112 variant_types @@ -67136,66 +67606,66 @@ store bi 3 load 4 a load 5 b eq 6 4 5 -brif 6 L4712 L4713 -label L4712 +brif 6 L4769 L4770 +label L4769 iconst 7 1 load 8 ai call 9 pith_struct_release void 1 8 load 10 bi call 11 pith_struct_release void 1 10 ret 7 -label L4713 -label L4711 +label L4770 +label L4768 load 12 a call 13 types_is_error_type bool 1 12 -brif 13 L4715 L4716 -label L4715 +brif 13 L4772 L4773 +label L4772 iconst 14 1 load 15 ai call 16 pith_struct_release void 1 15 load 17 bi call 18 pith_struct_release void 1 17 ret 14 -label L4716 -label L4714 +label L4773 +label L4771 load 19 b call 20 types_is_error_type bool 1 19 -brif 20 L4718 L4719 -label L4718 +brif 20 L4775 L4776 +label L4775 iconst 21 1 load 22 ai call 23 pith_struct_release void 1 22 load 24 bi call 25 pith_struct_release void 1 24 ret 21 -label L4719 -label L4717 +label L4776 +label L4774 load 26 a iconst 27 0 lt 28 26 27 -brif 28 L4721 L4722 -label L4721 +brif 28 L4778 L4779 +label L4778 iconst 29 0 load 30 ai call 31 pith_struct_release void 1 30 load 32 bi call 33 pith_struct_release void 1 32 ret 29 -label L4722 -label L4720 +label L4779 +label L4777 load 34 b iconst 35 0 lt 36 34 35 -brif 36 L4724 L4725 -label L4724 +brif 36 L4781 L4782 +label L4781 iconst 37 0 load 38 ai call 39 pith_struct_release void 1 38 load 40 bi call 41 pith_struct_release void 1 40 ret 37 -label L4725 -label L4723 +label L4782 +label L4780 load 42 ai load 43 a call 44 types_get_type_info struct:TypeInfo 1 43 @@ -67211,15 +67681,15 @@ field 51 50 0 string kind strref 52 m13s31 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L4727 L4728 -label L4727 +brif 53 L4784 L4785 +label L4784 load 55 bi field 56 55 0 string kind strref 57 m13s31 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L4730 L4731 -label L4730 +brif 58 L4787 L4788 +label L4787 load 60 ai field 61 60 48 list param_types call 62 pith_list_len int 1 61 @@ -67227,16 +67697,16 @@ load 63 bi field 64 63 48 list param_types call 65 pith_list_len int 1 64 neq 66 62 65 -brif 66 L4733 L4734 -label L4733 +brif 66 L4790 L4791 +label L4790 iconst 67 0 load 68 ai call 69 pith_struct_release void 1 68 load 70 bi call 71 pith_struct_release void 1 70 ret 67 -label L4734 -label L4732 +label L4791 +label L4789 load 72 ai field 73 72 48 list param_types call 74 pith_auto_len int 1 73 @@ -67244,12 +67714,12 @@ iconst 75 0 store __for_idx_202 75 store __for_len_202 74 store __for_iter_202 73 -label L4735 +label L4792 load 76 __for_idx_202 load 77 __for_len_202 lt 78 76 77 -brif 78 L4736 L4738 -label L4736 +brif 78 L4793 L4795 +label L4793 load 79 __for_iter_202 load 80 __for_idx_202 call 81 pith_list_get_value unknown 2 79 80 @@ -67261,8 +67731,8 @@ load 84 bi field 85 84 48 list param_types call 86 pith_list_len int 1 85 lt 87 83 86 -brif 87 L4740 L4741 -label L4740 +brif 87 L4797 L4798 +label L4797 load 88 __loopvar_202_ap load 89 bi field 90 89 48 list param_types @@ -67271,26 +67741,26 @@ call 92 pith_list_get_value_strict int 2 90 91 call 93 checker_types_structurally_equal bool 2 88 92 iconst 94 0 eq 95 93 94 -brif 95 L4743 L4744 -label L4743 +brif 95 L4800 L4801 +label L4800 iconst 96 0 load 97 ai call 98 pith_struct_release void 1 97 load 99 bi call 100 pith_struct_release void 1 99 ret 96 -label L4744 -label L4742 -jmp L4739 -label L4741 -label L4739 -label L4737 +label L4801 +label L4799 +jmp L4796 +label L4798 +label L4796 +label L4794 load 101 __for_idx_202 iconst 102 1 add 103 101 102 store __for_idx_202 103 -jmp L4735 -label L4738 +jmp L4792 +label L4795 load 104 ai field 105 104 56 int return_type load 106 bi @@ -67298,41 +67768,41 @@ field 107 106 56 int return_type call 108 checker_types_structurally_equal bool 2 105 107 iconst 109 0 eq 110 108 109 -brif 110 L4746 L4747 -label L4746 +brif 110 L4803 L4804 +label L4803 iconst 111 0 load 112 ai call 113 pith_struct_release void 1 112 load 114 bi call 115 pith_struct_release void 1 114 ret 111 -label L4747 -label L4745 +label L4804 +label L4802 iconst 116 1 load 117 ai call 118 pith_struct_release void 1 117 load 119 bi call 120 pith_struct_release void 1 119 ret 116 -label L4731 -label L4729 -jmp L4726 -label L4728 -label L4726 +label L4788 +label L4786 +jmp L4783 +label L4785 +label L4783 load 121 ai field 122 121 0 string kind strref 123 m13s27 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L4749 L4750 -label L4749 +brif 124 L4806 L4807 +label L4806 load 126 bi field 127 126 0 string kind strref 128 m13s27 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -brif 129 L4752 L4753 -label L4752 +brif 129 L4809 L4810 +label L4809 load 131 ai field 132 131 88 list elements call 133 pith_list_len int 1 132 @@ -67340,16 +67810,16 @@ load 134 bi field 135 134 88 list elements call 136 pith_list_len int 1 135 neq 137 133 136 -brif 137 L4755 L4756 -label L4755 +brif 137 L4812 L4813 +label L4812 iconst 138 0 load 139 ai call 140 pith_struct_release void 1 139 load 141 bi call 142 pith_struct_release void 1 141 ret 138 -label L4756 -label L4754 +label L4813 +label L4811 load 143 ai field 144 143 88 list elements call 145 pith_auto_len int 1 144 @@ -67357,12 +67827,12 @@ iconst 146 0 store __for_idx_203 146 store __for_len_203 145 store __for_iter_203 144 -label L4757 +label L4814 load 147 __for_idx_203 load 148 __for_len_203 lt 149 147 148 -brif 149 L4758 L4760 -label L4758 +brif 149 L4815 L4817 +label L4815 load 150 __for_iter_203 load 151 __for_idx_203 call 152 pith_list_get_value unknown 2 150 151 @@ -67374,8 +67844,8 @@ load 155 bi field 156 155 88 list elements call 157 pith_list_len int 1 156 lt 158 154 157 -brif 158 L4762 L4763 -label L4762 +brif 158 L4819 L4820 +label L4819 load 159 __loopvar_203_ae load 160 bi field 161 160 88 list elements @@ -67384,51 +67854,51 @@ call 163 pith_list_get_value_strict int 2 161 162 call 164 checker_types_structurally_equal bool 2 159 163 iconst 165 0 eq 166 164 165 -brif 166 L4765 L4766 -label L4765 +brif 166 L4822 L4823 +label L4822 iconst 167 0 load 168 ai call 169 pith_struct_release void 1 168 load 170 bi call 171 pith_struct_release void 1 170 ret 167 -label L4766 -label L4764 -jmp L4761 -label L4763 -label L4761 -label L4759 +label L4823 +label L4821 +jmp L4818 +label L4820 +label L4818 +label L4816 load 172 __for_idx_203 iconst 173 1 add 174 172 173 store __for_idx_203 174 -jmp L4757 -label L4760 +jmp L4814 +label L4817 iconst 175 1 load 176 ai call 177 pith_struct_release void 1 176 load 178 bi call 179 pith_struct_release void 1 178 ret 175 -label L4753 -label L4751 -jmp L4748 -label L4750 -label L4748 +label L4810 +label L4808 +jmp L4805 +label L4807 +label L4805 load 180 ai field 181 180 0 string kind strref 182 m13s28 call 183 pith_cstring_eq bool 2 181 182 call 184 pith_cstring_release void 1 182 -brif 183 L4768 L4769 -label L4768 +brif 183 L4825 L4826 +label L4825 load 185 bi field 186 185 0 string kind strref 187 m13s28 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L4771 L4772 -label L4771 +brif 188 L4828 L4829 +label L4828 load 190 ai field 191 190 64 int inner load 192 bi @@ -67436,16 +67906,16 @@ field 193 192 64 int inner call 194 checker_types_structurally_equal bool 2 191 193 iconst 195 0 eq 196 194 195 -brif 196 L4774 L4775 -label L4774 +brif 196 L4831 L4832 +label L4831 iconst 197 0 load 198 ai call 199 pith_struct_release void 1 198 load 200 bi call 201 pith_struct_release void 1 200 ret 197 -label L4775 -label L4773 +label L4832 +label L4830 load 202 ai field 203 202 80 int value_type load 204 bi @@ -67456,25 +67926,25 @@ call 208 pith_struct_release void 1 207 load 209 bi call 210 pith_struct_release void 1 209 ret 206 -label L4772 -label L4770 -jmp L4767 -label L4769 -label L4767 +label L4829 +label L4827 +jmp L4824 +label L4826 +label L4824 load 211 ai field 212 211 0 string kind strref 213 m13s29 call 214 pith_cstring_eq bool 2 212 213 call 215 pith_cstring_release void 1 213 -brif 214 L4777 L4778 -label L4777 +brif 214 L4834 L4835 +label L4834 load 216 bi field 217 216 0 string kind strref 218 m13s29 call 219 pith_cstring_eq bool 2 217 218 call 220 pith_cstring_release void 1 218 -brif 219 L4780 L4781 -label L4780 +brif 219 L4837 L4838 +label L4837 load 221 ai field 222 221 64 int inner load 223 bi @@ -67485,25 +67955,25 @@ call 227 pith_struct_release void 1 226 load 228 bi call 229 pith_struct_release void 1 228 ret 225 -label L4781 -label L4779 -jmp L4776 -label L4778 -label L4776 +label L4838 +label L4836 +jmp L4833 +label L4835 +label L4833 load 230 ai field 231 230 0 string kind strref 232 m13s22 call 233 pith_cstring_eq bool 2 231 232 call 234 pith_cstring_release void 1 232 -brif 233 L4783 L4784 -label L4783 +brif 233 L4840 L4841 +label L4840 load 235 bi field 236 235 0 string kind strref 237 m13s22 call 238 pith_cstring_eq bool 2 236 237 call 239 pith_cstring_release void 1 237 -brif 238 L4786 L4787 -label L4786 +brif 238 L4843 L4844 +label L4843 load 240 ai field 241 240 64 int inner load 242 bi @@ -67514,25 +67984,25 @@ call 246 pith_struct_release void 1 245 load 247 bi call 248 pith_struct_release void 1 247 ret 244 -label L4787 -label L4785 -jmp L4782 -label L4784 -label L4782 +label L4844 +label L4842 +jmp L4839 +label L4841 +label L4839 load 249 ai field 250 249 0 string kind strref 251 m13s20 call 252 pith_cstring_eq bool 2 250 251 call 253 pith_cstring_release void 1 251 -brif 252 L4789 L4790 -label L4789 +brif 252 L4846 L4847 +label L4846 load 254 bi field 255 254 0 string kind strref 256 m13s20 call 257 pith_cstring_eq bool 2 255 256 call 258 pith_cstring_release void 1 256 -brif 257 L4792 L4793 -label L4792 +brif 257 L4849 L4850 +label L4849 load 259 ai field 260 259 72 int key_type load 261 bi @@ -67540,16 +68010,16 @@ field 262 261 72 int key_type call 263 checker_types_structurally_equal bool 2 260 262 iconst 264 0 eq 265 263 264 -brif 265 L4795 L4796 -label L4795 +brif 265 L4852 L4853 +label L4852 iconst 266 0 load 267 ai call 268 pith_struct_release void 1 267 load 269 bi call 270 pith_struct_release void 1 269 ret 266 -label L4796 -label L4794 +label L4853 +label L4851 load 271 ai field 272 271 80 int value_type load 273 bi @@ -67560,25 +68030,25 @@ call 277 pith_struct_release void 1 276 load 278 bi call 279 pith_struct_release void 1 278 ret 275 -label L4793 -label L4791 -jmp L4788 -label L4790 -label L4788 +label L4850 +label L4848 +jmp L4845 +label L4847 +label L4845 load 280 ai field 281 280 0 string kind strref 282 m13s18 call 283 pith_cstring_eq bool 2 281 282 call 284 pith_cstring_release void 1 282 -brif 283 L4798 L4799 -label L4798 +brif 283 L4855 L4856 +label L4855 load 285 bi field 286 285 0 string kind strref 287 m13s18 call 288 pith_cstring_eq bool 2 286 287 call 289 pith_cstring_release void 1 287 -brif 288 L4801 L4802 -label L4801 +brif 288 L4858 L4859 +label L4858 load 290 ai field 291 290 64 int inner load 292 bi @@ -67589,25 +68059,25 @@ call 296 pith_struct_release void 1 295 load 297 bi call 298 pith_struct_release void 1 297 ret 294 -label L4802 -label L4800 -jmp L4797 -label L4799 -label L4797 +label L4859 +label L4857 +jmp L4854 +label L4856 +label L4854 load 299 ai field 300 299 0 string kind strref 301 m13s26 call 302 pith_cstring_eq bool 2 300 301 call 303 pith_cstring_release void 1 301 -brif 302 L4804 L4805 -label L4804 +brif 302 L4861 L4862 +label L4861 load 304 bi field 305 304 0 string kind strref 306 m13s26 call 307 pith_cstring_eq bool 2 305 306 call 308 pith_cstring_release void 1 306 -brif 307 L4807 L4808 -label L4807 +brif 307 L4864 L4865 +label L4864 load 309 ai field 310 309 64 int inner load 311 bi @@ -67618,25 +68088,25 @@ call 315 pith_struct_release void 1 314 load 316 bi call 317 pith_struct_release void 1 316 ret 313 -label L4808 -label L4806 -jmp L4803 -label L4805 -label L4803 +label L4865 +label L4863 +jmp L4860 +label L4862 +label L4860 load 318 ai field 319 318 0 string kind strref 320 m13s24 call 321 pith_cstring_eq bool 2 319 320 call 322 pith_cstring_release void 1 320 -brif 321 L4810 L4811 -label L4810 +brif 321 L4867 L4868 +label L4867 load 323 bi field 324 323 0 string kind strref 325 m13s24 call 326 pith_cstring_eq bool 2 324 325 call 327 pith_cstring_release void 1 325 -brif 326 L4813 L4814 -label L4813 +brif 326 L4870 L4871 +label L4870 load 328 ai field 329 328 64 int inner load 330 bi @@ -67647,25 +68117,25 @@ call 334 pith_struct_release void 1 333 load 335 bi call 336 pith_struct_release void 1 335 ret 332 -label L4814 -label L4812 -jmp L4809 -label L4811 -label L4809 +label L4871 +label L4869 +jmp L4866 +label L4868 +label L4866 load 337 ai field 338 337 0 string kind strref 339 m13s34 call 340 pith_cstring_eq bool 2 338 339 call 341 pith_cstring_release void 1 339 -brif 340 L4816 L4817 -label L4816 +brif 340 L4873 L4874 +label L4873 load 342 bi field 343 342 0 string kind strref 344 m13s34 call 345 pith_cstring_eq bool 2 343 344 call 346 pith_cstring_release void 1 344 -brif 345 L4819 L4820 -label L4819 +brif 345 L4876 L4877 +label L4876 load 347 ai field 348 347 16 list_string fields call 349 pith_list_len int 1 348 @@ -67673,16 +68143,16 @@ load 350 bi field 351 350 16 list_string fields call 352 pith_list_len int 1 351 neq 353 349 352 -brif 353 L4822 L4823 -label L4822 +brif 353 L4879 L4880 +label L4879 iconst 354 0 load 355 ai call 356 pith_struct_release void 1 355 load 357 bi call 358 pith_struct_release void 1 357 ret 354 -label L4823 -label L4821 +label L4880 +label L4878 load 359 ai field 360 359 16 list_string fields call 361 pith_auto_len int 1 360 @@ -67690,12 +68160,12 @@ iconst 362 0 store __for_idx_204 362 store __for_len_204 361 store __for_iter_204 360 -label L4824 +label L4881 load 363 __for_idx_204 load 364 __for_len_204 lt 365 363 364 -brif 365 L4825 L4827 -label L4825 +brif 365 L4882 L4884 +label L4882 load 366 __for_iter_204 load 367 __for_idx_204 call 368 pith_list_get_value_unchecked string 2 366 367 @@ -67710,16 +68180,16 @@ call 374 pith_list_get_value_strict string 2 372 373 call 376 pith_cstring_eq bool 2 370 374 iconst 377 1 sub 375 377 376 -brif 375 L4829 L4830 -label L4829 +brif 375 L4886 L4887 +label L4886 iconst 378 0 load 379 ai call 380 pith_struct_release void 1 379 load 381 bi call 382 pith_struct_release void 1 381 ret 378 -label L4830 -label L4828 +label L4887 +label L4885 load 383 ai field 384 383 24 list field_types load 385 __loopvar_204_i @@ -67731,48 +68201,48 @@ call 390 pith_list_get_value_strict int 2 388 389 call 391 checker_types_structurally_equal bool 2 386 390 iconst 392 0 eq 393 391 392 -brif 393 L4832 L4833 -label L4832 +brif 393 L4889 L4890 +label L4889 iconst 394 0 load 395 ai call 396 pith_struct_release void 1 395 load 397 bi call 398 pith_struct_release void 1 397 ret 394 -label L4833 -label L4831 -label L4826 +label L4890 +label L4888 +label L4883 load 399 __for_idx_204 iconst 400 1 add 401 399 400 store __for_idx_204 401 -jmp L4824 -label L4827 +jmp L4881 +label L4884 iconst 402 1 load 403 ai call 404 pith_struct_release void 1 403 load 405 bi call 406 pith_struct_release void 1 405 ret 402 -label L4820 -label L4818 -jmp L4815 -label L4817 -label L4815 +label L4877 +label L4875 +jmp L4872 +label L4874 +label L4872 load 407 ai field 408 407 0 string kind strref 409 m13s33 call 410 pith_cstring_eq bool 2 408 409 call 411 pith_cstring_release void 1 409 -brif 410 L4835 L4836 -label L4835 +brif 410 L4892 L4893 +label L4892 load 412 bi field 413 412 0 string kind strref 414 m13s33 call 415 pith_cstring_eq bool 2 413 414 call 416 pith_cstring_release void 1 414 -brif 415 L4838 L4839 -label L4838 +brif 415 L4895 L4896 +label L4895 load 417 ai field 418 417 96 list_string variants call 419 pith_list_len int 1 418 @@ -67780,16 +68250,16 @@ load 420 bi field 421 420 96 list_string variants call 422 pith_list_len int 1 421 neq 423 419 422 -brif 423 L4841 L4842 -label L4841 +brif 423 L4898 L4899 +label L4898 iconst 424 0 load 425 ai call 426 pith_struct_release void 1 425 load 427 bi call 428 pith_struct_release void 1 427 ret 424 -label L4842 -label L4840 +label L4899 +label L4897 load 429 ai field 430 429 96 list_string variants call 431 pith_auto_len int 1 430 @@ -67797,12 +68267,12 @@ iconst 432 0 store __for_idx_205 432 store __for_len_205 431 store __for_iter_205 430 -label L4843 +label L4900 load 433 __for_idx_205 load 434 __for_len_205 lt 435 433 434 -brif 435 L4844 L4846 -label L4844 +brif 435 L4901 L4903 +label L4901 load 436 __for_iter_205 load 437 __for_idx_205 call 438 pith_list_get_value_unchecked string 2 436 437 @@ -67817,16 +68287,16 @@ call 444 pith_list_get_value_strict string 2 442 443 call 446 pith_cstring_eq bool 2 440 444 iconst 447 1 sub 445 447 446 -brif 445 L4848 L4849 -label L4848 +brif 445 L4905 L4906 +label L4905 iconst 448 0 load 449 ai call 450 pith_struct_release void 1 449 load 451 bi call 452 pith_struct_release void 1 451 ret 448 -label L4849 -label L4847 +label L4906 +label L4904 load 453 ai field 454 453 104 list variant_types load 455 __loopvar_205_i @@ -67838,16 +68308,16 @@ load 460 __loopvar_205_i call 461 pith_list_get_value_strict list 2 459 460 call 462 pith_list_len int 1 461 neq 463 457 462 -brif 463 L4851 L4852 -label L4851 +brif 463 L4908 L4909 +label L4908 iconst 464 0 load 465 ai call 466 pith_struct_release void 1 465 load 467 bi call 468 pith_struct_release void 1 467 ret 464 -label L4852 -label L4850 +label L4909 +label L4907 load 469 ai field 470 469 104 list variant_types load 471 __loopvar_205_i @@ -67857,12 +68327,12 @@ iconst 474 0 store __for_idx_206 474 store __for_len_206 473 store __for_iter_206 472 -label L4853 +label L4910 load 475 __for_idx_206 load 476 __for_len_206 lt 477 475 476 -brif 477 L4854 L4856 -label L4854 +brif 477 L4911 L4913 +label L4911 load 478 __for_iter_206 load 479 __for_idx_206 call 480 pith_list_get_value unknown 2 478 479 @@ -67879,41 +68349,41 @@ call 488 pith_list_get_value_strict int 2 486 487 call 489 checker_types_structurally_equal bool 2 482 488 iconst 490 0 eq 491 489 490 -brif 491 L4858 L4859 -label L4858 +brif 491 L4915 L4916 +label L4915 iconst 492 0 load 493 ai call 494 pith_struct_release void 1 493 load 495 bi call 496 pith_struct_release void 1 495 ret 492 -label L4859 -label L4857 -label L4855 +label L4916 +label L4914 +label L4912 load 497 __for_idx_206 iconst 498 1 add 499 497 498 store __for_idx_206 499 -jmp L4853 -label L4856 -label L4845 +jmp L4910 +label L4913 +label L4902 load 500 __for_idx_205 iconst 501 1 add 502 500 501 store __for_idx_205 502 -jmp L4843 -label L4846 +jmp L4900 +label L4903 iconst 503 1 load 504 ai call 505 pith_struct_release void 1 504 load 506 bi call 507 pith_struct_release void 1 506 ret 503 -label L4839 -label L4837 -jmp L4834 -label L4836 -label L4834 +label L4896 +label L4894 +jmp L4891 +label L4893 +label L4891 iconst 508 0 load 509 ai call 510 pith_struct_release void 1 509 @@ -67933,12 +68403,12 @@ param expected load 2 actual load 3 expected eq 4 2 3 -brif 4 L4861 L4862 -label L4861 +brif 4 L4918 L4919 +label L4918 iconst 5 1 ret 5 -label L4862 -label L4860 +label L4919 +label L4917 load 6 actual load 7 expected call 8 checker_types_structurally_equal bool 2 6 7 diff --git a/self-host/checker.pith b/self-host/checker.pith index 7dd5424c..50c61380 100644 --- a/self-host/checker.pith +++ b/self-host/checker.pith @@ -13,7 +13,7 @@ # globals in the flat C namespace. from types import TypeInfo, ti_primitive, ti_struct, ti_enum, ti_function, ti_optional, ti_result, ti_tuple, ti_list, ti_map, ti_set, ti_task, ti_channel, add_type_info, set_type_info, get_type_count, register_type_name, register_qualified_type_name, lookup_type_id, lookup_qualified_type_id, get_type_info, get_type_name, is_numeric_type, is_integer_type, is_error_type, initialize_type_table, TID_INT, TID_UINT, TID_FLOAT, TID_BOOL, TID_STRING, TID_BYTES, TID_VOID, TID_INT8, TID_INT16, TID_INT32, TID_INT64, TID_UINT8, TID_UINT16, TID_UINT32, TID_UINT64, TID_ERR, TID_FIRST_USER -from scope import reset_scope_arena, create_scope, define_binding, lookup_binding, lookup_binding_owned_by, binding_visible_from, module_declared_top_level, set_defining_module, is_binding_mutable, get_scope_return_type, is_in_loop_scope, create_function_scope, create_loop_scope +from scope import reset_scope_arena, create_scope, define_binding, lookup_binding, lookup_binding_index, set_binding_type_at, lookup_binding_owned_by, binding_visible_from, module_declared_top_level, set_defining_module, is_binding_mutable, get_scope_return_type, is_in_loop_scope, create_function_scope, create_loop_scope from ast import Node, get_node, add_node, add_leaf from errors import Diagnostic, render_diagnostics_json from checker_modules import module_generic_target_name, clean_import_part, module_default_alias, module_import_target_name, split_qualified_name @@ -101,6 +101,12 @@ pub mut struct_instance_tids: List[Int] := [] mut suppress_unknown_type_for: Map[String, Int] := {} # expression type cache — populated by c_check_expr, queried by codegen pub mut expression_type_cache: Map[Int, Int] := {} +# bindings declared from an empty collection literal with no annotation +# (`mut tasks := []`), keyed by binding arena index, valued with the +# literal's node index. such a binding has no element type yet; the +# first push/insert/add supplies one, and the entry is dropped once the +# binding is retyped. see refine_empty_literal_binding. +mut open_empty_literal_bindings: Map[Int, Int] := {} # --------------------------------------------------------------- # initialization @@ -125,6 +131,7 @@ pub fn initialize_checker(file_path: String): struct_instance_tids = [] suppress_unknown_type_for = {} expression_type_cache = {} + open_empty_literal_bindings = {} module_aliases = {} module_export_entries = [] wildcard_imports = [] @@ -1558,6 +1565,14 @@ fn check_binding_statement(node_idx: Int, scope_id: Int): elif node.children.len() == 1: val_type := c_check_expr(node.children[0], scope_id) define_binding(scope_id, name, val_type, is_mut) + # an empty collection literal with no annotation has no element + # type yet; remember the binding so the first value stored into + # it can retype it (refine_empty_literal_binding). + if is_error_type(val_type): + val_node := get_node(node.children[0]) + if val_node.children.len() == 0: + if val_node.kind == "list" or val_node.kind == "map" or val_node.kind == "set": + open_empty_literal_bindings.insert(lookup_binding_index(scope_id, name), node.children[0]) # --------------------------------------------------------------- # assignment statement @@ -3689,6 +3704,45 @@ fn report_undefined_module_function(alias: String, name: String, arg_indices: Li return report_error("E201", message) +# give a binding declared as an empty collection literal its type from +# the first value stored into it. `mut tasks := []` checks as an error +# (the literal has nothing to name an element type), so `tasks.push(v)` +# retypes the binding to List[typeof(v)] here, and records the type on +# the literal node so the emitter builds a tagged container that retains +# its elements. returns the collection type, or TID_ERR when the binding +# is not an open empty literal or the stored value is itself untyped +# (pushing `none` or another empty literal decides nothing, so the +# binding stays open for a later, typed store). +fn refine_empty_literal_binding(name: String, method: String, args: List[Int], scope_id: Int, recv_idx: Int) -> Int: + binding_index := lookup_binding_index(scope_id, name) + if binding_index < 0: + return TID_ERR + if open_empty_literal_bindings.contains_key(binding_index) == false: + return TID_ERR + literal_idx := open_empty_literal_bindings[binding_index] + literal_kind := get_node(literal_idx).kind + mut refined := TID_ERR + if literal_kind == "list" and method == "push" and args.len() == 1: + elem := c_check_expr(argument_expression_index(args[0]), scope_id) + if is_error_type(elem) == false: + refined = intern_list_type(elem) + elif literal_kind == "set" and method == "add" and args.len() == 1: + elem := c_check_expr(argument_expression_index(args[0]), scope_id) + if is_error_type(elem) == false: + refined = intern_set_type(elem) + elif literal_kind == "map" and method == "insert" and args.len() == 2: + key_type := c_check_expr(argument_expression_index(args[0]), scope_id) + value_type := c_check_expr(argument_expression_index(args[1]), scope_id) + if is_error_type(key_type) == false and is_error_type(value_type) == false: + refined = intern_map_type(key_type, value_type) + if is_error_type(refined): + return TID_ERR + set_binding_type_at(binding_index, refined) + open_empty_literal_bindings.remove(binding_index) + expression_type_cache.insert(literal_idx, refined) + expression_type_cache.insert(recv_idx, refined) + return refined + fn check_method_call(node: Node, scope_id: Int) -> Int: # node.value = method name # children[0] = receiver @@ -3764,7 +3818,14 @@ fn check_method_call(node: Node, scope_id: Int) -> Int: return TID_ERR return check_callable_type_with_args(callee_type, arg_indices, scope_id) - receiver_type := c_check_expr(node.children[0], scope_id) + mut receiver_type := c_check_expr(node.children[0], scope_id) + if is_error_type(receiver_type) and recv_node.kind == "ident": + # `mut tasks := []` left the binding untyped; the first value + # stored into it names the element type. without this, every + # later use of the binding stayed silently untyped — awaiting a + # task pulled out of such a list lost its result type, and the + # ok-payload extraction lowered to an unresolvable call. + receiver_type = refine_empty_literal_binding(recv_node.value, method_name, arg_indices, scope_id, node.children[0]) if is_error_type(receiver_type): return TID_ERR mut recv_info := get_type_info(receiver_type) diff --git a/self-host/scope.pith b/self-host/scope.pith index 2dea2597..36e52c78 100644 --- a/self-host/scope.pith +++ b/self-host/scope.pith @@ -121,6 +121,28 @@ pub fn lookup_binding_owned_by(scope_id: Int, name: String, module_path: String) return lookup_binding_owned_by(entry.parent, name, module_path) return - 1 +## the arena index of the binding a lookup from this scope would find, +## or -1. the checker uses it to retype a binding after the fact: an +## empty collection literal has no element type at its declaration, so +## the binding starts out untyped and takes its real type from the +## first value stored into it. +pub fn lookup_binding_index(scope_id: Int, name: String) -> Int: + mut i := binding_scope_ids.len() - 1 + while i >= 0: + if binding_scope_ids[i] == scope_id: + if binding_names_equal(binding_names[i], name): + return i + i = i - 1 + entry := scope_entries[scope_id] + if entry.parent >= 0: + return lookup_binding_index(entry.parent, name) + return - 1 + +## replace the recorded type of an existing binding by arena index. +pub fn set_binding_type_at(index: Int, type_id: Int): + if index >= 0 and index < binding_types.len(): + binding_types[index] = type_id + pub fn lookup_binding(scope_id: Int, name: String) -> Int: # search bindings in reverse order (latest first) for this scope mut i := binding_scope_ids.len() - 1 diff --git a/tests/cases/test_task_result_payloads.pith b/tests/cases/test_task_result_payloads.pith new file mode 100644 index 00000000..0d6b1e8a --- /dev/null +++ b/tests/cases/test_task_result_payloads.pith @@ -0,0 +1,147 @@ +# awaiting a task pulled out of an inferred list (`mut tasks := []`) +# used to lose the result type: the binding stayed untyped, so the +# ok-payload extraction lowered to an unresolvable call (`unwrap_or`) +# or an offset-less field read (`.is_ok`/`.ok`). the checker now takes +# the element type from the first push. every payload kind is covered +# in both extraction spellings, plus `!` propagation and `catch`. +import std.bytes as bytes + +struct Point: + x: Int + y: Int + +fn make_int() -> Int!: + return 42 +fn make_string() -> String!: + return "hello" +fn make_bytes() -> Bytes!: + return bytes.from_string_utf8("bz") +fn make_list() -> List[Int]!: + return [1, 2, 3] +fn make_map() -> Map[String, Int]!: + return {"a": 7} +fn make_struct() -> Point!: + return Point(3, 4) +fn make_bool() -> Bool!: + return true +fn make_float() -> Float!: + return 1.5 + +fn bang_through_list() -> Int!: + mut tasks := [] + tasks.push(spawn make_list()) + mut total := 0 + for t in tasks: + vals := (await t)! + for v in vals: + total = total + v + return total + +fn unwrap_or_spelling(): + mut ints := [] + ints.push(spawn make_int()) + for t in ints: + print("int={(await t).unwrap_or(-1)}") + mut strings := [] + strings.push(spawn make_string()) + for t in strings: + print("string={(await t).unwrap_or("x")}") + mut byte_tasks := [] + byte_tasks.push(spawn make_bytes()) + for t in byte_tasks: + b := (await t).unwrap_or(bytes.empty()) + print("bytes={b.len()}") + mut lists := [] + lists.push(spawn make_list()) + for t in lists: + l := (await t).unwrap_or([]) + print("list={l[0]}{l[1]}{l[2]}") + mut maps := [] + maps.push(spawn make_map()) + for t in maps: + m := (await t).unwrap_or({}) + print("map={m["a"]}") + mut structs := [] + structs.push(spawn make_struct()) + for t in structs: + p := (await t).unwrap_or(Point(0, 0)) + print("struct={p.x},{p.y}") + mut bools := [] + bools.push(spawn make_bool()) + for t in bools: + print("bool={(await t).unwrap_or(false)}") + mut floats := [] + floats.push(spawn make_float()) + for t in floats: + print("float={(await t).unwrap_or(0.0)}") + +fn field_spelling(): + mut ints := [] + ints.push(spawn make_int()) + for t in ints: + r1 := await t + if r1.is_ok: + print("ok-int={r1.ok}") + mut strings := [] + strings.push(spawn make_string()) + for t in strings: + r2 := await t + if r2.is_ok: + print("ok-string={r2.ok}") + mut byte_tasks := [] + byte_tasks.push(spawn make_bytes()) + for t in byte_tasks: + r3 := await t + if r3.is_ok: + print("ok-bytes={r3.ok.len()}") + mut lists := [] + lists.push(spawn make_list()) + for t in lists: + r4 := await t + if r4.is_ok: + for v in r4.ok: + print("ok-list={v}") + mut maps := [] + maps.push(spawn make_map()) + for t in maps: + r5 := await t + if r5.is_ok: + m := r5.ok + print("ok-map={m["a"]}") + mut structs := [] + structs.push(spawn make_struct()) + for t in structs: + r6 := await t + if r6.is_ok: + p := r6.ok + print("ok-struct={p.x},{p.y}") + mut bools := [] + bools.push(spawn make_bool()) + for t in bools: + r7 := await t + if r7.is_ok: + print("ok-bool={r7.ok}") + mut floats := [] + floats.push(spawn make_float()) + for t in floats: + r8 := await t + if r8.is_ok: + print("ok-float={r8.ok}") + +fn catch_spelling(): + mut lists := [] + lists.push(spawn make_list()) + for t in lists: + l := await t catch [9] + print("catch-list={l[0]}") + mut strings := [] + strings.push(spawn make_string()) + for t in strings: + s := await t catch "fallback" + print("catch-string={s}") + +fn main(): + unwrap_or_spelling() + field_spelling() + catch_spelling() + print("bang={bang_through_list().unwrap_or(-1)}") diff --git a/tests/expected/test_task_result_payloads.txt b/tests/expected/test_task_result_payloads.txt new file mode 100644 index 00000000..499e5fe0 --- /dev/null +++ b/tests/expected/test_task_result_payloads.txt @@ -0,0 +1,21 @@ +int=42 +string=hello +bytes=2 +list=123 +map=7 +struct=3,4 +bool=true +float=1.5 +ok-int=42 +ok-string=hello +ok-bytes=2 +ok-list=1 +ok-list=2 +ok-list=3 +ok-map=7 +ok-struct=3,4 +ok-bool=true +ok-float=1.5 +catch-list=1 +catch-string=hello +bang=6 diff --git a/tests/leaks/leak_task_result_payload.pith b/tests/leaks/leak_task_result_payload.pith new file mode 100644 index 00000000..bd7e1697 --- /dev/null +++ b/tests/leaks/leak_task_result_payload.pith @@ -0,0 +1,34 @@ +# a heap payload extracted from an awaited task result must change hands +# exactly once. the awaited shell is a fresh tuple the extraction owns, so +# `unwrap_or` hands the ok payload out and frees the shell; on the err arm +# the unused ok slot is empty, the error must be released, and the fallback +# (built inside the err arm) becomes the value. a `.ok` read is a borrow. +# both arms churn here — a count taken twice or a shell kept alive shows +# up as growth. +import leakprobe as probe + +fn make_words(i: Int) -> List[String]!: + if i % 2 == 1: + fail "odd-{i}" + return ["alpha-{i}", "beta"] + +fn churn_round(i: Int): + t := spawn make_words(i) + words := (await t).unwrap_or(["fallback-{i}"]) + mut total := 0 + for w in words: + total = total + w.len() + u := spawn make_words(i) + r := await u + if r.is_ok: + for w in r.ok: + total = total + w.len() + +fn main(): + n := probe.rounds() + mut i := 0 + while i < n: + churn_round(i) + i = i + 1 + kb := probe.peak_kb() + print("{kb}") diff --git a/tooling/leak_check.sh b/tooling/leak_check.sh index 9309b0bd..47285c85 100755 --- a/tooling/leak_check.sh +++ b/tooling/leak_check.sh @@ -33,6 +33,7 @@ cases=( tests/leaks/leak_loop_var_slot tests/leaks/leak_list_transform tests/leaks/leak_fn_value + tests/leaks/leak_task_result_payload ) echo "--- leak growth (${low_rounds} vs ${high_rounds} rounds, limit ${limit_kb}kb) ---"