diff --git a/self-host/bootstrap/ir_driver.ir b/self-host/bootstrap/ir_driver.ir index 9d5264e0..3a50379d 100644 --- a/self-host/bootstrap/ir_driver.ir +++ b/self-host/bootstrap/ir_driver.ir @@ -23335,494 +23335,478 @@ store generics 1 iconst 2 0 store params 2 iconst 3 0 -store children 3 +store ret_children 3 iconst 4 0 -store ret_children 4 +store wn_tok 4 iconst 5 0 -store wn_tok 5 +store extra 5 iconst 6 0 -store extra 6 +store gp 6 iconst 7 0 -store gp 7 +store children 7 iconst 8 0 -store merged 8 -iconst 9 0 -store rebuilt 9 -iconst 10 0 -store body_children 10 -call 11 parser_advance_token struct:Token 0 -load 12 name_tok -strref 13 m8s89 -call 14 parser_expect struct:Token 1 13 -call 15 pith_cstring_release void 1 13 -call 16 pith_struct_release void 1 12 -store name_tok 14 -load 17 generics -call 18 parser_parse_optional_generic_params list 0 -call 19 pith_list_release_handle void 1 17 -store generics 18 -strref 20 m8s13 -call 21 parser_expect struct:Token 1 20 -call 22 pith_cstring_release void 1 20 -load 23 params -call 24 parser_parse_param_list list 0 -call 25 pith_list_release_handle void 1 23 -store params 24 -strref 26 m8s11 -call 27 parser_expect struct:Token 1 26 -call 28 pith_cstring_release void 1 26 -load 29 children -call 30 pith_list_new_default list 0 -call 31 pith_list_release_handle void 1 29 -store children 30 -load 32 generics -call 33 pith_auto_len int 1 32 -iconst 34 0 -store __for_idx_38 34 -store __for_len_38 33 -store __for_iter_38 32 -label L899 -load 35 __for_idx_38 -load 36 __for_len_38 -lt 37 35 36 -brif 37 L900 L902 +store body_children 8 +call 9 parser_advance_token struct:Token 0 +load 10 name_tok +strref 11 m8s89 +call 12 parser_expect struct:Token 1 11 +call 13 pith_cstring_release void 1 11 +call 14 pith_struct_release void 1 10 +store name_tok 12 +load 15 generics +call 16 parser_parse_optional_generic_params list 0 +call 17 pith_list_release_handle void 1 15 +store generics 16 +strref 18 m8s13 +call 19 parser_expect struct:Token 1 18 +call 20 pith_cstring_release void 1 18 +load 21 params +call 22 parser_parse_param_list list 0 +call 23 pith_list_release_handle void 1 21 +store params 22 +strref 24 m8s11 +call 25 parser_expect struct:Token 1 24 +call 26 pith_cstring_release void 1 24 +iconst 27 0 +iconst 28 1 +sub 29 27 28 +store ret_node 29 +strref 30 m8s61 +call 31 parser_match_tok bool 1 30 +call 32 pith_cstring_release void 1 30 +brif 31 L900 L901 label L900 -load 38 __for_iter_38 -load 39 __for_idx_38 -call 40 pith_list_get_value unknown 2 38 39 -store __loopvar_38_g 40 -load 41 children -load 42 __loopvar_38_g -call 43 pith_list_push_value void 2 41 42 -label L901 -load 44 __for_idx_38 -iconst 45 1 -add 46 44 45 -store __for_idx_38 46 +call 33 parser_parse_type_expr int 0 +store ret 33 +load 34 ret_children +call 35 pith_list_new_default list 0 +load 36 ret +call 37 pith_list_push_value void 2 35 36 +call 38 pith_list_release_handle void 1 34 +store ret_children 35 +strref 39 m8s158 +strref 40 m8s69 +load 41 ret_children +call 42 parser_add_node_with_position int 3 39 40 41 +call 43 pith_cstring_release void 1 39 +call 44 pith_cstring_release void 1 40 +store ret_node 42 jmp L899 -label L902 -load 47 params -call 48 pith_auto_len int 1 47 -iconst 49 0 -store __for_idx_39 49 -store __for_len_39 48 -store __for_iter_39 47 -label L903 -load 50 __for_idx_39 -load 51 __for_len_39 -lt 52 50 51 -brif 52 L904 L906 -label L904 -load 53 __for_iter_39 -load 54 __for_idx_39 -call 55 pith_list_get_value unknown 2 53 54 -store __loopvar_39_p 55 -load 56 children -load 57 __loopvar_39_p -call 58 pith_list_push_value void 2 56 57 +label L901 +label L899 +iconst 45 0 +store __and_45_905 45 +strref 46 m8s89 +call 47 parser_check bool 1 46 +call 48 pith_cstring_release void 1 46 +store __and_45_905 47 +brif 47 L905 L906 label L905 -load 59 __for_idx_39 -iconst 60 1 -add 61 59 60 -store __for_idx_39 61 -jmp L903 +call 49 parser__cur_tok_value string 0 +strref 50 m8s184 +call 51 pith_cstring_eq bool 2 49 50 +call 52 pith_cstring_release void 1 49 +call 53 pith_cstring_release void 1 50 +store __and_45_905 51 label L906 -iconst 62 0 -iconst 63 1 -sub 64 62 63 -store ret_node 64 -strref 65 m8s61 -call 66 parser_match_tok bool 1 65 -call 67 pith_cstring_release void 1 65 -brif 66 L908 L909 -label L908 -call 68 parser_parse_type_expr int 0 -store ret 68 -load 69 ret_children -call 70 pith_list_new_default list 0 -load 71 ret -call 72 pith_list_push_value void 2 70 71 -call 73 pith_list_release_handle void 1 69 -store ret_children 70 -strref 74 m8s158 -strref 75 m8s69 -load 76 ret_children -call 77 parser_add_node_with_position int 3 74 75 76 -call 78 pith_cstring_release void 1 74 -call 79 pith_cstring_release void 1 75 -store ret_node 77 -jmp L907 -label L909 +load 54 __and_45_905 +brif 54 L903 L904 +label L903 +call 55 parser_advance_token struct:Token 0 +iconst 56 1 +store more 56 label L907 -iconst 80 0 -store __and_80_913 80 -strref 81 m8s89 -call 82 parser_check bool 1 81 -call 83 pith_cstring_release void 1 81 -store __and_80_913 82 -brif 82 L913 L914 -label L913 -call 84 parser__cur_tok_value string 0 -strref 85 m8s184 -call 86 pith_cstring_eq bool 2 84 85 -call 87 pith_cstring_release void 1 84 -call 88 pith_cstring_release void 1 85 -store __and_80_913 86 -label L914 -load 89 __and_80_913 -brif 89 L911 L912 +load 57 more +brif 57 L908 L909 +label L908 +load 58 wn_tok +strref 59 m8s89 +call 60 parser_expect struct:Token 1 59 +call 61 pith_cstring_release void 1 59 +call 62 pith_struct_release void 1 58 +store wn_tok 60 +strref 63 m8s26 +call 64 parser_expect struct:Token 1 63 +call 65 pith_cstring_release void 1 63 +load 66 extra +call 67 parser_parse_bound_list list 0 +call 68 pith_list_release_handle void 1 66 +store extra 67 +iconst 69 0 +store found 69 +load 70 generics +call 71 pith_auto_len int 1 70 +iconst 72 0 +store __for_idx_38 72 +store __for_len_38 71 +store __for_iter_38 70 +label L910 +load 73 __for_idx_38 +load 74 __for_len_38 +lt 75 73 74 +brif 75 L911 L913 label L911 -call 90 parser_advance_token struct:Token 0 -iconst 91 1 -store more 91 -label L915 -load 92 more -brif 92 L916 L917 -label L916 -load 93 wn_tok -strref 94 m8s89 -call 95 parser_expect struct:Token 1 94 -call 96 pith_cstring_release void 1 94 -call 97 pith_struct_release void 1 93 -store wn_tok 95 -strref 98 m8s26 -call 99 parser_expect struct:Token 1 98 -call 100 pith_cstring_release void 1 98 -load 101 extra -call 102 pith_list_new_default list 0 -call 103 parser_parse_type_expr int 0 -call 104 pith_list_push_value void 2 102 103 -call 105 pith_list_release_handle void 1 101 -store extra 102 +load 76 __for_iter_38 +load 77 __for_idx_38 +call 78 pith_list_get_value unknown 2 76 77 +store __loopvar_38_gp_idx 78 +load 79 __for_idx_38 +store __loopvar_38_gp_i 79 +load 80 gp +load 81 __loopvar_38_gp_idx +call 82 ast_get_node struct:Node 1 81 +call 83 pith_struct_release void 1 80 +store gp 82 +iconst 84 0 +store __and_84_917 84 +iconst 85 0 +store __and_85_917 85 +load 86 found +iconst 87 0 +eq 88 86 87 +store __and_85_917 88 +brif 88 L917 L918 +label L917 +load 89 gp +field 90 89 0 string kind +strref 91 m8s173 +call 92 pith_cstring_eq bool 2 90 91 +call 93 pith_cstring_release void 1 91 +store __and_85_917 92 label L918 -strref 106 m8s63 -call 107 parser_match_tok bool 1 106 -call 108 pith_cstring_release void 1 106 -brif 107 L919 L920 +load 94 __and_85_917 +store __and_84_917 94 +brif 94 L919 L920 label L919 -load 109 extra -call 110 parser_parse_type_expr int 0 -call 111 pith_list_push_value void 2 109 110 -jmp L918 +load 95 gp +field 96 95 8 string value +load 97 wn_tok +field 98 97 8 string value +call 99 pith_cstring_eq bool 2 96 98 +store __and_84_917 99 label L920 +load 100 __and_84_917 +brif 100 L915 L916 +label L915 +load 101 generics +load 102 __loopvar_38_gp_i +load 103 __loopvar_38_gp_idx +load 104 extra +call 105 parser_merge_generic_param_bounds int 2 103 104 +call 106 pith_list_set_value void 3 101 102 105 +iconst 107 1 +store found 107 +jmp L914 +label L916 +label L914 +label L912 +load 108 __for_idx_38 +iconst 109 1 +add 110 108 109 +store __for_idx_38 110 +jmp L910 +label L913 +load 111 found iconst 112 0 -store found 112 -load 113 generics -call 114 pith_auto_len int 1 113 -iconst 115 0 -store __for_idx_40 115 -store __for_len_40 114 -store __for_iter_40 113 -label L921 -load 116 __for_idx_40 -load 117 __for_len_40 -lt 118 116 117 -brif 118 L922 L924 +eq 113 111 112 +brif 113 L922 L923 label L922 -load 119 __for_iter_40 -load 120 __for_idx_40 -call 121 pith_list_get_value unknown 2 119 120 -store __loopvar_40_g_idx 121 -load 122 __for_idx_40 -store __loopvar_40_gi 122 -load 123 gp -load 124 __loopvar_40_g_idx -call 125 ast_get_node struct:Node 1 124 -call 126 pith_struct_release void 1 123 -store gp 125 -iconst 127 0 -store __and_127_928 127 -load 128 gp -field 129 128 0 string kind -strref 130 m8s173 -call 131 pith_cstring_eq bool 2 129 130 -call 132 pith_cstring_release void 1 130 -store __and_127_928 131 -brif 131 L928 L929 -label L928 -load 133 gp +strref 114 m8s183 +strref 115 m8s182 +load 116 wn_tok +field 117 116 8 string value +concat 118 115 117 +call 119 pith_cstring_release void 1 115 +strref 120 m8s181 +concat 121 118 120 +call 122 pith_cstring_release void 1 118 +call 123 pith_cstring_release void 1 120 +load 124 name_tok +field 125 124 8 string value +concat 126 121 125 +call 127 pith_cstring_release void 1 121 +strref 128 m8s180 +concat 129 126 128 +call 130 pith_cstring_release void 1 126 +call 131 pith_cstring_release void 1 128 +strref 132 m8s179 +load 133 name_tok field 134 133 8 string value -load 135 wn_tok -field 136 135 8 string value -call 137 pith_cstring_eq bool 2 134 136 -store __and_127_928 137 -label L929 -load 138 __and_127_928 -brif 138 L926 L927 +concat 135 132 134 +call 136 pith_cstring_release void 1 132 +strref 137 m8s8 +concat 138 135 137 +call 139 pith_cstring_release void 1 135 +call 140 pith_cstring_release void 1 137 +load 141 wn_tok +field 142 141 8 string value +concat 143 138 142 +call 144 pith_cstring_release void 1 138 +strref 145 m8s178 +concat 146 143 145 +call 147 pith_cstring_release void 1 143 +call 148 pith_cstring_release void 1 145 +call 149 parser_parser_report_error_here void 3 114 129 146 +call 150 pith_cstring_release void 1 114 +call 151 pith_cstring_release void 1 129 +call 152 pith_cstring_release void 1 146 +jmp L921 +label L923 +label L921 +strref 153 m8s15 +call 154 parser_match_tok bool 1 153 +call 155 pith_cstring_release void 1 153 +store more 154 +jmp L907 +label L909 +jmp L902 +label L904 +label L902 +load 156 children +call 157 pith_list_new_default list 0 +call 158 pith_list_release_handle void 1 156 +store children 157 +load 159 generics +call 160 pith_auto_len int 1 159 +iconst 161 0 +store __for_idx_39 161 +store __for_len_39 160 +store __for_iter_39 159 +label L924 +load 162 __for_idx_39 +load 163 __for_len_39 +lt 164 162 163 +brif 164 L925 L927 +label L925 +load 165 __for_iter_39 +load 166 __for_idx_39 +call 167 pith_list_get_value unknown 2 165 166 +store __loopvar_39_g 167 +load 168 children +load 169 __loopvar_39_g +call 170 pith_list_push_value void 2 168 169 label L926 -load 139 merged -call 140 pith_list_new_default list 0 -call 141 pith_list_release_handle void 1 139 -store merged 140 -load 142 gp -field 143 142 16 list children -call 144 pith_auto_len int 1 143 -iconst 145 0 -store __for_idx_41 145 -store __for_len_41 144 -store __for_iter_41 143 +load 171 __for_idx_39 +iconst 172 1 +add 173 171 172 +store __for_idx_39 173 +jmp L924 +label L927 +load 174 params +call 175 pith_auto_len int 1 174 +iconst 176 0 +store __for_idx_40 176 +store __for_len_40 175 +store __for_iter_40 174 +label L928 +load 177 __for_idx_40 +load 178 __for_len_40 +lt 179 177 178 +brif 179 L929 L931 +label L929 +load 180 __for_iter_40 +load 181 __for_idx_40 +call 182 pith_list_get_value unknown 2 180 181 +store __loopvar_40_p 182 +load 183 children +load 184 __loopvar_40_p +call 185 pith_list_push_value void 2 183 184 label L930 -load 146 __for_idx_41 -load 147 __for_len_41 -lt 148 146 147 -brif 148 L931 L933 +load 186 __for_idx_40 +iconst 187 1 +add 188 186 187 +store __for_idx_40 188 +jmp L928 label L931 -load 149 __for_iter_41 -load 150 __for_idx_41 -call 151 pith_list_get_value unknown 2 149 150 -store __loopvar_41_b 151 -load 152 merged -load 153 __loopvar_41_b -call 154 pith_list_push_value void 2 152 153 -label L932 -load 155 __for_idx_41 -iconst 156 1 -add 157 155 156 -store __for_idx_41 157 -jmp L930 +load 189 ret_node +iconst 190 0 +gte 191 189 190 +brif 191 L933 L934 label L933 -load 158 extra -call 159 pith_auto_len int 1 158 -iconst 160 0 -store __for_idx_42 160 -store __for_len_42 159 -store __for_iter_42 158 +load 192 children +load 193 ret_node +call 194 pith_list_push_value void 2 192 193 +jmp L932 label L934 -load 161 __for_idx_42 -load 162 __for_len_42 -lt 163 161 162 -brif 163 L935 L937 +label L932 +strref 195 m8s26 +call 196 parser_expect struct:Token 1 195 +call 197 pith_cstring_release void 1 195 +call 198 parser_parse_block int 0 +store body 198 +load 199 body_children +call 200 pith_list_new_default list 0 +load 201 body +call 202 pith_list_push_value void 2 200 201 +call 203 pith_list_release_handle void 1 199 +store body_children 200 +load 204 children +strref 205 m8s157 +strref 206 m8s69 +load 207 body_children +call 208 parser_add_node_with_position int 3 205 206 207 +call 209 pith_cstring_release void 1 205 +call 210 pith_cstring_release void 1 206 +call 211 pith_list_push_value void 2 204 208 +strref 212 m8s156 +load 213 name_tok +field 214 213 8 string value +load 215 children +call 216 parser_add_node_with_position int 3 212 214 215 +call 217 pith_cstring_release void 1 212 +load 218 name_tok +call 219 pith_struct_release void 1 218 +load 220 generics +call 221 pith_list_release_handle void 1 220 +load 222 params +call 223 pith_list_release_handle void 1 222 +load 224 ret_children +call 225 pith_list_release_handle void 1 224 +load 226 wn_tok +call 227 pith_struct_release void 1 226 +load 228 extra +call 229 pith_list_release_handle void 1 228 +load 230 gp +call 231 pith_struct_release void 1 230 +load 232 children +call 233 pith_list_release_handle void 1 232 +load 234 body_children +call 235 pith_list_release_handle void 1 234 +ret 216 +load 236 name_tok +call 237 pith_struct_release void 1 236 +load 238 generics +call 239 pith_list_release_handle void 1 238 +load 240 params +call 241 pith_list_release_handle void 1 240 +load 242 ret_children +call 243 pith_list_release_handle void 1 242 +load 244 wn_tok +call 245 pith_struct_release void 1 244 +load 246 extra +call 247 pith_list_release_handle void 1 246 +load 248 gp +call 249 pith_struct_release void 1 248 +load 250 children +call 251 pith_list_release_handle void 1 250 +load 252 body_children +call 253 pith_list_release_handle void 1 252 +iconst 254 0 +ret 254 +endfunc +func parser_parse_bound_list 0 list +iconst 0 0 +store bounds 0 +load 1 bounds +call 2 pith_list_new_default list 0 +call 3 parser_parse_type_expr int 0 +call 4 pith_list_push_value void 2 2 3 +call 5 pith_list_release_handle void 1 1 +store bounds 2 label L935 -load 164 __for_iter_42 -load 165 __for_idx_42 -call 166 pith_list_get_value unknown 2 164 165 -store __loopvar_42_e 166 -load 167 merged -load 168 __loopvar_42_e -call 169 pith_list_push_value void 2 167 168 +strref 6 m8s63 +call 7 parser_match_tok bool 1 6 +call 8 pith_cstring_release void 1 6 +brif 7 L936 L937 label L936 -load 170 __for_idx_42 -iconst 171 1 -add 172 170 171 -store __for_idx_42 172 -jmp L934 +load 9 bounds +call 10 parser_parse_type_expr int 0 +call 11 pith_list_push_value void 2 9 10 +jmp L935 label L937 -load 173 generics -load 174 __loopvar_40_gi -strref 175 m8s173 -load 176 gp -field 177 176 8 string value -load 178 merged -call 179 parser_add_node_with_position int 3 175 177 178 -call 180 pith_cstring_release void 1 175 -call 181 pith_list_set_value void 3 173 174 179 -iconst 182 1 -store found 182 -jmp L925 -label L927 -label L925 -label L923 -load 183 __for_idx_40 -iconst 184 1 -add 185 183 184 -store __for_idx_40 185 -jmp L921 -label L924 -load 186 found -iconst 187 0 -eq 188 186 187 -brif 188 L939 L940 +load 12 bounds +ret 12 +load 13 bounds +call 14 pith_list_release_handle void 1 13 +iconst 15 0 +ret 15 +endfunc +func parser_merge_generic_param_bounds 2 int +param gp_idx +param extra +iconst 2 0 +store gp 2 +iconst 3 0 +store merged 3 +load 4 gp +load 5 gp_idx +call 6 ast_get_node struct:Node 1 5 +call 7 pith_struct_release void 1 4 +store gp 6 +load 8 merged +call 9 pith_list_new_default list 0 +call 10 pith_list_release_handle void 1 8 +store merged 9 +load 11 gp +field 12 11 16 list children +call 13 pith_auto_len int 1 12 +iconst 14 0 +store __for_idx_41 14 +store __for_len_41 13 +store __for_iter_41 12 +label L938 +load 15 __for_idx_41 +load 16 __for_len_41 +lt 17 15 16 +brif 17 L939 L941 label L939 -strref 189 m8s183 -strref 190 m8s182 -load 191 wn_tok -field 192 191 8 string value -concat 193 190 192 -call 194 pith_cstring_release void 1 190 -strref 195 m8s181 -concat 196 193 195 -call 197 pith_cstring_release void 1 193 -call 198 pith_cstring_release void 1 195 -load 199 name_tok -field 200 199 8 string value -concat 201 196 200 -call 202 pith_cstring_release void 1 196 -strref 203 m8s180 -concat 204 201 203 -call 205 pith_cstring_release void 1 201 -call 206 pith_cstring_release void 1 203 -strref 207 m8s179 -load 208 name_tok -field 209 208 8 string value -concat 210 207 209 -call 211 pith_cstring_release void 1 207 -strref 212 m8s8 -concat 213 210 212 -call 214 pith_cstring_release void 1 210 -call 215 pith_cstring_release void 1 212 -load 216 wn_tok -field 217 216 8 string value -concat 218 213 217 -call 219 pith_cstring_release void 1 213 -strref 220 m8s178 -concat 221 218 220 -call 222 pith_cstring_release void 1 218 -call 223 pith_cstring_release void 1 220 -call 224 parser_parser_report_error_here void 3 189 204 221 -call 225 pith_cstring_release void 1 189 -call 226 pith_cstring_release void 1 204 -call 227 pith_cstring_release void 1 221 -jmp L938 +load 18 __for_iter_41 +load 19 __for_idx_41 +call 20 pith_list_get_value unknown 2 18 19 +store __loopvar_41_b 20 +load 21 merged +load 22 __loopvar_41_b +call 23 pith_list_push_value void 2 21 22 label L940 -label L938 -strref 228 m8s15 -call 229 parser_match_tok bool 1 228 -call 230 pith_cstring_release void 1 228 -store more 229 -jmp L915 -label L917 -jmp L910 -label L912 -label L910 -load 231 rebuilt -call 232 pith_list_new_default list 0 -call 233 pith_list_release_handle void 1 231 -store rebuilt 232 -load 234 generics -call 235 pith_auto_len int 1 234 -iconst 236 0 -store __for_idx_43 236 -store __for_len_43 235 -store __for_iter_43 234 +load 24 __for_idx_41 +iconst 25 1 +add 26 24 25 +store __for_idx_41 26 +jmp L938 label L941 -load 237 __for_idx_43 -load 238 __for_len_43 -lt 239 237 238 -brif 239 L942 L944 +load 27 extra +call 28 pith_auto_len int 1 27 +iconst 29 0 +store __for_idx_42 29 +store __for_len_42 28 +store __for_iter_42 27 label L942 -load 240 __for_iter_43 -load 241 __for_idx_43 -call 242 pith_list_get_value unknown 2 240 241 -store __loopvar_43_g 242 -load 243 rebuilt -load 244 __loopvar_43_g -call 245 pith_list_push_value void 2 243 244 +load 30 __for_idx_42 +load 31 __for_len_42 +lt 32 30 31 +brif 32 L943 L945 label L943 -load 246 __for_idx_43 -iconst 247 1 -add 248 246 247 -store __for_idx_43 248 -jmp L941 +load 33 __for_iter_42 +load 34 __for_idx_42 +call 35 pith_list_get_value unknown 2 33 34 +store __loopvar_42_e 35 +load 36 merged +load 37 __loopvar_42_e +call 38 pith_list_push_value void 2 36 37 label L944 -load 249 generics -call 250 pith_list_len int 1 249 -store ci 250 +load 39 __for_idx_42 +iconst 40 1 +add 41 39 40 +store __for_idx_42 41 +jmp L942 label L945 -load 251 ci -load 252 children -call 253 pith_list_len int 1 252 -lt 254 251 253 -brif 254 L946 L947 -label L946 -load 255 rebuilt -load 256 children -load 257 ci -call 258 pith_list_get_value_strict int 2 256 257 -call 259 pith_list_push_value void 2 255 258 -load 260 ci -iconst 261 1 -add 262 260 261 -store ci 262 -jmp L945 -label L947 -load 263 children -load 264 rebuilt -call 265 pith_list_retain_handle void 1 264 -call 266 pith_list_release_handle void 1 263 -store children 264 -load 267 ret_node -iconst 268 0 -gte 269 267 268 -brif 269 L949 L950 -label L949 -load 270 children -load 271 ret_node -call 272 pith_list_push_value void 2 270 271 -jmp L948 -label L950 -label L948 -strref 273 m8s26 -call 274 parser_expect struct:Token 1 273 -call 275 pith_cstring_release void 1 273 -call 276 parser_parse_block int 0 -store body 276 -load 277 body_children -call 278 pith_list_new_default list 0 -load 279 body -call 280 pith_list_push_value void 2 278 279 -call 281 pith_list_release_handle void 1 277 -store body_children 278 -load 282 children -strref 283 m8s157 -strref 284 m8s69 -load 285 body_children -call 286 parser_add_node_with_position int 3 283 284 285 -call 287 pith_cstring_release void 1 283 -call 288 pith_cstring_release void 1 284 -call 289 pith_list_push_value void 2 282 286 -strref 290 m8s156 -load 291 name_tok -field 292 291 8 string value -load 293 children -call 294 parser_add_node_with_position int 3 290 292 293 -call 295 pith_cstring_release void 1 290 -load 296 name_tok -call 297 pith_struct_release void 1 296 -load 298 generics -call 299 pith_list_release_handle void 1 298 -load 300 params -call 301 pith_list_release_handle void 1 300 -load 302 children -call 303 pith_list_release_handle void 1 302 -load 304 ret_children -call 305 pith_list_release_handle void 1 304 -load 306 wn_tok -call 307 pith_struct_release void 1 306 -load 308 extra -call 309 pith_list_release_handle void 1 308 -load 310 gp -call 311 pith_struct_release void 1 310 -load 312 merged -call 313 pith_list_release_handle void 1 312 -load 314 rebuilt -call 315 pith_list_release_handle void 1 314 -load 316 body_children -call 317 pith_list_release_handle void 1 316 -ret 294 -load 318 name_tok -call 319 pith_struct_release void 1 318 -load 320 generics -call 321 pith_list_release_handle void 1 320 -load 322 params -call 323 pith_list_release_handle void 1 322 -load 324 children -call 325 pith_list_release_handle void 1 324 -load 326 ret_children -call 327 pith_list_release_handle void 1 326 -load 328 wn_tok -call 329 pith_struct_release void 1 328 -load 330 extra -call 331 pith_list_release_handle void 1 330 -load 332 gp -call 333 pith_struct_release void 1 332 -load 334 merged -call 335 pith_list_release_handle void 1 334 -load 336 rebuilt -call 337 pith_list_release_handle void 1 336 -load 338 body_children -call 339 pith_list_release_handle void 1 338 -iconst 340 0 -ret 340 +strref 42 m8s173 +load 43 gp +field 44 43 8 string value +load 45 merged +call 46 parser_add_node_with_position int 3 42 44 45 +call 47 pith_cstring_release void 1 42 +load 48 gp +call 49 pith_struct_release void 1 48 +load 50 merged +call 51 pith_list_release_handle void 1 50 +ret 46 +load 52 gp +call 53 pith_struct_release void 1 52 +load 54 merged +call 55 pith_list_release_handle void 1 54 +iconst 56 0 +ret 56 endfunc func parser_parse_test_decl 0 int iconst 0 0 @@ -23894,27 +23878,27 @@ call 4 parser_skip_newlines void 0 strref 5 m8s11 call 6 parser_check bool 1 5 call 7 pith_cstring_release void 1 5 -brif 6 L952 L953 -label L952 +brif 6 L947 L948 +label L947 load 8 params ret 8 -label L953 -label L951 +label L948 +label L946 load 9 params call 10 parser_parse_param int 0 call 11 pith_list_push_value void 2 9 10 -label L954 +label L949 strref 12 m8s15 call 13 parser_match_tok bool 1 12 call 14 pith_cstring_release void 1 12 -brif 13 L955 L956 -label L955 +brif 13 L950 L951 +label L950 call 15 parser_skip_newlines void 0 load 16 params call 17 parser_parse_param int 0 call 18 pith_list_push_value void 2 16 17 -jmp L954 -label L956 +jmp L949 +label L951 call 19 parser_skip_newlines void 0 load 20 params ret 20 @@ -23937,21 +23921,21 @@ store modifiers 4 strref 6 m8s169 call 7 parser_check bool 1 6 call 8 pith_cstring_release void 1 6 -brif 7 L958 L959 -label L958 +brif 7 L953 L954 +label L953 call 9 parser_advance_token struct:Token 0 load 10 modifiers strref 11 m8s168 call 12 pith_cstring_release void 1 10 store modifiers 11 -jmp L957 -label L959 -label L957 +jmp L952 +label L954 +label L952 strref 13 m8s176 call 14 parser_check bool 1 13 call 15 pith_cstring_release void 1 13 -brif 14 L961 L962 -label L961 +brif 14 L956 L957 +label L956 call 16 parser_advance_token struct:Token 0 load 17 modifiers load 18 modifiers @@ -23960,9 +23944,9 @@ concat 20 18 19 call 21 pith_cstring_release void 1 19 call 22 pith_cstring_release void 1 17 store modifiers 20 -jmp L960 -label L962 -label L960 +jmp L955 +label L957 +label L955 load 23 name_tok strref 24 m8s89 call 25 parser_expect struct:Token 1 24 @@ -23983,14 +23967,14 @@ store children 33 strref 37 m8s41 call 38 parser_match_tok bool 1 37 call 39 pith_cstring_release void 1 37 -brif 38 L964 L965 -label L964 +brif 38 L959 L960 +label L959 load 40 children call 41 parser_parse_expression int 0 call 42 pith_list_push_value void 2 40 41 -jmp L963 -label L965 -label L963 +jmp L958 +label L960 +label L958 strref 43 m8s174 load 44 name_tok field 45 44 8 string value @@ -24022,14 +24006,14 @@ store empty 0 strref 1 m8s9 call 2 parser_check bool 1 1 call 3 pith_cstring_release void 1 1 -brif 2 L967 L968 -label L967 +brif 2 L962 L963 +label L962 call 4 parser_parse_generic_params list 0 load 5 empty call 6 pith_list_release_handle void 1 5 ret 4 -label L968 -label L966 +label L963 +label L961 load 7 empty call 8 pith_list_new_default list 0 call 9 pith_list_release_handle void 1 7 @@ -24052,17 +24036,17 @@ store params 3 load 5 params call 6 parser_parse_generic_param int 0 call 7 pith_list_push_value void 2 5 6 -label L969 +label L964 strref 8 m8s15 call 9 parser_match_tok bool 1 8 call 10 pith_cstring_release void 1 8 -brif 9 L970 L971 -label L970 +brif 9 L965 L966 +label L965 load 11 params call 12 parser_parse_generic_param int 0 call 13 pith_list_push_value void 2 11 12 -jmp L969 -label L971 +jmp L964 +label L966 strref 14 m8s7 call 15 parser_expect struct:Token 1 14 call 16 pith_cstring_release void 1 14 @@ -24077,77 +24061,53 @@ func parser_parse_generic_param 0 int iconst 0 0 store name_tok 0 iconst 1 0 -store bounds 1 -iconst 2 0 -store empty 2 -load 3 name_tok -strref 4 m8s89 -call 5 parser_expect struct:Token 1 4 -call 6 pith_cstring_release void 1 4 -call 7 pith_struct_release void 1 3 -store name_tok 5 -strref 8 m8s26 -call 9 parser_match_tok bool 1 8 -call 10 pith_cstring_release void 1 8 -brif 9 L973 L974 -label L973 -load 11 bounds -call 12 pith_list_new_default list 0 -call 13 parser_parse_type_expr int 0 -call 14 pith_list_push_value void 2 12 13 -call 15 pith_list_release_handle void 1 11 -store bounds 12 -label L975 -strref 16 m8s63 -call 17 parser_match_tok bool 1 16 -call 18 pith_cstring_release void 1 16 -brif 17 L976 L977 -label L976 -load 19 bounds -call 20 parser_parse_type_expr int 0 -call 21 pith_list_push_value void 2 19 20 -jmp L975 -label L977 -strref 22 m8s173 -load 23 name_tok -field 24 23 8 string value -load 25 bounds -call 26 parser_add_node_with_position int 3 22 24 25 -call 27 pith_cstring_release void 1 22 -load 28 name_tok -call 29 pith_struct_release void 1 28 -load 30 bounds -call 31 pith_list_release_handle void 1 30 +store empty 1 +load 2 name_tok +strref 3 m8s89 +call 4 parser_expect struct:Token 1 3 +call 5 pith_cstring_release void 1 3 +call 6 pith_struct_release void 1 2 +store name_tok 4 +strref 7 m8s26 +call 8 parser_match_tok bool 1 7 +call 9 pith_cstring_release void 1 7 +brif 8 L968 L969 +label L968 +strref 10 m8s173 +load 11 name_tok +field 12 11 8 string value +call 13 parser_parse_bound_list list 0 +call 14 parser_add_node_with_position int 3 10 12 13 +call 15 pith_cstring_release void 1 10 +call 16 pith_list_release_handle void 1 13 +load 17 name_tok +call 18 pith_struct_release void 1 17 +load 19 empty +call 20 pith_list_release_handle void 1 19 +ret 14 +label L969 +label L967 +load 21 empty +call 22 pith_list_new_default list 0 +call 23 pith_list_release_handle void 1 21 +store empty 22 +strref 24 m8s173 +load 25 name_tok +field 26 25 8 string value +load 27 empty +call 28 parser_add_node_with_position int 3 24 26 27 +call 29 pith_cstring_release void 1 24 +load 30 name_tok +call 31 pith_struct_release void 1 30 load 32 empty call 33 pith_list_release_handle void 1 32 -ret 26 -label L974 -label L972 -load 34 empty -call 35 pith_list_new_default list 0 -call 36 pith_list_release_handle void 1 34 -store empty 35 -strref 37 m8s173 -load 38 name_tok -field 39 38 8 string value -load 40 empty -call 41 parser_add_node_with_position int 3 37 39 40 -call 42 pith_cstring_release void 1 37 -load 43 name_tok -call 44 pith_struct_release void 1 43 -load 45 bounds -call 46 pith_list_release_handle void 1 45 -load 47 empty -call 48 pith_list_release_handle void 1 47 -ret 41 -load 49 name_tok -call 50 pith_struct_release void 1 49 -load 51 bounds -call 52 pith_list_release_handle void 1 51 -load 53 empty -call 54 pith_list_release_handle void 1 53 -iconst 55 0 -ret 55 +ret 28 +load 34 name_tok +call 35 pith_struct_release void 1 34 +load 36 empty +call 37 pith_list_release_handle void 1 36 +iconst 38 0 +ret 38 endfunc func parser_parse_struct_decl 0 int iconst 0 0 @@ -24183,50 +24143,50 @@ store children 22 load 24 generics call 25 pith_auto_len int 1 24 iconst 26 0 -store __for_idx_44 26 -store __for_len_44 25 -store __for_iter_44 24 -label L978 -load 27 __for_idx_44 -load 28 __for_len_44 +store __for_idx_43 26 +store __for_len_43 25 +store __for_iter_43 24 +label L970 +load 27 __for_idx_43 +load 28 __for_len_43 lt 29 27 28 -brif 29 L979 L981 -label L979 -load 30 __for_iter_44 -load 31 __for_idx_44 +brif 29 L971 L973 +label L971 +load 30 __for_iter_43 +load 31 __for_idx_43 call 32 pith_list_get_value unknown 2 30 31 -store __loopvar_44_g 32 +store __loopvar_43_g 32 load 33 children -load 34 __loopvar_44_g +load 34 __loopvar_43_g call 35 pith_list_push_value void 2 33 34 -label L980 -load 36 __for_idx_44 +label L972 +load 36 __for_idx_43 iconst 37 1 add 38 36 37 -store __for_idx_44 38 -jmp L978 -label L981 -label L982 +store __for_idx_43 38 +jmp L970 +label L973 +label L974 iconst 39 0 -store __and_39_985 39 +store __and_39_977 39 strref 40 m8s94 call 41 parser_check bool 1 40 call 42 pith_cstring_release void 1 40 iconst 44 1 sub 43 44 41 -store __and_39_985 43 -brif 43 L985 L986 -label L985 +store __and_39_977 43 +brif 43 L977 L978 +label L977 strref 45 m8s0 call 46 parser_check bool 1 45 call 47 pith_cstring_release void 1 45 iconst 49 1 sub 48 49 46 -store __and_39_985 48 -label L986 -load 50 __and_39_985 -brif 50 L983 L984 -label L983 +store __and_39_977 48 +label L978 +load 50 __and_39_977 +brif 50 L975 L976 +label L975 load 51 parser_current_token_position store before 51 load 52 children @@ -24235,8 +24195,8 @@ call 54 pith_list_push_value void 2 52 53 load 55 parser_current_token_position load 56 before eq 57 55 56 -brif 57 L988 L989 -label L988 +brif 57 L980 L981 +label L980 load 58 children strref 59 m8s123 strref 60 m8s172 @@ -24245,12 +24205,12 @@ call 62 pith_cstring_release void 1 59 call 63 pith_cstring_release void 1 60 call 64 pith_list_push_value void 2 58 61 call 65 parser_advance_token struct:Token 0 -jmp L987 -label L989 -label L987 +jmp L979 +label L981 +label L979 call 66 parser_skip_newlines void 0 -jmp L982 -label L984 +jmp L974 +label L976 strref 67 m8s94 call 68 parser_expect struct:Token 1 67 call 69 pith_cstring_release void 1 67 @@ -24290,20 +24250,20 @@ store modifiers 4 strref 6 m8s151 call 7 parser_match_tok bool 1 6 call 8 pith_cstring_release void 1 6 -brif 7 L991 L992 -label L991 +brif 7 L983 L984 +label L983 load 9 modifiers strref 10 m8s170 call 11 pith_cstring_release void 1 9 store modifiers 10 -jmp L990 -label L992 -label L990 +jmp L982 +label L984 +label L982 strref 12 m8s169 call 13 parser_match_tok bool 1 12 call 14 pith_cstring_release void 1 12 -brif 13 L994 L995 -label L994 +brif 13 L986 L987 +label L986 load 15 modifiers load 16 modifiers strref 17 m8s168 @@ -24311,14 +24271,14 @@ concat 18 16 17 call 19 pith_cstring_release void 1 17 call 20 pith_cstring_release void 1 15 store modifiers 18 -jmp L993 -label L995 -label L993 +jmp L985 +label L987 +label L985 strref 21 m8s167 call 22 parser_match_tok bool 1 21 call 23 pith_cstring_release void 1 21 -brif 22 L997 L998 -label L997 +brif 22 L989 L990 +label L989 load 24 modifiers load 25 modifiers strref 26 m8s166 @@ -24326,9 +24286,9 @@ concat 27 25 26 call 28 pith_cstring_release void 1 26 call 29 pith_cstring_release void 1 24 store modifiers 27 -jmp L996 -label L998 -label L996 +jmp L988 +label L990 +label L988 load 30 name_tok strref 31 m8s89 call 32 parser_expect struct:Token 1 31 @@ -24349,14 +24309,14 @@ store children 40 strref 44 m8s41 call 45 parser_match_tok bool 1 44 call 46 pith_cstring_release void 1 44 -brif 45 L1000 L1001 -label L1000 +brif 45 L992 L993 +label L992 load 47 children call 48 parser_parse_expression int 0 call 49 pith_list_push_value void 2 47 48 -jmp L999 -label L1001 -label L999 +jmp L991 +label L993 +label L991 strref 50 m8s165 load 51 name_tok field 52 51 8 string value @@ -24416,50 +24376,50 @@ store children 22 load 24 generics call 25 pith_auto_len int 1 24 iconst 26 0 -store __for_idx_45 26 -store __for_len_45 25 -store __for_iter_45 24 -label L1002 -load 27 __for_idx_45 -load 28 __for_len_45 +store __for_idx_44 26 +store __for_len_44 25 +store __for_iter_44 24 +label L994 +load 27 __for_idx_44 +load 28 __for_len_44 lt 29 27 28 -brif 29 L1003 L1005 -label L1003 -load 30 __for_iter_45 -load 31 __for_idx_45 +brif 29 L995 L997 +label L995 +load 30 __for_iter_44 +load 31 __for_idx_44 call 32 pith_list_get_value unknown 2 30 31 -store __loopvar_45_g 32 +store __loopvar_44_g 32 load 33 children -load 34 __loopvar_45_g +load 34 __loopvar_44_g call 35 pith_list_push_value void 2 33 34 -label L1004 -load 36 __for_idx_45 +label L996 +load 36 __for_idx_44 iconst 37 1 add 38 36 37 -store __for_idx_45 38 -jmp L1002 -label L1005 -label L1006 +store __for_idx_44 38 +jmp L994 +label L997 +label L998 iconst 39 0 -store __and_39_1009 39 +store __and_39_1001 39 strref 40 m8s94 call 41 parser_check bool 1 40 call 42 pith_cstring_release void 1 40 iconst 44 1 sub 43 44 41 -store __and_39_1009 43 -brif 43 L1009 L1010 -label L1009 +store __and_39_1001 43 +brif 43 L1001 L1002 +label L1001 strref 45 m8s0 call 46 parser_check bool 1 45 call 47 pith_cstring_release void 1 45 iconst 49 1 sub 48 49 46 -store __and_39_1009 48 -label L1010 -load 50 __and_39_1009 -brif 50 L1007 L1008 -label L1007 +store __and_39_1001 48 +label L1002 +load 50 __and_39_1001 +brif 50 L999 L1000 +label L999 load 51 parser_current_token_position store before 51 load 52 children @@ -24468,8 +24428,8 @@ call 54 pith_list_push_value void 2 52 53 load 55 parser_current_token_position load 56 before eq 57 55 56 -brif 57 L1012 L1013 -label L1012 +brif 57 L1004 L1005 +label L1004 load 58 children strref 59 m8s123 strref 60 m8s164 @@ -24478,12 +24438,12 @@ call 62 pith_cstring_release void 1 59 call 63 pith_cstring_release void 1 60 call 64 pith_list_push_value void 2 58 61 call 65 parser_advance_token struct:Token 0 -jmp L1011 -label L1013 -label L1011 +jmp L1003 +label L1005 +label L1003 call 66 parser_skip_newlines void 0 -jmp L1006 -label L1008 +jmp L998 +label L1000 strref 67 m8s94 call 68 parser_expect struct:Token 1 67 call 69 pith_cstring_release void 1 67 @@ -24527,28 +24487,28 @@ store fields 8 strref 10 m8s13 call 11 parser_match_tok bool 1 10 call 12 pith_cstring_release void 1 10 -brif 11 L1015 L1016 -label L1015 +brif 11 L1007 L1008 +label L1007 load 13 fields call 14 parser_parse_type_expr int 0 call 15 pith_list_push_value void 2 13 14 -label L1017 +label L1009 strref 16 m8s15 call 17 parser_match_tok bool 1 16 call 18 pith_cstring_release void 1 16 -brif 17 L1018 L1019 -label L1018 +brif 17 L1010 L1011 +label L1010 load 19 fields call 20 parser_parse_type_expr int 0 call 21 pith_list_push_value void 2 19 20 -jmp L1017 -label L1019 +jmp L1009 +label L1011 strref 22 m8s11 call 23 parser_expect struct:Token 1 22 call 24 pith_cstring_release void 1 22 -jmp L1014 -label L1016 -label L1014 +jmp L1006 +label L1008 +label L1006 strref 25 m8s162 load 26 name_tok field 27 26 8 string value @@ -24601,71 +24561,71 @@ store children 22 load 24 generics call 25 pith_auto_len int 1 24 iconst 26 0 -store __for_idx_46 26 -store __for_len_46 25 -store __for_iter_46 24 -label L1020 -load 27 __for_idx_46 -load 28 __for_len_46 +store __for_idx_45 26 +store __for_len_45 25 +store __for_iter_45 24 +label L1012 +load 27 __for_idx_45 +load 28 __for_len_45 lt 29 27 28 -brif 29 L1021 L1023 -label L1021 -load 30 __for_iter_46 -load 31 __for_idx_46 +brif 29 L1013 L1015 +label L1013 +load 30 __for_iter_45 +load 31 __for_idx_45 call 32 pith_list_get_value unknown 2 30 31 -store __loopvar_46_g 32 +store __loopvar_45_g 32 load 33 children -load 34 __loopvar_46_g +load 34 __loopvar_45_g call 35 pith_list_push_value void 2 33 34 -label L1022 -load 36 __for_idx_46 +label L1014 +load 36 __for_idx_45 iconst 37 1 add 38 36 37 -store __for_idx_46 38 -jmp L1020 -label L1023 -label L1024 +store __for_idx_45 38 +jmp L1012 +label L1015 +label L1016 iconst 39 0 -store __and_39_1027 39 +store __and_39_1019 39 strref 40 m8s94 call 41 parser_check bool 1 40 call 42 pith_cstring_release void 1 40 iconst 44 1 sub 43 44 41 -store __and_39_1027 43 -brif 43 L1027 L1028 -label L1027 +store __and_39_1019 43 +brif 43 L1019 L1020 +label L1019 strref 45 m8s0 call 46 parser_check bool 1 45 call 47 pith_cstring_release void 1 45 iconst 49 1 sub 48 49 46 -store __and_39_1027 48 -label L1028 -load 50 __and_39_1027 -brif 50 L1025 L1026 -label L1025 +store __and_39_1019 48 +label L1020 +load 50 __and_39_1019 +brif 50 L1017 L1018 +label L1017 load 51 parser_current_token_position store before 51 strref 52 m8s152 call 53 parser_check bool 1 52 call 54 pith_cstring_release void 1 52 -brif 53 L1030 L1031 -label L1030 +brif 53 L1022 L1023 +label L1022 load 55 children call 56 parser_parse_assoc_type_decl int 0 call 57 pith_list_push_value void 2 55 56 -jmp L1029 -label L1031 +jmp L1021 +label L1023 load 58 children call 59 parser_parse_fn_sig int 0 call 60 pith_list_push_value void 2 58 59 -label L1029 +label L1021 load 61 parser_current_token_position load 62 before eq 63 61 62 -brif 63 L1033 L1034 -label L1033 +brif 63 L1025 L1026 +label L1025 load 64 children strref 65 m8s123 strref 66 m8s161 @@ -24674,12 +24634,12 @@ call 68 pith_cstring_release void 1 65 call 69 pith_cstring_release void 1 66 call 70 pith_list_push_value void 2 64 67 call 71 parser_advance_token struct:Token 0 -jmp L1032 -label L1034 -label L1032 -call 72 parser_skip_newlines void 0 jmp L1024 label L1026 +label L1024 +call 72 parser_skip_newlines void 0 +jmp L1016 +label L1018 strref 73 m8s94 call 74 parser_expect struct:Token 1 73 call 75 pith_cstring_release void 1 73 @@ -24748,60 +24708,60 @@ store children 27 load 29 generics call 30 pith_auto_len int 1 29 iconst 31 0 -store __for_idx_47 31 -store __for_len_47 30 -store __for_iter_47 29 -label L1035 -load 32 __for_idx_47 -load 33 __for_len_47 +store __for_idx_46 31 +store __for_len_46 30 +store __for_iter_46 29 +label L1027 +load 32 __for_idx_46 +load 33 __for_len_46 lt 34 32 33 -brif 34 L1036 L1038 -label L1036 -load 35 __for_iter_47 -load 36 __for_idx_47 +brif 34 L1028 L1030 +label L1028 +load 35 __for_iter_46 +load 36 __for_idx_46 call 37 pith_list_get_value unknown 2 35 36 -store __loopvar_47_g 37 +store __loopvar_46_g 37 load 38 children -load 39 __loopvar_47_g +load 39 __loopvar_46_g call 40 pith_list_push_value void 2 38 39 -label L1037 -load 41 __for_idx_47 +label L1029 +load 41 __for_idx_46 iconst 42 1 add 43 41 42 -store __for_idx_47 43 -jmp L1035 -label L1038 +store __for_idx_46 43 +jmp L1027 +label L1030 load 44 params call 45 pith_auto_len int 1 44 iconst 46 0 -store __for_idx_48 46 -store __for_len_48 45 -store __for_iter_48 44 -label L1039 -load 47 __for_idx_48 -load 48 __for_len_48 +store __for_idx_47 46 +store __for_len_47 45 +store __for_iter_47 44 +label L1031 +load 47 __for_idx_47 +load 48 __for_len_47 lt 49 47 48 -brif 49 L1040 L1042 -label L1040 -load 50 __for_iter_48 -load 51 __for_idx_48 +brif 49 L1032 L1034 +label L1032 +load 50 __for_iter_47 +load 51 __for_idx_47 call 52 pith_list_get_value unknown 2 50 51 -store __loopvar_48_p 52 +store __loopvar_47_p 52 load 53 children -load 54 __loopvar_48_p +load 54 __loopvar_47_p call 55 pith_list_push_value void 2 53 54 -label L1041 -load 56 __for_idx_48 +label L1033 +load 56 __for_idx_47 iconst 57 1 add 58 56 57 -store __for_idx_48 58 -jmp L1039 -label L1042 +store __for_idx_47 58 +jmp L1031 +label L1034 strref 59 m8s61 call 60 parser_match_tok bool 1 59 call 61 pith_cstring_release void 1 59 -brif 60 L1044 L1045 -label L1044 +brif 60 L1036 L1037 +label L1036 call 62 parser_parse_type_expr int 0 store ret 62 load 63 ret_children @@ -24818,14 +24778,14 @@ call 72 parser_add_node_with_position int 3 69 70 71 call 73 pith_cstring_release void 1 69 call 74 pith_cstring_release void 1 70 call 75 pith_list_push_value void 2 68 72 -jmp L1043 -label L1045 -label L1043 +jmp L1035 +label L1037 +label L1035 strref 76 m8s26 call 77 parser_match_tok bool 1 76 call 78 pith_cstring_release void 1 76 -brif 77 L1047 L1048 -label L1047 +brif 77 L1039 L1040 +label L1039 call 79 parser_parse_block int 0 store body 79 load 80 body_children @@ -24861,8 +24821,8 @@ call 108 pith_list_release_handle void 1 107 load 109 body_children call 110 pith_list_release_handle void 1 109 ret 97 -label L1048 -label L1046 +label L1040 +label L1038 strref 111 m8s155 load 112 name_tok field 113 112 8 string value @@ -24916,8 +24876,8 @@ store children 6 strref 10 m8s154 call 11 parser_match_tok bool 1 10 call 12 pith_cstring_release void 1 10 -brif 11 L1050 L1051 -label L1050 +brif 11 L1042 L1043 +label L1042 call 13 parser_parse_type_expr int 0 store iface 13 load 14 for_children @@ -24934,9 +24894,9 @@ call 23 parser_add_node_with_position int 3 20 21 22 call 24 pith_cstring_release void 1 20 call 25 pith_cstring_release void 1 21 call 26 pith_list_push_value void 2 19 23 -jmp L1049 -label L1051 -label L1049 +jmp L1041 +label L1043 +label L1041 strref 27 m8s26 call 28 parser_expect struct:Token 1 27 call 29 pith_cstring_release void 1 27 @@ -24946,51 +24906,51 @@ call 32 pith_cstring_release void 1 30 strref 33 m8s96 call 34 parser_expect struct:Token 1 33 call 35 pith_cstring_release void 1 33 -label L1052 +label L1044 iconst 36 0 -store __and_36_1055 36 +store __and_36_1047 36 strref 37 m8s94 call 38 parser_check bool 1 37 call 39 pith_cstring_release void 1 37 iconst 41 1 sub 40 41 38 -store __and_36_1055 40 -brif 40 L1055 L1056 -label L1055 +store __and_36_1047 40 +brif 40 L1047 L1048 +label L1047 strref 42 m8s0 call 43 parser_check bool 1 42 call 44 pith_cstring_release void 1 42 iconst 46 1 sub 45 46 43 -store __and_36_1055 45 -label L1056 -load 47 __and_36_1055 -brif 47 L1053 L1054 -label L1053 +store __and_36_1047 45 +label L1048 +load 47 __and_36_1047 +brif 47 L1045 L1046 +label L1045 strref 48 m8s152 call 49 parser_check bool 1 48 call 50 pith_cstring_release void 1 48 -brif 49 L1058 L1059 -label L1058 +brif 49 L1050 L1051 +label L1050 load 51 children call 52 parser_parse_assoc_type_bind int 0 call 53 pith_list_push_value void 2 51 52 call 54 parser_skip_newlines void 0 -jmp L1052 -label L1059 -label L1057 +jmp L1044 +label L1051 +label L1049 iconst 55 0 store method_pub 55 strref 56 m8s151 call 57 parser_match_tok bool 1 56 call 58 pith_cstring_release void 1 56 -brif 57 L1061 L1062 -label L1061 +brif 57 L1053 L1054 +label L1053 iconst 59 1 store method_pub 59 -jmp L1060 -label L1062 -label L1060 +jmp L1052 +label L1054 +label L1052 load 60 parser_current_token_position store before 60 call 61 parser_parse_fn_decl int 0 @@ -24998,8 +24958,8 @@ store method 61 load 62 parser_current_token_position load 63 before eq 64 62 63 -brif 64 L1064 L1065 -label L1064 +brif 64 L1056 L1057 +label L1056 load 65 children strref 66 m8s123 strref 67 m8s150 @@ -25009,12 +24969,12 @@ call 70 pith_cstring_release void 1 67 call 71 pith_list_push_value void 2 65 68 call 72 parser_advance_token struct:Token 0 call 73 parser_skip_newlines void 0 -jmp L1052 -label L1065 -label L1063 +jmp L1044 +label L1057 +label L1055 load 74 method_pub -brif 74 L1067 L1068 -label L1067 +brif 74 L1059 L1060 +label L1059 load 75 pub_children call 76 pith_list_new_default list 0 load 77 method @@ -25029,15 +24989,15 @@ call 84 parser_add_node_with_position int 3 81 82 83 call 85 pith_cstring_release void 1 81 call 86 pith_cstring_release void 1 82 call 87 pith_list_push_value void 2 80 84 -jmp L1066 -label L1068 +jmp L1058 +label L1060 load 88 children load 89 method call 90 pith_list_push_value void 2 88 89 -label L1066 +label L1058 call 91 parser_skip_newlines void 0 -jmp L1052 -label L1054 +jmp L1044 +label L1046 strref 92 m8s94 call 93 parser_expect struct:Token 1 92 call 94 pith_cstring_release void 1 92 @@ -25095,29 +25055,29 @@ store children 17 load 21 generics call 22 pith_auto_len int 1 21 iconst 23 0 -store __for_idx_49 23 -store __for_len_49 22 -store __for_iter_49 21 -label L1069 -load 24 __for_idx_49 -load 25 __for_len_49 +store __for_idx_48 23 +store __for_len_48 22 +store __for_iter_48 21 +label L1061 +load 24 __for_idx_48 +load 25 __for_len_48 lt 26 24 25 -brif 26 L1070 L1072 -label L1070 -load 27 __for_iter_49 -load 28 __for_idx_49 +brif 26 L1062 L1064 +label L1062 +load 27 __for_iter_48 +load 28 __for_idx_48 call 29 pith_list_get_value unknown 2 27 28 -store __loopvar_49_g 29 +store __loopvar_48_g 29 load 30 children -load 31 __loopvar_49_g +load 31 __loopvar_48_g call 32 pith_list_push_value void 2 30 31 -label L1071 -load 33 __for_idx_49 +label L1063 +load 33 __for_idx_48 iconst 34 1 add 35 33 34 -store __for_idx_49 35 -jmp L1069 -label L1072 +store __for_idx_48 35 +jmp L1061 +label L1064 strref 36 m8s147 load 37 name_tok field 38 37 8 string value @@ -25664,28 +25624,28 @@ store result 4 load 6 items call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_50 8 -store __for_len_50 7 -store __for_iter_50 6 +store __for_idx_49 8 +store __for_len_49 7 +store __for_iter_49 6 label L9 -load 9 __for_idx_50 -load 10 __for_len_50 +load 9 __for_idx_49 +load 10 __for_len_49 lt 11 9 10 brif 11 L10 L12 label L10 -load 12 __for_iter_50 -load 13 __for_idx_50 +load 12 __for_iter_49 +load 13 __for_idx_49 call 14 pith_list_get_value_unchecked string 2 12 13 -store __loopvar_50_item 14 +store __loopvar_49_item 14 load 15 result -load 16 __loopvar_50_item +load 16 __loopvar_49_item call 17 mapper string 1 16 call 18 pith_list_push_value_owned void 2 15 17 label L11 -load 19 __for_idx_50 +load 19 __for_idx_49 iconst 20 1 add 21 19 20 -store __for_idx_50 21 +store __for_idx_49 21 jmp L9 label L12 load 22 result @@ -25707,34 +25667,34 @@ store result 4 load 6 items call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_51 8 -store __for_len_51 7 -store __for_iter_51 6 +store __for_idx_50 8 +store __for_len_50 7 +store __for_iter_50 6 label L13 -load 9 __for_idx_51 -load 10 __for_len_51 +load 9 __for_idx_50 +load 10 __for_len_50 lt 11 9 10 brif 11 L14 L16 label L14 -load 12 __for_iter_51 -load 13 __for_idx_51 +load 12 __for_iter_50 +load 13 __for_idx_50 call 14 pith_list_get_value_unchecked string 2 12 13 -store __loopvar_51_item 14 -load 15 __loopvar_51_item +store __loopvar_50_item 14 +load 15 __loopvar_50_item call 16 keep bool 1 15 brif 16 L18 L19 label L18 load 17 result -load 18 __loopvar_51_item +load 18 __loopvar_50_item call 19 pith_list_push_value void 2 17 18 jmp L17 label L19 label L17 label L15 -load 20 __for_idx_51 +load 20 __for_idx_50 iconst 21 1 add 22 20 21 -store __for_idx_51 22 +store __for_idx_50 22 jmp L13 label L16 load 23 result @@ -25751,28 +25711,28 @@ store total 1 load 2 list call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_52 4 -store __for_len_52 3 -store __for_iter_52 2 +store __for_idx_51 4 +store __for_len_51 3 +store __for_iter_51 2 label L20 -load 5 __for_idx_52 -load 6 __for_len_52 +load 5 __for_idx_51 +load 6 __for_len_51 lt 7 5 6 brif 7 L21 L23 label L21 -load 8 __for_iter_52 -load 9 __for_idx_52 +load 8 __for_iter_51 +load 9 __for_idx_51 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_52_item 10 +store __loopvar_51_item 10 load 11 total -load 12 __loopvar_52_item +load 12 __loopvar_51_item add 13 11 12 store total 13 label L22 -load 14 __for_idx_52 +load 14 __for_idx_51 iconst 15 1 add 16 14 15 -store __for_idx_52 16 +store __for_idx_51 16 jmp L20 label L23 load 17 total @@ -25797,28 +25757,28 @@ store result 6 load 7 list call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_53 9 -store __for_len_53 8 -store __for_iter_53 7 +store __for_idx_52 9 +store __for_len_52 8 +store __for_iter_52 7 label L27 -load 10 __for_idx_53 -load 11 __for_len_53 +load 10 __for_idx_52 +load 11 __for_len_52 lt 12 10 11 brif 12 L28 L30 label L28 -load 13 __for_iter_53 -load 14 __for_idx_53 +load 13 __for_iter_52 +load 14 __for_idx_52 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_53_item 15 +store __loopvar_52_item 15 load 16 result -load 17 __loopvar_53_item +load 17 __loopvar_52_item mul 18 16 17 store result 18 label L29 -load 19 __for_idx_53 +load 19 __for_idx_52 iconst 20 1 add 21 19 20 -store __for_idx_53 21 +store __for_idx_52 21 jmp L27 label L30 load 22 result @@ -25845,30 +25805,30 @@ store result 8 load 9 list call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_54 11 -store __for_len_54 10 -store __for_iter_54 9 +store __for_idx_53 11 +store __for_len_53 10 +store __for_iter_53 9 label L34 -load 12 __for_idx_54 -load 13 __for_len_54 +load 12 __for_idx_53 +load 13 __for_len_53 lt 14 12 13 brif 14 L35 L37 label L35 -load 15 __for_iter_54 -load 16 __for_idx_54 +load 15 __for_iter_53 +load 16 __for_idx_53 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_54_item 17 -load 18 __for_idx_54 -store __loopvar_54_i 18 +store __loopvar_53_item 17 +load 18 __for_idx_53 +store __loopvar_53_i 18 iconst 19 0 store __and_19_41 19 -load 20 __loopvar_54_i +load 20 __loopvar_53_i iconst 21 0 gt 22 20 21 store __and_19_41 22 brif 22 L41 L42 label L41 -load 23 __loopvar_54_item +load 23 __loopvar_53_item load 24 result gt 25 23 24 store __and_19_41 25 @@ -25876,16 +25836,16 @@ label L42 load 26 __and_19_41 brif 26 L39 L40 label L39 -load 27 __loopvar_54_item +load 27 __loopvar_53_item store result 27 jmp L38 label L40 label L38 label L36 -load 28 __for_idx_54 +load 28 __for_idx_53 iconst 29 1 add 30 28 29 -store __for_idx_54 30 +store __for_idx_53 30 jmp L34 label L37 load 31 result @@ -25912,30 +25872,30 @@ store result 8 load 9 list call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_55 11 -store __for_len_55 10 -store __for_iter_55 9 +store __for_idx_54 11 +store __for_len_54 10 +store __for_iter_54 9 label L46 -load 12 __for_idx_55 -load 13 __for_len_55 +load 12 __for_idx_54 +load 13 __for_len_54 lt 14 12 13 brif 14 L47 L49 label L47 -load 15 __for_iter_55 -load 16 __for_idx_55 +load 15 __for_iter_54 +load 16 __for_idx_54 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_55_item 17 -load 18 __for_idx_55 -store __loopvar_55_i 18 +store __loopvar_54_item 17 +load 18 __for_idx_54 +store __loopvar_54_i 18 iconst 19 0 store __and_19_53 19 -load 20 __loopvar_55_i +load 20 __loopvar_54_i iconst 21 0 gt 22 20 21 store __and_19_53 22 brif 22 L53 L54 label L53 -load 23 __loopvar_55_item +load 23 __loopvar_54_item load 24 result lt 25 23 24 store __and_19_53 25 @@ -25943,16 +25903,16 @@ label L54 load 26 __and_19_53 brif 26 L51 L52 label L51 -load 27 __loopvar_55_item +load 27 __loopvar_54_item store result 27 jmp L50 label L52 label L50 label L48 -load 28 __for_idx_55 +load 28 __for_idx_54 iconst 29 1 add 30 28 29 -store __for_idx_55 30 +store __for_idx_54 30 jmp L46 label L49 load 31 result @@ -26000,20 +25960,20 @@ param list load 1 list call 2 pith_auto_len int 1 1 iconst 3 0 -store __for_idx_56 3 -store __for_len_56 2 -store __for_iter_56 1 +store __for_idx_55 3 +store __for_len_55 2 +store __for_iter_55 1 label L58 -load 4 __for_idx_56 -load 5 __for_len_56 +load 4 __for_idx_55 +load 5 __for_len_55 lt 6 4 5 brif 6 L59 L61 label L59 -load 7 __for_iter_56 -load 8 __for_idx_56 +load 7 __for_iter_55 +load 8 __for_idx_55 call 9 pith_list_get_value unknown 2 7 8 -store __loopvar_56_item 9 -load 10 __loopvar_56_item +store __loopvar_55_item 9 +load 10 __loopvar_55_item iconst 11 0 eq 12 10 11 brif 12 L63 L64 @@ -26023,10 +25983,10 @@ ret 13 label L64 label L62 label L60 -load 14 __for_idx_56 +load 14 __for_idx_55 iconst 15 1 add 16 14 15 -store __for_idx_56 16 +store __for_idx_55 16 jmp L58 label L61 iconst 17 1 @@ -26039,20 +25999,20 @@ param list load 1 list call 2 pith_auto_len int 1 1 iconst 3 0 -store __for_idx_57 3 -store __for_len_57 2 -store __for_iter_57 1 +store __for_idx_56 3 +store __for_len_56 2 +store __for_iter_56 1 label L65 -load 4 __for_idx_57 -load 5 __for_len_57 +load 4 __for_idx_56 +load 5 __for_len_56 lt 6 4 5 brif 6 L66 L68 label L66 -load 7 __for_iter_57 -load 8 __for_idx_57 +load 7 __for_iter_56 +load 8 __for_idx_56 call 9 pith_list_get_value unknown 2 7 8 -store __loopvar_57_item 9 -load 10 __loopvar_57_item +store __loopvar_56_item 9 +load 10 __loopvar_56_item iconst 11 0 neq 12 10 11 brif 12 L70 L71 @@ -26062,10 +26022,10 @@ ret 13 label L71 label L69 label L67 -load 14 __for_idx_57 +load 14 __for_idx_56 iconst 15 1 add 16 14 15 -store __for_idx_57 16 +store __for_idx_56 16 jmp L65 label L68 iconst 17 0 @@ -26079,27 +26039,27 @@ param value load 2 list call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_58 4 -store __for_len_58 3 -store __for_iter_58 2 +store __for_idx_57 4 +store __for_len_57 3 +store __for_iter_57 2 label L72 -load 5 __for_idx_58 -load 6 __for_len_58 +load 5 __for_idx_57 +load 6 __for_len_57 lt 7 5 6 brif 7 L73 L75 label L73 -load 8 __for_iter_58 -load 9 __for_idx_58 +load 8 __for_iter_57 +load 9 __for_idx_57 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_58_item 10 -load 11 __for_idx_58 -store __loopvar_58_i 11 -load 12 __loopvar_58_item +store __loopvar_57_item 10 +load 11 __for_idx_57 +store __loopvar_57_i 11 +load 12 __loopvar_57_item load 13 value eq 14 12 13 brif 14 L77 L78 label L77 -load 15 __loopvar_58_i +load 15 __loopvar_57_i iconst 16 1 iconst 18 2 call 17 pith_struct_alloc tuple 1 18 @@ -26109,10 +26069,10 @@ ret 17 label L78 label L76 label L74 -load 19 __for_idx_58 +load 19 __for_idx_57 iconst 20 1 add 21 19 20 -store __for_idx_58 21 +store __for_idx_57 21 jmp L72 label L75 iconst 22 0 @@ -26143,28 +26103,28 @@ store result 6 load 9 list call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_59 11 -store __for_len_59 10 -store __for_iter_59 9 +store __for_idx_58 11 +store __for_len_58 10 +store __for_iter_58 9 label L79 -load 12 __for_idx_59 -load 13 __for_len_59 +load 12 __for_idx_58 +load 13 __for_len_58 lt 14 12 13 brif 14 L80 L82 label L80 -load 15 __for_iter_59 -load 16 __for_idx_59 +load 15 __for_iter_58 +load 16 __for_idx_58 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_59_item 17 -load 18 __for_idx_59 -store __loopvar_59_i 18 -load 19 __loopvar_59_item +store __loopvar_58_item 17 +load 18 __for_idx_58 +store __loopvar_58_i 18 +load 19 __loopvar_58_item load 20 value eq 21 19 20 brif 21 L84 L85 label L84 load 22 result -load 23 __loopvar_59_i +load 23 __loopvar_58_i iconst 24 1 iconst 26 2 call 25 pith_struct_alloc tuple 1 26 @@ -26176,10 +26136,10 @@ jmp L83 label L85 label L83 label L81 -load 28 __for_idx_59 +load 28 __for_idx_58 iconst 29 1 add 30 28 29 -store __for_idx_59 30 +store __for_idx_58 30 jmp L79 label L82 load 31 result @@ -26197,20 +26157,20 @@ store result 2 load 3 list call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_60 5 -store __for_len_60 4 -store __for_iter_60 3 +store __for_idx_59 5 +store __for_len_59 4 +store __for_iter_59 3 label L86 -load 6 __for_idx_60 -load 7 __for_len_60 +load 6 __for_idx_59 +load 7 __for_len_59 lt 8 6 7 brif 8 L87 L89 label L87 -load 9 __for_iter_60 -load 10 __for_idx_60 +load 9 __for_iter_59 +load 10 __for_idx_59 call 11 pith_list_get_value unknown 2 9 10 -store __loopvar_60_item 11 -load 12 __loopvar_60_item +store __loopvar_59_item 11 +load 12 __loopvar_59_item load 13 value eq 14 12 13 brif 14 L91 L92 @@ -26223,10 +26183,10 @@ jmp L90 label L92 label L90 label L88 -load 18 __for_idx_60 +load 18 __for_idx_59 iconst 19 1 add 20 18 19 -store __for_idx_60 20 +store __for_idx_59 20 jmp L86 label L89 load 21 result @@ -26239,32 +26199,32 @@ param list load 1 list call 2 pith_auto_len int 1 1 iconst 3 0 -store __for_idx_61 3 -store __for_len_61 2 -store __for_iter_61 1 +store __for_idx_60 3 +store __for_len_60 2 +store __for_iter_60 1 label L93 -load 4 __for_idx_61 -load 5 __for_len_61 +load 4 __for_idx_60 +load 5 __for_len_60 lt 6 4 5 brif 6 L94 L96 label L94 -load 7 __for_iter_61 -load 8 __for_idx_61 +load 7 __for_iter_60 +load 8 __for_idx_60 call 9 pith_list_get_value unknown 2 7 8 -store __loopvar_61_item 9 -load 10 __for_idx_61 -store __loopvar_61_i 10 +store __loopvar_60_item 9 +load 10 __for_idx_60 +store __loopvar_60_i 10 iconst 11 0 store __and_11_100 11 -load 12 __loopvar_61_i +load 12 __loopvar_60_i iconst 13 0 gt 14 12 13 store __and_11_100 14 brif 14 L100 L101 label L100 -load 15 __loopvar_61_item +load 15 __loopvar_60_item load 16 list -load 17 __loopvar_61_i +load 17 __loopvar_60_i iconst 18 1 sub 19 17 18 call 20 pith_list_get_value_strict int 2 16 19 @@ -26279,10 +26239,10 @@ ret 23 label L99 label L97 label L95 -load 24 __for_idx_61 +load 24 __for_idx_60 iconst 25 1 add 26 24 25 -store __for_idx_61 26 +store __for_idx_60 26 jmp L93 label L96 iconst 27 1 @@ -26354,22 +26314,22 @@ label L105 load 14 list call 15 pith_auto_len int 1 14 iconst 16 0 -store __for_idx_62 16 -store __for_len_62 15 -store __for_iter_62 14 +store __for_idx_61 16 +store __for_len_61 15 +store __for_iter_61 14 label L108 -load 17 __for_idx_62 -load 18 __for_len_62 +load 17 __for_idx_61 +load 18 __for_len_61 lt 19 17 18 brif 19 L109 L111 label L109 -load 20 __for_iter_62 -load 21 __for_idx_62 +load 20 __for_iter_61 +load 21 __for_idx_61 call 22 pith_list_get_value unknown 2 20 21 -store __loopvar_62_item 22 -load 23 __for_idx_62 -store __loopvar_62_i 23 -load 24 __loopvar_62_i +store __loopvar_61_item 22 +load 23 __for_idx_61 +store __loopvar_61_i 23 +load 24 __loopvar_61_i load 25 count gte 26 24 25 brif 26 L113 L114 @@ -26378,13 +26338,13 @@ jmp L111 label L114 label L112 load 27 result -load 28 __loopvar_62_item +load 28 __loopvar_61_item call 29 pith_list_push_value void 2 27 28 label L110 -load 30 __for_idx_62 +load 30 __for_idx_61 iconst 31 1 add 32 30 31 -store __for_idx_62 32 +store __for_idx_61 32 jmp L108 label L111 load 33 result @@ -26418,37 +26378,37 @@ label L115 load 11 list call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_63 13 -store __for_len_63 12 -store __for_iter_63 11 +store __for_idx_62 13 +store __for_len_62 12 +store __for_iter_62 11 label L118 -load 14 __for_idx_63 -load 15 __for_len_63 +load 14 __for_idx_62 +load 15 __for_len_62 lt 16 14 15 brif 16 L119 L121 label L119 -load 17 __for_iter_63 -load 18 __for_idx_63 +load 17 __for_iter_62 +load 18 __for_idx_62 call 19 pith_list_get_value unknown 2 17 18 -store __loopvar_63_item 19 -load 20 __for_idx_63 -store __loopvar_63_i 20 -load 21 __loopvar_63_i +store __loopvar_62_item 19 +load 20 __for_idx_62 +store __loopvar_62_i 20 +load 21 __loopvar_62_i load 22 start gte 23 21 22 brif 23 L123 L124 label L123 load 24 result -load 25 __loopvar_63_item +load 25 __loopvar_62_item call 26 pith_list_push_value void 2 24 25 jmp L122 label L124 label L122 label L120 -load 27 __for_idx_63 +load 27 __for_idx_62 iconst 28 1 add 29 27 28 -store __for_idx_63 29 +store __for_idx_62 29 jmp L118 label L121 load 30 result @@ -26498,30 +26458,30 @@ label L128 load 19 list call 20 pith_auto_len int 1 19 iconst 21 0 -store __for_idx_64 21 -store __for_len_64 20 -store __for_iter_64 19 +store __for_idx_63 21 +store __for_len_63 20 +store __for_iter_63 19 label L131 -load 22 __for_idx_64 -load 23 __for_len_64 +load 22 __for_idx_63 +load 23 __for_len_63 lt 24 22 23 brif 24 L132 L134 label L132 -load 25 __for_iter_64 -load 26 __for_idx_64 +load 25 __for_iter_63 +load 26 __for_idx_63 call 27 pith_list_get_value unknown 2 25 26 -store __loopvar_64_item 27 -load 28 __for_idx_64 -store __loopvar_64_i 28 +store __loopvar_63_item 27 +load 28 __for_idx_63 +store __loopvar_63_i 28 iconst 29 0 store __and_29_138 29 -load 30 __loopvar_64_i +load 30 __loopvar_63_i load 31 lo gte 32 30 31 store __and_29_138 32 brif 32 L138 L139 label L138 -load 33 __loopvar_64_i +load 33 __loopvar_63_i load 34 hi lt 35 33 34 store __and_29_138 35 @@ -26530,16 +26490,16 @@ load 36 __and_29_138 brif 36 L136 L137 label L136 load 37 result -load 38 __loopvar_64_item +load 38 __loopvar_63_item call 39 pith_list_push_value void 2 37 38 jmp L135 label L137 label L135 label L133 -load 40 __for_idx_64 +load 40 __for_idx_63 iconst 41 1 add 42 40 41 -store __for_idx_64 42 +store __for_idx_63 42 jmp L131 label L134 load 43 result @@ -26572,32 +26532,32 @@ store result 10 load 12 list call 13 pith_auto_len int 1 12 iconst 14 0 -store __for_idx_65 14 -store __for_len_65 13 -store __for_iter_65 12 +store __for_idx_64 14 +store __for_len_64 13 +store __for_iter_64 12 label L143 -load 15 __for_idx_65 -load 16 __for_len_65 +load 15 __for_idx_64 +load 16 __for_len_64 lt 17 15 16 brif 17 L144 L146 label L144 -load 18 __for_iter_65 -load 19 __for_idx_65 +load 18 __for_iter_64 +load 19 __for_idx_64 call 20 pith_list_get_value unknown 2 18 19 -store __loopvar_65_item 20 -load 21 __for_idx_65 -store __loopvar_65_i 21 +store __loopvar_64_item 20 +load 21 __for_idx_64 +store __loopvar_64_i 21 iconst 22 0 store __or_22_150 22 -load 23 __loopvar_65_i +load 23 __loopvar_64_i iconst 24 0 eq 25 23 24 store __or_22_150 25 brif 25 L151 L150 label L150 -load 26 __loopvar_65_item +load 26 __loopvar_64_item load 27 list -load 28 __loopvar_65_i +load 28 __loopvar_64_i iconst 29 1 sub 30 28 29 call 31 pith_list_get_value_strict int 2 27 30 @@ -26608,16 +26568,16 @@ load 33 __or_22_150 brif 33 L148 L149 label L148 load 34 result -load 35 __loopvar_65_item +load 35 __loopvar_64_item call 36 pith_list_push_value void 2 34 35 jmp L147 label L149 label L147 label L145 -load 37 __for_idx_65 +load 37 __for_idx_64 iconst 38 1 add 39 37 38 -store __for_idx_65 39 +store __for_idx_64 39 jmp L143 label L146 load 40 result @@ -26639,35 +26599,35 @@ store result 4 load 6 list call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_66 8 -store __for_len_66 7 -store __for_iter_66 6 +store __for_idx_65 8 +store __for_len_65 7 +store __for_iter_65 6 label L152 -load 9 __for_idx_66 -load 10 __for_len_66 +load 9 __for_idx_65 +load 10 __for_len_65 lt 11 9 10 brif 11 L153 L155 label L153 -load 12 __for_iter_66 -load 13 __for_idx_66 +load 12 __for_iter_65 +load 13 __for_idx_65 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_66_item 14 -load 15 __loopvar_66_item +store __loopvar_65_item 14 +load 15 __loopvar_65_item load 16 value neq 17 15 16 brif 17 L157 L158 label L157 load 18 result -load 19 __loopvar_66_item +load 19 __loopvar_65_item call 20 pith_list_push_value void 2 18 19 jmp L156 label L158 label L156 label L154 -load 21 __for_idx_66 +load 21 __for_idx_65 iconst 22 1 add 23 21 22 -store __for_idx_66 23 +store __for_idx_65 23 jmp L152 label L155 load 24 result @@ -26695,22 +26655,22 @@ store len 10 load 11 a call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_67 13 -store __for_len_67 12 -store __for_iter_67 11 +store __for_idx_66 13 +store __for_len_66 12 +store __for_iter_66 11 label L159 -load 14 __for_idx_67 -load 15 __for_len_67 +load 14 __for_idx_66 +load 15 __for_len_66 lt 16 14 15 brif 16 L160 L162 label L160 -load 17 __for_iter_67 -load 18 __for_idx_67 +load 17 __for_iter_66 +load 18 __for_idx_66 call 19 pith_list_get_value unknown 2 17 18 -store __loopvar_67_left 19 -load 20 __for_idx_67 -store __loopvar_67_i 20 -load 21 __loopvar_67_i +store __loopvar_66_left 19 +load 20 __for_idx_66 +store __loopvar_66_i 20 +load 21 __loopvar_66_i load 22 len gte 23 21 22 brif 23 L164 L165 @@ -26719,14 +26679,14 @@ jmp L162 label L165 label L163 load 24 result -load 25 __loopvar_67_left +load 25 __loopvar_66_left call 26 int_to_string string 1 25 strref 27 m9s8 concat 28 26 27 call 29 pith_cstring_release void 1 26 call 30 pith_cstring_release void 1 27 load 31 b -load 32 __loopvar_67_i +load 32 __loopvar_66_i call 33 pith_list_get_value_strict int 2 31 32 call 34 int_to_string string 1 33 concat 35 28 34 @@ -26734,10 +26694,10 @@ call 36 pith_cstring_release void 1 28 call 37 pith_cstring_release void 1 34 call 38 pith_list_push_value_owned void 2 24 35 label L161 -load 39 __for_idx_67 +load 39 __for_idx_66 iconst 40 1 add 41 39 40 -store __for_idx_67 41 +store __for_idx_66 41 jmp L159 label L162 load 42 result @@ -26758,39 +26718,39 @@ store result 3 load 5 list call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_68 7 -store __for_len_68 6 -store __for_iter_68 5 +store __for_idx_67 7 +store __for_len_67 6 +store __for_iter_67 5 label L166 -load 8 __for_idx_68 -load 9 __for_len_68 +load 8 __for_idx_67 +load 9 __for_len_67 lt 10 8 9 brif 10 L167 L169 label L167 -load 11 __for_iter_68 -load 12 __for_idx_68 +load 11 __for_iter_67 +load 12 __for_idx_67 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_68_item 13 -load 14 __for_idx_68 -store __loopvar_68_i 14 +store __loopvar_67_item 13 +load 14 __for_idx_67 +store __loopvar_67_i 14 load 15 result -load 16 __loopvar_68_i +load 16 __loopvar_67_i call 17 int_to_string string 1 16 strref 18 m9s8 concat 19 17 18 call 20 pith_cstring_release void 1 17 call 21 pith_cstring_release void 1 18 -load 22 __loopvar_68_item +load 22 __loopvar_67_item call 23 int_to_string string 1 22 concat 24 19 23 call 25 pith_cstring_release void 1 19 call 26 pith_cstring_release void 1 23 call 27 pith_list_push_value_owned void 2 15 24 label L168 -load 28 __for_idx_68 +load 28 __for_idx_67 iconst 29 1 add 30 28 29 -store __for_idx_68 30 +store __for_idx_67 30 jmp L166 label L169 load 31 result @@ -26811,50 +26771,50 @@ store result 3 load 5 lists call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_69 7 -store __for_len_69 6 -store __for_iter_69 5 +store __for_idx_68 7 +store __for_len_68 6 +store __for_iter_68 5 label L170 -load 8 __for_idx_69 -load 9 __for_len_69 +load 8 __for_idx_68 +load 9 __for_len_68 lt 10 8 9 brif 10 L171 L173 label L171 -load 11 __for_iter_69 -load 12 __for_idx_69 +load 11 __for_iter_68 +load 12 __for_idx_68 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_69_inner 13 -load 14 __loopvar_69_inner +store __loopvar_68_inner 13 +load 14 __loopvar_68_inner call 15 pith_auto_len int 1 14 iconst 16 0 -store __for_idx_70 16 -store __for_len_70 15 -store __for_iter_70 14 +store __for_idx_69 16 +store __for_len_69 15 +store __for_iter_69 14 label L174 -load 17 __for_idx_70 -load 18 __for_len_70 +load 17 __for_idx_69 +load 18 __for_len_69 lt 19 17 18 brif 19 L175 L177 label L175 -load 20 __for_iter_70 -load 21 __for_idx_70 +load 20 __for_iter_69 +load 21 __for_idx_69 call 22 pith_list_get_value unknown 2 20 21 -store __loopvar_70_item 22 +store __loopvar_69_item 22 load 23 result -load 24 __loopvar_70_item +load 24 __loopvar_69_item call 25 pith_list_push_value void 2 23 24 label L176 -load 26 __for_idx_70 +load 26 __for_idx_69 iconst 27 1 add 28 26 27 -store __for_idx_70 28 +store __for_idx_69 28 jmp L174 label L177 label L172 -load 29 __for_idx_69 +load 29 __for_idx_68 iconst 30 1 add 31 29 30 -store __for_idx_69 31 +store __for_idx_68 31 jmp L170 label L173 load 32 result @@ -26968,35 +26928,35 @@ store result 4 load 6 a call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_71 8 -store __for_len_71 7 -store __for_iter_71 6 +store __for_idx_70 8 +store __for_len_70 7 +store __for_iter_70 6 label L189 -load 9 __for_idx_71 -load 10 __for_len_71 +load 9 __for_idx_70 +load 10 __for_len_70 lt 11 9 10 brif 11 L190 L192 label L190 -load 12 __for_iter_71 -load 13 __for_idx_71 +load 12 __for_iter_70 +load 13 __for_idx_70 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_71_item 14 +store __loopvar_70_item 14 load 15 b -load 16 __loopvar_71_item +load 16 __loopvar_70_item call 17 std_collections_has bool 2 15 16 brif 17 L194 L195 label L194 load 18 result -load 19 __loopvar_71_item +load 19 __loopvar_70_item call 20 pith_list_push_value void 2 18 19 jmp L193 label L195 label L193 label L191 -load 21 __for_idx_71 +load 21 __for_idx_70 iconst 22 1 add 23 21 22 -store __for_idx_71 23 +store __for_idx_70 23 jmp L189 label L192 load 24 result @@ -27018,37 +26978,37 @@ store result 4 load 6 a call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_72 8 -store __for_len_72 7 -store __for_iter_72 6 +store __for_idx_71 8 +store __for_len_71 7 +store __for_iter_71 6 label L196 -load 9 __for_idx_72 -load 10 __for_len_72 +load 9 __for_idx_71 +load 10 __for_len_71 lt 11 9 10 brif 11 L197 L199 label L197 -load 12 __for_iter_72 -load 13 __for_idx_72 +load 12 __for_iter_71 +load 13 __for_idx_71 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_72_item 14 +store __loopvar_71_item 14 load 15 b -load 16 __loopvar_72_item +load 16 __loopvar_71_item call 17 std_collections_has bool 2 15 16 iconst 19 1 sub 18 19 17 brif 18 L201 L202 label L201 load 20 result -load 21 __loopvar_72_item +load 21 __loopvar_71_item call 22 pith_list_push_value void 2 20 21 jmp L200 label L202 label L200 label L198 -load 23 __for_idx_72 +load 23 __for_idx_71 iconst 24 1 add 25 23 24 -store __for_idx_72 25 +store __for_idx_71 25 jmp L196 label L199 load 26 result @@ -27101,20 +27061,20 @@ param value load 2 list call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_73 4 -store __for_len_73 3 -store __for_iter_73 2 +store __for_idx_72 4 +store __for_len_72 3 +store __for_iter_72 2 label L206 -load 5 __for_idx_73 -load 6 __for_len_73 +load 5 __for_idx_72 +load 6 __for_len_72 lt 7 5 6 brif 7 L207 L209 label L207 -load 8 __for_iter_73 -load 9 __for_idx_73 +load 8 __for_iter_72 +load 9 __for_idx_72 call 10 pith_list_get_value_unchecked string 2 8 9 -store __loopvar_73_item 10 -load 11 __loopvar_73_item +store __loopvar_72_item 10 +load 11 __loopvar_72_item load 12 value call 13 pith_cstring_eq bool 2 11 12 brif 13 L211 L212 @@ -27124,10 +27084,10 @@ ret 14 label L212 label L210 label L208 -load 15 __for_idx_73 +load 15 __for_idx_72 iconst 16 1 add 17 15 16 -store __for_idx_73 17 +store __for_idx_72 17 jmp L206 label L209 iconst 18 0 @@ -27199,28 +27159,28 @@ store parts 3 load 5 items call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_74 7 -store __for_len_74 6 -store __for_iter_74 5 +store __for_idx_73 7 +store __for_len_73 6 +store __for_iter_73 5 label L219 -load 8 __for_idx_74 -load 9 __for_len_74 +load 8 __for_idx_73 +load 9 __for_len_73 lt 10 8 9 brif 10 L220 L222 label L220 -load 11 __for_iter_74 -load 12 __for_idx_74 +load 11 __for_iter_73 +load 12 __for_idx_73 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_74_item 13 +store __loopvar_73_item 13 load 14 parts -load 15 __loopvar_74_item +load 15 __loopvar_73_item field 16 15 0 string name call 17 pith_list_push_value void 2 14 16 label L221 -load 18 __for_idx_74 +load 18 __for_idx_73 iconst 19 1 add 20 18 19 -store __for_idx_74 20 +store __for_idx_73 20 jmp L219 label L222 load 21 parts @@ -29995,27 +29955,27 @@ store result 1 load 2 items call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_75 4 -store __for_len_75 3 -store __for_iter_75 2 +store __for_idx_74 4 +store __for_len_74 3 +store __for_iter_74 2 label L171 -load 5 __for_idx_75 -load 6 __for_len_75 +load 5 __for_idx_74 +load 6 __for_len_74 lt 7 5 6 brif 7 L172 L174 label L172 -load 8 __for_iter_75 -load 9 __for_idx_75 +load 8 __for_iter_74 +load 9 __for_idx_74 call 10 pith_list_get_value_unchecked string 2 8 9 -store __loopvar_75_item 10 +store __loopvar_74_item 10 load 11 result -load 12 __loopvar_75_item +load 12 __loopvar_74_item call 13 pith_list_push_value void 2 11 12 label L173 -load 14 __for_idx_75 +load 14 __for_idx_74 iconst 15 1 add 16 14 15 -store __for_idx_75 16 +store __for_idx_74 16 jmp L171 label L174 load 17 result @@ -30031,27 +29991,27 @@ store result 1 load 2 items call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_76 4 -store __for_len_76 3 -store __for_iter_76 2 +store __for_idx_75 4 +store __for_len_75 3 +store __for_iter_75 2 label L175 -load 5 __for_idx_76 -load 6 __for_len_76 +load 5 __for_idx_75 +load 6 __for_len_75 lt 7 5 6 brif 7 L176 L178 label L176 -load 8 __for_iter_76 -load 9 __for_idx_76 +load 8 __for_iter_75 +load 9 __for_idx_75 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_76_item 10 +store __loopvar_75_item 10 load 11 result -load 12 __loopvar_76_item +load 12 __loopvar_75_item call 13 pith_list_push_value void 2 11 12 label L177 -load 14 __for_idx_76 +load 14 __for_idx_75 iconst 15 1 add 16 14 15 -store __for_idx_76 16 +store __for_idx_75 16 jmp L175 label L178 load 17 result @@ -30067,27 +30027,27 @@ store result 1 load 2 items call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_77 4 -store __for_len_77 3 -store __for_iter_77 2 +store __for_idx_76 4 +store __for_len_76 3 +store __for_iter_76 2 label L179 -load 5 __for_idx_77 -load 6 __for_len_77 +load 5 __for_idx_76 +load 6 __for_len_76 lt 7 5 6 brif 7 L180 L182 label L180 -load 8 __for_iter_77 -load 9 __for_idx_77 +load 8 __for_iter_76 +load 9 __for_idx_76 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_77_item 10 +store __loopvar_76_item 10 load 11 result -load 12 __loopvar_77_item +load 12 __loopvar_76_item call 13 pith_list_push_value void 2 11 12 label L181 -load 14 __for_idx_77 +load 14 __for_idx_76 iconst 15 1 add 16 14 15 -store __for_idx_77 16 +store __for_idx_76 16 jmp L179 label L182 load 17 result @@ -30623,27 +30583,27 @@ store names 2 load 4 scope_binding_names call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_78 6 -store __for_len_78 5 -store __for_iter_78 4 +store __for_idx_77 6 +store __for_len_77 5 +store __for_iter_77 4 label L6 -load 7 __for_idx_78 -load 8 __for_len_78 +load 7 __for_idx_77 +load 8 __for_len_77 lt 9 7 8 brif 9 L7 L9 label L7 -load 10 __for_iter_78 -load 11 __for_idx_78 +load 10 __for_iter_77 +load 11 __for_idx_77 call 12 pith_list_get_value_unchecked string 2 10 11 -store __loopvar_78_name 12 +store __loopvar_77_name 12 load 13 names -load 14 __loopvar_78_name +load 14 __loopvar_77_name call 15 pith_list_push_value void 2 13 14 label L8 -load 16 __for_idx_78 +load 16 __for_idx_77 iconst 17 1 add 18 16 17 -store __for_idx_78 18 +store __for_idx_77 18 jmp L6 label L9 load 19 names @@ -30670,27 +30630,27 @@ store tids 2 load 4 scope_binding_types call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_79 6 -store __for_len_79 5 -store __for_iter_79 4 +store __for_idx_78 6 +store __for_len_78 5 +store __for_iter_78 4 label L10 -load 7 __for_idx_79 -load 8 __for_len_79 +load 7 __for_idx_78 +load 8 __for_len_78 lt 9 7 8 brif 9 L11 L13 label L11 -load 10 __for_iter_79 -load 11 __for_idx_79 +load 10 __for_iter_78 +load 11 __for_idx_78 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_79_tid 12 +store __loopvar_78_tid 12 load 13 tids -load 14 __loopvar_79_tid +load 14 __loopvar_78_tid call 15 pith_list_push_value void 2 13 14 label L12 -load 16 __for_idx_79 +load 16 __for_idx_78 iconst 17 1 add 18 16 17 -store __for_idx_79 18 +store __for_idx_78 18 jmp L10 label L13 load 19 tids @@ -31864,20 +31824,20 @@ store prefix 3 load 5 module_path call 6 string_len int 1 5 iconst 7 0 -store __for_idx_80 7 -store __for_len_80 6 -store __for_iter_80 5 +store __for_idx_79 7 +store __for_len_79 6 +store __for_iter_79 5 label L0 -load 8 __for_idx_80 -load 9 __for_len_80 +load 8 __for_idx_79 +load 9 __for_len_79 lt 10 8 9 brif 10 L1 L3 label L1 -load 11 __for_iter_80 -load 12 __for_idx_80 +load 11 __for_iter_79 +load 12 __for_idx_79 call 13 pith_cstring_char_at string 2 11 12 -store __loopvar_80_ch 13 -load 14 __loopvar_80_ch +store __loopvar_79_ch 13 +load 14 __loopvar_79_ch strref 15 m12s13 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 @@ -31894,16 +31854,16 @@ jmp L4 label L6 load 24 prefix load 25 prefix -load 26 __loopvar_80_ch +load 26 __loopvar_79_ch concat 27 25 26 call 28 pith_cstring_release void 1 24 store prefix 27 label L4 label L2 -load 29 __for_idx_80 +load 29 __for_idx_79 iconst 30 1 add 31 29 30 -store __for_idx_80 31 +store __for_idx_79 31 jmp L0 label L3 load 32 prefix @@ -32788,22 +32748,22 @@ load 163 info field 164 163 88 list elements call 165 pith_auto_len int 1 164 iconst 166 0 -store __for_idx_81 166 -store __for_len_81 165 -store __for_iter_81 164 +store __for_idx_80 166 +store __for_len_80 165 +store __for_iter_80 164 label L24 -load 167 __for_idx_81 -load 168 __for_len_81 +load 167 __for_idx_80 +load 168 __for_len_80 lt 169 167 168 brif 169 L25 L27 label L25 -load 170 __for_iter_81 -load 171 __for_idx_81 +load 170 __for_iter_80 +load 171 __for_idx_80 call 172 pith_list_get_value unknown 2 170 171 -store __loopvar_81_e 172 -load 173 __for_idx_81 -store __loopvar_81_i 173 -load 174 __loopvar_81_i +store __loopvar_80_e 172 +load 173 __for_idx_80 +store __loopvar_80_i 173 +load 174 __loopvar_80_i iconst 175 0 gt 176 174 175 brif 176 L29 L30 @@ -32820,17 +32780,17 @@ label L30 label L28 load 183 out load 184 out -load 185 __loopvar_81_e +load 185 __loopvar_80_e call 186 checker_type_intern_intern_key_name string 1 185 concat 187 184 186 call 188 pith_cstring_release void 1 186 call 189 pith_cstring_release void 1 183 store out 187 label L26 -load 190 __for_idx_81 +load 190 __for_idx_80 iconst 191 1 add 192 190 191 -store __for_idx_81 192 +store __for_idx_80 192 jmp L24 label L27 load 193 out @@ -32859,22 +32819,22 @@ load 209 info field 210 209 48 list param_types call 211 pith_auto_len int 1 210 iconst 212 0 -store __for_idx_82 212 -store __for_len_82 211 -store __for_iter_82 210 +store __for_idx_81 212 +store __for_len_81 211 +store __for_iter_81 210 label L34 -load 213 __for_idx_82 -load 214 __for_len_82 +load 213 __for_idx_81 +load 214 __for_len_81 lt 215 213 214 brif 215 L35 L37 label L35 -load 216 __for_iter_82 -load 217 __for_idx_82 +load 216 __for_iter_81 +load 217 __for_idx_81 call 218 pith_list_get_value unknown 2 216 217 -store __loopvar_82_pt 218 -load 219 __for_idx_82 -store __loopvar_82_i 219 -load 220 __loopvar_82_i +store __loopvar_81_pt 218 +load 219 __for_idx_81 +store __loopvar_81_i 219 +load 220 __loopvar_81_i iconst 221 0 gt 222 220 221 brif 222 L39 L40 @@ -32891,17 +32851,17 @@ label L40 label L38 load 229 out load 230 out -load 231 __loopvar_82_pt +load 231 __loopvar_81_pt call 232 checker_type_intern_intern_key_name string 1 231 concat 233 230 232 call 234 pith_cstring_release void 1 232 call 235 pith_cstring_release void 1 229 store out 233 label L36 -load 236 __for_idx_82 +load 236 __for_idx_81 iconst 237 1 add 238 236 237 -store __for_idx_82 238 +store __for_idx_81 238 jmp L34 label L37 load 239 out @@ -37673,24 +37633,24 @@ label L3 load 12 checker_diagnostics_checker_diagnostics call 13 pith_auto_len int 1 12 iconst 14 0 -store __for_idx_83 14 -store __for_len_83 13 -store __for_iter_83 12 +store __for_idx_82 14 +store __for_len_82 13 +store __for_iter_82 12 label L6 -load 15 __for_idx_83 -load 16 __for_len_83 +load 15 __for_idx_82 +load 16 __for_len_82 lt 17 15 16 brif 17 L7 L9 label L7 -load 18 __for_iter_83 -load 19 __for_idx_83 +load 18 __for_iter_82 +load 19 __for_idx_82 call 20 pith_list_get_value unknown 2 18 19 -store __loopvar_83_d 20 +store __loopvar_82_d 20 iconst 21 0 store __and_21_13 21 iconst 22 0 store __and_22_13 22 -load 23 __loopvar_83_d +load 23 __loopvar_82_d field 24 23 0 string severity strref 25 m15s14 call 26 pith_cstring_eq bool 2 24 25 @@ -37698,7 +37658,7 @@ call 27 pith_cstring_release void 1 25 store __and_22_13 26 brif 26 L13 L14 label L13 -load 28 __loopvar_83_d +load 28 __loopvar_82_d field 29 28 32 int line load 30 pos field 31 30 0 int 0 @@ -37709,7 +37669,7 @@ load 33 __and_22_13 store __and_21_13 33 brif 33 L15 L16 label L15 -load 34 __loopvar_83_d +load 34 __loopvar_82_d field 35 34 24 string file load 36 checker_diagnostics_checker_file_path call 37 pith_cstring_eq bool 2 35 36 @@ -37725,10 +37685,10 @@ ret 39 label L12 label L10 label L8 -load 42 __for_idx_83 +load 42 __for_idx_82 iconst 43 1 add 44 42 43 -store __for_idx_83 44 +store __for_idx_82 44 jmp L6 label L9 iconst 45 0 @@ -38358,20 +38318,20 @@ param name load 1 checker_interfaces_interface_declaration_names call 2 pith_auto_len int 1 1 iconst 3 0 -store __for_idx_84 3 -store __for_len_84 2 -store __for_iter_84 1 +store __for_idx_83 3 +store __for_len_83 2 +store __for_iter_83 1 label L15 -load 4 __for_idx_84 -load 5 __for_len_84 +load 4 __for_idx_83 +load 5 __for_len_83 lt 6 4 5 brif 6 L16 L18 label L16 -load 7 __for_iter_84 -load 8 __for_idx_84 +load 7 __for_iter_83 +load 8 __for_idx_83 call 9 pith_list_get_value_unchecked string 2 7 8 -store __loopvar_84_iface_name 9 -load 10 __loopvar_84_iface_name +store __loopvar_83_iface_name 9 +load 10 __loopvar_83_iface_name load 11 name call 12 checker_interfaces_names_equal bool 2 10 11 brif 12 L20 L21 @@ -38381,10 +38341,10 @@ ret 13 label L21 label L19 label L17 -load 14 __for_idx_84 +load 14 __for_idx_83 iconst 15 1 add 16 14 15 -store __for_idx_84 16 +store __for_idx_83 16 jmp L15 label L18 load 17 checker_interfaces_interface_declaration_names @@ -38400,20 +38360,20 @@ store base 1 load 2 checker_interfaces_interface_declaration_names call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_85 4 -store __for_len_85 3 -store __for_iter_85 2 +store __for_idx_84 4 +store __for_len_84 3 +store __for_iter_84 2 label L22 -load 5 __for_idx_85 -load 6 __for_len_85 +load 5 __for_idx_84 +load 6 __for_len_84 lt 7 5 6 brif 7 L23 L25 label L23 -load 8 __for_iter_85 -load 9 __for_idx_85 +load 8 __for_iter_84 +load 9 __for_idx_84 call 10 pith_list_get_value_unchecked string 2 8 9 -store __loopvar_85_iface_name 10 -load 11 __loopvar_85_iface_name +store __loopvar_84_iface_name 10 +load 11 __loopvar_84_iface_name load 12 name call 13 checker_interfaces_names_equal bool 2 11 12 brif 13 L27 L28 @@ -38425,10 +38385,10 @@ ret 14 label L28 label L26 label L24 -load 17 __for_idx_85 +load 17 __for_idx_84 iconst 18 1 add 19 17 18 -store __for_idx_85 19 +store __for_idx_84 19 jmp L22 label L25 load 20 base @@ -38446,20 +38406,20 @@ label L30 load 29 checker_interfaces_interface_declaration_names call 30 pith_auto_len int 1 29 iconst 31 0 -store __for_idx_86 31 -store __for_len_86 30 -store __for_iter_86 29 +store __for_idx_85 31 +store __for_len_85 30 +store __for_iter_85 29 label L32 -load 32 __for_idx_86 -load 33 __for_len_86 +load 32 __for_idx_85 +load 33 __for_len_85 lt 34 32 33 brif 34 L33 L35 label L33 -load 35 __for_iter_86 -load 36 __for_idx_86 +load 35 __for_iter_85 +load 36 __for_idx_85 call 37 pith_list_get_value_unchecked string 2 35 36 -store __loopvar_86_iface_name 37 -load 38 __loopvar_86_iface_name +store __loopvar_85_iface_name 37 +load 38 __loopvar_85_iface_name load 39 base call 40 checker_interfaces_names_equal bool 2 38 39 brif 40 L37 L38 @@ -38471,10 +38431,10 @@ ret 41 label L38 label L36 label L34 -load 44 __for_idx_86 +load 44 __for_idx_85 iconst 45 1 add 46 44 45 -store __for_idx_86 46 +store __for_idx_85 46 jmp L32 label L35 jmp L29 @@ -38839,30 +38799,30 @@ load 4 checker_methods_method_decl_index_map call 5 map_keys list_string 1 4 call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_87 7 -store __for_len_87 6 -store __for_iter_87 5 +store __for_idx_86 7 +store __for_len_86 6 +store __for_iter_86 5 label L3 -load 8 __for_idx_87 -load 9 __for_len_87 +load 8 __for_idx_86 +load 9 __for_len_86 lt 10 8 9 brif 10 L4 L6 label L4 -load 11 __for_iter_87 -load 12 __for_idx_87 +load 11 __for_iter_86 +load 12 __for_idx_86 call 13 pith_list_get_value_unchecked string 2 11 12 -store __loopvar_87_key 13 +store __loopvar_86_key 13 load 14 keys -load 15 __loopvar_87_key +load 15 __loopvar_86_key call 16 pith_list_push_value void 2 14 15 label L5 -load 17 __for_idx_87 +load 17 __for_idx_86 iconst 18 1 add 19 17 18 -store __for_idx_87 19 +store __for_idx_86 19 jmp L3 label L6 -load 20 __for_iter_87 +load 20 __for_iter_86 call 21 pith_list_release_handle void 1 20 load 22 keys ret 22 @@ -39918,7 +39878,7 @@ global checker_checked_module_paths map global checker_generic_inference_subst map global checker_current_scope 0 global checker_method_type_map map -global checker_method_decl_kind map +global checker_method_declared_kinds map global checker_method_visibility_map map global checker_function_visibility_map map global checker_struct_field_default_nodes map @@ -39968,8 +39928,8 @@ sub 8 9 7 store checker_current_scope 8 call 10 pith_map_new_default map 0 store checker_method_type_map 10 -call 11 pith_map_new_cstr_val map 0 -store checker_method_decl_kind 11 +call 11 pith_map_new_default map 0 +store checker_method_declared_kinds 11 call 12 pith_map_new_default map 0 store checker_method_visibility_map 12 call 13 pith_map_new_default map 0 @@ -40235,33 +40195,33 @@ load 5 src call 6 map_keys list_string 1 5 call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_88 8 -store __for_len_88 7 -store __for_iter_88 6 +store __for_idx_87 8 +store __for_len_87 7 +store __for_iter_87 6 label L0 -load 9 __for_idx_88 -load 10 __for_len_88 +load 9 __for_idx_87 +load 10 __for_len_87 lt 11 9 10 brif 11 L1 L3 label L1 -load 12 __for_iter_88 -load 13 __for_idx_88 +load 12 __for_iter_87 +load 13 __for_idx_87 call 14 pith_list_get_value_unchecked string 2 12 13 -store __loopvar_88_key 14 +store __loopvar_87_key 14 load 15 dst -load 16 __loopvar_88_key +load 16 __loopvar_87_key load 17 src -load 18 __loopvar_88_key +load 18 __loopvar_87_key call 19 map_get_strict string 2 17 18 call 20 map_insert void 3 15 16 19 label L2 -load 21 __for_idx_88 +load 21 __for_idx_87 iconst 22 1 add 23 21 22 -store __for_idx_88 23 +store __for_idx_87 23 jmp L0 label L3 -load 24 __for_iter_88 +load 24 __for_iter_87 call 25 pith_list_release_handle void 1 24 load 26 dst ret 26 @@ -40278,8 +40238,8 @@ load 3 file_path call 4 checker_diagnostics_checker_reset_diagnostics void 1 3 call 5 pith_map_new_default map 0 store checker_method_type_map 5 -call 6 pith_map_new_cstr_val map 0 -store checker_method_decl_kind 6 +call 6 pith_map_new_default map 0 +store checker_method_declared_kinds 6 call 7 pith_map_new_default map 0 store checker_method_visibility_map 7 call 8 pith_map_new_default map 0 @@ -40404,21 +40364,21 @@ load 15 root field 16 15 16 list children call 17 pith_auto_len int 1 16 iconst 18 0 -store __for_idx_89 18 -store __for_len_89 17 -store __for_iter_89 16 +store __for_idx_88 18 +store __for_len_88 17 +store __for_iter_88 16 label L4 -load 19 __for_idx_89 -load 20 __for_len_89 +load 19 __for_idx_88 +load 20 __for_len_88 lt 21 19 20 brif 21 L5 L7 label L5 -load 22 __for_iter_89 -load 23 __for_idx_89 +load 22 __for_iter_88 +load 23 __for_idx_88 call 24 pith_list_get_value unknown 2 22 23 -store __loopvar_89_child 24 +store __loopvar_88_child 24 load 25 node -load 26 __loopvar_89_child +load 26 __loopvar_88_child call 27 ast_get_node struct:Node 1 26 call 28 pith_struct_release void 1 25 store node 27 @@ -40780,7 +40740,7 @@ iconst 255 0 eq 256 254 255 brif 256 L79 L80 label L79 -load 257 __loopvar_89_child +load 257 __loopvar_88_child strref 258 m18s885 strref 259 m18s376 load 260 imported_name @@ -40846,10 +40806,10 @@ jmp L14 label L36 label L14 label L6 -load 300 __for_idx_89 +load 300 __for_idx_88 iconst 301 1 add 302 300 301 -store __for_idx_89 302 +store __for_idx_88 302 jmp L4 label L7 load 303 root @@ -40890,19 +40850,19 @@ store result 6 load 9 type_args call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_90 11 -store __for_len_90 10 -store __for_iter_90 9 +store __for_idx_89 11 +store __for_len_89 10 +store __for_iter_89 9 label L81 -load 12 __for_idx_90 -load 13 __for_len_90 +load 12 __for_idx_89 +load 13 __for_len_89 lt 14 12 13 brif 14 L82 L84 label L82 -load 15 __for_iter_90 -load 16 __for_idx_90 +load 15 __for_iter_89 +load 16 __for_idx_89 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_90_i 17 +store __loopvar_89_i 17 load 18 result call 19 string_len int 1 18 load 20 base @@ -40924,17 +40884,17 @@ label L87 label L85 load 31 result load 32 result -load 33 __loopvar_90_i +load 33 __loopvar_89_i call 34 types_get_type_name string 1 33 concat 35 32 34 call 36 pith_cstring_release void 1 34 call 37 pith_cstring_release void 1 31 store result 35 label L83 -load 38 __for_idx_90 +load 38 __for_idx_89 iconst 39 1 add 40 38 39 -store __for_idx_90 40 +store __for_idx_89 40 jmp L81 label L84 load 41 result @@ -41123,28 +41083,28 @@ load 111 node field 112 111 16 list children call 113 pith_auto_len int 1 112 iconst 114 0 -store __for_idx_91 114 -store __for_len_91 113 -store __for_iter_91 112 +store __for_idx_90 114 +store __for_len_90 113 +store __for_iter_90 112 label L111 -load 115 __for_idx_91 -load 116 __for_len_91 +load 115 __for_idx_90 +load 116 __for_len_90 lt 117 115 116 brif 117 L112 L114 label L112 -load 118 __for_iter_91 -load 119 __for_idx_91 +load 118 __for_iter_90 +load 119 __for_idx_90 call 120 pith_list_get_value unknown 2 118 119 -store __loopvar_91_child 120 +store __loopvar_90_child 120 load 121 elems -load 122 __loopvar_91_child +load 122 __loopvar_90_child call 123 checker_resolve_type_implementation int 1 122 call 124 pith_list_push_value void 2 121 123 label L113 -load 125 __for_idx_91 +load 125 __for_idx_90 iconst 126 1 add 127 125 126 -store __for_idx_91 127 +store __for_idx_90 127 jmp L111 label L114 load 128 elems @@ -41171,21 +41131,21 @@ load 141 node field 142 141 16 list children call 143 pith_auto_len int 1 142 iconst 144 0 -store __for_idx_92 144 -store __for_len_92 143 -store __for_iter_92 142 +store __for_idx_91 144 +store __for_len_91 143 +store __for_iter_91 142 label L117 -load 145 __for_idx_92 -load 146 __for_len_92 +load 145 __for_idx_91 +load 146 __for_len_91 lt 147 145 146 brif 147 L118 L120 label L118 -load 148 __for_iter_92 -load 149 __for_idx_92 +load 148 __for_iter_91 +load 149 __for_idx_91 call 150 pith_list_get_value unknown 2 148 149 -store __loopvar_92_child 150 +store __loopvar_91_child 150 load 151 cn -load 152 __loopvar_92_child +load 152 __loopvar_91_child call 153 ast_get_node struct:Node 1 152 call 154 pith_struct_release void 1 151 store cn 153 @@ -41222,10 +41182,10 @@ jmp L121 label L125 label L121 label L119 -load 177 __for_idx_92 +load 177 __for_idx_91 iconst 178 1 add 179 177 178 -store __for_idx_92 179 +store __for_idx_91 179 jmp L117 label L120 load 180 params @@ -41599,28 +41559,28 @@ load 40 checker_checked_module_paths call 41 map_keys list_string 1 40 call 42 pith_auto_len int 1 41 iconst 43 0 -store __for_idx_93 43 -store __for_len_93 42 -store __for_iter_93 41 +store __for_idx_92 43 +store __for_len_92 42 +store __for_iter_92 41 label L154 -load 44 __for_idx_93 -load 45 __for_len_93 +load 44 __for_idx_92 +load 45 __for_len_92 lt 46 44 45 brif 46 L155 L157 label L155 -load 47 __for_iter_93 -load 48 __for_idx_93 +load 47 __for_iter_92 +load 48 __for_idx_92 call 49 pith_list_get_value_unchecked string 2 47 48 -store __loopvar_93_module_path 49 +store __loopvar_92_module_path 49 iconst 50 0 store __or_50_161 50 -load 51 __loopvar_93_module_path +load 51 __loopvar_92_module_path load 52 alias call 53 pith_cstring_eq bool 2 51 52 store __or_50_161 53 brif 53 L162 L161 label L161 -load 54 __loopvar_93_module_path +load 54 __loopvar_92_module_path load 55 suffix call 56 pith_cstring_ends_with bool 2 54 55 store __or_50_161 56 @@ -41628,7 +41588,7 @@ label L162 load 57 __or_50_161 brif 57 L159 L160 label L159 -load 58 __loopvar_93_module_path +load 58 __loopvar_92_module_path load 59 member call 60 types_lookup_qualified_type_id int 2 58 59 store found 60 @@ -41638,7 +41598,7 @@ gte 63 61 62 brif 63 L164 L165 label L164 load 64 found -load 65 __for_iter_93 +load 65 __for_iter_92 call 66 pith_list_release_handle void 1 65 load 67 parts call 68 pith_struct_release void 1 67 @@ -41655,13 +41615,13 @@ jmp L158 label L160 label L158 label L156 -load 75 __for_idx_93 +load 75 __for_idx_92 iconst 76 1 add 77 75 76 -store __for_idx_93 77 +store __for_idx_92 77 jmp L154 label L157 -load 78 __for_iter_93 +load 78 __for_iter_92 call 79 pith_list_release_handle void 1 78 iconst 80 1 iconst 82 0 @@ -41857,28 +41817,28 @@ load 11 node field 12 11 16 list children call 13 pith_auto_len int 1 12 iconst 14 0 -store __for_idx_94 14 -store __for_len_94 13 -store __for_iter_94 12 +store __for_idx_93 14 +store __for_len_93 13 +store __for_iter_93 12 label L189 -load 15 __for_idx_94 -load 16 __for_len_94 +load 15 __for_idx_93 +load 16 __for_len_93 lt 17 15 16 brif 17 L190 L192 label L190 -load 18 __for_iter_94 -load 19 __for_idx_94 +load 18 __for_iter_93 +load 19 __for_idx_93 call 20 pith_list_get_value unknown 2 18 19 -store __loopvar_94_child 20 +store __loopvar_93_child 20 load 21 type_args -load 22 __loopvar_94_child +load 22 __loopvar_93_child call 23 checker_resolve_type_implementation int 1 22 call 24 pith_list_push_value void 2 21 23 label L191 -load 25 __for_idx_94 +load 25 __for_idx_93 iconst 26 1 add 27 25 26 -store __for_idx_94 27 +store __for_idx_93 27 jmp L189 label L192 load 28 base @@ -42326,20 +42286,20 @@ store bi 50 load 51 subst_params call 52 pith_auto_len int 1 51 iconst 53 0 -store __for_idx_95 53 -store __for_len_95 52 -store __for_iter_95 51 +store __for_idx_94 53 +store __for_len_94 52 +store __for_iter_94 51 label L250 -load 54 __for_idx_95 -load 55 __for_len_95 +load 54 __for_idx_94 +load 55 __for_len_94 lt 56 54 55 brif 56 L251 L253 label L251 -load 57 __for_iter_95 -load 58 __for_idx_95 +load 57 __for_iter_94 +load 58 __for_idx_94 call 59 pith_list_get_value_unchecked string 2 57 58 -store __loopvar_95_p 59 -load 60 __loopvar_95_p +store __loopvar_94_p 59 +load 60 __loopvar_94_p load 61 dparts iconst 62 0 call 63 pith_list_get_value_strict string 2 61 62 @@ -42393,10 +42353,10 @@ jmp L254 label L256 label L254 label L252 -load 96 __for_idx_95 +load 96 __for_idx_94 iconst 97 1 add 98 96 97 -store __for_idx_95 98 +store __for_idx_94 98 jmp L250 label L253 jmp L247 @@ -42410,20 +42370,20 @@ store i 99 load 100 subst_params call 101 pith_auto_len int 1 100 iconst 102 0 -store __for_idx_96 102 -store __for_len_96 101 -store __for_iter_96 100 +store __for_idx_95 102 +store __for_len_95 101 +store __for_iter_95 100 label L263 -load 103 __for_idx_96 -load 104 __for_len_96 +load 103 __for_idx_95 +load 104 __for_len_95 lt 105 103 104 brif 105 L264 L266 label L264 -load 106 __for_iter_96 -load 107 __for_idx_96 +load 106 __for_iter_95 +load 107 __for_idx_95 call 108 pith_list_get_value_unchecked string 2 106 107 -store __loopvar_96_p 108 -load 109 __loopvar_96_p +store __loopvar_95_p 108 +load 109 __loopvar_95_p load 110 node field 111 110 8 string value call 112 checker_strings_equal bool 2 109 111 @@ -42474,10 +42434,10 @@ iconst 146 1 add 147 145 146 store i 147 label L265 -load 148 __for_idx_96 +load 148 __for_idx_95 iconst 149 1 add 150 148 149 -store __for_idx_96 150 +store __for_idx_95 150 jmp L263 label L266 load 151 node @@ -42513,30 +42473,30 @@ load 174 node field 175 174 16 list children call 176 pith_auto_len int 1 175 iconst 177 0 -store __for_idx_97 177 -store __for_len_97 176 -store __for_iter_97 175 +store __for_idx_96 177 +store __for_len_96 176 +store __for_iter_96 175 label L276 -load 178 __for_idx_97 -load 179 __for_len_97 +load 178 __for_idx_96 +load 179 __for_len_96 lt 180 178 179 brif 180 L277 L279 label L277 -load 181 __for_iter_97 -load 182 __for_idx_97 +load 181 __for_iter_96 +load 182 __for_idx_96 call 183 pith_list_get_value unknown 2 181 182 -store __loopvar_97_child 183 +store __loopvar_96_child 183 load 184 type_args -load 185 __loopvar_97_child +load 185 __loopvar_96_child load 186 subst_params load 187 subst_args call 188 checker_resolve_type_with_substitution_map int 3 185 186 187 call 189 pith_list_push_value void 2 184 188 label L278 -load 190 __for_idx_97 +load 190 __for_idx_96 iconst 191 1 add 192 190 191 -store __for_idx_97 192 +store __for_idx_96 192 jmp L276 label L279 load 193 node @@ -42682,30 +42642,30 @@ load 302 node field 303 302 16 list children call 304 pith_auto_len int 1 303 iconst 305 0 -store __for_idx_98 305 -store __for_len_98 304 -store __for_iter_98 303 +store __for_idx_97 305 +store __for_len_97 304 +store __for_iter_97 303 label L295 -load 306 __for_idx_98 -load 307 __for_len_98 +load 306 __for_idx_97 +load 307 __for_len_97 lt 308 306 307 brif 308 L296 L298 label L296 -load 309 __for_iter_98 -load 310 __for_idx_98 +load 309 __for_iter_97 +load 310 __for_idx_97 call 311 pith_list_get_value unknown 2 309 310 -store __loopvar_98_child 311 +store __loopvar_97_child 311 load 312 elems -load 313 __loopvar_98_child +load 313 __loopvar_97_child load 314 subst_params load 315 subst_args call 316 checker_resolve_type_with_substitution_map int 3 313 314 315 call 317 pith_list_push_value void 2 312 316 label L297 -load 318 __for_idx_98 +load 318 __for_idx_97 iconst 319 1 add 320 318 319 -store __for_idx_98 320 +store __for_idx_97 320 jmp L295 label L298 load 321 elems @@ -42744,21 +42704,21 @@ load 346 node field 347 346 16 list children call 348 pith_auto_len int 1 347 iconst 349 0 -store __for_idx_99 349 -store __for_len_99 348 -store __for_iter_99 347 +store __for_idx_98 349 +store __for_len_98 348 +store __for_iter_98 347 label L302 -load 350 __for_idx_99 -load 351 __for_len_99 +load 350 __for_idx_98 +load 351 __for_len_98 lt 352 350 351 brif 352 L303 L305 label L303 -load 353 __for_iter_99 -load 354 __for_idx_99 +load 353 __for_iter_98 +load 354 __for_idx_98 call 355 pith_list_get_value unknown 2 353 354 -store __loopvar_99_child 355 +store __loopvar_98_child 355 load 356 cn -load 357 __loopvar_99_child +load 357 __loopvar_98_child call 358 ast_get_node struct:Node 1 357 call 359 pith_struct_release void 1 356 store cn 358 @@ -42799,10 +42759,10 @@ jmp L306 label L310 label L306 label L304 -load 386 __for_idx_99 +load 386 __for_idx_98 iconst 387 1 add 388 386 387 -store __for_idx_99 388 +store __for_idx_98 388 jmp L302 label L305 load 389 params @@ -42867,52 +42827,52 @@ load 6 root field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_100 9 -store __for_len_100 8 -store __for_iter_100 7 +store __for_idx_99 9 +store __for_len_99 8 +store __for_iter_99 7 label L311 -load 10 __for_idx_100 -load 11 __for_len_100 +load 10 __for_idx_99 +load 11 __for_len_99 lt 12 10 11 brif 12 L312 L314 label L312 -load 13 __for_iter_100 -load 14 __for_idx_100 +load 13 __for_iter_99 +load 14 __for_idx_99 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_100_child 15 -load 16 __loopvar_100_child +store __loopvar_99_child 15 +load 16 __loopvar_99_child call 17 checker_register_top_level_declarations void 1 16 label L313 -load 18 __for_idx_100 +load 18 __for_idx_99 iconst 19 1 add 20 18 19 -store __for_idx_100 20 +store __for_idx_99 20 jmp L311 label L314 load 21 root field 22 21 16 list children call 23 pith_auto_len int 1 22 iconst 24 0 -store __for_idx_101 24 -store __for_len_101 23 -store __for_iter_101 22 +store __for_idx_100 24 +store __for_len_100 23 +store __for_iter_100 22 label L315 -load 25 __for_idx_101 -load 26 __for_len_101 +load 25 __for_idx_100 +load 26 __for_len_100 lt 27 25 26 brif 27 L316 L318 label L316 -load 28 __for_iter_101 -load 29 __for_idx_101 +load 28 __for_iter_100 +load 29 __for_idx_100 call 30 pith_list_get_value unknown 2 28 29 -store __loopvar_101_child 30 -load 31 __loopvar_101_child +store __loopvar_100_child 30 +load 31 __loopvar_100_child call 32 checker_fill_interface_defaults_for void 1 31 label L317 -load 33 __for_idx_101 +load 33 __for_idx_100 iconst 34 1 add 35 33 34 -store __for_idx_101 35 +store __for_idx_100 35 jmp L315 label L318 load 36 root @@ -43251,21 +43211,21 @@ load 7 node field 8 7 16 list children call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_102 10 -store __for_len_102 9 -store __for_iter_102 8 +store __for_idx_101 10 +store __for_len_101 9 +store __for_iter_101 8 label L364 -load 11 __for_idx_102 -load 12 __for_len_102 +load 11 __for_idx_101 +load 12 __for_len_101 lt 13 11 12 brif 13 L365 L367 label L365 -load 14 __for_iter_102 -load 15 __for_idx_102 +load 14 __for_iter_101 +load 15 __for_idx_101 call 16 pith_list_get_value unknown 2 14 15 -store __loopvar_102_child 16 +store __loopvar_101_child 16 load 17 cn -load 18 __loopvar_102_child +load 18 __loopvar_101_child call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 17 store cn 19 @@ -43322,10 +43282,10 @@ jmp L368 label L375 label L368 label L366 -load 57 __for_idx_102 +load 57 __for_idx_101 iconst 58 1 add 59 57 58 -store __for_idx_102 59 +store __for_idx_101 59 jmp L364 label L367 load 60 params @@ -43475,21 +43435,21 @@ store reserved 3 load 47 reserved call 48 pith_auto_len int 1 47 iconst 49 0 -store __for_idx_103 49 -store __for_len_103 48 -store __for_iter_103 47 +store __for_idx_102 49 +store __for_len_102 48 +store __for_iter_102 47 label L386 -load 50 __for_idx_103 -load 51 __for_len_103 +load 50 __for_idx_102 +load 51 __for_len_102 lt 52 50 51 brif 52 L387 L389 label L387 -load 53 __for_iter_103 -load 54 __for_idx_103 +load 53 __for_iter_102 +load 54 __for_idx_102 call 55 pith_list_get_value_unchecked string 2 53 54 -store __loopvar_103_r 55 +store __loopvar_102_r 55 load 56 name -load 57 __loopvar_103_r +load 57 __loopvar_102_r call 58 checker_strings_equal bool 2 56 57 brif 58 L391 L392 label L391 @@ -43500,10 +43460,10 @@ ret 59 label L392 label L390 label L388 -load 62 __for_idx_103 +load 62 __for_idx_102 iconst 63 1 add 64 62 63 -store __for_idx_103 64 +store __for_idx_102 64 jmp L386 label L389 iconst 65 0 @@ -43696,21 +43656,21 @@ load 132 node field 133 132 16 list children call 134 pith_auto_len int 1 133 iconst 135 0 -store __for_idx_104 135 -store __for_len_104 134 -store __for_iter_104 133 +store __for_idx_103 135 +store __for_len_103 134 +store __for_iter_103 133 label L399 -load 136 __for_idx_104 -load 137 __for_len_104 +load 136 __for_idx_103 +load 137 __for_len_103 lt 138 136 137 brif 138 L400 L402 label L400 -load 139 __for_iter_104 -load 140 __for_idx_104 +load 139 __for_iter_103 +load 140 __for_idx_103 call 141 pith_list_get_value unknown 2 139 140 -store __loopvar_104_child 141 +store __loopvar_103_child 141 load 142 cn -load 143 __loopvar_104_child +load 143 __loopvar_103_child call 144 ast_get_node struct:Node 1 143 call 145 pith_struct_release void 1 142 store cn 144 @@ -43913,10 +43873,10 @@ jmp L403 label L405 label L403 label L401 -load 299 __for_idx_104 +load 299 __for_idx_103 iconst 300 1 add 301 299 300 -store __for_idx_104 301 +store __for_idx_103 301 jmp L399 label L402 load 302 tid @@ -44053,21 +44013,21 @@ load 75 node field 76 75 16 list children call 77 pith_auto_len int 1 76 iconst 78 0 -store __for_idx_105 78 -store __for_len_105 77 -store __for_iter_105 76 +store __for_idx_104 78 +store __for_len_104 77 +store __for_iter_104 76 label L431 -load 79 __for_idx_105 -load 80 __for_len_105 +load 79 __for_idx_104 +load 80 __for_len_104 lt 81 79 80 brif 81 L432 L434 label L432 -load 82 __for_iter_105 -load 83 __for_idx_105 +load 82 __for_iter_104 +load 83 __for_idx_104 call 84 pith_list_get_value unknown 2 82 83 -store __loopvar_105_child 84 +store __loopvar_104_child 84 load 85 cn -load 86 __loopvar_105_child +load 86 __loopvar_104_child call 87 ast_get_node struct:Node 1 86 call 88 pith_struct_release void 1 85 store cn 87 @@ -44090,28 +44050,28 @@ load 101 cn field 102 101 16 list children call 103 pith_auto_len int 1 102 iconst 104 0 -store __for_idx_106 104 -store __for_len_106 103 -store __for_iter_106 102 +store __for_idx_105 104 +store __for_len_105 103 +store __for_iter_105 102 label L438 -load 105 __for_idx_106 -load 106 __for_len_106 +load 105 __for_idx_105 +load 106 __for_len_105 lt 107 105 106 brif 107 L439 L441 label L439 -load 108 __for_iter_106 -load 109 __for_idx_106 +load 108 __for_iter_105 +load 109 __for_idx_105 call 110 pith_list_get_value unknown 2 108 109 -store __loopvar_106_vc 110 +store __loopvar_105_vc 110 load 111 vtypes -load 112 __loopvar_106_vc +load 112 __loopvar_105_vc call 113 checker_resolve_type_implementation int 1 112 call 114 pith_list_push_value void 2 111 113 label L440 -load 115 __for_idx_106 +load 115 __for_idx_105 iconst 116 1 add 117 115 116 -store __for_idx_106 117 +store __for_idx_105 117 jmp L438 label L441 load 118 variant_types @@ -44122,10 +44082,10 @@ jmp L435 label L437 label L435 label L433 -load 122 __for_idx_105 +load 122 __for_idx_104 iconst 123 1 add 124 122 123 -store __for_idx_105 124 +store __for_idx_104 124 jmp L431 label L434 load 125 base_name @@ -44201,21 +44161,21 @@ load 25 node field 26 25 16 list children call 27 pith_auto_len int 1 26 iconst 28 0 -store __for_idx_107 28 -store __for_len_107 27 -store __for_iter_107 26 +store __for_idx_106 28 +store __for_len_106 27 +store __for_iter_106 26 label L442 -load 29 __for_idx_107 -load 30 __for_len_107 +load 29 __for_idx_106 +load 30 __for_len_106 lt 31 29 30 brif 31 L443 L445 label L443 -load 32 __for_iter_107 -load 33 __for_idx_107 +load 32 __for_iter_106 +load 33 __for_idx_106 call 34 pith_list_get_value unknown 2 32 33 -store __loopvar_107_child 34 +store __loopvar_106_child 34 load 35 cn -load 36 __loopvar_107_child +load 36 __loopvar_106_child call 37 ast_get_node struct:Node 1 36 call 38 pith_struct_release void 1 35 store cn 37 @@ -44247,10 +44207,10 @@ jmp L446 label L450 label L446 label L444 -load 57 __for_idx_107 +load 57 __for_idx_106 iconst 58 1 add 59 57 58 -store __for_idx_107 59 +store __for_idx_106 59 jmp L442 label L445 load 60 assoc_names @@ -44528,28 +44488,28 @@ store suppressed_params 131 load 133 suppressed_params call 134 pith_auto_len int 1 133 iconst 135 0 -store __for_idx_108 135 -store __for_len_108 134 -store __for_iter_108 133 +store __for_idx_107 135 +store __for_len_107 134 +store __for_iter_107 133 label L472 -load 136 __for_idx_108 -load 137 __for_len_108 +load 136 __for_idx_107 +load 137 __for_len_107 lt 138 136 137 brif 138 L473 L475 label L473 -load 139 __for_iter_108 -load 140 __for_idx_108 +load 139 __for_iter_107 +load 140 __for_idx_107 call 141 pith_list_get_value_unchecked string 2 139 140 -store __loopvar_108_sp 141 +store __loopvar_107_sp 141 load 142 checker_suppress_unknown_type_for -load 143 __loopvar_108_sp +load 143 __loopvar_107_sp iconst 144 1 call 145 map_insert void 3 142 143 144 label L474 -load 146 __for_idx_108 +load 146 __for_idx_107 iconst 147 1 add 148 146 147 -store __for_idx_108 148 +store __for_idx_107 148 jmp L472 label L475 jmp L469 @@ -44565,21 +44525,21 @@ load 153 node field 154 153 16 list children call 155 pith_auto_len int 1 154 iconst 156 0 -store __for_idx_109 156 -store __for_len_109 155 -store __for_iter_109 154 +store __for_idx_108 156 +store __for_len_108 155 +store __for_iter_108 154 label L476 -load 157 __for_idx_109 -load 158 __for_len_109 +load 157 __for_idx_108 +load 158 __for_len_108 lt 159 157 158 brif 159 L477 L479 label L477 -load 160 __for_iter_109 -load 161 __for_idx_109 +load 160 __for_iter_108 +load 161 __for_idx_108 call 162 pith_list_get_value unknown 2 160 161 -store __loopvar_109_child 162 +store __loopvar_108_child 162 load 163 cn -load 164 __loopvar_109_child +load 164 __loopvar_108_child call 165 ast_get_node struct:Node 1 164 call 166 pith_struct_release void 1 163 store cn 165 @@ -44636,10 +44596,10 @@ jmp L480 label L482 label L480 label L478 -load 213 __for_idx_109 +load 213 __for_idx_108 iconst 214 1 add 215 213 214 -store __for_idx_109 215 +store __for_idx_108 215 jmp L476 label L479 load 216 assoc_names_for_type @@ -44664,19 +44624,19 @@ load 228 node field 229 228 16 list children call 230 pith_auto_len int 1 229 iconst 231 0 -store __for_idx_110 231 -store __for_len_110 230 -store __for_iter_110 229 +store __for_idx_109 231 +store __for_len_109 230 +store __for_iter_109 229 label L486 -load 232 __for_idx_110 -load 233 __for_len_110 +load 232 __for_idx_109 +load 233 __for_len_109 lt 234 232 233 brif 234 L487 L489 label L487 -load 235 __for_iter_110 -load 236 __for_idx_110 +load 235 __for_iter_109 +load 236 __for_idx_109 call 237 pith_list_get_value unknown 2 235 236 -store __loopvar_110_child 237 +store __loopvar_109_child 237 load 238 skip iconst 239 0 gt 240 238 239 @@ -44690,11 +44650,11 @@ jmp L488 label L492 label L490 load 244 cn -load 245 __loopvar_110_child +load 245 __loopvar_109_child call 246 ast_get_node struct:Node 1 245 call 247 pith_struct_release void 1 244 store cn 246 -load 248 __loopvar_110_child +load 248 __loopvar_109_child store method_node_idx 248 iconst 249 0 store method_is_pub 249 @@ -44742,10 +44702,10 @@ jmp L496 label L498 label L496 label L488 -load 280 __for_idx_110 +load 280 __for_idx_109 iconst 281 1 add 282 280 281 -store __for_idx_110 282 +store __for_idx_109 282 jmp L486 label L489 call 283 pith_map_new_default map 0 @@ -44753,27 +44713,27 @@ store checker_active_assoc_bindings 283 load 284 suppressed_params call 285 pith_auto_len int 1 284 iconst 286 0 -store __for_idx_111 286 -store __for_len_111 285 -store __for_iter_111 284 +store __for_idx_110 286 +store __for_len_110 285 +store __for_iter_110 284 label L499 -load 287 __for_idx_111 -load 288 __for_len_111 +load 287 __for_idx_110 +load 288 __for_len_110 lt 289 287 288 brif 289 L500 L502 label L500 -load 290 __for_iter_111 -load 291 __for_idx_111 +load 290 __for_iter_110 +load 291 __for_idx_110 call 292 pith_list_get_value_unchecked string 2 290 291 -store __loopvar_111_sp 292 +store __loopvar_110_sp 292 load 293 checker_suppress_unknown_type_for -load 294 __loopvar_111_sp +load 294 __loopvar_110_sp call 295 map_remove void 2 293 294 label L501 -load 296 __for_idx_111 +load 296 __for_idx_110 iconst 297 1 add 298 296 297 -store __for_idx_111 298 +store __for_idx_110 298 jmp L499 label L502 load 299 first_type_node @@ -44860,7 +44820,7 @@ store kind_key 7 iconst 8 0 store new_kind 8 iconst 9 0 -store kinds 9 +store seen_key 9 load 10 method_name load 11 node field 12 11 8 string value @@ -44912,64 +44872,58 @@ call 47 pith_cstring_release void 1 43 call 48 pith_cstring_release void 1 40 store kind_key 46 label L512 -iconst 49 0 -store already_declared 49 -load 50 owner -iconst 51 0 -gte 52 50 51 +load 49 new_kind +strref 50 m18s862 +call 51 pith_cstring_release void 1 49 +store new_kind 50 +load 52 from_interface brif 52 L516 L517 label L516 -load 53 kind_key -call 54 checker_methods_has_method_declaration bool 1 53 -store already_declared 54 +load 53 new_kind +strref 54 m18s861 +call 55 pith_cstring_release void 1 53 +store new_kind 54 jmp L515 label L517 -load 55 type_name -call 56 checker_has_generic_declaration bool 1 55 -brif 56 L518 L519 +label L515 +iconst 56 0 +store __or_56_518 56 +load 57 owner +iconst 58 0 +gte 59 57 58 +store __or_56_518 59 +brif 59 L519 L518 label L518 -load 57 checker_method_decl_kind -load 58 kind_key -call 59 contains_key bool 2 57 58 -store already_declared 59 -jmp L515 +load 60 type_name +call 61 checker_has_generic_declaration bool 1 60 +store __or_56_518 61 label L519 -label L515 -load 60 new_kind -strref 61 m18s862 -call 62 pith_cstring_release void 1 60 -store new_kind 61 -load 63 from_interface -brif 63 L521 L522 -label L521 -load 64 new_kind -strref 65 m18s861 -call 66 pith_cstring_release void 1 64 -store new_kind 65 -jmp L520 -label L522 -label L520 -iconst 67 0 -store __and_67_526 67 -load 68 already_declared -store __and_67_526 68 -brif 68 L526 L527 -label L526 -load 69 checker_method_decl_kind -load 70 kind_key -call 71 contains_key bool 2 69 70 -store __and_67_526 71 -label L527 -load 72 __and_67_526 -brif 72 L524 L525 +load 62 __or_56_518 +store dup_check_applies 62 +load 63 seen_key +load 64 kind_key +strref 65 m18s126 +concat 66 64 65 +call 67 pith_cstring_release void 1 65 +load 68 new_kind +concat 69 66 68 +call 70 pith_cstring_release void 1 66 +call 71 pith_cstring_release void 1 63 +store seen_key 69 +iconst 72 0 +store __and_72_523 72 +load 73 dup_check_applies +store __and_72_523 73 +brif 73 L523 L524 +label L523 +load 74 checker_method_declared_kinds +load 75 seen_key +call 76 contains_key bool 2 74 75 +store __and_72_523 76 label L524 -load 73 checker_method_decl_kind -load 74 kind_key -call 75 map_get_strict string 2 73 74 -load 76 new_kind -call 77 pith_cstring_contains bool 2 75 76 -brif 77 L529 L530 -label L529 +load 77 __and_72_523 +brif 77 L521 L522 +label L521 load 78 node_idx strref 79 m18s860 strref 80 m18s859 @@ -44990,102 +44944,55 @@ call 94 pith_cstring_release void 1 91 call 95 checker_diagnostics_report_error_at void 3 78 79 92 call 96 pith_cstring_release void 1 79 call 97 pith_cstring_release void 1 92 -jmp L528 -label L530 -label L528 -jmp L523 +jmp L520 +label L522 +label L520 +load 98 checker_method_declared_kinds +load 99 seen_key +iconst 100 1 +call 101 map_insert void 3 98 99 100 +load 102 checker_method_type_map +load 103 key +load 104 fn_tid +call 105 map_insert void 3 102 103 104 +load 106 checker_method_visibility_map +load 107 key +load 108 is_pub +call 109 map_insert void 3 106 107 108 +load 110 key +load 111 node_idx +call 112 checker_methods_register_method_signature void 2 110 111 +load 113 owner +iconst 114 0 +gte 115 113 114 +brif 115 L526 L527 +label L526 +load 116 owner +load 117 method_name +call 118 checker_methods_method_tid_key string 2 116 117 +load 119 node_idx +call 120 checker_methods_register_method_signature void 2 118 119 +call 121 pith_cstring_release void 1 118 +load 122 key +load 123 owner +call 124 checker_methods_register_method_owner void 2 122 123 +jmp L525 +label L527 +load 125 key +call 126 checker_methods_clear_method_owner void 1 125 label L525 -label L523 -load 98 kinds -load 99 new_kind -call 100 pith_cstring_retain void 1 99 -call 101 pith_cstring_release void 1 98 -store kinds 99 -load 102 checker_method_decl_kind -load 103 kind_key -call 104 contains_key bool 2 102 103 -brif 104 L532 L533 -label L532 -load 105 checker_method_decl_kind -load 106 kind_key -call 107 map_get_strict string 2 105 106 -load 108 new_kind -call 109 pith_cstring_contains bool 2 107 108 -iconst 110 0 -eq 111 109 110 -brif 111 L535 L536 -label L535 -load 112 kinds -load 113 checker_method_decl_kind -load 114 kind_key -call 115 map_get_strict string 2 113 114 -strref 116 m18s91 -concat 117 115 116 -call 118 pith_cstring_release void 1 116 -load 119 new_kind -concat 120 117 119 -call 121 pith_cstring_release void 1 117 -call 122 pith_cstring_release void 1 112 -store kinds 120 -jmp L534 -label L536 -load 123 kinds -load 124 checker_method_decl_kind -load 125 kind_key -call 126 map_get_strict string 2 124 125 -call 127 pith_cstring_retain void 1 126 -call 128 pith_cstring_release void 1 123 -store kinds 126 -label L534 -jmp L531 -label L533 -label L531 -load 129 checker_method_decl_kind -load 130 kind_key -load 131 kinds -call 132 map_insert void 3 129 130 131 -load 133 checker_method_type_map -load 134 key -load 135 fn_tid -call 136 map_insert void 3 133 134 135 -load 137 checker_method_visibility_map -load 138 key -load 139 is_pub -call 140 map_insert void 3 137 138 139 -load 141 key -load 142 node_idx -call 143 checker_methods_register_method_signature void 2 141 142 -load 144 owner -iconst 145 0 -gte 146 144 145 -brif 146 L538 L539 -label L538 -load 147 owner -load 148 method_name -call 149 checker_methods_method_tid_key string 2 147 148 -load 150 node_idx -call 151 checker_methods_register_method_signature void 2 149 150 -call 152 pith_cstring_release void 1 149 -load 153 key -load 154 owner -call 155 checker_methods_register_method_owner void 2 153 154 -jmp L537 -label L539 -load 156 key -call 157 checker_methods_clear_method_owner void 1 156 -label L537 -load 158 method_name -call 159 pith_cstring_release void 1 158 -load 160 key -call 161 pith_cstring_release void 1 160 -load 162 kind_key -call 163 pith_cstring_release void 1 162 -load 164 new_kind -call 165 pith_cstring_release void 1 164 -load 166 kinds -call 167 pith_cstring_release void 1 166 -iconst 168 0 -ret 168 +load 127 method_name +call 128 pith_cstring_release void 1 127 +load 129 key +call 130 pith_cstring_release void 1 129 +load 131 kind_key +call 132 pith_cstring_release void 1 131 +load 133 new_kind +call 134 pith_cstring_release void 1 133 +load 135 seen_key +call 136 pith_cstring_release void 1 135 +iconst 137 0 +ret 137 endfunc func checker_fill_interface_defaults_for 1 void param node_idx @@ -45101,8 +45008,8 @@ field 7 6 0 string kind strref 8 m18s842 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L541 L542 -label L541 +brif 9 L529 L530 +label L529 load 11 node field 12 11 16 list children iconst 13 0 @@ -45112,20 +45019,20 @@ load 16 node call 17 pith_struct_release void 1 16 iconst 18 0 ret 18 -label L542 -label L540 +label L530 +label L528 load 19 node field 20 19 0 string kind strref 21 m18s853 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L544 L545 -label L544 +brif 22 L532 L533 +label L532 load 24 node call 25 checker_fill_impl_defaults void 1 24 -jmp L543 -label L545 -label L543 +jmp L531 +label L533 +label L531 load 26 node call 27 pith_struct_release void 1 26 iconst 28 0 @@ -45154,8 +45061,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 lt 13 11 12 -brif 13 L547 L548 -label L547 +brif 13 L535 L536 +label L535 load 14 second_node call 15 pith_struct_release void 1 14 load 16 first_type_node @@ -45174,8 +45081,8 @@ load 28 key call 29 pith_cstring_release void 1 28 iconst 30 0 ret 30 -label L548 -label L546 +label L536 +label L534 load 31 second_node load 32 node field 33 32 16 list children @@ -45191,8 +45098,8 @@ call 42 pith_cstring_eq bool 2 39 40 iconst 43 1 sub 41 43 42 call 44 pith_cstring_release void 1 40 -brif 41 L550 L551 -label L550 +brif 41 L538 L539 +label L538 load 45 second_node call 46 pith_struct_release void 1 45 load 47 first_type_node @@ -45211,8 +45118,8 @@ load 59 key call 60 pith_cstring_release void 1 59 iconst 61 0 ret 61 -label L551 -label L549 +label L539 +label L537 load 62 first_type_node load 63 node field 64 63 16 list children @@ -45240,23 +45147,23 @@ call 82 checker_get_type_node_name string 1 81 call 83 pith_cstring_release void 1 80 store concrete_name 82 iconst 84 0 -store __or_84_555 84 +store __or_84_543 84 load 85 concrete_name strref 86 m18s36 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_84_555 87 -brif 87 L556 L555 -label L555 +store __or_84_543 87 +brif 87 L544 L543 +label L543 load 89 iface_base strref 90 m18s36 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __or_84_555 91 -label L556 -load 93 __or_84_555 -brif 93 L553 L554 -label L553 +store __or_84_543 91 +label L544 +load 93 __or_84_543 +brif 93 L541 L542 +label L541 load 94 second_node call 95 pith_struct_release void 1 94 load 96 first_type_node @@ -45275,15 +45182,15 @@ load 108 key call 109 pith_cstring_release void 1 108 iconst 110 0 ret 110 -label L554 -label L552 +label L542 +label L540 load 111 checker_interface_decl_index load 112 iface_base call 113 contains_key bool 2 111 112 iconst 114 0 eq 115 113 114 -brif 115 L558 L559 -label L558 +brif 115 L546 L547 +label L546 load 116 second_node call 117 pith_struct_release void 1 116 load 118 first_type_node @@ -45302,8 +45209,8 @@ load 130 key call 131 pith_cstring_release void 1 130 iconst 132 0 ret 132 -label L559 -label L557 +label L547 +label L545 load 133 iface_node load 134 checker_interface_decl_index load 135 iface_base @@ -45315,21 +45222,21 @@ load 139 iface_node field 140 139 16 list children call 141 pith_auto_len int 1 140 iconst 142 0 -store __for_idx_112 142 -store __for_len_112 141 -store __for_iter_112 140 -label L560 -load 143 __for_idx_112 -load 144 __for_len_112 +store __for_idx_111 142 +store __for_len_111 141 +store __for_iter_111 140 +label L548 +load 143 __for_idx_111 +load 144 __for_len_111 lt 145 143 144 -brif 145 L561 L563 -label L561 -load 146 __for_iter_112 -load 147 __for_idx_112 +brif 145 L549 L551 +label L549 +load 146 __for_iter_111 +load 147 __for_idx_111 call 148 pith_list_get_value unknown 2 146 147 -store __loopvar_112_member 148 +store __loopvar_111_member 148 load 149 mn -load 150 __loopvar_112_member +load 150 __loopvar_111_member call 151 ast_get_node struct:Node 1 150 call 152 pith_struct_release void 1 149 store mn 151 @@ -45338,8 +45245,8 @@ field 154 153 0 string kind strref 155 m18s841 call 156 pith_cstring_eq bool 2 154 155 call 157 pith_cstring_release void 1 155 -brif 156 L565 L566 -label L565 +brif 156 L553 L554 +label L553 load 158 key load 159 concrete_name strref 160 m18s124 @@ -45361,8 +45268,8 @@ store provides_own 172 load 173 owner iconst 174 0 gte 175 173 174 -brif 175 L568 L569 -label L568 +brif 175 L556 L557 +label L556 load 176 owner load 177 mn field 178 177 8 string value @@ -45370,33 +45277,33 @@ call 179 checker_methods_method_tid_key string 2 176 178 call 180 checker_methods_has_method_declaration bool 1 179 call 181 pith_cstring_release void 1 179 store provides_own 180 -jmp L567 -label L569 -label L567 +jmp L555 +label L557 +label L555 load 182 provides_own iconst 183 0 eq 184 182 183 -brif 184 L571 L572 -label L571 +brif 184 L559 L560 +label L559 load 185 concrete_name -load 186 __loopvar_112_member +load 186 __loopvar_111_member load 187 mn iconst 188 1 iconst 189 1 call 190 checker_register_method_declaration void 5 185 186 187 188 189 -jmp L570 -label L572 -label L570 -jmp L564 -label L566 -label L564 -label L562 -load 191 __for_idx_112 +jmp L558 +label L560 +label L558 +jmp L552 +label L554 +label L552 +label L550 +load 191 __for_idx_111 iconst 192 1 add 193 191 192 -store __for_idx_112 193 -jmp L560 -label L563 +store __for_idx_111 193 +jmp L548 +label L551 load 194 second_node call 195 pith_struct_release void 1 194 load 196 first_type_node @@ -45482,24 +45389,24 @@ store first 9 load 10 args call 11 pith_auto_len int 1 10 iconst 12 0 -store __for_idx_113 12 -store __for_len_113 11 -store __for_iter_113 10 -label L573 -load 13 __for_idx_113 -load 14 __for_len_113 +store __for_idx_112 12 +store __for_len_112 11 +store __for_iter_112 10 +label L561 +load 13 __for_idx_112 +load 14 __for_len_112 lt 15 13 14 -brif 15 L574 L576 -label L574 -load 16 __for_iter_113 -load 17 __for_idx_113 +brif 15 L562 L564 +label L562 +load 16 __for_iter_112 +load 17 __for_idx_112 call 18 pith_list_get_value_unchecked string 2 16 17 -store __loopvar_113_arg 18 +store __loopvar_112_arg 18 load 19 first iconst 20 0 eq 21 19 20 -brif 21 L578 L579 -label L578 +brif 21 L566 L567 +label L566 load 22 result load 23 result strref 24 m18s91 @@ -45507,24 +45414,24 @@ concat 25 23 24 call 26 pith_cstring_release void 1 24 call 27 pith_cstring_release void 1 22 store result 25 -jmp L577 -label L579 -label L577 +jmp L565 +label L567 +label L565 iconst 28 0 store first 28 load 29 result load 30 result -load 31 __loopvar_113_arg +load 31 __loopvar_112_arg concat 32 30 31 call 33 pith_cstring_release void 1 29 store result 32 -label L575 -load 34 __for_idx_113 +label L563 +load 34 __for_idx_112 iconst 35 1 add 36 34 35 -store __for_idx_113 36 -jmp L573 -label L576 +store __for_idx_112 36 +jmp L561 +label L564 load 37 result strref 38 m18s96 concat 39 37 38 @@ -45552,8 +45459,8 @@ field 8 7 16 list children call 9 pith_list_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L581 L582 -label L581 +brif 11 L569 L570 +label L569 load 12 node field 13 12 16 list children iconst 14 0 @@ -45563,9 +45470,9 @@ store target 16 load 17 name load 18 target call 19 checker_register_module_type_name void 2 17 18 -jmp L580 -label L582 -label L580 +jmp L568 +label L570 +label L568 load 20 name call 21 pith_cstring_release void 1 20 iconst 22 0 @@ -45575,33 +45482,33 @@ func checker_extract_base_type_name 1 string param name iconst 1 0 store i 1 -label L583 +label L571 load 2 i load 3 name call 4 string_len int 1 3 lt 5 2 4 -brif 5 L584 L585 -label L584 +brif 5 L572 L573 +label L572 load 6 name load 7 i call 8 pith_cstring_byte_at int 2 6 7 iconst 9 91 eq 10 8 9 -brif 10 L587 L588 -label L587 +brif 10 L575 L576 +label L575 load 11 name iconst 12 0 load 13 i call 14 pith_cstring_substring string 3 11 12 13 ret 14 -label L588 -label L586 +label L576 +label L574 load 15 i iconst 16 1 add 17 15 16 store i 17 -jmp L583 -label L585 +jmp L571 +label L573 load 18 name call 19 pith_cstring_retain void 1 18 ret 18 @@ -45616,21 +45523,21 @@ load 2 node field 3 2 16 list children call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_114 5 -store __for_len_114 4 -store __for_iter_114 3 -label L589 -load 6 __for_idx_114 -load 7 __for_len_114 +store __for_idx_113 5 +store __for_len_113 4 +store __for_iter_113 3 +label L577 +load 6 __for_idx_113 +load 7 __for_len_113 lt 8 6 7 -brif 8 L590 L592 -label L590 -load 9 __for_iter_114 -load 10 __for_idx_114 +brif 8 L578 L580 +label L578 +load 9 __for_iter_113 +load 10 __for_idx_113 call 11 pith_list_get_value unknown 2 9 10 -store __loopvar_114_child 11 +store __loopvar_113_child 11 load 12 cn -load 13 __loopvar_114_child +load 13 __loopvar_113_child call 14 ast_get_node struct:Node 1 13 call 15 pith_struct_release void 1 12 store cn 14 @@ -45639,21 +45546,21 @@ field 17 16 0 string kind strref 18 m18s605 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L594 L595 -label L594 +brif 19 L582 L583 +label L582 iconst 21 1 load 22 cn call 23 pith_struct_release void 1 22 ret 21 -label L595 -label L593 -label L591 -load 24 __for_idx_114 +label L583 +label L581 +label L579 +load 24 __for_idx_113 iconst 25 1 add 26 24 25 -store __for_idx_114 26 -jmp L589 -label L592 +store __for_idx_113 26 +jmp L577 +label L580 iconst 27 0 load 28 cn call 29 pith_struct_release void 1 28 @@ -45677,21 +45584,21 @@ load 6 node field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_115 9 -store __for_len_115 8 -store __for_iter_115 7 -label L596 -load 10 __for_idx_115 -load 11 __for_len_115 +store __for_idx_114 9 +store __for_len_114 8 +store __for_iter_114 7 +label L584 +load 10 __for_idx_114 +load 11 __for_len_114 lt 12 10 11 -brif 12 L597 L599 -label L597 -load 13 __for_iter_115 -load 14 __for_idx_115 +brif 12 L585 L587 +label L585 +load 13 __for_iter_114 +load 14 __for_idx_114 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_115_child 15 +store __loopvar_114_child 15 load 16 cn -load 17 __loopvar_115_child +load 17 __loopvar_114_child call 18 ast_get_node struct:Node 1 17 call 19 pith_struct_release void 1 16 store cn 18 @@ -45700,23 +45607,23 @@ field 21 20 0 string kind strref 22 m18s605 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L601 L602 -label L601 +brif 23 L589 L590 +label L589 load 25 params load 26 cn field 27 26 8 string value call 28 checker_trim_type_text string 1 27 call 29 pith_list_push_value_owned void 2 25 28 -jmp L600 -label L602 -label L600 -label L598 -load 30 __for_idx_115 +jmp L588 +label L590 +label L588 +label L586 +load 30 __for_idx_114 iconst 31 1 add 32 30 31 -store __for_idx_115 32 -jmp L596 -label L599 +store __for_idx_114 32 +jmp L584 +label L587 load 33 params load 34 cn call 35 pith_struct_release void 1 34 @@ -45744,37 +45651,37 @@ load 9 key call 10 contains_key bool 2 8 9 iconst 11 0 eq 12 10 11 -brif 12 L604 L605 -label L604 +brif 12 L592 L593 +label L592 load 13 checker_generic_declaration_names load 14 key call 15 pith_list_push_value void 2 13 14 -jmp L603 -label L605 -label L603 +jmp L591 +label L593 +label L591 load 16 checker_generic_declaration_map load 17 key load 18 node_idx call 19 map_insert void 3 16 17 18 iconst 20 0 -store __and_20_609 20 +store __and_20_597 20 load 21 checker_current_checker_module_path call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -store __and_20_609 24 -brif 24 L609 L610 -label L609 +store __and_20_597 24 +brif 24 L597 L598 +label L597 load 25 checker_generic_declaration_map load 26 name call 27 contains_key bool 2 25 26 iconst 28 0 eq 29 27 28 -store __and_20_609 29 -label L610 -load 30 __and_20_609 -brif 30 L607 L608 -label L607 +store __and_20_597 29 +label L598 +load 30 __and_20_597 +brif 30 L595 L596 +label L595 load 31 checker_generic_declaration_names load 32 name call 33 pith_list_push_value void 2 31 32 @@ -45782,9 +45689,9 @@ load 34 checker_generic_declaration_map load 35 name load 36 node_idx call 37 map_insert void 3 34 35 36 -jmp L606 -label L608 -label L606 +jmp L594 +label L596 +label L594 load 38 key call 39 pith_cstring_release void 1 38 iconst 40 0 @@ -45802,8 +45709,8 @@ load 4 checker_current_checker_module_path call 5 string_len int 1 4 iconst 6 0 gt 7 5 6 -brif 7 L612 L613 -label L612 +brif 7 L600 L601 +label L600 load 8 current_key load 9 checker_current_checker_module_path load 10 name @@ -45813,24 +45720,24 @@ store current_key 11 load 13 checker_generic_declaration_map load 14 current_key call 15 contains_key bool 2 13 14 -brif 15 L615 L616 -label L615 +brif 15 L603 L604 +label L603 load 16 current_key load 17 parts call 18 pith_list_release_handle void 1 17 load 19 imported_key call 20 pith_cstring_release void 1 19 ret 16 -label L616 -label L614 -jmp L611 -label L613 -label L611 +label L604 +label L602 +jmp L599 +label L601 +label L599 load 21 checker_generic_declaration_map load 22 name call 23 contains_key bool 2 21 22 -brif 23 L618 L619 -label L618 +brif 23 L606 L607 +label L606 load 24 name call 25 pith_cstring_retain void 1 24 load 26 current_key @@ -45840,26 +45747,26 @@ call 29 pith_list_release_handle void 1 28 load 30 imported_key call 31 pith_cstring_release void 1 30 ret 24 -label L619 -label L617 +label L607 +label L605 load 32 checker_generic_named_import_entries call 33 pith_auto_len int 1 32 iconst 34 0 -store __for_idx_116 34 -store __for_len_116 33 -store __for_iter_116 32 -label L620 -load 35 __for_idx_116 -load 36 __for_len_116 +store __for_idx_115 34 +store __for_len_115 33 +store __for_iter_115 32 +label L608 +load 35 __for_idx_115 +load 36 __for_len_115 lt 37 35 36 -brif 37 L621 L623 -label L621 -load 38 __for_iter_116 -load 39 __for_idx_116 +brif 37 L609 L611 +label L609 +load 38 __for_iter_115 +load 39 __for_idx_115 call 40 pith_list_get_value_unchecked string 2 38 39 -store __loopvar_116_entry 40 +store __loopvar_115_entry 40 load 41 parts -load 42 __loopvar_116_entry +load 42 __loopvar_115_entry iconst 43 9 call 44 chr string 1 43 call 45 pith_string_split_to_list list_string 2 42 44 @@ -45870,28 +45777,28 @@ load 48 parts call 49 pith_list_len int 1 48 iconst 50 3 gte 51 49 50 -brif 51 L625 L626 -label L625 +brif 51 L613 L614 +label L613 iconst 52 0 -store __and_52_630 52 +store __and_52_618 52 load 53 parts iconst 54 0 call 55 pith_list_get_value_strict string 2 53 54 load 56 checker_current_checker_module_path call 57 pith_cstring_eq bool 2 55 56 -store __and_52_630 57 -brif 57 L630 L631 -label L630 +store __and_52_618 57 +brif 57 L618 L619 +label L618 load 58 parts iconst 59 1 call 60 pith_list_get_value_strict string 2 58 59 load 61 name call 62 pith_cstring_eq bool 2 60 61 -store __and_52_630 62 -label L631 -load 63 __and_52_630 -brif 63 L628 L629 -label L628 +store __and_52_618 62 +label L619 +load 63 __and_52_618 +brif 63 L616 L617 +label L616 load 64 imported_key load 65 parts iconst 66 2 @@ -45903,47 +45810,47 @@ store imported_key 69 load 71 checker_generic_declaration_map load 72 imported_key call 73 contains_key bool 2 71 72 -brif 73 L633 L634 -label L633 +brif 73 L621 L622 +label L621 load 74 imported_key load 75 current_key call 76 pith_cstring_release void 1 75 load 77 parts call 78 pith_list_release_handle void 1 77 ret 74 -label L634 -label L632 -jmp L627 -label L629 -label L627 -jmp L624 -label L626 -label L624 label L622 -load 79 __for_idx_116 +label L620 +jmp L615 +label L617 +label L615 +jmp L612 +label L614 +label L612 +label L610 +load 79 __for_idx_115 iconst 80 1 add 81 79 80 -store __for_idx_116 81 -jmp L620 -label L623 +store __for_idx_115 81 +jmp L608 +label L611 load 82 checker_generic_wildcard_import_entries call 83 pith_auto_len int 1 82 iconst 84 0 -store __for_idx_117 84 -store __for_len_117 83 -store __for_iter_117 82 -label L635 -load 85 __for_idx_117 -load 86 __for_len_117 +store __for_idx_116 84 +store __for_len_116 83 +store __for_iter_116 82 +label L623 +load 85 __for_idx_116 +load 86 __for_len_116 lt 87 85 86 -brif 87 L636 L638 -label L636 -load 88 __for_iter_117 -load 89 __for_idx_117 +brif 87 L624 L626 +label L624 +load 88 __for_iter_116 +load 89 __for_idx_116 call 90 pith_list_get_value_unchecked string 2 88 89 -store __loopvar_117_entry 90 +store __loopvar_116_entry 90 load 91 parts -load 92 __loopvar_117_entry +load 92 __loopvar_116_entry iconst 93 9 call 94 chr string 1 93 call 95 pith_string_split_to_list list_string 2 92 94 @@ -45954,15 +45861,15 @@ load 98 parts call 99 pith_list_len int 1 98 iconst 100 2 gte 101 99 100 -brif 101 L640 L641 -label L640 +brif 101 L628 L629 +label L628 load 102 parts iconst 103 0 call 104 pith_list_get_value_strict string 2 102 103 load 105 checker_current_checker_module_path call 106 pith_cstring_eq bool 2 104 105 -brif 106 L643 L644 -label L643 +brif 106 L631 L632 +label L631 load 107 imported_key load 108 parts iconst 109 1 @@ -45974,29 +45881,29 @@ store imported_key 112 load 114 checker_generic_declaration_map load 115 imported_key call 116 contains_key bool 2 114 115 -brif 116 L646 L647 -label L646 +brif 116 L634 L635 +label L634 load 117 imported_key load 118 current_key call 119 pith_cstring_release void 1 118 load 120 parts call 121 pith_list_release_handle void 1 120 ret 117 -label L647 -label L645 -jmp L642 -label L644 -label L642 -jmp L639 -label L641 -label L639 -label L637 -load 122 __for_idx_117 +label L635 +label L633 +jmp L630 +label L632 +label L630 +jmp L627 +label L629 +label L627 +label L625 +load 122 __for_idx_116 iconst 123 1 add 124 122 123 -store __for_idx_117 124 -jmp L635 -label L638 +store __for_idx_116 124 +jmp L623 +label L626 strref 125 m18s36 load 126 current_key call 127 pith_cstring_release void 1 126 @@ -46039,16 +45946,16 @@ load 6 key call 7 string_len int 1 6 iconst 8 0 gt 9 7 8 -brif 9 L649 L650 -label L649 +brif 9 L637 L638 +label L637 load 10 checker_generic_declaration_map load 11 key call 12 map_get_strict int 2 10 11 load 13 key call 14 pith_cstring_release void 1 13 ret 12 -label L650 -label L648 +label L638 +label L636 iconst 15 1 iconst 17 0 sub 16 17 15 @@ -46074,21 +45981,21 @@ load 6 node field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_118 9 -store __for_len_118 8 -store __for_iter_118 7 -label L651 -load 10 __for_idx_118 -load 11 __for_len_118 +store __for_idx_117 9 +store __for_len_117 8 +store __for_iter_117 7 +label L639 +load 10 __for_idx_117 +load 11 __for_len_117 lt 12 10 11 -brif 12 L652 L654 -label L652 -load 13 __for_iter_118 -load 14 __for_idx_118 +brif 12 L640 L642 +label L640 +load 13 __for_iter_117 +load 14 __for_idx_117 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_118_child 15 +store __loopvar_117_child 15 load 16 cn -load 17 __loopvar_118_child +load 17 __loopvar_117_child call 18 ast_get_node struct:Node 1 17 call 19 pith_struct_release void 1 16 store cn 18 @@ -46097,15 +46004,15 @@ field 21 20 0 string kind strref 22 m18s350 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L656 L657 -label L656 +brif 23 L644 L645 +label L644 load 25 cn field 26 25 16 list children call 27 pith_list_len int 1 26 iconst 28 0 gt 29 27 28 -brif 29 L659 L660 -label L659 +brif 29 L647 L648 +label L647 load 30 params load 31 cn field 32 31 16 list children @@ -46113,22 +46020,22 @@ iconst 33 0 call 34 pith_list_get_value_strict int 2 32 33 call 35 checker_resolve_type_implementation int 1 34 call 36 pith_list_push_value void 2 30 35 -jmp L658 -label L660 +jmp L646 +label L648 load 37 params load 38 types_TID_ERR call 39 pith_list_push_value void 2 37 38 -label L658 -jmp L655 -label L657 -label L655 -label L653 -load 40 __for_idx_118 +label L646 +jmp L643 +label L645 +label L643 +label L641 +load 40 __for_idx_117 iconst 41 1 add 42 40 41 -store __for_idx_118 42 -jmp L651 -label L654 +store __for_idx_117 42 +jmp L639 +label L642 load 43 params load 44 cn call 45 pith_struct_release void 1 44 @@ -46148,21 +46055,21 @@ load 2 node field 3 2 16 list children call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_119 5 -store __for_len_119 4 -store __for_iter_119 3 -label L661 -load 6 __for_idx_119 -load 7 __for_len_119 +store __for_idx_118 5 +store __for_len_118 4 +store __for_iter_118 3 +label L649 +load 6 __for_idx_118 +load 7 __for_len_118 lt 8 6 7 -brif 8 L662 L664 -label L662 -load 9 __for_iter_119 -load 10 __for_idx_119 +brif 8 L650 L652 +label L650 +load 9 __for_iter_118 +load 10 __for_idx_118 call 11 pith_list_get_value unknown 2 9 10 -store __loopvar_119_child 11 +store __loopvar_118_child 11 load 12 cn -load 13 __loopvar_119_child +load 13 __loopvar_118_child call 14 ast_get_node struct:Node 1 13 call 15 pith_struct_release void 1 12 store cn 14 @@ -46171,8 +46078,8 @@ field 17 16 0 string kind strref 18 m18s591 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L666 L667 -label L666 +brif 19 L654 L655 +label L654 load 21 cn field 22 21 16 list children iconst 23 0 @@ -46181,15 +46088,15 @@ call 25 checker_resolve_type_implementation int 1 24 load 26 cn call 27 pith_struct_release void 1 26 ret 25 -label L667 -label L665 -label L663 -load 28 __for_idx_119 +label L655 +label L653 +label L651 +load 28 __for_idx_118 iconst 29 1 add 30 28 29 -store __for_idx_119 30 -jmp L661 -label L664 +store __for_idx_118 30 +jmp L649 +label L652 load 31 types_TID_VOID load 32 cn call 33 pith_struct_release void 1 32 @@ -46203,33 +46110,33 @@ func checker_extract_field_name 1 string param value iconst 1 0 store i 1 -label L668 +label L656 load 2 i load 3 value call 4 string_len int 1 3 lt 5 2 4 -brif 5 L669 L670 -label L669 +brif 5 L657 L658 +label L657 load 6 value load 7 i call 8 pith_cstring_byte_at int 2 6 7 iconst 9 32 eq 10 8 9 -brif 10 L672 L673 -label L672 +brif 10 L660 L661 +label L660 load 11 value iconst 12 0 load 13 i call 14 pith_cstring_substring string 3 11 12 13 ret 14 -label L673 -label L671 +label L661 +label L659 load 15 i iconst 16 1 add 17 15 16 store i 17 -jmp L668 -label L670 +jmp L656 +label L658 load 18 value call 19 pith_cstring_retain void 1 18 ret 18 @@ -46244,21 +46151,21 @@ call 3 string_len int 1 2 load 4 b call 5 string_len int 1 4 neq 6 3 5 -brif 6 L675 L676 -label L675 +brif 6 L663 L664 +label L663 iconst 7 0 ret 7 -label L676 -label L674 +label L664 +label L662 iconst 8 0 store i 8 -label L677 +label L665 load 9 i load 10 a call 11 string_len int 1 10 lt 12 9 11 -brif 12 L678 L679 -label L678 +brif 12 L666 L667 +label L666 load 13 a load 14 i call 15 pith_cstring_byte_at int 2 13 14 @@ -46266,18 +46173,18 @@ load 16 b load 17 i call 18 pith_cstring_byte_at int 2 16 17 neq 19 15 18 -brif 19 L681 L682 -label L681 +brif 19 L669 L670 +label L669 iconst 20 0 ret 20 -label L682 -label L680 +label L670 +label L668 load 21 i iconst 22 1 add 23 21 22 store i 23 -jmp L677 -label L679 +jmp L665 +label L667 iconst 24 1 ret 24 iconst 25 0 @@ -46300,15 +46207,15 @@ field 7 6 0 string kind strref 8 m18s584 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L684 L685 -label L684 +brif 9 L672 L673 +label L672 load 11 node field 12 11 8 string value strref 13 m18s97 call 14 pith_cstring_contains bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L687 L688 -label L687 +brif 14 L675 L676 +label L675 load 16 base load 17 node field 18 17 8 string value @@ -46344,30 +46251,30 @@ store args 42 load 44 parts call 45 pith_auto_len int 1 44 iconst 46 0 -store __for_idx_120 46 -store __for_len_120 45 -store __for_iter_120 44 -label L689 -load 47 __for_idx_120 -load 48 __for_len_120 +store __for_idx_119 46 +store __for_len_119 45 +store __for_iter_119 44 +label L677 +load 47 __for_idx_119 +load 48 __for_len_119 lt 49 47 48 -brif 49 L690 L692 -label L690 -load 50 __for_iter_120 -load 51 __for_idx_120 +brif 49 L678 L680 +label L678 +load 50 __for_iter_119 +load 51 __for_idx_119 call 52 pith_list_get_value_unchecked string 2 50 51 -store __loopvar_120_part 52 +store __loopvar_119_part 52 load 53 args -load 54 __loopvar_120_part +load 54 __loopvar_119_part call 55 pith_cstring_trim string 1 54 call 56 pith_list_push_value_owned void 2 53 55 -label L691 -load 57 __for_idx_120 +label L679 +load 57 __for_idx_119 iconst 58 1 add 59 57 58 -store __for_idx_120 59 -jmp L689 -label L692 +store __for_idx_119 59 +jmp L677 +label L680 load 60 base load 61 args call 62 checker_build_interface_type_name string 2 60 61 @@ -46382,8 +46289,8 @@ call 70 pith_list_release_handle void 1 69 load 71 child_name call 72 pith_cstring_release void 1 71 ret 62 -label L688 -label L686 +label L676 +label L674 load 73 node field 74 73 8 string value call 75 pith_cstring_retain void 1 74 @@ -46398,15 +46305,15 @@ call 83 pith_list_release_handle void 1 82 load 84 child_name call 85 pith_cstring_release void 1 84 ret 74 -label L685 -label L683 +label L673 +label L671 load 86 node field 87 86 0 string kind strref 88 m18s598 call 89 pith_cstring_eq bool 2 87 88 call 90 pith_cstring_release void 1 88 -brif 89 L694 L695 -label L694 +brif 89 L682 L683 +label L682 load 91 parts call 92 pith_list_new_cstr list 0 call 93 pith_list_release_handle void 1 91 @@ -46415,21 +46322,21 @@ load 94 node field 95 94 16 list children call 96 pith_auto_len int 1 95 iconst 97 0 -store __for_idx_121 97 -store __for_len_121 96 -store __for_iter_121 95 -label L696 -load 98 __for_idx_121 -load 99 __for_len_121 +store __for_idx_120 97 +store __for_len_120 96 +store __for_iter_120 95 +label L684 +load 98 __for_idx_120 +load 99 __for_len_120 lt 100 98 99 -brif 100 L697 L699 -label L697 -load 101 __for_iter_121 -load 102 __for_idx_121 +brif 100 L685 L687 +label L685 +load 101 __for_iter_120 +load 102 __for_idx_120 call 103 pith_list_get_value unknown 2 101 102 -store __loopvar_121_child 103 +store __loopvar_120_child 103 load 104 child_name -load 105 __loopvar_121_child +load 105 __loopvar_120_child call 106 ast_get_node struct:Node 1 105 call 107 checker_get_type_node_name string 1 106 call 108 pith_struct_release void 1 106 @@ -46439,8 +46346,8 @@ load 110 child_name strref 111 m18s36 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -brif 112 L701 L702 -label L701 +brif 112 L689 L690 +label L689 strref 114 m18s36 load 115 base call 116 pith_cstring_release void 1 115 @@ -46453,18 +46360,18 @@ call 122 pith_list_release_handle void 1 121 load 123 child_name call 124 pith_cstring_release void 1 123 ret 114 -label L702 -label L700 +label L690 +label L688 load 125 parts load 126 child_name call 127 pith_list_push_value void 2 125 126 -label L698 -load 128 __for_idx_121 +label L686 +load 128 __for_idx_120 iconst 129 1 add 130 128 129 -store __for_idx_121 130 -jmp L696 -label L699 +store __for_idx_120 130 +jmp L684 +label L687 load 131 node field 132 131 8 string value load 133 parts @@ -46480,8 +46387,8 @@ call 142 pith_list_release_handle void 1 141 load 143 child_name call 144 pith_cstring_release void 1 143 ret 134 -label L695 -label L693 +label L683 +label L681 strref 145 m18s36 load 146 base call 147 pith_cstring_release void 1 146 @@ -46529,15 +46436,15 @@ field 10 9 0 string kind strref 11 m18s584 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L704 L705 -label L704 +brif 12 L692 L693 +label L692 load 14 node field 15 14 8 string value strref 16 m18s97 call 17 pith_cstring_contains bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L707 L708 -label L707 +brif 17 L695 L696 +label L695 load 19 base load 20 node field 21 20 8 string value @@ -46573,48 +46480,48 @@ store args 45 load 47 raw_parts call 48 pith_auto_len int 1 47 iconst 49 0 -store __for_idx_122 49 -store __for_len_122 48 -store __for_iter_122 47 -label L709 -load 50 __for_idx_122 -load 51 __for_len_122 +store __for_idx_121 49 +store __for_len_121 48 +store __for_iter_121 47 +label L697 +load 50 __for_idx_121 +load 51 __for_len_121 lt 52 50 51 -brif 52 L710 L712 -label L710 -load 53 __for_iter_122 -load 54 __for_idx_122 +brif 52 L698 L700 +label L698 +load 53 __for_iter_121 +load 54 __for_idx_121 call 55 pith_list_get_value_unchecked string 2 53 54 -store __loopvar_122_raw 55 +store __loopvar_121_raw 55 load 56 part -load 57 __loopvar_122_raw +load 57 __loopvar_121_raw call 58 pith_cstring_trim string 1 57 call 59 pith_cstring_release void 1 56 store part 58 load 60 subst_map load 61 part call 62 contains_key bool 2 60 61 -brif 62 L714 L715 -label L714 +brif 62 L702 L703 +label L702 load 63 args load 64 subst_map load 65 part call 66 map_get_strict int 2 64 65 call 67 types_get_type_name string 1 66 call 68 pith_list_push_value_owned void 2 63 67 -jmp L713 -label L715 +jmp L701 +label L703 load 69 args load 70 part call 71 pith_list_push_value void 2 69 70 -label L713 -label L711 -load 72 __for_idx_122 +label L701 +label L699 +load 72 __for_idx_121 iconst 73 1 add 74 72 73 -store __for_idx_122 74 -jmp L709 -label L712 +store __for_idx_121 74 +jmp L697 +label L700 load 75 base load 76 args call 77 checker_build_interface_type_name string 2 75 76 @@ -46633,14 +46540,14 @@ call 89 pith_list_release_handle void 1 88 load 90 child_name call 91 pith_cstring_release void 1 90 ret 77 -label L708 -label L706 +label L696 +label L694 load 92 subst_map load 93 node field 94 93 8 string value call 95 contains_key bool 2 92 94 -brif 95 L717 L718 -label L717 +brif 95 L705 L706 +label L705 load 96 subst_map load 97 node field 98 97 8 string value @@ -46661,8 +46568,8 @@ call 112 pith_list_release_handle void 1 111 load 113 child_name call 114 pith_cstring_release void 1 113 ret 100 -label L718 -label L716 +label L706 +label L704 load 115 node field 116 115 8 string value call 117 pith_cstring_retain void 1 116 @@ -46681,15 +46588,15 @@ call 129 pith_list_release_handle void 1 128 load 130 child_name call 131 pith_cstring_release void 1 130 ret 116 -label L705 -label L703 +label L693 +label L691 load 132 node field 133 132 0 string kind strref 134 m18s598 call 135 pith_cstring_eq bool 2 133 134 call 136 pith_cstring_release void 1 134 -brif 135 L720 L721 -label L720 +brif 135 L708 L709 +label L708 load 137 parts call 138 pith_list_new_cstr list 0 call 139 pith_list_release_handle void 1 137 @@ -46698,21 +46605,21 @@ load 140 node field 141 140 16 list children call 142 pith_auto_len int 1 141 iconst 143 0 -store __for_idx_123 143 -store __for_len_123 142 -store __for_iter_123 141 -label L722 -load 144 __for_idx_123 -load 145 __for_len_123 +store __for_idx_122 143 +store __for_len_122 142 +store __for_iter_122 141 +label L710 +load 144 __for_idx_122 +load 145 __for_len_122 lt 146 144 145 -brif 146 L723 L725 -label L723 -load 147 __for_iter_123 -load 148 __for_idx_123 +brif 146 L711 L713 +label L711 +load 147 __for_iter_122 +load 148 __for_idx_122 call 149 pith_list_get_value unknown 2 147 148 -store __loopvar_123_child 149 +store __loopvar_122_child 149 load 150 child_name -load 151 __loopvar_123_child +load 151 __loopvar_122_child call 152 ast_get_node struct:Node 1 151 load 153 subst_map call 154 checker_get_type_node_name_with_substitution string 2 152 153 @@ -46723,8 +46630,8 @@ load 157 child_name strref 158 m18s36 call 159 pith_cstring_eq bool 2 157 158 call 160 pith_cstring_release void 1 158 -brif 159 L727 L728 -label L727 +brif 159 L715 L716 +label L715 strref 161 m18s36 load 162 base call 163 pith_cstring_release void 1 162 @@ -46741,18 +46648,18 @@ call 173 pith_list_release_handle void 1 172 load 174 child_name call 175 pith_cstring_release void 1 174 ret 161 -label L728 -label L726 +label L716 +label L714 load 176 parts load 177 child_name call 178 pith_list_push_value void 2 176 177 -label L724 -load 179 __for_idx_123 +label L712 +load 179 __for_idx_122 iconst 180 1 add 181 179 180 -store __for_idx_123 181 -jmp L722 -label L725 +store __for_idx_122 181 +jmp L710 +label L713 load 182 node field 183 182 8 string value load 184 parts @@ -46772,8 +46679,8 @@ call 197 pith_list_release_handle void 1 196 load 198 child_name call 199 pith_cstring_release void 1 198 ret 185 -label L721 -label L719 +label L709 +label L707 strref 200 m18s36 load 201 base call 202 pith_cstring_release void 1 201 @@ -46811,33 +46718,33 @@ func checker_extract_binding_name 1 string param value iconst 1 0 store i 1 -label L729 +label L717 load 2 i load 3 value call 4 string_len int 1 3 lt 5 2 4 -brif 5 L730 L731 -label L730 +brif 5 L718 L719 +label L718 load 6 value load 7 i call 8 pith_cstring_byte_at int 2 6 7 iconst 9 32 eq 10 8 9 -brif 10 L733 L734 -label L733 +brif 10 L721 L722 +label L721 load 11 value iconst 12 0 load 13 i call 14 pith_cstring_substring string 3 11 12 13 ret 14 -label L734 -label L732 +label L722 +label L720 load 15 i iconst 16 1 add 17 15 16 store i 17 -jmp L729 -label L731 +jmp L717 +label L719 load 18 value call 19 pith_cstring_retain void 1 18 ret 18 @@ -46867,28 +46774,28 @@ load 6 root field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_124 9 -store __for_len_124 8 -store __for_iter_124 7 -label L735 -load 10 __for_idx_124 -load 11 __for_len_124 +store __for_idx_123 9 +store __for_len_123 8 +store __for_iter_123 7 +label L723 +load 10 __for_idx_123 +load 11 __for_len_123 lt 12 10 11 -brif 12 L736 L738 -label L736 -load 13 __for_iter_124 -load 14 __for_idx_124 +brif 12 L724 L726 +label L724 +load 13 __for_iter_123 +load 14 __for_idx_123 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_124_child 15 -load 16 __loopvar_124_child +store __loopvar_123_child 15 +load 16 __loopvar_123_child call 17 checker_check_top_level_declarations void 1 16 -label L737 -load 18 __for_idx_124 +label L725 +load 18 __for_idx_123 iconst 19 1 add 20 18 19 -store __for_idx_124 20 -jmp L735 -label L738 +store __for_idx_123 20 +jmp L723 +label L726 load 21 root call 22 pith_struct_release void 1 21 iconst 23 0 @@ -46908,42 +46815,42 @@ field 7 6 0 string kind strref 8 m18s842 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L740 L741 -label L740 +brif 9 L728 L729 +label L728 load 11 node field 12 11 16 list children iconst 13 0 call 14 pith_list_get_value_strict int 2 12 13 call 15 checker_check_declaration void 1 14 -jmp L739 -label L741 +jmp L727 +label L729 load 16 node field 17 16 0 string kind strref 18 m18s856 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L742 L743 -label L742 +brif 19 L730 L731 +label L730 load 21 node call 22 pith_struct_release void 1 21 iconst 23 0 ret 23 -label L743 +label L731 load 24 node field 25 24 0 string kind strref 26 m18s855 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L744 L745 -label L744 +brif 27 L732 L733 +label L732 load 29 node call 30 pith_struct_release void 1 29 iconst 31 0 ret 31 -label L745 +label L733 load 32 node_idx call 33 checker_check_declaration void 1 32 -label L739 +label L727 load 34 node call 35 pith_struct_release void 1 34 iconst 36 0 @@ -46963,8 +46870,8 @@ field 7 6 0 string kind strref 8 m18s854 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L747 L748 -label L747 +brif 9 L735 L736 +label L735 load 11 node field 12 11 16 list children iconst 13 0 @@ -46974,54 +46881,54 @@ load 16 node call 17 pith_struct_release void 1 16 iconst 18 0 ret 18 -label L748 -label L746 +label L736 +label L734 load 19 node field 20 19 0 string kind strref 21 m18s841 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L750 L751 -label L750 +brif 22 L738 L739 +label L738 load 24 node call 25 checker_check_function_declaration void 1 24 -jmp L749 -label L751 +jmp L737 +label L739 load 26 node field 27 26 0 string kind strref 28 m18s821 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L752 L753 -label L752 +brif 29 L740 L741 +label L740 load 31 node_idx load 32 checker_current_scope call 33 checker_check_binding_statement void 2 31 32 -jmp L749 -label L753 +jmp L737 +label L741 load 34 node field 35 34 0 string kind strref 36 m18s853 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -brif 37 L754 L755 -label L754 +brif 37 L742 L743 +label L742 load 39 node call 40 checker_check_implementation_declaration void 1 39 -jmp L749 -label L755 +jmp L737 +label L743 load 41 node field 42 41 0 string kind strref 43 m18s852 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L756 L757 -label L756 +brif 44 L744 L745 +label L744 load 46 node call 47 checker_check_test_declaration void 1 46 -jmp L749 -label L757 -label L749 +jmp L737 +label L745 +label L737 load 48 node call 49 pith_struct_release void 1 48 iconst 50 0 @@ -47039,8 +46946,8 @@ iconst 4 0 store pname 4 load 5 node call 6 checker_declaration_has_generic_params bool 1 5 -brif 6 L759 L760 -label L759 +brif 6 L747 L748 +label L747 load 7 name call 8 pith_cstring_release void 1 7 load 9 fn_info @@ -47051,8 +46958,8 @@ load 13 pname call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L760 -label L758 +label L748 +label L746 load 16 name load 17 node field 18 17 8 string value @@ -47066,8 +46973,8 @@ store fn_tid 23 load 24 fn_tid iconst 25 0 lt 26 24 25 -brif 26 L762 L763 -label L762 +brif 26 L750 L751 +label L750 load 27 name call 28 pith_cstring_release void 1 27 load 29 fn_info @@ -47078,8 +46985,8 @@ load 33 pname call 34 pith_cstring_release void 1 33 iconst 35 0 ret 35 -label L763 -label L761 +label L751 +label L749 load 36 fn_info load 37 fn_tid call 38 types_get_type_info struct:TypeInfo 1 37 @@ -47092,8 +46999,8 @@ call 44 pith_cstring_eq bool 2 41 42 iconst 45 1 sub 43 45 44 call 46 pith_cstring_release void 1 42 -brif 43 L765 L766 -label L765 +brif 43 L753 L754 +label L753 load 47 name call 48 pith_cstring_release void 1 47 load 49 fn_info @@ -47104,8 +47011,8 @@ load 53 pname call 54 pith_cstring_release void 1 53 iconst 55 0 ret 55 -label L766 -label L764 +label L754 +label L752 load 56 checker_current_scope load 57 fn_info field 58 57 56 int return_type @@ -47118,21 +47025,21 @@ load 62 node field 63 62 16 list children call 64 pith_auto_len int 1 63 iconst 65 0 -store __for_idx_125 65 -store __for_len_125 64 -store __for_iter_125 63 -label L767 -load 66 __for_idx_125 -load 67 __for_len_125 +store __for_idx_124 65 +store __for_len_124 64 +store __for_iter_124 63 +label L755 +load 66 __for_idx_124 +load 67 __for_len_124 lt 68 66 67 -brif 68 L768 L770 -label L768 -load 69 __for_iter_125 -load 70 __for_idx_125 +brif 68 L756 L758 +label L756 +load 69 __for_iter_124 +load 70 __for_idx_124 call 71 pith_list_get_value unknown 2 69 70 -store __loopvar_125_child 71 +store __loopvar_124_child 71 load 72 cn -load 73 __loopvar_125_child +load 73 __loopvar_124_child call 74 ast_get_node struct:Node 1 73 call 75 pith_struct_release void 1 72 store cn 74 @@ -47141,8 +47048,8 @@ field 77 76 0 string kind strref 78 m18s350 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -brif 79 L772 L773 -label L772 +brif 79 L760 L761 +label L760 load 81 pname load 82 cn field 83 82 8 string value @@ -47154,8 +47061,8 @@ load 87 fn_info field 88 87 48 list param_types call 89 pith_list_len int 1 88 lt 90 86 89 -brif 90 L775 L776 -label L775 +brif 90 L763 L764 +label L763 load 91 fn_scope load 92 pname load 93 fn_info @@ -47167,40 +47074,40 @@ field 98 97 8 string value strref 99 m18s840 call 100 pith_cstring_contains bool 2 98 99 call 101 pith_cstring_release void 1 99 -load 102 __loopvar_125_child +load 102 __loopvar_124_child call 103 scope_define_binding_at void 5 91 92 96 100 102 -jmp L774 -label L776 -label L774 +jmp L762 +label L764 +label L762 load 104 pname -load 105 __loopvar_125_child +load 105 __loopvar_124_child call 106 checker_note_fn_binding_name void 2 104 105 load 107 param_idx iconst 108 1 add 109 107 108 store param_idx 109 -jmp L771 -label L773 +jmp L759 +label L761 load 110 cn field 111 110 0 string kind strref 112 m18s347 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -brif 113 L777 L778 -label L777 -load 115 __loopvar_125_child +brif 113 L765 L766 +label L765 +load 115 __loopvar_124_child load 116 fn_scope call 117 checker_check_function_body void 2 115 116 -jmp L771 -label L778 -label L771 -label L769 -load 118 __for_idx_125 +jmp L759 +label L766 +label L759 +label L757 +load 118 __for_idx_124 iconst 119 1 add 120 118 119 -store __for_idx_125 120 -jmp L767 -label L770 +store __for_idx_124 120 +jmp L755 +label L758 load 121 name call 122 pith_cstring_release void 1 121 load 123 fn_info @@ -47229,8 +47136,8 @@ field 9 8 16 list children call 10 pith_list_len int 1 9 iconst 11 0 gt 12 10 11 -brif 12 L780 L781 -label L780 +brif 12 L768 L769 +label L768 load 13 block load 14 node field 15 14 16 list children @@ -47244,17 +47151,17 @@ field 21 20 0 string kind strref 22 m18s346 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L783 L784 -label L783 +brif 23 L771 L772 +label L771 load 25 block load 26 scope_id call 27 checker_check_block_statement void 2 25 26 -jmp L782 -label L784 -label L782 -jmp L779 -label L781 -label L779 +jmp L770 +label L772 +label L770 +jmp L767 +label L769 +label L767 load 28 node call 29 pith_struct_release void 1 28 load 30 block @@ -47269,29 +47176,29 @@ load 2 node field 3 2 16 list children call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_126 5 -store __for_len_126 4 -store __for_iter_126 3 -label L785 -load 6 __for_idx_126 -load 7 __for_len_126 +store __for_idx_125 5 +store __for_len_125 4 +store __for_iter_125 3 +label L773 +load 6 __for_idx_125 +load 7 __for_len_125 lt 8 6 7 -brif 8 L786 L788 -label L786 -load 9 __for_iter_126 -load 10 __for_idx_126 +brif 8 L774 L776 +label L774 +load 9 __for_iter_125 +load 10 __for_idx_125 call 11 pith_list_get_value unknown 2 9 10 -store __loopvar_126_child 11 -load 12 __loopvar_126_child +store __loopvar_125_child 11 +load 12 __loopvar_125_child load 13 scope_id call 14 checker_check_statement void 2 12 13 -label L787 -load 15 __for_idx_126 +label L775 +load 15 __for_idx_125 iconst 16 1 add 17 15 16 -store __for_idx_126 17 -jmp L785 -label L788 +store __for_idx_125 17 +jmp L773 +label L776 iconst 18 0 ret 18 endfunc @@ -47332,8 +47239,8 @@ field 21 20 16 list children call 22 pith_list_len int 1 21 iconst 23 1 gt 24 22 23 -brif 24 L790 L791 -label L790 +brif 24 L778 L779 +label L778 load 25 second_node load 26 node field 27 26 16 list children @@ -47347,8 +47254,8 @@ field 33 32 0 string kind strref 34 m18s851 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L793 L794 -label L793 +brif 35 L781 L782 +label L781 load 37 for_inner load 38 second_node field 39 38 16 list children @@ -47364,28 +47271,28 @@ call 47 pith_cstring_release void 1 44 store concrete_name 46 iconst 48 2 store method_start 48 -jmp L792 -label L794 +jmp L780 +label L782 load 49 concrete_name load 50 first_type_node call 51 checker_get_type_node_name string 1 50 call 52 pith_cstring_release void 1 49 store concrete_name 51 -label L792 -jmp L789 -label L791 +label L780 +jmp L777 +label L779 load 53 concrete_name load 54 first_type_node call 55 checker_get_type_node_name string 1 54 call 56 pith_cstring_release void 1 53 store concrete_name 55 -label L789 +label L777 load 57 concrete_name strref 58 m18s36 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -brif 59 L796 L797 -label L796 +brif 59 L784 L785 +label L784 load 61 first_type_node call 62 pith_struct_release void 1 61 load 63 concrete_name @@ -47404,16 +47311,16 @@ load 75 mn call 76 pith_struct_release void 1 75 iconst 77 0 ret 77 -label L797 -label L795 +label L785 +label L783 load 78 concrete_name call 79 types_lookup_type_id int 1 78 store concrete_tid 79 load 80 concrete_tid iconst 81 0 lt 82 80 81 -brif 82 L799 L800 -label L799 +brif 82 L787 L788 +label L787 load 83 first_type_node call 84 pith_struct_release void 1 83 load 85 concrete_name @@ -47432,29 +47339,29 @@ load 97 mn call 98 pith_struct_release void 1 97 iconst 99 0 ret 99 -label L800 -label L798 +label L788 +label L786 call 100 pith_map_new_default map 0 store checker_active_assoc_bindings 100 load 101 node field 102 101 16 list children call 103 pith_auto_len int 1 102 iconst 104 0 -store __for_idx_127 104 -store __for_len_127 103 -store __for_iter_127 102 -label L801 -load 105 __for_idx_127 -load 106 __for_len_127 +store __for_idx_126 104 +store __for_len_126 103 +store __for_iter_126 102 +label L789 +load 105 __for_idx_126 +load 106 __for_len_126 lt 107 105 106 -brif 107 L802 L804 -label L802 -load 108 __for_iter_127 -load 109 __for_idx_127 +brif 107 L790 L792 +label L790 +load 108 __for_iter_126 +load 109 __for_idx_126 call 110 pith_list_get_value unknown 2 108 109 -store __loopvar_127_child 110 +store __loopvar_126_child 110 load 111 cn -load 112 __loopvar_127_child +load 112 __loopvar_126_child call 113 ast_get_node struct:Node 1 112 call 114 pith_struct_release void 1 111 store cn 113 @@ -47463,8 +47370,8 @@ field 116 115 0 string kind strref 117 m18s850 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 -brif 118 L806 L807 -label L806 +brif 118 L794 L795 +label L794 load 120 checker_active_assoc_bindings load 121 cn field 122 121 8 string value @@ -47474,72 +47381,72 @@ iconst 125 0 call 126 pith_list_get_value_strict int 2 124 125 call 127 checker_resolve_type_implementation int 1 126 call 128 map_insert void 3 120 122 127 -jmp L805 -label L807 -label L805 -label L803 -load 129 __for_idx_127 +jmp L793 +label L795 +label L793 +label L791 +load 129 __for_idx_126 iconst 130 1 add 131 129 130 -store __for_idx_127 131 -jmp L801 -label L804 +store __for_idx_126 131 +jmp L789 +label L792 load 132 method_start iconst 133 2 eq 134 132 133 -brif 134 L809 L810 -label L809 +brif 134 L797 L798 +label L797 load 135 first_type_node load 136 concrete_name call 137 checker_check_assoc_types_bound void 2 135 136 -jmp L808 -label L810 -label L808 +jmp L796 +label L798 +label L796 load 138 method_start store skip 138 load 139 node field 140 139 16 list children call 141 pith_auto_len int 1 140 iconst 142 0 -store __for_idx_128 142 -store __for_len_128 141 -store __for_iter_128 140 -label L811 -load 143 __for_idx_128 -load 144 __for_len_128 +store __for_idx_127 142 +store __for_len_127 141 +store __for_iter_127 140 +label L799 +load 143 __for_idx_127 +load 144 __for_len_127 lt 145 143 144 -brif 145 L812 L814 -label L812 -load 146 __for_iter_128 -load 147 __for_idx_128 +brif 145 L800 L802 +label L800 +load 146 __for_iter_127 +load 147 __for_idx_127 call 148 pith_list_get_value unknown 2 146 147 -store __loopvar_128_child 148 +store __loopvar_127_child 148 load 149 skip iconst 150 0 gt 151 149 150 -brif 151 L816 L817 -label L816 +brif 151 L804 L805 +label L804 load 152 skip iconst 153 1 sub 154 152 153 store skip 154 -jmp L813 -label L817 -label L815 +jmp L801 +label L805 +label L803 load 155 cn -load 156 __loopvar_128_child +load 156 __loopvar_127_child call 157 ast_get_node struct:Node 1 156 call 158 pith_struct_release void 1 155 store cn 157 -load 159 __loopvar_128_child +load 159 __loopvar_127_child store method_idx 159 load 160 cn field 161 160 0 string kind strref 162 m18s842 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L819 L820 -label L819 +brif 163 L807 L808 +label L807 load 165 cn field 166 165 16 list children iconst 167 0 @@ -47550,36 +47457,36 @@ load 170 method_idx call 171 ast_get_node struct:Node 1 170 call 172 pith_struct_release void 1 169 store cn 171 -jmp L818 -label L820 -label L818 +jmp L806 +label L808 +label L806 load 173 cn field 174 173 0 string kind strref 175 m18s841 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 -brif 176 L822 L823 -label L822 +brif 176 L810 L811 +label L810 load 178 concrete_name load 179 concrete_tid load 180 method_idx load 181 cn call 182 checker_check_method_body void 4 178 179 180 181 -jmp L821 -label L823 -label L821 -label L813 -load 183 __for_idx_128 +jmp L809 +label L811 +label L809 +label L801 +load 183 __for_idx_127 iconst 184 1 add 185 183 184 -store __for_idx_128 185 -jmp L811 -label L814 +store __for_idx_127 185 +jmp L799 +label L802 load 186 method_start iconst 187 2 eq 188 186 187 -brif 188 L825 L826 -label L825 +brif 188 L813 L814 +label L813 load 189 iface_base load 190 first_type_node call 191 checker_iface_type_base_name string 1 190 @@ -47588,8 +47495,8 @@ store iface_base 191 load 193 checker_interface_decl_index load 194 iface_base call 195 contains_key bool 2 193 194 -brif 195 L828 L829 -label L828 +brif 195 L816 L817 +label L816 load 196 node field 197 196 16 list children iconst 198 0 @@ -47609,21 +47516,21 @@ load 210 iface_node field 211 210 16 list children call 212 pith_auto_len int 1 211 iconst 213 0 -store __for_idx_129 213 -store __for_len_129 212 -store __for_iter_129 211 -label L830 -load 214 __for_idx_129 -load 215 __for_len_129 +store __for_idx_128 213 +store __for_len_128 212 +store __for_iter_128 211 +label L818 +load 214 __for_idx_128 +load 215 __for_len_128 lt 216 214 215 -brif 216 L831 L833 -label L831 -load 217 __for_iter_129 -load 218 __for_idx_129 +brif 216 L819 L821 +label L819 +load 217 __for_iter_128 +load 218 __for_idx_128 call 219 pith_list_get_value unknown 2 217 218 -store __loopvar_129_member 219 +store __loopvar_128_member 219 load 220 mn -load 221 __loopvar_129_member +load 221 __loopvar_128_member call 222 ast_get_node struct:Node 1 221 call 223 pith_struct_release void 1 220 store mn 222 @@ -47632,8 +47539,8 @@ field 225 224 0 string kind strref 226 m18s841 call 227 pith_cstring_eq bool 2 225 226 call 228 pith_cstring_release void 1 226 -brif 227 L835 L836 -label L835 +brif 227 L823 L824 +label L823 load 229 node load 230 method_start load 231 mn @@ -47641,25 +47548,25 @@ field 232 231 8 string value call 233 checker_is_impl_own_method bool 3 229 230 232 iconst 234 0 eq 235 233 234 -brif 235 L838 L839 -label L838 +brif 235 L826 L827 +label L826 load 236 concrete_name load 237 concrete_tid -load 238 __loopvar_129_member +load 238 __loopvar_128_member load 239 mn call 240 checker_check_method_body void 4 236 237 238 239 -jmp L837 -label L839 -label L837 -jmp L834 -label L836 +jmp L825 +label L827 +label L825 +jmp L822 +label L824 load 241 mn field 242 241 0 string kind strref 243 m18s849 call 244 pith_cstring_eq bool 2 242 243 call 245 pith_cstring_release void 1 243 -brif 244 L840 L841 -label L840 +brif 244 L828 L829 +label L828 load 246 node load 247 method_start load 248 mn @@ -47667,8 +47574,8 @@ field 249 248 8 string value call 250 checker_is_impl_own_method bool 3 246 247 249 iconst 251 0 eq 252 250 251 -brif 252 L843 L844 -label L843 +brif 252 L831 L832 +label L831 strref 253 m18s848 strref 254 m18s845 load 255 iface_base @@ -47692,25 +47599,25 @@ call 272 pith_cstring_release void 1 266 call 273 checker_diagnostics_report_error void 2 253 271 call 274 pith_cstring_release void 1 253 call 275 pith_cstring_release void 1 271 -jmp L842 -label L844 -label L842 -jmp L834 -label L841 -label L834 +jmp L830 label L832 -load 276 __for_idx_129 +label L830 +jmp L822 +label L829 +label L822 +label L820 +load 276 __for_idx_128 iconst 277 1 add 278 276 277 -store __for_idx_129 278 -jmp L830 -label L833 -jmp L827 -label L829 -label L827 -jmp L824 -label L826 -label L824 +store __for_idx_128 278 +jmp L818 +label L821 +jmp L815 +label L817 +label L815 +jmp L812 +label L814 +label L812 call 279 pith_map_new_default map 0 store checker_active_assoc_bindings 279 load 280 first_type_node @@ -47747,14 +47654,14 @@ load 8 iface_base call 9 contains_key bool 2 7 8 iconst 10 0 eq 11 9 10 -brif 11 L846 L847 -label L846 +brif 11 L834 L835 +label L834 load 12 iface_base call 13 pith_cstring_release void 1 12 iconst 14 0 ret 14 -label L847 -label L845 +label L835 +label L833 load 15 checker_interface_assoc_types load 16 iface_base call 17 map_get_strict string 2 15 16 @@ -47763,26 +47670,26 @@ call 19 pith_string_split_to_list list_string 2 17 18 call 20 pith_cstring_release void 1 18 call 21 pith_auto_len int 1 19 iconst 22 0 -store __for_idx_130 22 -store __for_len_130 21 -store __for_iter_130 19 -label L848 -load 23 __for_idx_130 -load 24 __for_len_130 +store __for_idx_129 22 +store __for_len_129 21 +store __for_iter_129 19 +label L836 +load 23 __for_idx_129 +load 24 __for_len_129 lt 25 23 24 -brif 25 L849 L851 -label L849 -load 26 __for_iter_130 -load 27 __for_idx_130 +brif 25 L837 L839 +label L837 +load 26 __for_iter_129 +load 27 __for_idx_129 call 28 pith_list_get_value_unchecked string 2 26 27 -store __loopvar_130_req_name 28 +store __loopvar_129_req_name 28 load 29 checker_active_assoc_bindings -load 30 __loopvar_130_req_name +load 30 __loopvar_129_req_name call 31 contains_key bool 2 29 30 iconst 32 0 eq 33 31 32 -brif 33 L853 L854 -label L853 +brif 33 L841 L842 +label L841 strref 34 m18s846 strref 35 m18s845 load 36 iface_base @@ -47799,23 +47706,23 @@ strref 46 m18s843 concat 47 44 46 call 48 pith_cstring_release void 1 44 call 49 pith_cstring_release void 1 46 -load 50 __loopvar_130_req_name +load 50 __loopvar_129_req_name concat 51 47 50 call 52 pith_cstring_release void 1 47 call 53 checker_diagnostics_report_error void 2 34 51 call 54 pith_cstring_release void 1 34 call 55 pith_cstring_release void 1 51 -jmp L852 -label L854 -label L852 -label L850 -load 56 __for_idx_130 +jmp L840 +label L842 +label L840 +label L838 +load 56 __for_idx_129 iconst 57 1 add 58 56 57 -store __for_idx_130 58 -jmp L848 -label L851 -load 59 __for_iter_130 +store __for_idx_129 58 +jmp L836 +label L839 +load 59 __for_iter_129 call 60 pith_list_release_handle void 1 59 load 61 iface_base call 62 pith_cstring_release void 1 61 @@ -47834,33 +47741,33 @@ load 5 node field 6 5 16 list children call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_131 8 -store __for_len_131 7 -store __for_iter_131 6 -label L855 -load 9 __for_idx_131 -load 10 __for_len_131 +store __for_idx_130 8 +store __for_len_130 7 +store __for_iter_130 6 +label L843 +load 9 __for_idx_130 +load 10 __for_len_130 lt 11 9 10 -brif 11 L856 L858 -label L856 -load 12 __for_iter_131 -load 13 __for_idx_131 +brif 11 L844 L846 +label L844 +load 12 __for_iter_130 +load 13 __for_idx_130 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_131_child 14 +store __loopvar_130_child 14 load 15 skip iconst 16 0 gt 17 15 16 -brif 17 L860 L861 -label L860 +brif 17 L848 L849 +label L848 load 18 skip iconst 19 1 sub 20 18 19 store skip 20 -jmp L857 -label L861 -label L859 +jmp L845 +label L849 +label L847 load 21 cn -load 22 __loopvar_131_child +load 22 __loopvar_130_child call 23 ast_get_node struct:Node 1 22 call 24 pith_struct_release void 1 21 store cn 23 @@ -47869,8 +47776,8 @@ field 26 25 0 string kind strref 27 m18s842 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L863 L864 -label L863 +brif 28 L851 L852 +label L851 load 30 cn load 31 cn field 32 31 16 list children @@ -47879,38 +47786,38 @@ call 34 pith_list_get_value_strict int 2 32 33 call 35 ast_get_node struct:Node 1 34 call 36 pith_struct_release void 1 30 store cn 35 -jmp L862 -label L864 -label L862 +jmp L850 +label L852 +label L850 load 37 cn field 38 37 0 string kind strref 39 m18s841 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L866 L867 -label L866 +brif 40 L854 L855 +label L854 load 42 cn field 43 42 8 string value load 44 method_name call 45 pith_cstring_eq bool 2 43 44 -brif 45 L869 L870 -label L869 +brif 45 L857 L858 +label L857 iconst 46 1 load 47 cn call 48 pith_struct_release void 1 47 ret 46 -label L870 -label L868 -jmp L865 -label L867 -label L865 -label L857 -load 49 __for_idx_131 +label L858 +label L856 +jmp L853 +label L855 +label L853 +label L845 +load 49 __for_idx_130 iconst 50 1 add 51 49 50 -store __for_idx_131 51 -jmp L855 -label L858 +store __for_idx_130 51 +jmp L843 +label L846 iconst 52 0 load 53 cn call 54 pith_struct_release void 1 53 @@ -47957,21 +47864,21 @@ load 25 node field 26 25 16 list children call 27 pith_auto_len int 1 26 iconst 28 0 -store __for_idx_132 28 -store __for_len_132 27 -store __for_iter_132 26 -label L871 -load 29 __for_idx_132 -load 30 __for_len_132 +store __for_idx_131 28 +store __for_len_131 27 +store __for_iter_131 26 +label L859 +load 29 __for_idx_131 +load 30 __for_len_131 lt 31 29 30 -brif 31 L872 L874 -label L872 -load 32 __for_iter_132 -load 33 __for_idx_132 +brif 31 L860 L862 +label L860 +load 32 __for_iter_131 +load 33 __for_idx_131 call 34 pith_list_get_value unknown 2 32 33 -store __loopvar_132_child 34 +store __loopvar_131_child 34 load 35 cn -load 36 __loopvar_132_child +load 36 __loopvar_131_child call 37 ast_get_node struct:Node 1 36 call 38 pith_struct_release void 1 35 store cn 37 @@ -47980,8 +47887,8 @@ field 40 39 0 string kind strref 41 m18s350 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -brif 42 L876 L877 -label L876 +brif 42 L864 L865 +label L864 load 44 pname load 45 cn field 46 45 8 string value @@ -47992,8 +47899,8 @@ load 49 param_idx load 50 param_types call 51 pith_list_len int 1 50 lt 52 49 51 -brif 52 L879 L880 -label L879 +brif 52 L867 L868 +label L867 load 53 method_scope load 54 pname load 55 param_types @@ -48004,40 +47911,40 @@ field 59 58 8 string value strref 60 m18s840 call 61 pith_cstring_contains bool 2 59 60 call 62 pith_cstring_release void 1 60 -load 63 __loopvar_132_child +load 63 __loopvar_131_child call 64 scope_define_binding_at void 5 53 54 57 61 63 -jmp L878 -label L880 -label L878 +jmp L866 +label L868 +label L866 load 65 pname -load 66 __loopvar_132_child +load 66 __loopvar_131_child call 67 checker_note_fn_binding_name void 2 65 66 load 68 param_idx iconst 69 1 add 70 68 69 store param_idx 70 -jmp L875 -label L877 +jmp L863 +label L865 load 71 cn field 72 71 0 string kind strref 73 m18s347 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -brif 74 L881 L882 -label L881 -load 76 __loopvar_132_child +brif 74 L869 L870 +label L869 +load 76 __loopvar_131_child load 77 method_scope call 78 checker_check_function_body void 2 76 77 -jmp L875 -label L882 -label L875 -label L873 -load 79 __for_idx_132 +jmp L863 +label L870 +label L863 +label L861 +load 79 __for_idx_131 iconst 80 1 add 81 79 80 -store __for_idx_132 81 -jmp L871 -label L874 +store __for_idx_131 81 +jmp L859 +label L862 load 82 param_types call 83 pith_list_release_handle void 1 82 load 84 cn @@ -48061,21 +47968,21 @@ load 6 node field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_133 9 -store __for_len_133 8 -store __for_iter_133 7 -label L883 -load 10 __for_idx_133 -load 11 __for_len_133 +store __for_idx_132 9 +store __for_len_132 8 +store __for_iter_132 7 +label L871 +load 10 __for_idx_132 +load 11 __for_len_132 lt 12 10 11 -brif 12 L884 L886 -label L884 -load 13 __for_iter_133 -load 14 __for_idx_133 +brif 12 L872 L874 +label L872 +load 13 __for_iter_132 +load 14 __for_idx_132 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_133_child 15 +store __loopvar_132_child 15 load 16 cn -load 17 __loopvar_133_child +load 17 __loopvar_132_child call 18 ast_get_node struct:Node 1 17 call 19 pith_struct_release void 1 16 store cn 18 @@ -48084,21 +47991,21 @@ field 21 20 0 string kind strref 22 m18s347 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L888 L889 -label L888 -load 25 __loopvar_133_child +brif 23 L876 L877 +label L876 +load 25 __loopvar_132_child load 26 test_scope call 27 checker_check_function_body void 2 25 26 -jmp L887 -label L889 -label L887 -label L885 -load 28 __for_idx_133 +jmp L875 +label L877 +label L875 +label L873 +load 28 __for_idx_132 iconst 29 1 add 30 28 29 -store __for_idx_133 30 -jmp L883 -label L886 +store __for_idx_132 30 +jmp L871 +label L874 iconst 31 0 store checker_checking_test_decl 31 load 32 cn @@ -48123,195 +48030,195 @@ field 10 9 0 string kind strref 11 m18s821 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L891 L892 -label L891 +brif 12 L879 L880 +label L879 load 14 node_idx load 15 scope_id call 16 checker_check_binding_statement void 2 14 15 -jmp L890 -label L892 +jmp L878 +label L880 load 17 node field 18 17 0 string kind strref 19 m18s839 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L893 L894 -label L893 +brif 20 L881 L882 +label L881 load 22 node load 23 scope_id call 24 checker_check_assignment void 2 22 23 -jmp L890 -label L894 +jmp L878 +label L882 load 25 node field 26 25 0 string kind strref 27 m18s428 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L895 L896 -label L895 +brif 28 L883 L884 +label L883 load 30 node load 31 scope_id call 32 checker_check_return_statement void 2 30 31 -jmp L890 -label L896 +jmp L878 +label L884 load 33 node field 34 33 0 string kind strref 35 m18s427 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L897 L898 -label L897 +brif 36 L885 L886 +label L885 load 38 node load 39 scope_id call 40 checker_check_fail_statement void 2 38 39 -jmp L890 -label L898 +jmp L878 +label L886 load 41 node field 42 41 0 string kind strref 43 m18s838 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L899 L900 -label L899 +brif 44 L887 L888 +label L887 load 46 node load 47 scope_id call 48 checker_check_if_statement void 2 46 47 -jmp L890 -label L900 +jmp L878 +label L888 load 49 node field 50 49 0 string kind strref 51 m18s837 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L901 L902 -label L901 +brif 52 L889 L890 +label L889 load 54 node load 55 scope_id call 56 checker_check_while_statement void 2 54 55 -jmp L890 -label L902 +jmp L878 +label L890 load 57 node field 58 57 0 string kind strref 59 m18s836 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L903 L904 -label L903 +brif 60 L891 L892 +label L891 load 62 node load 63 scope_id call 64 checker_check_if_let_statement void 2 62 63 -jmp L890 -label L904 +jmp L878 +label L892 load 65 node field 66 65 0 string kind strref 67 m18s835 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 -brif 68 L905 L906 -label L905 +brif 68 L893 L894 +label L893 load 70 node load 71 scope_id call 72 checker_check_while_let_statement void 2 70 71 -jmp L890 -label L906 +jmp L878 +label L894 load 73 node field 74 73 0 string kind strref 75 m18s834 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L907 L908 -label L907 +brif 76 L895 L896 +label L895 load 78 node load 79 scope_id call 80 checker_check_for_statement void 2 78 79 -jmp L890 -label L908 +jmp L878 +label L896 load 81 node field 82 81 0 string kind strref 83 m18s425 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -brif 84 L909 L910 -label L909 +brif 84 L897 L898 +label L897 load 86 scope_id call 87 scope_is_in_loop_scope bool 1 86 iconst 88 0 eq 89 87 88 -brif 89 L912 L913 -label L912 +brif 89 L900 L901 +label L900 strref 90 m18s832 strref 91 m18s833 call 92 checker_diagnostics_report_error void 2 90 91 call 93 pith_cstring_release void 1 90 call 94 pith_cstring_release void 1 91 -jmp L911 -label L913 -label L911 -jmp L890 -label L910 +jmp L899 +label L901 +label L899 +jmp L878 +label L898 load 95 node field 96 95 0 string kind strref 97 m18s426 call 98 pith_cstring_eq bool 2 96 97 call 99 pith_cstring_release void 1 97 -brif 98 L914 L915 -label L914 +brif 98 L902 L903 +label L902 load 100 scope_id call 101 scope_is_in_loop_scope bool 1 100 iconst 102 0 eq 103 101 102 -brif 103 L917 L918 -label L917 +brif 103 L905 L906 +label L905 strref 104 m18s832 strref 105 m18s831 call 106 checker_diagnostics_report_error void 2 104 105 call 107 pith_cstring_release void 1 104 call 108 pith_cstring_release void 1 105 -jmp L916 -label L918 -label L916 -jmp L890 -label L915 +jmp L904 +label L906 +label L904 +jmp L878 +label L903 load 109 node field 110 109 0 string kind strref 111 m18s754 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -brif 112 L919 L920 -label L919 +brif 112 L907 L908 +label L907 load 114 node_idx load 115 scope_id call 116 checker_check_match_expression int 2 114 115 -jmp L890 -label L920 +jmp L878 +label L908 load 117 node field 118 117 0 string kind strref 119 m18s823 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L921 L922 -label L921 +brif 120 L909 L910 +label L909 load 122 node load 123 scope_id call 124 checker_check_defer_statement void 2 122 123 -jmp L890 -label L922 +jmp L878 +label L910 load 125 node field 126 125 0 string kind strref 127 m18s822 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L923 L924 -label L923 +brif 128 L911 L912 +label L911 load 130 node load 131 scope_id call 132 checker_check_errdefer_statement void 2 130 131 -jmp L890 -label L924 +jmp L878 +label L912 load 133 node_idx load 134 scope_id call 135 checker_c_check_expr int 2 133 134 -label L890 +label L878 load 136 node call 137 pith_struct_release void 1 136 iconst 138 0 @@ -48324,8 +48231,8 @@ load 2 scope_id call 3 scope_get_scope_return_type int 1 2 iconst 4 0 lt 5 3 4 -brif 5 L926 L927 -label L926 +brif 5 L914 L915 +label L914 strref 6 m18s826 strref 7 m18s830 call 8 checker_diagnostics_report_error void 2 6 7 @@ -48333,8 +48240,8 @@ call 9 pith_cstring_release void 1 6 call 10 pith_cstring_release void 1 7 iconst 11 0 ret 11 -label L927 -label L925 +label L915 +label L913 load 12 node load 13 scope_id call 14 checker_check_defer_body void 2 12 13 @@ -48350,8 +48257,8 @@ store ret_type 3 load 4 ret_type iconst 5 0 lt 6 4 5 -brif 6 L929 L930 -label L929 +brif 6 L917 L918 +label L917 strref 7 m18s826 strref 8 m18s829 call 9 checker_diagnostics_report_error void 2 7 8 @@ -48359,8 +48266,8 @@ call 10 pith_cstring_release void 1 7 call 11 pith_cstring_release void 1 8 iconst 12 0 ret 12 -label L930 -label L928 +label L918 +label L916 load 13 ret_type call 14 types_get_type_info struct:TypeInfo 1 13 field 15 14 0 string kind @@ -48369,8 +48276,8 @@ call 18 pith_cstring_eq bool 2 15 16 iconst 19 1 sub 17 19 18 call 20 pith_cstring_release void 1 16 -brif 17 L932 L933 -label L932 +brif 17 L920 L921 +label L920 strref 21 m18s826 strref 22 m18s828 strref 23 m18s827 @@ -48380,8 +48287,8 @@ call 26 pith_cstring_release void 1 22 call 27 pith_cstring_release void 1 23 iconst 28 0 ret 28 -label L933 -label L931 +label L921 +label L919 load 29 node load 30 scope_id call 31 checker_check_defer_body void 2 29 30 @@ -48396,12 +48303,12 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 1 lt 6 4 5 -brif 6 L935 L936 -label L935 +brif 6 L923 L924 +label L923 iconst 7 0 ret 7 -label L936 -label L934 +label L924 +label L922 load 8 node field 9 8 16 list children iconst 10 0 @@ -48409,8 +48316,8 @@ call 11 pith_list_get_value_strict int 2 9 10 store inner_idx 11 load 12 inner_idx call 13 checker_defer_body_has_forbidden_node bool 1 12 -brif 13 L938 L939 -label L938 +brif 13 L926 L927 +label L926 strref 14 m18s826 strref 15 m18s825 strref 16 m18s824 @@ -48420,8 +48327,8 @@ call 19 pith_cstring_release void 1 15 call 20 pith_cstring_release void 1 16 iconst 21 0 ret 21 -label L939 -label L937 +label L927 +label L925 load 22 inner_idx load 23 scope_id call 24 checker_check_statement void 2 22 23 @@ -48446,179 +48353,179 @@ call 10 pith_cstring_retain void 1 9 call 11 pith_cstring_release void 1 7 store k 9 iconst 12 0 -store __or_12_943 12 +store __or_12_931 12 iconst 13 0 -store __or_13_943 13 +store __or_13_931 13 iconst 14 0 -store __or_14_943 14 +store __or_14_931 14 load 15 k strref 16 m18s428 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -store __or_14_943 17 -brif 17 L944 L943 -label L943 +store __or_14_931 17 +brif 17 L932 L931 +label L931 load 19 k strref 20 m18s427 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_14_943 21 -label L944 -load 23 __or_14_943 -store __or_13_943 23 -brif 23 L946 L945 -label L945 +store __or_14_931 21 +label L932 +load 23 __or_14_931 +store __or_13_931 23 +brif 23 L934 L933 +label L933 load 24 k strref 25 m18s425 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_13_943 26 -label L946 -load 28 __or_13_943 -store __or_12_943 28 -brif 28 L948 L947 -label L947 +store __or_13_931 26 +label L934 +load 28 __or_13_931 +store __or_12_931 28 +brif 28 L936 L935 +label L935 load 29 k strref 30 m18s426 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_12_943 31 -label L948 -load 33 __or_12_943 -brif 33 L941 L942 -label L941 +store __or_12_931 31 +label L936 +load 33 __or_12_931 +brif 33 L929 L930 +label L929 iconst 34 1 load 35 node call 36 pith_struct_release void 1 35 load 37 k call 38 pith_cstring_release void 1 37 ret 34 -label L942 -label L940 +label L930 +label L928 iconst 39 0 -store __or_39_952 39 +store __or_39_940 39 iconst 40 0 -store __or_40_952 40 +store __or_40_940 40 iconst 41 0 -store __or_41_952 41 +store __or_41_940 41 load 42 k strref 43 m18s823 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_41_952 44 -brif 44 L953 L952 -label L952 +store __or_41_940 44 +brif 44 L941 L940 +label L940 load 46 k strref 47 m18s822 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_41_952 48 -label L953 -load 50 __or_41_952 -store __or_40_952 50 -brif 50 L955 L954 -label L954 +store __or_41_940 48 +label L941 +load 50 __or_41_940 +store __or_40_940 50 +brif 50 L943 L942 +label L942 load 51 k strref 52 m18s821 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_40_952 53 -label L955 -load 55 __or_40_952 -store __or_39_952 55 -brif 55 L957 L956 -label L956 +store __or_40_940 53 +label L943 +load 55 __or_40_940 +store __or_39_940 55 +brif 55 L945 L944 +label L944 load 56 k strref 57 m18s820 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_39_952 58 -label L957 -load 60 __or_39_952 -brif 60 L950 L951 -label L950 +store __or_39_940 58 +label L945 +load 60 __or_39_940 +brif 60 L938 L939 +label L938 iconst 61 1 load 62 node call 63 pith_struct_release void 1 62 load 64 k call 65 pith_cstring_release void 1 64 ret 61 -label L951 -label L949 +label L939 +label L937 iconst 66 0 -store __or_66_961 66 +store __or_66_949 66 iconst 67 0 -store __or_67_961 67 +store __or_67_949 67 load 68 k strref 69 m18s758 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -store __or_67_961 70 -brif 70 L962 L961 -label L961 +store __or_67_949 70 +brif 70 L950 L949 +label L949 load 72 k strref 73 m18s819 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -store __or_67_961 74 -label L962 -load 76 __or_67_961 -store __or_66_961 76 -brif 76 L964 L963 -label L963 +store __or_67_949 74 +label L950 +load 76 __or_67_949 +store __or_66_949 76 +brif 76 L952 L951 +label L951 load 77 k strref 78 m18s759 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __or_66_961 79 -label L964 -load 81 __or_66_961 -brif 81 L959 L960 -label L959 +store __or_66_949 79 +label L952 +load 81 __or_66_949 +brif 81 L947 L948 +label L947 iconst 82 1 load 83 node call 84 pith_struct_release void 1 83 load 85 k call 86 pith_cstring_release void 1 85 ret 82 -label L960 -label L958 +label L948 +label L946 load 87 node field 88 87 16 list children call 89 pith_auto_len int 1 88 iconst 90 0 -store __for_idx_134 90 -store __for_len_134 89 -store __for_iter_134 88 -label L965 -load 91 __for_idx_134 -load 92 __for_len_134 +store __for_idx_133 90 +store __for_len_133 89 +store __for_iter_133 88 +label L953 +load 91 __for_idx_133 +load 92 __for_len_133 lt 93 91 92 -brif 93 L966 L968 -label L966 -load 94 __for_iter_134 -load 95 __for_idx_134 +brif 93 L954 L956 +label L954 +load 94 __for_iter_133 +load 95 __for_idx_133 call 96 pith_list_get_value unknown 2 94 95 -store __loopvar_134_child 96 -load 97 __loopvar_134_child +store __loopvar_133_child 96 +load 97 __loopvar_133_child call 98 checker_defer_body_has_forbidden_node bool 1 97 -brif 98 L970 L971 -label L970 +brif 98 L958 L959 +label L958 iconst 99 1 load 100 node call 101 pith_struct_release void 1 100 load 102 k call 103 pith_cstring_release void 1 102 ret 99 -label L971 -label L969 -label L967 -load 104 __for_idx_134 +label L959 +label L957 +label L955 +load 104 __for_idx_133 iconst 105 1 add 106 104 105 -store __for_idx_134 106 -jmp L965 -label L968 +store __for_idx_133 106 +jmp L953 +label L956 iconst 107 0 load 108 node call 109 pith_struct_release void 1 108 @@ -48640,29 +48547,29 @@ store a_info 2 iconst 3 0 store b_info 3 iconst 4 0 -store __or_4_975 4 +store __or_4_963 4 load 5 a iconst 6 0 lt 7 5 6 -store __or_4_975 7 -brif 7 L976 L975 -label L975 +store __or_4_963 7 +brif 7 L964 L963 +label L963 load 8 b iconst 9 0 lt 10 8 9 -store __or_4_975 10 -label L976 -load 11 __or_4_975 -brif 11 L973 L974 -label L973 +store __or_4_963 10 +label L964 +load 11 __or_4_963 +brif 11 L961 L962 +label L961 iconst 12 0 load 13 a_info call 14 pith_struct_release void 1 13 load 15 b_info call 16 pith_struct_release void 1 15 ret 12 -label L974 -label L972 +label L962 +label L960 load 17 a_info load 18 a call 19 types_get_type_info struct:TypeInfo 1 18 @@ -48674,7 +48581,7 @@ call 23 types_get_type_info struct:TypeInfo 1 22 call 24 pith_struct_release void 1 21 store b_info 23 iconst 25 0 -store __or_25_980 25 +store __or_25_968 25 load 26 a_info field 27 26 0 string kind strref 28 m18s30 @@ -48682,9 +48589,9 @@ call 30 pith_cstring_eq bool 2 27 28 iconst 31 1 sub 29 31 30 call 32 pith_cstring_release void 1 28 -store __or_25_980 29 -brif 29 L981 L980 -label L980 +store __or_25_968 29 +brif 29 L969 L968 +label L968 load 33 b_info field 34 33 0 string kind strref 35 m18s30 @@ -48692,60 +48599,60 @@ call 37 pith_cstring_eq bool 2 34 35 iconst 38 1 sub 36 38 37 call 39 pith_cstring_release void 1 35 -store __or_25_980 36 -label L981 -load 40 __or_25_980 -brif 40 L978 L979 -label L978 +store __or_25_968 36 +label L969 +load 40 __or_25_968 +brif 40 L966 L967 +label L966 iconst 41 0 load 42 a_info call 43 pith_struct_release void 1 42 load 44 b_info call 45 pith_struct_release void 1 44 ret 41 -label L979 -label L977 +label L967 +label L965 iconst 46 0 -store __or_46_985 46 +store __or_46_973 46 load 47 a_info field 48 47 64 int inner iconst 49 0 lt 50 48 49 -store __or_46_985 50 -brif 50 L986 L985 -label L985 +store __or_46_973 50 +brif 50 L974 L973 +label L973 load 51 b_info field 52 51 64 int inner iconst 53 0 lt 54 52 53 -store __or_46_985 54 -label L986 -load 55 __or_46_985 -brif 55 L983 L984 -label L983 +store __or_46_973 54 +label L974 +load 55 __or_46_973 +brif 55 L971 L972 +label L971 iconst 56 0 load 57 a_info call 58 pith_struct_release void 1 57 load 59 b_info call 60 pith_struct_release void 1 59 ret 56 -label L984 -label L982 +label L972 +label L970 load 61 a_info field 62 61 64 int inner load 63 b_info field 64 63 64 int inner eq 65 62 64 -brif 65 L988 L989 -label L988 +brif 65 L976 L977 +label L976 iconst 66 1 load 67 a_info call 68 pith_struct_release void 1 67 load 69 b_info call 70 pith_struct_release void 1 69 ret 66 -label L989 -label L987 +label L977 +label L975 load 71 a_info field 72 71 64 int inner load 73 b_info @@ -48767,221 +48674,153 @@ func checker_optional_plain_comparison 2 bool param a param b iconst 2 0 -store a_info 2 -iconst 3 0 -store b_info 3 +store __or_2_981 2 +load 3 a iconst 4 0 -store __or_4_993 4 -load 5 a -iconst 6 0 -lt 7 5 6 -store __or_4_993 7 -brif 7 L994 L993 -label L993 -load 8 b -iconst 9 0 -lt 10 8 9 -store __or_4_993 10 -label L994 -load 11 __or_4_993 -brif 11 L991 L992 +lt 5 3 4 +store __or_2_981 5 +brif 5 L982 L981 +label L981 +load 6 b +iconst 7 0 +lt 8 6 7 +store __or_2_981 8 +label L982 +load 9 __or_2_981 +brif 9 L979 L980 +label L979 +iconst 10 0 +ret 10 +label L980 +label L978 +iconst 11 0 +store __or_11_986 11 +load 12 a +call 13 types_is_error_type bool 1 12 +store __or_11_986 13 +brif 13 L987 L986 +label L986 +load 14 b +call 15 types_is_error_type bool 1 14 +store __or_11_986 15 +label L987 +load 16 __or_11_986 +brif 16 L984 L985 +label L984 +iconst 17 0 +ret 17 +label L985 +label L983 +iconst 18 0 +store __or_18_991 18 +load 19 a +call 20 types_is_none_type bool 1 19 +store __or_18_991 20 +brif 20 L992 L991 label L991 -iconst 12 0 -load 13 a_info -call 14 pith_struct_release void 1 13 -load 15 b_info -call 16 pith_struct_release void 1 15 -ret 12 +load 21 b +call 22 types_is_none_type bool 1 21 +store __or_18_991 22 label L992 +load 23 __or_18_991 +brif 23 L989 L990 +label L989 +iconst 24 0 +ret 24 label L990 -iconst 17 0 -store __or_17_998 17 -load 18 a -call 19 types_is_error_type bool 1 18 -store __or_17_998 19 -brif 19 L999 L998 +label L988 +iconst 25 0 +store __or_25_993 25 +load 26 a +load 27 b +call 28 checker_optional_accepts_plain bool 2 26 27 +store __or_25_993 28 +brif 28 L994 L993 +label L993 +load 29 b +load 30 a +call 31 checker_optional_accepts_plain bool 2 29 30 +store __or_25_993 31 +label L994 +load 32 __or_25_993 +ret 32 +iconst 33 0 +ret 33 +endfunc +func checker_optional_accepts_plain 2 bool +param opt_tid +param plain_tid +iconst 2 0 +store opt_info 2 +load 3 opt_info +load 4 opt_tid +call 5 types_get_type_info struct:TypeInfo 1 4 +call 6 pith_struct_release void 1 3 +store opt_info 5 +iconst 7 0 +store __or_7_998 7 +load 8 opt_info +field 9 8 0 string kind +strref 10 m18s30 +call 12 pith_cstring_eq bool 2 9 10 +iconst 13 1 +sub 11 13 12 +call 14 pith_cstring_release void 1 10 +store __or_7_998 11 +brif 11 L999 L998 label L998 -load 20 b -call 21 types_is_error_type bool 1 20 -store __or_17_998 21 +load 15 opt_info +field 16 15 64 int inner +iconst 17 0 +lt 18 16 17 +store __or_7_998 18 label L999 -load 22 __or_17_998 -brif 22 L996 L997 +load 19 __or_7_998 +brif 19 L996 L997 label L996 -iconst 23 0 -load 24 a_info -call 25 pith_struct_release void 1 24 -load 26 b_info -call 27 pith_struct_release void 1 26 -ret 23 +iconst 20 0 +load 21 opt_info +call 22 pith_struct_release void 1 21 +ret 20 label L997 label L995 -iconst 28 0 -store __or_28_1003 28 -load 29 a -call 30 types_is_none_type bool 1 29 -store __or_28_1003 30 -brif 30 L1004 L1003 -label L1003 -load 31 b -call 32 types_is_none_type bool 1 31 -store __or_28_1003 32 -label L1004 -load 33 __or_28_1003 -brif 33 L1001 L1002 +load 23 plain_tid +call 24 types_get_type_info struct:TypeInfo 1 23 +field 25 24 0 string kind +strref 26 m18s30 +call 27 pith_cstring_eq bool 2 25 26 +call 28 pith_cstring_release void 1 26 +brif 27 L1001 L1002 label L1001 -iconst 34 0 -load 35 a_info -call 36 pith_struct_release void 1 35 -load 37 b_info -call 38 pith_struct_release void 1 37 -ret 34 +iconst 29 0 +load 30 opt_info +call 31 pith_struct_release void 1 30 +ret 29 label L1002 label L1000 -load 39 a_info -load 40 a -call 41 types_get_type_info struct:TypeInfo 1 40 -call 42 pith_struct_release void 1 39 -store a_info 41 -load 43 b_info -load 44 b -call 45 types_get_type_info struct:TypeInfo 1 44 -call 46 pith_struct_release void 1 43 -store b_info 45 -iconst 47 0 -store __and_47_1008 47 -load 48 a_info -field 49 48 0 string kind -strref 50 m18s30 -call 51 pith_cstring_eq bool 2 49 50 -call 52 pith_cstring_release void 1 50 -store __and_47_1008 51 -brif 51 L1008 L1009 -label L1008 -load 53 b_info -field 54 53 0 string kind -strref 55 m18s30 -call 57 pith_cstring_eq bool 2 54 55 -iconst 58 1 -sub 56 58 57 -call 59 pith_cstring_release void 1 55 -store __and_47_1008 56 -label L1009 -load 60 __and_47_1008 -brif 60 L1006 L1007 -label L1006 -load 61 a_info -field 62 61 64 int inner -iconst 63 0 -lt 64 62 63 -brif 64 L1011 L1012 -label L1011 -iconst 65 0 -load 66 a_info -call 67 pith_struct_release void 1 66 -load 68 b_info -call 69 pith_struct_release void 1 68 -ret 65 -label L1012 -label L1010 -load 70 a_info -field 71 70 64 int inner -load 72 b -eq 73 71 72 -brif 73 L1014 L1015 -label L1014 -iconst 74 1 -load 75 a_info -call 76 pith_struct_release void 1 75 -load 77 b_info -call 78 pith_struct_release void 1 77 -ret 74 -label L1015 -label L1013 -load 79 a_info -field 80 79 64 int inner -load 81 b -call 82 checker_types_structurally_equal bool 2 80 81 -load 83 a_info -call 84 pith_struct_release void 1 83 -load 85 b_info -call 86 pith_struct_release void 1 85 -ret 82 -label L1007 +load 32 opt_info +field 33 32 64 int inner +load 34 plain_tid +eq 35 33 34 +brif 35 L1004 L1005 +label L1004 +iconst 36 1 +load 37 opt_info +call 38 pith_struct_release void 1 37 +ret 36 label L1005 -iconst 87 0 -store __and_87_1019 87 -load 88 b_info -field 89 88 0 string kind -strref 90 m18s30 -call 91 pith_cstring_eq bool 2 89 90 -call 92 pith_cstring_release void 1 90 -store __and_87_1019 91 -brif 91 L1019 L1020 -label L1019 -load 93 a_info -field 94 93 0 string kind -strref 95 m18s30 -call 97 pith_cstring_eq bool 2 94 95 -iconst 98 1 -sub 96 98 97 -call 99 pith_cstring_release void 1 95 -store __and_87_1019 96 -label L1020 -load 100 __and_87_1019 -brif 100 L1017 L1018 -label L1017 -load 101 b_info -field 102 101 64 int inner -iconst 103 0 -lt 104 102 103 -brif 104 L1022 L1023 -label L1022 -iconst 105 0 -load 106 a_info -call 107 pith_struct_release void 1 106 -load 108 b_info -call 109 pith_struct_release void 1 108 -ret 105 -label L1023 -label L1021 -load 110 b_info -field 111 110 64 int inner -load 112 a -eq 113 111 112 -brif 113 L1025 L1026 -label L1025 -iconst 114 1 -load 115 a_info -call 116 pith_struct_release void 1 115 -load 117 b_info -call 118 pith_struct_release void 1 117 -ret 114 -label L1026 -label L1024 -load 119 b_info -field 120 119 64 int inner -load 121 a -call 122 checker_types_structurally_equal bool 2 120 121 -load 123 a_info -call 124 pith_struct_release void 1 123 -load 125 b_info -call 126 pith_struct_release void 1 125 -ret 122 -label L1018 -label L1016 -iconst 127 0 -load 128 a_info -call 129 pith_struct_release void 1 128 -load 130 b_info -call 131 pith_struct_release void 1 130 -ret 127 -load 132 a_info -call 133 pith_struct_release void 1 132 -load 134 b_info -call 135 pith_struct_release void 1 134 -iconst 136 0 -ret 136 +label L1003 +load 39 opt_info +field 40 39 64 int inner +load 41 plain_tid +call 42 checker_types_structurally_equal bool 2 40 41 +load 43 opt_info +call 44 pith_struct_release void 1 43 +ret 42 +load 45 opt_info +call 46 pith_struct_release void 1 45 +iconst 47 0 +ret 47 endfunc func checker_value_matches_optional_target 3 bool param value_idx @@ -48994,16 +48833,16 @@ store value_node 4 load 5 expected_tid iconst 6 0 lt 7 5 6 -brif 7 L1028 L1029 -label L1028 +brif 7 L1007 L1008 +label L1007 iconst 8 0 load 9 expected_info call 10 pith_struct_release void 1 9 load 11 value_node call 12 pith_struct_release void 1 11 ret 8 -label L1029 -label L1027 +label L1008 +label L1006 load 13 expected_info load 14 expected_tid call 15 types_get_type_info struct:TypeInfo 1 14 @@ -49016,16 +48855,16 @@ call 21 pith_cstring_eq bool 2 18 19 iconst 22 1 sub 20 22 21 call 23 pith_cstring_release void 1 19 -brif 20 L1031 L1032 -label L1031 +brif 20 L1010 L1011 +label L1010 iconst 24 0 load 25 expected_info call 26 pith_struct_release void 1 25 load 27 value_node call 28 pith_struct_release void 1 27 ret 24 -label L1032 -label L1030 +label L1011 +label L1009 load 29 value_node load 30 value_idx call 31 ast_get_node struct:Node 1 30 @@ -49036,68 +48875,68 @@ field 34 33 0 string kind strref 35 m18s745 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L1034 L1035 -label L1034 +brif 36 L1013 L1014 +label L1013 iconst 38 1 load 39 expected_info call 40 pith_struct_release void 1 39 load 41 value_node call 42 pith_struct_release void 1 41 ret 38 -label L1035 -label L1033 +label L1014 +label L1012 load 43 actual_tid call 44 types_is_none_type bool 1 43 -brif 44 L1037 L1038 -label L1037 +brif 44 L1016 L1017 +label L1016 iconst 45 1 load 46 expected_info call 47 pith_struct_release void 1 46 load 48 value_node call 49 pith_struct_release void 1 48 ret 45 -label L1038 -label L1036 +label L1017 +label L1015 load 50 actual_tid iconst 51 0 lt 52 50 51 -brif 52 L1040 L1041 -label L1040 +brif 52 L1019 L1020 +label L1019 iconst 53 0 load 54 expected_info call 55 pith_struct_release void 1 54 load 56 value_node call 57 pith_struct_release void 1 56 ret 53 -label L1041 -label L1039 +label L1020 +label L1018 load 58 actual_tid load 59 expected_tid eq 60 58 59 -brif 60 L1043 L1044 -label L1043 +brif 60 L1022 L1023 +label L1022 iconst 61 1 load 62 expected_info call 63 pith_struct_release void 1 62 load 64 value_node call 65 pith_struct_release void 1 64 ret 61 -label L1044 -label L1042 +label L1023 +label L1021 load 66 actual_tid load 67 expected_info field 68 67 64 int inner eq 69 66 68 -brif 69 L1046 L1047 -label L1046 +brif 69 L1025 L1026 +label L1025 iconst 70 1 load 71 expected_info call 72 pith_struct_release void 1 71 load 73 value_node call 74 pith_struct_release void 1 73 ret 70 -label L1047 -label L1045 +label L1026 +label L1024 load 75 actual_tid load 76 expected_info field 77 76 64 int inner @@ -49119,172 +48958,100 @@ param expr_idx param actual_tid param expected_tid iconst 3 0 -store expected_info 3 +store __or_3_1030 3 iconst 4 0 -store __or_4_1051 4 -iconst 5 0 -store __or_5_1051 5 -load 6 expr_idx -iconst 7 0 -lt 8 6 7 -store __or_5_1051 8 -brif 8 L1052 L1051 -label L1051 -load 9 actual_tid -iconst 10 0 -lt 11 9 10 -store __or_5_1051 11 -label L1052 -load 12 __or_5_1051 -store __or_4_1051 12 -brif 12 L1054 L1053 -label L1053 -load 13 expected_tid -iconst 14 0 -lt 15 13 14 -store __or_4_1051 15 -label L1054 -load 16 __or_4_1051 -brif 16 L1049 L1050 -label L1049 -iconst 17 0 -load 18 expected_info -call 19 pith_struct_release void 1 18 -ret 17 -label L1050 -label L1048 -load 20 actual_tid -load 21 expected_tid -eq 22 20 21 -brif 22 L1056 L1057 -label L1056 -iconst 23 0 -load 24 expected_info -call 25 pith_struct_release void 1 24 -ret 23 -label L1057 -label L1055 -iconst 26 0 -store __or_26_1061 26 -load 27 actual_tid -call 28 types_is_error_type bool 1 27 -store __or_26_1061 28 -brif 28 L1062 L1061 -label L1061 -load 29 expected_tid -call 30 types_is_error_type bool 1 29 -store __or_26_1061 30 -label L1062 -load 31 __or_26_1061 -brif 31 L1059 L1060 -label L1059 -iconst 32 0 -load 33 expected_info -call 34 pith_struct_release void 1 33 -ret 32 -label L1060 -label L1058 -iconst 35 0 -store __or_35_1066 35 +store __or_4_1030 4 +load 5 expr_idx +iconst 6 0 +lt 7 5 6 +store __or_4_1030 7 +brif 7 L1031 L1030 +label L1030 +load 8 actual_tid +iconst 9 0 +lt 10 8 9 +store __or_4_1030 10 +label L1031 +load 11 __or_4_1030 +store __or_3_1030 11 +brif 11 L1033 L1032 +label L1032 +load 12 expected_tid +iconst 13 0 +lt 14 12 13 +store __or_3_1030 14 +label L1033 +load 15 __or_3_1030 +brif 15 L1028 L1029 +label L1028 +iconst 16 0 +ret 16 +label L1029 +label L1027 +load 17 actual_tid +load 18 expected_tid +eq 19 17 18 +brif 19 L1035 L1036 +label L1035 +iconst 20 0 +ret 20 +label L1036 +label L1034 +iconst 21 0 +store __or_21_1040 21 +load 22 actual_tid +call 23 types_is_error_type bool 1 22 +store __or_21_1040 23 +brif 23 L1041 L1040 +label L1040 +load 24 expected_tid +call 25 types_is_error_type bool 1 24 +store __or_21_1040 25 +label L1041 +load 26 __or_21_1040 +brif 26 L1038 L1039 +label L1038 +iconst 27 0 +ret 27 +label L1039 +label L1037 +iconst 28 0 +store __or_28_1045 28 +load 29 actual_tid +call 30 types_is_none_type bool 1 29 +store __or_28_1045 30 +brif 30 L1046 L1045 +label L1045 +load 31 expected_tid +call 32 types_is_none_type bool 1 31 +store __or_28_1045 32 +label L1046 +load 33 __or_28_1045 +brif 33 L1043 L1044 +label L1043 +iconst 34 0 +ret 34 +label L1044 +label L1042 +load 35 expected_tid load 36 actual_tid -call 37 types_is_none_type bool 1 36 -store __or_35_1066 37 -brif 37 L1067 L1066 -label L1066 -load 38 expected_tid -call 39 types_is_none_type bool 1 38 -store __or_35_1066 39 -label L1067 -load 40 __or_35_1066 -brif 40 L1064 L1065 -label L1064 -iconst 41 0 -load 42 expected_info -call 43 pith_struct_release void 1 42 -ret 41 -label L1065 -label L1063 -load 44 expected_info -load 45 expected_tid -call 46 types_get_type_info struct:TypeInfo 1 45 -call 47 pith_struct_release void 1 44 -store expected_info 46 -load 48 expected_info -field 49 48 0 string kind -strref 50 m18s30 -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 L1069 L1070 -label L1069 -iconst 55 0 -load 56 expected_info -call 57 pith_struct_release void 1 56 -ret 55 -label L1070 -label L1068 -load 58 expected_info -field 59 58 64 int inner -iconst 60 0 -lt 61 59 60 -brif 61 L1072 L1073 -label L1072 -iconst 62 0 -load 63 expected_info -call 64 pith_struct_release void 1 63 -ret 62 -label L1073 -label L1071 -load 65 actual_tid -call 66 types_get_type_info struct:TypeInfo 1 65 -field 67 66 0 string kind -strref 68 m18s30 -call 69 pith_cstring_eq bool 2 67 68 -call 70 pith_cstring_release void 1 68 -brif 69 L1075 L1076 -label L1075 -iconst 71 0 -load 72 expected_info -call 73 pith_struct_release void 1 72 -ret 71 -label L1076 -label L1074 -load 74 actual_tid -load 75 expected_info -field 76 75 64 int inner -neq 77 74 76 -brif 77 L1078 L1079 -label L1078 -load 78 actual_tid -load 79 expected_info -field 80 79 64 int inner -call 81 checker_types_structurally_equal bool 2 78 80 -iconst 82 0 -eq 83 81 82 -brif 83 L1081 L1082 -label L1081 -iconst 84 0 -load 85 expected_info -call 86 pith_struct_release void 1 85 -ret 84 -label L1082 -label L1080 -jmp L1077 -label L1079 -label L1077 -load 87 checker_optional_widened_arguments -load 88 expr_idx -iconst 89 1 -call 90 map_insert_ikey void 3 87 88 89 -iconst 91 1 -load 92 expected_info -call 93 pith_struct_release void 1 92 -ret 91 -load 94 expected_info -call 95 pith_struct_release void 1 94 -iconst 96 0 -ret 96 +call 37 checker_optional_accepts_plain bool 2 35 36 +iconst 38 0 +eq 39 37 38 +brif 39 L1048 L1049 +label L1048 +iconst 40 0 +ret 40 +label L1049 +label L1047 +load 41 checker_optional_widened_arguments +load 42 expr_idx +iconst 43 1 +call 44 map_insert_ikey void 3 41 42 43 +iconst 45 1 +ret 45 +iconst 46 0 +ret 46 endfunc func checker_c_argument_widens_to_optional 1 bool param expr_idx @@ -49321,12 +49088,12 @@ load 3 info field 4 3 16 list_string fields call 5 pith_list_len int 1 4 store min_required 5 -label L1083 +label L1050 load 6 min_required iconst 7 0 gt 8 6 7 -brif 8 L1084 L1085 -label L1084 +brif 8 L1051 L1052 +label L1051 load 9 field_name load 10 info field 11 10 16 list_string fields @@ -49340,18 +49107,18 @@ store field_name 15 load 18 struct_name load 19 field_name call 20 checker_struct_field_has_default bool 2 18 19 -brif 20 L1087 L1088 -label L1087 +brif 20 L1054 L1055 +label L1054 load 21 min_required iconst 22 1 sub 23 21 22 store min_required 23 -jmp L1086 -label L1088 -jmp L1085 -label L1086 -jmp L1083 -label L1085 +jmp L1053 +label L1055 +jmp L1052 +label L1053 +jmp L1050 +label L1052 load 24 min_required load 25 field_name call 26 pith_cstring_release void 1 25 @@ -49369,58 +49136,58 @@ store node 2 load 3 expected_tid iconst 4 0 lt 5 3 4 -brif 5 L1090 L1091 -label L1090 +brif 5 L1057 L1058 +label L1057 load 6 node call 7 pith_struct_release void 1 6 iconst 8 0 ret 8 -label L1091 -label L1089 +label L1058 +label L1056 load 9 node load 10 value_idx call 11 ast_get_node struct:Node 1 10 call 12 pith_struct_release void 1 9 store node 11 iconst 13 0 -store __or_13_1095 13 +store __or_13_1062 13 iconst 14 0 -store __or_14_1095 14 +store __or_14_1062 14 load 15 node field 16 15 0 string kind strref 17 m18s23 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_14_1095 18 -brif 18 L1096 L1095 -label L1095 +store __or_14_1062 18 +brif 18 L1063 L1062 +label L1062 load 20 node field 21 20 0 string kind strref 22 m18s21 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __or_14_1095 23 -label L1096 -load 25 __or_14_1095 -store __or_13_1095 25 -brif 25 L1098 L1097 -label L1097 +store __or_14_1062 23 +label L1063 +load 25 __or_14_1062 +store __or_13_1062 25 +brif 25 L1065 L1064 +label L1064 load 26 node field 27 26 0 string kind strref 28 m18s19 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_13_1095 29 -label L1098 -load 31 __or_13_1095 -brif 31 L1093 L1094 -label L1093 +store __or_13_1062 29 +label L1065 +load 31 __or_13_1062 +brif 31 L1060 L1061 +label L1060 load 32 value_idx load 33 expected_tid call 34 checker_propagate_expected_collection_type void 2 32 33 -jmp L1092 -label L1094 -label L1092 +jmp L1059 +label L1061 +label L1059 load 35 node call 36 pith_struct_release void 1 35 iconst 37 0 @@ -49438,8 +49205,8 @@ store entry 4 load 5 expected_tid iconst 6 0 lt 7 5 6 -brif 7 L1100 L1101 -label L1100 +brif 7 L1067 L1068 +label L1067 load 8 node call 9 pith_struct_release void 1 8 load 10 expected_info @@ -49448,8 +49215,8 @@ load 12 entry call 13 pith_struct_release void 1 12 iconst 14 0 ret 14 -label L1101 -label L1099 +label L1068 +label L1066 load 15 node load 16 literal_idx call 17 ast_get_node struct:Node 1 16 @@ -49461,25 +49228,25 @@ call 21 types_get_type_info struct:TypeInfo 1 20 call 22 pith_struct_release void 1 19 store expected_info 21 iconst 23 0 -store __and_23_1105 23 +store __and_23_1072 23 load 24 node field 25 24 0 string kind strref 26 m18s23 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_1105 27 -brif 27 L1105 L1106 -label L1105 +store __and_23_1072 27 +brif 27 L1072 L1073 +label L1072 load 29 expected_info field 30 29 0 string kind strref 31 m18s23 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __and_23_1105 32 -label L1106 -load 34 __and_23_1105 -brif 34 L1103 L1104 -label L1103 +store __and_23_1072 32 +label L1073 +load 34 __and_23_1072 +brif 34 L1070 L1071 +label L1070 load 35 checker_expression_type_cache load 36 literal_idx load 37 expected_tid @@ -49488,52 +49255,52 @@ load 39 node field 40 39 16 list children call 41 pith_auto_len int 1 40 iconst 42 0 -store __for_idx_135 42 -store __for_len_135 41 -store __for_iter_135 40 -label L1107 -load 43 __for_idx_135 -load 44 __for_len_135 +store __for_idx_134 42 +store __for_len_134 41 +store __for_iter_134 40 +label L1074 +load 43 __for_idx_134 +load 44 __for_len_134 lt 45 43 44 -brif 45 L1108 L1110 -label L1108 -load 46 __for_iter_135 -load 47 __for_idx_135 +brif 45 L1075 L1077 +label L1075 +load 46 __for_iter_134 +load 47 __for_idx_134 call 48 pith_list_get_value unknown 2 46 47 -store __loopvar_135_child 48 -load 49 __loopvar_135_child +store __loopvar_134_child 48 +load 49 __loopvar_134_child load 50 expected_info field 51 50 64 int inner call 52 checker_propagate_expected_collection_type void 2 49 51 -label L1109 -load 53 __for_idx_135 +label L1076 +load 53 __for_idx_134 iconst 54 1 add 55 53 54 -store __for_idx_135 55 -jmp L1107 -label L1110 -jmp L1102 -label L1104 +store __for_idx_134 55 +jmp L1074 +label L1077 +jmp L1069 +label L1071 iconst 56 0 -store __and_56_1113 56 +store __and_56_1080 56 load 57 node field 58 57 0 string kind strref 59 m18s19 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __and_56_1113 60 -brif 60 L1113 L1114 -label L1113 +store __and_56_1080 60 +brif 60 L1080 L1081 +label L1080 load 62 expected_info field 63 62 0 string kind strref 64 m18s19 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __and_56_1113 65 -label L1114 -load 67 __and_56_1113 -brif 67 L1111 L1112 -label L1111 +store __and_56_1080 65 +label L1081 +load 67 __and_56_1080 +brif 67 L1078 L1079 +label L1078 load 68 checker_expression_type_cache load 69 literal_idx load 70 expected_tid @@ -49542,52 +49309,52 @@ load 72 node field 73 72 16 list children call 74 pith_auto_len int 1 73 iconst 75 0 -store __for_idx_136 75 -store __for_len_136 74 -store __for_iter_136 73 -label L1115 -load 76 __for_idx_136 -load 77 __for_len_136 +store __for_idx_135 75 +store __for_len_135 74 +store __for_iter_135 73 +label L1082 +load 76 __for_idx_135 +load 77 __for_len_135 lt 78 76 77 -brif 78 L1116 L1118 -label L1116 -load 79 __for_iter_136 -load 80 __for_idx_136 +brif 78 L1083 L1085 +label L1083 +load 79 __for_iter_135 +load 80 __for_idx_135 call 81 pith_list_get_value unknown 2 79 80 -store __loopvar_136_child 81 -load 82 __loopvar_136_child +store __loopvar_135_child 81 +load 82 __loopvar_135_child load 83 expected_info field 84 83 64 int inner call 85 checker_propagate_expected_collection_type void 2 82 84 -label L1117 -load 86 __for_idx_136 +label L1084 +load 86 __for_idx_135 iconst 87 1 add 88 86 87 -store __for_idx_136 88 -jmp L1115 -label L1118 -jmp L1102 -label L1112 +store __for_idx_135 88 +jmp L1082 +label L1085 +jmp L1069 +label L1079 iconst 89 0 -store __and_89_1121 89 +store __and_89_1088 89 load 90 node field 91 90 0 string kind strref 92 m18s21 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -store __and_89_1121 93 -brif 93 L1121 L1122 -label L1121 +store __and_89_1088 93 +brif 93 L1088 L1089 +label L1088 load 95 expected_info field 96 95 0 string kind strref 97 m18s21 call 98 pith_cstring_eq bool 2 96 97 call 99 pith_cstring_release void 1 97 -store __and_89_1121 98 -label L1122 -load 100 __and_89_1121 -brif 100 L1119 L1120 -label L1119 +store __and_89_1088 98 +label L1089 +load 100 __and_89_1088 +brif 100 L1086 L1087 +label L1086 load 101 checker_expression_type_cache load 102 literal_idx load 103 expected_tid @@ -49596,44 +49363,44 @@ load 105 node field 106 105 16 list children call 107 pith_auto_len int 1 106 iconst 108 0 -store __for_idx_137 108 -store __for_len_137 107 -store __for_iter_137 106 -label L1123 -load 109 __for_idx_137 -load 110 __for_len_137 +store __for_idx_136 108 +store __for_len_136 107 +store __for_iter_136 106 +label L1090 +load 109 __for_idx_136 +load 110 __for_len_136 lt 111 109 110 -brif 111 L1124 L1126 -label L1124 -load 112 __for_iter_137 -load 113 __for_idx_137 +brif 111 L1091 L1093 +label L1091 +load 112 __for_iter_136 +load 113 __for_idx_136 call 114 pith_list_get_value unknown 2 112 113 -store __loopvar_137_entry_idx 114 +store __loopvar_136_entry_idx 114 load 115 entry -load 116 __loopvar_137_entry_idx +load 116 __loopvar_136_entry_idx call 117 ast_get_node struct:Node 1 116 call 118 pith_struct_release void 1 115 store entry 117 iconst 119 0 -store __and_119_1130 119 +store __and_119_1097 119 load 120 entry field 121 120 0 string kind strref 122 m18s344 call 123 pith_cstring_eq bool 2 121 122 call 124 pith_cstring_release void 1 122 -store __and_119_1130 123 -brif 123 L1130 L1131 -label L1130 +store __and_119_1097 123 +brif 123 L1097 L1098 +label L1097 load 125 entry field 126 125 16 list children call 127 pith_list_len int 1 126 iconst 128 2 gte 129 127 128 -store __and_119_1130 129 -label L1131 -load 130 __and_119_1130 -brif 130 L1128 L1129 -label L1128 +store __and_119_1097 129 +label L1098 +load 130 __and_119_1097 +brif 130 L1095 L1096 +label L1095 load 131 entry field 132 131 16 list children iconst 133 1 @@ -49641,58 +49408,58 @@ call 134 pith_list_get_value_strict int 2 132 133 load 135 expected_info field 136 135 80 int value_type call 137 checker_propagate_expected_collection_type void 2 134 136 -jmp L1127 -label L1129 -label L1127 -label L1125 -load 138 __for_idx_137 +jmp L1094 +label L1096 +label L1094 +label L1092 +load 138 __for_idx_136 iconst 139 1 add 140 138 139 -store __for_idx_137 140 -jmp L1123 -label L1126 -jmp L1102 -label L1120 +store __for_idx_136 140 +jmp L1090 +label L1093 +jmp L1069 +label L1087 iconst 141 0 -store __and_141_1134 141 +store __and_141_1101 141 iconst 142 0 -store __and_142_1134 142 +store __and_142_1101 142 load 143 node field 144 143 0 string kind strref 145 m18s21 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -store __and_142_1134 146 -brif 146 L1134 L1135 -label L1134 +store __and_142_1101 146 +brif 146 L1101 L1102 +label L1101 load 148 expected_info field 149 148 0 string kind strref 150 m18s19 call 151 pith_cstring_eq bool 2 149 150 call 152 pith_cstring_release void 1 150 -store __and_142_1134 151 -label L1135 -load 153 __and_142_1134 -store __and_141_1134 153 -brif 153 L1136 L1137 -label L1136 +store __and_142_1101 151 +label L1102 +load 153 __and_142_1101 +store __and_141_1101 153 +brif 153 L1103 L1104 +label L1103 load 154 node field 155 154 16 list children call 156 pith_list_len int 1 155 iconst 157 0 eq 158 156 157 -store __and_141_1134 158 -label L1137 -load 159 __and_141_1134 -brif 159 L1132 L1133 -label L1132 +store __and_141_1101 158 +label L1104 +load 159 __and_141_1101 +brif 159 L1099 L1100 +label L1099 load 160 checker_expression_type_cache load 161 literal_idx load 162 expected_tid call 163 map_insert_ikey void 3 160 161 162 -jmp L1102 -label L1133 -label L1102 +jmp L1069 +label L1100 +label L1069 load 164 node call 165 pith_struct_release void 1 164 load 166 expected_info @@ -49717,8 +49484,8 @@ load 7 actual call 8 types_is_error_type bool 1 7 iconst 9 0 eq 10 8 9 -brif 10 L1139 L1140 -label L1139 +brif 10 L1106 L1107 +label L1106 load 11 node call 12 pith_struct_release void 1 11 load 13 expected_info @@ -49727,13 +49494,13 @@ load 15 inner_info call 16 pith_struct_release void 1 15 iconst 17 0 ret 17 -label L1140 -label L1138 +label L1107 +label L1105 load 18 expected iconst 19 0 lt 20 18 19 -brif 20 L1142 L1143 -label L1142 +brif 20 L1109 L1110 +label L1109 load 21 node call 22 pith_struct_release void 1 21 load 23 expected_info @@ -49742,8 +49509,8 @@ load 25 inner_info call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L1143 -label L1141 +label L1110 +label L1108 load 28 arg_idx call 29 checker_argument_expression_index int 1 28 store expr_idx 29 @@ -49757,47 +49524,48 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 neq 38 36 37 -brif 38 L1145 L1146 -label L1145 +brif 38 L1112 L1113 +label L1112 iconst 39 0 -store __or_39_1150 39 +store __or_39_1117 39 iconst 40 0 -store __or_40_1150 40 +store __or_40_1117 40 load 41 node field 42 41 0 string kind strref 43 m18s23 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_40_1150 44 -brif 44 L1151 L1150 -label L1150 +store __or_40_1117 44 +brif 44 L1118 L1117 +label L1117 load 46 node field 47 46 0 string kind strref 48 m18s21 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_40_1150 49 -label L1151 -load 51 __or_40_1150 -store __or_39_1150 51 -brif 51 L1153 L1152 -label L1152 +store __or_40_1117 49 +label L1118 +load 51 __or_40_1117 +store __or_39_1117 51 +brif 51 L1120 L1119 +label L1119 load 52 node field 53 52 0 string kind strref 54 m18s19 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_39_1150 55 -label L1153 -load 57 __or_39_1150 -brif 57 L1148 L1149 -label L1148 +store __or_39_1117 55 +label L1120 +load 57 __or_39_1117 +brif 57 L1115 L1116 +label L1115 load 58 expr_idx load 59 expected load 60 scope_id call 61 checker_collection_literal_coerces bool 3 58 59 60 -brif 61 L1155 L1156 -label L1155 +jmp L1114 +label L1116 +label L1114 load 62 node call 63 pith_struct_release void 1 62 load 64 expected_info @@ -49806,171 +49574,158 @@ load 66 inner_info call 67 pith_struct_release void 1 66 iconst 68 0 ret 68 -label L1156 -label L1154 -jmp L1147 -label L1149 -label L1147 -load 69 node -call 70 pith_struct_release void 1 69 -load 71 expected_info -call 72 pith_struct_release void 1 71 -load 73 inner_info -call 74 pith_struct_release void 1 73 -iconst 75 0 -ret 75 -label L1146 -label L1144 -iconst 76 0 -store __or_76_1160 76 -iconst 77 0 -store __or_77_1160 77 -load 78 node -field 79 78 0 string kind -strref 80 m18s23 -call 81 pith_cstring_eq bool 2 79 80 -call 82 pith_cstring_release void 1 80 -store __or_77_1160 81 -brif 81 L1161 L1160 -label L1160 -load 83 node -field 84 83 0 string kind -strref 85 m18s21 -call 86 pith_cstring_eq bool 2 84 85 -call 87 pith_cstring_release void 1 85 -store __or_77_1160 86 -label L1161 -load 88 __or_77_1160 -store __or_76_1160 88 -brif 88 L1163 L1162 -label L1162 -load 89 node -field 90 89 0 string kind -strref 91 m18s19 -call 92 pith_cstring_eq bool 2 90 91 -call 93 pith_cstring_release void 1 91 -store __or_76_1160 92 -label L1163 -load 94 __or_76_1160 -brif 94 L1158 L1159 -label L1158 -load 95 expected_info -load 96 expected -call 97 types_get_type_info struct:TypeInfo 1 96 -call 98 pith_struct_release void 1 95 -store expected_info 97 -iconst 99 0 -store __and_99_1167 99 -load 100 expected_info -field 101 100 0 string kind -strref 102 m18s30 -call 103 pith_cstring_eq bool 2 101 102 -call 104 pith_cstring_release void 1 102 -store __and_99_1167 103 -brif 103 L1167 L1168 -label L1167 -load 105 expected_info -field 106 105 64 int inner -iconst 107 0 -gte 108 106 107 -store __and_99_1167 108 -label L1168 -load 109 __and_99_1167 -brif 109 L1165 L1166 -label L1165 +label L1113 +label L1111 +iconst 69 0 +store __or_69_1124 69 +iconst 70 0 +store __or_70_1124 70 +load 71 node +field 72 71 0 string kind +strref 73 m18s23 +call 74 pith_cstring_eq bool 2 72 73 +call 75 pith_cstring_release void 1 73 +store __or_70_1124 74 +brif 74 L1125 L1124 +label L1124 +load 76 node +field 77 76 0 string kind +strref 78 m18s21 +call 79 pith_cstring_eq bool 2 77 78 +call 80 pith_cstring_release void 1 78 +store __or_70_1124 79 +label L1125 +load 81 __or_70_1124 +store __or_69_1124 81 +brif 81 L1127 L1126 +label L1126 +load 82 node +field 83 82 0 string kind +strref 84 m18s19 +call 85 pith_cstring_eq bool 2 83 84 +call 86 pith_cstring_release void 1 84 +store __or_69_1124 85 +label L1127 +load 87 __or_69_1124 +brif 87 L1122 L1123 +label L1122 +load 88 expected_info +load 89 expected +call 90 types_get_type_info struct:TypeInfo 1 89 +call 91 pith_struct_release void 1 88 +store expected_info 90 +iconst 92 0 +store __and_92_1131 92 +load 93 expected_info +field 94 93 0 string kind +strref 95 m18s30 +call 96 pith_cstring_eq bool 2 94 95 +call 97 pith_cstring_release void 1 95 +store __and_92_1131 96 +brif 96 L1131 L1132 +label L1131 +load 98 expected_info +field 99 98 64 int inner +iconst 100 0 +gte 101 99 100 +store __and_92_1131 101 +label L1132 +load 102 __and_92_1131 +brif 102 L1129 L1130 +label L1129 +load 103 inner_info +load 104 expected_info +field 105 104 64 int inner +call 106 types_get_type_info struct:TypeInfo 1 105 +call 107 pith_struct_release void 1 103 +store inner_info 106 +iconst 108 0 +store __or_108_1136 108 +iconst 109 0 +store __or_109_1136 109 load 110 inner_info -load 111 expected_info -field 112 111 64 int inner -call 113 types_get_type_info struct:TypeInfo 1 112 -call 114 pith_struct_release void 1 110 -store inner_info 113 -iconst 115 0 -store __or_115_1172 115 -iconst 116 0 -store __or_116_1172 116 -load 117 inner_info -field 118 117 0 string kind -strref 119 m18s23 -call 120 pith_cstring_eq bool 2 118 119 -call 121 pith_cstring_release void 1 119 -store __or_116_1172 120 -brif 120 L1173 L1172 -label L1172 -load 122 inner_info -field 123 122 0 string kind -strref 124 m18s21 -call 125 pith_cstring_eq bool 2 123 124 -call 126 pith_cstring_release void 1 124 -store __or_116_1172 125 -label L1173 -load 127 __or_116_1172 -store __or_115_1172 127 -brif 127 L1175 L1174 -label L1174 -load 128 inner_info -field 129 128 0 string kind -strref 130 m18s19 -call 131 pith_cstring_eq bool 2 129 130 -call 132 pith_cstring_release void 1 130 -store __or_115_1172 131 -label L1175 -load 133 __or_115_1172 -brif 133 L1170 L1171 -label L1170 -load 134 expr_idx -load 135 expected_info -field 136 135 64 int inner -call 137 checker_propagate_expected_collection_type void 2 134 136 -load 138 checker_expression_type_cache -load 139 expr_idx -call 140 map_contains_ikey bool 2 138 139 -brif 140 L1177 L1178 -label L1177 -load 141 checker_expression_type_cache -load 142 expr_idx -call 143 map_get_ikey_strict int 2 141 142 -load 144 expected_info -field 145 144 64 int inner -eq 146 143 145 -brif 146 L1180 L1181 -label L1180 -load 147 checker_optional_widened_arguments -load 148 expr_idx -iconst 149 1 -call 150 map_insert_ikey void 3 147 148 149 -jmp L1179 -label L1181 -label L1179 -jmp L1176 -label L1178 -label L1176 -load 151 node -call 152 pith_struct_release void 1 151 -load 153 expected_info -call 154 pith_struct_release void 1 153 -load 155 inner_info -call 156 pith_struct_release void 1 155 -iconst 157 0 -ret 157 -label L1171 -label L1169 -jmp L1164 -label L1166 -label L1164 -load 158 expr_idx -load 159 expected -call 160 checker_propagate_expected_collection_type void 2 158 159 -jmp L1157 -label L1159 -label L1157 -load 161 node -call 162 pith_struct_release void 1 161 -load 163 expected_info -call 164 pith_struct_release void 1 163 -load 165 inner_info -call 166 pith_struct_release void 1 165 -iconst 167 0 -ret 167 +field 111 110 0 string kind +strref 112 m18s23 +call 113 pith_cstring_eq bool 2 111 112 +call 114 pith_cstring_release void 1 112 +store __or_109_1136 113 +brif 113 L1137 L1136 +label L1136 +load 115 inner_info +field 116 115 0 string kind +strref 117 m18s21 +call 118 pith_cstring_eq bool 2 116 117 +call 119 pith_cstring_release void 1 117 +store __or_109_1136 118 +label L1137 +load 120 __or_109_1136 +store __or_108_1136 120 +brif 120 L1139 L1138 +label L1138 +load 121 inner_info +field 122 121 0 string kind +strref 123 m18s19 +call 124 pith_cstring_eq bool 2 122 123 +call 125 pith_cstring_release void 1 123 +store __or_108_1136 124 +label L1139 +load 126 __or_108_1136 +brif 126 L1134 L1135 +label L1134 +load 127 expr_idx +load 128 expected_info +field 129 128 64 int inner +call 130 checker_propagate_expected_collection_type void 2 127 129 +load 131 checker_expression_type_cache +load 132 expr_idx +call 133 map_contains_ikey bool 2 131 132 +brif 133 L1141 L1142 +label L1141 +load 134 checker_expression_type_cache +load 135 expr_idx +call 136 map_get_ikey_strict int 2 134 135 +load 137 expected_info +field 138 137 64 int inner +eq 139 136 138 +brif 139 L1144 L1145 +label L1144 +load 140 checker_optional_widened_arguments +load 141 expr_idx +iconst 142 1 +call 143 map_insert_ikey void 3 140 141 142 +jmp L1143 +label L1145 +label L1143 +jmp L1140 +label L1142 +label L1140 +load 144 node +call 145 pith_struct_release void 1 144 +load 146 expected_info +call 147 pith_struct_release void 1 146 +load 148 inner_info +call 149 pith_struct_release void 1 148 +iconst 150 0 +ret 150 +label L1135 +label L1133 +jmp L1128 +label L1130 +label L1128 +load 151 expr_idx +load 152 expected +call 153 checker_propagate_expected_collection_type void 2 151 152 +jmp L1121 +label L1123 +label L1121 +load 154 node +call 155 pith_struct_release void 1 154 +load 156 expected_info +call 157 pith_struct_release void 1 156 +load 158 inner_info +call 159 pith_struct_release void 1 158 +iconst 160 0 +ret 160 endfunc func checker_literal_element_coerces 3 bool param value_idx @@ -49983,54 +49738,54 @@ store expected_info 4 load 5 expected_tid iconst 6 0 lt 7 5 6 -brif 7 L1183 L1184 -label L1183 +brif 7 L1147 L1148 +label L1147 iconst 8 0 load 9 node call 10 pith_struct_release void 1 9 load 11 expected_info call 12 pith_struct_release void 1 11 ret 8 -label L1184 -label L1182 +label L1148 +label L1146 load 13 node load 14 value_idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 iconst 17 0 -store __or_17_1188 17 +store __or_17_1152 17 iconst 18 0 -store __or_18_1188 18 +store __or_18_1152 18 load 19 node field 20 19 0 string kind strref 21 m18s23 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_18_1188 22 -brif 22 L1189 L1188 -label L1188 +store __or_18_1152 22 +brif 22 L1153 L1152 +label L1152 load 24 node field 25 24 0 string kind strref 26 m18s19 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_18_1188 27 -label L1189 -load 29 __or_18_1188 -store __or_17_1188 29 -brif 29 L1191 L1190 -label L1190 +store __or_18_1152 27 +label L1153 +load 29 __or_18_1152 +store __or_17_1152 29 +brif 29 L1155 L1154 +label L1154 load 30 node field 31 30 0 string kind strref 32 m18s21 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __or_17_1188 33 -label L1191 -load 35 __or_17_1188 -brif 35 L1186 L1187 -label L1186 +store __or_17_1152 33 +label L1155 +load 35 __or_17_1152 +brif 35 L1150 L1151 +label L1150 load 36 value_idx load 37 expected_tid load 38 scope_id @@ -50040,8 +49795,8 @@ call 41 pith_struct_release void 1 40 load 42 expected_info call 43 pith_struct_release void 1 42 ret 39 -label L1187 -label L1185 +label L1151 +label L1149 load 44 expected_info load 45 expected_tid call 46 types_get_type_info struct:TypeInfo 1 45 @@ -50052,78 +49807,78 @@ field 49 48 0 string kind strref 50 m18s30 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L1193 L1194 -label L1193 +brif 51 L1157 L1158 +label L1157 load 53 node field 54 53 0 string kind strref 55 m18s745 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L1196 L1197 -label L1196 +brif 56 L1160 L1161 +label L1160 iconst 58 1 load 59 node call 60 pith_struct_release void 1 59 load 61 expected_info call 62 pith_struct_release void 1 61 ret 58 -label L1197 -label L1195 +label L1161 +label L1159 load 63 value_idx load 64 scope_id call 65 checker_c_check_expr int 2 63 64 store inner_type 65 load 66 inner_type call 67 types_is_error_type bool 1 66 -brif 67 L1199 L1200 -label L1199 +brif 67 L1163 L1164 +label L1163 iconst 68 0 load 69 node call 70 pith_struct_release void 1 69 load 71 expected_info call 72 pith_struct_release void 1 71 ret 68 -label L1200 -label L1198 +label L1164 +label L1162 iconst 73 0 -store __or_73_1201 73 +store __or_73_1165 73 load 74 inner_type load 75 expected_info field 76 75 64 int inner eq 77 74 76 -store __or_73_1201 77 -brif 77 L1202 L1201 -label L1201 +store __or_73_1165 77 +brif 77 L1166 L1165 +label L1165 load 78 inner_type load 79 expected_info field 80 79 64 int inner call 81 checker_types_compatible bool 2 78 80 -store __or_73_1201 81 -label L1202 -load 82 __or_73_1201 +store __or_73_1165 81 +label L1166 +load 82 __or_73_1165 load 83 node call 84 pith_struct_release void 1 83 load 85 expected_info call 86 pith_struct_release void 1 85 ret 82 -label L1194 -label L1192 +label L1158 +label L1156 load 87 value_idx load 88 scope_id call 89 checker_c_check_expr int 2 87 88 store actual 89 load 90 actual call 91 types_is_error_type bool 1 90 -brif 91 L1204 L1205 -label L1204 +brif 91 L1168 L1169 +label L1168 iconst 92 0 load 93 node call 94 pith_struct_release void 1 93 load 95 expected_info call 96 pith_struct_release void 1 95 ret 92 -label L1205 -label L1203 +label L1169 +label L1167 load 97 actual load 98 expected_tid call 99 checker_types_compatible bool 2 97 98 @@ -50152,8 +49907,8 @@ store entry 5 load 6 target_tid iconst 7 0 lt 8 6 7 -brif 8 L1207 L1208 -label L1207 +brif 8 L1171 L1172 +label L1171 iconst 9 0 load 10 node call 11 pith_struct_release void 1 10 @@ -50162,8 +49917,8 @@ call 13 pith_struct_release void 1 12 load 14 entry call 15 pith_struct_release void 1 14 ret 9 -label L1208 -label L1206 +label L1172 +label L1170 load 16 node load 17 value_idx call 18 ast_get_node struct:Node 1 17 @@ -50175,51 +49930,51 @@ call 22 types_get_type_info struct:TypeInfo 1 21 call 23 pith_struct_release void 1 20 store target_info 22 iconst 24 0 -store __and_24_1212 24 +store __and_24_1176 24 load 25 node field 26 25 0 string kind strref 27 m18s23 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __and_24_1212 28 -brif 28 L1212 L1213 -label L1212 +store __and_24_1176 28 +brif 28 L1176 L1177 +label L1176 load 30 target_info field 31 30 0 string kind strref 32 m18s23 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __and_24_1212 33 -label L1213 -load 35 __and_24_1212 -brif 35 L1210 L1211 -label L1210 +store __and_24_1176 33 +label L1177 +load 35 __and_24_1176 +brif 35 L1174 L1175 +label L1174 load 36 node field 37 36 16 list children call 38 pith_auto_len int 1 37 iconst 39 0 -store __for_idx_138 39 -store __for_len_138 38 -store __for_iter_138 37 -label L1214 -load 40 __for_idx_138 -load 41 __for_len_138 +store __for_idx_137 39 +store __for_len_137 38 +store __for_iter_137 37 +label L1178 +load 40 __for_idx_137 +load 41 __for_len_137 lt 42 40 41 -brif 42 L1215 L1217 -label L1215 -load 43 __for_iter_138 -load 44 __for_idx_138 +brif 42 L1179 L1181 +label L1179 +load 43 __for_iter_137 +load 44 __for_idx_137 call 45 pith_list_get_value unknown 2 43 44 -store __loopvar_138_child 45 -load 46 __loopvar_138_child +store __loopvar_137_child 45 +load 46 __loopvar_137_child load 47 target_info field 48 47 64 int inner load 49 scope_id call 50 checker_literal_element_coerces bool 3 46 48 49 iconst 51 0 eq 52 50 51 -brif 52 L1219 L1220 -label L1219 +brif 52 L1183 L1184 +label L1183 iconst 53 0 load 54 node call 55 pith_struct_release void 1 54 @@ -50228,15 +49983,15 @@ call 57 pith_struct_release void 1 56 load 58 entry call 59 pith_struct_release void 1 58 ret 53 -label L1220 -label L1218 -label L1216 -load 60 __for_idx_138 +label L1184 +label L1182 +label L1180 +load 60 __for_idx_137 iconst 61 1 add 62 60 61 -store __for_idx_138 62 -jmp L1214 -label L1217 +store __for_idx_137 62 +jmp L1178 +label L1181 load 63 value_idx load 64 target_tid call 65 checker_propagate_expected_collection_type void 2 63 64 @@ -50248,54 +50003,54 @@ call 70 pith_struct_release void 1 69 load 71 entry call 72 pith_struct_release void 1 71 ret 66 -label L1211 -label L1209 +label L1175 +label L1173 iconst 73 0 -store __and_73_1224 73 +store __and_73_1188 73 load 74 node field 75 74 0 string kind strref 76 m18s19 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __and_73_1224 77 -brif 77 L1224 L1225 -label L1224 +store __and_73_1188 77 +brif 77 L1188 L1189 +label L1188 load 79 target_info field 80 79 0 string kind strref 81 m18s19 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __and_73_1224 82 -label L1225 -load 84 __and_73_1224 -brif 84 L1222 L1223 -label L1222 +store __and_73_1188 82 +label L1189 +load 84 __and_73_1188 +brif 84 L1186 L1187 +label L1186 load 85 node field 86 85 16 list children call 87 pith_auto_len int 1 86 iconst 88 0 -store __for_idx_139 88 -store __for_len_139 87 -store __for_iter_139 86 -label L1226 -load 89 __for_idx_139 -load 90 __for_len_139 +store __for_idx_138 88 +store __for_len_138 87 +store __for_iter_138 86 +label L1190 +load 89 __for_idx_138 +load 90 __for_len_138 lt 91 89 90 -brif 91 L1227 L1229 -label L1227 -load 92 __for_iter_139 -load 93 __for_idx_139 +brif 91 L1191 L1193 +label L1191 +load 92 __for_iter_138 +load 93 __for_idx_138 call 94 pith_list_get_value unknown 2 92 93 -store __loopvar_139_child 94 -load 95 __loopvar_139_child +store __loopvar_138_child 94 +load 95 __loopvar_138_child load 96 target_info field 97 96 64 int inner load 98 scope_id call 99 checker_literal_element_coerces bool 3 95 97 98 iconst 100 0 eq 101 99 100 -brif 101 L1231 L1232 -label L1231 +brif 101 L1195 L1196 +label L1195 iconst 102 0 load 103 node call 104 pith_struct_release void 1 103 @@ -50304,15 +50059,15 @@ call 106 pith_struct_release void 1 105 load 107 entry call 108 pith_struct_release void 1 107 ret 102 -label L1232 -label L1230 -label L1228 -load 109 __for_idx_139 +label L1196 +label L1194 +label L1192 +load 109 __for_idx_138 iconst 110 1 add 111 109 110 -store __for_idx_139 111 -jmp L1226 -label L1229 +store __for_idx_138 111 +jmp L1190 +label L1193 load 112 value_idx load 113 target_tid call 114 checker_propagate_expected_collection_type void 2 112 113 @@ -50324,70 +50079,70 @@ call 119 pith_struct_release void 1 118 load 120 entry call 121 pith_struct_release void 1 120 ret 115 -label L1223 -label L1221 +label L1187 +label L1185 iconst 122 0 -store __and_122_1236 122 +store __and_122_1200 122 load 123 node field 124 123 0 string kind strref 125 m18s21 call 126 pith_cstring_eq bool 2 124 125 call 127 pith_cstring_release void 1 125 -store __and_122_1236 126 -brif 126 L1236 L1237 -label L1236 +store __and_122_1200 126 +brif 126 L1200 L1201 +label L1200 load 128 target_info field 129 128 0 string kind strref 130 m18s21 call 131 pith_cstring_eq bool 2 129 130 call 132 pith_cstring_release void 1 130 -store __and_122_1236 131 -label L1237 -load 133 __and_122_1236 -brif 133 L1234 L1235 -label L1234 +store __and_122_1200 131 +label L1201 +load 133 __and_122_1200 +brif 133 L1198 L1199 +label L1198 load 134 node field 135 134 16 list children call 136 pith_auto_len int 1 135 iconst 137 0 -store __for_idx_140 137 -store __for_len_140 136 -store __for_iter_140 135 -label L1238 -load 138 __for_idx_140 -load 139 __for_len_140 +store __for_idx_139 137 +store __for_len_139 136 +store __for_iter_139 135 +label L1202 +load 138 __for_idx_139 +load 139 __for_len_139 lt 140 138 139 -brif 140 L1239 L1241 -label L1239 -load 141 __for_iter_140 -load 142 __for_idx_140 +brif 140 L1203 L1205 +label L1203 +load 141 __for_iter_139 +load 142 __for_idx_139 call 143 pith_list_get_value unknown 2 141 142 -store __loopvar_140_entry_idx 143 +store __loopvar_139_entry_idx 143 load 144 entry -load 145 __loopvar_140_entry_idx +load 145 __loopvar_139_entry_idx call 146 ast_get_node struct:Node 1 145 call 147 pith_struct_release void 1 144 store entry 146 iconst 148 0 -store __and_148_1245 148 +store __and_148_1209 148 load 149 entry field 150 149 0 string kind strref 151 m18s344 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -store __and_148_1245 152 -brif 152 L1245 L1246 -label L1245 +store __and_148_1209 152 +brif 152 L1209 L1210 +label L1209 load 154 entry field 155 154 16 list children call 156 pith_list_len int 1 155 iconst 157 2 gte 158 156 157 -store __and_148_1245 158 -label L1246 -load 159 __and_148_1245 -brif 159 L1243 L1244 -label L1243 +store __and_148_1209 158 +label L1210 +load 159 __and_148_1209 +brif 159 L1207 L1208 +label L1207 load 160 entry field 161 160 16 list children iconst 162 0 @@ -50398,8 +50153,8 @@ load 166 scope_id call 167 checker_literal_element_coerces bool 3 163 165 166 iconst 168 0 eq 169 167 168 -brif 169 L1248 L1249 -label L1248 +brif 169 L1212 L1213 +label L1212 iconst 170 0 load 171 node call 172 pith_struct_release void 1 171 @@ -50408,8 +50163,8 @@ call 174 pith_struct_release void 1 173 load 175 entry call 176 pith_struct_release void 1 175 ret 170 -label L1249 -label L1247 +label L1213 +label L1211 load 177 entry field 178 177 16 list children iconst 179 1 @@ -50420,8 +50175,8 @@ load 183 scope_id call 184 checker_literal_element_coerces bool 3 180 182 183 iconst 185 0 eq 186 184 185 -brif 186 L1251 L1252 -label L1251 +brif 186 L1215 L1216 +label L1215 iconst 187 0 load 188 node call 189 pith_struct_release void 1 188 @@ -50430,18 +50185,18 @@ call 191 pith_struct_release void 1 190 load 192 entry call 193 pith_struct_release void 1 192 ret 187 -label L1252 -label L1250 -jmp L1242 -label L1244 -label L1242 -label L1240 -load 194 __for_idx_140 +label L1216 +label L1214 +jmp L1206 +label L1208 +label L1206 +label L1204 +load 194 __for_idx_139 iconst 195 1 add 196 194 195 -store __for_idx_140 196 -jmp L1238 -label L1241 +store __for_idx_139 196 +jmp L1202 +label L1205 load 197 value_idx load 198 target_tid call 199 checker_propagate_expected_collection_type void 2 197 198 @@ -50453,8 +50208,8 @@ call 204 pith_struct_release void 1 203 load 205 entry call 206 pith_struct_release void 1 205 ret 200 -label L1235 -label L1233 +label L1199 +label L1197 iconst 207 0 load 208 node call 209 pith_struct_release void 1 208 @@ -50498,46 +50253,46 @@ func checker_note_fn_binding_name 2 void param name param node_idx iconst 2 0 -store __and_2_1256 2 +store __and_2_1220 2 load 3 checker_fn_weak_names call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -store __and_2_1256 6 -brif 6 L1256 L1257 -label L1256 +store __and_2_1220 6 +brif 6 L1220 L1221 +label L1220 load 7 checker_fn_weak_names load 8 name iconst 9 -1 -store __list_index_result_L1258 9 +store __list_index_result_L1222 9 iconst 10 0 -store __list_index_i_L1259 10 +store __list_index_i_L1223 10 call 11 pith_list_len int 1 7 -label L1260 -load 12 __list_index_i_L1259 +label L1224 +load 12 __list_index_i_L1223 lt 13 12 11 -brif 13 L1261 L1264 -label L1261 +brif 13 L1225 L1228 +label L1225 call 14 pith_list_get_value string 2 7 12 call 15 pith_cstring_eq bool 2 14 8 -brif 15 L1262 L1263 -label L1262 -store __list_index_result_L1258 12 -jmp L1264 -label L1263 +brif 15 L1226 L1227 +label L1226 +store __list_index_result_L1222 12 +jmp L1228 +label L1227 iconst 16 1 add 17 12 16 -store __list_index_i_L1259 17 -jmp L1260 -label L1264 -load 18 __list_index_result_L1258 +store __list_index_i_L1223 17 +jmp L1224 +label L1228 +load 18 __list_index_result_L1222 iconst 19 0 gte 20 18 19 -store __and_2_1256 20 -label L1257 -load 21 __and_2_1256 -brif 21 L1254 L1255 -label L1254 +store __and_2_1220 20 +label L1221 +load 21 __and_2_1220 +brif 21 L1218 L1219 +label L1218 load 22 node_idx strref 23 m18s807 strref 24 m18s818 @@ -50551,9 +50306,9 @@ call 31 pith_cstring_release void 1 28 call 32 checker_diagnostics_report_error_at void 3 22 23 29 call 33 pith_cstring_release void 1 23 call 34 pith_cstring_release void 1 29 -jmp L1253 -label L1255 -label L1253 +jmp L1217 +label L1219 +label L1217 load 35 checker_fn_bound_names load 36 name call 37 pith_list_push_value void 2 35 36 @@ -50570,9 +50325,9 @@ store name 3 iconst 4 0 store val_node 4 iconst 5 0 -store ainfo 5 +store gbase 5 iconst 6 0 -store gbase 6 +store ainfo 6 load 7 node load 8 node_idx call 9 ast_get_node struct:Node 1 8 @@ -50593,37 +50348,37 @@ field 20 19 8 string value strref 21 m18s816 call 22 pith_cstring_contains bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L1266 L1267 -label L1266 +brif 22 L1230 L1231 +label L1230 load 24 checker_fn_bound_names load 25 name iconst 26 -1 -store __list_index_result_L1271 26 +store __list_index_result_L1235 26 iconst 27 0 -store __list_index_i_L1272 27 +store __list_index_i_L1236 27 call 28 pith_list_len int 1 24 -label L1273 -load 29 __list_index_i_L1272 +label L1237 +load 29 __list_index_i_L1236 lt 30 29 28 -brif 30 L1274 L1277 -label L1274 +brif 30 L1238 L1241 +label L1238 call 31 pith_list_get_value string 2 24 29 call 32 pith_cstring_eq bool 2 31 25 -brif 32 L1275 L1276 -label L1275 -store __list_index_result_L1271 29 -jmp L1277 -label L1276 +brif 32 L1239 L1240 +label L1239 +store __list_index_result_L1235 29 +jmp L1241 +label L1240 iconst 33 1 add 34 29 33 -store __list_index_i_L1272 34 -jmp L1273 -label L1277 -load 35 __list_index_result_L1271 +store __list_index_i_L1236 34 +jmp L1237 +label L1241 +load 35 __list_index_result_L1235 iconst 36 0 gte 37 35 36 -brif 37 L1269 L1270 -label L1269 +brif 37 L1233 L1234 +label L1233 load 38 node_idx strref 39 m18s807 strref 40 m18s815 @@ -50637,23 +50392,23 @@ call 47 pith_cstring_release void 1 44 call 48 checker_diagnostics_report_error_at void 3 38 39 45 call 49 pith_cstring_release void 1 39 call 50 pith_cstring_release void 1 45 -jmp L1268 -label L1270 -label L1268 +jmp L1232 +label L1234 +label L1232 load 51 checker_checker_lambda_depth iconst 52 0 gt 53 51 52 -brif 53 L1279 L1280 -label L1279 +brif 53 L1243 L1244 +label L1243 load 54 node_idx strref 55 m18s807 strref 56 m18s813 call 57 checker_diagnostics_report_error_at void 3 54 55 56 call 58 pith_cstring_release void 1 55 call 59 pith_cstring_release void 1 56 -jmp L1278 -label L1280 -label L1278 +jmp L1242 +label L1244 +label L1242 load 60 checker_fn_bound_names load 61 name call 62 pith_list_push_value void 2 60 61 @@ -50670,14 +50425,14 @@ load 72 name call 73 pith_cstring_release void 1 72 load 74 val_node call 75 pith_struct_release void 1 74 -load 76 ainfo -call 77 pith_struct_release void 1 76 -load 78 gbase -call 79 pith_cstring_release void 1 78 +load 76 gbase +call 77 pith_cstring_release void 1 76 +load 78 ainfo +call 79 pith_struct_release void 1 78 iconst 80 0 ret 80 -label L1267 -label L1265 +label L1231 +label L1229 load 81 name load 82 node_idx call 83 checker_note_fn_binding_name void 2 81 82 @@ -50686,8 +50441,8 @@ field 85 84 16 list children call 86 pith_list_len int 1 85 iconst 87 2 eq 88 86 87 -brif 88 L1282 L1283 -label L1282 +brif 88 L1246 L1247 +label L1246 load 89 node field 90 89 16 list children iconst 91 0 @@ -50713,91 +50468,92 @@ load 107 annotated call 108 types_is_error_type bool 1 107 iconst 109 0 eq 110 108 109 -brif 110 L1285 L1286 -label L1285 +brif 110 L1249 L1250 +label L1249 load 111 val_type call 112 types_is_error_type bool 1 111 -brif 112 L1288 L1289 -label L1288 +brif 112 L1252 L1253 +label L1252 iconst 113 0 -store __or_113_1293 113 +store __or_113_1257 113 iconst 114 0 -store __or_114_1293 114 +store __or_114_1257 114 load 115 val_node field 116 115 0 string kind strref 117 m18s23 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 -store __or_114_1293 118 -brif 118 L1294 L1293 -label L1293 +store __or_114_1257 118 +brif 118 L1258 L1257 +label L1257 load 120 val_node field 121 120 0 string kind strref 122 m18s21 call 123 pith_cstring_eq bool 2 121 122 call 124 pith_cstring_release void 1 122 -store __or_114_1293 123 -label L1294 -load 125 __or_114_1293 -store __or_113_1293 125 -brif 125 L1296 L1295 -label L1295 +store __or_114_1257 123 +label L1258 +load 125 __or_114_1257 +store __or_113_1257 125 +brif 125 L1260 L1259 +label L1259 load 126 val_node field 127 126 0 string kind strref 128 m18s19 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -store __or_113_1293 129 -label L1296 -load 131 __or_113_1293 -brif 131 L1291 L1292 -label L1291 +store __or_113_1257 129 +label L1260 +load 131 __or_113_1257 +brif 131 L1255 L1256 +label L1255 load 132 node field 133 132 16 list children iconst 134 1 call 135 pith_list_get_value_strict int 2 133 134 load 136 annotated call 137 checker_propagate_expected_collection_type void 2 135 136 -jmp L1290 -label L1292 -load 138 val_node -call 139 checker_generic_enum_construction_base string 1 138 -strref 140 m18s36 -call 142 pith_cstring_eq bool 2 139 140 -iconst 143 1 -sub 141 143 142 -call 144 pith_cstring_release void 1 139 -call 145 pith_cstring_release void 1 140 -brif 141 L1297 L1298 -label L1297 -load 146 ainfo -load 147 annotated -call 148 types_get_type_info struct:TypeInfo 1 147 -call 149 pith_struct_release void 1 146 -store ainfo 148 -iconst 150 0 -store __and_150_1302 150 -load 151 ainfo -field 152 151 0 string kind -strref 153 m18s34 -call 154 pith_cstring_eq bool 2 152 153 -call 155 pith_cstring_release void 1 153 -store __and_150_1302 154 -brif 154 L1302 L1303 -label L1302 -load 156 ainfo -field 157 156 8 string name -call 158 checker_extract_base_type_name string 1 157 -load 159 val_node -call 160 checker_generic_enum_construction_base string 1 159 -call 161 pith_cstring_eq bool 2 158 160 -call 162 pith_cstring_release void 1 158 +jmp L1254 +label L1256 +load 138 gbase +load 139 val_node +call 140 checker_generic_enum_construction_base string 1 139 +call 141 pith_cstring_release void 1 138 +store gbase 140 +load 142 gbase +strref 143 m18s36 +call 145 pith_cstring_eq bool 2 142 143 +iconst 146 1 +sub 144 146 145 +call 147 pith_cstring_release void 1 143 +brif 144 L1262 L1263 +label L1262 +load 148 ainfo +load 149 annotated +call 150 types_get_type_info struct:TypeInfo 1 149 +call 151 pith_struct_release void 1 148 +store ainfo 150 +iconst 152 0 +store __and_152_1267 152 +load 153 ainfo +field 154 153 0 string kind +strref 155 m18s34 +call 156 pith_cstring_eq bool 2 154 155 +call 157 pith_cstring_release void 1 155 +store __and_152_1267 156 +brif 156 L1267 L1268 +label L1267 +load 158 ainfo +field 159 158 8 string name +call 160 checker_extract_base_type_name string 1 159 +load 161 gbase +call 162 pith_cstring_eq bool 2 160 161 call 163 pith_cstring_release void 1 160 -store __and_150_1302 161 -label L1303 -load 164 __and_150_1302 -brif 164 L1300 L1301 -label L1300 +store __and_152_1267 162 +label L1268 +load 164 __and_152_1267 +brif 164 L1265 L1266 +label L1265 load 165 checker_expression_type_cache load 166 node field 167 166 16 list children @@ -50807,15 +50563,16 @@ load 170 annotated call 171 map_insert_ikey void 3 165 169 170 load 172 annotated store val_type 172 -jmp L1299 -label L1301 -label L1299 -jmp L1290 -label L1298 -label L1290 -jmp L1287 -label L1289 -label L1287 +jmp L1264 +label L1266 +label L1264 +jmp L1261 +label L1263 +label L1261 +label L1254 +jmp L1251 +label L1253 +label L1251 load 173 node field 174 173 16 list children iconst 175 1 @@ -50823,8 +50580,8 @@ call 176 pith_list_get_value_strict int 2 174 175 load 177 val_type load 178 annotated call 179 checker_value_matches_optional_target bool 3 176 177 178 -brif 179 L1305 L1306 -label L1305 +brif 179 L1270 L1271 +label L1270 load 180 scope_id load 181 name load 182 annotated @@ -50837,30 +50594,30 @@ load 188 name call 189 pith_cstring_release void 1 188 load 190 val_node call 191 pith_struct_release void 1 190 -load 192 ainfo -call 193 pith_struct_release void 1 192 -load 194 gbase -call 195 pith_cstring_release void 1 194 +load 192 gbase +call 193 pith_cstring_release void 1 192 +load 194 ainfo +call 195 pith_struct_release void 1 194 iconst 196 0 ret 196 -label L1306 -label L1304 +label L1271 +label L1269 load 197 val_type call 198 types_is_error_type bool 1 197 iconst 199 0 eq 200 198 199 -brif 200 L1308 L1309 -label L1308 +brif 200 L1273 L1274 +label L1273 load 201 annotated load 202 val_type neq 203 201 202 -brif 203 L1311 L1312 -label L1311 +brif 203 L1276 L1277 +label L1276 load 204 annotated load 205 val_type call 206 checker_types_structurally_equal bool 2 204 205 -brif 206 L1314 L1315 -label L1314 +brif 206 L1279 L1280 +label L1279 load 207 scope_id load 208 name load 209 annotated @@ -50873,14 +50630,14 @@ load 215 name call 216 pith_cstring_release void 1 215 load 217 val_node call 218 pith_struct_release void 1 217 -load 219 ainfo -call 220 pith_struct_release void 1 219 -load 221 gbase -call 222 pith_cstring_release void 1 221 +load 219 gbase +call 220 pith_cstring_release void 1 219 +load 221 ainfo +call 222 pith_struct_release void 1 221 iconst 223 0 ret 223 -label L1315 -label L1313 +label L1280 +label L1278 load 224 node field 225 224 16 list children iconst 226 1 @@ -50890,8 +50647,8 @@ load 229 scope_id call 230 checker_collection_literal_matches_target bool 3 227 228 229 iconst 231 0 eq 232 230 231 -brif 232 L1317 L1318 -label L1317 +brif 232 L1282 L1283 +label L1282 load 233 node field 234 233 16 list children iconst 235 1 @@ -50915,33 +50672,33 @@ call 252 pith_cstring_release void 1 249 call 253 checker_diagnostics_report_error_at void 3 236 237 250 call 254 pith_cstring_release void 1 237 call 255 pith_cstring_release void 1 250 -jmp L1316 -label L1318 -label L1316 -jmp L1310 -label L1312 -label L1310 -jmp L1307 -label L1309 -label L1307 -jmp L1284 -label L1286 -label L1284 +jmp L1281 +label L1283 +label L1281 +jmp L1275 +label L1277 +label L1275 +jmp L1272 +label L1274 +label L1272 +jmp L1248 +label L1250 +label L1248 load 256 scope_id load 257 name load 258 annotated load 259 is_mut load 260 node_idx call 261 scope_define_binding_at void 5 256 257 258 259 260 -jmp L1281 -label L1283 +jmp L1245 +label L1247 load 262 node field 263 262 16 list children call 264 pith_list_len int 1 263 iconst 265 1 eq 266 264 265 -brif 266 L1319 L1320 -label L1319 +brif 266 L1284 L1285 +label L1284 load 267 node field 268 267 16 list children iconst 269 0 @@ -50957,8 +50714,8 @@ load 277 node_idx call 278 scope_define_binding_at void 5 273 274 275 276 277 load 279 val_type call 280 types_is_error_type bool 1 279 -brif 280 L1322 L1323 -label L1322 +brif 280 L1287 L1288 +label L1287 load 281 val_node load 282 node field 283 282 16 list children @@ -50972,41 +50729,41 @@ field 289 288 16 list children call 290 pith_list_len int 1 289 iconst 291 0 eq 292 290 291 -brif 292 L1325 L1326 -label L1325 +brif 292 L1290 L1291 +label L1290 iconst 293 0 -store __or_293_1330 293 +store __or_293_1295 293 iconst 294 0 -store __or_294_1330 294 +store __or_294_1295 294 load 295 val_node field 296 295 0 string kind strref 297 m18s23 call 298 pith_cstring_eq bool 2 296 297 call 299 pith_cstring_release void 1 297 -store __or_294_1330 298 -brif 298 L1331 L1330 -label L1330 +store __or_294_1295 298 +brif 298 L1296 L1295 +label L1295 load 300 val_node field 301 300 0 string kind strref 302 m18s21 call 303 pith_cstring_eq bool 2 301 302 call 304 pith_cstring_release void 1 302 -store __or_294_1330 303 -label L1331 -load 305 __or_294_1330 -store __or_293_1330 305 -brif 305 L1333 L1332 -label L1332 +store __or_294_1295 303 +label L1296 +load 305 __or_294_1295 +store __or_293_1295 305 +brif 305 L1298 L1297 +label L1297 load 306 val_node field 307 306 0 string kind strref 308 m18s19 call 309 pith_cstring_eq bool 2 307 308 call 310 pith_cstring_release void 1 308 -store __or_293_1330 309 -label L1333 -load 311 __or_293_1330 -brif 311 L1328 L1329 -label L1328 +store __or_293_1295 309 +label L1298 +load 311 __or_293_1295 +brif 311 L1293 L1294 +label L1293 load 312 checker_open_empty_literal_bindings load 313 scope_id load 314 name @@ -51016,12 +50773,12 @@ field 317 316 16 list children iconst 318 0 call 319 pith_list_get_value_strict int 2 317 318 call 320 map_insert_ikey void 3 312 315 319 -jmp L1327 -label L1329 -label L1327 -jmp L1324 -label L1326 -label L1324 +jmp L1292 +label L1294 +label L1292 +jmp L1289 +label L1291 +label L1289 load 321 gbase load 322 val_node call 323 checker_generic_enum_construction_base string 1 322 @@ -51033,8 +50790,8 @@ call 328 pith_cstring_eq bool 2 325 326 iconst 329 1 sub 327 329 328 call 330 pith_cstring_release void 1 326 -brif 327 L1335 L1336 -label L1335 +brif 327 L1300 L1301 +label L1300 load 331 node field 332 331 16 list children iconst 333 0 @@ -51051,25 +50808,25 @@ call 343 pith_cstring_release void 1 340 call 344 checker_diagnostics_report_error_at void 3 334 335 341 call 345 pith_cstring_release void 1 335 call 346 pith_cstring_release void 1 341 -jmp L1334 -label L1336 -label L1334 -jmp L1321 -label L1323 -label L1321 -jmp L1281 -label L1320 -label L1281 +jmp L1299 +label L1301 +label L1299 +jmp L1286 +label L1288 +label L1286 +jmp L1245 +label L1285 +label L1245 load 347 node call 348 pith_struct_release void 1 347 load 349 name call 350 pith_cstring_release void 1 349 load 351 val_node call 352 pith_struct_release void 1 351 -load 353 ainfo -call 354 pith_struct_release void 1 353 -load 355 gbase -call 356 pith_cstring_release void 1 355 +load 353 gbase +call 354 pith_cstring_release void 1 353 +load 355 ainfo +call 356 pith_struct_release void 1 355 iconst 357 0 ret 357 endfunc @@ -51089,24 +50846,24 @@ field 9 8 8 string value strref 10 m18s309 call 11 pith_cstring_contains bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L1338 L1339 -label L1338 +brif 11 L1303 L1304 +label L1303 load 13 node_idx strref 14 m18s807 strref 15 m18s809 call 16 checker_diagnostics_report_error_at void 3 13 14 15 call 17 pith_cstring_release void 1 14 call 18 pith_cstring_release void 1 15 -jmp L1337 -label L1339 -label L1337 +jmp L1302 +label L1304 +label L1302 load 19 node field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 2 eq 23 21 22 -brif 23 L1341 L1342 -label L1341 +brif 23 L1306 L1307 +label L1306 load 24 node field 25 24 16 list children iconst 26 0 @@ -51116,9 +50873,9 @@ strref 29 m18s808 call 30 checker_diagnostics_report_error_at void 3 27 28 29 call 31 pith_cstring_release void 1 28 call 32 pith_cstring_release void 1 29 -jmp L1340 -label L1342 -label L1340 +jmp L1305 +label L1307 +label L1305 load 33 node field 34 33 16 list children load 35 node @@ -51134,8 +50891,8 @@ call 43 checker_c_check_expr int 2 41 42 store val_type 43 load 44 val_type call 45 types_is_error_type bool 1 44 -brif 45 L1344 L1345 -label L1344 +brif 45 L1309 L1310 +label L1309 load 46 scope_id load 47 name load 48 val_type @@ -51146,8 +50903,8 @@ load 52 node call 53 pith_struct_release void 1 52 iconst 54 0 ret 54 -label L1345 -label L1343 +label L1310 +label L1308 load 55 val_type call 56 types_get_type_info struct:TypeInfo 1 55 field 57 56 0 string kind @@ -51156,8 +50913,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 L1347 L1348 -label L1347 +brif 59 L1312 L1313 +label L1312 load 63 val_idx strref 64 m18s807 strref 65 m18s806 @@ -51179,8 +50936,8 @@ load 80 node call 81 pith_struct_release void 1 80 iconst 82 0 ret 82 -label L1348 -label L1346 +label L1313 +label L1311 load 83 scope_id load 84 name load 85 val_type @@ -51207,16 +50964,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 2 lt 8 6 7 -brif 8 L1350 L1351 -label L1350 +brif 8 L1315 L1316 +label L1315 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 L1351 -label L1349 +label L1316 +label L1314 load 14 node field 15 14 16 list children iconst 16 0 @@ -51237,16 +50994,16 @@ field 27 26 0 string kind strref 28 m18s319 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L1353 L1354 -label L1353 +brif 29 L1318 L1319 +label L1318 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 L1356 L1357 -label L1356 +brif 36 L1321 L1322 +label L1321 strref 37 m18s805 strref 38 m18s804 load 39 target_node @@ -51272,11 +51029,11 @@ load 58 op call 59 pith_cstring_release void 1 58 iconst 60 0 ret 60 -label L1357 -label L1355 -jmp L1352 -label L1354 -label L1352 +label L1322 +label L1320 +jmp L1317 +label L1319 +label L1317 load 61 target_idx load 62 scope_id call 63 checker_c_check_expr int 2 61 62 @@ -51287,56 +51044,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 L1359 L1360 -label L1359 +brif 68 L1324 L1325 +label L1324 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 L1360 -label L1358 +label L1325 +label L1323 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 L1362 L1363 -label L1362 +brif 77 L1327 L1328 +label L1327 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 L1363 -label L1361 +label L1328 +label L1326 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 L1365 L1366 -label L1365 +brif 86 L1330 L1331 +label L1330 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 L1366 -label L1364 +label L1331 +label L1329 load 92 val_type call 93 types_is_error_type bool 1 92 -brif 93 L1368 L1369 -label L1368 +brif 93 L1333 L1334 +label L1333 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 L1369 -label L1367 +label L1334 +label L1332 load 99 op load 100 node field 101 100 8 string value @@ -51347,20 +51104,20 @@ load 104 op strref 105 m18s802 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -brif 106 L1371 L1372 -label L1371 +brif 106 L1336 L1337 +label L1336 load 108 target_type load 109 val_type neq 110 108 109 -brif 110 L1374 L1375 -label L1374 +brif 110 L1339 L1340 +label L1339 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 L1377 L1378 -label L1377 +brif 115 L1342 L1343 +label L1342 load 116 value_idx strref 117 m18s402 strref 118 m18s799 @@ -51381,20 +51138,20 @@ call 132 pith_cstring_release void 1 129 call 133 checker_diagnostics_report_error_at void 3 116 117 130 call 134 pith_cstring_release void 1 117 call 135 pith_cstring_release void 1 130 -jmp L1376 -label L1378 -label L1376 -jmp L1373 -label L1375 -label L1373 -jmp L1370 -label L1372 +jmp L1341 +label L1343 +label L1341 +jmp L1338 +label L1340 +label L1338 +jmp L1335 +label L1337 load 136 target_type call 137 types_is_numeric_type bool 1 136 iconst 138 0 eq 139 137 138 -brif 139 L1380 L1381 -label L1380 +brif 139 L1345 L1346 +label L1345 strref 140 m18s447 strref 141 m18s801 load 142 op @@ -51412,13 +51169,13 @@ call 153 pith_cstring_release void 1 150 call 154 checker_diagnostics_report_error void 2 140 151 call 155 pith_cstring_release void 1 140 call 156 pith_cstring_release void 1 151 -jmp L1379 -label L1381 +jmp L1344 +label L1346 load 157 target_type load 158 val_type neq 159 157 158 -brif 159 L1382 L1383 -label L1382 +brif 159 L1347 L1348 +label L1347 load 160 value_idx strref 161 m18s402 strref 162 m18s799 @@ -51439,10 +51196,10 @@ call 176 pith_cstring_release void 1 173 call 177 checker_diagnostics_report_error_at void 3 160 161 174 call 178 pith_cstring_release void 1 161 call 179 pith_cstring_release void 1 174 -jmp L1379 -label L1383 -label L1379 -label L1370 +jmp L1344 +label L1348 +label L1344 +label L1335 load 180 target_node call 181 pith_struct_release void 1 180 load 182 op @@ -51463,33 +51220,33 @@ store expected 5 load 6 expected load 7 checker_TID_LAMBDA_INFER eq 8 6 7 -brif 8 L1385 L1386 -label L1385 +brif 8 L1350 L1351 +label L1350 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 L1388 L1389 -label L1388 +brif 13 L1353 L1354 +label L1353 load 14 checker_lambda_inferred_return iconst 15 0 lt 16 14 15 -brif 16 L1391 L1392 -label L1391 +brif 16 L1356 L1357 +label L1356 load 17 types_TID_VOID store checker_lambda_inferred_return 17 -jmp L1390 -label L1392 -label L1390 +jmp L1355 +label L1357 +label L1355 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 L1389 -label L1387 +label L1354 +label L1352 load 23 node field 24 23 16 list children iconst 25 0 @@ -51500,36 +51257,36 @@ store first 28 load 29 checker_lambda_inferred_return iconst 30 0 lt 31 29 30 -brif 31 L1394 L1395 -label L1394 +brif 31 L1359 L1360 +label L1359 load 32 first store checker_lambda_inferred_return 32 -jmp L1393 -label L1395 +jmp L1358 +label L1360 iconst 33 0 -store __and_33_1398 33 +store __and_33_1363 33 load 34 first call 35 types_is_error_type bool 1 34 iconst 36 0 eq 37 35 36 -store __and_33_1398 37 -brif 37 L1398 L1399 -label L1398 +store __and_33_1363 37 +brif 37 L1363 L1364 +label L1363 load 38 first load 39 checker_lambda_inferred_return neq 40 38 39 -store __and_33_1398 40 -label L1399 -load 41 __and_33_1398 -brif 41 L1396 L1397 -label L1396 +store __and_33_1363 40 +label L1364 +load 41 __and_33_1363 +brif 41 L1361 L1362 +label L1361 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 L1401 L1402 -label L1401 +brif 46 L1366 L1367 +label L1366 strref 47 m18s402 strref 48 m18s798 load 49 checker_lambda_inferred_return @@ -51549,25 +51306,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 L1400 -label L1402 -label L1400 -jmp L1393 -label L1397 -label L1393 +jmp L1365 +label L1367 +label L1365 +jmp L1358 +label L1362 +label L1358 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 L1386 -label L1384 +label L1351 +label L1349 load 71 expected iconst 72 0 lt 73 71 72 -brif 73 L1404 L1405 -label L1404 +brif 73 L1369 L1370 +label L1369 strref 74 m18s791 strref 75 m18s797 call 76 checker_diagnostics_report_error void 2 74 75 @@ -51579,20 +51336,20 @@ load 81 exp_info call 82 pith_struct_release void 1 81 iconst 83 0 ret 83 -label L1405 -label L1403 +label L1370 +label L1368 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 L1407 L1408 -label L1407 +brif 88 L1372 L1373 +label L1372 load 89 expected load 90 types_TID_VOID neq 91 89 90 -brif 91 L1410 L1411 -label L1410 +brif 91 L1375 L1376 +label L1375 strref 92 m18s402 strref 93 m18s793 load 94 expected @@ -51607,17 +51364,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 L1409 -label L1411 -label L1409 +jmp L1374 +label L1376 +label L1374 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 L1408 -label L1406 +label L1373 +label L1371 load 111 node field 112 111 16 list children iconst 113 0 @@ -51639,88 +51396,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_1415 128 +store __or_128_1380 128 iconst 129 0 -store __or_129_1415 129 +store __or_129_1380 129 load 130 actual_node field 131 130 0 string kind strref 132 m18s23 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_129_1415 133 -brif 133 L1416 L1415 -label L1415 +store __or_129_1380 133 +brif 133 L1381 L1380 +label L1380 load 135 actual_node field 136 135 0 string kind strref 137 m18s21 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 -store __or_129_1415 138 -label L1416 -load 140 __or_129_1415 -store __or_128_1415 140 -brif 140 L1418 L1417 -label L1417 +store __or_129_1380 138 +label L1381 +load 140 __or_129_1380 +store __or_128_1380 140 +brif 140 L1383 L1382 +label L1382 load 141 actual_node field 142 141 0 string kind strref 143 m18s19 call 144 pith_cstring_eq bool 2 142 143 call 145 pith_cstring_release void 1 143 -store __or_128_1415 144 -label L1418 -load 146 __or_128_1415 -brif 146 L1413 L1414 -label L1413 +store __or_128_1380 144 +label L1383 +load 146 __or_128_1380 +brif 146 L1378 L1379 +label L1378 iconst 147 0 -store __and_147_1422 147 +store __and_147_1387 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_1422 152 -brif 152 L1422 L1423 -label L1422 +store __and_147_1387 152 +brif 152 L1387 L1388 +label L1387 load 153 actual call 154 types_is_error_type bool 1 153 -store __and_147_1422 154 -label L1423 -load 155 __and_147_1422 -brif 155 L1420 L1421 -label L1420 +store __and_147_1387 154 +label L1388 +load 155 __and_147_1387 +brif 155 L1385 L1386 +label L1385 iconst 156 0 -store __or_156_1427 156 +store __or_156_1392 156 iconst 157 0 -store __or_157_1427 157 +store __or_157_1392 157 load 158 exp_info field 159 158 0 string kind strref 160 m18s23 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -store __or_157_1427 161 -brif 161 L1428 L1427 -label L1427 +store __or_157_1392 161 +brif 161 L1393 L1392 +label L1392 load 163 exp_info field 164 163 0 string kind strref 165 m18s21 call 166 pith_cstring_eq bool 2 164 165 call 167 pith_cstring_release void 1 165 -store __or_157_1427 166 -label L1428 -load 168 __or_157_1427 -store __or_156_1427 168 -brif 168 L1430 L1429 -label L1429 +store __or_157_1392 166 +label L1393 +load 168 __or_157_1392 +store __or_156_1392 168 +brif 168 L1395 L1394 +label L1394 load 169 exp_info field 170 169 0 string kind strref 171 m18s19 call 172 pith_cstring_eq bool 2 170 171 call 173 pith_cstring_release void 1 171 -store __or_156_1427 172 -label L1430 -load 174 __or_156_1427 -brif 174 L1425 L1426 -label L1425 +store __or_156_1392 172 +label L1395 +load 174 __or_156_1392 +brif 174 L1390 L1391 +label L1390 load 175 checker_expression_type_cache load 176 node field 177 176 16 list children @@ -51734,157 +51491,157 @@ load 184 exp_info call 185 pith_struct_release void 1 184 iconst 186 0 ret 186 -label L1426 -label L1424 -jmp L1419 -label L1421 -label L1419 -jmp L1412 -label L1414 -label L1412 +label L1391 +label L1389 +jmp L1384 +label L1386 +label L1384 +jmp L1377 +label L1379 +label L1377 load 187 actual_node field 188 187 0 string kind strref 189 m18s745 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -brif 190 L1432 L1433 -label L1432 +brif 190 L1397 L1398 +label L1397 load 192 exp_info field 193 192 0 string kind strref 194 m18s30 call 195 pith_cstring_eq bool 2 193 194 call 196 pith_cstring_release void 1 194 -brif 195 L1435 L1436 -label L1435 +brif 195 L1400 L1401 +label L1400 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 L1436 -label L1434 -jmp L1431 -label L1433 -label L1431 +label L1401 +label L1399 +jmp L1396 +label L1398 +label L1396 load 202 actual call 203 types_is_error_type bool 1 202 -brif 203 L1438 L1439 -label L1438 +brif 203 L1403 L1404 +label L1403 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 L1439 -label L1437 +label L1404 +label L1402 load 209 actual load 210 expected eq 211 209 210 -brif 211 L1441 L1442 -label L1441 +brif 211 L1406 L1407 +label L1406 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 L1442 -label L1440 +label L1407 +label L1405 load 217 exp_info field 218 217 0 string kind strref 219 m18s29 call 220 pith_cstring_eq bool 2 218 219 call 221 pith_cstring_release void 1 219 -brif 220 L1444 L1445 -label L1444 +brif 220 L1409 L1410 +label L1409 load 222 actual load 223 exp_info field 224 223 64 int inner eq 225 222 224 -brif 225 L1447 L1448 -label L1447 +brif 225 L1412 L1413 +label L1412 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 L1448 -label L1446 +label L1413 +label L1411 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 L1450 L1451 -label L1450 +brif 234 L1415 L1416 +label L1415 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 L1451 -label L1449 -jmp L1443 -label L1445 -label L1443 +label L1416 +label L1414 +jmp L1408 +label L1410 +label L1408 load 240 exp_info field 241 240 0 string kind strref 242 m18s30 call 243 pith_cstring_eq bool 2 241 242 call 244 pith_cstring_release void 1 242 -brif 243 L1453 L1454 -label L1453 +brif 243 L1418 L1419 +label L1418 load 245 actual load 246 exp_info field 247 246 64 int inner eq 248 245 247 -brif 248 L1456 L1457 -label L1456 +brif 248 L1421 L1422 +label L1421 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 L1457 -label L1455 +label L1422 +label L1420 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 L1459 L1460 -label L1459 +brif 257 L1424 L1425 +label L1424 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 L1460 -label L1458 -jmp L1452 -label L1454 -label L1452 +label L1425 +label L1423 +jmp L1417 +label L1419 +label L1417 load 263 actual load 264 expected call 265 checker_types_structurally_equal bool 2 263 264 -brif 265 L1462 L1463 -label L1462 +brif 265 L1427 L1428 +label L1427 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 L1463 -label L1461 +label L1428 +label L1426 load 271 actual call 272 types_is_none_type bool 1 271 -brif 272 L1465 L1466 -label L1465 +brif 272 L1430 L1431 +label L1430 load 273 node field 274 273 16 list children iconst 275 0 @@ -51920,8 +51677,8 @@ load 304 exp_info call 305 pith_struct_release void 1 304 iconst 306 0 ret 306 -label L1466 -label L1464 +label L1431 +label L1429 load 307 node field 308 307 16 list children iconst 309 0 @@ -51970,8 +51727,8 @@ store ret_type 4 load 5 ret_type iconst 6 0 lt 7 5 6 -brif 7 L1468 L1469 -label L1468 +brif 7 L1433 L1434 +label L1433 strref 8 m18s791 strref 9 m18s790 call 10 checker_diagnostics_report_error void 2 8 9 @@ -51981,8 +51738,8 @@ load 13 ret_info call 14 pith_struct_release void 1 13 iconst 15 0 ret 15 -label L1469 -label L1467 +label L1434 +label L1432 load 16 ret_info load 17 ret_type call 18 types_get_type_info struct:TypeInfo 1 17 @@ -51995,8 +51752,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 L1471 L1472 -label L1471 +brif 23 L1436 L1437 +label L1436 strref 27 m18s789 strref 28 m18s788 call 29 checker_diagnostics_report_error void 2 27 28 @@ -52006,21 +51763,21 @@ load 32 ret_info call 33 pith_struct_release void 1 32 iconst 34 0 ret 34 -label L1472 -label L1470 +label L1437 +label L1435 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 L1474 L1475 -label L1474 +brif 39 L1439 L1440 +label L1439 load 40 ret_info call 41 pith_struct_release void 1 40 iconst 42 0 ret 42 -label L1475 -label L1473 +label L1440 +label L1438 load 43 node field 44 43 16 list children iconst 45 0 @@ -52030,22 +51787,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 L1477 L1478 -label L1477 +brif 50 L1442 L1443 +label L1442 load 51 ret_info call 52 pith_struct_release void 1 51 iconst 53 0 ret 53 -label L1478 -label L1476 +label L1443 +label L1441 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 L1480 L1481 -label L1480 +brif 59 L1445 L1446 +label L1445 strref 60 m18s330 strref 61 m18s787 load 62 ret_info @@ -52066,9 +51823,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 L1479 -label L1481 -label L1479 +jmp L1444 +label L1446 +label L1444 load 80 ret_info call 81 pith_struct_release void 1 80 iconst 82 0 @@ -52092,8 +51849,8 @@ field 8 7 16 list children call 9 pith_list_len int 1 8 iconst 10 2 lt 11 9 10 -brif 11 L1483 L1484 -label L1483 +brif 11 L1448 L1449 +label L1448 load 12 then_node call 13 pith_struct_release void 1 12 load 14 block @@ -52106,8 +51863,8 @@ load 20 eblock call 21 pith_struct_release void 1 20 iconst 22 0 ret 22 -label L1484 -label L1482 +label L1449 +label L1447 strref 23 m18s13 call 24 types_lookup_type_id int 1 23 call 25 pith_cstring_release void 1 23 @@ -52123,13 +51880,13 @@ load 32 cond_type call 33 types_is_error_type bool 1 32 iconst 34 0 eq 35 33 34 -brif 35 L1486 L1487 -label L1486 +brif 35 L1451 L1452 +label L1451 load 36 cond_type load 37 tid_bool neq 38 36 37 -brif 38 L1489 L1490 -label L1489 +brif 38 L1454 L1455 +label L1454 strref 39 m18s402 strref 40 m18s401 load 41 cond_type @@ -52140,12 +51897,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 L1488 -label L1490 -label L1488 -jmp L1485 -label L1487 -label L1485 +jmp L1453 +label L1455 +label L1453 +jmp L1450 +label L1452 +label L1450 load 49 then_node load 50 node field 51 50 16 list children @@ -52159,8 +51916,8 @@ field 57 56 0 string kind strref 58 m18s785 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -brif 59 L1492 L1493 -label L1492 +brif 59 L1457 L1458 +label L1457 load 61 scope_id call 62 scope_create_scope int 1 61 store then_scope 62 @@ -52169,8 +51926,8 @@ field 64 63 16 list children call 65 pith_list_len int 1 64 iconst 66 0 gt 67 65 66 -brif 67 L1495 L1496 -label L1495 +brif 67 L1460 L1461 +label L1460 load 68 block load 69 then_node field 70 69 16 list children @@ -52184,53 +51941,53 @@ field 76 75 0 string kind strref 77 m18s346 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 -brif 78 L1498 L1499 -label L1498 +brif 78 L1463 L1464 +label L1463 load 80 block load 81 then_scope call 82 checker_check_block_statement void 2 80 81 -jmp L1497 -label L1499 -label L1497 -jmp L1494 -label L1496 -label L1494 -jmp L1491 -label L1493 -label L1491 +jmp L1462 +label L1464 +label L1462 +jmp L1459 +label L1461 +label L1459 +jmp L1456 +label L1458 +label L1456 iconst 83 2 store skip_if 83 load 84 node field 85 84 16 list children call 86 pith_auto_len int 1 85 iconst 87 0 -store __for_idx_141 87 -store __for_len_141 86 -store __for_iter_141 85 -label L1500 -load 88 __for_idx_141 -load 89 __for_len_141 +store __for_idx_140 87 +store __for_len_140 86 +store __for_iter_140 85 +label L1465 +load 88 __for_idx_140 +load 89 __for_len_140 lt 90 88 89 -brif 90 L1501 L1503 -label L1501 -load 91 __for_iter_141 -load 92 __for_idx_141 +brif 90 L1466 L1468 +label L1466 +load 91 __for_iter_140 +load 92 __for_idx_140 call 93 pith_list_get_value unknown 2 91 92 -store __loopvar_141_child 93 +store __loopvar_140_child 93 load 94 skip_if iconst 95 0 gt 96 94 95 -brif 96 L1505 L1506 -label L1505 +brif 96 L1470 L1471 +label L1470 load 97 skip_if iconst 98 1 sub 99 97 98 store skip_if 99 -jmp L1502 -label L1506 -label L1504 +jmp L1467 +label L1471 +label L1469 load 100 cn -load 101 __loopvar_141_child +load 101 __loopvar_140_child call 102 ast_get_node struct:Node 1 101 call 103 pith_struct_release void 1 100 store cn 102 @@ -52239,8 +51996,8 @@ field 105 104 0 string kind strref 106 m18s786 call 107 pith_cstring_eq bool 2 105 106 call 108 pith_cstring_release void 1 106 -brif 107 L1508 L1509 -label L1508 +brif 107 L1473 L1474 +label L1473 load 109 scope_id call 110 scope_create_scope int 1 109 store elif_scope 110 @@ -52249,8 +52006,8 @@ field 112 111 16 list children call 113 pith_list_len int 1 112 iconst 114 0 gt 115 113 114 -brif 115 L1511 L1512 -label L1511 +brif 115 L1476 L1477 +label L1476 load 116 cn field 117 116 16 list children iconst 118 0 @@ -52262,13 +52019,13 @@ load 122 econd call 123 types_is_error_type bool 1 122 iconst 124 0 eq 125 123 124 -brif 125 L1514 L1515 -label L1514 +brif 125 L1479 L1480 +label L1479 load 126 econd load 127 tid_bool neq 128 126 127 -brif 128 L1517 L1518 -label L1517 +brif 128 L1482 L1483 +label L1482 strref 129 m18s402 strref 130 m18s401 load 131 econd @@ -52279,22 +52036,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 L1516 -label L1518 -label L1516 -jmp L1513 -label L1515 -label L1513 -jmp L1510 -label L1512 -label L1510 +jmp L1481 +label L1483 +label L1481 +jmp L1478 +label L1480 +label L1478 +jmp L1475 +label L1477 +label L1475 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 L1520 L1521 -label L1520 +brif 143 L1485 L1486 +label L1485 load 144 ebody load 145 cn field 146 145 16 list children @@ -52308,27 +52065,27 @@ field 152 151 0 string kind strref 153 m18s346 call 154 pith_cstring_eq bool 2 152 153 call 155 pith_cstring_release void 1 153 -brif 154 L1523 L1524 -label L1523 +brif 154 L1488 L1489 +label L1488 load 156 ebody load 157 elif_scope call 158 checker_check_block_statement void 2 156 157 -jmp L1522 -label L1524 +jmp L1487 +label L1489 load 159 ebody field 160 159 0 string kind strref 161 m18s785 call 162 pith_cstring_eq bool 2 160 161 call 163 pith_cstring_release void 1 161 -brif 162 L1525 L1526 -label L1525 +brif 162 L1490 L1491 +label L1490 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 L1528 L1529 -label L1528 +brif 168 L1493 L1494 +label L1493 load 169 eblock load 170 ebody field 171 170 16 list children @@ -52342,32 +52099,32 @@ field 177 176 0 string kind strref 178 m18s346 call 179 pith_cstring_eq bool 2 177 178 call 180 pith_cstring_release void 1 178 -brif 179 L1531 L1532 -label L1531 +brif 179 L1496 L1497 +label L1496 load 181 eblock load 182 elif_scope call 183 checker_check_block_statement void 2 181 182 -jmp L1530 -label L1532 -label L1530 -jmp L1527 -label L1529 -label L1527 -jmp L1522 -label L1526 -label L1522 -jmp L1519 -label L1521 -label L1519 -jmp L1507 -label L1509 +jmp L1495 +label L1497 +label L1495 +jmp L1492 +label L1494 +label L1492 +jmp L1487 +label L1491 +label L1487 +jmp L1484 +label L1486 +label L1484 +jmp L1472 +label L1474 load 184 cn field 185 184 0 string kind strref 186 m18s784 call 187 pith_cstring_eq bool 2 185 186 call 188 pith_cstring_release void 1 186 -brif 187 L1533 L1534 -label L1533 +brif 187 L1498 L1499 +label L1498 load 189 scope_id call 190 scope_create_scope int 1 189 store else_scope 190 @@ -52376,8 +52133,8 @@ field 192 191 16 list children call 193 pith_list_len int 1 192 iconst 194 0 gt 195 193 194 -brif 195 L1536 L1537 -label L1536 +brif 195 L1501 L1502 +label L1501 load 196 eblock load 197 cn field 198 197 16 list children @@ -52391,27 +52148,27 @@ field 204 203 0 string kind strref 205 m18s346 call 206 pith_cstring_eq bool 2 204 205 call 207 pith_cstring_release void 1 205 -brif 206 L1539 L1540 -label L1539 +brif 206 L1504 L1505 +label L1504 load 208 eblock load 209 else_scope call 210 checker_check_block_statement void 2 208 209 -jmp L1538 -label L1540 -label L1538 -jmp L1535 -label L1537 -label L1535 -jmp L1507 -label L1534 -label L1507 +jmp L1503 +label L1505 +label L1503 +jmp L1500 label L1502 -load 211 __for_idx_141 +label L1500 +jmp L1472 +label L1499 +label L1472 +label L1467 +load 211 __for_idx_140 iconst 212 1 add 213 211 212 -store __for_idx_141 213 -jmp L1500 -label L1503 +store __for_idx_140 213 +jmp L1465 +label L1468 load 214 then_node call 215 pith_struct_release void 1 214 load 216 block @@ -52435,14 +52192,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L1542 L1543 -label L1542 +brif 7 L1507 L1508 +label L1507 load 8 body_node call 9 pith_struct_release void 1 8 iconst 10 0 ret 10 -label L1543 -label L1541 +label L1508 +label L1506 strref 11 m18s13 call 12 types_lookup_type_id int 1 11 call 13 pith_cstring_release void 1 11 @@ -52458,13 +52215,13 @@ load 20 cond_type call 21 types_is_error_type bool 1 20 iconst 22 0 eq 23 21 22 -brif 23 L1545 L1546 -label L1545 +brif 23 L1510 L1511 +label L1510 load 24 cond_type load 25 tid_bool neq 26 24 25 -brif 26 L1548 L1549 -label L1548 +brif 26 L1513 L1514 +label L1513 strref 27 m18s402 strref 28 m18s401 load 29 cond_type @@ -52475,12 +52232,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 L1547 -label L1549 -label L1547 -jmp L1544 -label L1546 -label L1544 +jmp L1512 +label L1514 +label L1512 +jmp L1509 +label L1511 +label L1509 load 37 scope_id call 38 scope_create_loop_scope int 1 37 store loop_scope 38 @@ -52497,29 +52254,29 @@ field 47 46 0 string kind strref 48 m18s347 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L1551 L1552 -label L1551 +brif 49 L1516 L1517 +label L1516 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 L1550 -label L1552 +jmp L1515 +label L1517 load 57 body_node field 58 57 0 string kind strref 59 m18s346 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L1553 L1554 -label L1553 +brif 60 L1518 L1519 +label L1518 load 62 body_node load 63 loop_scope call 64 checker_check_block_statement void 2 62 63 -jmp L1550 -label L1554 -label L1550 +jmp L1515 +label L1519 +label L1515 load 65 body_node call 66 pith_struct_release void 1 65 iconst 67 0 @@ -52541,16 +52298,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 L1556 L1557 -label L1556 +brif 11 L1521 L1522 +label L1521 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 L1557 -label L1555 +label L1522 +label L1520 load 17 pat load 18 pat_idx call 19 ast_get_node struct:Node 1 18 @@ -52561,8 +52318,8 @@ field 22 21 0 string kind strref 23 m18s369 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L1559 L1560 -label L1559 +brif 24 L1524 L1525 +label L1524 load 26 pat_idx load 27 subj_type load 28 branch_scope @@ -52573,15 +52330,15 @@ load 32 info call 33 pith_struct_release void 1 32 iconst 34 0 ret 34 -label L1560 -label L1558 +label L1525 +label L1523 load 35 pat field 36 35 0 string kind strref 37 m18s365 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L1562 L1563 -label L1562 +brif 38 L1527 L1528 +label L1527 load 40 pat field 41 40 8 string value load 42 pat_idx @@ -52596,8 +52353,8 @@ field 49 48 0 string kind strref 50 m18s30 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L1565 L1566 -label L1565 +brif 51 L1530 L1531 +label L1530 load 53 branch_scope load 54 pat field 55 54 8 string value @@ -52612,8 +52369,8 @@ load 63 info call 64 pith_struct_release void 1 63 iconst 65 0 ret 65 -label L1566 -label L1564 +label L1531 +label L1529 strref 66 m18s782 load 67 form strref 68 m18s783 @@ -52633,8 +52390,8 @@ load 81 info call 82 pith_struct_release void 1 81 iconst 83 0 ret 83 -label L1563 -label L1561 +label L1528 +label L1526 strref 84 m18s782 load 85 form strref 86 m18s781 @@ -52662,16 +52419,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L1568 L1569 -label L1568 +brif 8 L1533 L1534 +label L1533 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 L1569 -label L1567 +label L1534 +label L1532 load 14 scope_id call 15 scope_create_scope int 1 14 store then_scope 15 @@ -52701,21 +52458,21 @@ field 37 36 0 string kind strref 38 m18s346 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L1571 L1572 -label L1571 +brif 39 L1536 L1537 +label L1536 load 41 then_node load 42 then_scope call 43 checker_check_block_statement void 2 41 42 -jmp L1570 -label L1572 -label L1570 +jmp L1535 +label L1537 +label L1535 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 L1574 L1575 -label L1574 +brif 48 L1539 L1540 +label L1539 load 49 scope_id call 50 scope_create_scope int 1 49 store else_scope 50 @@ -52732,17 +52489,17 @@ field 59 58 0 string kind strref 60 m18s346 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L1577 L1578 -label L1577 +brif 61 L1542 L1543 +label L1542 load 63 else_node load 64 else_scope call 65 checker_check_block_statement void 2 63 64 -jmp L1576 -label L1578 -label L1576 -jmp L1573 -label L1575 -label L1573 +jmp L1541 +label L1543 +label L1541 +jmp L1538 +label L1540 +label L1538 load 66 then_node call 67 pith_struct_release void 1 66 load 68 else_node @@ -52760,14 +52517,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 3 lt 7 5 6 -brif 7 L1580 L1581 -label L1580 +brif 7 L1545 L1546 +label L1545 load 8 body_node call 9 pith_struct_release void 1 8 iconst 10 0 ret 10 -label L1581 -label L1579 +label L1546 +label L1544 load 11 scope_id call 12 scope_create_loop_scope int 1 11 store loop_scope 12 @@ -52797,14 +52554,14 @@ field 34 33 0 string kind strref 35 m18s346 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L1583 L1584 -label L1583 +brif 36 L1548 L1549 +label L1548 load 38 body_node load 39 loop_scope call 40 checker_check_block_statement void 2 38 39 -jmp L1582 -label L1584 -label L1582 +jmp L1547 +label L1549 +label L1547 load 41 body_node call 42 pith_struct_release void 1 41 iconst 43 0 @@ -52844,8 +52601,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 L1586 L1587 -label L1586 +brif 18 L1551 L1552 +label L1551 iconst 22 0 iconst 23 1 sub 24 22 23 @@ -52870,8 +52627,8 @@ call 42 pith_cstring_release void 1 41 load 43 ret_info call 44 pith_struct_release void 1 43 ret 24 -label L1587 -label L1585 +label L1552 +label L1550 load 45 type_name load 46 iter_type call 47 types_get_type_name string 1 46 @@ -52888,8 +52645,8 @@ load 55 next_key call 56 checker_methods_has_method_declaration bool 1 55 iconst 57 0 eq 58 56 57 -brif 58 L1589 L1590 -label L1589 +brif 58 L1554 L1555 +label L1554 load 59 next_key load 60 type_name strref 61 m18s777 @@ -52901,8 +52658,8 @@ load 65 next_key call 66 checker_methods_has_method_declaration bool 1 65 iconst 67 0 eq 68 66 67 -brif 68 L1592 L1593 -label L1592 +brif 68 L1557 L1558 +label L1557 load 69 base load 70 type_name call 71 checker_extract_base_type_name string 1 70 @@ -52913,8 +52670,8 @@ load 74 type_name call 76 pith_cstring_eq bool 2 73 74 iconst 77 1 sub 75 77 76 -brif 75 L1595 L1596 -label L1595 +brif 75 L1560 L1561 +label L1560 load 78 next_key load 79 base strref 80 m18s777 @@ -52922,31 +52679,31 @@ concat 81 79 80 call 82 pith_cstring_release void 1 80 call 83 pith_cstring_release void 1 78 store next_key 81 -jmp L1594 -label L1596 -label L1594 -jmp L1591 -label L1593 -label L1591 +jmp L1559 +label L1561 +label L1559 +jmp L1556 +label L1558 +label L1556 load 84 next_key call 85 checker_methods_method_declaration_owner int 1 84 store next_owner 85 iconst 86 0 -store __and_86_1600 86 +store __and_86_1565 86 load 87 next_owner iconst 88 0 gte 89 87 88 -store __and_86_1600 89 -brif 89 L1600 L1601 -label L1600 +store __and_86_1565 89 +brif 89 L1565 L1566 +label L1565 load 90 next_owner load 91 iter_type neq 92 90 91 -store __and_86_1600 92 -label L1601 -load 93 __and_86_1600 -brif 93 L1598 L1599 -label L1598 +store __and_86_1565 92 +label L1566 +load 93 __and_86_1565 +brif 93 L1563 L1564 +label L1563 iconst 94 0 iconst 95 1 sub 96 94 95 @@ -52971,17 +52728,17 @@ call 114 pith_cstring_release void 1 113 load 115 ret_info call 116 pith_struct_release void 1 115 ret 96 -label L1599 -label L1597 -jmp L1588 -label L1590 -label L1588 +label L1564 +label L1562 +jmp L1553 +label L1555 +label L1553 load 117 next_key call 118 checker_methods_has_method_declaration bool 1 117 iconst 119 0 eq 120 118 119 -brif 120 L1603 L1604 -label L1603 +brif 120 L1568 L1569 +label L1568 iconst 121 0 iconst 122 1 sub 123 121 122 @@ -53006,8 +52763,8 @@ call 141 pith_cstring_release void 1 140 load 142 ret_info call 143 pith_struct_release void 1 142 ret 123 -label L1604 -label L1602 +label L1569 +label L1567 load 144 method_node load 145 next_key call 146 checker_methods_get_method_declaration_index int 1 145 @@ -53025,8 +52782,8 @@ store struct_args 153 load 155 checker_struct_instance_type_args load 156 iter_type call 157 map_contains_ikey bool 2 155 156 -brif 157 L1606 L1607 -label L1606 +brif 157 L1571 L1572 +label L1571 load 158 struct_args load 159 checker_struct_instance_type_args load 160 iter_type @@ -53037,8 +52794,8 @@ store struct_args 162 load 164 checker_struct_instance_base_name load 165 iter_type call 166 map_contains_ikey bool 2 164 165 -brif 166 L1609 L1610 -label L1609 +brif 166 L1574 L1575 +label L1574 load 167 base load 168 checker_struct_instance_base_name load 169 iter_type @@ -53048,8 +52805,8 @@ call 172 pith_cstring_release void 1 167 store base 170 load 173 base call 174 checker_has_generic_declaration bool 1 173 -brif 174 L1612 L1613 -label L1612 +brif 174 L1577 L1578 +label L1577 load 175 sdecl load 176 base call 177 checker_get_generic_declaration_index int 1 176 @@ -53061,15 +52818,15 @@ load 181 sdecl call 182 checker_collect_generic_parameter_names list_string 1 181 call 183 pith_list_release_handle void 1 180 store struct_params 182 -jmp L1611 -label L1613 -label L1611 -jmp L1608 -label L1610 -label L1608 -jmp L1605 -label L1607 -label L1605 +jmp L1576 +label L1578 +label L1576 +jmp L1573 +label L1575 +label L1573 +jmp L1570 +label L1572 +label L1570 load 184 assoc_base load 185 type_name call 186 checker_extract_base_type_name string 1 185 @@ -53078,8 +52835,8 @@ store assoc_base 186 load 188 checker_type_assoc_names load 189 assoc_base call 190 contains_key bool 2 188 189 -brif 190 L1615 L1616 -label L1615 +brif 190 L1580 L1581 +label L1580 load 191 checker_type_assoc_names load 192 assoc_base call 193 map_get_strict string 2 191 192 @@ -53088,50 +52845,50 @@ call 195 pith_string_split_to_list list_string 2 193 194 call 196 pith_cstring_release void 1 194 call 197 pith_auto_len int 1 195 iconst 198 0 -store __for_idx_142 198 -store __for_len_142 197 -store __for_iter_142 195 -label L1617 -load 199 __for_idx_142 -load 200 __for_len_142 +store __for_idx_141 198 +store __for_len_141 197 +store __for_iter_141 195 +label L1582 +load 199 __for_idx_141 +load 200 __for_len_141 lt 201 199 200 -brif 201 L1618 L1620 -label L1618 -load 202 __for_iter_142 -load 203 __for_idx_142 +brif 201 L1583 L1585 +label L1583 +load 202 __for_iter_141 +load 203 __for_idx_141 call 204 pith_list_get_value_unchecked string 2 202 203 -store __loopvar_142_an 204 +store __loopvar_141_an 204 load 205 iter_type -load 206 __loopvar_142_an +load 206 __loopvar_141_an call 207 checker_resolve_assoc_type_of_instance int 2 205 206 store resolved 207 load 208 resolved call 209 types_is_error_type bool 1 208 iconst 210 0 eq 211 209 210 -brif 211 L1622 L1623 -label L1622 +brif 211 L1587 L1588 +label L1587 load 212 struct_params -load 213 __loopvar_142_an +load 213 __loopvar_141_an call 214 pith_list_push_value void 2 212 213 load 215 struct_args load 216 resolved call 217 pith_list_push_value void 2 215 216 -jmp L1621 -label L1623 -label L1621 -label L1619 -load 218 __for_idx_142 +jmp L1586 +label L1588 +label L1586 +label L1584 +load 218 __for_idx_141 iconst 219 1 add 220 218 219 -store __for_idx_142 220 -jmp L1617 -label L1620 -load 221 __for_iter_142 +store __for_idx_141 220 +jmp L1582 +label L1585 +load 221 __for_iter_141 call 222 pith_list_release_handle void 1 221 -jmp L1614 -label L1616 -label L1614 +jmp L1579 +label L1581 +label L1579 load 223 method_node load 224 struct_params load 225 struct_args @@ -53149,8 +52906,8 @@ call 235 pith_cstring_eq bool 2 232 233 iconst 236 1 sub 234 236 235 call 237 pith_cstring_release void 1 233 -brif 234 L1625 L1626 -label L1625 +brif 234 L1590 L1591 +label L1590 iconst 238 0 iconst 239 1 sub 240 238 239 @@ -53175,8 +52932,8 @@ call 258 pith_cstring_release void 1 257 load 259 ret_info call 260 pith_struct_release void 1 259 ret 240 -label L1626 -label L1624 +label L1591 +label L1589 load 261 ret_info field 262 261 64 int inner load 263 info @@ -53243,8 +53000,8 @@ field 9 8 16 list children call 10 pith_list_len int 1 9 iconst 11 2 lt 12 10 11 -brif 12 L1628 L1629 -label L1628 +brif 12 L1593 L1594 +label L1593 load 13 iter_node call 14 pith_struct_release void 1 13 load 15 iter_info @@ -53259,8 +53016,8 @@ load 23 body_node call 24 pith_struct_release void 1 23 iconst 25 0 ret 25 -label L1629 -label L1627 +label L1594 +label L1592 strref 26 m18s1 call 27 types_lookup_type_id int 1 26 call 28 pith_cstring_release void 1 26 @@ -53288,8 +53045,8 @@ field 44 43 0 string kind strref 45 m18s776 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L1631 L1632 -label L1631 +brif 46 L1596 L1597 +label L1596 load 48 iter_node field 49 48 16 list children iconst 50 0 @@ -53305,19 +53062,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_1636 60 +store __or_60_1601 60 load 61 lo_type call 62 types_is_error_type bool 1 61 -store __or_60_1636 62 -brif 62 L1637 L1636 -label L1636 +store __or_60_1601 62 +brif 62 L1602 L1601 +label L1601 load 63 hi_type call 64 types_is_error_type bool 1 63 -store __or_60_1636 64 -label L1637 -load 65 __or_60_1636 -brif 65 L1634 L1635 -label L1634 +store __or_60_1601 64 +label L1602 +load 65 __or_60_1601 +brif 65 L1599 L1600 +label L1599 load 66 iter_node call 67 pith_struct_release void 1 66 load 68 iter_info @@ -53332,24 +53089,24 @@ load 76 body_node call 77 pith_struct_release void 1 76 iconst 78 0 ret 78 -label L1635 -label L1633 +label L1600 +label L1598 iconst 79 0 -store __or_79_1641 79 +store __or_79_1606 79 load 80 lo_type load 81 tid_int neq 82 80 81 -store __or_79_1641 82 -brif 82 L1642 L1641 -label L1641 +store __or_79_1606 82 +brif 82 L1607 L1606 +label L1606 load 83 hi_type load 84 tid_int neq 85 83 84 -store __or_79_1641 85 -label L1642 -load 86 __or_79_1641 -brif 86 L1639 L1640 -label L1639 +store __or_79_1606 85 +label L1607 +load 86 __or_79_1606 +brif 86 L1604 L1605 +label L1604 strref 87 m18s447 strref 88 m18s775 load 89 lo_type @@ -53383,12 +53140,12 @@ load 116 body_node call 117 pith_struct_release void 1 116 iconst 118 0 ret 118 -label L1640 -label L1638 +label L1605 +label L1603 load 119 tid_int store elem_type 119 -jmp L1630 -label L1632 +jmp L1595 +label L1597 load 120 node field 121 120 16 list children iconst 122 0 @@ -53398,8 +53155,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 L1644 L1645 -label L1644 +brif 127 L1609 L1610 +label L1609 load 128 iter_node call 129 pith_struct_release void 1 128 load 130 iter_info @@ -53414,8 +53171,8 @@ load 138 body_node call 139 pith_struct_release void 1 138 iconst 140 0 ret 140 -label L1645 -label L1643 +label L1610 +label L1608 load 141 iter_info load 142 iter_type call 143 types_get_type_info struct:TypeInfo 1 142 @@ -53424,60 +53181,60 @@ store iter_info 143 load 145 iter_type load 146 tid_string eq 147 145 146 -brif 147 L1647 L1648 -label L1647 +brif 147 L1612 L1613 +label L1612 load 148 tid_string store elem_type 148 -jmp L1646 -label L1648 +jmp L1611 +label L1613 load 149 iter_info field 150 149 0 string kind strref 151 m18s23 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -brif 152 L1649 L1650 -label L1649 +brif 152 L1614 L1615 +label L1614 load 154 iter_info field 155 154 64 int inner store elem_type 155 -jmp L1646 -label L1650 +jmp L1611 +label L1615 load 156 iter_info field 157 156 0 string kind strref 158 m18s21 call 159 pith_cstring_eq bool 2 157 158 call 160 pith_cstring_release void 1 158 -brif 159 L1651 L1652 -label L1651 +brif 159 L1616 L1617 +label L1616 load 161 iter_info field 162 161 72 int key_type store elem_type 162 -jmp L1646 -label L1652 +jmp L1611 +label L1617 load 163 iter_info field 164 163 0 string kind strref 165 m18s19 call 166 pith_cstring_eq bool 2 164 165 call 167 pith_cstring_release void 1 165 -brif 166 L1653 L1654 -label L1653 +brif 166 L1618 L1619 +label L1618 load 168 iter_info field 169 168 64 int inner store elem_type 169 -jmp L1646 -label L1654 +jmp L1611 +label L1619 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 L1656 L1657 -label L1656 +brif 174 L1621 L1622 +label L1621 load 175 it_elem store elem_type 175 -jmp L1655 -label L1657 +jmp L1620 +label L1622 strref 176 m18s447 strref 177 m18s773 load 178 iter_type @@ -53502,9 +53259,9 @@ load 196 body_node call 197 pith_struct_release void 1 196 iconst 198 0 ret 198 -label L1655 -label L1646 -label L1630 +label L1620 +label L1611 +label L1595 load 199 scope_id call 200 scope_create_loop_scope int 1 199 store loop_scope 200 @@ -53513,8 +53270,8 @@ field 202 201 16 list children call 203 pith_list_len int 1 202 iconst 204 3 gte 205 203 204 -brif 205 L1659 L1660 -label L1659 +brif 205 L1624 L1625 +label L1624 load 206 elem_name load 207 node field 208 207 16 list children @@ -53552,8 +53309,8 @@ field 238 237 16 list children call 239 pith_list_len int 1 238 iconst 240 4 gte 241 239 240 -brif 241 L1662 L1663 -label L1662 +brif 241 L1627 L1628 +label L1627 load 242 idx_name load 243 node field 244 243 16 list children @@ -53579,11 +53336,11 @@ field 262 261 16 list children iconst 263 3 call 264 pith_list_get_value_strict int 2 262 263 call 265 scope_define_binding_at void 5 257 258 259 260 264 -jmp L1661 -label L1663 -label L1661 -jmp L1658 -label L1660 +jmp L1626 +label L1628 +label L1626 +jmp L1623 +label L1625 load 266 binding_names load 267 node field 268 267 8 string value @@ -53597,7 +53354,7 @@ load 274 elem_type iconst 275 0 call 276 scope_define_binding void 4 271 273 274 275 call 277 pith_cstring_release void 1 273 -label L1658 +label L1623 load 278 body_node load 279 node field 280 279 16 list children @@ -53611,29 +53368,29 @@ field 286 285 0 string kind strref 287 m18s347 call 288 pith_cstring_eq bool 2 286 287 call 289 pith_cstring_release void 1 287 -brif 288 L1665 L1666 -label L1665 +brif 288 L1630 L1631 +label L1630 load 290 node field 291 290 16 list children iconst 292 1 call 293 pith_list_get_value_strict int 2 291 292 load 294 loop_scope call 295 checker_check_function_body void 2 293 294 -jmp L1664 -label L1666 +jmp L1629 +label L1631 load 296 body_node field 297 296 0 string kind strref 298 m18s346 call 299 pith_cstring_eq bool 2 297 298 call 300 pith_cstring_release void 1 298 -brif 299 L1667 L1668 -label L1667 +brif 299 L1632 L1633 +label L1632 load 301 body_node load 302 loop_scope call 303 checker_check_block_statement void 2 301 302 -jmp L1664 -label L1668 -label L1664 +jmp L1629 +label L1633 +label L1629 load 304 iter_node call 305 pith_struct_release void 1 304 load 306 iter_info @@ -53681,28 +53438,28 @@ func checker_record_definition 2 void param use_idx param decl_idx iconst 2 0 -store __and_2_1672 2 +store __and_2_1637 2 load 3 use_idx iconst 4 0 gte 5 3 4 -store __and_2_1672 5 -brif 5 L1672 L1673 -label L1672 +store __and_2_1637 5 +brif 5 L1637 L1638 +label L1637 load 6 decl_idx iconst 7 0 gte 8 6 7 -store __and_2_1672 8 -label L1673 -load 9 __and_2_1672 -brif 9 L1670 L1671 -label L1670 +store __and_2_1637 8 +label L1638 +load 9 __and_2_1637 +brif 9 L1635 L1636 +label L1635 load 10 checker_definition_of load 11 use_idx load 12 decl_idx call 13 map_insert_ikey void 3 10 11 12 -jmp L1669 -label L1671 -label L1669 +jmp L1634 +label L1636 +label L1634 iconst 14 0 ret 14 endfunc @@ -53711,14 +53468,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 L1675 L1676 -label L1675 +brif 3 L1640 L1641 +label L1640 load 4 checker_expression_type_cache load 5 node_idx call 6 map_get_ikey_strict int 2 4 5 ret 6 -label L1676 -label L1674 +label L1641 +label L1639 load 7 types_TID_ERR ret 7 iconst 8 0 @@ -53761,83 +53518,83 @@ field 24 23 0 string kind strref 25 m18s772 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L1678 L1679 -label L1678 +brif 26 L1643 L1644 +label L1643 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 L1679 -label L1677 +label L1644 +label L1642 load 33 node field 34 33 0 string kind strref 35 m18s771 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L1681 L1682 -label L1681 +brif 36 L1646 L1647 +label L1646 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 L1682 -label L1680 +label L1647 +label L1645 load 43 node field 44 43 0 string kind strref 45 m18s770 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L1684 L1685 -label L1684 +brif 46 L1649 L1650 +label L1649 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 L1685 -label L1683 +label L1650 +label L1648 load 53 node field 54 53 0 string kind strref 55 m18s769 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L1687 L1688 -label L1687 +brif 56 L1652 L1653 +label L1652 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 L1688 -label L1686 +label L1653 +label L1651 load 63 node field 64 63 0 string kind strref 65 m18s745 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 -brif 66 L1690 L1691 -label L1690 +brif 66 L1655 L1656 +label L1655 load 68 types_TID_NONE 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 L1691 -label L1689 +label L1656 +label L1654 load 73 node field 74 73 0 string kind strref 75 m18s319 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L1693 L1694 -label L1693 +brif 76 L1658 L1659 +label L1658 load 78 node_idx load 79 node field 80 79 8 string value @@ -53848,15 +53605,15 @@ call 84 pith_struct_release void 1 83 load 85 cn call 86 pith_struct_release void 1 85 ret 82 -label L1694 -label L1692 +label L1659 +label L1657 load 87 node field 88 87 0 string kind strref 89 m18s768 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -brif 90 L1696 L1697 -label L1696 +brif 90 L1661 L1662 +label L1661 load 92 node_idx strref 93 m18s768 load 94 scope_id @@ -53867,15 +53624,15 @@ call 98 pith_struct_release void 1 97 load 99 cn call 100 pith_struct_release void 1 99 ret 95 -label L1697 -label L1695 +label L1662 +label L1660 load 101 node field 102 101 0 string kind strref 103 m18s767 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -brif 104 L1699 L1700 -label L1699 +brif 104 L1664 L1665 +label L1664 load 106 node load 107 scope_id call 108 checker_check_binary_expression int 2 106 107 @@ -53884,15 +53641,15 @@ call 110 pith_struct_release void 1 109 load 111 cn call 112 pith_struct_release void 1 111 ret 108 -label L1700 -label L1698 +label L1665 +label L1663 load 113 node field 114 113 0 string kind strref 115 m18s766 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -brif 116 L1702 L1703 -label L1702 +brif 116 L1667 L1668 +label L1667 load 118 node load 119 scope_id call 120 checker_check_unary_expression int 2 118 119 @@ -53901,22 +53658,22 @@ call 122 pith_struct_release void 1 121 load 123 cn call 124 pith_struct_release void 1 123 ret 120 -label L1703 -label L1701 +label L1668 +label L1666 load 125 node field 126 125 0 string kind strref 127 m18s765 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L1705 L1706 -label L1705 +brif 128 L1670 L1671 +label L1670 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 L1708 L1709 -label L1708 +brif 134 L1673 L1674 +label L1673 load 135 node field 136 135 16 list children iconst 137 0 @@ -53928,42 +53685,42 @@ call 142 pith_struct_release void 1 141 load 143 cn call 144 pith_struct_release void 1 143 ret 140 -label L1709 -label L1707 +label L1674 +label L1672 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 L1706 -label L1704 +label L1671 +label L1669 load 150 node field 151 150 0 string kind strref 152 m18s764 call 153 pith_cstring_eq bool 2 151 152 call 154 pith_cstring_release void 1 152 -brif 153 L1711 L1712 -label L1711 +brif 153 L1676 L1677 +label L1676 load 155 node field 156 155 16 list children call 157 pith_auto_len int 1 156 iconst 158 0 -store __for_idx_143 158 -store __for_len_143 157 -store __for_iter_143 156 -label L1713 -load 159 __for_idx_143 -load 160 __for_len_143 +store __for_idx_142 158 +store __for_len_142 157 +store __for_iter_142 156 +label L1678 +load 159 __for_idx_142 +load 160 __for_len_142 lt 161 159 160 -brif 161 L1714 L1716 -label L1714 -load 162 __for_iter_143 -load 163 __for_idx_143 +brif 161 L1679 L1681 +label L1679 +load 162 __for_iter_142 +load 163 __for_idx_142 call 164 pith_list_get_value unknown 2 162 163 -store __loopvar_143_child 164 +store __loopvar_142_child 164 load 165 cn -load 166 __loopvar_143_child +load 166 __loopvar_142_child call 167 ast_get_node struct:Node 1 166 call 168 pith_struct_release void 1 165 store cn 167 @@ -53972,8 +53729,8 @@ field 170 169 0 string kind strref 171 m18s763 call 172 pith_cstring_eq bool 2 170 171 call 173 pith_cstring_release void 1 171 -brif 172 L1718 L1719 -label L1718 +brif 172 L1683 L1684 +label L1683 load 174 cn field 175 174 16 list children iconst 176 0 @@ -53985,14 +53742,14 @@ load 180 spec_tid call 181 types_is_error_type bool 1 180 iconst 182 0 eq 183 181 182 -brif 183 L1721 L1722 -label L1721 +brif 183 L1686 L1687 +label L1686 load 184 spec_tid call 185 checker_type_supports_stringify bool 1 184 iconst 186 0 eq 187 185 186 -brif 187 L1724 L1725 -label L1724 +brif 187 L1689 L1690 +label L1689 strref 188 m18s330 strref 189 m18s761 load 190 spec_tid @@ -54003,14 +53760,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 L1723 -label L1725 -label L1723 -jmp L1720 -label L1722 -label L1720 -jmp L1717 -label L1719 +jmp L1688 +label L1690 +label L1688 +jmp L1685 +label L1687 +label L1685 +jmp L1682 +label L1684 load 198 cn field 199 198 0 string kind strref 200 m18s762 @@ -54018,9 +53775,9 @@ 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 L1726 L1727 -label L1726 -load 205 __loopvar_143_child +brif 201 L1691 L1692 +label L1691 +load 205 __loopvar_142_child load 206 scope_id call 207 checker_c_check_expr int 2 205 206 store expr_tid 207 @@ -54028,14 +53785,14 @@ load 208 expr_tid call 209 types_is_error_type bool 1 208 iconst 210 0 eq 211 209 210 -brif 211 L1729 L1730 -label L1729 +brif 211 L1694 L1695 +label L1694 load 212 expr_tid call 213 checker_type_supports_stringify bool 1 212 iconst 214 0 eq 215 213 214 -brif 215 L1732 L1733 -label L1732 +brif 215 L1697 L1698 +label L1697 strref 216 m18s330 strref 217 m18s761 load 218 expr_tid @@ -54046,37 +53803,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 L1731 -label L1733 -label L1731 -jmp L1728 -label L1730 -label L1728 -jmp L1717 -label L1727 -label L1717 -label L1715 -load 226 __for_idx_143 +jmp L1696 +label L1698 +label L1696 +jmp L1693 +label L1695 +label L1693 +jmp L1682 +label L1692 +label L1682 +label L1680 +load 226 __for_idx_142 iconst 227 1 add 228 226 227 -store __for_idx_143 228 -jmp L1713 -label L1716 +store __for_idx_142 228 +jmp L1678 +label L1681 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 L1712 -label L1710 +label L1677 +label L1675 load 234 node field 235 234 0 string kind strref 236 m18s760 call 237 pith_cstring_eq bool 2 235 236 call 238 pith_cstring_release void 1 236 -brif 237 L1735 L1736 -label L1735 +brif 237 L1700 L1701 +label L1700 load 239 node load 240 scope_id call 241 checker_check_if_expression int 2 239 240 @@ -54085,15 +53842,15 @@ call 243 pith_struct_release void 1 242 load 244 cn call 245 pith_struct_release void 1 244 ret 241 -label L1736 -label L1734 +label L1701 +label L1699 load 246 node field 247 246 0 string kind strref 248 m18s326 call 249 pith_cstring_eq bool 2 247 248 call 250 pith_cstring_release void 1 248 -brif 249 L1738 L1739 -label L1738 +brif 249 L1703 L1704 +label L1703 load 251 node load 252 scope_id call 253 checker_check_function_call int 2 251 252 @@ -54102,15 +53859,15 @@ call 255 pith_struct_release void 1 254 load 256 cn call 257 pith_struct_release void 1 256 ret 253 -label L1739 -label L1737 +label L1704 +label L1702 load 258 node field 259 258 0 string kind strref 260 m18s409 call 261 pith_cstring_eq bool 2 259 260 call 262 pith_cstring_release void 1 260 -brif 261 L1741 L1742 -label L1741 +brif 261 L1706 L1707 +label L1706 load 263 node load 264 scope_id call 265 checker_check_method_call int 2 263 264 @@ -54119,15 +53876,15 @@ call 267 pith_struct_release void 1 266 load 268 cn call 269 pith_struct_release void 1 268 ret 265 -label L1742 -label L1740 +label L1707 +label L1705 load 270 node field 271 270 0 string kind strref 272 m18s318 call 273 pith_cstring_eq bool 2 271 272 call 274 pith_cstring_release void 1 272 -brif 273 L1744 L1745 -label L1744 +brif 273 L1709 L1710 +label L1709 load 275 node load 276 scope_id call 277 checker_check_field_access_expression int 2 275 276 @@ -54136,15 +53893,15 @@ call 279 pith_struct_release void 1 278 load 280 cn call 281 pith_struct_release void 1 280 ret 277 -label L1745 -label L1743 +label L1710 +label L1708 load 282 node field 283 282 0 string kind strref 284 m18s317 call 285 pith_cstring_eq bool 2 283 284 call 286 pith_cstring_release void 1 284 -brif 285 L1747 L1748 -label L1747 +brif 285 L1712 L1713 +label L1712 load 287 node load 288 scope_id call 289 checker_check_index_expression int 2 287 288 @@ -54153,15 +53910,15 @@ call 291 pith_struct_release void 1 290 load 292 cn call 293 pith_struct_release void 1 292 ret 289 -label L1748 -label L1746 +label L1713 +label L1711 load 294 node field 295 294 0 string kind strref 296 m18s759 call 297 pith_cstring_eq bool 2 295 296 call 298 pith_cstring_release void 1 296 -brif 297 L1750 L1751 -label L1750 +brif 297 L1715 L1716 +label L1715 load 299 node load 300 scope_id call 301 checker_check_unwrap_expression int 2 299 300 @@ -54170,15 +53927,15 @@ call 303 pith_struct_release void 1 302 load 304 cn call 305 pith_struct_release void 1 304 ret 301 -label L1751 -label L1749 +label L1716 +label L1714 load 306 node field 307 306 0 string kind strref 308 m18s758 call 309 pith_cstring_eq bool 2 307 308 call 310 pith_cstring_release void 1 308 -brif 309 L1753 L1754 -label L1753 +brif 309 L1718 L1719 +label L1718 load 311 node load 312 scope_id call 313 checker_check_try_expression int 2 311 312 @@ -54187,15 +53944,15 @@ call 315 pith_struct_release void 1 314 load 316 cn call 317 pith_struct_release void 1 316 ret 313 -label L1754 -label L1752 +label L1719 +label L1717 load 318 node field 319 318 0 string kind strref 320 m18s757 call 321 pith_cstring_eq bool 2 319 320 call 322 pith_cstring_release void 1 320 -brif 321 L1756 L1757 -label L1756 +brif 321 L1721 L1722 +label L1721 load 323 node load 324 scope_id call 325 checker_check_catch_expression int 2 323 324 @@ -54204,15 +53961,15 @@ call 327 pith_struct_release void 1 326 load 328 cn call 329 pith_struct_release void 1 328 ret 325 -label L1757 -label L1755 +label L1722 +label L1720 load 330 node field 331 330 0 string kind strref 332 m18s756 call 333 pith_cstring_eq bool 2 331 332 call 334 pith_cstring_release void 1 332 -brif 333 L1759 L1760 -label L1759 +brif 333 L1724 L1725 +label L1724 load 335 node load 336 scope_id call 337 checker_check_catch_block int 2 335 336 @@ -54221,15 +53978,15 @@ call 339 pith_struct_release void 1 338 load 340 cn call 341 pith_struct_release void 1 340 ret 337 -label L1760 -label L1758 +label L1725 +label L1723 load 342 node field 343 342 0 string kind strref 344 m18s755 call 345 pith_cstring_eq bool 2 343 344 call 346 pith_cstring_release void 1 344 -brif 345 L1762 L1763 -label L1762 +brif 345 L1727 L1728 +label L1727 load 347 node load 348 scope_id call 349 checker_check_select_expression int 2 347 348 @@ -54238,15 +53995,15 @@ call 351 pith_struct_release void 1 350 load 352 cn call 353 pith_struct_release void 1 352 ret 349 -label L1763 -label L1761 +label L1728 +label L1726 load 354 node field 355 354 0 string kind strref 356 m18s754 call 357 pith_cstring_eq bool 2 355 356 call 358 pith_cstring_release void 1 356 -brif 357 L1765 L1766 -label L1765 +brif 357 L1730 L1731 +label L1730 load 359 node_idx load 360 scope_id call 361 checker_check_match_expression int 2 359 360 @@ -54255,15 +54012,15 @@ call 363 pith_struct_release void 1 362 load 364 cn call 365 pith_struct_release void 1 364 ret 361 -label L1766 -label L1764 +label L1731 +label L1729 load 366 node field 367 366 0 string kind strref 368 m18s753 call 369 pith_cstring_eq bool 2 367 368 call 370 pith_cstring_release void 1 368 -brif 369 L1768 L1769 -label L1768 +brif 369 L1733 L1734 +label L1733 load 371 node load 372 scope_id call 373 checker_check_lambda_expression int 2 371 372 @@ -54272,15 +54029,15 @@ call 375 pith_struct_release void 1 374 load 376 cn call 377 pith_struct_release void 1 376 ret 373 -label L1769 -label L1767 +label L1734 +label L1732 load 378 node field 379 378 0 string kind strref 380 m18s23 call 381 pith_cstring_eq bool 2 379 380 call 382 pith_cstring_release void 1 380 -brif 381 L1771 L1772 -label L1771 +brif 381 L1736 L1737 +label L1736 load 383 node load 384 scope_id call 385 checker_check_list_expression int 2 383 384 @@ -54289,15 +54046,15 @@ call 387 pith_struct_release void 1 386 load 388 cn call 389 pith_struct_release void 1 388 ret 385 -label L1772 -label L1770 +label L1737 +label L1735 load 390 node field 391 390 0 string kind strref 392 m18s21 call 393 pith_cstring_eq bool 2 391 392 call 394 pith_cstring_release void 1 392 -brif 393 L1774 L1775 -label L1774 +brif 393 L1739 L1740 +label L1739 load 395 node load 396 scope_id call 397 checker_check_map_expression int 2 395 396 @@ -54306,15 +54063,15 @@ call 399 pith_struct_release void 1 398 load 400 cn call 401 pith_struct_release void 1 400 ret 397 -label L1775 -label L1773 +label L1740 +label L1738 load 402 node field 403 402 0 string kind strref 404 m18s19 call 405 pith_cstring_eq bool 2 403 404 call 406 pith_cstring_release void 1 404 -brif 405 L1777 L1778 -label L1777 +brif 405 L1742 L1743 +label L1742 load 407 node load 408 scope_id call 409 checker_check_set_expression int 2 407 408 @@ -54323,15 +54080,15 @@ call 411 pith_struct_release void 1 410 load 412 cn call 413 pith_struct_release void 1 412 ret 409 -label L1778 -label L1776 +label L1743 +label L1741 load 414 node field 415 414 0 string kind strref 416 m18s28 call 417 pith_cstring_eq bool 2 415 416 call 418 pith_cstring_release void 1 416 -brif 417 L1780 L1781 -label L1780 +brif 417 L1745 L1746 +label L1745 load 419 node load 420 scope_id call 421 checker_check_tuple_expression int 2 419 420 @@ -54340,15 +54097,15 @@ call 423 pith_struct_release void 1 422 load 424 cn call 425 pith_struct_release void 1 424 ret 421 -label L1781 -label L1779 +label L1746 +label L1744 load 426 node field 427 426 0 string kind strref 428 m18s752 call 429 pith_cstring_eq bool 2 427 428 call 430 pith_cstring_release void 1 428 -brif 429 L1783 L1784 -label L1783 +brif 429 L1748 L1749 +label L1748 load 431 node load 432 scope_id call 433 checker_check_struct_initialization int 2 431 432 @@ -54357,15 +54114,15 @@ call 435 pith_struct_release void 1 434 load 436 cn call 437 pith_struct_release void 1 436 ret 433 -label L1784 -label L1782 +label L1749 +label L1747 load 438 node field 439 438 0 string kind strref 440 m18s751 call 441 pith_cstring_eq bool 2 439 440 call 442 pith_cstring_release void 1 440 -brif 441 L1786 L1787 -label L1786 +brif 441 L1751 L1752 +label L1751 load 443 node load 444 scope_id call 445 checker_check_spawn_expression int 2 443 444 @@ -54374,15 +54131,15 @@ call 447 pith_struct_release void 1 446 load 448 cn call 449 pith_struct_release void 1 448 ret 445 -label L1787 -label L1785 +label L1752 +label L1750 load 450 node field 451 450 0 string kind strref 452 m18s750 call 453 pith_cstring_eq bool 2 451 452 call 454 pith_cstring_release void 1 452 -brif 453 L1789 L1790 -label L1789 +brif 453 L1754 L1755 +label L1754 load 455 node load 456 scope_id call 457 checker_check_await_expression int 2 455 456 @@ -54391,8 +54148,8 @@ call 459 pith_struct_release void 1 458 load 460 cn call 461 pith_struct_release void 1 460 ret 457 -label L1790 -label L1788 +label L1755 +label L1753 load 462 types_TID_ERR load 463 node call 464 pith_struct_release void 1 463 @@ -54413,14 +54170,14 @@ store info 1 load 2 tid iconst 3 0 lt 4 2 3 -brif 4 L1792 L1793 -label L1792 +brif 4 L1757 L1758 +label L1757 iconst 5 0 load 6 info call 7 pith_struct_release void 1 6 ret 5 -label L1793 -label L1791 +label L1758 +label L1756 load 8 info load 9 tid call 10 types_get_type_info struct:TypeInfo 1 9 @@ -54431,267 +54188,267 @@ field 13 12 0 string kind strref 14 m18s33 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L1795 L1796 -label L1795 +brif 15 L1760 L1761 +label L1760 iconst 17 0 -store __or_17_1797 17 +store __or_17_1762 17 iconst 18 0 -store __or_18_1797 18 +store __or_18_1762 18 iconst 19 0 -store __or_19_1797 19 +store __or_19_1762 19 iconst 20 0 -store __or_20_1797 20 +store __or_20_1762 20 iconst 21 0 -store __or_21_1797 21 +store __or_21_1762 21 iconst 22 0 -store __or_22_1797 22 +store __or_22_1762 22 iconst 23 0 -store __or_23_1797 23 +store __or_23_1762 23 iconst 24 0 -store __or_24_1797 24 +store __or_24_1762 24 iconst 25 0 -store __or_25_1797 25 +store __or_25_1762 25 iconst 26 0 -store __or_26_1797 26 +store __or_26_1762 26 iconst 27 0 -store __or_27_1797 27 +store __or_27_1762 27 iconst 28 0 -store __or_28_1797 28 +store __or_28_1762 28 load 29 info field 30 29 8 string name strref 31 m18s12 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_28_1797 32 -brif 32 L1798 L1797 -label L1797 +store __or_28_1762 32 +brif 32 L1763 L1762 +label L1762 load 34 info field 35 34 8 string name strref 36 m18s16 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_28_1797 37 -label L1798 -load 39 __or_28_1797 -store __or_27_1797 39 -brif 39 L1800 L1799 -label L1799 +store __or_28_1762 37 +label L1763 +load 39 __or_28_1762 +store __or_27_1762 39 +brif 39 L1765 L1764 +label L1764 load 40 info field 41 40 8 string name strref 42 m18s15 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -store __or_27_1797 43 -label L1800 -load 45 __or_27_1797 -store __or_26_1797 45 -brif 45 L1802 L1801 -label L1801 +store __or_27_1762 43 +label L1765 +load 45 __or_27_1762 +store __or_26_1762 45 +brif 45 L1767 L1766 +label L1766 load 46 info field 47 46 8 string name strref 48 m18s9 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_26_1797 49 -label L1802 -load 51 __or_26_1797 -store __or_25_1797 51 -brif 51 L1804 L1803 -label L1803 +store __or_26_1762 49 +label L1767 +load 51 __or_26_1762 +store __or_25_1762 51 +brif 51 L1769 L1768 +label L1768 load 52 info field 53 52 8 string name strref 54 m18s8 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_25_1797 55 -label L1804 -load 57 __or_25_1797 -store __or_24_1797 57 -brif 57 L1806 L1805 -label L1805 +store __or_25_1762 55 +label L1769 +load 57 __or_25_1762 +store __or_24_1762 57 +brif 57 L1771 L1770 +label L1770 load 58 info field 59 58 8 string name strref 60 m18s7 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __or_24_1797 61 -label L1806 -load 63 __or_24_1797 -store __or_23_1797 63 -brif 63 L1808 L1807 -label L1807 +store __or_24_1762 61 +label L1771 +load 63 __or_24_1762 +store __or_23_1762 63 +brif 63 L1773 L1772 +label L1772 load 64 info field 65 64 8 string name strref 66 m18s6 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __or_23_1797 67 -label L1808 -load 69 __or_23_1797 -store __or_22_1797 69 -brif 69 L1810 L1809 -label L1809 +store __or_23_1762 67 +label L1773 +load 69 __or_23_1762 +store __or_22_1762 69 +brif 69 L1775 L1774 +label L1774 load 70 info field 71 70 8 string name strref 72 m18s5 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -store __or_22_1797 73 -label L1810 -load 75 __or_22_1797 -store __or_21_1797 75 -brif 75 L1812 L1811 -label L1811 +store __or_22_1762 73 +label L1775 +load 75 __or_22_1762 +store __or_21_1762 75 +brif 75 L1777 L1776 +label L1776 load 76 info field 77 76 8 string name strref 78 m18s4 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __or_21_1797 79 -label L1812 -load 81 __or_21_1797 -store __or_20_1797 81 -brif 81 L1814 L1813 -label L1813 +store __or_21_1762 79 +label L1777 +load 81 __or_21_1762 +store __or_20_1762 81 +brif 81 L1779 L1778 +label L1778 load 82 info field 83 82 8 string name strref 84 m18s3 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __or_20_1797 85 -label L1814 -load 87 __or_20_1797 -store __or_19_1797 87 -brif 87 L1816 L1815 -label L1815 +store __or_20_1762 85 +label L1779 +load 87 __or_20_1762 +store __or_19_1762 87 +brif 87 L1781 L1780 +label L1780 load 88 info field 89 88 8 string name strref 90 m18s2 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __or_19_1797 91 -label L1816 -load 93 __or_19_1797 -store __or_18_1797 93 -brif 93 L1818 L1817 -label L1817 +store __or_19_1762 91 +label L1781 +load 93 __or_19_1762 +store __or_18_1762 93 +brif 93 L1783 L1782 +label L1782 load 94 info field 95 94 8 string name strref 96 m18s14 call 97 pith_cstring_eq bool 2 95 96 call 98 pith_cstring_release void 1 96 -store __or_18_1797 97 -label L1818 -load 99 __or_18_1797 -store __or_17_1797 99 -brif 99 L1820 L1819 -label L1819 +store __or_18_1762 97 +label L1783 +load 99 __or_18_1762 +store __or_17_1762 99 +brif 99 L1785 L1784 +label L1784 load 100 info field 101 100 8 string name strref 102 m18s13 call 103 pith_cstring_eq bool 2 101 102 call 104 pith_cstring_release void 1 102 -store __or_17_1797 103 -label L1820 -load 105 __or_17_1797 +store __or_17_1762 103 +label L1785 +load 105 __or_17_1762 load 106 info call 107 pith_struct_release void 1 106 ret 105 -label L1796 -label L1794 +label L1761 +label L1759 load 108 info field 109 108 0 string kind strref 110 m18s29 call 111 pith_cstring_eq bool 2 109 110 call 112 pith_cstring_release void 1 110 -brif 111 L1822 L1823 -label L1822 +brif 111 L1787 L1788 +label L1787 iconst 113 0 -store __and_113_1824 113 +store __and_113_1789 113 load 114 info field 115 114 64 int inner call 116 checker_type_supports_stringify bool 1 115 -store __and_113_1824 116 -brif 116 L1824 L1825 -label L1824 +store __and_113_1789 116 +brif 116 L1789 L1790 +label L1789 load 117 info field 118 117 80 int value_type call 119 checker_type_supports_stringify bool 1 118 -store __and_113_1824 119 -label L1825 -load 120 __and_113_1824 +store __and_113_1789 119 +label L1790 +load 120 __and_113_1789 load 121 info call 122 pith_struct_release void 1 121 ret 120 -label L1823 -label L1821 +label L1788 +label L1786 iconst 123 0 -store __or_123_1829 123 +store __or_123_1794 123 load 124 info field 125 124 0 string kind strref 126 m18s23 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -store __or_123_1829 127 -brif 127 L1830 L1829 -label L1829 +store __or_123_1794 127 +brif 127 L1795 L1794 +label L1794 load 129 info field 130 129 0 string kind strref 131 m18s19 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -store __or_123_1829 132 -label L1830 -load 134 __or_123_1829 -brif 134 L1827 L1828 -label L1827 +store __or_123_1794 132 +label L1795 +load 134 __or_123_1794 +brif 134 L1792 L1793 +label L1792 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 L1828 -label L1826 +label L1793 +label L1791 load 140 info field 141 140 0 string kind strref 142 m18s21 call 143 pith_cstring_eq bool 2 141 142 call 144 pith_cstring_release void 1 142 -brif 143 L1832 L1833 -label L1832 +brif 143 L1797 L1798 +label L1797 iconst 145 0 -store __and_145_1834 145 +store __and_145_1799 145 load 146 info field 147 146 72 int key_type call 148 checker_type_supports_stringify bool 1 147 -store __and_145_1834 148 -brif 148 L1834 L1835 -label L1834 +store __and_145_1799 148 +brif 148 L1799 L1800 +label L1799 load 149 info field 150 149 80 int value_type call 151 checker_type_supports_stringify bool 1 150 -store __and_145_1834 151 -label L1835 -load 152 __and_145_1834 +store __and_145_1799 151 +label L1800 +load 152 __and_145_1799 load 153 info call 154 pith_struct_release void 1 153 ret 152 -label L1833 -label L1831 +label L1798 +label L1796 load 155 info field 156 155 0 string kind strref 157 m18s35 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -brif 158 L1837 L1838 -label L1837 +brif 158 L1802 L1803 +label L1802 iconst 160 1 load 161 info call 162 pith_struct_release void 1 161 ret 160 -label L1838 -label L1836 +label L1803 +label L1801 iconst 163 0 load 164 info call 165 pith_struct_release void 1 164 @@ -54718,39 +54475,39 @@ store wildcard_needle 7 load 10 checker_generic_wildcard_import_entries call 11 pith_auto_len int 1 10 iconst 12 0 -store __for_idx_144 12 -store __for_len_144 11 -store __for_iter_144 10 -label L1839 -load 13 __for_idx_144 -load 14 __for_len_144 +store __for_idx_143 12 +store __for_len_143 11 +store __for_iter_143 10 +label L1804 +load 13 __for_idx_143 +load 14 __for_len_143 lt 15 13 14 -brif 15 L1840 L1842 -label L1840 -load 16 __for_iter_144 -load 17 __for_idx_144 +brif 15 L1805 L1807 +label L1805 +load 16 __for_iter_143 +load 17 __for_idx_143 call 18 pith_list_get_value_unchecked string 2 16 17 -store __loopvar_144_w 18 -load 19 __loopvar_144_w +store __loopvar_143_w 18 +load 19 __loopvar_143_w load 20 wildcard_needle call 21 pith_cstring_starts_with bool 2 19 20 -brif 21 L1844 L1845 -label L1844 +brif 21 L1809 L1810 +label L1809 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 L1845 -label L1843 -label L1841 -load 27 __for_idx_144 +label L1810 +label L1808 +label L1806 +load 27 __for_idx_143 iconst 28 1 add 29 27 28 -store __for_idx_144 29 -jmp L1839 -label L1842 +store __for_idx_143 29 +jmp L1804 +label L1807 load 30 needle load 31 checker_current_checker_module_path iconst 32 9 @@ -54770,39 +54527,39 @@ store needle 41 load 45 checker_generic_named_import_entries call 46 pith_auto_len int 1 45 iconst 47 0 -store __for_idx_145 47 -store __for_len_145 46 -store __for_iter_145 45 -label L1846 -load 48 __for_idx_145 -load 49 __for_len_145 +store __for_idx_144 47 +store __for_len_144 46 +store __for_iter_144 45 +label L1811 +load 48 __for_idx_144 +load 49 __for_len_144 lt 50 48 49 -brif 50 L1847 L1849 -label L1847 -load 51 __for_iter_145 -load 52 __for_idx_145 +brif 50 L1812 L1814 +label L1812 +load 51 __for_iter_144 +load 52 __for_idx_144 call 53 pith_list_get_value_unchecked string 2 51 52 -store __loopvar_145_entry 53 -load 54 __loopvar_145_entry +store __loopvar_144_entry 53 +load 54 __loopvar_144_entry load 55 needle call 56 pith_cstring_starts_with bool 2 54 55 -brif 56 L1851 L1852 -label L1851 +brif 56 L1816 L1817 +label L1816 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 L1852 -label L1850 -label L1848 -load 62 __for_idx_145 +label L1817 +label L1815 +label L1813 +load 62 __for_idx_144 iconst 63 1 add 64 62 63 -store __for_idx_145 64 -jmp L1846 -label L1849 +store __for_idx_144 64 +jmp L1811 +label L1814 iconst 65 0 load 66 wildcard_needle call 67 pith_cstring_release void 1 66 @@ -54839,42 +54596,42 @@ store needle 13 load 17 checker_generic_named_import_entries call 18 pith_auto_len int 1 17 iconst 19 0 -store __for_idx_146 19 -store __for_len_146 18 -store __for_iter_146 17 -label L1853 -load 20 __for_idx_146 -load 21 __for_len_146 +store __for_idx_145 19 +store __for_len_145 18 +store __for_iter_145 17 +label L1818 +load 20 __for_idx_145 +load 21 __for_len_145 lt 22 20 21 -brif 22 L1854 L1856 -label L1854 -load 23 __for_iter_146 -load 24 __for_idx_146 +brif 22 L1819 L1821 +label L1819 +load 23 __for_iter_145 +load 24 __for_idx_145 call 25 pith_list_get_value_unchecked string 2 23 24 -store __loopvar_146_entry 25 -load 26 __loopvar_146_entry +store __loopvar_145_entry 25 +load 26 __loopvar_145_entry load 27 needle call 28 pith_cstring_starts_with bool 2 26 27 -brif 28 L1858 L1859 -label L1858 -load 29 __loopvar_146_entry +brif 28 L1823 L1824 +label L1823 +load 29 __loopvar_145_entry load 30 needle call 31 string_len int 1 30 -load 32 __loopvar_146_entry +load 32 __loopvar_145_entry call 33 string_len int 1 32 call 34 pith_cstring_substring string 3 29 31 33 load 35 needle call 36 pith_cstring_release void 1 35 ret 34 -label L1859 -label L1857 -label L1855 -load 37 __for_idx_146 +label L1824 +label L1822 +label L1820 +load 37 __for_idx_145 iconst 38 1 add 39 37 38 -store __for_idx_146 39 -jmp L1853 -label L1856 +store __for_idx_145 39 +jmp L1818 +label L1821 strref 40 m18s36 load 41 needle call 42 pith_cstring_release void 1 41 @@ -54897,16 +54654,16 @@ store tid 6 load 7 tid iconst 8 0 gte 9 7 8 -brif 9 L1861 L1862 -label L1861 +brif 9 L1826 L1827 +label L1826 load 10 scope_id load 11 name load 12 checker_current_checker_module_path call 13 scope_binding_visible_from bool 3 10 11 12 iconst 14 0 eq 15 13 14 -brif 15 L1864 L1865 -label L1864 +brif 15 L1829 L1830 +label L1829 load 16 source load 17 name call 18 checker_from_import_source_module string 1 17 @@ -54916,8 +54673,8 @@ load 20 source call 21 string_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L1867 L1868 -label L1867 +brif 23 L1832 L1833 +label L1832 load 24 scope_id load 25 name load 26 source @@ -54926,33 +54683,33 @@ store owned 27 load 28 owned iconst 29 0 gte 30 28 29 -brif 30 L1870 L1871 -label L1870 +brif 30 L1835 L1836 +label L1835 load 31 owned load 32 source call 33 pith_cstring_release void 1 32 ret 31 -label L1871 -label L1869 -jmp L1866 -label L1868 -label L1866 +label L1836 +label L1834 +jmp L1831 +label L1833 +label L1831 load 34 name call 35 checker_current_module_imports_name bool 1 34 iconst 36 0 eq 37 35 36 -brif 37 L1873 L1874 -label L1873 +brif 37 L1838 L1839 +label L1838 load 38 name call 39 checker_has_generic_declaration bool 1 38 -brif 39 L1876 L1877 -label L1876 +brif 39 L1841 L1842 +label L1841 load 40 types_TID_ERR load 41 source call 42 pith_cstring_release void 1 41 ret 40 -label L1877 -label L1875 +label L1842 +label L1840 load 43 node_idx strref 44 m18s586 strref 45 m18s376 @@ -54972,11 +54729,11 @@ load 58 types_TID_ERR load 59 source call 60 pith_cstring_release void 1 59 ret 58 -label L1874 -label L1872 -jmp L1863 -label L1865 -label L1863 +label L1839 +label L1837 +jmp L1828 +label L1830 +label L1828 load 61 node_idx load 62 scope_id load 63 name @@ -54986,18 +54743,18 @@ load 66 tid load 67 source call 68 pith_cstring_release void 1 67 ret 66 -label L1862 -label L1860 +label L1827 +label L1825 load 69 name call 70 checker_has_generic_declaration bool 1 69 -brif 70 L1879 L1880 -label L1879 +brif 70 L1844 L1845 +label L1844 load 71 types_TID_ERR load 72 source call 73 pith_cstring_release void 1 72 ret 71 -label L1880 -label L1878 +label L1845 +label L1843 load 74 node_idx strref 75 m18s586 strref 76 m18s747 @@ -55030,8 +54787,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L1882 L1883 -label L1882 +brif 9 L1847 L1848 +label L1847 load 10 types_TID_ERR load 11 op call 12 pith_cstring_release void 1 11 @@ -55040,8 +54797,8 @@ call 14 pith_struct_release void 1 13 load 15 right_node call 16 pith_struct_release void 1 15 ret 10 -label L1883 -label L1881 +label L1848 +label L1846 load 17 op load 18 node field 19 18 8 string value @@ -55060,8 +54817,8 @@ load 28 op strref 29 m18s746 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L1885 L1886 -label L1885 +brif 30 L1850 L1851 +label L1850 load 32 node load 33 scope_id call 34 checker_check_pipe_expression int 2 32 33 @@ -55072,8 +54829,8 @@ call 38 pith_struct_release void 1 37 load 39 right_node call 40 pith_struct_release void 1 39 ret 34 -label L1886 -label L1884 +label L1851 +label L1849 load 41 left_node load 42 node field 43 42 16 list children @@ -55105,67 +54862,67 @@ load 65 scope_id call 66 checker_c_check_expr int 2 64 65 store right 66 iconst 67 0 -store __or_67_1890 67 +store __or_67_1855 67 load 68 op strref 69 m18s730 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -store __or_67_1890 70 -brif 70 L1891 L1890 -label L1890 +store __or_67_1855 70 +brif 70 L1856 L1855 +label L1855 load 72 op strref 73 m18s728 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -store __or_67_1890 74 -label L1891 -load 76 __or_67_1890 -brif 76 L1888 L1889 -label L1888 +store __or_67_1855 74 +label L1856 +load 76 __or_67_1855 +brif 76 L1853 L1854 +label L1853 iconst 77 0 -store __or_77_1892 77 +store __or_77_1857 77 load 78 left_node field 79 78 0 string kind strref 80 m18s745 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -store __or_77_1892 81 -brif 81 L1893 L1892 -label L1892 +store __or_77_1857 81 +brif 81 L1858 L1857 +label L1857 load 83 left call 84 types_is_none_type bool 1 83 -store __or_77_1892 84 -label L1893 -load 85 __or_77_1892 +store __or_77_1857 84 +label L1858 +load 85 __or_77_1857 store left_is_none 85 iconst 86 0 -store __or_86_1894 86 +store __or_86_1859 86 load 87 right_node field 88 87 0 string kind strref 89 m18s745 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -store __or_86_1894 90 -brif 90 L1895 L1894 -label L1894 +store __or_86_1859 90 +brif 90 L1860 L1859 +label L1859 load 92 right call 93 types_is_none_type bool 1 92 -store __or_86_1894 93 -label L1895 -load 94 __or_86_1894 +store __or_86_1859 93 +label L1860 +load 94 __or_86_1859 store right_is_none 94 iconst 95 0 -store __and_95_1899 95 +store __and_95_1864 95 load 96 left_is_none -store __and_95_1899 96 -brif 96 L1899 L1900 -label L1899 +store __and_95_1864 96 +brif 96 L1864 L1865 +label L1864 load 97 right_is_none -store __and_95_1899 97 -label L1900 -load 98 __and_95_1899 -brif 98 L1897 L1898 -label L1897 +store __and_95_1864 97 +label L1865 +load 98 __and_95_1864 +brif 98 L1862 L1863 +label L1862 load 99 tid_bool load 100 op call 101 pith_cstring_release void 1 100 @@ -55174,19 +54931,19 @@ call 103 pith_struct_release void 1 102 load 104 right_node call 105 pith_struct_release void 1 104 ret 99 -label L1898 -label L1896 +label L1863 +label L1861 load 106 left_is_none -brif 106 L1902 L1903 -label L1902 +brif 106 L1867 L1868 +label L1867 load 107 right call 108 types_get_type_info struct:TypeInfo 1 107 field 109 108 0 string kind strref 110 m18s30 call 111 pith_cstring_eq bool 2 109 110 call 112 pith_cstring_release void 1 110 -brif 111 L1905 L1906 -label L1905 +brif 111 L1870 L1871 +label L1870 load 113 tid_bool load 114 op call 115 pith_cstring_release void 1 114 @@ -55195,22 +54952,22 @@ call 117 pith_struct_release void 1 116 load 118 right_node call 119 pith_struct_release void 1 118 ret 113 -label L1906 -label L1904 -jmp L1901 -label L1903 -label L1901 +label L1871 +label L1869 +jmp L1866 +label L1868 +label L1866 load 120 right_is_none -brif 120 L1908 L1909 -label L1908 +brif 120 L1873 L1874 +label L1873 load 121 left call 122 types_get_type_info struct:TypeInfo 1 121 field 123 122 0 string kind strref 124 m18s30 call 125 pith_cstring_eq bool 2 123 124 call 126 pith_cstring_release void 1 124 -brif 125 L1911 L1912 -label L1911 +brif 125 L1876 L1877 +label L1876 load 127 tid_bool load 128 op call 129 pith_cstring_release void 1 128 @@ -55219,18 +54976,18 @@ call 131 pith_struct_release void 1 130 load 132 right_node call 133 pith_struct_release void 1 132 ret 127 -label L1912 -label L1910 -jmp L1907 -label L1909 -label L1907 -jmp L1887 -label L1889 -label L1887 +label L1877 +label L1875 +jmp L1872 +label L1874 +label L1872 +jmp L1852 +label L1854 +label L1852 load 134 left call 135 types_is_error_type bool 1 134 -brif 135 L1914 L1915 -label L1914 +brif 135 L1879 L1880 +label L1879 load 136 types_TID_ERR load 137 op call 138 pith_cstring_release void 1 137 @@ -55239,12 +54996,12 @@ call 140 pith_struct_release void 1 139 load 141 right_node call 142 pith_struct_release void 1 141 ret 136 -label L1915 -label L1913 +label L1880 +label L1878 load 143 right call 144 types_is_error_type bool 1 143 -brif 144 L1917 L1918 -label L1917 +brif 144 L1882 L1883 +label L1882 load 145 types_TID_ERR load 146 op call 147 pith_cstring_release void 1 146 @@ -55253,24 +55010,24 @@ call 149 pith_struct_release void 1 148 load 150 right_node call 151 pith_struct_release void 1 150 ret 145 -label L1918 -label L1916 +label L1883 +label L1881 load 152 op strref 153 m18s514 call 154 pith_cstring_eq bool 2 152 153 call 155 pith_cstring_release void 1 153 -brif 154 L1920 L1921 -label L1920 +brif 154 L1885 L1886 +label L1885 load 156 left load 157 tid_string eq 158 156 157 -brif 158 L1923 L1924 -label L1923 +brif 158 L1888 L1889 +label L1888 load 159 right load 160 tid_string eq 161 159 160 -brif 161 L1926 L1927 -label L1926 +brif 161 L1891 L1892 +label L1891 load 162 tid_string load 163 op call 164 pith_cstring_release void 1 163 @@ -55279,26 +55036,26 @@ call 166 pith_struct_release void 1 165 load 167 right_node call 168 pith_struct_release void 1 167 ret 162 -label L1927 -label L1925 -jmp L1922 -label L1924 -label L1922 -jmp L1919 -label L1921 -label L1919 +label L1892 +label L1890 +jmp L1887 +label L1889 +label L1887 +jmp L1884 +label L1886 +label L1884 load 169 op strref 170 m18s514 call 171 pith_cstring_eq bool 2 169 170 call 172 pith_cstring_release void 1 170 -brif 171 L1929 L1930 -label L1929 +brif 171 L1894 L1895 +label L1894 load 173 left call 174 types_is_numeric_type bool 1 173 iconst 175 0 eq 176 174 175 -brif 176 L1932 L1933 -label L1932 +brif 176 L1897 L1898 +label L1897 strref 177 m18s447 strref 178 m18s744 load 179 left @@ -55317,13 +55074,13 @@ call 191 pith_struct_release void 1 190 load 192 right_node call 193 pith_struct_release void 1 192 ret 187 -label L1933 -label L1931 +label L1898 +label L1896 load 194 left load 195 right neq 196 194 195 -brif 196 L1935 L1936 -label L1935 +brif 196 L1900 L1901 +label L1900 strref 197 m18s447 strref 198 m18s743 load 199 left @@ -55351,8 +55108,8 @@ call 220 pith_struct_release void 1 219 load 221 right_node call 222 pith_struct_release void 1 221 ret 216 -label L1936 -label L1934 +label L1901 +label L1899 load 223 left load 224 op call 225 pith_cstring_release void 1 224 @@ -55361,20 +55118,20 @@ call 227 pith_struct_release void 1 226 load 228 right_node call 229 pith_struct_release void 1 228 ret 223 -label L1930 -label L1928 +label L1895 +label L1893 load 230 op strref 231 m18s742 call 232 pith_cstring_eq bool 2 230 231 call 233 pith_cstring_release void 1 231 -brif 232 L1938 L1939 -label L1938 +brif 232 L1903 L1904 +label L1903 load 234 left call 235 types_is_numeric_type bool 1 234 iconst 236 0 eq 237 235 236 -brif 237 L1941 L1942 -label L1941 +brif 237 L1906 L1907 +label L1906 strref 238 m18s447 strref 239 m18s741 load 240 left @@ -55393,13 +55150,13 @@ call 252 pith_struct_release void 1 251 load 253 right_node call 254 pith_struct_release void 1 253 ret 248 -label L1942 -label L1940 +label L1907 +label L1905 load 255 left load 256 right neq 257 255 256 -brif 257 L1944 L1945 -label L1944 +brif 257 L1909 L1910 +label L1909 strref 258 m18s447 strref 259 m18s740 load 260 left @@ -55427,8 +55184,8 @@ call 281 pith_struct_release void 1 280 load 282 right_node call 283 pith_struct_release void 1 282 ret 277 -label L1945 -label L1943 +label L1910 +label L1908 load 284 left load 285 op call 286 pith_cstring_release void 1 285 @@ -55437,20 +55194,20 @@ call 288 pith_struct_release void 1 287 load 289 right_node call 290 pith_struct_release void 1 289 ret 284 -label L1939 -label L1937 +label L1904 +label L1902 load 291 op strref 292 m18s739 call 293 pith_cstring_eq bool 2 291 292 call 294 pith_cstring_release void 1 292 -brif 293 L1947 L1948 -label L1947 +brif 293 L1912 L1913 +label L1912 load 295 left call 296 types_is_numeric_type bool 1 295 iconst 297 0 eq 298 296 297 -brif 298 L1950 L1951 -label L1950 +brif 298 L1915 L1916 +label L1915 strref 299 m18s447 strref 300 m18s738 load 301 left @@ -55469,13 +55226,13 @@ call 313 pith_struct_release void 1 312 load 314 right_node call 315 pith_struct_release void 1 314 ret 309 -label L1951 -label L1949 +label L1916 +label L1914 load 316 left load 317 right neq 318 316 317 -brif 318 L1953 L1954 -label L1953 +brif 318 L1918 L1919 +label L1918 strref 319 m18s447 strref 320 m18s737 load 321 left @@ -55503,8 +55260,8 @@ call 342 pith_struct_release void 1 341 load 343 right_node call 344 pith_struct_release void 1 343 ret 338 -label L1954 -label L1952 +label L1919 +label L1917 load 345 left load 346 op call 347 pith_cstring_release void 1 346 @@ -55513,20 +55270,20 @@ call 349 pith_struct_release void 1 348 load 350 right_node call 351 pith_struct_release void 1 350 ret 345 -label L1948 -label L1946 +label L1913 +label L1911 load 352 op strref 353 m18s736 call 354 pith_cstring_eq bool 2 352 353 call 355 pith_cstring_release void 1 353 -brif 354 L1956 L1957 -label L1956 +brif 354 L1921 L1922 +label L1921 load 356 left call 357 types_is_numeric_type bool 1 356 iconst 358 0 eq 359 357 358 -brif 359 L1959 L1960 -label L1959 +brif 359 L1924 L1925 +label L1924 strref 360 m18s447 strref 361 m18s735 load 362 left @@ -55545,13 +55302,13 @@ call 374 pith_struct_release void 1 373 load 375 right_node call 376 pith_struct_release void 1 375 ret 370 -label L1960 -label L1958 +label L1925 +label L1923 load 377 left load 378 right neq 379 377 378 -brif 379 L1962 L1963 -label L1962 +brif 379 L1927 L1928 +label L1927 strref 380 m18s447 strref 381 m18s734 load 382 left @@ -55579,8 +55336,8 @@ call 403 pith_struct_release void 1 402 load 404 right_node call 405 pith_struct_release void 1 404 ret 399 -label L1963 -label L1961 +label L1928 +label L1926 load 406 left load 407 op call 408 pith_cstring_release void 1 407 @@ -55589,20 +55346,20 @@ call 410 pith_struct_release void 1 409 load 411 right_node call 412 pith_struct_release void 1 411 ret 406 -label L1957 -label L1955 +label L1922 +label L1920 load 413 op strref 414 m18s733 call 415 pith_cstring_eq bool 2 413 414 call 416 pith_cstring_release void 1 414 -brif 415 L1965 L1966 -label L1965 +brif 415 L1930 L1931 +label L1930 load 417 left call 418 types_is_integer_type bool 1 417 iconst 419 0 eq 420 418 419 -brif 420 L1968 L1969 -label L1968 +brif 420 L1933 L1934 +label L1933 strref 421 m18s447 strref 422 m18s732 load 423 left @@ -55621,13 +55378,13 @@ call 435 pith_struct_release void 1 434 load 436 right_node call 437 pith_struct_release void 1 436 ret 431 -label L1969 -label L1967 +label L1934 +label L1932 load 438 left load 439 right neq 440 438 439 -brif 440 L1971 L1972 -label L1971 +brif 440 L1936 L1937 +label L1936 strref 441 m18s447 strref 442 m18s731 load 443 left @@ -55655,8 +55412,8 @@ call 464 pith_struct_release void 1 463 load 465 right_node call 466 pith_struct_release void 1 465 ret 460 -label L1972 -label L1970 +label L1937 +label L1935 load 467 left load 468 op call 469 pith_cstring_release void 1 468 @@ -55665,45 +55422,45 @@ call 471 pith_struct_release void 1 470 load 472 right_node call 473 pith_struct_release void 1 472 ret 467 -label L1966 -label L1964 +label L1931 +label L1929 load 474 op strref 475 m18s730 call 476 pith_cstring_eq bool 2 474 475 call 477 pith_cstring_release void 1 475 -brif 476 L1974 L1975 -label L1974 +brif 476 L1939 L1940 +label L1939 iconst 478 0 -store __and_478_1979 478 +store __and_478_1944 478 iconst 479 0 -store __and_479_1979 479 +store __and_479_1944 479 load 480 left load 481 right neq 482 480 481 -store __and_479_1979 482 -brif 482 L1979 L1980 -label L1979 +store __and_479_1944 482 +brif 482 L1944 L1945 +label L1944 load 483 left load 484 right call 485 checker_optional_types_match bool 2 483 484 iconst 486 0 eq 487 485 486 -store __and_479_1979 487 -label L1980 -load 488 __and_479_1979 -store __and_478_1979 488 -brif 488 L1981 L1982 -label L1981 +store __and_479_1944 487 +label L1945 +load 488 __and_479_1944 +store __and_478_1944 488 +brif 488 L1946 L1947 +label L1946 load 489 left load 490 right call 491 checker_optional_plain_comparison bool 2 489 490 iconst 492 0 eq 493 491 492 -store __and_478_1979 493 -label L1982 -load 494 __and_478_1979 -brif 494 L1977 L1978 -label L1977 +store __and_478_1944 493 +label L1947 +load 494 __and_478_1944 +brif 494 L1942 L1943 +label L1942 strref 495 m18s447 strref 496 m18s729 load 497 left @@ -55731,8 +55488,8 @@ call 518 pith_struct_release void 1 517 load 519 right_node call 520 pith_struct_release void 1 519 ret 514 -label L1978 -label L1976 +label L1943 +label L1941 load 521 tid_bool load 522 op call 523 pith_cstring_release void 1 522 @@ -55741,45 +55498,45 @@ call 525 pith_struct_release void 1 524 load 526 right_node call 527 pith_struct_release void 1 526 ret 521 -label L1975 -label L1973 +label L1940 +label L1938 load 528 op strref 529 m18s728 call 530 pith_cstring_eq bool 2 528 529 call 531 pith_cstring_release void 1 529 -brif 530 L1984 L1985 -label L1984 +brif 530 L1949 L1950 +label L1949 iconst 532 0 -store __and_532_1989 532 +store __and_532_1954 532 iconst 533 0 -store __and_533_1989 533 +store __and_533_1954 533 load 534 left load 535 right neq 536 534 535 -store __and_533_1989 536 -brif 536 L1989 L1990 -label L1989 +store __and_533_1954 536 +brif 536 L1954 L1955 +label L1954 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_1989 541 -label L1990 -load 542 __and_533_1989 -store __and_532_1989 542 -brif 542 L1991 L1992 -label L1991 +store __and_533_1954 541 +label L1955 +load 542 __and_533_1954 +store __and_532_1954 542 +brif 542 L1956 L1957 +label L1956 load 543 left load 544 right call 545 checker_optional_plain_comparison bool 2 543 544 iconst 546 0 eq 547 545 546 -store __and_532_1989 547 -label L1992 -load 548 __and_532_1989 -brif 548 L1987 L1988 -label L1987 +store __and_532_1954 547 +label L1957 +load 548 __and_532_1954 +brif 548 L1952 L1953 +label L1952 strref 549 m18s447 strref 550 m18s727 load 551 left @@ -55807,8 +55564,8 @@ call 572 pith_struct_release void 1 571 load 573 right_node call 574 pith_struct_release void 1 573 ret 568 -label L1988 -label L1986 +label L1953 +label L1951 load 575 tid_bool load 576 op call 577 pith_cstring_release void 1 576 @@ -55817,25 +55574,25 @@ call 579 pith_struct_release void 1 578 load 580 right_node call 581 pith_struct_release void 1 580 ret 575 -label L1985 -label L1983 +label L1950 +label L1948 load 582 op strref 583 m18s726 call 584 pith_cstring_eq bool 2 582 583 call 585 pith_cstring_release void 1 583 -brif 584 L1994 L1995 -label L1994 +brif 584 L1959 L1960 +label L1959 load 586 left call 587 types_is_numeric_type bool 1 586 iconst 588 0 eq 589 587 588 -brif 589 L1997 L1998 -label L1997 +brif 589 L1962 L1963 +label L1962 load 590 left load 591 tid_string neq 592 590 591 -brif 592 L2000 L2001 -label L2000 +brif 592 L1965 L1966 +label L1965 strref 593 m18s447 strref 594 m18s725 load 595 left @@ -55854,16 +55611,16 @@ call 607 pith_struct_release void 1 606 load 608 right_node call 609 pith_struct_release void 1 608 ret 603 -label L2001 -label L1999 -jmp L1996 -label L1998 -label L1996 +label L1966 +label L1964 +jmp L1961 +label L1963 +label L1961 load 610 left load 611 right neq 612 610 611 -brif 612 L2003 L2004 -label L2003 +brif 612 L1968 L1969 +label L1968 strref 613 m18s447 strref 614 m18s724 load 615 left @@ -55891,8 +55648,8 @@ call 636 pith_struct_release void 1 635 load 637 right_node call 638 pith_struct_release void 1 637 ret 632 -label L2004 -label L2002 +label L1969 +label L1967 load 639 tid_bool load 640 op call 641 pith_cstring_release void 1 640 @@ -55901,25 +55658,25 @@ call 643 pith_struct_release void 1 642 load 644 right_node call 645 pith_struct_release void 1 644 ret 639 -label L1995 -label L1993 +label L1960 +label L1958 load 646 op strref 647 m18s723 call 648 pith_cstring_eq bool 2 646 647 call 649 pith_cstring_release void 1 647 -brif 648 L2006 L2007 -label L2006 +brif 648 L1971 L1972 +label L1971 load 650 left call 651 types_is_numeric_type bool 1 650 iconst 652 0 eq 653 651 652 -brif 653 L2009 L2010 -label L2009 +brif 653 L1974 L1975 +label L1974 load 654 left load 655 tid_string neq 656 654 655 -brif 656 L2012 L2013 -label L2012 +brif 656 L1977 L1978 +label L1977 strref 657 m18s447 strref 658 m18s722 load 659 left @@ -55938,16 +55695,16 @@ call 671 pith_struct_release void 1 670 load 672 right_node call 673 pith_struct_release void 1 672 ret 667 -label L2013 -label L2011 -jmp L2008 -label L2010 -label L2008 +label L1978 +label L1976 +jmp L1973 +label L1975 +label L1973 load 674 left load 675 right neq 676 674 675 -brif 676 L2015 L2016 -label L2015 +brif 676 L1980 L1981 +label L1980 strref 677 m18s447 strref 678 m18s721 load 679 left @@ -55975,8 +55732,8 @@ call 700 pith_struct_release void 1 699 load 701 right_node call 702 pith_struct_release void 1 701 ret 696 -label L2016 -label L2014 +label L1981 +label L1979 load 703 tid_bool load 704 op call 705 pith_cstring_release void 1 704 @@ -55985,25 +55742,25 @@ call 707 pith_struct_release void 1 706 load 708 right_node call 709 pith_struct_release void 1 708 ret 703 -label L2007 -label L2005 +label L1972 +label L1970 load 710 op strref 711 m18s720 call 712 pith_cstring_eq bool 2 710 711 call 713 pith_cstring_release void 1 711 -brif 712 L2018 L2019 -label L2018 +brif 712 L1983 L1984 +label L1983 load 714 left call 715 types_is_numeric_type bool 1 714 iconst 716 0 eq 717 715 716 -brif 717 L2021 L2022 -label L2021 +brif 717 L1986 L1987 +label L1986 load 718 left load 719 tid_string neq 720 718 719 -brif 720 L2024 L2025 -label L2024 +brif 720 L1989 L1990 +label L1989 strref 721 m18s447 strref 722 m18s719 load 723 left @@ -56022,16 +55779,16 @@ call 735 pith_struct_release void 1 734 load 736 right_node call 737 pith_struct_release void 1 736 ret 731 -label L2025 -label L2023 -jmp L2020 -label L2022 -label L2020 +label L1990 +label L1988 +jmp L1985 +label L1987 +label L1985 load 738 left load 739 right neq 740 738 739 -brif 740 L2027 L2028 -label L2027 +brif 740 L1992 L1993 +label L1992 strref 741 m18s447 strref 742 m18s718 load 743 left @@ -56059,8 +55816,8 @@ call 764 pith_struct_release void 1 763 load 765 right_node call 766 pith_struct_release void 1 765 ret 760 -label L2028 -label L2026 +label L1993 +label L1991 load 767 tid_bool load 768 op call 769 pith_cstring_release void 1 768 @@ -56069,25 +55826,25 @@ call 771 pith_struct_release void 1 770 load 772 right_node call 773 pith_struct_release void 1 772 ret 767 -label L2019 -label L2017 +label L1984 +label L1982 load 774 op strref 775 m18s717 call 776 pith_cstring_eq bool 2 774 775 call 777 pith_cstring_release void 1 775 -brif 776 L2030 L2031 -label L2030 +brif 776 L1995 L1996 +label L1995 load 778 left call 779 types_is_numeric_type bool 1 778 iconst 780 0 eq 781 779 780 -brif 781 L2033 L2034 -label L2033 +brif 781 L1998 L1999 +label L1998 load 782 left load 783 tid_string neq 784 782 783 -brif 784 L2036 L2037 -label L2036 +brif 784 L2001 L2002 +label L2001 strref 785 m18s447 strref 786 m18s716 load 787 left @@ -56106,16 +55863,16 @@ call 799 pith_struct_release void 1 798 load 800 right_node call 801 pith_struct_release void 1 800 ret 795 -label L2037 -label L2035 -jmp L2032 -label L2034 -label L2032 +label L2002 +label L2000 +jmp L1997 +label L1999 +label L1997 load 802 left load 803 right neq 804 802 803 -brif 804 L2039 L2040 -label L2039 +brif 804 L2004 L2005 +label L2004 strref 805 m18s447 strref 806 m18s715 load 807 left @@ -56143,8 +55900,8 @@ call 828 pith_struct_release void 1 827 load 829 right_node call 830 pith_struct_release void 1 829 ret 824 -label L2040 -label L2038 +label L2005 +label L2003 load 831 tid_bool load 832 op call 833 pith_cstring_release void 1 832 @@ -56153,19 +55910,19 @@ call 835 pith_struct_release void 1 834 load 836 right_node call 837 pith_struct_release void 1 836 ret 831 -label L2031 -label L2029 +label L1996 +label L1994 load 838 op strref 839 m18s714 call 840 pith_cstring_eq bool 2 838 839 call 841 pith_cstring_release void 1 839 -brif 840 L2042 L2043 -label L2042 +brif 840 L2007 L2008 +label L2007 load 842 left load 843 tid_bool neq 844 842 843 -brif 844 L2045 L2046 -label L2045 +brif 844 L2010 L2011 +label L2010 strref 845 m18s447 strref 846 m18s713 load 847 left @@ -56184,13 +55941,13 @@ call 859 pith_struct_release void 1 858 load 860 right_node call 861 pith_struct_release void 1 860 ret 855 -label L2046 -label L2044 +label L2011 +label L2009 load 862 right load 863 tid_bool neq 864 862 863 -brif 864 L2048 L2049 -label L2048 +brif 864 L2013 L2014 +label L2013 strref 865 m18s447 strref 866 m18s713 load 867 right @@ -56209,8 +55966,8 @@ call 879 pith_struct_release void 1 878 load 880 right_node call 881 pith_struct_release void 1 880 ret 875 -label L2049 -label L2047 +label L2014 +label L2012 load 882 tid_bool load 883 op call 884 pith_cstring_release void 1 883 @@ -56219,19 +55976,19 @@ call 886 pith_struct_release void 1 885 load 887 right_node call 888 pith_struct_release void 1 887 ret 882 -label L2043 -label L2041 +label L2008 +label L2006 load 889 op strref 890 m18s712 call 891 pith_cstring_eq bool 2 889 890 call 892 pith_cstring_release void 1 890 -brif 891 L2051 L2052 -label L2051 +brif 891 L2016 L2017 +label L2016 load 893 left load 894 tid_bool neq 895 893 894 -brif 895 L2054 L2055 -label L2054 +brif 895 L2019 L2020 +label L2019 strref 896 m18s447 strref 897 m18s711 load 898 left @@ -56250,13 +56007,13 @@ call 910 pith_struct_release void 1 909 load 911 right_node call 912 pith_struct_release void 1 911 ret 906 -label L2055 -label L2053 +label L2020 +label L2018 load 913 right load 914 tid_bool neq 915 913 914 -brif 915 L2057 L2058 -label L2057 +brif 915 L2022 L2023 +label L2022 strref 916 m18s447 strref 917 m18s711 load 918 right @@ -56275,8 +56032,8 @@ call 930 pith_struct_release void 1 929 load 931 right_node call 932 pith_struct_release void 1 931 ret 926 -label L2058 -label L2056 +label L2023 +label L2021 load 933 tid_bool load 934 op call 935 pith_cstring_release void 1 934 @@ -56285,8 +56042,8 @@ call 937 pith_struct_release void 1 936 load 938 right_node call 939 pith_struct_release void 1 938 ret 933 -label L2052 -label L2050 +label L2017 +label L2015 load 940 types_TID_ERR load 941 op call 942 pith_cstring_release void 1 941 @@ -56322,8 +56079,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 L2060 L2061 -label L2060 +brif 12 L2025 L2026 +label L2025 load 13 types_TID_ERR load 14 rhs_node call 15 pith_struct_release void 1 14 @@ -56332,8 +56089,8 @@ call 17 pith_cstring_release void 1 16 load 18 fn_info call 19 pith_struct_release void 1 18 ret 13 -label L2061 -label L2059 +label L2026 +label L2024 load 20 rhs_node load 21 node field 22 21 16 list children @@ -56349,8 +56106,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 L2063 L2064 -label L2063 +brif 30 L2028 L2029 +label L2028 strref 34 m18s613 strref 35 m18s710 call 36 checker_diagnostics_report_error void 2 34 35 @@ -56364,8 +56121,8 @@ call 43 pith_cstring_release void 1 42 load 44 fn_info call 45 pith_struct_release void 1 44 ret 39 -label L2064 -label L2062 +label L2029 +label L2027 load 46 fn_name load 47 rhs_node field 48 47 8 string value @@ -56379,8 +56136,8 @@ store fn_tid 53 load 54 fn_tid iconst 55 0 lt 56 54 55 -brif 56 L2066 L2067 -label L2066 +brif 56 L2031 L2032 +label L2031 strref 57 m18s586 strref 58 m18s590 load 59 fn_name @@ -56397,8 +56154,8 @@ call 69 pith_cstring_release void 1 68 load 70 fn_info call 71 pith_struct_release void 1 70 ret 65 -label L2067 -label L2065 +label L2032 +label L2030 load 72 fn_info load 73 fn_tid call 74 types_get_type_info struct:TypeInfo 1 73 @@ -56411,8 +56168,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 L2069 L2070 -label L2069 +brif 79 L2034 L2035 +label L2034 strref 83 m18s613 strref 84 m18s376 load 85 fn_name @@ -56433,15 +56190,15 @@ call 99 pith_cstring_release void 1 98 load 100 fn_info call 101 pith_struct_release void 1 100 ret 95 -label L2070 -label L2068 +label L2035 +label L2033 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 L2072 L2073 -label L2072 +brif 106 L2037 L2038 +label L2037 strref 107 m18s333 strref 108 m18s708 load 109 fn_name @@ -56462,16 +56219,16 @@ call 123 pith_cstring_release void 1 122 load 124 fn_info call 125 pith_struct_release void 1 124 ret 119 -label L2073 -label L2071 +label L2038 +label L2036 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 L2075 L2076 -label L2075 +brif 131 L2040 L2041 +label L2040 strref 132 m18s402 strref 133 m18s706 load 134 fn_info @@ -56502,8 +56259,8 @@ call 158 pith_cstring_release void 1 157 load 159 fn_info call 160 pith_struct_release void 1 159 ret 154 -label L2076 -label L2074 +label L2041 +label L2039 load 161 fn_info field 162 161 56 int return_type load 163 rhs_node @@ -56536,14 +56293,14 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 1 lt 10 8 9 -brif 10 L2078 L2079 -label L2078 +brif 10 L2043 L2044 +label L2043 load 11 types_TID_ERR load 12 op call 13 pith_cstring_release void 1 12 ret 11 -label L2079 -label L2077 +label L2044 +label L2042 load 14 node field 15 14 16 list children iconst 16 0 @@ -56553,14 +56310,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 L2081 L2082 -label L2081 +brif 21 L2046 L2047 +label L2046 load 22 types_TID_ERR load 23 op call 24 pith_cstring_release void 1 23 ret 22 -label L2082 -label L2080 +label L2047 +label L2045 load 25 op load 26 node field 27 26 8 string value @@ -56571,14 +56328,14 @@ load 30 op strref 31 m18s705 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L2084 L2085 -label L2084 +brif 32 L2049 L2050 +label L2049 load 34 operand call 35 types_is_numeric_type bool 1 34 iconst 36 0 eq 37 35 36 -brif 37 L2087 L2088 -label L2087 +brif 37 L2052 L2053 +label L2052 strref 38 m18s447 strref 39 m18s704 load 40 operand @@ -56593,25 +56350,25 @@ load 48 types_TID_ERR load 49 op call 50 pith_cstring_release void 1 49 ret 48 -label L2088 -label L2086 +label L2053 +label L2051 load 51 operand load 52 op call 53 pith_cstring_release void 1 52 ret 51 -label L2085 -label L2083 +label L2050 +label L2048 load 54 op strref 55 m18s703 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L2090 L2091 -label L2090 +brif 56 L2055 L2056 +label L2055 load 58 operand load 59 tid_bool neq 60 58 59 -brif 60 L2093 L2094 -label L2093 +brif 60 L2058 L2059 +label L2058 strref 61 m18s447 strref 62 m18s702 load 63 operand @@ -56626,14 +56383,14 @@ load 71 types_TID_ERR load 72 op call 73 pith_cstring_release void 1 72 ret 71 -label L2094 -label L2092 +label L2059 +label L2057 load 74 tid_bool load 75 op call 76 pith_cstring_release void 1 75 ret 74 -label L2091 -label L2089 +label L2056 +label L2054 load 77 types_TID_ERR load 78 op call 79 pith_cstring_release void 1 78 @@ -56651,7 +56408,7 @@ store base_node 2 iconst 3 0 store recv_node 3 iconst 4 0 -store __or_4_2098 4 +store __or_4_2063 4 load 5 index_node field 6 5 0 string kind strref 7 m18s317 @@ -56659,27 +56416,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_2098 8 -brif 8 L2099 L2098 -label L2098 +store __or_4_2063 8 +brif 8 L2064 L2063 +label L2063 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_2098 16 -label L2099 -load 17 __or_4_2098 -brif 17 L2096 L2097 -label L2096 +store __or_4_2063 16 +label L2064 +load 17 __or_4_2063 +brif 17 L2061 L2062 +label L2061 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 L2097 -label L2095 +label L2062 +label L2060 load 23 base_node load 24 index_node field 25 24 16 list children @@ -56689,7 +56446,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_2103 30 +store __or_30_2068 30 load 31 base_node field 32 31 0 string kind strref 33 m18s318 @@ -56697,43 +56454,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_2103 34 -brif 34 L2104 L2103 -label L2103 +store __or_30_2068 34 +brif 34 L2069 L2068 +label L2068 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_2103 41 -label L2104 -load 44 __or_30_2103 -brif 44 L2101 L2102 -label L2101 +store __or_30_2068 41 +label L2069 +load 44 __or_30_2068 +brif 44 L2066 L2067 +label L2066 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 L2102 -label L2100 +label L2067 +label L2065 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 L2106 L2107 -label L2106 +brif 54 L2071 L2072 +label L2071 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 L2107 -label L2105 +label L2072 +label L2070 load 60 recv_node load 61 base_node field 62 61 16 list children @@ -56749,22 +56506,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 L2109 L2110 -label L2109 +brif 70 L2074 L2075 +label L2074 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 L2110 -label L2108 +label L2075 +label L2073 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 L2112 L2113 -label L2112 +brif 82 L2077 L2078 +label L2077 load 83 checker_module_aliases load 84 recv_node field 85 84 8 string value @@ -56772,37 +56529,37 @@ call 86 map_get_strict string 2 83 85 strref 87 m18s123 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 -brif 88 L2115 L2116 -label L2115 +brif 88 L2080 L2081 +label L2080 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 L2116 -label L2114 -jmp L2111 -label L2113 -label L2111 +label L2081 +label L2079 +jmp L2076 +label L2078 +label L2076 iconst 95 0 -store __or_95_2117 95 +store __or_95_2082 95 load 96 recv_node field 97 96 8 string value strref 98 m18s701 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __or_95_2117 99 -brif 99 L2118 L2117 -label L2117 +store __or_95_2082 99 +brif 99 L2083 L2082 +label L2082 load 101 recv_node field 102 101 8 string value strref 103 m18s700 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __or_95_2117 104 -label L2118 -load 106 __or_95_2117 +store __or_95_2082 104 +label L2083 +load 106 __or_95_2082 load 107 base_node call 108 pith_struct_release void 1 107 load 109 recv_node @@ -56823,7 +56580,7 @@ store base_node 2 iconst 3 0 store recv_node 3 iconst 4 0 -store __or_4_2122 4 +store __or_4_2087 4 load 5 index_node field 6 5 0 string kind strref 7 m18s317 @@ -56831,27 +56588,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_2122 8 -brif 8 L2123 L2122 -label L2122 +store __or_4_2087 8 +brif 8 L2088 L2087 +label L2087 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_2122 16 -label L2123 -load 17 __or_4_2122 -brif 17 L2120 L2121 -label L2120 +store __or_4_2087 16 +label L2088 +load 17 __or_4_2087 +brif 17 L2085 L2086 +label L2085 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 L2121 -label L2119 +label L2086 +label L2084 load 23 base_node load 24 index_node field 25 24 16 list children @@ -56861,7 +56618,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_2127 30 +store __or_30_2092 30 load 31 base_node field 32 31 0 string kind strref 33 m18s318 @@ -56869,43 +56626,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_2127 34 -brif 34 L2128 L2127 -label L2127 +store __or_30_2092 34 +brif 34 L2093 L2092 +label L2092 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_2127 41 -label L2128 -load 44 __or_30_2127 -brif 44 L2125 L2126 -label L2125 +store __or_30_2092 41 +label L2093 +load 44 __or_30_2092 +brif 44 L2090 L2091 +label L2090 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 L2126 -label L2124 +label L2091 +label L2089 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 L2130 L2131 -label L2130 +brif 54 L2095 L2096 +label L2095 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 L2131 -label L2129 +label L2096 +label L2094 load 60 recv_node load 61 base_node field 62 61 16 list children @@ -56921,22 +56678,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 L2133 L2134 -label L2133 +brif 70 L2098 L2099 +label L2098 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 L2134 -label L2132 +label L2099 +label L2097 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 L2136 L2137 -label L2136 +brif 82 L2101 L2102 +label L2101 load 83 checker_module_aliases load 84 recv_node field 85 84 8 string value @@ -56944,37 +56701,37 @@ call 86 map_get_strict string 2 83 85 strref 87 m18s692 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 -brif 88 L2139 L2140 -label L2139 +brif 88 L2104 L2105 +label L2104 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 L2140 -label L2138 -jmp L2135 -label L2137 -label L2135 +label L2105 +label L2103 +jmp L2100 +label L2102 +label L2100 iconst 95 0 -store __or_95_2141 95 +store __or_95_2106 95 load 96 recv_node field 97 96 8 string value strref 98 m18s691 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __or_95_2141 99 -brif 99 L2142 L2141 -label L2141 +store __or_95_2106 99 +brif 99 L2107 L2106 +label L2106 load 101 recv_node field 102 101 8 string value strref 103 m18s690 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __or_95_2141 104 -label L2142 -load 106 __or_95_2141 +store __or_95_2106 104 +label L2107 +load 106 __or_95_2106 load 107 base_node call 108 pith_struct_release void 1 107 load 109 recv_node @@ -56995,7 +56752,7 @@ store base_node 2 iconst 3 0 store recv_node 3 iconst 4 0 -store __or_4_2146 4 +store __or_4_2111 4 load 5 index_node field 6 5 0 string kind strref 7 m18s317 @@ -57003,27 +56760,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_2146 8 -brif 8 L2147 L2146 -label L2146 +store __or_4_2111 8 +brif 8 L2112 L2111 +label L2111 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_2146 16 -label L2147 -load 17 __or_4_2146 -brif 17 L2144 L2145 -label L2144 +store __or_4_2111 16 +label L2112 +load 17 __or_4_2111 +brif 17 L2109 L2110 +label L2109 strref 18 m18s36 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 L2145 -label L2143 +label L2110 +label L2108 load 23 base_node load 24 index_node field 25 24 16 list children @@ -57033,7 +56790,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_2151 30 +store __or_30_2116 30 load 31 base_node field 32 31 0 string kind strref 33 m18s318 @@ -57041,43 +56798,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_2151 34 -brif 34 L2152 L2151 -label L2151 +store __or_30_2116 34 +brif 34 L2117 L2116 +label L2116 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_2151 41 -label L2152 -load 44 __or_30_2151 -brif 44 L2149 L2150 -label L2149 +store __or_30_2116 41 +label L2117 +load 44 __or_30_2116 +brif 44 L2114 L2115 +label L2114 strref 45 m18s36 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 L2150 -label L2148 +label L2115 +label L2113 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 L2154 L2155 -label L2154 +brif 54 L2119 L2120 +label L2119 strref 55 m18s36 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 L2155 -label L2153 +label L2120 +label L2118 load 60 recv_node load 61 base_node field 62 61 16 list children @@ -57093,22 +56850,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 L2157 L2158 -label L2157 +brif 70 L2122 L2123 +label L2122 strref 74 m18s36 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 L2158 -label L2156 +label L2123 +label L2121 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 L2160 L2161 -label L2160 +brif 82 L2125 L2126 +label L2125 load 83 checker_module_aliases load 84 recv_node field 85 84 8 string value @@ -57116,16 +56873,16 @@ call 86 map_get_strict string 2 83 85 strref 87 m18s121 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 -brif 88 L2163 L2164 -label L2163 +brif 88 L2128 L2129 +label L2128 strref 90 m18s697 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 L2164 -label L2162 +label L2129 +label L2127 load 95 checker_module_aliases load 96 recv_node field 97 96 8 string value @@ -57133,75 +56890,75 @@ call 98 map_get_strict string 2 95 97 strref 99 m18s699 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -brif 100 L2166 L2167 -label L2166 +brif 100 L2131 L2132 +label L2131 strref 102 m18s695 load 103 base_node call 104 pith_struct_release void 1 103 load 105 recv_node call 106 pith_struct_release void 1 105 ret 102 -label L2167 -label L2165 -jmp L2159 -label L2161 -label L2159 +label L2132 +label L2130 +jmp L2124 +label L2126 +label L2124 iconst 107 0 -store __or_107_2171 107 +store __or_107_2136 107 load 108 recv_node field 109 108 8 string value strref 110 m18s697 call 111 pith_cstring_eq bool 2 109 110 call 112 pith_cstring_release void 1 110 -store __or_107_2171 111 -brif 111 L2172 L2171 -label L2171 +store __or_107_2136 111 +brif 111 L2137 L2136 +label L2136 load 113 recv_node field 114 113 8 string value strref 115 m18s698 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -store __or_107_2171 116 -label L2172 -load 118 __or_107_2171 -brif 118 L2169 L2170 -label L2169 +store __or_107_2136 116 +label L2137 +load 118 __or_107_2136 +brif 118 L2134 L2135 +label L2134 strref 119 m18s697 load 120 base_node call 121 pith_struct_release void 1 120 load 122 recv_node call 123 pith_struct_release void 1 122 ret 119 -label L2170 -label L2168 +label L2135 +label L2133 iconst 124 0 -store __or_124_2176 124 +store __or_124_2141 124 load 125 recv_node field 126 125 8 string value strref 127 m18s695 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __or_124_2176 128 -brif 128 L2177 L2176 -label L2176 +store __or_124_2141 128 +brif 128 L2142 L2141 +label L2141 load 130 recv_node field 131 130 8 string value strref 132 m18s696 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_124_2176 133 -label L2177 -load 135 __or_124_2176 -brif 135 L2174 L2175 -label L2174 +store __or_124_2141 133 +label L2142 +load 135 __or_124_2141 +brif 135 L2139 L2140 +label L2139 strref 136 m18s695 load 137 base_node call 138 pith_struct_release void 1 137 load 139 recv_node call 140 pith_struct_release void 1 139 ret 136 -label L2175 -label L2173 +label L2140 +label L2138 strref 141 m18s36 load 142 base_node call 143 pith_struct_release void 1 142 @@ -57235,12 +56992,12 @@ load 1 module_name strref 2 m18s695 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2179 L2180 -label L2179 +brif 3 L2144 L2145 +label L2144 strref 5 m18s694 ret 5 -label L2180 -label L2178 +label L2145 +label L2143 strref 6 m18s693 ret 6 iconst 7 0 @@ -57254,7 +57011,7 @@ store base_node 2 iconst 3 0 store recv_node 3 iconst 4 0 -store __or_4_2184 4 +store __or_4_2149 4 load 5 index_node field 6 5 0 string kind strref 7 m18s317 @@ -57262,27 +57019,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_2184 8 -brif 8 L2185 L2184 -label L2184 +store __or_4_2149 8 +brif 8 L2150 L2149 +label L2149 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_2184 16 -label L2185 -load 17 __or_4_2184 -brif 17 L2182 L2183 -label L2182 +store __or_4_2149 16 +label L2150 +load 17 __or_4_2149 +brif 17 L2147 L2148 +label L2147 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 L2183 -label L2181 +label L2148 +label L2146 load 23 base_node load 24 index_node field 25 24 16 list children @@ -57296,8 +57053,8 @@ field 31 30 0 string kind strref 32 m18s319 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2187 L2188 -label L2187 +brif 33 L2152 L2153 +label L2152 load 35 base_node field 36 35 8 string value load 37 member_name @@ -57307,10 +57064,10 @@ call 40 pith_struct_release void 1 39 load 41 recv_node call 42 pith_struct_release void 1 41 ret 38 -label L2188 -label L2186 +label L2153 +label L2151 iconst 43 0 -store __or_43_2192 43 +store __or_43_2157 43 load 44 base_node field 45 44 0 string kind strref 46 m18s318 @@ -57318,43 +57075,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_2192 47 -brif 47 L2193 L2192 -label L2192 +store __or_43_2157 47 +brif 47 L2158 L2157 +label L2157 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_2192 54 -label L2193 -load 57 __or_43_2192 -brif 57 L2190 L2191 -label L2190 +store __or_43_2157 54 +label L2158 +load 57 __or_43_2157 +brif 57 L2155 L2156 +label L2155 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 L2191 -label L2189 +label L2156 +label L2154 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 L2195 L2196 -label L2195 +brif 67 L2160 L2161 +label L2160 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 L2196 -label L2194 +label L2161 +label L2159 load 73 recv_node load 74 base_node field 75 74 16 list children @@ -57370,22 +57127,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 L2198 L2199 -label L2198 +brif 83 L2163 L2164 +label L2163 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 L2199 -label L2197 +label L2164 +label L2162 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 L2201 L2202 -label L2201 +brif 95 L2166 L2167 +label L2166 load 96 checker_module_aliases load 97 recv_node field 98 97 8 string value @@ -57393,37 +57150,37 @@ call 99 map_get_strict string 2 96 98 strref 100 m18s692 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -brif 101 L2204 L2205 -label L2204 +brif 101 L2169 L2170 +label L2169 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 L2205 -label L2203 -jmp L2200 -label L2202 -label L2200 +label L2170 +label L2168 +jmp L2165 +label L2167 +label L2165 iconst 108 0 -store __or_108_2206 108 +store __or_108_2171 108 load 109 recv_node field 110 109 8 string value strref 111 m18s691 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -store __or_108_2206 112 -brif 112 L2207 L2206 -label L2206 +store __or_108_2171 112 +brif 112 L2172 L2171 +label L2171 load 114 recv_node field 115 114 8 string value strref 116 m18s690 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __or_108_2206 117 -label L2207 -load 119 __or_108_2206 +store __or_108_2171 117 +label L2172 +load 119 __or_108_2171 load 120 base_node call 121 pith_struct_release void 1 120 load 122 recv_node @@ -57452,8 +57209,8 @@ field 8 7 0 string kind strref 9 m18s319 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L2209 L2210 -label L2209 +brif 10 L2174 L2175 +label L2174 load 12 type_arg field 13 12 8 string value call 14 checker_resolve_named_type int 1 13 @@ -57462,28 +57219,28 @@ call 16 pith_struct_release void 1 15 load 17 recv call 18 pith_struct_release void 1 17 ret 14 -label L2210 -label L2208 +label L2175 +label L2173 iconst 19 0 -store __and_19_2214 19 +store __and_19_2179 19 load 20 type_arg field 21 20 0 string kind strref 22 m18s318 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __and_19_2214 23 -brif 23 L2214 L2215 -label L2214 +store __and_19_2179 23 +brif 23 L2179 L2180 +label L2179 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_2214 29 -label L2215 -load 30 __and_19_2214 -brif 30 L2212 L2213 -label L2212 +store __and_19_2179 29 +label L2180 +load 30 __and_19_2179 +brif 30 L2177 L2178 +label L2177 load 31 recv load 32 type_arg field 33 32 16 list children @@ -57497,8 +57254,8 @@ field 39 38 0 string kind strref 40 m18s319 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L2217 L2218 -label L2217 +brif 41 L2182 L2183 +label L2182 load 43 recv field 44 43 8 string value strref 45 m18s124 @@ -57515,11 +57272,11 @@ call 55 pith_struct_release void 1 54 load 56 recv call 57 pith_struct_release void 1 56 ret 52 -label L2218 -label L2216 -jmp L2211 -label L2213 -label L2211 +label L2183 +label L2181 +jmp L2176 +label L2178 +label L2176 strref 58 m18s336 strref 59 m18s689 call 60 checker_diagnostics_report_error void 2 58 59 @@ -57564,38 +57321,38 @@ store seen_key 3 iconst 4 0 store next_seen 4 iconst 5 0 -store __or_5_2222 5 +store __or_5_2187 5 iconst 6 0 -store __or_6_2222 6 +store __or_6_2187 6 load 7 field_tid strref 8 m18s12 call 9 types_lookup_type_id int 1 8 call 10 pith_cstring_release void 1 8 eq 11 7 9 -store __or_6_2222 11 -brif 11 L2223 L2222 -label L2222 +store __or_6_2187 11 +brif 11 L2188 L2187 +label L2187 load 12 field_tid strref 13 m18s16 call 14 types_lookup_type_id int 1 13 call 15 pith_cstring_release void 1 13 eq 16 12 14 -store __or_6_2222 16 -label L2223 -load 17 __or_6_2222 -store __or_5_2222 17 -brif 17 L2225 L2224 -label L2224 +store __or_6_2187 16 +label L2188 +load 17 __or_6_2187 +store __or_5_2187 17 +brif 17 L2190 L2189 +label L2189 load 18 field_tid strref 19 m18s13 call 20 types_lookup_type_id int 1 19 call 21 pith_cstring_release void 1 19 eq 22 18 20 -store __or_5_2222 22 -label L2225 -load 23 __or_5_2222 -brif 23 L2220 L2221 -label L2220 +store __or_5_2187 22 +label L2190 +load 23 __or_5_2187 +brif 23 L2185 L2186 +label L2185 iconst 24 1 load 25 info call 26 pith_struct_release void 1 25 @@ -57604,32 +57361,32 @@ call 28 pith_cstring_release void 1 27 load 29 next_seen call 30 pith_cstring_release void 1 29 ret 24 -label L2221 -label L2219 +label L2186 +label L2184 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_2229 35 +store __and_35_2194 35 load 36 info field 37 36 0 string kind strref 38 m18s30 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __and_35_2229 39 -brif 39 L2229 L2230 -label L2229 +store __and_35_2194 39 +brif 39 L2194 L2195 +label L2194 load 41 info field 42 41 64 int inner iconst 43 0 gte 44 42 43 -store __and_35_2229 44 -label L2230 -load 45 __and_35_2229 -brif 45 L2227 L2228 -label L2227 +store __and_35_2194 44 +label L2195 +load 45 __and_35_2194 +brif 45 L2192 L2193 +label L2192 load 46 info field 47 46 64 int inner load 48 seen @@ -57641,15 +57398,15 @@ call 53 pith_cstring_release void 1 52 load 54 next_seen call 55 pith_cstring_release void 1 54 ret 49 -label L2228 -label L2226 +label L2193 +label L2191 load 56 info field 57 56 0 string kind strref 58 m18s35 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -brif 59 L2232 L2233 -label L2232 +brif 59 L2197 L2198 +label L2197 load 61 seen_key load 62 field_tid call 63 checker_decode_support_seen_key string 1 62 @@ -57658,8 +57415,8 @@ store seen_key 63 load 65 seen load 66 seen_key call 67 pith_cstring_contains bool 2 65 66 -brif 67 L2235 L2236 -label L2235 +brif 67 L2200 L2201 +label L2200 iconst 68 0 load 69 info call 70 pith_struct_release void 1 69 @@ -57668,8 +57425,8 @@ call 72 pith_cstring_release void 1 71 load 73 next_seen call 74 pith_cstring_release void 1 73 ret 68 -label L2236 -label L2234 +label L2201 +label L2199 load 75 next_seen load 76 seen load 77 seen_key @@ -57680,42 +57437,42 @@ load 80 info field 81 80 16 list_string fields call 82 pith_auto_len int 1 81 iconst 83 0 -store __for_idx_147 83 -store __for_len_147 82 -store __for_iter_147 81 -label L2237 -load 84 __for_idx_147 -load 85 __for_len_147 +store __for_idx_146 83 +store __for_len_146 82 +store __for_iter_146 81 +label L2202 +load 84 __for_idx_146 +load 85 __for_len_146 lt 86 84 85 -brif 86 L2238 L2240 -label L2238 -load 87 __for_iter_147 -load 88 __for_idx_147 +brif 86 L2203 L2205 +label L2203 +load 87 __for_iter_146 +load 88 __for_idx_146 call 89 pith_list_get_value_unchecked string 2 87 88 -store __loopvar_147_field_name 89 -load 90 __for_idx_147 -store __loopvar_147_i 90 +store __loopvar_146_field_name 89 +load 90 __for_idx_146 +store __loopvar_146_i 90 iconst 91 0 -store __and_91_2244 91 -load 92 __loopvar_147_i +store __and_91_2209 91 +load 92 __loopvar_146_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_2244 96 -brif 96 L2244 L2245 -label L2244 +store __and_91_2209 96 +brif 96 L2209 L2210 +label L2209 load 97 info field 98 97 32 list field_pub -load 99 __loopvar_147_i +load 99 __loopvar_146_i call 100 pith_list_get_value_strict bool 2 98 99 iconst 102 1 sub 101 102 100 -store __and_91_2244 101 -label L2245 -load 103 __and_91_2244 -brif 103 L2242 L2243 -label L2242 +store __and_91_2209 101 +label L2210 +load 103 __and_91_2209 +brif 103 L2207 L2208 +label L2207 iconst 104 0 load 105 info call 106 pith_struct_release void 1 105 @@ -57724,15 +57481,15 @@ call 108 pith_cstring_release void 1 107 load 109 next_seen call 110 pith_cstring_release void 1 109 ret 104 -label L2243 -label L2241 -load 111 __loopvar_147_i +label L2208 +label L2206 +load 111 __loopvar_146_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 L2247 L2248 -label L2247 +brif 115 L2212 L2213 +label L2212 iconst 116 0 load 117 info call 118 pith_struct_release void 1 117 @@ -57741,18 +57498,18 @@ call 120 pith_cstring_release void 1 119 load 121 next_seen call 122 pith_cstring_release void 1 121 ret 116 -label L2248 -label L2246 +label L2213 +label L2211 load 123 info field 124 123 24 list field_types -load 125 __loopvar_147_i +load 125 __loopvar_146_i call 126 pith_list_get_value_strict int 2 124 125 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 L2250 L2251 -label L2250 +brif 129 L2215 L2216 +label L2215 iconst 131 0 load 132 info call 133 pith_struct_release void 1 132 @@ -57761,15 +57518,15 @@ call 135 pith_cstring_release void 1 134 load 136 next_seen call 137 pith_cstring_release void 1 136 ret 131 -label L2251 -label L2249 -label L2239 -load 138 __for_idx_147 +label L2216 +label L2214 +label L2204 +load 138 __for_idx_146 iconst 139 1 add 140 138 139 -store __for_idx_147 140 -jmp L2237 -label L2240 +store __for_idx_146 140 +jmp L2202 +label L2205 iconst 141 1 load 142 info call 143 pith_struct_release void 1 142 @@ -57778,8 +57535,8 @@ call 145 pith_cstring_release void 1 144 load 146 next_seen call 147 pith_cstring_release void 1 146 ret 141 -label L2233 -label L2231 +label L2198 +label L2196 iconst 148 0 load 149 info call 150 pith_struct_release void 1 149 @@ -57819,8 +57576,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L2253 L2254 -label L2253 +brif 9 L2218 L2219 +label L2218 strref 10 m18s593 strref 11 m18s687 call 12 checker_diagnostics_report_error void 2 10 11 @@ -57830,24 +57587,24 @@ load 15 types_TID_ERR load 16 target_info call 17 pith_struct_release void 1 16 ret 15 -label L2254 -label L2252 +label L2219 +label L2217 iconst 18 1 store expected_args 18 load 19 prefixed -brif 19 L2256 L2257 -label L2256 +brif 19 L2221 L2222 +label L2221 iconst 20 2 store expected_args 20 -jmp L2255 -label L2257 -label L2255 +jmp L2220 +label L2222 +label L2220 load 21 arg_indices call 22 pith_list_len int 1 21 load 23 expected_args neq 24 22 23 -brif 24 L2259 L2260 -label L2259 +brif 24 L2224 L2225 +label L2224 strref 25 m18s333 strref 26 m18s686 load 27 expected_args @@ -57872,8 +57629,8 @@ load 45 types_TID_ERR load 46 target_info call 47 pith_struct_release void 1 46 ret 45 -label L2260 -label L2258 +label L2225 +label L2223 load 48 index_node field 49 48 16 list children iconst 50 1 @@ -57882,14 +57639,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 L2262 L2263 -label L2262 +brif 54 L2227 L2228 +label L2227 load 55 types_TID_ERR load 56 target_info call 57 pith_struct_release void 1 56 ret 55 -label L2263 -label L2261 +label L2228 +label L2226 load 58 target_info load 59 target_tid call 60 types_get_type_info struct:TypeInfo 1 59 @@ -57902,8 +57659,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 L2265 L2266 -label L2265 +brif 65 L2230 L2231 +label L2230 strref 69 m18s330 strref 70 m18s684 load 71 target_tid @@ -57918,8 +57675,8 @@ load 79 types_TID_ERR load 80 target_info call 81 pith_struct_release void 1 80 ret 79 -label L2266 -label L2264 +label L2231 +label L2229 strref 82 m18s683 call 83 types_lookup_type_id int 1 82 call 84 pith_cstring_release void 1 82 @@ -57927,8 +57684,8 @@ store cfg_tid 83 load 85 cfg_tid iconst 86 0 lt 87 85 86 -brif 87 L2268 L2269 -label L2268 +brif 87 L2233 L2234 +label L2233 strref 88 m18s336 strref 89 m18s682 call 90 checker_diagnostics_report_error void 2 88 89 @@ -57938,8 +57695,8 @@ load 93 types_TID_ERR load 94 target_info call 95 pith_struct_release void 1 94 ret 93 -label L2269 -label L2267 +label L2234 +label L2232 load 96 arg_indices iconst 97 0 call 98 pith_list_get_value_strict int 2 96 97 @@ -57947,22 +57704,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_2273 101 +store __and_101_2238 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_2273 105 -brif 105 L2273 L2274 -label L2273 +store __and_101_2238 105 +brif 105 L2238 L2239 +label L2238 load 106 first_arg_tid load 107 cfg_tid neq 108 106 107 -store __and_101_2273 108 -label L2274 -load 109 __and_101_2273 -brif 109 L2271 L2272 -label L2271 +store __and_101_2238 108 +label L2239 +load 109 __and_101_2238 +brif 109 L2236 L2237 +label L2236 strref 110 m18s330 strref 111 m18s681 load 112 first_arg_tid @@ -57977,11 +57734,11 @@ load 120 types_TID_ERR load 121 target_info call 122 pith_struct_release void 1 121 ret 120 -label L2272 -label L2270 +label L2237 +label L2235 load 123 prefixed -brif 123 L2276 L2277 -label L2276 +brif 123 L2241 L2242 +label L2241 load 124 arg_indices iconst 125 1 call 126 pith_list_get_value_strict int 2 124 125 @@ -57993,22 +57750,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_2281 132 +store __and_132_2246 132 load 133 prefix_tid call 134 types_is_error_type bool 1 133 iconst 135 0 eq 136 134 135 -store __and_132_2281 136 -brif 136 L2281 L2282 -label L2281 +store __and_132_2246 136 +brif 136 L2246 L2247 +label L2246 load 137 prefix_tid load 138 string_tid neq 139 137 138 -store __and_132_2281 139 -label L2282 -load 140 __and_132_2281 -brif 140 L2279 L2280 -label L2279 +store __and_132_2246 139 +label L2247 +load 140 __and_132_2246 +brif 140 L2244 L2245 +label L2244 strref 141 m18s330 strref 142 m18s680 load 143 prefix_tid @@ -58023,54 +57780,54 @@ load 151 types_TID_ERR load 152 target_info call 153 pith_struct_release void 1 152 ret 151 -label L2280 -label L2278 -jmp L2275 -label L2277 -label L2275 +label L2245 +label L2243 +jmp L2240 +label L2242 +label L2240 load 154 target_info field 155 154 16 list_string fields call 156 pith_auto_len int 1 155 iconst 157 0 -store __for_idx_148 157 -store __for_len_148 156 -store __for_iter_148 155 -label L2283 -load 158 __for_idx_148 -load 159 __for_len_148 +store __for_idx_147 157 +store __for_len_147 156 +store __for_iter_147 155 +label L2248 +load 158 __for_idx_147 +load 159 __for_len_147 lt 160 158 159 -brif 160 L2284 L2286 -label L2284 -load 161 __for_iter_148 -load 162 __for_idx_148 +brif 160 L2249 L2251 +label L2249 +load 161 __for_iter_147 +load 162 __for_idx_147 call 163 pith_list_get_value_unchecked string 2 161 162 -store __loopvar_148_field_name 163 -load 164 __for_idx_148 -store __loopvar_148_i 164 +store __loopvar_147_field_name 163 +load 164 __for_idx_147 +store __loopvar_147_i 164 iconst 165 0 -store __and_165_2290 165 -load 166 __loopvar_148_i +store __and_165_2255 165 +load 166 __loopvar_147_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_2290 170 -brif 170 L2290 L2291 -label L2290 +store __and_165_2255 170 +brif 170 L2255 L2256 +label L2255 load 171 target_info field 172 171 32 list field_pub -load 173 __loopvar_148_i +load 173 __loopvar_147_i call 174 pith_list_get_value_strict bool 2 172 173 iconst 176 1 sub 175 176 174 -store __and_165_2290 175 -label L2291 -load 177 __and_165_2290 -brif 177 L2288 L2289 -label L2288 +store __and_165_2255 175 +label L2256 +load 177 __and_165_2255 +brif 177 L2253 L2254 +label L2253 strref 178 m18s330 strref 179 m18s679 -load 180 __loopvar_148_field_name +load 180 __loopvar_147_field_name concat 181 179 180 call 182 pith_cstring_release void 1 179 call 183 checker_diagnostics_report_error void 2 178 181 @@ -58080,29 +57837,29 @@ load 186 types_TID_ERR load 187 target_info call 188 pith_struct_release void 1 187 ret 186 -label L2289 -label L2287 -load 189 __loopvar_148_i +label L2254 +label L2252 +load 189 __loopvar_147_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 L2293 L2294 -label L2293 +brif 193 L2258 L2259 +label L2258 load 194 target_info field 195 194 24 list field_types -load 196 __loopvar_148_i +load 196 __loopvar_147_i call 197 pith_list_get_value_strict int 2 195 196 store field_tid 197 load 198 field_tid call 199 checker_json_decode_field_supported bool 1 198 iconst 201 1 sub 200 201 199 -brif 200 L2296 L2297 -label L2296 +brif 200 L2261 L2262 +label L2261 strref 202 m18s330 strref 203 m18s678 -load 204 __loopvar_148_field_name +load 204 __loopvar_147_field_name concat 205 203 204 call 206 pith_cstring_release void 1 203 strref 207 m18s657 @@ -58121,18 +57878,18 @@ load 219 types_TID_ERR load 220 target_info call 221 pith_struct_release void 1 220 ret 219 -label L2297 -label L2295 -jmp L2292 -label L2294 -label L2292 -label L2285 -load 222 __for_idx_148 +label L2262 +label L2260 +jmp L2257 +label L2259 +label L2257 +label L2250 +load 222 __for_idx_147 iconst 223 1 add 224 222 223 -store __for_idx_148 224 -jmp L2283 -label L2286 +store __for_idx_147 224 +jmp L2248 +label L2251 strref 225 m18s656 call 226 types_lookup_type_id int 1 225 call 227 pith_cstring_release void 1 225 @@ -58140,8 +57897,8 @@ store err_tid 226 load 228 err_tid iconst 229 0 lt 230 228 229 -brif 230 L2299 L2300 -label L2299 +brif 230 L2264 L2265 +label L2264 strref 231 m18s336 strref 232 m18s655 call 233 checker_diagnostics_report_error void 2 231 232 @@ -58151,8 +57908,8 @@ load 236 types_TID_ERR load 237 target_info call 238 pith_struct_release void 1 237 ret 236 -label L2300 -label L2298 +label L2265 +label L2263 load 239 target_tid load 240 err_tid call 241 types_ti_result struct:TypeInfo 2 239 240 @@ -58180,8 +57937,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 2 lt 10 8 9 -brif 10 L2302 L2303 -label L2302 +brif 10 L2267 L2268 +label L2267 strref 11 m18s593 strref 12 m18s677 call 13 checker_diagnostics_report_error void 2 11 12 @@ -58193,14 +57950,14 @@ call 18 pith_struct_release void 1 17 load 19 arg_node call 20 pith_struct_release void 1 19 ret 16 -label L2303 -label L2301 +label L2268 +label L2266 load 21 arg_indices call 22 pith_list_len int 1 21 iconst 23 1 neq 24 22 23 -brif 24 L2305 L2306 -label L2305 +brif 24 L2270 L2271 +label L2270 strref 25 m18s333 strref 26 m18s676 load 27 arg_indices @@ -58218,8 +57975,8 @@ call 38 pith_struct_release void 1 37 load 39 arg_node call 40 pith_struct_release void 1 39 ret 36 -label L2306 -label L2304 +label L2271 +label L2269 load 41 index_node field 42 41 16 list children iconst 43 1 @@ -58228,16 +57985,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 L2308 L2309 -label L2308 +brif 47 L2273 L2274 +label L2273 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 L2309 -label L2307 +label L2274 +label L2272 load 53 target_info load 54 target_tid call 55 types_get_type_info struct:TypeInfo 1 54 @@ -58250,8 +58007,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 L2311 L2312 -label L2311 +brif 60 L2276 L2277 +label L2276 strref 64 m18s330 strref 65 m18s675 load 66 target_tid @@ -58268,8 +58025,8 @@ call 76 pith_struct_release void 1 75 load 77 arg_node call 78 pith_struct_release void 1 77 ret 74 -label L2312 -label L2310 +label L2277 +label L2275 load 79 arg_node load 80 arg_indices iconst 81 0 @@ -58282,33 +58039,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_2316 88 +store __and_88_2281 88 load 89 arg_node field 90 89 0 string kind strref 91 m18s324 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -store __and_88_2316 92 -brif 92 L2316 L2317 -label L2316 +store __and_88_2281 92 +brif 92 L2281 L2282 +label L2281 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_2316 98 -label L2317 -load 99 __and_88_2316 -brif 99 L2314 L2315 -label L2314 +store __and_88_2281 98 +label L2282 +load 99 __and_88_2281 +brif 99 L2279 L2280 +label L2279 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 L2313 -label L2315 -label L2313 +jmp L2278 +label L2280 +label L2278 load 104 arg_expr_idx load 105 scope_id call 106 checker_c_check_expr int 2 104 105 @@ -58318,32 +58075,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 L2319 L2320 -label L2319 +brif 110 L2284 L2285 +label L2284 strref 111 m18s12 call 112 types_lookup_type_id int 1 111 call 113 pith_cstring_release void 1 111 store expected_tid 112 -jmp L2318 -label L2320 -label L2318 +jmp L2283 +label L2285 +label L2283 iconst 114 0 -store __and_114_2324 114 +store __and_114_2289 114 load 115 arg_tid call 116 types_is_error_type bool 1 115 iconst 117 0 eq 118 116 117 -store __and_114_2324 118 -brif 118 L2324 L2325 -label L2324 +store __and_114_2289 118 +brif 118 L2289 L2290 +label L2289 load 119 arg_tid load 120 expected_tid neq 121 119 120 -store __and_114_2324 121 -label L2325 -load 122 __and_114_2324 -brif 122 L2322 L2323 -label L2322 +store __and_114_2289 121 +label L2290 +load 122 __and_114_2289 +brif 122 L2287 L2288 +label L2287 strref 123 m18s330 strref 124 m18s674 load 125 expected_tid @@ -58369,51 +58126,51 @@ call 144 pith_struct_release void 1 143 load 145 arg_node call 146 pith_struct_release void 1 145 ret 142 -label L2323 -label L2321 +label L2288 +label L2286 load 147 target_info field 148 147 16 list_string fields call 149 pith_auto_len int 1 148 iconst 150 0 -store __for_idx_149 150 -store __for_len_149 149 -store __for_iter_149 148 -label L2326 -load 151 __for_idx_149 -load 152 __for_len_149 +store __for_idx_148 150 +store __for_len_148 149 +store __for_iter_148 148 +label L2291 +load 151 __for_idx_148 +load 152 __for_len_148 lt 153 151 152 -brif 153 L2327 L2329 -label L2327 -load 154 __for_iter_149 -load 155 __for_idx_149 +brif 153 L2292 L2294 +label L2292 +load 154 __for_iter_148 +load 155 __for_idx_148 call 156 pith_list_get_value_unchecked string 2 154 155 -store __loopvar_149_field_name 156 -load 157 __for_idx_149 -store __loopvar_149_i 157 +store __loopvar_148_field_name 156 +load 157 __for_idx_148 +store __loopvar_148_i 157 iconst 158 0 -store __and_158_2333 158 -load 159 __loopvar_149_i +store __and_158_2298 158 +load 159 __loopvar_148_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_2333 163 -brif 163 L2333 L2334 -label L2333 +store __and_158_2298 163 +brif 163 L2298 L2299 +label L2298 load 164 target_info field 165 164 32 list field_pub -load 166 __loopvar_149_i +load 166 __loopvar_148_i call 167 pith_list_get_value_strict bool 2 165 166 iconst 169 1 sub 168 169 167 -store __and_158_2333 168 -label L2334 -load 170 __and_158_2333 -brif 170 L2331 L2332 -label L2331 +store __and_158_2298 168 +label L2299 +load 170 __and_158_2298 +brif 170 L2296 L2297 +label L2296 strref 171 m18s330 strref 172 m18s673 -load 173 __loopvar_149_field_name +load 173 __loopvar_148_field_name concat 174 172 173 call 175 pith_cstring_release void 1 172 call 176 checker_diagnostics_report_error void 2 171 174 @@ -58425,29 +58182,29 @@ call 181 pith_struct_release void 1 180 load 182 arg_node call 183 pith_struct_release void 1 182 ret 179 -label L2332 -label L2330 -load 184 __loopvar_149_i +label L2297 +label L2295 +load 184 __loopvar_148_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 L2336 L2337 -label L2336 +brif 188 L2301 L2302 +label L2301 load 189 target_info field 190 189 24 list field_types -load 191 __loopvar_149_i +load 191 __loopvar_148_i call 192 pith_list_get_value_strict int 2 190 191 store field_tid 192 load 193 field_tid call 194 checker_json_decode_field_supported bool 1 193 iconst 196 1 sub 195 196 194 -brif 195 L2339 L2340 -label L2339 +brif 195 L2304 L2305 +label L2304 strref 197 m18s330 strref 198 m18s672 -load 199 __loopvar_149_field_name +load 199 __loopvar_148_field_name concat 200 198 199 call 201 pith_cstring_release void 1 198 strref 202 m18s657 @@ -58468,18 +58225,18 @@ call 216 pith_struct_release void 1 215 load 217 arg_node call 218 pith_struct_release void 1 217 ret 214 -label L2340 -label L2338 -jmp L2335 -label L2337 -label L2335 -label L2328 -load 219 __for_idx_149 +label L2305 +label L2303 +jmp L2300 +label L2302 +label L2300 +label L2293 +load 219 __for_idx_148 iconst 220 1 add 221 219 220 -store __for_idx_149 221 -jmp L2326 -label L2329 +store __for_idx_148 221 +jmp L2291 +label L2294 strref 222 m18s671 call 223 types_lookup_type_id int 1 222 call 224 pith_cstring_release void 1 222 @@ -58487,8 +58244,8 @@ store err_tid 223 load 225 err_tid iconst 226 0 lt 227 225 226 -brif 227 L2342 L2343 -label L2342 +brif 227 L2307 L2308 +label L2307 strref 228 m18s336 strref 229 m18s670 call 230 checker_diagnostics_report_error void 2 228 229 @@ -58500,8 +58257,8 @@ call 235 pith_struct_release void 1 234 load 236 arg_node call 237 pith_struct_release void 1 236 ret 233 -label L2343 -label L2341 +label L2308 +label L2306 load 238 target_tid load 239 err_tid call 240 types_ti_result struct:TypeInfo 2 238 239 @@ -58545,8 +58302,8 @@ field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 2 lt 19 17 18 -brif 19 L2345 L2346 -label L2345 +brif 19 L2310 L2311 +label L2310 strref 20 m18s593 load 21 label strref 22 m18s668 @@ -58565,14 +58322,14 @@ call 34 pith_struct_release void 1 33 load 35 err_name call 36 pith_cstring_release void 1 35 ret 28 -label L2346 -label L2344 +label L2311 +label L2309 load 37 arg_indices call 38 pith_list_len int 1 37 iconst 39 1 neq 40 38 39 -brif 40 L2348 L2349 -label L2348 +brif 40 L2313 L2314 +label L2313 strref 41 m18s333 load 42 label strref 43 m18s479 @@ -58597,8 +58354,8 @@ call 61 pith_struct_release void 1 60 load 62 err_name call 63 pith_cstring_release void 1 62 ret 55 -label L2349 -label L2347 +label L2314 +label L2312 load 64 index_node field 65 64 16 list children iconst 66 1 @@ -58607,8 +58364,8 @@ call 68 checker_resolve_json_decode_type_arg int 1 67 store target_tid 68 load 69 target_tid call 70 types_is_error_type bool 1 69 -brif 70 L2351 L2352 -label L2351 +brif 70 L2316 L2317 +label L2316 load 71 types_TID_ERR load 72 label call 73 pith_cstring_release void 1 72 @@ -58619,8 +58376,8 @@ call 77 pith_struct_release void 1 76 load 78 err_name call 79 pith_cstring_release void 1 78 ret 71 -label L2352 -label L2350 +label L2317 +label L2315 load 80 target_info load 81 target_tid call 82 types_get_type_info struct:TypeInfo 1 81 @@ -58633,8 +58390,8 @@ call 88 pith_cstring_eq bool 2 85 86 iconst 89 1 sub 87 89 88 call 90 pith_cstring_release void 1 86 -brif 87 L2354 L2355 -label L2354 +brif 87 L2319 L2320 +label L2319 strref 91 m18s330 load 92 label strref 93 m18s667 @@ -58658,8 +58415,8 @@ call 110 pith_struct_release void 1 109 load 111 err_name call 112 pith_cstring_release void 1 111 ret 104 -label L2355 -label L2353 +label L2320 +label L2318 load 113 arg_node load 114 arg_indices iconst 115 0 @@ -58672,33 +58429,33 @@ iconst 120 0 call 121 pith_list_get_value_strict int 2 119 120 store arg_expr_idx 121 iconst 122 0 -store __and_122_2359 122 +store __and_122_2324 122 load 123 arg_node field 124 123 0 string kind strref 125 m18s324 call 126 pith_cstring_eq bool 2 124 125 call 127 pith_cstring_release void 1 125 -store __and_122_2359 126 -brif 126 L2359 L2360 -label L2359 +store __and_122_2324 126 +brif 126 L2324 L2325 +label L2324 load 128 arg_node field 129 128 16 list children call 130 pith_list_len int 1 129 iconst 131 0 gt 132 130 131 -store __and_122_2359 132 -label L2360 -load 133 __and_122_2359 -brif 133 L2357 L2358 -label L2357 +store __and_122_2324 132 +label L2325 +load 133 __and_122_2324 +brif 133 L2322 L2323 +label L2322 load 134 arg_node field 135 134 16 list children iconst 136 0 call 137 pith_list_get_value_strict int 2 135 136 store arg_expr_idx 137 -jmp L2356 -label L2358 -label L2356 +jmp L2321 +label L2323 +label L2321 load 138 arg_expr_idx load 139 scope_id call 140 checker_c_check_expr int 2 138 139 @@ -58708,32 +58465,32 @@ call 142 types_lookup_type_id int 1 141 call 143 pith_cstring_release void 1 141 store expected_tid 142 load 144 text_input -brif 144 L2362 L2363 -label L2362 +brif 144 L2327 L2328 +label L2327 strref 145 m18s12 call 146 types_lookup_type_id int 1 145 call 147 pith_cstring_release void 1 145 store expected_tid 146 -jmp L2361 -label L2363 -label L2361 +jmp L2326 +label L2328 +label L2326 iconst 148 0 -store __and_148_2367 148 +store __and_148_2332 148 load 149 arg_tid call 150 types_is_error_type bool 1 149 iconst 151 0 eq 152 150 151 -store __and_148_2367 152 -brif 152 L2367 L2368 -label L2367 +store __and_148_2332 152 +brif 152 L2332 L2333 +label L2332 load 153 arg_tid load 154 expected_tid neq 155 153 154 -store __and_148_2367 155 -label L2368 -load 156 __and_148_2367 -brif 156 L2365 L2366 -label L2365 +store __and_148_2332 155 +label L2333 +load 156 __and_148_2332 +brif 156 L2330 L2331 +label L2330 strref 157 m18s330 load 158 label strref 159 m18s666 @@ -58766,54 +58523,54 @@ call 185 pith_struct_release void 1 184 load 186 err_name call 187 pith_cstring_release void 1 186 ret 179 -label L2366 -label L2364 +label L2331 +label L2329 load 188 target_info field 189 188 16 list_string fields call 190 pith_auto_len int 1 189 iconst 191 0 -store __for_idx_150 191 -store __for_len_150 190 -store __for_iter_150 189 -label L2369 -load 192 __for_idx_150 -load 193 __for_len_150 +store __for_idx_149 191 +store __for_len_149 190 +store __for_iter_149 189 +label L2334 +load 192 __for_idx_149 +load 193 __for_len_149 lt 194 192 193 -brif 194 L2370 L2372 -label L2370 -load 195 __for_iter_150 -load 196 __for_idx_150 +brif 194 L2335 L2337 +label L2335 +load 195 __for_iter_149 +load 196 __for_idx_149 call 197 pith_list_get_value_unchecked string 2 195 196 -store __loopvar_150_field_name 197 -load 198 __for_idx_150 -store __loopvar_150_i 198 +store __loopvar_149_field_name 197 +load 198 __for_idx_149 +store __loopvar_149_i 198 iconst 199 0 -store __and_199_2376 199 -load 200 __loopvar_150_i +store __and_199_2341 199 +load 200 __loopvar_149_i load 201 target_info field 202 201 32 list field_pub call 203 pith_list_len int 1 202 lt 204 200 203 -store __and_199_2376 204 -brif 204 L2376 L2377 -label L2376 +store __and_199_2341 204 +brif 204 L2341 L2342 +label L2341 load 205 target_info field 206 205 32 list field_pub -load 207 __loopvar_150_i +load 207 __loopvar_149_i call 208 pith_list_get_value_strict bool 2 206 207 iconst 210 1 sub 209 210 208 -store __and_199_2376 209 -label L2377 -load 211 __and_199_2376 -brif 211 L2374 L2375 -label L2374 +store __and_199_2341 209 +label L2342 +load 211 __and_199_2341 +brif 211 L2339 L2340 +label L2339 strref 212 m18s330 load 213 label strref 214 m18s665 concat 215 213 214 call 216 pith_cstring_release void 1 214 -load 217 __loopvar_150_field_name +load 217 __loopvar_149_field_name concat 218 215 217 call 219 pith_cstring_release void 1 215 call 220 checker_diagnostics_report_error void 2 212 218 @@ -58829,32 +58586,32 @@ call 229 pith_struct_release void 1 228 load 230 err_name call 231 pith_cstring_release void 1 230 ret 223 -label L2375 -label L2373 -load 232 __loopvar_150_i +label L2340 +label L2338 +load 232 __loopvar_149_i load 233 target_info field 234 233 24 list field_types call 235 pith_list_len int 1 234 lt 236 232 235 -brif 236 L2379 L2380 -label L2379 +brif 236 L2344 L2345 +label L2344 load 237 target_info field 238 237 24 list field_types -load 239 __loopvar_150_i +load 239 __loopvar_149_i call 240 pith_list_get_value_strict int 2 238 239 store field_tid 240 load 241 field_tid call 242 checker_json_decode_field_supported bool 1 241 iconst 244 1 sub 243 244 242 -brif 243 L2382 L2383 -label L2382 +brif 243 L2347 L2348 +label L2347 strref 245 m18s330 load 246 label strref 247 m18s664 concat 248 246 247 call 249 pith_cstring_release void 1 247 -load 250 __loopvar_150_field_name +load 250 __loopvar_149_field_name concat 251 248 250 call 252 pith_cstring_release void 1 248 strref 253 m18s657 @@ -58879,18 +58636,18 @@ call 271 pith_struct_release void 1 270 load 272 err_name call 273 pith_cstring_release void 1 272 ret 265 -label L2383 -label L2381 -jmp L2378 -label L2380 -label L2378 -label L2371 -load 274 __for_idx_150 +label L2348 +label L2346 +jmp L2343 +label L2345 +label L2343 +label L2336 +load 274 __for_idx_149 iconst 275 1 add 276 274 275 -store __for_idx_150 276 -jmp L2369 -label L2372 +store __for_idx_149 276 +jmp L2334 +label L2337 load 277 err_name load 278 module_name call 279 checker_handle_decode_error_type string 1 278 @@ -58902,8 +58659,8 @@ store err_tid 282 load 283 err_tid iconst 284 0 lt 285 283 284 -brif 285 L2385 L2386 -label L2385 +brif 285 L2350 L2351 +label L2350 strref 286 m18s336 strref 287 m18s337 load 288 err_name @@ -58922,8 +58679,8 @@ call 300 pith_struct_release void 1 299 load 301 err_name call 302 pith_cstring_release void 1 301 ret 294 -label L2386 -label L2384 +label L2351 +label L2349 load 303 target_tid load 304 err_tid call 305 types_ti_result struct:TypeInfo 2 303 304 @@ -58962,8 +58719,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L2388 L2389 -label L2388 +brif 9 L2353 L2354 +label L2353 strref 10 m18s593 strref 11 m18s663 call 12 checker_diagnostics_report_error void 2 10 11 @@ -58975,14 +58732,14 @@ call 17 pith_struct_release void 1 16 load 18 arg_node call 19 pith_struct_release void 1 18 ret 15 -label L2389 -label L2387 +label L2354 +label L2352 load 20 arg_indices call 21 pith_list_len int 1 20 iconst 22 1 neq 23 21 22 -brif 23 L2391 L2392 -label L2391 +brif 23 L2356 L2357 +label L2356 strref 24 m18s333 strref 25 m18s662 load 26 arg_indices @@ -59000,8 +58757,8 @@ call 37 pith_struct_release void 1 36 load 38 arg_node call 39 pith_struct_release void 1 38 ret 35 -label L2392 -label L2390 +label L2357 +label L2355 load 40 index_node field 41 40 16 list children iconst 42 1 @@ -59010,16 +58767,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 L2394 L2395 -label L2394 +brif 46 L2359 L2360 +label L2359 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 L2395 -label L2393 +label L2360 +label L2358 load 52 target_info load 53 target_tid call 54 types_get_type_info struct:TypeInfo 1 53 @@ -59032,8 +58789,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 L2397 L2398 -label L2397 +brif 59 L2362 L2363 +label L2362 strref 63 m18s330 strref 64 m18s661 load 65 target_tid @@ -59050,8 +58807,8 @@ call 75 pith_struct_release void 1 74 load 76 arg_node call 77 pith_struct_release void 1 76 ret 73 -label L2398 -label L2396 +label L2363 +label L2361 load 78 arg_node load 79 arg_indices iconst 80 0 @@ -59064,33 +58821,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_2402 87 +store __and_87_2367 87 load 88 arg_node field 89 88 0 string kind strref 90 m18s324 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __and_87_2402 91 -brif 91 L2402 L2403 -label L2402 +store __and_87_2367 91 +brif 91 L2367 L2368 +label L2367 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_2402 97 -label L2403 -load 98 __and_87_2402 -brif 98 L2400 L2401 -label L2400 +store __and_87_2367 97 +label L2368 +load 98 __and_87_2367 +brif 98 L2365 L2366 +label L2365 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 L2399 -label L2401 -label L2399 +jmp L2364 +label L2366 +label L2364 load 103 arg_expr_idx load 104 scope_id call 105 checker_c_check_expr int 2 103 104 @@ -59100,22 +58857,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_2407 109 +store __and_109_2372 109 load 110 arg_tid call 111 types_is_error_type bool 1 110 iconst 112 0 eq 113 111 112 -store __and_109_2407 113 -brif 113 L2407 L2408 -label L2407 +store __and_109_2372 113 +brif 113 L2372 L2373 +label L2372 load 114 arg_tid load 115 expected_tid neq 116 114 115 -store __and_109_2407 116 -label L2408 -load 117 __and_109_2407 -brif 117 L2405 L2406 -label L2405 +store __and_109_2372 116 +label L2373 +load 117 __and_109_2372 +brif 117 L2370 L2371 +label L2370 strref 118 m18s330 strref 119 m18s660 load 120 expected_tid @@ -59141,51 +58898,51 @@ call 139 pith_struct_release void 1 138 load 140 arg_node call 141 pith_struct_release void 1 140 ret 137 -label L2406 -label L2404 +label L2371 +label L2369 load 142 target_info field 143 142 16 list_string fields call 144 pith_auto_len int 1 143 iconst 145 0 -store __for_idx_151 145 -store __for_len_151 144 -store __for_iter_151 143 -label L2409 -load 146 __for_idx_151 -load 147 __for_len_151 +store __for_idx_150 145 +store __for_len_150 144 +store __for_iter_150 143 +label L2374 +load 146 __for_idx_150 +load 147 __for_len_150 lt 148 146 147 -brif 148 L2410 L2412 -label L2410 -load 149 __for_iter_151 -load 150 __for_idx_151 +brif 148 L2375 L2377 +label L2375 +load 149 __for_iter_150 +load 150 __for_idx_150 call 151 pith_list_get_value_unchecked string 2 149 150 -store __loopvar_151_field_name 151 -load 152 __for_idx_151 -store __loopvar_151_i 152 +store __loopvar_150_field_name 151 +load 152 __for_idx_150 +store __loopvar_150_i 152 iconst 153 0 -store __and_153_2416 153 -load 154 __loopvar_151_i +store __and_153_2381 153 +load 154 __loopvar_150_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_2416 158 -brif 158 L2416 L2417 -label L2416 +store __and_153_2381 158 +brif 158 L2381 L2382 +label L2381 load 159 target_info field 160 159 32 list field_pub -load 161 __loopvar_151_i +load 161 __loopvar_150_i call 162 pith_list_get_value_strict bool 2 160 161 iconst 164 1 sub 163 164 162 -store __and_153_2416 163 -label L2417 -load 165 __and_153_2416 -brif 165 L2414 L2415 -label L2414 +store __and_153_2381 163 +label L2382 +load 165 __and_153_2381 +brif 165 L2379 L2380 +label L2379 strref 166 m18s330 strref 167 m18s659 -load 168 __loopvar_151_field_name +load 168 __loopvar_150_field_name concat 169 167 168 call 170 pith_cstring_release void 1 167 call 171 checker_diagnostics_report_error void 2 166 169 @@ -59197,29 +58954,29 @@ call 176 pith_struct_release void 1 175 load 177 arg_node call 178 pith_struct_release void 1 177 ret 174 -label L2415 -label L2413 -load 179 __loopvar_151_i +label L2380 +label L2378 +load 179 __loopvar_150_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 L2419 L2420 -label L2419 +brif 183 L2384 L2385 +label L2384 load 184 target_info field 185 184 24 list field_types -load 186 __loopvar_151_i +load 186 __loopvar_150_i call 187 pith_list_get_value_strict int 2 185 186 store field_tid 187 load 188 field_tid call 189 checker_json_decode_field_supported bool 1 188 iconst 191 1 sub 190 191 189 -brif 190 L2422 L2423 -label L2422 +brif 190 L2387 L2388 +label L2387 strref 192 m18s330 strref 193 m18s658 -load 194 __loopvar_151_field_name +load 194 __loopvar_150_field_name concat 195 193 194 call 196 pith_cstring_release void 1 193 strref 197 m18s657 @@ -59240,18 +58997,18 @@ call 211 pith_struct_release void 1 210 load 212 arg_node call 213 pith_struct_release void 1 212 ret 209 -label L2423 -label L2421 -jmp L2418 -label L2420 -label L2418 -label L2411 -load 214 __for_idx_151 +label L2388 +label L2386 +jmp L2383 +label L2385 +label L2383 +label L2376 +load 214 __for_idx_150 iconst 215 1 add 216 214 215 -store __for_idx_151 216 -jmp L2409 -label L2412 +store __for_idx_150 216 +jmp L2374 +label L2377 strref 217 m18s656 call 218 types_lookup_type_id int 1 217 call 219 pith_cstring_release void 1 217 @@ -59259,8 +59016,8 @@ store err_tid 218 load 220 err_tid iconst 221 0 lt 222 220 221 -brif 222 L2425 L2426 -label L2425 +brif 222 L2390 L2391 +label L2390 strref 223 m18s336 strref 224 m18s655 call 225 checker_diagnostics_report_error void 2 223 224 @@ -59272,8 +59029,8 @@ call 230 pith_struct_release void 1 229 load 231 arg_node call 232 pith_struct_release void 1 231 ret 228 -label L2426 -label L2424 +label L2391 +label L2389 load 233 target_tid load 234 err_tid call 235 types_ti_result struct:TypeInfo 2 233 234 @@ -59298,7 +59055,7 @@ store base_node 1 iconst 2 0 store recv_node 2 iconst 3 0 -store __or_3_2430 3 +store __or_3_2395 3 load 4 index_node field 5 4 0 string kind strref 6 m18s317 @@ -59306,27 +59063,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_2430 7 -brif 7 L2431 L2430 -label L2430 +store __or_3_2395 7 +brif 7 L2396 L2395 +label L2395 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_2430 15 -label L2431 -load 16 __or_3_2430 -brif 16 L2428 L2429 -label L2428 +store __or_3_2395 15 +label L2396 +load 16 __or_3_2395 +brif 16 L2393 L2394 +label L2393 strref 17 m18s36 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 L2429 -label L2427 +label L2394 +label L2392 load 22 base_node load 23 index_node field 24 23 16 list children @@ -59340,8 +59097,8 @@ field 30 29 0 string kind strref 31 m18s319 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L2433 L2434 -label L2433 +brif 32 L2398 L2399 +label L2398 load 34 base_node field 35 34 8 string value call 36 pith_cstring_retain void 1 35 @@ -59350,28 +59107,28 @@ call 38 pith_struct_release void 1 37 load 39 recv_node call 40 pith_struct_release void 1 39 ret 35 -label L2434 -label L2432 +label L2399 +label L2397 iconst 41 0 -store __and_41_2438 41 +store __and_41_2403 41 load 42 base_node field 43 42 0 string kind strref 44 m18s318 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_41_2438 45 -brif 45 L2438 L2439 -label L2438 +store __and_41_2403 45 +brif 45 L2403 L2404 +label L2403 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_2438 51 -label L2439 -load 52 __and_41_2438 -brif 52 L2436 L2437 -label L2436 +store __and_41_2403 51 +label L2404 +load 52 __and_41_2403 +brif 52 L2401 L2402 +label L2401 load 53 recv_node load 54 base_node field 55 54 16 list children @@ -59381,24 +59138,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_2443 60 +store __and_60_2408 60 load 61 recv_node field 62 61 0 string kind strref 63 m18s319 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __and_60_2443 64 -brif 64 L2443 L2444 -label L2443 +store __and_60_2408 64 +brif 64 L2408 L2409 +label L2408 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_2443 69 -label L2444 -load 70 __and_60_2443 -brif 70 L2441 L2442 -label L2441 +store __and_60_2408 69 +label L2409 +load 70 __and_60_2408 +brif 70 L2406 L2407 +label L2406 load 71 checker_module_aliases load 72 recv_node field 73 72 8 string value @@ -59411,11 +59168,11 @@ call 79 pith_struct_release void 1 78 load 80 recv_node call 81 pith_struct_release void 1 80 ret 77 -label L2442 -label L2440 -jmp L2435 -label L2437 -label L2435 +label L2407 +label L2405 +jmp L2400 +label L2402 +label L2400 strref 82 m18s36 load 83 base_node call 84 pith_struct_release void 1 83 @@ -59443,16 +59200,16 @@ field 7 6 0 string kind strref 8 m18s319 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L2446 L2447 -label L2446 +brif 9 L2411 L2412 +label L2411 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 L2447 -label L2445 +label L2412 +label L2410 load 16 type_arg_idx call 17 checker_resolve_type_implementation int 1 16 load 18 type_arg @@ -59482,8 +59239,8 @@ store decl_idx 9 load 10 decl_idx iconst 11 0 lt 12 10 11 -brif 12 L2449 L2450 -label L2449 +brif 12 L2414 L2415 +label L2414 load 13 types_TID_ERR load 14 decl_node call 15 pith_struct_release void 1 14 @@ -59494,8 +59251,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 L2450 -label L2448 +label L2415 +label L2413 load 22 decl_node load 23 decl_idx call 24 ast_get_node struct:Node 1 23 @@ -59512,14 +59269,14 @@ call 32 pith_list_release_handle void 1 30 store type_args 31 iconst 33 1 store i 33 -label L2451 +label L2416 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 L2452 L2453 -label L2452 +brif 38 L2417 L2418 +label L2417 load 39 type_args load 40 index_node field 41 40 16 list children @@ -59531,15 +59288,15 @@ load 46 i iconst 47 1 add 48 46 47 store i 48 -jmp L2451 -label L2453 +jmp L2416 +label L2418 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 L2455 L2456 -label L2455 +brif 53 L2420 L2421 +label L2420 strref 54 m18s654 load 55 name strref 56 m18s583 @@ -59574,8 +59331,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 L2456 -label L2454 +label L2421 +label L2419 load 87 subst_map call 88 pith_map_new_default map 0 call 89 pith_map_release_handle void 1 87 @@ -59583,50 +59340,50 @@ store subst_map 88 load 90 generic_params call 91 pith_auto_len int 1 90 iconst 92 0 -store __for_idx_152 92 -store __for_len_152 91 -store __for_iter_152 90 -label L2457 -load 93 __for_idx_152 -load 94 __for_len_152 +store __for_idx_151 92 +store __for_len_151 91 +store __for_iter_151 90 +label L2422 +load 93 __for_idx_151 +load 94 __for_len_151 lt 95 93 94 -brif 95 L2458 L2460 -label L2458 -load 96 __for_iter_152 -load 97 __for_idx_152 +brif 95 L2423 L2425 +label L2423 +load 96 __for_iter_151 +load 97 __for_idx_151 call 98 pith_list_get_value_unchecked string 2 96 97 -store __loopvar_152_gp 98 -load 99 __for_idx_152 -store __loopvar_152_gp_i 99 -load 100 __loopvar_152_gp_i +store __loopvar_151_gp 98 +load 99 __for_idx_151 +store __loopvar_151_gp_i 99 +load 100 __loopvar_151_gp_i load 101 type_args call 102 pith_list_len int 1 101 lt 103 100 102 -brif 103 L2462 L2463 -label L2462 +brif 103 L2427 L2428 +label L2427 load 104 subst_map -load 105 __loopvar_152_gp +load 105 __loopvar_151_gp load 106 type_args -load 107 __loopvar_152_gp_i +load 107 __loopvar_151_gp_i call 108 pith_list_get_value_strict int 2 106 107 call 109 map_insert void 3 104 105 108 -jmp L2461 -label L2463 -label L2461 -label L2459 -load 110 __for_idx_152 +jmp L2426 +label L2428 +label L2426 +label L2424 +load 110 __for_idx_151 iconst 111 1 add 112 110 111 -store __for_idx_152 112 -jmp L2457 -label L2460 +store __for_idx_151 112 +jmp L2422 +label L2425 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 L2465 L2466 -label L2465 +brif 117 L2430 L2431 +label L2430 load 118 types_TID_ERR load 119 decl_node call 120 pith_struct_release void 1 119 @@ -59637,8 +59394,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 L2466 -label L2464 +label L2431 +label L2429 load 127 decl_node load 128 type_args call 129 checker_instantiate_generic_struct_type int 2 127 128 @@ -59646,8 +59403,8 @@ store struct_tid 129 load 130 struct_tid iconst 131 0 lt 132 130 131 -brif 132 L2468 L2469 -label L2468 +brif 132 L2433 L2434 +label L2433 load 133 types_TID_ERR load 134 decl_node call 135 pith_struct_release void 1 134 @@ -59658,8 +59415,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 L2469 -label L2467 +label L2434 +label L2432 load 142 struct_tid call 143 types_get_type_name string 1 142 load 144 struct_tid @@ -59717,8 +59474,8 @@ store decl_idx 13 load 14 decl_idx iconst 15 0 lt 16 14 15 -brif 16 L2471 L2472 -label L2471 +brif 16 L2436 L2437 +label L2436 load 17 types_TID_ERR load 18 decl_node call 19 pith_struct_release void 1 18 @@ -59737,8 +59494,8 @@ call 31 pith_list_release_handle void 1 30 load 32 cn call 33 pith_struct_release void 1 32 ret 17 -label L2472 -label L2470 +label L2437 +label L2435 load 34 decl_node load 35 decl_idx call 36 ast_get_node struct:Node 1 35 @@ -59755,14 +59512,14 @@ call 44 pith_list_release_handle void 1 42 store subst_args 43 iconst 45 1 store i 45 -label L2473 +label L2438 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 L2474 L2475 -label L2474 +brif 50 L2439 L2440 +label L2439 load 51 subst_args load 52 index_node field 53 52 16 list children @@ -59774,15 +59531,15 @@ load 58 i iconst 59 1 add 60 58 59 store i 60 -jmp L2473 -label L2475 +jmp L2438 +label L2440 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 L2477 L2478 -label L2477 +brif 65 L2442 L2443 +label L2442 strref 66 m18s654 load 67 name strref 68 m18s583 @@ -59825,8 +59582,8 @@ call 104 pith_list_release_handle void 1 103 load 105 cn call 106 pith_struct_release void 1 105 ret 90 -label L2478 -label L2476 +label L2443 +label L2441 load 107 subst_map call 108 pith_map_new_default map 0 call 109 pith_map_release_handle void 1 107 @@ -59834,50 +59591,50 @@ store subst_map 108 load 110 generic_params call 111 pith_auto_len int 1 110 iconst 112 0 -store __for_idx_153 112 -store __for_len_153 111 -store __for_iter_153 110 -label L2479 -load 113 __for_idx_153 -load 114 __for_len_153 +store __for_idx_152 112 +store __for_len_152 111 +store __for_iter_152 110 +label L2444 +load 113 __for_idx_152 +load 114 __for_len_152 lt 115 113 114 -brif 115 L2480 L2482 -label L2480 -load 116 __for_iter_153 -load 117 __for_idx_153 +brif 115 L2445 L2447 +label L2445 +load 116 __for_iter_152 +load 117 __for_idx_152 call 118 pith_list_get_value_unchecked string 2 116 117 -store __loopvar_153_gp 118 -load 119 __for_idx_153 -store __loopvar_153_gp_i 119 -load 120 __loopvar_153_gp_i +store __loopvar_152_gp 118 +load 119 __for_idx_152 +store __loopvar_152_gp_i 119 +load 120 __loopvar_152_gp_i load 121 subst_args call 122 pith_list_len int 1 121 lt 123 120 122 -brif 123 L2484 L2485 -label L2484 +brif 123 L2449 L2450 +label L2449 load 124 subst_map -load 125 __loopvar_153_gp +load 125 __loopvar_152_gp load 126 subst_args -load 127 __loopvar_153_gp_i +load 127 __loopvar_152_gp_i call 128 pith_list_get_value_strict int 2 126 127 call 129 map_insert void 3 124 125 128 -jmp L2483 -label L2485 -label L2483 -label L2481 -load 130 __for_idx_153 +jmp L2448 +label L2450 +label L2448 +label L2446 +load 130 __for_idx_152 iconst 131 1 add 132 130 131 -store __for_idx_153 132 -jmp L2479 -label L2482 +store __for_idx_152 132 +jmp L2444 +label L2447 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 L2487 L2488 -label L2487 +brif 137 L2452 L2453 +label L2452 load 138 types_TID_ERR load 139 decl_node call 140 pith_struct_release void 1 139 @@ -59896,8 +59653,8 @@ call 152 pith_list_release_handle void 1 151 load 153 cn call 154 pith_struct_release void 1 153 ret 138 -label L2488 -label L2486 +label L2453 +label L2451 load 155 arg_types call 156 pith_list_new_default list 0 call 157 pith_list_release_handle void 1 155 @@ -59905,66 +59662,66 @@ store arg_types 156 load 158 arg_indices call 159 pith_auto_len int 1 158 iconst 160 0 -store __for_idx_154 160 -store __for_len_154 159 -store __for_iter_154 158 -label L2489 -load 161 __for_idx_154 -load 162 __for_len_154 +store __for_idx_153 160 +store __for_len_153 159 +store __for_iter_153 158 +label L2454 +load 161 __for_idx_153 +load 162 __for_len_153 lt 163 161 162 -brif 163 L2490 L2492 -label L2490 -load 164 __for_iter_154 -load 165 __for_idx_154 +brif 163 L2455 L2457 +label L2455 +load 164 __for_iter_153 +load 165 __for_idx_153 call 166 pith_list_get_value unknown 2 164 165 -store __loopvar_154_ai 166 +store __loopvar_153_ai 166 load 167 arg_node -load 168 __loopvar_154_ai +load 168 __loopvar_153_ai call 169 ast_get_node struct:Node 1 168 call 170 pith_struct_release void 1 167 store arg_node 169 -load 171 __loopvar_154_ai +load 171 __loopvar_153_ai store arg_expr 171 iconst 172 0 -store __and_172_2496 172 +store __and_172_2461 172 load 173 arg_node field 174 173 0 string kind strref 175 m18s324 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 -store __and_172_2496 176 -brif 176 L2496 L2497 -label L2496 +store __and_172_2461 176 +brif 176 L2461 L2462 +label L2461 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_2496 182 -label L2497 -load 183 __and_172_2496 -brif 183 L2494 L2495 -label L2494 +store __and_172_2461 182 +label L2462 +load 183 __and_172_2461 +brif 183 L2459 L2460 +label L2459 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 L2493 -label L2495 -label L2493 +jmp L2458 +label L2460 +label L2458 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 L2491 -load 193 __for_idx_154 +label L2456 +load 193 __for_idx_153 iconst 194 1 add 195 193 194 -store __for_idx_154 195 -jmp L2489 -label L2492 +store __for_idx_153 195 +jmp L2454 +label L2457 load 196 param_type_nodes call 197 pith_list_new_default list 0 call 198 pith_list_release_handle void 1 196 @@ -59973,21 +59730,21 @@ load 199 decl_node field 200 199 16 list children call 201 pith_auto_len int 1 200 iconst 202 0 -store __for_idx_155 202 -store __for_len_155 201 -store __for_iter_155 200 -label L2498 -load 203 __for_idx_155 -load 204 __for_len_155 +store __for_idx_154 202 +store __for_len_154 201 +store __for_iter_154 200 +label L2463 +load 203 __for_idx_154 +load 204 __for_len_154 lt 205 203 204 -brif 205 L2499 L2501 -label L2499 -load 206 __for_iter_155 -load 207 __for_idx_155 +brif 205 L2464 L2466 +label L2464 +load 206 __for_iter_154 +load 207 __for_idx_154 call 208 pith_list_get_value unknown 2 206 207 -store __loopvar_155_child 208 +store __loopvar_154_child 208 load 209 cn -load 210 __loopvar_155_child +load 210 __loopvar_154_child call 211 ast_get_node struct:Node 1 210 call 212 pith_struct_release void 1 209 store cn 211 @@ -59996,46 +59753,46 @@ field 214 213 0 string kind strref 215 m18s350 call 216 pith_cstring_eq bool 2 214 215 call 217 pith_cstring_release void 1 215 -brif 216 L2503 L2504 -label L2503 +brif 216 L2468 L2469 +label L2468 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 L2506 L2507 -label L2506 +brif 222 L2471 L2472 +label L2471 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 L2505 -label L2507 +jmp L2470 +label L2472 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 L2505 -jmp L2502 -label L2504 -label L2502 -label L2500 -load 234 __for_idx_155 +label L2470 +jmp L2467 +label L2469 +label L2467 +label L2465 +load 234 __for_idx_154 iconst 235 1 add 236 234 235 -store __for_idx_155 236 -jmp L2498 -label L2501 +store __for_idx_154 236 +jmp L2463 +label L2466 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 L2509 L2510 -label L2509 +brif 241 L2474 L2475 +label L2474 strref 242 m18s333 strref 243 m18s594 load 244 param_type_nodes @@ -60075,29 +59832,29 @@ call 277 pith_list_release_handle void 1 276 load 278 cn call 279 pith_struct_release void 1 278 ret 263 -label L2510 -label L2508 +label L2475 +label L2473 load 280 types_TID_VOID store ret_type 280 load 281 decl_node field 282 281 16 list children call 283 pith_auto_len int 1 282 iconst 284 0 -store __for_idx_156 284 -store __for_len_156 283 -store __for_iter_156 282 -label L2511 -load 285 __for_idx_156 -load 286 __for_len_156 +store __for_idx_155 284 +store __for_len_155 283 +store __for_iter_155 282 +label L2476 +load 285 __for_idx_155 +load 286 __for_len_155 lt 287 285 286 -brif 287 L2512 L2514 -label L2512 -load 288 __for_iter_156 -load 289 __for_idx_156 +brif 287 L2477 L2479 +label L2477 +load 288 __for_iter_155 +load 289 __for_idx_155 call 290 pith_list_get_value unknown 2 288 289 -store __loopvar_156_child 290 +store __loopvar_155_child 290 load 291 cn -load 292 __loopvar_156_child +load 292 __loopvar_155_child call 293 ast_get_node struct:Node 1 292 call 294 pith_struct_release void 1 291 store cn 293 @@ -60106,8 +59863,8 @@ field 296 295 0 string kind strref 297 m18s591 call 298 pith_cstring_eq bool 2 296 297 call 299 pith_cstring_release void 1 297 -brif 298 L2516 L2517 -label L2516 +brif 298 L2481 L2482 +label L2481 load 300 cn field 301 300 16 list children iconst 302 0 @@ -60116,83 +59873,83 @@ 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 L2515 -label L2517 -label L2515 -label L2513 -load 307 __for_idx_156 +jmp L2480 +label L2482 +label L2480 +label L2478 +load 307 __for_idx_155 iconst 308 1 add 309 307 308 -store __for_idx_156 309 -jmp L2511 -label L2514 +store __for_idx_155 309 +jmp L2476 +label L2479 iconst 310 0 store vidx 310 load 311 param_type_nodes call 312 pith_auto_len int 1 311 iconst 313 0 -store __for_idx_157 313 -store __for_len_157 312 -store __for_iter_157 311 -label L2518 -load 314 __for_idx_157 -load 315 __for_len_157 +store __for_idx_156 313 +store __for_len_156 312 +store __for_iter_156 311 +label L2483 +load 314 __for_idx_156 +load 315 __for_len_156 lt 316 314 315 -brif 316 L2519 L2521 -label L2519 -load 317 __for_iter_157 -load 318 __for_idx_157 +brif 316 L2484 L2486 +label L2484 +load 317 __for_iter_156 +load 318 __for_idx_156 call 319 pith_list_get_value unknown 2 317 318 -store __loopvar_157_ptn 319 +store __loopvar_156_ptn 319 iconst 320 0 -store __and_320_2525 320 -load 321 __loopvar_157_ptn +store __and_320_2490 320 +load 321 __loopvar_156_ptn iconst 322 0 gte 323 321 322 -store __and_320_2525 323 -brif 323 L2525 L2526 -label L2525 +store __and_320_2490 323 +brif 323 L2490 L2491 +label L2490 load 324 vidx load 325 arg_types call 326 pith_list_len int 1 325 lt 327 324 326 -store __and_320_2525 327 -label L2526 -load 328 __and_320_2525 -brif 328 L2523 L2524 -label L2523 -load 329 __loopvar_157_ptn +store __and_320_2490 327 +label L2491 +load 328 __and_320_2490 +brif 328 L2488 L2489 +label L2488 +load 329 __loopvar_156_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_2530 333 +store __and_333_2495 333 load 334 concrete call 335 types_is_error_type bool 1 334 iconst 336 0 eq 337 335 336 -store __and_333_2530 337 -brif 337 L2530 L2531 -label L2530 +store __and_333_2495 337 +brif 337 L2495 L2496 +label L2495 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_2530 343 -label L2531 -load 344 __and_333_2530 -brif 344 L2528 L2529 -label L2528 +store __and_333_2495 343 +label L2496 +load 344 __and_333_2495 +brif 344 L2493 L2494 +label L2493 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 L2533 L2534 -label L2533 +brif 349 L2498 L2499 +label L2498 load 350 arg_indices load 351 vidx call 352 pith_list_get_value_strict int 2 350 351 @@ -60204,8 +59961,8 @@ load 357 concrete call 358 checker_argument_widens_to_optional bool 3 353 356 357 iconst 359 0 eq 360 358 359 -brif 360 L2536 L2537 -label L2536 +brif 360 L2501 L2502 +label L2501 load 361 arg_types load 362 vidx call 363 pith_list_get_value_strict int 2 361 362 @@ -60213,8 +59970,8 @@ load 364 concrete call 365 checker_types_structurally_equal bool 2 363 364 iconst 366 0 eq 367 365 366 -brif 367 L2539 L2540 -label L2539 +brif 367 L2504 L2505 +label L2504 strref 368 m18s330 strref 369 m18s477 load 370 concrete @@ -60236,32 +59993,32 @@ call 385 pith_cstring_release void 1 382 call 386 checker_diagnostics_report_error void 2 368 383 call 387 pith_cstring_release void 1 368 call 388 pith_cstring_release void 1 383 -jmp L2538 -label L2540 -label L2538 -jmp L2535 -label L2537 -label L2535 -jmp L2532 -label L2534 -label L2532 -jmp L2527 -label L2529 -label L2527 -jmp L2522 -label L2524 -label L2522 +jmp L2503 +label L2505 +label L2503 +jmp L2500 +label L2502 +label L2500 +jmp L2497 +label L2499 +label L2497 +jmp L2492 +label L2494 +label L2492 +jmp L2487 +label L2489 +label L2487 load 389 vidx iconst 390 1 add 391 389 390 store vidx 391 -label L2520 -load 392 __for_idx_157 +label L2485 +load 392 __for_idx_156 iconst 393 1 add 394 392 393 -store __for_idx_157 394 -jmp L2518 -label L2521 +store __for_idx_156 394 +jmp L2483 +label L2486 load 395 ret_type load 396 decl_node call 397 pith_struct_release void 1 396 @@ -60323,8 +60080,8 @@ field 11 10 16 list children call 12 pith_list_len int 1 11 iconst 13 1 lt 14 12 13 -brif 14 L2542 L2543 -label L2542 +brif 14 L2507 L2508 +label L2507 load 15 types_TID_ERR load 16 callee_node call 17 pith_struct_release void 1 16 @@ -60343,8 +60100,8 @@ call 29 pith_struct_release void 1 28 load 30 existing_info call 31 pith_struct_release void 1 30 ret 15 -label L2543 -label L2541 +label L2508 +label L2506 load 32 node field 33 32 16 list children iconst 34 0 @@ -60365,54 +60122,54 @@ load 44 node field 45 44 16 list children call 46 pith_auto_len int 1 45 iconst 47 0 -store __for_idx_158 47 -store __for_len_158 46 -store __for_iter_158 45 -label L2544 -load 48 __for_idx_158 -load 49 __for_len_158 +store __for_idx_157 47 +store __for_len_157 46 +store __for_iter_157 45 +label L2509 +load 48 __for_idx_157 +load 49 __for_len_157 lt 50 48 49 -brif 50 L2545 L2547 -label L2545 -load 51 __for_iter_158 -load 52 __for_idx_158 +brif 50 L2510 L2512 +label L2510 +load 51 __for_iter_157 +load 52 __for_idx_157 call 53 pith_list_get_value unknown 2 51 52 -store __loopvar_158_child 53 +store __loopvar_157_child 53 load 54 skip_callee iconst 55 0 gt 56 54 55 -brif 56 L2549 L2550 -label L2549 +brif 56 L2514 L2515 +label L2514 load 57 skip_callee iconst 58 1 sub 59 57 58 store skip_callee 59 -jmp L2546 -label L2550 -label L2548 +jmp L2511 +label L2515 +label L2513 load 60 arg_indices -load 61 __loopvar_158_child +load 61 __loopvar_157_child call 62 pith_list_push_value void 2 60 61 -label L2546 -load 63 __for_idx_158 +label L2511 +load 63 __for_idx_157 iconst 64 1 add 65 63 64 -store __for_idx_158 65 -jmp L2544 -label L2547 +store __for_idx_157 65 +jmp L2509 +label L2512 load 66 callee_node field 67 66 0 string kind strref 68 m18s317 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L2552 L2553 -label L2552 +brif 69 L2517 L2518 +label L2517 load 71 callee_node strref 72 m18s651 call 73 checker_check_json_decode_callee bool 2 71 72 call 74 pith_cstring_release void 1 72 -brif 73 L2555 L2556 -label L2555 +brif 73 L2520 L2521 +label L2520 load 75 callee_node load 76 arg_indices load 77 scope_id @@ -60435,14 +60192,14 @@ call 93 pith_struct_release void 1 92 load 94 existing_info call 95 pith_struct_release void 1 94 ret 79 -label L2556 -label L2554 +label L2521 +label L2519 load 96 callee_node strref 97 m18s650 call 98 checker_check_json_decode_callee bool 2 96 97 call 99 pith_cstring_release void 1 97 -brif 98 L2558 L2559 -label L2558 +brif 98 L2523 L2524 +label L2523 load 100 callee_node load 101 arg_indices load 102 scope_id @@ -60465,14 +60222,14 @@ call 118 pith_struct_release void 1 117 load 119 existing_info call 120 pith_struct_release void 1 119 ret 104 -label L2559 -label L2557 +label L2524 +label L2522 load 121 callee_node strref 122 m18s651 call 123 checker_check_config_decode_callee bool 2 121 122 call 124 pith_cstring_release void 1 122 -brif 123 L2561 L2562 -label L2561 +brif 123 L2526 L2527 +label L2526 load 125 callee_node load 126 arg_indices load 127 scope_id @@ -60495,14 +60252,14 @@ call 143 pith_struct_release void 1 142 load 144 existing_info call 145 pith_struct_release void 1 144 ret 129 -label L2562 -label L2560 +label L2527 +label L2525 load 146 callee_node strref 147 m18s652 call 148 checker_check_config_decode_callee bool 2 146 147 call 149 pith_cstring_release void 1 147 -brif 148 L2564 L2565 -label L2564 +brif 148 L2529 L2530 +label L2529 load 150 callee_node load 151 arg_indices load 152 scope_id @@ -60525,14 +60282,14 @@ call 168 pith_struct_release void 1 167 load 169 existing_info call 170 pith_struct_release void 1 169 ret 154 -label L2565 -label L2563 +label L2530 +label L2528 load 171 callee_node strref 172 m18s651 call 173 checker_check_handle_decode_callee bool 2 171 172 call 174 pith_cstring_release void 1 172 -brif 173 L2567 L2568 -label L2567 +brif 173 L2532 L2533 +label L2532 load 175 callee_node load 176 callee_node strref 177 m18s651 @@ -60560,14 +60317,14 @@ call 198 pith_struct_release void 1 197 load 199 existing_info call 200 pith_struct_release void 1 199 ret 183 -label L2568 -label L2566 +label L2533 +label L2531 load 201 callee_node strref 202 m18s650 call 203 checker_check_handle_decode_callee bool 2 201 202 call 204 pith_cstring_release void 1 202 -brif 203 L2570 L2571 -label L2570 +brif 203 L2535 L2536 +label L2535 load 205 callee_node load 206 callee_node strref 207 m18s650 @@ -60595,14 +60352,14 @@ call 228 pith_struct_release void 1 227 load 229 existing_info call 230 pith_struct_release void 1 229 ret 213 -label L2571 -label L2569 +label L2536 +label L2534 load 231 callee_node strref 232 m18s649 call 233 checker_check_config_file_decode_callee bool 2 231 232 call 234 pith_cstring_release void 1 232 -brif 233 L2573 L2574 -label L2573 +brif 233 L2538 L2539 +label L2538 load 235 callee_node load 236 arg_indices load 237 scope_id @@ -60624,14 +60381,14 @@ call 252 pith_struct_release void 1 251 load 253 existing_info call 254 pith_struct_release void 1 253 ret 238 -label L2574 -label L2572 +label L2539 +label L2537 load 255 callee_node strref 256 m18s648 call 257 checker_check_config_file_decode_callee bool 2 255 256 call 258 pith_cstring_release void 1 256 -brif 257 L2576 L2577 -label L2576 +brif 257 L2541 L2542 +label L2541 load 259 callee_node load 260 arg_indices load 261 scope_id @@ -60653,15 +60410,15 @@ call 276 pith_struct_release void 1 275 load 277 existing_info call 278 pith_struct_release void 1 277 ret 262 -label L2577 -label L2575 +label L2542 +label L2540 load 279 callee_node field 280 279 16 list children call 281 pith_list_len int 1 280 iconst 282 2 gte 283 281 282 -brif 283 L2579 L2580 -label L2579 +brif 283 L2544 L2545 +label L2544 load 284 obj_node load 285 callee_node field 286 285 16 list children @@ -60675,15 +60432,15 @@ field 292 291 0 string kind strref 293 m18s319 call 294 pith_cstring_eq bool 2 292 293 call 295 pith_cstring_release void 1 293 -brif 294 L2582 L2583 -label L2582 +brif 294 L2547 L2548 +label L2547 load 296 obj_node field 297 296 8 string value strref 298 m18s24 call 299 pith_cstring_eq bool 2 297 298 call 300 pith_cstring_release void 1 298 -brif 299 L2585 L2586 -label L2585 +brif 299 L2550 L2551 +label L2550 load 301 callee_node load 302 arg_indices load 303 scope_id @@ -60705,35 +60462,35 @@ call 318 pith_struct_release void 1 317 load 319 existing_info call 320 pith_struct_release void 1 319 ret 304 -label L2586 -label L2584 -jmp L2581 -label L2583 -label L2581 -jmp L2578 -label L2580 -label L2578 +label L2551 +label L2549 +jmp L2546 +label L2548 +label L2546 +jmp L2543 +label L2545 +label L2543 load 321 explicit_name load 322 callee_node call 323 checker_check_explicit_generic_callee_name string 1 322 call 324 pith_cstring_release void 1 321 store explicit_name 323 iconst 325 0 -store __and_325_2590 325 +store __and_325_2555 325 load 326 explicit_name call 327 string_len int 1 326 iconst 328 0 gt 329 327 328 -store __and_325_2590 329 -brif 329 L2590 L2591 -label L2590 +store __and_325_2555 329 +brif 329 L2555 L2556 +label L2555 load 330 explicit_name call 331 checker_has_generic_declaration bool 1 330 -store __and_325_2590 331 -label L2591 -load 332 __and_325_2590 -brif 332 L2588 L2589 -label L2588 +store __and_325_2555 331 +label L2556 +load 332 __and_325_2555 +brif 332 L2553 L2554 +label L2553 call 333 checker_diagnostics_checker_current_node_index int 0 load 334 explicit_name call 335 checker_get_generic_declaration_index int 1 334 @@ -60749,8 +60506,8 @@ field 343 342 0 string kind strref 344 m18s313 call 345 pith_cstring_eq bool 2 343 344 call 346 pith_cstring_release void 1 344 -brif 345 L2593 L2594 -label L2593 +brif 345 L2558 L2559 +label L2558 load 347 explicit_name load 348 callee_node load 349 arg_indices @@ -60773,8 +60530,8 @@ call 365 pith_struct_release void 1 364 load 366 existing_info call 367 pith_struct_release void 1 366 ret 351 -label L2594 -label L2592 +label L2559 +label L2557 load 368 explicit_name load 369 callee_node load 370 arg_indices @@ -60797,8 +60554,8 @@ call 386 pith_struct_release void 1 385 load 387 existing_info call 388 pith_struct_release void 1 387 ret 372 -label L2589 -label L2587 +label L2554 +label L2552 load 389 callee_idx load 390 arg_indices load 391 scope_id @@ -60820,15 +60577,15 @@ call 406 pith_struct_release void 1 405 load 407 existing_info call 408 pith_struct_release void 1 407 ret 392 -label L2553 -label L2551 +label L2518 +label L2516 load 409 callee_node field 410 409 0 string kind strref 411 m18s319 call 412 pith_cstring_eq bool 2 410 411 call 413 pith_cstring_release void 1 411 -brif 412 L2596 L2597 -label L2596 +brif 412 L2561 L2562 +label L2561 load 414 name load 415 callee_node field 416 415 8 string value @@ -60836,30 +60593,30 @@ call 417 pith_cstring_retain void 1 416 call 418 pith_cstring_release void 1 414 store name 416 iconst 419 0 -store __or_419_2601 419 +store __or_419_2566 419 load 420 name strref 421 m18s647 call 422 pith_cstring_eq bool 2 420 421 call 423 pith_cstring_release void 1 421 -store __or_419_2601 422 -brif 422 L2602 L2601 -label L2601 +store __or_419_2566 422 +brif 422 L2567 L2566 +label L2566 load 424 name strref 425 m18s646 call 426 pith_cstring_eq bool 2 424 425 call 427 pith_cstring_release void 1 425 -store __or_419_2601 426 -label L2602 -load 428 __or_419_2601 -brif 428 L2599 L2600 -label L2599 +store __or_419_2566 426 +label L2567 +load 428 __or_419_2566 +brif 428 L2564 L2565 +label L2564 load 429 scope_id load 430 name call 431 scope_lookup_binding int 2 429 430 iconst 432 0 lt 433 431 432 -brif 433 L2604 L2605 -label L2604 +brif 433 L2569 L2570 +label L2569 load 434 name load 435 arg_indices load 436 scope_id @@ -60881,17 +60638,17 @@ call 451 pith_struct_release void 1 450 load 452 existing_info call 453 pith_struct_release void 1 452 ret 437 -label L2605 -label L2603 -jmp L2598 -label L2600 -label L2598 +label L2570 +label L2568 +jmp L2563 +label L2565 +label L2563 load 454 name strref 455 m18s21 call 456 pith_cstring_eq bool 2 454 455 call 457 pith_cstring_release void 1 455 -brif 456 L2607 L2608 -label L2607 +brif 456 L2572 L2573 +label L2572 load 458 arg_indices load 459 scope_id call 460 checker_check_list_map_builtin int 2 458 459 @@ -60912,14 +60669,14 @@ call 474 pith_struct_release void 1 473 load 475 existing_info call 476 pith_struct_release void 1 475 ret 460 -label L2608 -label L2606 +label L2573 +label L2571 load 477 name strref 478 m18s537 call 479 pith_cstring_eq bool 2 477 478 call 480 pith_cstring_release void 1 478 -brif 479 L2610 L2611 -label L2610 +brif 479 L2575 L2576 +label L2575 load 481 arg_indices load 482 scope_id call 483 checker_check_list_filter_builtin int 2 481 482 @@ -60940,14 +60697,14 @@ call 497 pith_struct_release void 1 496 load 498 existing_info call 499 pith_struct_release void 1 498 ret 483 -label L2611 -label L2609 +label L2576 +label L2574 load 500 name strref 501 m18s536 call 502 pith_cstring_eq bool 2 500 501 call 503 pith_cstring_release void 1 501 -brif 502 L2613 L2614 -label L2613 +brif 502 L2578 L2579 +label L2578 load 504 arg_indices load 505 scope_id call 506 checker_check_list_reduce_builtin int 2 504 505 @@ -60968,16 +60725,16 @@ call 520 pith_struct_release void 1 519 load 521 existing_info call 522 pith_struct_release void 1 521 ret 506 -label L2614 -label L2612 +label L2579 +label L2577 load 523 name call 524 types_lookup_type_id int 1 523 store struct_tid 524 load 525 struct_tid iconst 526 0 gte 527 525 526 -brif 527 L2616 L2617 -label L2616 +brif 527 L2581 L2582 +label L2581 load 528 info load 529 struct_tid call 530 types_get_type_info struct:TypeInfo 1 529 @@ -60988,21 +60745,21 @@ field 533 532 0 string kind strref 534 m18s35 call 535 pith_cstring_eq bool 2 533 534 call 536 pith_cstring_release void 1 534 -brif 535 L2619 L2620 -label L2619 +brif 535 L2584 L2585 +label L2584 load 537 info field 538 537 16 list_string fields call 539 pith_list_len int 1 538 iconst 540 0 eq 541 539 540 -brif 541 L2622 L2623 -label L2622 +brif 541 L2587 L2588 +label L2587 load 542 arg_indices call 543 pith_list_len int 1 542 iconst 544 0 gt 545 543 544 -brif 545 L2625 L2626 -label L2625 +brif 545 L2590 L2591 +label L2590 load 546 callee_idx load 547 arg_indices load 548 scope_id @@ -61024,11 +60781,11 @@ call 563 pith_struct_release void 1 562 load 564 existing_info call 565 pith_struct_release void 1 564 ret 549 -label L2626 -label L2624 -jmp L2621 -label L2623 -label L2621 +label L2591 +label L2589 +jmp L2586 +label L2588 +label L2586 load 566 name load 567 struct_tid load 568 info @@ -61052,15 +60809,15 @@ call 585 pith_struct_release void 1 584 load 586 existing_info call 587 pith_struct_release void 1 586 ret 571 -label L2620 -label L2618 +label L2585 +label L2583 load 588 info field 589 588 0 string kind strref 590 m18s34 call 591 pith_cstring_eq bool 2 589 590 call 592 pith_cstring_release void 1 590 -brif 591 L2628 L2629 -label L2628 +brif 591 L2593 L2594 +label L2593 load 593 callee_idx load 594 arg_indices load 595 scope_id @@ -61082,11 +60839,11 @@ call 610 pith_struct_release void 1 609 load 611 existing_info call 612 pith_struct_release void 1 611 ret 596 -label L2629 -label L2627 -jmp L2615 -label L2617 -label L2615 +label L2594 +label L2592 +jmp L2580 +label L2582 +label L2580 load 613 scope_id load 614 name call 615 scope_lookup_binding int 2 613 614 @@ -61094,8 +60851,8 @@ store existing_fn 615 load 616 existing_fn iconst 617 0 gte 618 616 617 -brif 618 L2631 L2632 -label L2631 +brif 618 L2596 L2597 +label L2596 load 619 existing_info load 620 existing_fn call 621 types_get_type_info struct:TypeInfo 1 620 @@ -61106,8 +60863,8 @@ field 624 623 0 string kind strref 625 m18s32 call 626 pith_cstring_eq bool 2 624 625 call 627 pith_cstring_release void 1 625 -brif 626 L2634 L2635 -label L2634 +brif 626 L2599 L2600 +label L2599 load 628 callee_idx load 629 arg_indices load 630 scope_id @@ -61129,15 +60886,15 @@ call 645 pith_struct_release void 1 644 load 646 existing_info call 647 pith_struct_release void 1 646 ret 631 -label L2635 -label L2633 -jmp L2630 -label L2632 -label L2630 +label L2600 +label L2598 +jmp L2595 +label L2597 +label L2595 load 648 name call 649 checker_has_generic_declaration bool 1 648 -brif 649 L2637 L2638 -label L2637 +brif 649 L2602 L2603 +label L2602 load 650 gdecl load 651 name call 652 checker_get_generic_declaration_index int 1 651 @@ -61149,8 +60906,8 @@ field 656 655 0 string kind strref 657 m18s313 call 658 pith_cstring_eq bool 2 656 657 call 659 pith_cstring_release void 1 657 -brif 658 L2640 L2641 -label L2640 +brif 658 L2605 L2606 +label L2605 load 660 name load 661 arg_indices load 662 scope_id @@ -61172,8 +60929,8 @@ call 677 pith_struct_release void 1 676 load 678 existing_info call 679 pith_struct_release void 1 678 ret 663 -label L2641 -label L2639 +label L2606 +label L2604 load 680 name load 681 arg_indices load 682 scope_id @@ -61195,8 +60952,8 @@ call 697 pith_struct_release void 1 696 load 698 existing_info call 699 pith_struct_release void 1 698 ret 683 -label L2638 -label L2636 +label L2603 +label L2601 load 700 callee_idx load 701 arg_indices load 702 scope_id @@ -61218,8 +60975,8 @@ call 717 pith_struct_release void 1 716 load 718 existing_info call 719 pith_struct_release void 1 718 ret 703 -label L2597 -label L2595 +label L2562 +label L2560 load 720 callee_idx load 721 arg_indices load 722 scope_id @@ -61283,8 +61040,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 L2643 L2644 -label L2643 +brif 15 L2608 L2609 +label L2608 strref 19 m18s645 strref 20 m18s644 call 21 checker_diagnostics_report_error void 2 19 20 @@ -61296,30 +61053,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 L2644 -label L2642 +label L2609 +label L2607 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 L2646 L2647 -label L2646 +brif 33 L2611 L2612 +label L2611 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 L2647 -label L2645 +label L2612 +label L2610 load 39 arg_indices call 40 pith_list_len int 1 39 iconst 41 1 gt 42 40 41 -brif 42 L2649 L2650 -label L2649 +brif 42 L2614 L2615 +label L2614 strref 43 m18s333 strref 44 m18s643 load 45 arg_indices @@ -61337,14 +61094,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 L2650 -label L2648 +label L2615 +label L2613 load 59 arg_indices call 60 pith_list_len int 1 59 iconst 61 1 eq 62 60 61 -brif 62 L2652 L2653 -label L2652 +brif 62 L2617 L2618 +label L2617 strref 63 m18s24 load 64 arg_indices strref 65 m18s16 @@ -61353,9 +61110,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 L2651 -label L2653 -label L2651 +jmp L2616 +label L2618 +label L2616 load 71 type_args call 72 pith_list_new_default list 0 call 73 pith_list_release_handle void 1 71 @@ -61389,12 +61146,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 L2655 L2656 -label L2655 +brif 7 L2620 L2621 +label L2620 load 8 types_TID_ERR ret 8 -label L2656 -label L2654 +label L2621 +label L2619 load 9 callee_type load 10 arg_indices load 11 scope_id @@ -61423,8 +61180,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 L2658 L2659 -label L2658 +brif 12 L2623 L2624 +label L2623 strref 16 m18s613 strref 17 m18s642 call 18 checker_diagnostics_report_error void 2 16 17 @@ -61436,16 +61193,16 @@ call 23 pith_struct_release void 1 22 load 24 arg_node call 25 pith_struct_release void 1 24 ret 21 -label L2659 -label L2657 +label L2624 +label L2622 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 L2661 L2662 -label L2661 +brif 31 L2626 L2627 +label L2626 strref 32 m18s333 strref 33 m18s594 load 34 fn_info @@ -61474,58 +61231,58 @@ call 56 pith_struct_release void 1 55 load 57 arg_node call 58 pith_struct_release void 1 57 ret 54 -label L2662 -label L2660 +label L2627 +label L2625 iconst 59 0 store idx 59 load 60 arg_indices call 61 pith_auto_len int 1 60 iconst 62 0 -store __for_idx_159 62 -store __for_len_159 61 -store __for_iter_159 60 -label L2663 -load 63 __for_idx_159 -load 64 __for_len_159 +store __for_idx_158 62 +store __for_len_158 61 +store __for_iter_158 60 +label L2628 +load 63 __for_idx_158 +load 64 __for_len_158 lt 65 63 64 -brif 65 L2664 L2666 -label L2664 -load 66 __for_iter_159 -load 67 __for_idx_159 +brif 65 L2629 L2631 +label L2629 +load 66 __for_iter_158 +load 67 __for_idx_158 call 68 pith_list_get_value unknown 2 66 67 -store __loopvar_159_ai 68 +store __loopvar_158_ai 68 load 69 arg_node -load 70 __loopvar_159_ai +load 70 __loopvar_158_ai call 71 ast_get_node struct:Node 1 70 call 72 pith_struct_release void 1 69 store arg_node 71 -load 73 __loopvar_159_ai +load 73 __loopvar_158_ai store arg_expr_idx 73 load 74 arg_node field 75 74 0 string kind strref 76 m18s324 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -brif 77 L2668 L2669 -label L2668 +brif 77 L2633 L2634 +label L2633 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 L2671 L2672 -label L2671 +brif 83 L2636 L2637 +label L2636 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 L2670 -label L2672 -label L2670 -jmp L2667 -label L2669 -label L2667 +jmp L2635 +label L2637 +label L2635 +jmp L2632 +label L2634 +label L2632 load 88 arg_expr_idx load 89 scope_id call 90 checker_c_check_expr int 2 88 89 @@ -61535,8 +61292,8 @@ load 92 fn_info field 93 92 48 list param_types call 94 pith_list_len int 1 93 lt 95 91 94 -brif 95 L2674 L2675 -label L2674 +brif 95 L2639 L2640 +label L2639 load 96 arg_expr_idx load 97 fn_info field 98 97 48 list param_types @@ -61545,22 +61302,22 @@ call 100 pith_list_get_value_strict int 2 98 99 load 101 arg_type load 102 scope_id call 103 checker_propagate_empty_argument_collection_type void 4 96 100 101 102 -jmp L2673 -label L2675 -label L2673 +jmp L2638 +label L2640 +label L2638 load 104 arg_type call 105 types_is_error_type bool 1 104 iconst 106 0 eq 107 105 106 -brif 107 L2677 L2678 -label L2677 +brif 107 L2642 L2643 +label L2642 load 108 idx load 109 fn_info field 110 109 48 list param_types call 111 pith_list_len int 1 110 lt 112 108 111 -brif 112 L2680 L2681 -label L2680 +brif 112 L2645 L2646 +label L2645 load 113 fn_info field 114 113 48 list param_types load 115 idx @@ -61569,31 +61326,31 @@ store expected 116 load 117 arg_type load 118 expected neq 119 117 118 -brif 119 L2683 L2684 -label L2683 +brif 119 L2648 L2649 +label L2648 load 120 arg_expr_idx load 121 arg_type load 122 expected call 123 checker_argument_widens_to_optional bool 3 120 121 122 iconst 124 0 eq 125 123 124 -brif 125 L2686 L2687 -label L2686 +brif 125 L2651 L2652 +label L2651 load 126 arg_expr_idx load 127 expected load 128 scope_id call 129 checker_collection_literal_matches_target bool 3 126 127 128 iconst 130 0 eq 131 129 130 -brif 131 L2689 L2690 -label L2689 +brif 131 L2654 L2655 +label L2654 load 132 arg_type load 133 expected call 134 checker_types_structurally_equal bool 2 132 133 iconst 135 0 eq 136 134 135 -brif 136 L2692 L2693 -label L2692 +brif 136 L2657 L2658 +label L2657 load 137 arg_expr_idx strref 138 m18s330 strref 139 m18s477 @@ -61614,35 +61371,35 @@ call 153 pith_cstring_release void 1 150 call 154 checker_diagnostics_report_error_at void 3 137 138 151 call 155 pith_cstring_release void 1 138 call 156 pith_cstring_release void 1 151 -jmp L2691 -label L2693 -label L2691 -jmp L2688 -label L2690 -label L2688 -jmp L2685 -label L2687 -label L2685 -jmp L2682 -label L2684 -label L2682 -jmp L2679 -label L2681 -label L2679 -jmp L2676 -label L2678 -label L2676 +jmp L2656 +label L2658 +label L2656 +jmp L2653 +label L2655 +label L2653 +jmp L2650 +label L2652 +label L2650 +jmp L2647 +label L2649 +label L2647 +jmp L2644 +label L2646 +label L2644 +jmp L2641 +label L2643 +label L2641 load 157 idx iconst 158 1 add 159 157 158 store idx 159 -label L2665 -load 160 __for_idx_159 +label L2630 +load 160 __for_idx_158 iconst 161 1 add 162 160 161 -store __for_idx_159 162 -jmp L2663 -label L2666 +store __for_idx_158 162 +jmp L2628 +label L2631 load 163 fn_info field 164 163 56 int return_type load 165 fn_info @@ -61664,57 +61421,57 @@ store an 1 load 2 arg_indices call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_160 4 -store __for_len_160 3 -store __for_iter_160 2 -label L2694 -load 5 __for_idx_160 -load 6 __for_len_160 +store __for_idx_159 4 +store __for_len_159 3 +store __for_iter_159 2 +label L2659 +load 5 __for_idx_159 +load 6 __for_len_159 lt 7 5 6 -brif 7 L2695 L2697 -label L2695 -load 8 __for_iter_160 -load 9 __for_idx_160 +brif 7 L2660 L2662 +label L2660 +load 8 __for_iter_159 +load 9 __for_idx_159 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_160_ai 10 +store __loopvar_159_ai 10 load 11 an -load 12 __loopvar_160_ai +load 12 __loopvar_159_ai 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_2701 15 +store __and_15_2666 15 load 16 an field 17 16 0 string kind strref 18 m18s324 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_15_2701 19 -brif 19 L2701 L2702 -label L2701 +store __and_15_2666 19 +brif 19 L2666 L2667 +label L2666 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_2701 25 -label L2702 -load 26 __and_15_2701 -brif 26 L2699 L2700 -label L2699 +store __and_15_2666 25 +label L2667 +load 26 __and_15_2666 +brif 26 L2664 L2665 +label L2664 iconst 27 1 load 28 an call 29 pith_struct_release void 1 28 ret 27 -label L2700 -label L2698 -label L2696 -load 30 __for_idx_160 +label L2665 +label L2663 +label L2661 +load 30 __for_idx_159 iconst 31 1 add 32 30 31 -store __for_idx_160 32 -jmp L2694 -label L2697 +store __for_idx_159 32 +jmp L2659 +label L2662 iconst 33 0 load 34 an call 35 pith_struct_release void 1 34 @@ -61731,35 +61488,35 @@ load 2 info field 3 2 16 list_string fields call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_161 5 -store __for_len_161 4 -store __for_iter_161 3 -label L2703 -load 6 __for_idx_161 -load 7 __for_len_161 +store __for_idx_160 5 +store __for_len_160 4 +store __for_iter_160 3 +label L2668 +load 6 __for_idx_160 +load 7 __for_len_160 lt 8 6 7 -brif 8 L2704 L2706 -label L2704 -load 9 __for_iter_161 -load 10 __for_idx_161 +brif 8 L2669 L2671 +label L2669 +load 9 __for_iter_160 +load 10 __for_idx_160 call 11 pith_list_get_value_unchecked string 2 9 10 -store __loopvar_161_f 11 -load 12 __loopvar_161_f +store __loopvar_160_f 11 +load 12 __loopvar_160_f load 13 field_name call 14 checker_strings_equal bool 2 12 13 -brif 14 L2708 L2709 -label L2708 +brif 14 L2673 L2674 +label L2673 iconst 15 1 ret 15 -label L2709 -label L2707 -label L2705 -load 16 __for_idx_161 +label L2674 +label L2672 +label L2670 +load 16 __for_idx_160 iconst 17 1 add 18 16 17 -store __for_idx_161 18 -jmp L2703 -label L2706 +store __for_idx_160 18 +jmp L2668 +label L2671 iconst 19 0 ret 19 iconst 20 0 @@ -61784,26 +61541,26 @@ store ok 10 load 11 arg_indices call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_162 13 -store __for_len_162 12 -store __for_iter_162 11 -label L2710 -load 14 __for_idx_162 -load 15 __for_len_162 +store __for_idx_161 13 +store __for_len_161 12 +store __for_iter_161 11 +label L2675 +load 14 __for_idx_161 +load 15 __for_len_161 lt 16 14 15 -brif 16 L2711 L2713 -label L2711 -load 17 __for_iter_162 -load 18 __for_idx_162 +brif 16 L2676 L2678 +label L2676 +load 17 __for_iter_161 +load 18 __for_idx_161 call 19 pith_list_get_value unknown 2 17 18 -store __loopvar_162_ai 19 +store __loopvar_161_ai 19 load 20 an -load 21 __loopvar_162_ai +load 21 __loopvar_161_ai 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_2717 24 +store __or_24_2682 24 load 25 an field 26 25 0 string kind strref 27 m18s324 @@ -61811,19 +61568,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_2717 28 -brif 28 L2718 L2717 -label L2717 +store __or_24_2682 28 +brif 28 L2683 L2682 +label L2682 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_2717 36 -label L2718 -load 37 __or_24_2717 -brif 37 L2715 L2716 -label L2715 +store __or_24_2682 36 +label L2683 +load 37 __or_24_2682 +brif 37 L2680 L2681 +label L2680 strref 38 m18s641 load 39 name strref 40 m18s640 @@ -61834,16 +61591,16 @@ call 44 pith_cstring_release void 1 38 call 45 pith_cstring_release void 1 41 iconst 46 0 store ok 46 -jmp L2714 -label L2716 +jmp L2679 +label L2681 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 L2719 L2720 -label L2719 +brif 52 L2684 L2685 +label L2684 strref 53 m18s639 load 54 name strref 55 m18s462 @@ -61862,14 +61619,14 @@ call 67 pith_cstring_release void 1 53 call 68 pith_cstring_release void 1 63 iconst 69 0 store ok 69 -jmp L2714 -label L2720 +jmp L2679 +label L2685 load 70 provided load 71 an field 72 71 8 string value call 73 contains_key bool 2 70 72 -brif 73 L2721 L2722 -label L2721 +brif 73 L2686 L2687 +label L2686 strref 74 m18s638 load 75 name strref 76 m18s637 @@ -61888,75 +61645,75 @@ call 88 pith_cstring_release void 1 74 call 89 pith_cstring_release void 1 84 iconst 90 0 store ok 90 -jmp L2714 -label L2722 -load 91 __loopvar_162_ai +jmp L2679 +label L2687 +load 91 __loopvar_161_ai store expr 91 load 92 an field 93 92 16 list children call 94 pith_list_len int 1 93 iconst 95 0 gt 96 94 95 -brif 96 L2724 L2725 -label L2724 +brif 96 L2689 L2690 +label L2689 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 L2723 -label L2725 -label L2723 +jmp L2688 +label L2690 +label L2688 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 L2714 -label L2712 -load 106 __for_idx_162 +label L2679 +label L2677 +load 106 __for_idx_161 iconst 107 1 add 108 106 107 -store __for_idx_162 108 -jmp L2710 -label L2713 +store __for_idx_161 108 +jmp L2675 +label L2678 load 109 info field 110 109 16 list_string fields call 111 pith_auto_len int 1 110 iconst 112 0 -store __for_idx_163 112 -store __for_len_163 111 -store __for_iter_163 110 -label L2726 -load 113 __for_idx_163 -load 114 __for_len_163 +store __for_idx_162 112 +store __for_len_162 111 +store __for_iter_162 110 +label L2691 +load 113 __for_idx_162 +load 114 __for_len_162 lt 115 113 114 -brif 115 L2727 L2729 -label L2727 -load 116 __for_iter_163 -load 117 __for_idx_163 +brif 115 L2692 L2694 +label L2692 +load 116 __for_iter_162 +load 117 __for_idx_162 call 118 pith_list_get_value_unchecked string 2 116 117 -store __loopvar_163_fld 118 +store __loopvar_162_fld 118 load 119 provided -load 120 __loopvar_163_fld +load 120 __loopvar_162_fld call 121 contains_key bool 2 119 120 iconst 122 0 eq 123 121 122 -brif 123 L2731 L2732 -label L2731 +brif 123 L2696 L2697 +label L2696 load 124 name -load 125 __loopvar_163_fld +load 125 __loopvar_162_fld call 126 checker_struct_field_has_default bool 2 124 125 iconst 127 0 eq 128 126 127 -brif 128 L2734 L2735 -label L2734 +brif 128 L2699 L2700 +label L2699 strref 129 m18s635 load 130 name strref 131 m18s634 concat 132 130 131 call 133 pith_cstring_release void 1 131 -load 134 __loopvar_163_fld +load 134 __loopvar_162_fld concat 135 132 134 call 136 pith_cstring_release void 1 132 strref 137 m18s376 @@ -61968,58 +61725,58 @@ call 142 pith_cstring_release void 1 129 call 143 pith_cstring_release void 1 138 iconst 144 0 store ok 144 -jmp L2733 -label L2735 -label L2733 -jmp L2730 -label L2732 -label L2730 -label L2728 -load 145 __for_idx_163 +jmp L2698 +label L2700 +label L2698 +jmp L2695 +label L2697 +label L2695 +label L2693 +load 145 __for_idx_162 iconst 146 1 add 147 145 146 -store __for_idx_163 147 -jmp L2726 -label L2729 +store __for_idx_162 147 +jmp L2691 +label L2694 load 148 ok iconst 149 0 eq 150 148 149 -brif 150 L2737 L2738 -label L2737 +brif 150 L2702 L2703 +label L2702 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 L2738 -label L2736 +label L2703 +label L2701 iconst 156 0 store idx 156 load 157 info field 158 157 16 list_string fields call 159 pith_auto_len int 1 158 iconst 160 0 -store __for_idx_164 160 -store __for_len_164 159 -store __for_iter_164 158 -label L2739 -load 161 __for_idx_164 -load 162 __for_len_164 +store __for_idx_163 160 +store __for_len_163 159 +store __for_iter_163 158 +label L2704 +load 161 __for_idx_163 +load 162 __for_len_163 lt 163 161 162 -brif 163 L2740 L2742 -label L2740 -load 164 __for_iter_164 -load 165 __for_idx_164 +brif 163 L2705 L2707 +label L2705 +load 164 __for_iter_163 +load 165 __for_idx_163 call 166 pith_list_get_value_unchecked string 2 164 165 -store __loopvar_164_fld 166 +store __loopvar_163_fld 166 load 167 provided -load 168 __loopvar_164_fld +load 168 __loopvar_163_fld call 169 contains_key bool 2 167 168 -brif 169 L2744 L2745 -label L2744 +brif 169 L2709 L2710 +label L2709 load 170 provided -load 171 __loopvar_164_fld +load 171 __loopvar_163_fld call 172 map_get_strict int 2 170 171 store expr 172 load 173 expr @@ -62028,23 +61785,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 L2747 L2748 -label L2747 +brif 177 L2712 L2713 +label L2712 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 L2746 -label L2748 -label L2746 +jmp L2711 +label L2713 +label L2711 load 184 arg_type call 185 types_is_error_type bool 1 184 iconst 186 0 eq 187 185 186 -brif 187 L2750 L2751 -label L2750 +brif 187 L2715 L2716 +label L2715 load 188 info field 189 188 24 list field_types load 190 idx @@ -62056,27 +61813,27 @@ load 194 expected call 195 checker_value_matches_optional_target bool 3 192 193 194 iconst 196 0 eq 197 195 196 -brif 197 L2753 L2754 -label L2753 +brif 197 L2718 L2719 +label L2718 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 L2756 L2757 -label L2756 +brif 203 L2721 L2722 +label L2721 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 L2759 L2760 -label L2759 +brif 208 L2724 L2725 +label L2724 load 209 expr strref 210 m18s330 strref 211 m18s329 -load 212 __loopvar_164_fld +load 212 __loopvar_163_fld concat 213 211 212 call 214 pith_cstring_release void 1 211 strref 215 m18s328 @@ -62100,32 +61857,32 @@ call 232 pith_cstring_release void 1 229 call 233 checker_diagnostics_report_error_at void 3 209 210 230 call 234 pith_cstring_release void 1 210 call 235 pith_cstring_release void 1 230 -jmp L2758 -label L2760 -label L2758 -jmp L2755 -label L2757 -label L2755 -jmp L2752 -label L2754 -label L2752 -jmp L2749 -label L2751 -label L2749 -jmp L2743 -label L2745 -label L2743 +jmp L2723 +label L2725 +label L2723 +jmp L2720 +label L2722 +label L2720 +jmp L2717 +label L2719 +label L2717 +jmp L2714 +label L2716 +label L2714 +jmp L2708 +label L2710 +label L2708 load 236 idx iconst 237 1 add 238 236 237 store idx 238 -label L2741 -load 239 __for_idx_164 +label L2706 +load 239 __for_idx_163 iconst 240 1 add 241 239 240 -store __for_idx_164 241 -jmp L2739 -label L2742 +store __for_idx_163 241 +jmp L2704 +label L2707 load 242 struct_tid load 243 provided call 244 pith_map_release_handle void 1 243 @@ -62149,8 +61906,8 @@ iconst 5 0 store arg_node 5 load 6 arg_indices call 7 checker_struct_args_are_named bool 1 6 -brif 7 L2762 L2763 -label L2762 +brif 7 L2727 L2728 +label L2727 load 8 name load 9 struct_tid load 10 info @@ -62160,16 +61917,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 L2763 -label L2761 +label L2728 +label L2726 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 L2765 L2766 -label L2765 +brif 21 L2730 L2731 +label L2730 strref 22 m18s333 load 23 name strref 24 m18s334 @@ -62199,8 +61956,8 @@ load 47 types_TID_ERR load 48 arg_node call 49 pith_struct_release void 1 48 ret 47 -label L2766 -label L2764 +label L2731 +label L2729 load 50 name load 51 info call 52 checker_struct_min_required_fields int 2 50 51 @@ -62209,8 +61966,8 @@ load 53 arg_indices call 54 pith_list_len int 1 53 load 55 min_required lt 56 54 55 -brif 56 L2768 L2769 -label L2768 +brif 56 L2733 L2734 +label L2733 strref 57 m18s333 load 58 name strref 59 m18s332 @@ -62238,98 +61995,98 @@ load 80 types_TID_ERR load 81 arg_node call 82 pith_struct_release void 1 81 ret 80 -label L2769 -label L2767 +label L2734 +label L2732 iconst 83 0 store idx 83 load 84 arg_indices call 85 pith_auto_len int 1 84 iconst 86 0 -store __for_idx_165 86 -store __for_len_165 85 -store __for_iter_165 84 -label L2770 -load 87 __for_idx_165 -load 88 __for_len_165 +store __for_idx_164 86 +store __for_len_164 85 +store __for_iter_164 84 +label L2735 +load 87 __for_idx_164 +load 88 __for_len_164 lt 89 87 88 -brif 89 L2771 L2773 -label L2771 -load 90 __for_iter_165 -load 91 __for_idx_165 +brif 89 L2736 L2738 +label L2736 +load 90 __for_iter_164 +load 91 __for_idx_164 call 92 pith_list_get_value unknown 2 90 91 -store __loopvar_165_ai 92 +store __loopvar_164_ai 92 load 93 arg_node -load 94 __loopvar_165_ai +load 94 __loopvar_164_ai call 95 ast_get_node struct:Node 1 94 call 96 pith_struct_release void 1 93 store arg_node 95 -load 97 __loopvar_165_ai +load 97 __loopvar_164_ai store arg_expr_idx 97 load 98 arg_node field 99 98 0 string kind strref 100 m18s324 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -brif 101 L2775 L2776 -label L2775 +brif 101 L2740 L2741 +label L2740 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 L2778 L2779 -label L2778 +brif 107 L2743 L2744 +label L2743 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 L2777 -label L2779 -label L2777 -jmp L2774 -label L2776 -label L2774 +jmp L2742 +label L2744 +label L2742 +jmp L2739 +label L2741 +label L2739 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 L2781 L2782 -label L2781 +brif 116 L2746 L2747 +label L2746 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 L2784 L2785 -label L2784 +brif 121 L2749 L2750 +label L2749 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 L2783 -label L2785 -label L2783 -jmp L2780 -label L2782 -label L2780 +jmp L2748 +label L2750 +label L2748 +jmp L2745 +label L2747 +label L2745 load 128 arg_type call 129 types_is_error_type bool 1 128 iconst 130 0 eq 131 129 130 -brif 131 L2787 L2788 -label L2787 +brif 131 L2752 L2753 +label L2752 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 L2790 L2791 -label L2790 +brif 136 L2755 L2756 +label L2755 load 137 info field 138 137 24 list field_types load 139 idx @@ -62341,23 +62098,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 L2793 L2794 -label L2793 +brif 146 L2758 L2759 +label L2758 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 L2796 L2797 -label L2796 +brif 152 L2761 L2762 +label L2761 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 L2799 L2800 -label L2799 +brif 157 L2764 L2765 +label L2764 load 158 arg_expr_idx strref 159 m18s330 strref 160 m18s329 @@ -62388,32 +62145,32 @@ call 184 pith_cstring_release void 1 181 call 185 checker_diagnostics_report_error_at void 3 158 159 182 call 186 pith_cstring_release void 1 159 call 187 pith_cstring_release void 1 182 -jmp L2798 -label L2800 -label L2798 -jmp L2795 -label L2797 -label L2795 -jmp L2792 -label L2794 -label L2792 -jmp L2789 -label L2791 -label L2789 -jmp L2786 -label L2788 -label L2786 +jmp L2763 +label L2765 +label L2763 +jmp L2760 +label L2762 +label L2760 +jmp L2757 +label L2759 +label L2757 +jmp L2754 +label L2756 +label L2754 +jmp L2751 +label L2753 +label L2751 load 188 idx iconst 189 1 add 190 188 189 store idx 190 -label L2772 -load 191 __for_idx_165 +label L2737 +load 191 __for_idx_164 iconst 192 1 add 193 191 192 -store __for_idx_165 193 -jmp L2770 -label L2773 +store __for_idx_164 193 +jmp L2735 +label L2738 load 194 struct_tid load 195 arg_node call 196 pith_struct_release void 1 195 @@ -62435,29 +62192,29 @@ store arg_info 5 load 6 field_node_idx iconst 7 0 lt 8 6 7 -brif 8 L2802 L2803 -label L2802 +brif 8 L2767 L2768 +label L2767 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 L2803 -label L2801 +label L2768 +label L2766 load 14 arg_tid iconst 15 0 lt 16 14 15 -brif 16 L2805 L2806 -label L2805 +brif 16 L2770 L2771 +label L2770 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 L2806 -label L2804 +label L2771 +label L2769 load 22 fnode load 23 field_node_idx call 24 ast_get_node struct:Node 1 23 @@ -62468,67 +62225,67 @@ field 27 26 0 string kind strref 28 m18s584 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L2808 L2809 -label L2808 +brif 29 L2773 L2774 +label L2773 load 31 generic_params call 32 pith_auto_len int 1 31 iconst 33 0 -store __for_idx_166 33 -store __for_len_166 32 -store __for_iter_166 31 -label L2810 -load 34 __for_idx_166 -load 35 __for_len_166 +store __for_idx_165 33 +store __for_len_165 32 +store __for_iter_165 31 +label L2775 +load 34 __for_idx_165 +load 35 __for_len_165 lt 36 34 35 -brif 36 L2811 L2813 -label L2811 -load 37 __for_iter_166 -load 38 __for_idx_166 +brif 36 L2776 L2778 +label L2776 +load 37 __for_iter_165 +load 38 __for_idx_165 call 39 pith_list_get_value_unchecked string 2 37 38 -store __loopvar_166_gp 39 -load 40 __loopvar_166_gp +store __loopvar_165_gp 39 +load 40 __loopvar_165_gp load 41 fnode field 42 41 8 string value call 43 checker_strings_equal bool 2 40 42 -brif 43 L2815 L2816 -label L2815 +brif 43 L2780 L2781 +label L2780 load 44 subst_map -load 45 __loopvar_166_gp +load 45 __loopvar_165_gp call 46 contains_key bool 2 44 45 iconst 47 0 eq 48 46 47 -brif 48 L2818 L2819 -label L2818 +brif 48 L2783 L2784 +label L2783 load 49 subst_map -load 50 __loopvar_166_gp +load 50 __loopvar_165_gp load 51 arg_tid call 52 map_insert void 3 49 50 51 -jmp L2817 -label L2819 -label L2817 +jmp L2782 +label L2784 +label L2782 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 L2816 -label L2814 -label L2812 -load 58 __for_idx_166 +label L2781 +label L2779 +label L2777 +load 58 __for_idx_165 iconst 59 1 add 60 58 59 -store __for_idx_166 60 -jmp L2810 -label L2813 +store __for_idx_165 60 +jmp L2775 +label L2778 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 L2809 -label L2807 +label L2774 +label L2772 load 66 arg_info load 67 arg_tid call 68 types_get_type_info struct:TypeInfo 1 67 @@ -62539,29 +62296,29 @@ field 71 70 0 string kind strref 72 m18s598 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -brif 73 L2821 L2822 -label L2821 +brif 73 L2786 L2787 +label L2786 load 75 fnode field 76 75 8 string value strref 77 m18s22 call 78 checker_strings_equal bool 2 76 77 call 79 pith_cstring_release void 1 77 -brif 78 L2824 L2825 -label L2824 +brif 78 L2789 L2790 +label L2789 load 80 arg_info field 81 80 0 string kind strref 82 m18s23 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L2827 L2828 -label L2827 +brif 83 L2792 L2793 +label L2792 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 L2830 L2831 -label L2830 +brif 89 L2795 L2796 +label L2795 load 90 fnode field 91 90 16 list children iconst 92 0 @@ -62571,41 +62328,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 L2829 -label L2831 -label L2829 -jmp L2826 -label L2828 -label L2826 +jmp L2794 +label L2796 +label L2794 +jmp L2791 +label L2793 +label L2791 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 L2825 -label L2823 +label L2790 +label L2788 load 104 fnode field 105 104 8 string value strref 106 m18s18 call 107 checker_strings_equal bool 2 105 106 call 108 pith_cstring_release void 1 106 -brif 107 L2833 L2834 -label L2833 +brif 107 L2798 L2799 +label L2798 load 109 arg_info field 110 109 0 string kind strref 111 m18s19 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -brif 112 L2836 L2837 -label L2836 +brif 112 L2801 L2802 +label L2801 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 L2839 L2840 -label L2839 +brif 118 L2804 L2805 +label L2804 load 119 fnode field 120 119 16 list children iconst 121 0 @@ -62615,41 +62372,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 L2838 -label L2840 -label L2838 -jmp L2835 -label L2837 -label L2835 +jmp L2803 +label L2805 +label L2803 +jmp L2800 +label L2802 +label L2800 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 L2834 -label L2832 +label L2799 +label L2797 load 133 fnode field 134 133 8 string value strref 135 m18s20 call 136 checker_strings_equal bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L2842 L2843 -label L2842 +brif 136 L2807 L2808 +label L2807 load 138 arg_info field 139 138 0 string kind strref 140 m18s21 call 141 pith_cstring_eq bool 2 139 140 call 142 pith_cstring_release void 1 140 -brif 141 L2845 L2846 -label L2845 +brif 141 L2810 L2811 +label L2810 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 L2848 L2849 -label L2848 +brif 147 L2813 L2814 +label L2813 load 148 fnode field 149 148 16 list children iconst 150 0 @@ -62668,41 +62425,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 L2847 -label L2849 -label L2847 -jmp L2844 -label L2846 -label L2844 +jmp L2812 +label L2814 +label L2812 +jmp L2809 +label L2811 +label L2809 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 L2843 -label L2841 +label L2808 +label L2806 load 171 fnode field 172 171 8 string value strref 173 m18s26 call 174 checker_strings_equal bool 2 172 173 call 175 pith_cstring_release void 1 173 -brif 174 L2851 L2852 -label L2851 +brif 174 L2816 L2817 +label L2816 load 176 arg_info field 177 176 0 string kind strref 178 m18s27 call 179 pith_cstring_eq bool 2 177 178 call 180 pith_cstring_release void 1 178 -brif 179 L2854 L2855 -label L2854 +brif 179 L2819 L2820 +label L2819 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 L2857 L2858 -label L2857 +brif 185 L2822 L2823 +label L2822 load 186 fnode field 187 186 16 list children iconst 188 0 @@ -62712,41 +62469,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 L2856 -label L2858 -label L2856 -jmp L2853 -label L2855 -label L2853 +jmp L2821 +label L2823 +label L2821 +jmp L2818 +label L2820 +label L2818 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 L2852 -label L2850 +label L2817 +label L2815 load 200 fnode field 201 200 8 string value strref 202 m18s24 call 203 checker_strings_equal bool 2 201 202 call 204 pith_cstring_release void 1 202 -brif 203 L2860 L2861 -label L2860 +brif 203 L2825 L2826 +label L2825 load 205 arg_info field 206 205 0 string kind strref 207 m18s25 call 208 pith_cstring_eq bool 2 206 207 call 209 pith_cstring_release void 1 207 -brif 208 L2863 L2864 -label L2863 +brif 208 L2828 L2829 +label L2828 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 L2866 L2867 -label L2866 +brif 214 L2831 L2832 +label L2831 load 215 fnode field 216 215 16 list children iconst 217 0 @@ -62756,49 +62513,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 L2865 -label L2867 -label L2865 -jmp L2862 -label L2864 -label L2862 +jmp L2830 +label L2832 +label L2830 +jmp L2827 +label L2829 +label L2827 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 L2861 -label L2859 +label L2826 +label L2824 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 L2822 -label L2820 +label L2787 +label L2785 load 234 fnode field 235 234 0 string kind strref 236 m18s585 call 237 pith_cstring_eq bool 2 235 236 call 238 pith_cstring_release void 1 236 -brif 237 L2869 L2870 -label L2869 +brif 237 L2834 L2835 +label L2834 load 239 arg_info field 240 239 0 string kind strref 241 m18s30 call 242 pith_cstring_eq bool 2 240 241 call 243 pith_cstring_release void 1 241 -brif 242 L2872 L2873 -label L2872 +brif 242 L2837 L2838 +label L2837 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 L2875 L2876 -label L2875 +brif 248 L2840 L2841 +label L2840 load 249 fnode field 250 249 16 list children iconst 251 0 @@ -62808,61 +62565,61 @@ 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 L2874 -label L2876 -label L2874 -jmp L2871 -label L2873 -label L2871 +jmp L2839 +label L2841 +label L2839 +jmp L2836 +label L2838 +label L2836 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 L2870 -label L2868 +label L2835 +label L2833 load 263 fnode field 264 263 0 string kind strref 265 m18s596 call 266 pith_cstring_eq bool 2 264 265 call 267 pith_cstring_release void 1 265 -brif 266 L2878 L2879 -label L2878 +brif 266 L2843 L2844 +label L2843 load 268 arg_info field 269 268 0 string kind strref 270 m18s28 call 271 pith_cstring_eq bool 2 269 270 call 272 pith_cstring_release void 1 270 -brif 271 L2881 L2882 -label L2881 +brif 271 L2846 L2847 +label L2846 iconst 273 0 store i 273 load 274 fnode field 275 274 16 list children call 276 pith_auto_len int 1 275 iconst 277 0 -store __for_idx_167 277 -store __for_len_167 276 -store __for_iter_167 275 -label L2883 -load 278 __for_idx_167 -load 279 __for_len_167 +store __for_idx_166 277 +store __for_len_166 276 +store __for_iter_166 275 +label L2848 +load 278 __for_idx_166 +load 279 __for_len_166 lt 280 278 279 -brif 280 L2884 L2886 -label L2884 -load 281 __for_iter_167 -load 282 __for_idx_167 +brif 280 L2849 L2851 +label L2849 +load 281 __for_iter_166 +load 282 __for_idx_166 call 283 pith_list_get_value unknown 2 281 282 -store __loopvar_167_c 283 +store __loopvar_166_c 283 load 284 i load 285 arg_info field 286 285 88 list elements call 287 pith_list_len int 1 286 lt 288 284 287 -brif 288 L2888 L2889 -label L2888 -load 289 __loopvar_167_c +brif 288 L2853 L2854 +label L2853 +load 289 __loopvar_166_c load 290 arg_info field 291 290 88 list elements load 292 i @@ -62870,26 +62627,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 L2887 -label L2889 -label L2887 +jmp L2852 +label L2854 +label L2852 load 297 i iconst 298 1 add 299 297 298 store i 299 -label L2885 -load 300 __for_idx_167 +label L2850 +load 300 __for_idx_166 iconst 301 1 add 302 300 301 -store __for_idx_167 302 -jmp L2883 -label L2886 -jmp L2880 -label L2882 -label L2880 -jmp L2877 -label L2879 -label L2877 +store __for_idx_166 302 +jmp L2848 +label L2851 +jmp L2845 +label L2847 +label L2845 +jmp L2842 +label L2844 +label L2842 load 303 fnode call 304 pith_struct_release void 1 303 load 305 arg_info @@ -62906,21 +62663,21 @@ store an 3 load 4 arg_indices call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_168 6 -store __for_len_168 5 -store __for_iter_168 4 -label L2890 -load 7 __for_idx_168 -load 8 __for_len_168 +store __for_idx_167 6 +store __for_len_167 5 +store __for_iter_167 4 +label L2855 +load 7 __for_idx_167 +load 8 __for_len_167 lt 9 7 8 -brif 9 L2891 L2893 -label L2891 -load 10 __for_iter_168 -load 11 __for_idx_168 +brif 9 L2856 L2858 +label L2856 +load 10 __for_iter_167 +load 11 __for_idx_167 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_168_ai 12 +store __loopvar_167_ai 12 load 13 an -load 14 __loopvar_168_ai +load 14 __loopvar_167_ai call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store an 15 @@ -62929,21 +62686,21 @@ field 18 17 0 string kind strref 19 m18s324 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2895 L2896 -label L2895 +brif 20 L2860 L2861 +label L2860 load 22 an field 23 22 8 string value load 24 fname call 25 checker_strings_equal bool 2 23 24 -brif 25 L2898 L2899 -label L2898 +brif 25 L2863 L2864 +label L2863 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 L2901 L2902 -label L2901 +brif 30 L2866 L2867 +label L2866 load 31 an field 32 31 16 list children iconst 33 0 @@ -62953,21 +62710,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 L2902 -label L2900 -jmp L2897 -label L2899 -label L2897 -jmp L2894 -label L2896 -label L2894 -label L2892 -load 39 __for_idx_168 +label L2867 +label L2865 +jmp L2862 +label L2864 +label L2862 +jmp L2859 +label L2861 +label L2859 +label L2857 +load 39 __for_idx_167 iconst 40 1 add 41 39 40 -store __for_idx_168 41 -jmp L2890 -label L2893 +store __for_idx_167 41 +jmp L2855 +label L2858 iconst 42 1 iconst 44 0 sub 43 44 42 @@ -63029,21 +62786,21 @@ load 30 decl_node field 31 30 16 list children call 32 pith_auto_len int 1 31 iconst 33 0 -store __for_idx_169 33 -store __for_len_169 32 -store __for_iter_169 31 -label L2903 -load 34 __for_idx_169 -load 35 __for_len_169 +store __for_idx_168 33 +store __for_len_168 32 +store __for_iter_168 31 +label L2868 +load 34 __for_idx_168 +load 35 __for_len_168 lt 36 34 35 -brif 36 L2904 L2906 -label L2904 -load 37 __for_iter_169 -load 38 __for_idx_169 +brif 36 L2869 L2871 +label L2869 +load 37 __for_iter_168 +load 38 __for_idx_168 call 39 pith_list_get_value unknown 2 37 38 -store __loopvar_169_child 39 +store __loopvar_168_child 39 load 40 cn -load 41 __loopvar_169_child +load 41 __loopvar_168_child call 42 ast_get_node struct:Node 1 41 call 43 pith_struct_release void 1 40 store cn 42 @@ -63052,149 +62809,149 @@ field 45 44 0 string kind strref 46 m18s311 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -brif 47 L2908 L2909 -label L2908 +brif 47 L2873 L2874 +label L2873 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 L2911 L2912 -label L2911 +brif 53 L2876 L2877 +label L2876 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 L2910 -label L2912 +jmp L2875 +label L2877 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 L2910 +label L2875 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 L2907 -label L2909 -label L2907 -label L2905 -load 70 __for_idx_169 +jmp L2872 +label L2874 +label L2872 +label L2870 +load 70 __for_idx_168 iconst 71 1 add 72 70 71 -store __for_idx_169 72 -jmp L2903 -label L2906 +store __for_idx_168 72 +jmp L2868 +label L2871 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 L2914 L2915 -label L2914 +brif 76 L2879 L2880 +label L2879 load 77 field_names call 78 pith_auto_len int 1 77 iconst 79 0 -store __for_idx_170 79 -store __for_len_170 78 -store __for_iter_170 77 -label L2916 -load 80 __for_idx_170 -load 81 __for_len_170 +store __for_idx_169 79 +store __for_len_169 78 +store __for_iter_169 77 +label L2881 +load 80 __for_idx_169 +load 81 __for_len_169 lt 82 80 81 -brif 82 L2917 L2919 -label L2917 -load 83 __for_iter_170 -load 84 __for_idx_170 +brif 82 L2882 L2884 +label L2882 +load 83 __for_iter_169 +load 84 __for_idx_169 call 85 pith_list_get_value_unchecked string 2 83 84 -store __loopvar_170_fname 85 +store __loopvar_169_fname 85 load 86 arg_types load 87 arg_indices -load 88 __loopvar_170_fname +load 88 __loopvar_169_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 L2918 -load 92 __for_idx_170 +label L2883 +load 92 __for_idx_169 iconst 93 1 add 94 92 93 -store __for_idx_170 94 -jmp L2916 -label L2919 -jmp L2913 -label L2915 +store __for_idx_169 94 +jmp L2881 +label L2884 +jmp L2878 +label L2880 load 95 arg_indices call 96 pith_auto_len int 1 95 iconst 97 0 -store __for_idx_171 97 -store __for_len_171 96 -store __for_iter_171 95 -label L2920 -load 98 __for_idx_171 -load 99 __for_len_171 +store __for_idx_170 97 +store __for_len_170 96 +store __for_iter_170 95 +label L2885 +load 98 __for_idx_170 +load 99 __for_len_170 lt 100 98 99 -brif 100 L2921 L2923 -label L2921 -load 101 __for_iter_171 -load 102 __for_idx_171 +brif 100 L2886 L2888 +label L2886 +load 101 __for_iter_170 +load 102 __for_idx_170 call 103 pith_list_get_value unknown 2 101 102 -store __loopvar_171_ai 103 +store __loopvar_170_ai 103 load 104 arg_node -load 105 __loopvar_171_ai +load 105 __loopvar_170_ai call 106 ast_get_node struct:Node 1 105 call 107 pith_struct_release void 1 104 store arg_node 106 -load 108 __loopvar_171_ai +load 108 __loopvar_170_ai store arg_expr 108 load 109 arg_node field 110 109 0 string kind strref 111 m18s324 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -brif 112 L2925 L2926 -label L2925 +brif 112 L2890 L2891 +label L2890 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 L2928 L2929 -label L2928 +brif 118 L2893 L2894 +label L2893 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 L2927 -label L2929 -label L2927 -jmp L2924 -label L2926 -label L2924 +jmp L2892 +label L2894 +label L2892 +jmp L2889 +label L2891 +label L2889 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 L2922 -load 128 __for_idx_171 +label L2887 +load 128 __for_idx_170 iconst 129 1 add 130 128 129 -store __for_idx_171 130 -jmp L2920 -label L2923 +store __for_idx_170 130 +jmp L2885 +label L2888 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 L2931 L2932 -label L2931 +brif 135 L2896 L2897 +label L2896 strref 136 m18s333 load 137 name strref 138 m18s334 @@ -63239,9 +62996,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 L2932 -label L2930 -label L2913 +label L2897 +label L2895 +label L2878 load 179 subst_map call 180 pith_map_new_default map 0 call 181 pith_map_release_handle void 1 179 @@ -63251,88 +63008,88 @@ store fidx 182 load 183 field_type_nodes call 184 pith_auto_len int 1 183 iconst 185 0 -store __for_idx_172 185 -store __for_len_172 184 -store __for_iter_172 183 -label L2933 -load 186 __for_idx_172 -load 187 __for_len_172 +store __for_idx_171 185 +store __for_len_171 184 +store __for_iter_171 183 +label L2898 +load 186 __for_idx_171 +load 187 __for_len_171 lt 188 186 187 -brif 188 L2934 L2936 -label L2934 -load 189 __for_iter_172 -load 190 __for_idx_172 +brif 188 L2899 L2901 +label L2899 +load 189 __for_iter_171 +load 190 __for_idx_171 call 191 pith_list_get_value unknown 2 189 190 -store __loopvar_172_ftn 191 -load 192 __loopvar_172_ftn +store __loopvar_171_ftn 191 +load 192 __loopvar_171_ftn iconst 193 0 gte 194 192 193 -brif 194 L2938 L2939 -label L2938 +brif 194 L2903 L2904 +label L2903 iconst 195 0 -store __and_195_2943 195 +store __and_195_2908 195 iconst 196 0 -store __and_196_2943 196 +store __and_196_2908 196 load 197 fidx load 198 arg_types call 199 pith_list_len int 1 198 lt 200 197 199 -store __and_196_2943 200 -brif 200 L2943 L2944 -label L2943 +store __and_196_2908 200 +brif 200 L2908 L2909 +label L2908 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_2943 205 -label L2944 -load 206 __and_196_2943 -store __and_195_2943 206 -brif 206 L2945 L2946 -label L2945 +store __and_196_2908 205 +label L2909 +load 206 __and_196_2908 +store __and_195_2908 206 +brif 206 L2910 L2911 +label L2910 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_2943 212 -label L2946 -load 213 __and_195_2943 -brif 213 L2941 L2942 -label L2941 -load 214 __loopvar_172_ftn +store __and_195_2908 212 +label L2911 +load 213 __and_195_2908 +brif 213 L2906 L2907 +label L2906 +load 214 __loopvar_171_ftn load 215 arg_types load 216 fidx 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 L2940 -label L2942 -label L2940 -jmp L2937 -label L2939 -label L2937 +jmp L2905 +label L2907 +label L2905 +jmp L2902 +label L2904 +label L2902 load 221 fidx iconst 222 1 add 223 221 222 store fidx 223 -label L2935 -load 224 __for_idx_172 +label L2900 +load 224 __for_idx_171 iconst 225 1 add 226 224 225 -store __for_idx_172 226 -jmp L2933 -label L2936 +store __for_idx_171 226 +jmp L2898 +label L2901 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 L2948 L2949 -label L2948 +brif 231 L2913 L2914 +label L2913 load 232 types_TID_ERR load 233 decl_node call 234 pith_struct_release void 1 233 @@ -63353,8 +63110,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 L2949 -label L2947 +label L2914 +label L2912 load 251 type_args call 252 pith_list_new_default list 0 call 253 pith_list_release_handle void 1 251 @@ -63362,42 +63119,42 @@ store type_args 252 load 254 generic_params call 255 pith_auto_len int 1 254 iconst 256 0 -store __for_idx_173 256 -store __for_len_173 255 -store __for_iter_173 254 -label L2950 -load 257 __for_idx_173 -load 258 __for_len_173 +store __for_idx_172 256 +store __for_len_172 255 +store __for_iter_172 254 +label L2915 +load 257 __for_idx_172 +load 258 __for_len_172 lt 259 257 258 -brif 259 L2951 L2953 -label L2951 -load 260 __for_iter_173 -load 261 __for_idx_173 +brif 259 L2916 L2918 +label L2916 +load 260 __for_iter_172 +load 261 __for_idx_172 call 262 pith_list_get_value_unchecked string 2 260 261 -store __loopvar_173_gp 262 +store __loopvar_172_gp 262 load 263 subst_map -load 264 __loopvar_173_gp +load 264 __loopvar_172_gp call 265 contains_key bool 2 263 264 -brif 265 L2955 L2956 -label L2955 +brif 265 L2920 L2921 +label L2920 load 266 type_args load 267 subst_map -load 268 __loopvar_173_gp +load 268 __loopvar_172_gp call 269 map_get_strict int 2 267 268 call 270 pith_list_push_value void 2 266 269 -jmp L2954 -label L2956 +jmp L2919 +label L2921 load 271 type_args load 272 types_TID_ERR call 273 pith_list_push_value void 2 271 272 -label L2954 -label L2952 -load 274 __for_idx_173 +label L2919 +label L2917 +load 274 __for_idx_172 iconst 275 1 add 276 274 275 -store __for_idx_173 276 -jmp L2950 -label L2953 +store __for_idx_172 276 +jmp L2915 +label L2918 load 277 decl_node load 278 type_args call 279 checker_instantiate_generic_struct_type int 2 277 278 @@ -63405,8 +63162,8 @@ store struct_tid 279 load 280 struct_tid iconst 281 0 lt 282 280 281 -brif 282 L2958 L2959 -label L2958 +brif 282 L2923 L2924 +label L2923 load 283 types_TID_ERR load 284 decl_node call 285 pith_struct_release void 1 284 @@ -63427,8 +63184,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 L2959 -label L2957 +label L2924 +label L2922 load 302 struct_tid call 303 types_get_type_name string 1 302 load 304 struct_tid @@ -63491,8 +63248,8 @@ load 5 arg_indices call 6 pith_list_len int 1 5 iconst 7 2 neq 8 6 7 -brif 8 L2961 L2962 -label L2961 +brif 8 L2926 L2927 +label L2926 strref 9 m18s333 load 10 name strref 11 m18s478 @@ -63513,8 +63270,8 @@ call 25 pith_struct_release void 1 24 load 26 second_node call 27 pith_struct_release void 1 26 ret 23 -label L2962 -label L2960 +label L2927 +label L2925 load 28 arg_indices iconst 29 0 call 30 pith_list_get_value_strict int 2 28 29 @@ -63542,51 +63299,51 @@ field 45 44 0 string kind strref 46 m18s324 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -brif 47 L2964 L2965 -label L2964 +brif 47 L2929 L2930 +label L2929 load 49 first_node field 50 49 16 list children call 51 pith_list_len int 1 50 iconst 52 0 gt 53 51 52 -brif 53 L2967 L2968 -label L2967 +brif 53 L2932 L2933 +label L2932 load 54 first_node field 55 54 16 list children iconst 56 0 call 57 pith_list_get_value_strict int 2 55 56 store first_expr 57 -jmp L2966 -label L2968 -label L2966 -jmp L2963 -label L2965 -label L2963 +jmp L2931 +label L2933 +label L2931 +jmp L2928 +label L2930 +label L2928 load 58 second_node field 59 58 0 string kind strref 60 m18s324 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L2970 L2971 -label L2970 +brif 61 L2935 L2936 +label L2935 load 63 second_node field 64 63 16 list children call 65 pith_list_len int 1 64 iconst 66 0 gt 67 65 66 -brif 67 L2973 L2974 -label L2973 +brif 67 L2938 L2939 +label L2938 load 68 second_node field 69 68 16 list children iconst 70 0 call 71 pith_list_get_value_strict int 2 69 70 store second_expr 71 -jmp L2972 -label L2974 -label L2972 -jmp L2969 -label L2971 -label L2969 +jmp L2937 +label L2939 +label L2937 +jmp L2934 +label L2936 +label L2934 load 72 first_expr load 73 scope_id call 74 checker_c_check_expr int 2 72 73 @@ -63599,32 +63356,32 @@ load 78 t1 call 79 types_is_error_type bool 1 78 iconst 80 0 eq 81 79 80 -brif 81 L2976 L2977 -label L2976 +brif 81 L2941 L2942 +label L2941 load 82 t2 call 83 types_is_error_type bool 1 82 iconst 84 0 eq 85 83 84 -brif 85 L2979 L2980 -label L2979 +brif 85 L2944 L2945 +label L2944 iconst 86 0 -store __and_86_2984 86 +store __and_86_2949 86 load 87 t1 load 88 t2 neq 89 87 88 -store __and_86_2984 89 -brif 89 L2984 L2985 -label L2984 +store __and_86_2949 89 +brif 89 L2949 L2950 +label L2949 load 90 t1 load 91 t2 call 92 checker_types_structurally_equal bool 2 90 91 iconst 93 0 eq 94 92 93 -store __and_86_2984 94 -label L2985 -load 95 __and_86_2984 -brif 95 L2982 L2983 -label L2982 +store __and_86_2949 94 +label L2950 +load 95 __and_86_2949 +brif 95 L2947 L2948 +label L2947 strref 96 m18s330 load 97 name strref 98 m18s633 @@ -63647,15 +63404,15 @@ call 114 pith_cstring_release void 1 111 call 115 checker_diagnostics_report_error void 2 96 112 call 116 pith_cstring_release void 1 96 call 117 pith_cstring_release void 1 112 -jmp L2981 -label L2983 -label L2981 -jmp L2978 -label L2980 -label L2978 -jmp L2975 -label L2977 -label L2975 +jmp L2946 +label L2948 +label L2946 +jmp L2943 +label L2945 +label L2943 +jmp L2940 +label L2942 +label L2940 load 118 types_TID_VOID load 119 first_node call 120 pith_struct_release void 1 119 @@ -63683,15 +63440,15 @@ field 7 6 0 string kind strref 8 m18s324 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L2987 L2988 -label L2987 +brif 9 L2952 L2953 +label L2952 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 L2990 L2991 -label L2990 +brif 15 L2955 L2956 +label L2955 load 16 arg_node field 17 16 16 list children iconst 18 0 @@ -63699,11 +63456,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 L2991 -label L2989 -jmp L2986 -label L2988 -label L2986 +label L2956 +label L2954 +jmp L2951 +label L2953 +label L2951 load 22 arg_idx load 23 arg_node call 24 pith_struct_release void 1 23 @@ -63724,8 +63481,8 @@ load 4 arg_indices call 5 pith_list_len int 1 4 iconst 6 2 neq 7 5 6 -brif 7 L2993 L2994 -label L2993 +brif 7 L2958 L2959 +label L2958 strref 8 m18s333 strref 9 m18s632 load 10 arg_indices @@ -63743,8 +63500,8 @@ call 21 pith_struct_release void 1 20 load 22 fn_info call 23 pith_struct_release void 1 22 ret 19 -label L2994 -label L2992 +label L2959 +label L2957 load 24 arg_indices iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -63761,28 +63518,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 L2996 L2997 -label L2996 +brif 37 L2961 L2962 +label L2961 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 L2997 -label L2995 +label L2962 +label L2960 load 43 fn_tid call 44 types_is_error_type bool 1 43 -brif 44 L2999 L3000 -label L2999 +brif 44 L2964 L2965 +label L2964 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 L3000 -label L2998 +label L2965 +label L2963 load 50 list_info load 51 list_tid call 52 types_get_type_info struct:TypeInfo 1 51 @@ -63795,8 +63552,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 L3002 L3003 -label L3002 +brif 57 L2967 L2968 +label L2967 strref 61 m18s330 strref 62 m18s631 load 63 list_tid @@ -63813,8 +63570,8 @@ call 73 pith_struct_release void 1 72 load 74 fn_info call 75 pith_struct_release void 1 74 ret 71 -label L3003 -label L3001 +label L2968 +label L2966 load 76 fn_info load 77 fn_tid call 78 types_get_type_info struct:TypeInfo 1 77 @@ -63827,8 +63584,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 L3005 L3006 -label L3005 +brif 83 L2970 L2971 +label L2970 strref 87 m18s613 strref 88 m18s630 call 89 checker_diagnostics_report_error void 2 87 88 @@ -63840,15 +63597,15 @@ call 94 pith_struct_release void 1 93 load 95 fn_info call 96 pith_struct_release void 1 95 ret 92 -label L3006 -label L3004 +label L2971 +label L2969 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 L3008 L3009 -label L3008 +brif 101 L2973 L2974 +label L2973 strref 102 m18s333 strref 103 m18s621 load 104 fn_info @@ -63867,8 +63624,8 @@ call 116 pith_struct_release void 1 115 load 117 fn_info call 118 pith_struct_release void 1 117 ret 114 -label L3009 -label L3007 +label L2974 +label L2972 load 119 fn_info field 120 119 48 list param_types iconst 121 0 @@ -63878,8 +63635,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 L3011 L3012 -label L3011 +brif 127 L2976 L2977 +label L2976 strref 128 m18s330 strref 129 m18s620 load 130 list_info @@ -63909,8 +63666,8 @@ call 153 pith_struct_release void 1 152 load 154 fn_info call 155 pith_struct_release void 1 154 ret 151 -label L3012 -label L3010 +label L2977 +label L2975 load 156 fn_info field 157 156 56 int return_type call 158 checker_type_intern_intern_list_type int 1 157 @@ -63937,8 +63694,8 @@ load 4 arg_indices call 5 pith_list_len int 1 4 iconst 6 2 neq 7 5 6 -brif 7 L3014 L3015 -label L3014 +brif 7 L2979 L2980 +label L2979 strref 8 m18s333 strref 9 m18s629 load 10 arg_indices @@ -63956,8 +63713,8 @@ call 21 pith_struct_release void 1 20 load 22 fn_info call 23 pith_struct_release void 1 22 ret 19 -label L3015 -label L3013 +label L2980 +label L2978 load 24 arg_indices iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -63974,28 +63731,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 L3017 L3018 -label L3017 +brif 37 L2982 L2983 +label L2982 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 L3018 -label L3016 +label L2983 +label L2981 load 43 fn_tid call 44 types_is_error_type bool 1 43 -brif 44 L3020 L3021 -label L3020 +brif 44 L2985 L2986 +label L2985 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 L3021 -label L3019 +label L2986 +label L2984 load 50 list_info load 51 list_tid call 52 types_get_type_info struct:TypeInfo 1 51 @@ -64008,8 +63765,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 L3023 L3024 -label L3023 +brif 57 L2988 L2989 +label L2988 strref 61 m18s330 strref 62 m18s628 load 63 list_tid @@ -64026,8 +63783,8 @@ call 73 pith_struct_release void 1 72 load 74 fn_info call 75 pith_struct_release void 1 74 ret 71 -label L3024 -label L3022 +label L2989 +label L2987 load 76 fn_info load 77 fn_tid call 78 types_get_type_info struct:TypeInfo 1 77 @@ -64040,8 +63797,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 L3026 L3027 -label L3026 +brif 83 L2991 L2992 +label L2991 strref 87 m18s613 strref 88 m18s627 call 89 checker_diagnostics_report_error void 2 87 88 @@ -64053,15 +63810,15 @@ call 94 pith_struct_release void 1 93 load 95 fn_info call 96 pith_struct_release void 1 95 ret 92 -label L3027 -label L3025 +label L2992 +label L2990 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 L3029 L3030 -label L3029 +brif 101 L2994 L2995 +label L2994 strref 102 m18s333 strref 103 m18s617 load 104 fn_info @@ -64080,8 +63837,8 @@ call 116 pith_struct_release void 1 115 load 117 fn_info call 118 pith_struct_release void 1 117 ret 114 -label L3030 -label L3028 +label L2995 +label L2993 load 119 fn_info field 120 119 48 list param_types iconst 121 0 @@ -64091,8 +63848,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 L3032 L3033 -label L3032 +brif 127 L2997 L2998 +label L2997 strref 128 m18s330 strref 129 m18s616 load 130 list_info @@ -64122,23 +63879,23 @@ call 153 pith_struct_release void 1 152 load 154 fn_info call 155 pith_struct_release void 1 154 ret 151 -label L3033 -label L3031 +label L2998 +label L2996 load 156 fn_info field 157 156 56 int return_type strref 158 m18s13 call 159 types_lookup_type_id int 1 158 call 160 pith_cstring_release void 1 158 neq 161 157 159 -brif 161 L3035 L3036 -label L3035 +brif 161 L3000 L3001 +label L3000 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 L3038 L3039 -label L3038 +brif 166 L3003 L3004 +label L3003 strref 167 m18s330 strref 168 m18s615 load 169 fn_info @@ -64156,11 +63913,11 @@ call 180 pith_struct_release void 1 179 load 181 fn_info call 182 pith_struct_release void 1 181 ret 178 -label L3039 -label L3037 -jmp L3034 -label L3036 -label L3034 +label L3004 +label L3002 +jmp L2999 +label L3001 +label L2999 load 183 list_tid load 184 list_info call 185 pith_struct_release void 1 184 @@ -64185,8 +63942,8 @@ load 4 arg_indices call 5 pith_list_len int 1 4 iconst 6 3 neq 7 5 6 -brif 7 L3041 L3042 -label L3041 +brif 7 L3006 L3007 +label L3006 strref 8 m18s333 strref 9 m18s626 load 10 arg_indices @@ -64204,8 +63961,8 @@ call 21 pith_struct_release void 1 20 load 22 fn_info call 23 pith_struct_release void 1 22 ret 19 -label L3042 -label L3040 +label L3007 +label L3005 load 24 arg_indices iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -64229,40 +63986,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 L3044 L3045 -label L3044 +brif 43 L3009 L3010 +label L3009 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 L3045 -label L3043 +label L3010 +label L3008 load 49 init_tid call 50 types_is_error_type bool 1 49 -brif 50 L3047 L3048 -label L3047 +brif 50 L3012 L3013 +label L3012 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 L3048 -label L3046 +label L3013 +label L3011 load 56 fn_tid call 57 types_is_error_type bool 1 56 -brif 57 L3050 L3051 -label L3050 +brif 57 L3015 L3016 +label L3015 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 L3051 -label L3049 +label L3016 +label L3014 load 63 list_info load 64 list_tid call 65 types_get_type_info struct:TypeInfo 1 64 @@ -64275,8 +64032,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 L3053 L3054 -label L3053 +brif 70 L3018 L3019 +label L3018 strref 74 m18s330 strref 75 m18s625 load 76 list_tid @@ -64293,8 +64050,8 @@ call 86 pith_struct_release void 1 85 load 87 fn_info call 88 pith_struct_release void 1 87 ret 84 -label L3054 -label L3052 +label L3019 +label L3017 load 89 fn_info load 90 fn_tid call 91 types_get_type_info struct:TypeInfo 1 90 @@ -64307,8 +64064,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 L3056 L3057 -label L3056 +brif 96 L3021 L3022 +label L3021 strref 100 m18s613 strref 101 m18s624 call 102 checker_diagnostics_report_error void 2 100 101 @@ -64320,15 +64077,15 @@ call 107 pith_struct_release void 1 106 load 108 fn_info call 109 pith_struct_release void 1 108 ret 105 -label L3057 -label L3055 +label L3022 +label L3020 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 L3059 L3060 -label L3059 +brif 114 L3024 L3025 +label L3024 strref 115 m18s333 strref 116 m18s611 load 117 fn_info @@ -64347,8 +64104,8 @@ call 129 pith_struct_release void 1 128 load 130 fn_info call 131 pith_struct_release void 1 130 ret 127 -label L3060 -label L3058 +label L3025 +label L3023 load 132 fn_info field 133 132 48 list param_types iconst 134 0 @@ -64357,8 +64114,8 @@ load 136 init_tid call 137 checker_types_structurally_equal bool 2 135 136 iconst 138 0 eq 139 137 138 -brif 139 L3062 L3063 -label L3062 +brif 139 L3027 L3028 +label L3027 strref 140 m18s330 strref 141 m18s610 load 142 init_tid @@ -64387,8 +64144,8 @@ call 164 pith_struct_release void 1 163 load 165 fn_info call 166 pith_struct_release void 1 165 ret 162 -label L3063 -label L3061 +label L3028 +label L3026 load 167 fn_info field 168 167 48 list param_types iconst 169 1 @@ -64398,8 +64155,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 L3065 L3066 -label L3065 +brif 175 L3030 L3031 +label L3030 strref 176 m18s330 strref 177 m18s609 load 178 list_info @@ -64429,16 +64186,16 @@ call 201 pith_struct_release void 1 200 load 202 fn_info call 203 pith_struct_release void 1 202 ret 199 -label L3066 -label L3064 +label L3031 +label L3029 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 L3068 L3069 -label L3068 +brif 209 L3033 L3034 +label L3033 strref 210 m18s330 strref 211 m18s608 load 212 init_tid @@ -64465,8 +64222,8 @@ call 232 pith_struct_release void 1 231 load 233 fn_info call 234 pith_struct_release void 1 233 ret 230 -label L3069 -label L3067 +label L3034 +label L3032 load 235 init_tid load 236 list_info call 237 pith_struct_release void 1 236 @@ -64490,8 +64247,8 @@ load 4 args call 5 pith_list_len int 1 4 iconst 6 1 neq 7 5 6 -brif 7 L3071 L3072 -label L3071 +brif 7 L3036 L3037 +label L3036 strref 8 m18s333 strref 9 m18s623 load 10 args @@ -64507,8 +64264,8 @@ load 19 types_TID_ERR load 20 fn_info call 21 pith_struct_release void 1 20 ret 19 -label L3072 -label L3070 +label L3037 +label L3035 load 22 args iconst 23 0 call 24 pith_list_get_value_strict int 2 22 23 @@ -64518,14 +64275,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 L3074 L3075 -label L3074 +brif 29 L3039 L3040 +label L3039 load 30 types_TID_ERR load 31 fn_info call 32 pith_struct_release void 1 31 ret 30 -label L3075 -label L3073 +label L3040 +label L3038 load 33 fn_info load 34 fn_tid call 35 types_get_type_info struct:TypeInfo 1 34 @@ -64538,8 +64295,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 L3077 L3078 -label L3077 +brif 40 L3042 L3043 +label L3042 strref 44 m18s613 strref 45 m18s622 call 46 checker_diagnostics_report_error void 2 44 45 @@ -64549,15 +64306,15 @@ load 49 types_TID_ERR load 50 fn_info call 51 pith_struct_release void 1 50 ret 49 -label L3078 -label L3076 +label L3043 +label L3041 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 L3080 L3081 -label L3080 +brif 56 L3045 L3046 +label L3045 strref 57 m18s333 strref 58 m18s621 load 59 fn_info @@ -64574,8 +64331,8 @@ load 69 types_TID_ERR load 70 fn_info call 71 pith_struct_release void 1 70 ret 69 -label L3081 -label L3079 +label L3046 +label L3044 load 72 fn_info field 73 72 48 list param_types iconst 74 0 @@ -64585,8 +64342,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 L3083 L3084 -label L3083 +brif 80 L3048 L3049 +label L3048 strref 81 m18s330 strref 82 m18s620 load 83 info @@ -64614,8 +64371,8 @@ load 104 types_TID_ERR load 105 fn_info call 106 pith_struct_release void 1 105 ret 104 -label L3084 -label L3082 +label L3049 +label L3047 load 107 fn_info field 108 107 56 int return_type call 109 checker_type_intern_intern_list_type int 1 108 @@ -64637,8 +64394,8 @@ load 4 args call 5 pith_list_len int 1 4 iconst 6 1 neq 7 5 6 -brif 7 L3086 L3087 -label L3086 +brif 7 L3051 L3052 +label L3051 strref 8 m18s333 strref 9 m18s619 load 10 args @@ -64654,8 +64411,8 @@ load 19 types_TID_ERR load 20 fn_info call 21 pith_struct_release void 1 20 ret 19 -label L3087 -label L3085 +label L3052 +label L3050 load 22 args iconst 23 0 call 24 pith_list_get_value_strict int 2 22 23 @@ -64665,14 +64422,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 L3089 L3090 -label L3089 +brif 29 L3054 L3055 +label L3054 load 30 types_TID_ERR load 31 fn_info call 32 pith_struct_release void 1 31 ret 30 -label L3090 -label L3088 +label L3055 +label L3053 load 33 fn_info load 34 fn_tid call 35 types_get_type_info struct:TypeInfo 1 34 @@ -64685,8 +64442,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 L3092 L3093 -label L3092 +brif 40 L3057 L3058 +label L3057 strref 44 m18s613 strref 45 m18s618 call 46 checker_diagnostics_report_error void 2 44 45 @@ -64696,15 +64453,15 @@ load 49 types_TID_ERR load 50 fn_info call 51 pith_struct_release void 1 50 ret 49 -label L3093 -label L3091 +label L3058 +label L3056 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 L3095 L3096 -label L3095 +brif 56 L3060 L3061 +label L3060 strref 57 m18s333 strref 58 m18s617 load 59 fn_info @@ -64721,8 +64478,8 @@ load 69 types_TID_ERR load 70 fn_info call 71 pith_struct_release void 1 70 ret 69 -label L3096 -label L3094 +label L3061 +label L3059 load 72 fn_info field 73 72 48 list param_types iconst 74 0 @@ -64732,8 +64489,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 L3098 L3099 -label L3098 +brif 80 L3063 L3064 +label L3063 strref 81 m18s330 strref 82 m18s616 load 83 info @@ -64761,23 +64518,23 @@ load 104 types_TID_ERR load 105 fn_info call 106 pith_struct_release void 1 105 ret 104 -label L3099 -label L3097 +label L3064 +label L3062 load 107 fn_info field 108 107 56 int return_type strref 109 m18s13 call 110 types_lookup_type_id int 1 109 call 111 pith_cstring_release void 1 109 neq 112 108 110 -brif 112 L3101 L3102 -label L3101 +brif 112 L3066 L3067 +label L3066 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 L3104 L3105 -label L3104 +brif 117 L3069 L3070 +label L3069 strref 118 m18s330 strref 119 m18s615 load 120 fn_info @@ -64793,11 +64550,11 @@ load 129 types_TID_ERR load 130 fn_info call 131 pith_struct_release void 1 130 ret 129 -label L3105 -label L3103 -jmp L3100 -label L3102 -label L3100 +label L3070 +label L3068 +jmp L3065 +label L3067 +label L3065 load 132 info field 133 132 64 int inner call 134 checker_type_intern_intern_list_type int 1 133 @@ -64819,8 +64576,8 @@ load 4 args call 5 pith_list_len int 1 4 iconst 6 2 neq 7 5 6 -brif 7 L3107 L3108 -label L3107 +brif 7 L3072 L3073 +label L3072 strref 8 m18s333 strref 9 m18s614 load 10 args @@ -64836,8 +64593,8 @@ load 19 types_TID_ERR load 20 fn_info call 21 pith_struct_release void 1 20 ret 19 -label L3108 -label L3106 +label L3073 +label L3071 load 22 args iconst 23 0 call 24 pith_list_get_value_strict int 2 22 23 @@ -64854,24 +64611,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 L3110 L3111 -label L3110 +brif 35 L3075 L3076 +label L3075 load 36 types_TID_ERR load 37 fn_info call 38 pith_struct_release void 1 37 ret 36 -label L3111 -label L3109 +label L3076 +label L3074 load 39 fn_tid call 40 types_is_error_type bool 1 39 -brif 40 L3113 L3114 -label L3113 +brif 40 L3078 L3079 +label L3078 load 41 types_TID_ERR load 42 fn_info call 43 pith_struct_release void 1 42 ret 41 -label L3114 -label L3112 +label L3079 +label L3077 load 44 fn_info load 45 fn_tid call 46 types_get_type_info struct:TypeInfo 1 45 @@ -64884,8 +64641,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 L3116 L3117 -label L3116 +brif 51 L3081 L3082 +label L3081 strref 55 m18s613 strref 56 m18s612 call 57 checker_diagnostics_report_error void 2 55 56 @@ -64895,15 +64652,15 @@ load 60 types_TID_ERR load 61 fn_info call 62 pith_struct_release void 1 61 ret 60 -label L3117 -label L3115 +label L3082 +label L3080 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 L3119 L3120 -label L3119 +brif 67 L3084 L3085 +label L3084 strref 68 m18s333 strref 69 m18s611 load 70 fn_info @@ -64920,8 +64677,8 @@ load 80 types_TID_ERR load 81 fn_info call 82 pith_struct_release void 1 81 ret 80 -label L3120 -label L3118 +label L3085 +label L3083 load 83 fn_info field 84 83 48 list param_types iconst 85 0 @@ -64930,8 +64687,8 @@ load 87 init_tid call 88 checker_types_structurally_equal bool 2 86 87 iconst 89 0 eq 90 88 89 -brif 90 L3122 L3123 -label L3122 +brif 90 L3087 L3088 +label L3087 strref 91 m18s330 strref 92 m18s610 load 93 init_tid @@ -64958,8 +64715,8 @@ load 113 types_TID_ERR load 114 fn_info call 115 pith_struct_release void 1 114 ret 113 -label L3123 -label L3121 +label L3088 +label L3086 load 116 fn_info field 117 116 48 list param_types iconst 118 1 @@ -64969,8 +64726,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 L3125 L3126 -label L3125 +brif 124 L3090 L3091 +label L3090 strref 125 m18s330 strref 126 m18s609 load 127 info @@ -64998,16 +64755,16 @@ load 148 types_TID_ERR load 149 fn_info call 150 pith_struct_release void 1 149 ret 148 -label L3126 -label L3124 +label L3091 +label L3089 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 L3128 L3129 -label L3128 +brif 156 L3093 L3094 +label L3093 strref 157 m18s330 strref 158 m18s608 load 159 init_tid @@ -65032,8 +64789,8 @@ load 177 types_TID_ERR load 178 fn_info call 179 pith_struct_release void 1 178 ret 177 -label L3129 -label L3127 +label L3094 +label L3092 load 180 init_tid load 181 fn_info call 182 pith_struct_release void 1 181 @@ -65050,40 +64807,40 @@ field 2 1 0 string kind strref 3 m18s598 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L3131 L3132 -label L3131 +brif 4 L3096 L3097 +label L3096 load 6 node field 7 6 8 string value call 8 pith_cstring_retain void 1 7 ret 7 -label L3132 -label L3130 +label L3097 +label L3095 load 9 node field 10 9 0 string kind strref 11 m18s584 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L3134 L3135 -label L3134 +brif 12 L3099 L3100 +label L3099 load 14 node field 15 14 8 string value strref 16 m18s97 call 17 pith_cstring_contains bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3137 L3138 -label L3137 +brif 17 L3102 L3103 +label L3102 load 19 node field 20 19 8 string value call 21 checker_extract_base_type_name string 1 20 ret 21 -label L3138 -label L3136 +label L3103 +label L3101 load 22 node field 23 22 8 string value call 24 pith_cstring_retain void 1 23 ret 23 -label L3135 -label L3133 +label L3100 +label L3098 strref 25 m18s36 ret 25 iconst 26 0 @@ -65110,27 +64867,27 @@ field 10 9 0 string kind strref 11 m18s598 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L3140 L3141 -label L3140 +brif 12 L3105 L3106 +label L3105 load 14 node field 15 14 16 list children call 16 pith_auto_len int 1 15 iconst 17 0 -store __for_idx_174 17 -store __for_len_174 16 -store __for_iter_174 15 -label L3142 -load 18 __for_idx_174 -load 19 __for_len_174 +store __for_idx_173 17 +store __for_len_173 16 +store __for_iter_173 15 +label L3107 +load 18 __for_idx_173 +load 19 __for_len_173 lt 20 18 19 -brif 20 L3143 L3145 -label L3143 -load 21 __for_iter_174 -load 22 __for_idx_174 +brif 20 L3108 L3110 +label L3108 +load 21 __for_iter_173 +load 22 __for_idx_173 call 23 pith_list_get_value unknown 2 21 22 -store __loopvar_174_child 23 +store __loopvar_173_child 23 load 24 cn -load 25 __loopvar_174_child +load 25 __loopvar_173_child call 26 ast_get_node struct:Node 1 25 call 27 pith_struct_release void 1 24 store cn 26 @@ -65138,29 +64895,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 L3144 -load 32 __for_idx_174 +label L3109 +load 32 __for_idx_173 iconst 33 1 add 34 32 33 -store __for_idx_174 34 -jmp L3142 -label L3145 -jmp L3139 -label L3141 +store __for_idx_173 34 +jmp L3107 +label L3110 +jmp L3104 +label L3106 load 35 node field 36 35 0 string kind strref 37 m18s584 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L3146 L3147 -label L3146 +brif 38 L3111 L3112 +label L3111 load 40 node field 41 40 8 string value strref 42 m18s97 call 43 pith_cstring_contains bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L3149 L3150 -label L3149 +brif 43 L3114 L3115 +label L3114 load 45 base load 46 node field 47 46 8 string value @@ -65192,36 +64949,36 @@ store parts 67 load 70 parts call 71 pith_auto_len int 1 70 iconst 72 0 -store __for_idx_175 72 -store __for_len_175 71 -store __for_iter_175 70 -label L3151 -load 73 __for_idx_175 -load 74 __for_len_175 +store __for_idx_174 72 +store __for_len_174 71 +store __for_iter_174 70 +label L3116 +load 73 __for_idx_174 +load 74 __for_len_174 lt 75 73 74 -brif 75 L3152 L3154 -label L3152 -load 76 __for_iter_175 -load 77 __for_idx_175 +brif 75 L3117 L3119 +label L3117 +load 76 __for_iter_174 +load 77 __for_idx_174 call 78 pith_list_get_value_unchecked string 2 76 77 -store __loopvar_175_part 78 +store __loopvar_174_part 78 load 79 names -load 80 __loopvar_175_part +load 80 __loopvar_174_part call 81 pith_cstring_trim string 1 80 call 82 pith_list_push_value_owned void 2 79 81 -label L3153 -load 83 __for_idx_175 +label L3118 +load 83 __for_idx_174 iconst 84 1 add 85 83 84 -store __for_idx_175 85 -jmp L3151 -label L3154 -jmp L3148 -label L3150 -label L3148 -jmp L3139 -label L3147 -label L3139 +store __for_idx_174 85 +jmp L3116 +label L3119 +jmp L3113 +label L3115 +label L3113 +jmp L3104 +label L3112 +label L3104 load 86 names load 87 cn call 88 pith_struct_release void 1 87 @@ -65267,8 +65024,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 L3156 L3157 -label L3156 +brif 14 L3121 L3122 +label L3121 load 15 sdecl load 16 impl_struct_base call 17 checker_get_generic_declaration_index int 1 16 @@ -65280,9 +65037,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 L3155 -label L3157 -label L3155 +jmp L3120 +label L3122 +label L3120 load 24 parts call 25 pith_list_new_cstr list 0 call 26 pith_list_release_handle void 1 24 @@ -65290,19 +65047,19 @@ store parts 25 load 27 arg_names call 28 pith_auto_len int 1 27 iconst 29 0 -store __for_idx_176 29 -store __for_len_176 28 -store __for_iter_176 27 -label L3158 -load 30 __for_idx_176 -load 31 __for_len_176 +store __for_idx_175 29 +store __for_len_175 28 +store __for_iter_175 27 +label L3123 +load 30 __for_idx_175 +load 31 __for_len_175 lt 32 30 31 -brif 32 L3159 L3161 -label L3159 -load 33 __for_iter_176 -load 34 __for_idx_176 +brif 32 L3124 L3126 +label L3124 +load 33 __for_iter_175 +load 34 __for_idx_175 call 35 pith_list_get_value_unchecked string 2 33 34 -store __loopvar_176_n 35 +store __loopvar_175_n 35 iconst 36 0 iconst 37 1 sub 38 36 37 @@ -65310,43 +65067,43 @@ store found_idx 38 load 39 struct_params call 40 pith_auto_len int 1 39 iconst 41 0 -store __for_idx_177 41 -store __for_len_177 40 -store __for_iter_177 39 -label L3162 -load 42 __for_idx_177 -load 43 __for_len_177 +store __for_idx_176 41 +store __for_len_176 40 +store __for_iter_176 39 +label L3127 +load 42 __for_idx_176 +load 43 __for_len_176 lt 44 42 43 -brif 44 L3163 L3165 -label L3163 -load 45 __for_iter_177 -load 46 __for_idx_177 +brif 44 L3128 L3130 +label L3128 +load 45 __for_iter_176 +load 46 __for_idx_176 call 47 pith_list_get_value_unchecked string 2 45 46 -store __loopvar_177_sp 47 -load 48 __for_idx_177 -store __loopvar_177_sp_i 48 -load 49 __loopvar_177_sp -load 50 __loopvar_176_n +store __loopvar_176_sp 47 +load 48 __for_idx_176 +store __loopvar_176_sp_i 48 +load 49 __loopvar_176_sp +load 50 __loopvar_175_n call 51 pith_cstring_eq bool 2 49 50 -brif 51 L3167 L3168 -label L3167 -load 52 __loopvar_177_sp_i +brif 51 L3132 L3133 +label L3132 +load 52 __loopvar_176_sp_i store found_idx 52 -jmp L3166 -label L3168 -label L3166 -label L3164 -load 53 __for_idx_177 +jmp L3131 +label L3133 +label L3131 +label L3129 +load 53 __for_idx_176 iconst 54 1 add 55 53 54 -store __for_idx_177 55 -jmp L3162 -label L3165 +store __for_idx_176 55 +jmp L3127 +label L3130 load 56 found_idx iconst 57 0 gte 58 56 57 -brif 58 L3170 L3171 -label L3170 +brif 58 L3135 L3136 +label L3135 load 59 parts strref 60 m18s607 load 61 found_idx @@ -65355,25 +65112,25 @@ 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 L3169 -label L3171 +jmp L3134 +label L3136 load 67 parts strref 68 m18s606 -load 69 __loopvar_176_n +load 69 __loopvar_175_n call 70 types_lookup_type_id int 1 69 call 71 int_to_string string 1 70 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 L3169 -label L3160 -load 76 __for_idx_176 +label L3134 +label L3125 +load 76 __for_idx_175 iconst 77 1 add 78 76 77 -store __for_idx_176 78 -jmp L3158 -label L3161 +store __for_idx_175 78 +jmp L3123 +label L3126 load 79 parts strref 80 m18s91 call 81 list_join string 2 79 80 @@ -65417,8 +65174,8 @@ load 9 encoded call 10 string_len int 1 9 iconst 11 0 eq 12 10 11 -brif 12 L3173 L3174 -label L3173 +brif 12 L3138 L3139 +label L3138 load 13 tids load 14 instance_args call 15 pith_list_release_handle void 1 14 @@ -65427,8 +65184,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 L3174 -label L3172 +label L3139 +label L3137 load 20 instance_args call 21 pith_list_new_default list 0 call 22 pith_list_release_handle void 1 20 @@ -65436,8 +65193,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 L3176 L3177 -label L3176 +brif 25 L3141 L3142 +label L3141 load 26 instance_args load 27 checker_struct_instance_type_args load 28 instance_tid @@ -65445,9 +65202,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 L3175 -label L3177 -label L3175 +jmp L3140 +label L3142 +label L3140 load 32 parts load 33 encoded strref 34 m18s91 @@ -65458,29 +65215,29 @@ store parts 35 load 38 parts call 39 pith_auto_len int 1 38 iconst 40 0 -store __for_idx_178 40 -store __for_len_178 39 -store __for_iter_178 38 -label L3178 -load 41 __for_idx_178 -load 42 __for_len_178 +store __for_idx_177 40 +store __for_len_177 39 +store __for_iter_177 38 +label L3143 +load 41 __for_idx_177 +load 42 __for_len_177 lt 43 41 42 -brif 43 L3179 L3181 -label L3179 -load 44 __for_iter_178 -load 45 __for_idx_178 +brif 43 L3144 L3146 +label L3144 +load 44 __for_iter_177 +load 45 __for_idx_177 call 46 pith_list_get_value_unchecked string 2 44 45 -store __loopvar_178_part 46 -load 47 __loopvar_178_part +store __loopvar_177_part 46 +load 47 __loopvar_177_part strref 48 m18s607 call 49 pith_cstring_starts_with bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L3183 L3184 -label L3183 +brif 49 L3148 L3149 +label L3148 load 51 idx_str -load 52 __loopvar_178_part +load 52 __loopvar_177_part iconst 53 6 -load 54 __loopvar_178_part +load 54 __loopvar_177_part call 55 string_len int 1 54 call 56 pith_cstring_substring string 3 52 53 55 call 57 pith_cstring_release void 1 51 @@ -65489,46 +65246,46 @@ load 58 idx_str call 59 checker_parse_integer_string int 1 58 store idx 59 iconst 60 0 -store __and_60_3188 60 +store __and_60_3153 60 load 61 idx iconst 62 0 gte 63 61 62 -store __and_60_3188 63 -brif 63 L3188 L3189 -label L3188 +store __and_60_3153 63 +brif 63 L3153 L3154 +label L3153 load 64 idx load 65 instance_args call 66 pith_list_len int 1 65 lt 67 64 66 -store __and_60_3188 67 -label L3189 -load 68 __and_60_3188 -brif 68 L3186 L3187 -label L3186 +store __and_60_3153 67 +label L3154 +load 68 __and_60_3153 +brif 68 L3151 L3152 +label L3151 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 L3185 -label L3187 +jmp L3150 +label L3152 load 74 tids iconst 75 0 iconst 76 1 sub 77 75 76 call 78 pith_list_push_value void 2 74 77 -label L3185 -jmp L3182 -label L3184 -load 79 __loopvar_178_part +label L3150 +jmp L3147 +label L3149 +load 79 __loopvar_177_part strref 80 m18s606 call 81 pith_cstring_starts_with bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L3190 L3191 -label L3190 -load 83 __loopvar_178_part +brif 81 L3155 L3156 +label L3155 +load 83 __loopvar_177_part iconst 84 4 -load 85 __loopvar_178_part +load 85 __loopvar_177_part call 86 string_len int 1 85 call 87 pith_cstring_substring string 3 83 84 86 call 88 checker_parse_integer_string int 1 87 @@ -65537,21 +65294,21 @@ store tid 88 load 90 tids load 91 tid call 92 pith_list_push_value void 2 90 91 -jmp L3182 -label L3191 +jmp L3147 +label L3156 load 93 tids iconst 94 0 iconst 95 1 sub 96 94 95 call 97 pith_list_push_value void 2 93 96 -label L3182 -label L3180 -load 98 __for_idx_178 +label L3147 +label L3145 +load 98 __for_idx_177 iconst 99 1 add 100 98 99 -store __for_idx_178 100 -jmp L3178 -label L3181 +store __for_idx_177 100 +jmp L3143 +label L3146 load 101 tids load 102 instance_args call 103 pith_list_release_handle void 1 102 @@ -65582,30 +65339,30 @@ store parts 3 load 5 tids call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_179 7 -store __for_len_179 6 -store __for_iter_179 5 -label L3192 -load 8 __for_idx_179 -load 9 __for_len_179 +store __for_idx_178 7 +store __for_len_178 6 +store __for_iter_178 5 +label L3157 +load 8 __for_idx_178 +load 9 __for_len_178 lt 10 8 9 -brif 10 L3193 L3195 -label L3193 -load 11 __for_iter_179 -load 12 __for_idx_179 +brif 10 L3158 L3160 +label L3158 +load 11 __for_iter_178 +load 12 __for_idx_178 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_179_tid 13 +store __loopvar_178_tid 13 load 14 parts -load 15 __loopvar_179_tid +load 15 __loopvar_178_tid call 16 int_to_string string 1 15 call 17 pith_list_push_value_owned void 2 14 16 -label L3194 -load 18 __for_idx_179 +label L3159 +load 18 __for_idx_178 iconst 19 1 add 20 18 19 -store __for_idx_179 20 -jmp L3192 -label L3195 +store __for_idx_178 20 +jmp L3157 +label L3160 load 21 parts strref 22 m18s91 call 23 list_join string 2 21 22 @@ -65632,14 +65389,14 @@ load 6 s call 7 string_len int 1 6 iconst 8 0 eq 9 7 8 -brif 9 L3197 L3198 -label L3197 +brif 9 L3162 L3163 +label L3162 load 10 tids load 11 parts call 12 pith_list_release_handle void 1 11 ret 10 -label L3198 -label L3196 +label L3163 +label L3161 load 13 parts load 14 s strref 15 m18s91 @@ -65650,30 +65407,30 @@ store parts 16 load 19 parts call 20 pith_auto_len int 1 19 iconst 21 0 -store __for_idx_180 21 -store __for_len_180 20 -store __for_iter_180 19 -label L3199 -load 22 __for_idx_180 -load 23 __for_len_180 +store __for_idx_179 21 +store __for_len_179 20 +store __for_iter_179 19 +label L3164 +load 22 __for_idx_179 +load 23 __for_len_179 lt 24 22 23 -brif 24 L3200 L3202 -label L3200 -load 25 __for_iter_180 -load 26 __for_idx_180 +brif 24 L3165 L3167 +label L3165 +load 25 __for_iter_179 +load 26 __for_idx_179 call 27 pith_list_get_value_unchecked string 2 25 26 -store __loopvar_180_part 27 +store __loopvar_179_part 27 load 28 tids -load 29 __loopvar_180_part +load 29 __loopvar_179_part call 30 checker_parse_integer_string int 1 29 call 31 pith_list_push_value void 2 28 30 -label L3201 -load 32 __for_idx_180 +label L3166 +load 32 __for_idx_179 iconst 33 1 add 34 32 33 -store __for_idx_180 34 -jmp L3199 -label L3202 +store __for_idx_179 34 +jmp L3164 +label L3167 load 35 tids load 36 parts call 37 pith_list_release_handle void 1 36 @@ -65710,21 +65467,21 @@ load 11 decl_node field 12 11 16 list children call 13 pith_auto_len int 1 12 iconst 14 0 -store __for_idx_181 14 -store __for_len_181 13 -store __for_iter_181 12 -label L3203 -load 15 __for_idx_181 -load 16 __for_len_181 +store __for_idx_180 14 +store __for_len_180 13 +store __for_iter_180 12 +label L3168 +load 15 __for_idx_180 +load 16 __for_len_180 lt 17 15 16 -brif 17 L3204 L3206 -label L3204 -load 18 __for_iter_181 -load 19 __for_idx_181 +brif 17 L3169 L3171 +label L3169 +load 18 __for_iter_180 +load 19 __for_idx_180 call 20 pith_list_get_value unknown 2 18 19 -store __loopvar_181_child 20 +store __loopvar_180_child 20 load 21 cn -load 22 __loopvar_181_child +load 22 __loopvar_180_child call 23 ast_get_node struct:Node 1 22 call 24 pith_struct_release void 1 21 store cn 23 @@ -65733,8 +65490,8 @@ field 26 25 0 string kind strref 27 m18s605 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3208 L3209 -label L3208 +brif 28 L3173 L3174 +label L3173 load 30 param_name load 31 cn field 32 31 8 string value @@ -65744,8 +65501,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 L3211 L3212 -label L3211 +brif 37 L3176 L3177 +label L3176 load 38 checker_generic_inference_subst load 39 param_name call 40 map_get_strict int 2 38 39 @@ -65761,21 +65518,21 @@ load 47 cn field 48 47 16 list children call 49 pith_auto_len int 1 48 iconst 50 0 -store __for_idx_182 50 -store __for_len_182 49 -store __for_iter_182 48 -label L3213 -load 51 __for_idx_182 -load 52 __for_len_182 +store __for_idx_181 50 +store __for_len_181 49 +store __for_iter_181 48 +label L3178 +load 51 __for_idx_181 +load 52 __for_len_181 lt 53 51 52 -brif 53 L3214 L3216 -label L3214 -load 54 __for_iter_182 -load 55 __for_idx_182 +brif 53 L3179 L3181 +label L3179 +load 54 __for_iter_181 +load 55 __for_idx_181 call 56 pith_list_get_value unknown 2 54 55 -store __loopvar_182_bound_idx 56 +store __loopvar_181_bound_idx 56 load 57 bound_node -load 58 __loopvar_182_bound_idx +load 58 __loopvar_181_bound_idx call 59 ast_get_node struct:Node 1 58 call 60 pith_struct_release void 1 57 store bound_node 59 @@ -65803,8 +65560,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 L3218 L3219 -label L3218 +brif 81 L3183 L3184 +label L3183 load 82 impl_args load 83 checker_impl_interface_args load 84 impl_key @@ -65815,25 +65572,25 @@ call 88 pith_list_release_handle void 1 82 store impl_args 87 iconst 89 0 store k 89 -label L3220 +label L3185 iconst 90 0 -store __and_90_3223 90 +store __and_90_3188 90 load 91 k load 92 bound_arg_names call 93 pith_list_len int 1 92 lt 94 91 93 -store __and_90_3223 94 -brif 94 L3223 L3224 -label L3223 +store __and_90_3188 94 +brif 94 L3188 L3189 +label L3188 load 95 k load 96 impl_args call 97 pith_list_len int 1 96 lt 98 95 97 -store __and_90_3223 98 -label L3224 -load 99 __and_90_3223 -brif 99 L3221 L3222 -label L3221 +store __and_90_3188 98 +label L3189 +load 99 __and_90_3188 +brif 99 L3186 L3187 +label L3186 load 100 ban load 101 bound_arg_names load 102 k @@ -65846,100 +65603,100 @@ store is_gp 106 load 107 generic_params call 108 pith_auto_len int 1 107 iconst 109 0 -store __for_idx_183 109 -store __for_len_183 108 -store __for_iter_183 107 -label L3225 -load 110 __for_idx_183 -load 111 __for_len_183 +store __for_idx_182 109 +store __for_len_182 108 +store __for_iter_182 107 +label L3190 +load 110 __for_idx_182 +load 111 __for_len_182 lt 112 110 111 -brif 112 L3226 L3228 -label L3226 -load 113 __for_iter_183 -load 114 __for_idx_183 +brif 112 L3191 L3193 +label L3191 +load 113 __for_iter_182 +load 114 __for_idx_182 call 115 pith_list_get_value_unchecked string 2 113 114 -store __loopvar_183_gp 115 -load 116 __loopvar_183_gp +store __loopvar_182_gp 115 +load 116 __loopvar_182_gp load 117 ban call 118 pith_cstring_eq bool 2 116 117 -brif 118 L3230 L3231 -label L3230 +brif 118 L3195 L3196 +label L3195 iconst 119 1 store is_gp 119 -jmp L3229 -label L3231 -label L3229 -label L3227 -load 120 __for_idx_183 +jmp L3194 +label L3196 +label L3194 +label L3192 +load 120 __for_idx_182 iconst 121 1 add 122 120 121 -store __for_idx_183 122 -jmp L3225 -label L3228 +store __for_idx_182 122 +jmp L3190 +label L3193 iconst 123 0 -store __and_123_3235 123 +store __and_123_3200 123 load 124 is_gp -store __and_123_3235 124 -brif 124 L3235 L3236 -label L3235 +store __and_123_3200 124 +brif 124 L3200 L3201 +label L3200 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_3235 129 -label L3236 -load 130 __and_123_3235 -brif 130 L3233 L3234 -label L3233 +store __and_123_3200 129 +label L3201 +load 130 __and_123_3200 +brif 130 L3198 L3199 +label L3198 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 L3238 L3239 -label L3238 +brif 135 L3203 L3204 +label L3203 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 L3237 -label L3239 -label L3237 -jmp L3232 -label L3234 -label L3232 +jmp L3202 +label L3204 +label L3202 +jmp L3197 +label L3199 +label L3197 load 142 k iconst 143 1 add 144 142 143 store k 144 -jmp L3220 -label L3222 -jmp L3217 -label L3219 -label L3217 -label L3215 -load 145 __for_idx_182 +jmp L3185 +label L3187 +jmp L3182 +label L3184 +label L3182 +label L3180 +load 145 __for_idx_181 iconst 146 1 add 147 145 146 -store __for_idx_182 147 -jmp L3213 -label L3216 -jmp L3210 -label L3212 -label L3210 -jmp L3207 -label L3209 -label L3207 -label L3205 -load 148 __for_idx_181 +store __for_idx_181 147 +jmp L3178 +label L3181 +jmp L3175 +label L3177 +label L3175 +jmp L3172 +label L3174 +label L3172 +label L3170 +load 148 __for_idx_180 iconst 149 1 add 150 148 149 -store __for_idx_181 150 -jmp L3203 -label L3206 +store __for_idx_180 150 +jmp L3168 +label L3171 load 151 cn call 152 pith_struct_release void 1 151 load 153 param_name @@ -65987,21 +65744,21 @@ load 13 decl_node field 14 13 16 list children call 15 pith_auto_len int 1 14 iconst 16 0 -store __for_idx_184 16 -store __for_len_184 15 -store __for_iter_184 14 -label L3240 -load 17 __for_idx_184 -load 18 __for_len_184 +store __for_idx_183 16 +store __for_len_183 15 +store __for_iter_183 14 +label L3205 +load 17 __for_idx_183 +load 18 __for_len_183 lt 19 17 18 -brif 19 L3241 L3243 -label L3241 -load 20 __for_iter_184 -load 21 __for_idx_184 +brif 19 L3206 L3208 +label L3206 +load 20 __for_iter_183 +load 21 __for_idx_183 call 22 pith_list_get_value unknown 2 20 21 -store __loopvar_184_child 22 +store __loopvar_183_child 22 load 23 cn -load 24 __loopvar_184_child +load 24 __loopvar_183_child call 25 ast_get_node struct:Node 1 24 call 26 pith_struct_release void 1 23 store cn 25 @@ -66010,8 +65767,8 @@ field 28 27 0 string kind strref 29 m18s605 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L3245 L3246 -label L3245 +brif 30 L3210 L3211 +label L3210 load 32 param_name load 33 cn field 34 33 8 string value @@ -66021,8 +65778,8 @@ store param_name 34 load 37 subst_map load 38 param_name call 39 contains_key bool 2 37 38 -brif 39 L3248 L3249 -label L3248 +brif 39 L3213 L3214 +label L3213 load 40 subst_map load 41 param_name call 42 map_get_strict int 2 40 41 @@ -66036,21 +65793,21 @@ load 47 cn field 48 47 16 list children call 49 pith_auto_len int 1 48 iconst 50 0 -store __for_idx_185 50 -store __for_len_185 49 -store __for_iter_185 48 -label L3250 -load 51 __for_idx_185 -load 52 __for_len_185 +store __for_idx_184 50 +store __for_len_184 49 +store __for_iter_184 48 +label L3215 +load 51 __for_idx_184 +load 52 __for_len_184 lt 53 51 52 -brif 53 L3251 L3253 -label L3251 -load 54 __for_iter_185 -load 55 __for_idx_185 +brif 53 L3216 L3218 +label L3216 +load 54 __for_iter_184 +load 55 __for_idx_184 call 56 pith_list_get_value unknown 2 54 55 -store __loopvar_185_bound_idx 56 +store __loopvar_184_bound_idx 56 load 57 bound_node -load 58 __loopvar_185_bound_idx +load 58 __loopvar_184_bound_idx call 59 ast_get_node struct:Node 1 58 call 60 pith_struct_release void 1 57 store bound_node 59 @@ -66064,8 +65821,8 @@ load 66 iface_name call 67 checker_interfaces_has_interface_declaration bool 1 66 iconst 68 0 eq 69 67 68 -brif 69 L3255 L3256 -label L3255 +brif 69 L3220 L3221 +label L3220 strref 70 m18s602 strref 71 m18s604 load 72 iface_name @@ -66087,15 +65844,15 @@ call 87 pith_cstring_release void 1 70 call 88 pith_cstring_release void 1 83 iconst 89 0 store ok 89 -jmp L3254 -label L3256 +jmp L3219 +label L3221 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 L3258 L3259 -label L3258 +brif 94 L3223 L3224 +label L3223 strref 95 m18s602 strref 96 m18s601 load 97 type_name @@ -66117,30 +65874,30 @@ call 112 pith_cstring_release void 1 95 call 113 pith_cstring_release void 1 108 iconst 114 0 store ok 114 -jmp L3257 -label L3259 -label L3257 -label L3254 -label L3252 -load 115 __for_idx_185 +jmp L3222 +label L3224 +label L3222 +label L3219 +label L3217 +load 115 __for_idx_184 iconst 116 1 add 117 115 116 -store __for_idx_185 117 -jmp L3250 -label L3253 -jmp L3247 -label L3249 -label L3247 -jmp L3244 -label L3246 -label L3244 -label L3242 -load 118 __for_idx_184 +store __for_idx_184 117 +jmp L3215 +label L3218 +jmp L3212 +label L3214 +label L3212 +jmp L3209 +label L3211 +label L3209 +label L3207 +load 118 __for_idx_183 iconst 119 1 add 120 118 119 -store __for_idx_184 120 -jmp L3240 -label L3243 +store __for_idx_183 120 +jmp L3205 +label L3208 load 121 ok load 122 decl_node call 123 pith_struct_release void 1 122 @@ -66176,8 +65933,8 @@ param actual_tid load 2 checker_generic_inference_subst load 3 name call 4 contains_key bool 2 2 3 -brif 4 L3261 L3262 -label L3261 +brif 4 L3226 L3227 +label L3226 load 5 checker_generic_inference_subst load 6 name call 7 map_get_strict int 2 5 6 @@ -66187,8 +65944,8 @@ load 9 actual_tid call 10 checker_types_structurally_equal bool 2 8 9 iconst 11 0 eq 12 10 11 -brif 12 L3264 L3265 -label L3264 +brif 12 L3229 L3230 +label L3229 strref 13 m18s330 strref 14 m18s599 load 15 name @@ -66217,12 +65974,12 @@ call 37 pith_cstring_release void 1 13 call 38 pith_cstring_release void 1 33 iconst 39 0 ret 39 -label L3265 -label L3263 +label L3230 +label L3228 iconst 40 1 ret 40 -label L3262 -label L3260 +label L3227 +label L3225 load 41 checker_generic_inference_subst load 42 name load 43 actual_tid @@ -66239,40 +65996,40 @@ store start 1 load 2 text call 3 string_len int 1 2 store end 3 -label L3266 +label L3231 iconst 4 0 -store __and_4_3269 4 +store __and_4_3234 4 load 5 start load 6 end lt 7 5 6 -store __and_4_3269 7 -brif 7 L3269 L3270 -label L3269 +store __and_4_3234 7 +brif 7 L3234 L3235 +label L3234 load 8 text load 9 start call 10 pith_cstring_byte_at int 2 8 9 iconst 11 32 eq 12 10 11 -store __and_4_3269 12 -label L3270 -load 13 __and_4_3269 -brif 13 L3267 L3268 -label L3267 +store __and_4_3234 12 +label L3235 +load 13 __and_4_3234 +brif 13 L3232 L3233 +label L3232 load 14 start iconst 15 1 add 16 14 15 store start 16 -jmp L3266 -label L3268 -label L3271 +jmp L3231 +label L3233 +label L3236 iconst 17 0 -store __and_17_3274 17 +store __and_17_3239 17 load 18 end load 19 start gt 20 18 19 -store __and_17_3274 20 -brif 20 L3274 L3275 -label L3274 +store __and_17_3239 20 +brif 20 L3239 L3240 +label L3239 load 21 text load 22 end iconst 23 1 @@ -66280,17 +66037,17 @@ sub 24 22 23 call 25 pith_cstring_byte_at int 2 21 24 iconst 26 32 eq 27 25 26 -store __and_17_3274 27 -label L3275 -load 28 __and_17_3274 -brif 28 L3272 L3273 -label L3272 +store __and_17_3239 27 +label L3240 +load 28 __and_17_3239 +brif 28 L3237 L3238 +label L3237 load 29 end iconst 30 1 sub 31 29 30 store end 31 -jmp L3271 -label L3273 +jmp L3236 +label L3238 load 32 text load 33 start load 34 end @@ -66315,13 +66072,13 @@ iconst 7 0 store depth 7 iconst 8 0 store i 8 -label L3276 +label L3241 load 9 i load 10 text call 11 string_len int 1 10 lt 12 9 11 -brif 12 L3277 L3278 -label L3277 +brif 12 L3242 L3243 +label L3242 load 13 ch load 14 text load 15 i @@ -66332,43 +66089,43 @@ load 18 ch strref 19 m18s97 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L3280 L3281 -label L3280 +brif 20 L3245 L3246 +label L3245 load 22 depth iconst 23 1 add 24 22 23 store depth 24 -jmp L3279 -label L3281 +jmp L3244 +label L3246 load 25 ch strref 26 m18s96 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L3282 L3283 -label L3282 +brif 27 L3247 L3248 +label L3247 load 29 depth iconst 30 1 sub 31 29 30 store depth 31 -jmp L3279 -label L3283 +jmp L3244 +label L3248 iconst 32 0 -store __and_32_3286 32 +store __and_32_3251 32 load 33 ch strref 34 m18s91 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __and_32_3286 35 -brif 35 L3286 L3287 -label L3286 +store __and_32_3251 35 +brif 35 L3251 L3252 +label L3251 load 37 depth iconst 38 0 eq 39 37 38 -store __and_32_3286 39 -label L3287 -load 40 __and_32_3286 -brif 40 L3284 L3285 -label L3284 +store __and_32_3251 39 +label L3252 +load 40 __and_32_3251 +brif 40 L3249 L3250 +label L3249 load 41 parts load 42 text load 43 start @@ -66381,15 +66138,15 @@ load 49 i iconst 50 1 add 51 49 50 store start 51 -jmp L3279 -label L3285 -label L3279 +jmp L3244 +label L3250 +label L3244 load 52 i iconst 53 1 add 54 52 53 store i 54 -jmp L3276 -label L3278 +jmp L3241 +label L3243 load 55 parts load 56 text load 57 start @@ -66427,8 +66184,8 @@ store args 7 load 8 actual_tid iconst 9 0 lt 10 8 9 -brif 10 L3289 L3290 -label L3289 +brif 10 L3254 L3255 +label L3254 iconst 11 1 load 12 trimmed call 13 pith_cstring_release void 1 12 @@ -66441,8 +66198,8 @@ call 19 pith_cstring_release void 1 18 load 20 args call 21 pith_list_release_handle void 1 20 ret 11 -label L3290 -label L3288 +label L3255 +label L3253 load 22 trimmed load 23 type_name call 24 checker_trim_type_text string 1 23 @@ -66451,29 +66208,29 @@ store trimmed 24 load 26 generic_params call 27 pith_auto_len int 1 26 iconst 28 0 -store __for_idx_186 28 -store __for_len_186 27 -store __for_iter_186 26 -label L3291 -load 29 __for_idx_186 -load 30 __for_len_186 +store __for_idx_185 28 +store __for_len_185 27 +store __for_iter_185 26 +label L3256 +load 29 __for_idx_185 +load 30 __for_len_185 lt 31 29 30 -brif 31 L3292 L3294 -label L3292 -load 32 __for_iter_186 -load 33 __for_idx_186 +brif 31 L3257 L3259 +label L3257 +load 32 __for_iter_185 +load 33 __for_idx_185 call 34 pith_list_get_value_unchecked string 2 32 33 -store __loopvar_186_gp 34 +store __loopvar_185_gp 34 load 35 normalized_gp -load 36 __loopvar_186_gp +load 36 __loopvar_185_gp call 37 checker_trim_type_text string 1 36 call 38 pith_cstring_release void 1 35 store normalized_gp 37 load 39 normalized_gp load 40 trimmed call 41 checker_strings_equal bool 2 39 40 -brif 41 L3296 L3297 -label L3296 +brif 41 L3261 L3262 +label L3261 load 42 normalized_gp load 43 actual_tid call 44 checker_bind_inferred_generic_type bool 2 42 43 @@ -66488,38 +66245,38 @@ call 52 pith_cstring_release void 1 51 load 53 args call 54 pith_list_release_handle void 1 53 ret 44 -label L3297 -label L3295 -label L3293 -load 55 __for_idx_186 +label L3262 +label L3260 +label L3258 +load 55 __for_idx_185 iconst 56 1 add 57 55 56 -store __for_idx_186 57 -jmp L3291 -label L3294 +store __for_idx_185 57 +jmp L3256 +label L3259 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_3301 62 +store __and_62_3266 62 load 63 trimmed strref 64 m18s136 call 65 pith_cstring_starts_with bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __and_62_3301 65 -brif 65 L3301 L3302 -label L3301 +store __and_62_3266 65 +brif 65 L3266 L3267 +label L3266 load 67 trimmed strref 68 m18s96 call 69 pith_cstring_ends_with bool 2 67 68 call 70 pith_cstring_release void 1 68 -store __and_62_3301 69 -label L3302 -load 71 __and_62_3301 -brif 71 L3299 L3300 -label L3299 +store __and_62_3266 69 +label L3267 +load 71 __and_62_3266 +brif 71 L3264 L3265 +label L3264 load 72 actual_info field 73 72 0 string kind strref 74 m18s23 @@ -66527,8 +66284,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 L3304 L3305 -label L3304 +brif 75 L3269 L3270 +label L3269 iconst 79 1 load 80 trimmed call 81 pith_cstring_release void 1 80 @@ -66541,8 +66298,8 @@ call 87 pith_cstring_release void 1 86 load 88 args call 89 pith_list_release_handle void 1 88 ret 79 -label L3305 -label L3303 +label L3270 +label L3268 load 90 inner_text load 91 trimmed iconst 92 5 @@ -66569,26 +66326,26 @@ call 111 pith_cstring_release void 1 110 load 112 args call 113 pith_list_release_handle void 1 112 ret 103 -label L3300 -label L3298 +label L3265 +label L3263 iconst 114 0 -store __and_114_3309 114 +store __and_114_3274 114 load 115 trimmed strref 116 m18s135 call 117 pith_cstring_starts_with bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __and_114_3309 117 -brif 117 L3309 L3310 -label L3309 +store __and_114_3274 117 +brif 117 L3274 L3275 +label L3274 load 119 trimmed strref 120 m18s96 call 121 pith_cstring_ends_with bool 2 119 120 call 122 pith_cstring_release void 1 120 -store __and_114_3309 121 -label L3310 -load 123 __and_114_3309 -brif 123 L3307 L3308 -label L3307 +store __and_114_3274 121 +label L3275 +load 123 __and_114_3274 +brif 123 L3272 L3273 +label L3272 load 124 actual_info field 125 124 0 string kind strref 126 m18s19 @@ -66596,8 +66353,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 L3312 L3313 -label L3312 +brif 127 L3277 L3278 +label L3277 iconst 131 1 load 132 trimmed call 133 pith_cstring_release void 1 132 @@ -66610,8 +66367,8 @@ call 139 pith_cstring_release void 1 138 load 140 args call 141 pith_list_release_handle void 1 140 ret 131 -label L3313 -label L3311 +label L3278 +label L3276 load 142 inner_text load 143 trimmed iconst 144 4 @@ -66638,26 +66395,26 @@ call 163 pith_cstring_release void 1 162 load 164 args call 165 pith_list_release_handle void 1 164 ret 155 -label L3308 -label L3306 +label L3273 +label L3271 iconst 166 0 -store __and_166_3317 166 +store __and_166_3282 166 load 167 trimmed strref 168 m18s134 call 169 pith_cstring_starts_with bool 2 167 168 call 170 pith_cstring_release void 1 168 -store __and_166_3317 169 -brif 169 L3317 L3318 -label L3317 +store __and_166_3282 169 +brif 169 L3282 L3283 +label L3282 load 171 trimmed strref 172 m18s96 call 173 pith_cstring_ends_with bool 2 171 172 call 174 pith_cstring_release void 1 172 -store __and_166_3317 173 -label L3318 -load 175 __and_166_3317 -brif 175 L3315 L3316 -label L3315 +store __and_166_3282 173 +label L3283 +load 175 __and_166_3282 +brif 175 L3280 L3281 +label L3280 load 176 actual_info field 177 176 0 string kind strref 178 m18s27 @@ -66665,8 +66422,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 L3320 L3321 -label L3320 +brif 179 L3285 L3286 +label L3285 iconst 183 1 load 184 trimmed call 185 pith_cstring_release void 1 184 @@ -66679,8 +66436,8 @@ call 191 pith_cstring_release void 1 190 load 192 args call 193 pith_list_release_handle void 1 192 ret 183 -label L3321 -label L3319 +label L3286 +label L3284 load 194 inner_text load 195 trimmed iconst 196 5 @@ -66707,26 +66464,26 @@ call 215 pith_cstring_release void 1 214 load 216 args call 217 pith_list_release_handle void 1 216 ret 207 -label L3316 -label L3314 +label L3281 +label L3279 iconst 218 0 -store __and_218_3325 218 +store __and_218_3290 218 load 219 trimmed strref 220 m18s133 call 221 pith_cstring_starts_with bool 2 219 220 call 222 pith_cstring_release void 1 220 -store __and_218_3325 221 -brif 221 L3325 L3326 -label L3325 +store __and_218_3290 221 +brif 221 L3290 L3291 +label L3290 load 223 trimmed strref 224 m18s96 call 225 pith_cstring_ends_with bool 2 223 224 call 226 pith_cstring_release void 1 224 -store __and_218_3325 225 -label L3326 -load 227 __and_218_3325 -brif 227 L3323 L3324 -label L3323 +store __and_218_3290 225 +label L3291 +load 227 __and_218_3290 +brif 227 L3288 L3289 +label L3288 load 228 actual_info field 229 228 0 string kind strref 230 m18s25 @@ -66734,8 +66491,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 L3328 L3329 -label L3328 +brif 231 L3293 L3294 +label L3293 iconst 235 1 load 236 trimmed call 237 pith_cstring_release void 1 236 @@ -66748,8 +66505,8 @@ call 243 pith_cstring_release void 1 242 load 244 args call 245 pith_list_release_handle void 1 244 ret 235 -label L3329 -label L3327 +label L3294 +label L3292 load 246 inner_text load 247 trimmed iconst 248 8 @@ -66776,26 +66533,26 @@ call 267 pith_cstring_release void 1 266 load 268 args call 269 pith_list_release_handle void 1 268 ret 259 -label L3324 -label L3322 +label L3289 +label L3287 iconst 270 0 -store __and_270_3333 270 +store __and_270_3298 270 load 271 trimmed strref 272 m18s132 call 273 pith_cstring_starts_with bool 2 271 272 call 274 pith_cstring_release void 1 272 -store __and_270_3333 273 -brif 273 L3333 L3334 -label L3333 +store __and_270_3298 273 +brif 273 L3298 L3299 +label L3298 load 275 trimmed strref 276 m18s96 call 277 pith_cstring_ends_with bool 2 275 276 call 278 pith_cstring_release void 1 276 -store __and_270_3333 277 -label L3334 -load 279 __and_270_3333 -brif 279 L3331 L3332 -label L3331 +store __and_270_3298 277 +label L3299 +load 279 __and_270_3298 +brif 279 L3296 L3297 +label L3296 load 280 actual_info field 281 280 0 string kind strref 282 m18s21 @@ -66803,8 +66560,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 L3336 L3337 -label L3336 +brif 283 L3301 L3302 +label L3301 iconst 287 1 load 288 trimmed call 289 pith_cstring_release void 1 288 @@ -66817,8 +66574,8 @@ call 295 pith_cstring_release void 1 294 load 296 args call 297 pith_list_release_handle void 1 296 ret 287 -label L3337 -label L3335 +label L3302 +label L3300 load 298 args load 299 trimmed iconst 300 4 @@ -66835,8 +66592,8 @@ load 309 args call 310 pith_list_len int 1 309 iconst 311 0 gt 312 310 311 -brif 312 L3339 L3340 -label L3339 +brif 312 L3304 L3305 +label L3304 load 313 args iconst 314 0 call 315 pith_list_get_value_strict string 2 313 314 @@ -66846,8 +66603,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 L3342 L3343 -label L3342 +brif 321 L3307 L3308 +label L3307 iconst 322 0 load 323 trimmed call 324 pith_cstring_release void 1 323 @@ -66860,17 +66617,17 @@ call 330 pith_cstring_release void 1 329 load 331 args call 332 pith_list_release_handle void 1 331 ret 322 -label L3343 -label L3341 -jmp L3338 -label L3340 -label L3338 +label L3308 +label L3306 +jmp L3303 +label L3305 +label L3303 load 333 args call 334 pith_list_len int 1 333 iconst 335 1 gt 336 334 335 -brif 336 L3345 L3346 -label L3345 +brif 336 L3310 L3311 +label L3310 load 337 args iconst 338 1 call 339 pith_list_get_value_strict string 2 337 338 @@ -66889,8 +66646,8 @@ call 351 pith_cstring_release void 1 350 load 352 args call 353 pith_list_release_handle void 1 352 ret 343 -label L3346 -label L3344 +label L3311 +label L3309 iconst 354 1 load 355 trimmed call 356 pith_cstring_release void 1 355 @@ -66903,8 +66660,8 @@ call 362 pith_cstring_release void 1 361 load 363 args call 364 pith_list_release_handle void 1 363 ret 354 -label L3332 -label L3330 +label L3297 +label L3295 iconst 365 1 load 366 trimmed call 367 pith_cstring_release void 1 366 @@ -66943,21 +66700,21 @@ store normalized_gp 5 iconst 6 0 store cn 6 iconst 7 0 -store __or_7_3350 7 +store __or_7_3315 7 load 8 type_idx iconst 9 0 lt 10 8 9 -store __or_7_3350 10 -brif 10 L3351 L3350 -label L3350 +store __or_7_3315 10 +brif 10 L3316 L3315 +label L3315 load 11 actual_tid iconst 12 0 lt 13 11 12 -store __or_7_3350 13 -label L3351 -load 14 __or_7_3350 -brif 14 L3348 L3349 -label L3348 +store __or_7_3315 13 +label L3316 +load 14 __or_7_3315 +brif 14 L3313 L3314 +label L3313 iconst 15 1 load 16 node call 17 pith_struct_release void 1 16 @@ -66968,8 +66725,8 @@ call 21 pith_cstring_release void 1 20 load 22 cn call 23 pith_struct_release void 1 22 ret 15 -label L3349 -label L3347 +label L3314 +label L3312 load 24 node load 25 type_idx call 26 ast_get_node struct:Node 1 25 @@ -66980,8 +66737,8 @@ field 29 28 0 string kind strref 30 m18s584 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L3353 L3354 -label L3353 +brif 31 L3318 L3319 +label L3318 load 33 node field 34 33 8 string value load 35 actual_tid @@ -66996,8 +66753,8 @@ call 43 pith_cstring_release void 1 42 load 44 cn call 45 pith_struct_release void 1 44 ret 37 -label L3354 -label L3352 +label L3319 +label L3317 load 46 actual_info load 47 actual_tid call 48 types_get_type_info struct:TypeInfo 1 47 @@ -67008,26 +66765,26 @@ field 51 50 0 string kind strref 52 m18s598 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L3356 L3357 -label L3356 +brif 53 L3321 L3322 +label L3321 load 55 generic_params call 56 pith_auto_len int 1 55 iconst 57 0 -store __for_idx_187 57 -store __for_len_187 56 -store __for_iter_187 55 -label L3358 -load 58 __for_idx_187 -load 59 __for_len_187 +store __for_idx_186 57 +store __for_len_186 56 +store __for_iter_186 55 +label L3323 +load 58 __for_idx_186 +load 59 __for_len_186 lt 60 58 59 -brif 60 L3359 L3361 -label L3359 -load 61 __for_iter_187 -load 62 __for_idx_187 +brif 60 L3324 L3326 +label L3324 +load 61 __for_iter_186 +load 62 __for_idx_186 call 63 pith_list_get_value_unchecked string 2 61 62 -store __loopvar_187_gp 63 +store __loopvar_186_gp 63 load 64 normalized_gp -load 65 __loopvar_187_gp +load 65 __loopvar_186_gp call 66 checker_trim_type_text string 1 65 call 67 pith_cstring_release void 1 64 store normalized_gp 66 @@ -67037,8 +66794,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 L3363 L3364 -label L3363 +brif 72 L3328 L3329 +label L3328 load 74 normalized_gp load 75 actual_tid call 76 checker_bind_inferred_generic_type bool 2 74 75 @@ -67051,42 +66808,42 @@ call 82 pith_cstring_release void 1 81 load 83 cn call 84 pith_struct_release void 1 83 ret 76 -label L3364 -label L3362 -label L3360 -load 85 __for_idx_187 +label L3329 +label L3327 +label L3325 +load 85 __for_idx_186 iconst 86 1 add 87 85 86 -store __for_idx_187 87 -jmp L3358 -label L3361 +store __for_idx_186 87 +jmp L3323 +label L3326 load 88 node field 89 88 8 string value strref 90 m18s22 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -brif 91 L3366 L3367 -label L3366 +brif 91 L3331 L3332 +label L3331 iconst 93 0 -store __and_93_3371 93 +store __and_93_3336 93 load 94 actual_info field 95 94 0 string kind strref 96 m18s23 call 97 pith_cstring_eq bool 2 95 96 call 98 pith_cstring_release void 1 96 -store __and_93_3371 97 -brif 97 L3371 L3372 -label L3371 +store __and_93_3336 97 +brif 97 L3336 L3337 +label L3336 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_3371 103 -label L3372 -load 104 __and_93_3371 -brif 104 L3369 L3370 -label L3369 +store __and_93_3336 103 +label L3337 +load 104 __and_93_3336 +brif 104 L3334 L3335 +label L3334 load 105 node field 106 105 16 list children iconst 107 0 @@ -67104,8 +66861,8 @@ call 118 pith_cstring_release void 1 117 load 119 cn call 120 pith_struct_release void 1 119 ret 112 -label L3370 -label L3368 +label L3335 +label L3333 iconst 121 1 load 122 node call 123 pith_struct_release void 1 122 @@ -67116,35 +66873,35 @@ call 127 pith_cstring_release void 1 126 load 128 cn call 129 pith_struct_release void 1 128 ret 121 -label L3367 -label L3365 +label L3332 +label L3330 load 130 node field 131 130 8 string value strref 132 m18s18 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -brif 133 L3374 L3375 -label L3374 +brif 133 L3339 L3340 +label L3339 iconst 135 0 -store __and_135_3379 135 +store __and_135_3344 135 load 136 actual_info field 137 136 0 string kind strref 138 m18s19 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -store __and_135_3379 139 -brif 139 L3379 L3380 -label L3379 +store __and_135_3344 139 +brif 139 L3344 L3345 +label L3344 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_3379 145 -label L3380 -load 146 __and_135_3379 -brif 146 L3377 L3378 -label L3377 +store __and_135_3344 145 +label L3345 +load 146 __and_135_3344 +brif 146 L3342 L3343 +label L3342 load 147 node field 148 147 16 list children iconst 149 0 @@ -67162,8 +66919,8 @@ call 160 pith_cstring_release void 1 159 load 161 cn call 162 pith_struct_release void 1 161 ret 154 -label L3378 -label L3376 +label L3343 +label L3341 iconst 163 1 load 164 node call 165 pith_struct_release void 1 164 @@ -67174,35 +66931,35 @@ call 169 pith_cstring_release void 1 168 load 170 cn call 171 pith_struct_release void 1 170 ret 163 -label L3375 -label L3373 +label L3340 +label L3338 load 172 node field 173 172 8 string value strref 174 m18s26 call 175 pith_cstring_eq bool 2 173 174 call 176 pith_cstring_release void 1 174 -brif 175 L3382 L3383 -label L3382 +brif 175 L3347 L3348 +label L3347 iconst 177 0 -store __and_177_3387 177 +store __and_177_3352 177 load 178 actual_info field 179 178 0 string kind strref 180 m18s27 call 181 pith_cstring_eq bool 2 179 180 call 182 pith_cstring_release void 1 180 -store __and_177_3387 181 -brif 181 L3387 L3388 -label L3387 +store __and_177_3352 181 +brif 181 L3352 L3353 +label L3352 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_3387 187 -label L3388 -load 188 __and_177_3387 -brif 188 L3385 L3386 -label L3385 +store __and_177_3352 187 +label L3353 +load 188 __and_177_3352 +brif 188 L3350 L3351 +label L3350 load 189 node field 190 189 16 list children iconst 191 0 @@ -67220,8 +66977,8 @@ call 202 pith_cstring_release void 1 201 load 203 cn call 204 pith_struct_release void 1 203 ret 196 -label L3386 -label L3384 +label L3351 +label L3349 iconst 205 1 load 206 node call 207 pith_struct_release void 1 206 @@ -67232,35 +66989,35 @@ call 211 pith_cstring_release void 1 210 load 212 cn call 213 pith_struct_release void 1 212 ret 205 -label L3383 -label L3381 +label L3348 +label L3346 load 214 node field 215 214 8 string value strref 216 m18s24 call 217 pith_cstring_eq bool 2 215 216 call 218 pith_cstring_release void 1 216 -brif 217 L3390 L3391 -label L3390 +brif 217 L3355 L3356 +label L3355 iconst 219 0 -store __and_219_3395 219 +store __and_219_3360 219 load 220 actual_info field 221 220 0 string kind strref 222 m18s25 call 223 pith_cstring_eq bool 2 221 222 call 224 pith_cstring_release void 1 222 -store __and_219_3395 223 -brif 223 L3395 L3396 -label L3395 +store __and_219_3360 223 +brif 223 L3360 L3361 +label L3360 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_3395 229 -label L3396 -load 230 __and_219_3395 -brif 230 L3393 L3394 -label L3393 +store __and_219_3360 229 +label L3361 +load 230 __and_219_3360 +brif 230 L3358 L3359 +label L3358 load 231 node field 232 231 16 list children iconst 233 0 @@ -67278,8 +67035,8 @@ call 244 pith_cstring_release void 1 243 load 245 cn call 246 pith_struct_release void 1 245 ret 238 -label L3394 -label L3392 +label L3359 +label L3357 iconst 247 1 load 248 node call 249 pith_struct_release void 1 248 @@ -67290,35 +67047,35 @@ call 253 pith_cstring_release void 1 252 load 254 cn call 255 pith_struct_release void 1 254 ret 247 -label L3391 -label L3389 +label L3356 +label L3354 load 256 node field 257 256 8 string value strref 258 m18s20 call 259 pith_cstring_eq bool 2 257 258 call 260 pith_cstring_release void 1 258 -brif 259 L3398 L3399 -label L3398 +brif 259 L3363 L3364 +label L3363 iconst 261 0 -store __and_261_3403 261 +store __and_261_3368 261 load 262 actual_info field 263 262 0 string kind strref 264 m18s21 call 265 pith_cstring_eq bool 2 263 264 call 266 pith_cstring_release void 1 264 -store __and_261_3403 265 -brif 265 L3403 L3404 -label L3403 +store __and_261_3368 265 +brif 265 L3368 L3369 +label L3368 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_3403 271 -label L3404 -load 272 __and_261_3403 -brif 272 L3401 L3402 -label L3401 +store __and_261_3368 271 +label L3369 +load 272 __and_261_3368 +brif 272 L3366 L3367 +label L3366 load 273 node field 274 273 16 list children iconst 275 0 @@ -67329,8 +67086,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 L3406 L3407 -label L3406 +brif 282 L3371 L3372 +label L3371 iconst 283 0 load 284 node call 285 pith_struct_release void 1 284 @@ -67341,8 +67098,8 @@ call 289 pith_cstring_release void 1 288 load 290 cn call 291 pith_struct_release void 1 290 ret 283 -label L3407 -label L3405 +label L3372 +label L3370 load 292 node field 293 292 16 list children iconst 294 1 @@ -67360,8 +67117,8 @@ call 305 pith_cstring_release void 1 304 load 306 cn call 307 pith_struct_release void 1 306 ret 299 -label L3402 -label L3400 +label L3367 +label L3365 iconst 308 1 load 309 node call 310 pith_struct_release void 1 309 @@ -67372,8 +67129,8 @@ call 314 pith_cstring_release void 1 313 load 315 cn call 316 pith_struct_release void 1 315 ret 308 -label L3399 -label L3397 +label L3364 +label L3362 iconst 317 1 load 318 node call 319 pith_struct_release void 1 318 @@ -67384,35 +67141,35 @@ call 323 pith_cstring_release void 1 322 load 324 cn call 325 pith_struct_release void 1 324 ret 317 -label L3357 -label L3355 +label L3322 +label L3320 load 326 node field 327 326 0 string kind strref 328 m18s585 call 329 pith_cstring_eq bool 2 327 328 call 330 pith_cstring_release void 1 328 -brif 329 L3409 L3410 -label L3409 +brif 329 L3374 L3375 +label L3374 iconst 331 0 -store __and_331_3414 331 +store __and_331_3379 331 load 332 actual_info field 333 332 0 string kind strref 334 m18s30 call 335 pith_cstring_eq bool 2 333 334 call 336 pith_cstring_release void 1 334 -store __and_331_3414 335 -brif 335 L3414 L3415 -label L3414 +store __and_331_3379 335 +brif 335 L3379 L3380 +label L3379 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_3414 341 -label L3415 -load 342 __and_331_3414 -brif 342 L3412 L3413 -label L3412 +store __and_331_3379 341 +label L3380 +load 342 __and_331_3379 +brif 342 L3377 L3378 +label L3377 load 343 node field 344 343 16 list children iconst 345 0 @@ -67430,8 +67187,8 @@ call 356 pith_cstring_release void 1 355 load 357 cn call 358 pith_struct_release void 1 357 ret 350 -label L3413 -label L3411 +label L3378 +label L3376 iconst 359 1 load 360 node call 361 pith_struct_release void 1 360 @@ -67442,35 +67199,35 @@ call 365 pith_cstring_release void 1 364 load 366 cn call 367 pith_struct_release void 1 366 ret 359 -label L3410 -label L3408 +label L3375 +label L3373 load 368 node field 369 368 0 string kind strref 370 m18s597 call 371 pith_cstring_eq bool 2 369 370 call 372 pith_cstring_release void 1 370 -brif 371 L3417 L3418 -label L3417 +brif 371 L3382 L3383 +label L3382 iconst 373 0 -store __and_373_3422 373 +store __and_373_3387 373 load 374 actual_info field 375 374 0 string kind strref 376 m18s29 call 377 pith_cstring_eq bool 2 375 376 call 378 pith_cstring_release void 1 376 -store __and_373_3422 377 -brif 377 L3422 L3423 -label L3422 +store __and_373_3387 377 +brif 377 L3387 L3388 +label L3387 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_3422 383 -label L3423 -load 384 __and_373_3422 -brif 384 L3420 L3421 -label L3420 +store __and_373_3387 383 +label L3388 +load 384 __and_373_3387 +brif 384 L3385 L3386 +label L3385 load 385 node field 386 385 16 list children iconst 387 0 @@ -67481,8 +67238,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 L3425 L3426 -label L3425 +brif 394 L3390 L3391 +label L3390 iconst 395 0 load 396 node call 397 pith_struct_release void 1 396 @@ -67493,27 +67250,27 @@ call 401 pith_cstring_release void 1 400 load 402 cn call 403 pith_struct_release void 1 402 ret 395 -label L3426 -label L3424 +label L3391 +label L3389 iconst 404 0 -store __and_404_3430 404 +store __and_404_3395 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_3430 409 -brif 409 L3430 L3431 -label L3430 +store __and_404_3395 409 +brif 409 L3395 L3396 +label L3395 load 410 actual_info field 411 410 80 int value_type iconst 412 0 gte 413 411 412 -store __and_404_3430 413 -label L3431 -load 414 __and_404_3430 -brif 414 L3428 L3429 -label L3428 +store __and_404_3395 413 +label L3396 +load 414 __and_404_3395 +brif 414 L3393 L3394 +label L3393 load 415 node field 416 415 16 list children iconst 417 1 @@ -67531,11 +67288,11 @@ call 428 pith_cstring_release void 1 427 load 429 cn call 430 pith_struct_release void 1 429 ret 422 -label L3429 -label L3427 -jmp L3419 -label L3421 -label L3419 +label L3394 +label L3392 +jmp L3384 +label L3386 +label L3384 iconst 431 1 load 432 node call 433 pith_struct_release void 1 432 @@ -67546,59 +67303,59 @@ call 437 pith_cstring_release void 1 436 load 438 cn call 439 pith_struct_release void 1 438 ret 431 -label L3418 -label L3416 +label L3383 +label L3381 load 440 node field 441 440 0 string kind strref 442 m18s596 call 443 pith_cstring_eq bool 2 441 442 call 444 pith_cstring_release void 1 442 -brif 443 L3433 L3434 -label L3433 +brif 443 L3398 L3399 +label L3398 load 445 actual_info field 446 445 0 string kind strref 447 m18s28 call 448 pith_cstring_eq bool 2 446 447 call 449 pith_cstring_release void 1 447 -brif 448 L3436 L3437 -label L3436 +brif 448 L3401 L3402 +label L3401 load 450 node field 451 450 16 list children call 452 pith_auto_len int 1 451 iconst 453 0 -store __for_idx_188 453 -store __for_len_188 452 -store __for_iter_188 451 -label L3438 -load 454 __for_idx_188 -load 455 __for_len_188 +store __for_idx_187 453 +store __for_len_187 452 +store __for_iter_187 451 +label L3403 +load 454 __for_idx_187 +load 455 __for_len_187 lt 456 454 455 -brif 456 L3439 L3441 -label L3439 -load 457 __for_iter_188 -load 458 __for_idx_188 +brif 456 L3404 L3406 +label L3404 +load 457 __for_iter_187 +load 458 __for_idx_187 call 459 pith_list_get_value unknown 2 457 458 -store __loopvar_188_child 459 -load 460 __for_idx_188 -store __loopvar_188_i 460 -load 461 __loopvar_188_i +store __loopvar_187_child 459 +load 460 __for_idx_187 +store __loopvar_187_i 460 +load 461 __loopvar_187_i load 462 actual_info field 463 462 88 list elements call 464 pith_list_len int 1 463 lt 465 461 464 -brif 465 L3443 L3444 -label L3443 -load 466 __loopvar_188_child +brif 465 L3408 L3409 +label L3408 +load 466 __loopvar_187_child load 467 actual_info field 468 467 88 list elements -load 469 __loopvar_188_i +load 469 __loopvar_187_i call 470 pith_list_get_value_strict int 2 468 469 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 L3446 L3447 -label L3446 +brif 474 L3411 L3412 +label L3411 iconst 475 0 load 476 node call 477 pith_struct_release void 1 476 @@ -67609,21 +67366,21 @@ call 481 pith_cstring_release void 1 480 load 482 cn call 483 pith_struct_release void 1 482 ret 475 -label L3447 -label L3445 -jmp L3442 -label L3444 -label L3442 -label L3440 -load 484 __for_idx_188 +label L3412 +label L3410 +jmp L3407 +label L3409 +label L3407 +label L3405 +load 484 __for_idx_187 iconst 485 1 add 486 484 485 -store __for_idx_188 486 -jmp L3438 -label L3441 -jmp L3435 -label L3437 -label L3435 +store __for_idx_187 486 +jmp L3403 +label L3406 +jmp L3400 +label L3402 +label L3400 iconst 487 1 load 488 node call 489 pith_struct_release void 1 488 @@ -67634,43 +67391,43 @@ call 493 pith_cstring_release void 1 492 load 494 cn call 495 pith_struct_release void 1 494 ret 487 -label L3434 -label L3432 +label L3399 +label L3397 load 496 node field 497 496 0 string kind strref 498 m18s595 call 499 pith_cstring_eq bool 2 497 498 call 500 pith_cstring_release void 1 498 -brif 499 L3449 L3450 -label L3449 +brif 499 L3414 L3415 +label L3414 load 501 actual_info field 502 501 0 string kind strref 503 m18s32 call 504 pith_cstring_eq bool 2 502 503 call 505 pith_cstring_release void 1 503 -brif 504 L3452 L3453 -label L3452 +brif 504 L3417 L3418 +label L3417 load 506 node field 507 506 16 list children call 508 pith_auto_len int 1 507 iconst 509 0 -store __for_idx_189 509 -store __for_len_189 508 -store __for_iter_189 507 -label L3454 -load 510 __for_idx_189 -load 511 __for_len_189 +store __for_idx_188 509 +store __for_len_188 508 +store __for_iter_188 507 +label L3419 +load 510 __for_idx_188 +load 511 __for_len_188 lt 512 510 511 -brif 512 L3455 L3457 -label L3455 -load 513 __for_iter_189 -load 514 __for_idx_189 +brif 512 L3420 L3422 +label L3420 +load 513 __for_iter_188 +load 514 __for_idx_188 call 515 pith_list_get_value unknown 2 513 514 -store __loopvar_189_child 515 -load 516 __for_idx_189 -store __loopvar_189_i 516 +store __loopvar_188_child 515 +load 516 __for_idx_188 +store __loopvar_188_i 516 load 517 cn -load 518 __loopvar_189_child +load 518 __loopvar_188_child call 519 ast_get_node struct:Node 1 518 call 520 pith_struct_release void 1 517 store cn 519 @@ -67679,29 +67436,29 @@ field 522 521 0 string kind strref 523 m18s350 call 524 pith_cstring_eq bool 2 522 523 call 525 pith_cstring_release void 1 523 -brif 524 L3459 L3460 -label L3459 -load 526 __loopvar_189_i +brif 524 L3424 L3425 +label L3424 +load 526 __loopvar_188_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 L3462 L3463 -label L3462 +brif 530 L3427 L3428 +label L3427 load 531 cn field 532 531 16 list children iconst 533 0 call 534 pith_list_get_value_strict int 2 532 533 load 535 actual_info field 536 535 48 list param_types -load 537 __loopvar_189_i +load 537 __loopvar_188_i call 538 pith_list_get_value_strict int 2 536 537 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 L3465 L3466 -label L3465 +brif 542 L3430 L3431 +label L3430 iconst 543 0 load 544 node call 545 pith_struct_release void 1 544 @@ -67712,28 +67469,28 @@ call 549 pith_cstring_release void 1 548 load 550 cn call 551 pith_struct_release void 1 550 ret 543 -label L3466 -label L3464 -jmp L3461 -label L3463 -label L3461 -jmp L3456 -label L3460 -label L3458 +label L3431 +label L3429 +jmp L3426 +label L3428 +label L3426 +jmp L3421 +label L3425 +label L3423 load 552 cn field 553 552 0 string kind strref 554 m18s591 call 555 pith_cstring_eq bool 2 553 554 call 556 pith_cstring_release void 1 554 -brif 555 L3468 L3469 -label L3468 +brif 555 L3433 L3434 +label L3433 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 L3471 L3472 -label L3471 +brif 561 L3436 L3437 +label L3436 load 562 cn field 563 562 16 list children iconst 564 0 @@ -67751,21 +67508,21 @@ call 575 pith_cstring_release void 1 574 load 576 cn call 577 pith_struct_release void 1 576 ret 569 -label L3472 -label L3470 -jmp L3467 -label L3469 -label L3467 -label L3456 -load 578 __for_idx_189 +label L3437 +label L3435 +jmp L3432 +label L3434 +label L3432 +label L3421 +load 578 __for_idx_188 iconst 579 1 add 580 578 579 -store __for_idx_189 580 -jmp L3454 -label L3457 -jmp L3451 -label L3453 -label L3451 +store __for_idx_188 580 +jmp L3419 +label L3422 +jmp L3416 +label L3418 +label L3416 iconst 581 1 load 582 node call 583 pith_struct_release void 1 582 @@ -67776,8 +67533,8 @@ call 587 pith_cstring_release void 1 586 load 588 cn call 589 pith_struct_release void 1 588 ret 581 -label L3450 -label L3448 +label L3415 +label L3413 iconst 590 1 load 591 node call 592 pith_struct_release void 1 591 @@ -67848,63 +67605,63 @@ store arg_types 28 load 30 arg_indices call 31 pith_auto_len int 1 30 iconst 32 0 -store __for_idx_190 32 -store __for_len_190 31 -store __for_iter_190 30 -label L3473 -load 33 __for_idx_190 -load 34 __for_len_190 +store __for_idx_189 32 +store __for_len_189 31 +store __for_iter_189 30 +label L3438 +load 33 __for_idx_189 +load 34 __for_len_189 lt 35 33 34 -brif 35 L3474 L3476 -label L3474 -load 36 __for_iter_190 -load 37 __for_idx_190 +brif 35 L3439 L3441 +label L3439 +load 36 __for_iter_189 +load 37 __for_idx_189 call 38 pith_list_get_value unknown 2 36 37 -store __loopvar_190_ai 38 +store __loopvar_189_ai 38 load 39 arg_node -load 40 __loopvar_190_ai +load 40 __loopvar_189_ai call 41 ast_get_node struct:Node 1 40 call 42 pith_struct_release void 1 39 store arg_node 41 -load 43 __loopvar_190_ai +load 43 __loopvar_189_ai store arg_expr 43 load 44 arg_node field 45 44 0 string kind strref 46 m18s324 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -brif 47 L3478 L3479 -label L3478 +brif 47 L3443 L3444 +label L3443 load 49 arg_node field 50 49 16 list children call 51 pith_list_len int 1 50 iconst 52 0 gt 53 51 52 -brif 53 L3481 L3482 -label L3481 +brif 53 L3446 L3447 +label L3446 load 54 arg_node field 55 54 16 list children iconst 56 0 call 57 pith_list_get_value_strict int 2 55 56 store arg_expr 57 -jmp L3480 -label L3482 -label L3480 -jmp L3477 -label L3479 -label L3477 +jmp L3445 +label L3447 +label L3445 +jmp L3442 +label L3444 +label L3442 load 58 arg_types load 59 arg_expr load 60 scope_id call 61 checker_c_check_expr int 2 59 60 call 62 pith_list_push_value void 2 58 61 -label L3475 -load 63 __for_idx_190 +label L3440 +load 63 __for_idx_189 iconst 64 1 add 65 63 64 -store __for_idx_190 65 -jmp L3473 -label L3476 +store __for_idx_189 65 +jmp L3438 +label L3441 load 66 param_type_nodes call 67 pith_list_new_default list 0 call 68 pith_list_release_handle void 1 66 @@ -67913,21 +67670,21 @@ load 69 decl_node field 70 69 16 list children call 71 pith_auto_len int 1 70 iconst 72 0 -store __for_idx_191 72 -store __for_len_191 71 -store __for_iter_191 70 -label L3483 -load 73 __for_idx_191 -load 74 __for_len_191 +store __for_idx_190 72 +store __for_len_190 71 +store __for_iter_190 70 +label L3448 +load 73 __for_idx_190 +load 74 __for_len_190 lt 75 73 74 -brif 75 L3484 L3486 -label L3484 -load 76 __for_iter_191 -load 77 __for_idx_191 +brif 75 L3449 L3451 +label L3449 +load 76 __for_iter_190 +load 77 __for_idx_190 call 78 pith_list_get_value unknown 2 76 77 -store __loopvar_191_child 78 +store __loopvar_190_child 78 load 79 cn -load 80 __loopvar_191_child +load 80 __loopvar_190_child call 81 ast_get_node struct:Node 1 80 call 82 pith_struct_release void 1 79 store cn 81 @@ -67936,46 +67693,46 @@ field 84 83 0 string kind strref 85 m18s350 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L3488 L3489 -label L3488 +brif 86 L3453 L3454 +label L3453 load 88 cn field 89 88 16 list children call 90 pith_list_len int 1 89 iconst 91 0 gt 92 90 91 -brif 92 L3491 L3492 -label L3491 +brif 92 L3456 L3457 +label L3456 load 93 param_type_nodes load 94 cn field 95 94 16 list children iconst 96 0 call 97 pith_list_get_value_strict int 2 95 96 call 98 pith_list_push_value void 2 93 97 -jmp L3490 -label L3492 +jmp L3455 +label L3457 load 99 param_type_nodes iconst 100 1 iconst 102 0 sub 101 102 100 call 103 pith_list_push_value void 2 99 101 -label L3490 -jmp L3487 -label L3489 -label L3487 -label L3485 -load 104 __for_idx_191 +label L3455 +jmp L3452 +label L3454 +label L3452 +label L3450 +load 104 __for_idx_190 iconst 105 1 add 106 104 105 -store __for_idx_191 106 -jmp L3483 -label L3486 +store __for_idx_190 106 +jmp L3448 +label L3451 load 107 arg_types call 108 pith_list_len int 1 107 load 109 param_type_nodes call 110 pith_list_len int 1 109 neq 111 108 110 -brif 111 L3494 L3495 -label L3494 +brif 111 L3459 L3460 +label L3459 strref 112 m18s333 strref 113 m18s594 load 114 param_type_nodes @@ -68021,8 +67778,8 @@ call 153 pith_list_release_handle void 1 152 load 154 pnode call 155 pith_struct_release void 1 154 ret 133 -label L3495 -label L3493 +label L3460 +label L3458 call 156 pith_map_new_default map 0 store checker_generic_inference_subst 156 iconst 157 0 @@ -68030,37 +67787,37 @@ store pidx 157 load 158 param_type_nodes call 159 pith_auto_len int 1 158 iconst 160 0 -store __for_idx_192 160 -store __for_len_192 159 -store __for_iter_192 158 -label L3496 -load 161 __for_idx_192 -load 162 __for_len_192 +store __for_idx_191 160 +store __for_len_191 159 +store __for_iter_191 158 +label L3461 +load 161 __for_idx_191 +load 162 __for_len_191 lt 163 161 162 -brif 163 L3497 L3499 -label L3497 -load 164 __for_iter_192 -load 165 __for_idx_192 +brif 163 L3462 L3464 +label L3462 +load 164 __for_iter_191 +load 165 __for_idx_191 call 166 pith_list_get_value unknown 2 164 165 -store __loopvar_192_ptn 166 +store __loopvar_191_ptn 166 iconst 167 0 -store __and_167_3503 167 -load 168 __loopvar_192_ptn +store __and_167_3468 167 +load 168 __loopvar_191_ptn iconst 169 0 gte 170 168 169 -store __and_167_3503 170 -brif 170 L3503 L3504 -label L3503 +store __and_167_3468 170 +brif 170 L3468 L3469 +label L3468 load 171 pidx load 172 arg_types call 173 pith_list_len int 1 172 lt 174 171 173 -store __and_167_3503 174 -label L3504 -load 175 __and_167_3503 -brif 175 L3501 L3502 -label L3501 -load 176 __loopvar_192_ptn +store __and_167_3468 174 +label L3469 +load 175 __and_167_3468 +brif 175 L3466 L3467 +label L3466 +load 176 __loopvar_191_ptn load 177 arg_types load 178 pidx call 179 pith_list_get_value_strict int 2 177 178 @@ -68068,8 +67825,8 @@ load 180 generic_params call 181 checker_infer_generic_subst_from_type_node bool 3 176 179 180 iconst 182 0 eq 183 181 182 -brif 183 L3506 L3507 -label L3506 +brif 183 L3471 L3472 +label L3471 load 184 types_TID_ERR load 185 decl_node call 186 pith_struct_release void 1 185 @@ -68094,22 +67851,22 @@ call 204 pith_list_release_handle void 1 203 load 205 pnode call 206 pith_struct_release void 1 205 ret 184 -label L3507 -label L3505 -jmp L3500 -label L3502 -label L3500 +label L3472 +label L3470 +jmp L3465 +label L3467 +label L3465 load 207 pidx iconst 208 1 add 209 207 208 store pidx 209 -label L3498 -load 210 __for_idx_192 +label L3463 +load 210 __for_idx_191 iconst 211 1 add 212 210 211 -store __for_idx_192 212 -jmp L3496 -label L3499 +store __for_idx_191 212 +jmp L3461 +label L3464 load 213 decl_node load 214 generic_params call 215 checker_infer_subst_from_bounds void 2 213 214 @@ -68122,36 +67879,36 @@ store all_inferred 219 load 220 generic_params call 221 pith_auto_len int 1 220 iconst 222 0 -store __for_idx_193 222 -store __for_len_193 221 -store __for_iter_193 220 -label L3508 -load 223 __for_idx_193 -load 224 __for_len_193 +store __for_idx_192 222 +store __for_len_192 221 +store __for_iter_192 220 +label L3473 +load 223 __for_idx_192 +load 224 __for_len_192 lt 225 223 224 -brif 225 L3509 L3511 -label L3509 -load 226 __for_iter_193 -load 227 __for_idx_193 +brif 225 L3474 L3476 +label L3474 +load 226 __for_iter_192 +load 227 __for_idx_192 call 228 pith_list_get_value_unchecked string 2 226 227 -store __loopvar_193_gp 228 +store __loopvar_192_gp 228 load 229 normalized_gp -load 230 __loopvar_193_gp +load 230 __loopvar_192_gp call 231 checker_trim_type_text string 1 230 call 232 pith_cstring_release void 1 229 store normalized_gp 231 load 233 checker_generic_inference_subst load 234 normalized_gp call 235 contains_key bool 2 233 234 -brif 235 L3513 L3514 -label L3513 +brif 235 L3478 L3479 +label L3478 load 236 subst_args load 237 checker_generic_inference_subst load 238 normalized_gp call 239 map_get_strict int 2 237 238 call 240 pith_list_push_value void 2 236 239 -jmp L3512 -label L3514 +jmp L3477 +label L3479 iconst 241 0 store all_inferred 241 load 242 debug_args @@ -68161,30 +67918,30 @@ store debug_args 243 load 245 arg_types call 246 pith_auto_len int 1 245 iconst 247 0 -store __for_idx_194 247 -store __for_len_194 246 -store __for_iter_194 245 -label L3515 -load 248 __for_idx_194 -load 249 __for_len_194 +store __for_idx_193 247 +store __for_len_193 246 +store __for_iter_193 245 +label L3480 +load 248 __for_idx_193 +load 249 __for_len_193 lt 250 248 249 -brif 250 L3516 L3518 -label L3516 -load 251 __for_iter_194 -load 252 __for_idx_194 +brif 250 L3481 L3483 +label L3481 +load 251 __for_iter_193 +load 252 __for_idx_193 call 253 pith_list_get_value unknown 2 251 252 -store __loopvar_194_arg_tid 253 +store __loopvar_193_arg_tid 253 load 254 debug_args -load 255 __loopvar_194_arg_tid +load 255 __loopvar_193_arg_tid call 256 types_get_type_name string 1 255 call 257 pith_list_push_value_owned void 2 254 256 -label L3517 -load 258 __for_idx_194 +label L3482 +load 258 __for_idx_193 iconst 259 1 add 260 258 259 -store __for_idx_194 260 -jmp L3515 -label L3518 +store __for_idx_193 260 +jmp L3480 +label L3483 load 261 debug_params call 262 pith_list_new_cstr list 0 call 263 pith_list_release_handle void 1 261 @@ -68192,26 +67949,26 @@ store debug_params 262 load 264 param_type_nodes call 265 pith_auto_len int 1 264 iconst 266 0 -store __for_idx_195 266 -store __for_len_195 265 -store __for_iter_195 264 -label L3519 -load 267 __for_idx_195 -load 268 __for_len_195 +store __for_idx_194 266 +store __for_len_194 265 +store __for_iter_194 264 +label L3484 +load 267 __for_idx_194 +load 268 __for_len_194 lt 269 267 268 -brif 269 L3520 L3522 -label L3520 -load 270 __for_iter_195 -load 271 __for_idx_195 +brif 269 L3485 L3487 +label L3485 +load 270 __for_iter_194 +load 271 __for_idx_194 call 272 pith_list_get_value unknown 2 270 271 -store __loopvar_195_ptn 272 -load 273 __loopvar_195_ptn +store __loopvar_194_ptn 272 +load 273 __loopvar_194_ptn iconst 274 0 gte 275 273 274 -brif 275 L3524 L3525 -label L3524 +brif 275 L3489 L3490 +label L3489 load 276 pnode -load 277 __loopvar_195_ptn +load 277 __loopvar_194_ptn call 278 ast_get_node struct:Node 1 277 call 279 pith_struct_release void 1 276 store pnode 278 @@ -68226,19 +67983,19 @@ field 287 286 8 string value concat 288 284 287 call 289 pith_cstring_release void 1 284 call 290 pith_list_push_value_owned void 2 280 288 -jmp L3523 -label L3525 -label L3523 -label L3521 -load 291 __for_idx_195 +jmp L3488 +label L3490 +label L3488 +label L3486 +load 291 __for_idx_194 iconst 292 1 add 293 291 292 -store __for_idx_195 293 -jmp L3519 -label L3522 +store __for_idx_194 293 +jmp L3484 +label L3487 strref 294 m18s593 strref 295 m18s592 -load 296 __loopvar_193_gp +load 296 __loopvar_192_gp concat 297 295 296 call 298 pith_cstring_release void 1 295 call 299 checker_diagnostics_report_error void 2 294 297 @@ -68268,21 +68025,21 @@ call 322 pith_list_release_handle void 1 321 load 323 pnode call 324 pith_struct_release void 1 323 ret 302 -label L3512 -label L3510 -load 325 __for_idx_193 +label L3477 +label L3475 +load 325 __for_idx_192 iconst 326 1 add 327 325 326 -store __for_idx_193 327 -jmp L3508 -label L3511 +store __for_idx_192 327 +jmp L3473 +label L3476 load 328 decl_idx load 329 checker_generic_inference_subst call 330 checker_check_type_parameter_bounds bool 2 328 329 iconst 331 0 eq 332 330 331 -brif 332 L3527 L3528 -label L3527 +brif 332 L3492 L3493 +label L3492 load 333 types_TID_ERR load 334 decl_node call 335 pith_struct_release void 1 334 @@ -68307,29 +68064,29 @@ call 353 pith_list_release_handle void 1 352 load 354 pnode call 355 pith_struct_release void 1 354 ret 333 -label L3528 -label L3526 +label L3493 +label L3491 load 356 types_TID_VOID store ret_type 356 load 357 decl_node field 358 357 16 list children call 359 pith_auto_len int 1 358 iconst 360 0 -store __for_idx_196 360 -store __for_len_196 359 -store __for_iter_196 358 -label L3529 -load 361 __for_idx_196 -load 362 __for_len_196 +store __for_idx_195 360 +store __for_len_195 359 +store __for_iter_195 358 +label L3494 +load 361 __for_idx_195 +load 362 __for_len_195 lt 363 361 362 -brif 363 L3530 L3532 -label L3530 -load 364 __for_iter_196 -load 365 __for_idx_196 +brif 363 L3495 L3497 +label L3495 +load 364 __for_iter_195 +load 365 __for_idx_195 call 366 pith_list_get_value unknown 2 364 365 -store __loopvar_196_child 366 +store __loopvar_195_child 366 load 367 cn -load 368 __loopvar_196_child +load 368 __loopvar_195_child call 369 ast_get_node struct:Node 1 368 call 370 pith_struct_release void 1 367 store cn 369 @@ -68338,8 +68095,8 @@ field 372 371 0 string kind strref 373 m18s591 call 374 pith_cstring_eq bool 2 372 373 call 375 pith_cstring_release void 1 373 -brif 374 L3534 L3535 -label L3534 +brif 374 L3499 L3500 +label L3499 load 376 cn field 377 376 16 list children iconst 378 0 @@ -68348,46 +68105,46 @@ load 380 generic_params load 381 subst_args call 382 checker_resolve_type_with_substitution_map int 3 379 380 381 store ret_type 382 -jmp L3533 -label L3535 -label L3533 -label L3531 -load 383 __for_idx_196 +jmp L3498 +label L3500 +label L3498 +label L3496 +load 383 __for_idx_195 iconst 384 1 add 385 383 384 -store __for_idx_196 385 -jmp L3529 -label L3532 +store __for_idx_195 385 +jmp L3494 +label L3497 iconst 386 0 store vidx 386 load 387 param_type_nodes call 388 pith_auto_len int 1 387 iconst 389 0 -store __for_idx_197 389 -store __for_len_197 388 -store __for_iter_197 387 -label L3536 -load 390 __for_idx_197 -load 391 __for_len_197 +store __for_idx_196 389 +store __for_len_196 388 +store __for_iter_196 387 +label L3501 +load 390 __for_idx_196 +load 391 __for_len_196 lt 392 390 391 -brif 392 L3537 L3539 -label L3537 -load 393 __for_iter_197 -load 394 __for_idx_197 +brif 392 L3502 L3504 +label L3502 +load 393 __for_iter_196 +load 394 __for_idx_196 call 395 pith_list_get_value unknown 2 393 394 -store __loopvar_197_ptn 395 -load 396 __loopvar_197_ptn +store __loopvar_196_ptn 395 +load 396 __loopvar_196_ptn iconst 397 0 gte 398 396 397 -brif 398 L3541 L3542 -label L3541 +brif 398 L3506 L3507 +label L3506 load 399 vidx load 400 arg_types call 401 pith_list_len int 1 400 lt 402 399 401 -brif 402 L3544 L3545 -label L3544 -load 403 __loopvar_197_ptn +brif 402 L3509 L3510 +label L3509 +load 403 __loopvar_196_ptn load 404 generic_params load 405 subst_args call 406 checker_resolve_type_with_substitution_map int 3 403 404 405 @@ -68396,23 +68153,23 @@ load 407 concrete call 408 types_is_error_type bool 1 407 iconst 409 0 eq 410 408 409 -brif 410 L3547 L3548 -label L3547 +brif 410 L3512 L3513 +label L3512 load 411 arg_types load 412 vidx call 413 pith_list_get_value_strict int 2 411 412 call 414 types_is_error_type bool 1 413 iconst 415 0 eq 416 414 415 -brif 416 L3550 L3551 -label L3550 +brif 416 L3515 L3516 +label L3515 load 417 arg_types load 418 vidx call 419 pith_list_get_value_strict int 2 417 418 load 420 concrete neq 421 419 420 -brif 421 L3553 L3554 -label L3553 +brif 421 L3518 L3519 +label L3518 load 422 arg_indices load 423 vidx call 424 pith_list_get_value_strict int 2 422 423 @@ -68424,8 +68181,8 @@ load 429 concrete call 430 checker_argument_widens_to_optional bool 3 425 428 429 iconst 431 0 eq 432 430 431 -brif 432 L3556 L3557 -label L3556 +brif 432 L3521 L3522 +label L3521 load 433 arg_types load 434 vidx call 435 pith_list_get_value_strict int 2 433 434 @@ -68433,8 +68190,8 @@ load 436 concrete call 437 checker_types_structurally_equal bool 2 435 436 iconst 438 0 eq 439 437 438 -brif 439 L3559 L3560 -label L3559 +brif 439 L3524 L3525 +label L3524 strref 440 m18s330 strref 441 m18s477 load 442 concrete @@ -68456,38 +68213,38 @@ call 457 pith_cstring_release void 1 454 call 458 checker_diagnostics_report_error void 2 440 455 call 459 pith_cstring_release void 1 440 call 460 pith_cstring_release void 1 455 -jmp L3558 -label L3560 -label L3558 -jmp L3555 -label L3557 -label L3555 -jmp L3552 -label L3554 -label L3552 -jmp L3549 -label L3551 -label L3549 -jmp L3546 -label L3548 -label L3546 -jmp L3543 -label L3545 -label L3543 -jmp L3540 -label L3542 -label L3540 +jmp L3523 +label L3525 +label L3523 +jmp L3520 +label L3522 +label L3520 +jmp L3517 +label L3519 +label L3517 +jmp L3514 +label L3516 +label L3514 +jmp L3511 +label L3513 +label L3511 +jmp L3508 +label L3510 +label L3508 +jmp L3505 +label L3507 +label L3505 load 461 vidx iconst 462 1 add 463 461 462 store vidx 463 -label L3538 -load 464 __for_idx_197 +label L3503 +load 464 __for_idx_196 iconst 465 1 add 466 464 465 -store __for_idx_197 466 -jmp L3536 -label L3539 +store __for_idx_196 466 +jmp L3501 +label L3504 load 467 ret_type load 468 decl_node call 469 pith_struct_release void 1 468 @@ -68553,21 +68310,21 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_198 11 -store __for_len_198 10 -store __for_iter_198 9 -label L3561 -load 12 __for_idx_198 -load 13 __for_len_198 +store __for_idx_197 11 +store __for_len_197 10 +store __for_iter_197 9 +label L3526 +load 12 __for_idx_197 +load 13 __for_len_197 lt 14 12 13 -brif 14 L3562 L3564 -label L3562 -load 15 __for_iter_198 -load 16 __for_idx_198 +brif 14 L3527 L3529 +label L3527 +load 15 __for_iter_197 +load 16 __for_idx_197 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_198_child 17 +store __loopvar_197_child 17 load 18 cn -load 19 __loopvar_198_child +load 19 __loopvar_197_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 @@ -68576,15 +68333,15 @@ field 23 22 0 string kind strref 24 m18s350 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L3566 L3567 -label L3566 +brif 25 L3531 L3532 +label L3531 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 L3569 L3570 -label L3569 +brif 31 L3534 L3535 +label L3534 load 32 out load 33 cn field 34 33 16 list children @@ -68594,22 +68351,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 L3568 -label L3570 +jmp L3533 +label L3535 load 41 out load 42 types_TID_ERR call 43 pith_list_push_value void 2 41 42 -label L3568 -jmp L3565 -label L3567 -label L3565 -label L3563 -load 44 __for_idx_198 +label L3533 +jmp L3530 +label L3532 +label L3530 +label L3528 +load 44 __for_idx_197 iconst 45 1 add 46 44 45 -store __for_idx_198 46 -jmp L3561 -label L3564 +store __for_idx_197 46 +jmp L3526 +label L3529 load 47 out load 48 cn call 49 pith_struct_release void 1 48 @@ -68631,21 +68388,21 @@ load 4 node field 5 4 16 list children call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_199 7 -store __for_len_199 6 -store __for_iter_199 5 -label L3571 -load 8 __for_idx_199 -load 9 __for_len_199 +store __for_idx_198 7 +store __for_len_198 6 +store __for_iter_198 5 +label L3536 +load 8 __for_idx_198 +load 9 __for_len_198 lt 10 8 9 -brif 10 L3572 L3574 -label L3572 -load 11 __for_iter_199 -load 12 __for_idx_199 +brif 10 L3537 L3539 +label L3537 +load 11 __for_iter_198 +load 12 __for_idx_198 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_199_child 13 +store __loopvar_198_child 13 load 14 cn -load 15 __loopvar_199_child +load 15 __loopvar_198_child call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 14 store cn 16 @@ -68654,15 +68411,15 @@ field 19 18 0 string kind strref 20 m18s591 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L3576 L3577 -label L3576 +brif 21 L3541 L3542 +label L3541 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 L3579 L3580 -label L3579 +brif 27 L3544 L3545 +label L3544 load 28 cn field 29 28 16 list children iconst 30 0 @@ -68673,18 +68430,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 L3580 -label L3578 -jmp L3575 -label L3577 -label L3575 -label L3573 -load 37 __for_idx_199 +label L3545 +label L3543 +jmp L3540 +label L3542 +label L3540 +label L3538 +load 37 __for_idx_198 iconst 38 1 add 39 37 38 -store __for_idx_199 39 -jmp L3571 -label L3574 +store __for_idx_198 39 +jmp L3536 +label L3539 load 40 types_TID_VOID load 41 cn call 42 pith_struct_release void 1 41 @@ -68694,6 +68451,28 @@ call 44 pith_struct_release void 1 43 iconst 45 0 ret 45 endfunc +func checker_normalized_method_name 1 string +param raw +load 1 raw +strref 2 m18s124 +call 3 pith_cstring_starts_with bool 2 1 2 +call 4 pith_cstring_release void 1 2 +brif 3 L3547 L3548 +label L3547 +load 5 raw +iconst 6 1 +load 7 raw +call 8 string_len int 1 7 +call 9 pith_cstring_substring string 3 5 6 8 +ret 9 +label L3548 +label L3546 +load 10 raw +call 11 pith_cstring_retain void 1 10 +ret 10 +iconst 12 0 +ret 12 +endfunc func checker_argument_expression_index 1 int param arg_idx iconst 1 0 @@ -68704,25 +68483,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_3584 6 +store __and_6_3552 6 load 7 arg_node field 8 7 0 string kind strref 9 m18s324 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_3584 10 -brif 10 L3584 L3585 -label L3584 +store __and_6_3552 10 +brif 10 L3552 L3553 +label L3552 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_3584 16 -label L3585 -load 17 __and_6_3584 -brif 17 L3582 L3583 -label L3582 +store __and_6_3552 16 +label L3553 +load 17 __and_6_3552 +brif 17 L3550 L3551 +label L3550 load 18 arg_node field 19 18 16 list children iconst 20 0 @@ -68730,8 +68509,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 L3583 -label L3581 +label L3551 +label L3549 load 24 arg_idx load 25 arg_node call 26 pith_struct_release void 1 25 @@ -68766,8 +68545,8 @@ load 18 arg_indices call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3587 L3588 -label L3587 +brif 21 L3555 L3556 +label L3555 load 22 arg_indices iconst 23 0 call 24 pith_list_get_value_strict int 2 22 23 @@ -68779,8 +68558,8 @@ load 28 recv_type call 29 types_is_error_type bool 1 28 iconst 30 0 eq 31 29 30 -brif 31 L3590 L3591 -label L3590 +brif 31 L3558 L3559 +label L3558 load 32 checker_method_type_map load 33 recv_type call 34 types_get_type_name string 1 33 @@ -68793,8 +68572,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 L3593 L3594 -label L3593 +brif 42 L3561 L3562 +label L3561 strref 44 m18s586 load 45 message strref 46 m18s376 @@ -68828,14 +68607,14 @@ load 73 message call 74 pith_cstring_release void 1 73 iconst 75 0 ret 75 -label L3594 -label L3592 -jmp L3589 -label L3591 -label L3589 -jmp L3586 -label L3588 -label L3586 +label L3562 +label L3560 +jmp L3557 +label L3559 +label L3557 +jmp L3554 +label L3556 +label L3554 strref 76 m18s586 load 77 message call 78 checker_diagnostics_report_error void 2 76 77 @@ -68860,27 +68639,27 @@ store binding_index 8 load 9 binding_index iconst 10 0 lt 11 9 10 -brif 11 L3596 L3597 -label L3596 +brif 11 L3564 L3565 +label L3564 load 12 types_TID_ERR load 13 literal_kind call 14 pith_cstring_release void 1 13 ret 12 -label L3597 -label L3595 +label L3565 +label L3563 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 L3599 L3600 -label L3599 +brif 19 L3567 L3568 +label L3567 load 20 types_TID_ERR load 21 literal_kind call 22 pith_cstring_release void 1 21 ret 20 -label L3600 -label L3598 +label L3568 +label L3566 load 23 checker_open_empty_literal_bindings load 24 binding_index call 25 map_get_ikey_strict int 2 23 24 @@ -68895,35 +68674,35 @@ store literal_kind 29 load 32 types_TID_ERR store refined 32 iconst 33 0 -store __and_33_3604 33 +store __and_33_3572 33 iconst 34 0 -store __and_34_3604 34 +store __and_34_3572 34 load 35 literal_kind strref 36 m18s23 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __and_34_3604 37 -brif 37 L3604 L3605 -label L3604 +store __and_34_3572 37 +brif 37 L3572 L3573 +label L3572 load 39 method strref 40 m18s546 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __and_34_3604 41 -label L3605 -load 43 __and_34_3604 -store __and_33_3604 43 -brif 43 L3606 L3607 -label L3606 +store __and_34_3572 41 +label L3573 +load 43 __and_34_3572 +store __and_33_3572 43 +brif 43 L3574 L3575 +label L3574 load 44 args call 45 pith_list_len int 1 44 iconst 46 1 eq 47 45 46 -store __and_33_3604 47 -label L3607 -load 48 __and_33_3604 -brif 48 L3602 L3603 -label L3602 +store __and_33_3572 47 +label L3575 +load 48 __and_33_3572 +brif 48 L3570 L3571 +label L3570 load 49 args iconst 50 0 call 51 pith_list_get_value_strict int 2 49 50 @@ -68935,46 +68714,46 @@ load 55 elem call 56 types_is_error_type bool 1 55 iconst 57 0 eq 58 56 57 -brif 58 L3609 L3610 -label L3609 +brif 58 L3577 L3578 +label L3577 load 59 elem call 60 checker_type_intern_intern_list_type int 1 59 store refined 60 -jmp L3608 -label L3610 -label L3608 -jmp L3601 -label L3603 +jmp L3576 +label L3578 +label L3576 +jmp L3569 +label L3571 iconst 61 0 -store __and_61_3613 61 +store __and_61_3581 61 iconst 62 0 -store __and_62_3613 62 +store __and_62_3581 62 load 63 literal_kind strref 64 m18s19 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __and_62_3613 65 -brif 65 L3613 L3614 -label L3613 +store __and_62_3581 65 +brif 65 L3581 L3582 +label L3581 load 67 method strref 68 m18s514 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -store __and_62_3613 69 -label L3614 -load 71 __and_62_3613 -store __and_61_3613 71 -brif 71 L3615 L3616 -label L3615 +store __and_62_3581 69 +label L3582 +load 71 __and_62_3581 +store __and_61_3581 71 +brif 71 L3583 L3584 +label L3583 load 72 args call 73 pith_list_len int 1 72 iconst 74 1 eq 75 73 74 -store __and_61_3613 75 -label L3616 -load 76 __and_61_3613 -brif 76 L3611 L3612 -label L3611 +store __and_61_3581 75 +label L3584 +load 76 __and_61_3581 +brif 76 L3579 L3580 +label L3579 load 77 args iconst 78 0 call 79 pith_list_get_value_strict int 2 77 78 @@ -68986,46 +68765,46 @@ load 83 elem call 84 types_is_error_type bool 1 83 iconst 85 0 eq 86 84 85 -brif 86 L3618 L3619 -label L3618 +brif 86 L3586 L3587 +label L3586 load 87 elem call 88 checker_type_intern_intern_set_type int 1 87 store refined 88 -jmp L3617 -label L3619 -label L3617 -jmp L3601 -label L3612 +jmp L3585 +label L3587 +label L3585 +jmp L3569 +label L3580 iconst 89 0 -store __and_89_3622 89 +store __and_89_3590 89 iconst 90 0 -store __and_90_3622 90 +store __and_90_3590 90 load 91 literal_kind strref 92 m18s21 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -store __and_90_3622 93 -brif 93 L3622 L3623 -label L3622 +store __and_90_3590 93 +brif 93 L3590 L3591 +label L3590 load 95 method strref 96 m18s525 call 97 pith_cstring_eq bool 2 95 96 call 98 pith_cstring_release void 1 96 -store __and_90_3622 97 -label L3623 -load 99 __and_90_3622 -store __and_89_3622 99 -brif 99 L3624 L3625 -label L3624 +store __and_90_3590 97 +label L3591 +load 99 __and_90_3590 +store __and_89_3590 99 +brif 99 L3592 L3593 +label L3592 load 100 args call 101 pith_list_len int 1 100 iconst 102 2 eq 103 101 102 -store __and_89_3622 103 -label L3625 -load 104 __and_89_3622 -brif 104 L3620 L3621 -label L3620 +store __and_89_3590 103 +label L3593 +load 104 __and_89_3590 +brif 104 L3588 L3589 +label L3588 load 105 args iconst 106 0 call 107 pith_list_get_value_strict int 2 105 106 @@ -69041,43 +68820,43 @@ load 115 scope_id call 116 checker_c_check_expr int 2 114 115 store value_type 116 iconst 117 0 -store __and_117_3629 117 +store __and_117_3597 117 load 118 key_type call 119 types_is_error_type bool 1 118 iconst 120 0 eq 121 119 120 -store __and_117_3629 121 -brif 121 L3629 L3630 -label L3629 +store __and_117_3597 121 +brif 121 L3597 L3598 +label L3597 load 122 value_type call 123 types_is_error_type bool 1 122 iconst 124 0 eq 125 123 124 -store __and_117_3629 125 -label L3630 -load 126 __and_117_3629 -brif 126 L3627 L3628 -label L3627 +store __and_117_3597 125 +label L3598 +load 126 __and_117_3597 +brif 126 L3595 L3596 +label L3595 load 127 key_type load 128 value_type call 129 checker_type_intern_intern_map_type int 2 127 128 store refined 129 -jmp L3626 -label L3628 -label L3626 -jmp L3601 -label L3621 -label L3601 +jmp L3594 +label L3596 +label L3594 +jmp L3569 +label L3589 +label L3569 load 130 refined call 131 types_is_error_type bool 1 130 -brif 131 L3632 L3633 -label L3632 +brif 131 L3600 L3601 +label L3600 load 132 types_TID_ERR load 133 literal_kind call 134 pith_cstring_release void 1 133 ret 132 -label L3633 -label L3631 +label L3601 +label L3599 load 135 binding_index load 136 refined call 137 scope_set_binding_type_at void 2 135 136 @@ -69110,56 +68889,56 @@ load 3 decl field 4 3 16 list children call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_200 6 -store __for_len_200 5 -store __for_iter_200 4 -label L3634 -load 7 __for_idx_200 -load 8 __for_len_200 +store __for_idx_199 6 +store __for_len_199 5 +store __for_iter_199 4 +label L3602 +load 7 __for_idx_199 +load 8 __for_len_199 lt 9 7 8 -brif 9 L3635 L3637 -label L3635 -load 10 __for_iter_200 -load 11 __for_idx_200 +brif 9 L3603 L3605 +label L3603 +load 10 __for_iter_199 +load 11 __for_idx_199 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_200_child 12 +store __loopvar_199_child 12 load 13 cn -load 14 __loopvar_200_child +load 14 __loopvar_199_child call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store cn 15 iconst 17 0 -store __and_17_3641 17 +store __and_17_3609 17 load 18 cn field 19 18 0 string kind strref 20 m18s308 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __and_17_3641 21 -brif 21 L3641 L3642 -label L3641 +store __and_17_3609 21 +brif 21 L3609 L3610 +label L3609 load 23 cn field 24 23 8 string value load 25 name call 26 checker_strings_equal bool 2 24 25 -store __and_17_3641 26 -label L3642 -load 27 __and_17_3641 -brif 27 L3639 L3640 -label L3639 +store __and_17_3609 26 +label L3610 +load 27 __and_17_3609 +brif 27 L3607 L3608 +label L3607 iconst 28 1 load 29 cn call 30 pith_struct_release void 1 29 ret 28 -label L3640 -label L3638 -label L3636 -load 31 __for_idx_200 +label L3608 +label L3606 +label L3604 +load 31 __for_idx_199 iconst 32 1 add 33 31 32 -store __for_idx_200 33 -jmp L3634 -label L3637 +store __for_idx_199 33 +jmp L3602 +label L3605 iconst 34 0 load 35 cn call 36 pith_struct_release void 1 35 @@ -69180,21 +68959,21 @@ store inner_n 4 iconst 5 0 store ainfo 5 iconst 6 0 -store __or_6_3646 6 +store __or_6_3614 6 load 7 payload_idx iconst 8 0 lt 9 7 8 -store __or_6_3646 9 -brif 9 L3647 L3646 -label L3646 +store __or_6_3614 9 +brif 9 L3615 L3614 +label L3614 load 10 arg_tid iconst 11 0 lt 12 10 11 -store __or_6_3646 12 -label L3647 -load 13 __or_6_3646 -brif 13 L3644 L3645 -label L3644 +store __or_6_3614 12 +label L3615 +load 13 __or_6_3614 +brif 13 L3612 L3613 +label L3612 iconst 14 0 iconst 15 1 sub 16 14 15 @@ -69205,22 +68984,22 @@ call 20 pith_struct_release void 1 19 load 21 ainfo call 22 pith_struct_release void 1 21 ret 16 -label L3645 -label L3643 +label L3613 +label L3611 iconst 23 0 -store __or_23_3651 23 +store __or_23_3619 23 load 24 arg_tid call 25 types_is_error_type bool 1 24 -store __or_23_3651 25 -brif 25 L3652 L3651 -label L3651 +store __or_23_3619 25 +brif 25 L3620 L3619 +label L3619 load 26 arg_tid call 27 types_is_none_type bool 1 26 -store __or_23_3651 27 -label L3652 -load 28 __or_23_3651 -brif 28 L3649 L3650 -label L3649 +store __or_23_3619 27 +label L3620 +load 28 __or_23_3619 +brif 28 L3617 L3618 +label L3617 iconst 29 0 iconst 30 1 sub 31 29 30 @@ -69231,32 +69010,32 @@ call 35 pith_struct_release void 1 34 load 36 ainfo call 37 pith_struct_release void 1 36 ret 31 -label L3650 -label L3648 +label L3618 +label L3616 load 38 tn load 39 payload_idx call 40 ast_get_node struct:Node 1 39 call 41 pith_struct_release void 1 38 store tn 40 iconst 42 0 -store __and_42_3656 42 +store __and_42_3624 42 load 43 tn field 44 43 0 string kind strref 45 m18s584 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __and_42_3656 46 -brif 46 L3656 L3657 -label L3656 +store __and_42_3624 46 +brif 46 L3624 L3625 +label L3624 load 48 tn field 49 48 8 string value load 50 param call 51 checker_strings_equal bool 2 49 50 -store __and_42_3656 51 -label L3657 -load 52 __and_42_3656 -brif 52 L3654 L3655 -label L3654 +store __and_42_3624 51 +label L3625 +load 52 __and_42_3624 +brif 52 L3622 L3623 +label L3622 load 53 arg_tid load 54 tn call 55 pith_struct_release void 1 54 @@ -69265,28 +69044,28 @@ call 57 pith_struct_release void 1 56 load 58 ainfo call 59 pith_struct_release void 1 58 ret 53 -label L3655 -label L3653 +label L3623 +label L3621 iconst 60 0 -store __and_60_3661 60 +store __and_60_3629 60 load 61 tn field 62 61 0 string kind strref 63 m18s585 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __and_60_3661 64 -brif 64 L3661 L3662 -label L3661 +store __and_60_3629 64 +brif 64 L3629 L3630 +label L3629 load 66 tn field 67 66 16 list children call 68 pith_list_len int 1 67 iconst 69 0 gt 70 68 69 -store __and_60_3661 70 -label L3662 -load 71 __and_60_3661 -brif 71 L3659 L3660 -label L3659 +store __and_60_3629 70 +label L3630 +load 71 __and_60_3629 +brif 71 L3627 L3628 +label L3627 load 72 inner_n load 73 tn field 74 73 16 list children @@ -69296,24 +69075,24 @@ call 77 ast_get_node struct:Node 1 76 call 78 pith_struct_release void 1 72 store inner_n 77 iconst 79 0 -store __and_79_3666 79 +store __and_79_3634 79 load 80 inner_n field 81 80 0 string kind strref 82 m18s584 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -store __and_79_3666 83 -brif 83 L3666 L3667 -label L3666 +store __and_79_3634 83 +brif 83 L3634 L3635 +label L3634 load 85 inner_n field 86 85 8 string value load 87 param call 88 checker_strings_equal bool 2 86 87 -store __and_79_3666 88 -label L3667 -load 89 __and_79_3666 -brif 89 L3664 L3665 -label L3664 +store __and_79_3634 88 +label L3635 +load 89 __and_79_3634 +brif 89 L3632 L3633 +label L3632 load 90 ainfo load 91 arg_tid call 92 types_get_type_info struct:TypeInfo 1 91 @@ -69324,8 +69103,8 @@ field 95 94 0 string kind strref 96 m18s30 call 97 pith_cstring_eq bool 2 95 96 call 98 pith_cstring_release void 1 96 -brif 97 L3669 L3670 -label L3669 +brif 97 L3637 L3638 +label L3637 load 99 ainfo field 100 99 64 int inner load 101 tn @@ -69335,8 +69114,8 @@ call 104 pith_struct_release void 1 103 load 105 ainfo call 106 pith_struct_release void 1 105 ret 100 -label L3670 -label L3668 +label L3638 +label L3636 load 107 arg_tid load 108 tn call 109 pith_struct_release void 1 108 @@ -69345,11 +69124,11 @@ call 111 pith_struct_release void 1 110 load 112 ainfo call 113 pith_struct_release void 1 112 ret 107 -label L3665 -label L3663 -jmp L3658 -label L3660 -label L3658 +label L3633 +label L3631 +jmp L3626 +label L3628 +label L3626 iconst 114 0 iconst 115 1 sub 116 114 115 @@ -69378,7 +69157,7 @@ store decl 2 iconst 3 0 store mname 3 iconst 4 0 -store __and_4_3674 4 +store __and_4_3642 4 load 5 val_node field 6 5 0 string kind strref 7 m18s409 @@ -69386,9 +69165,9 @@ 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 __and_4_3674 8 -brif 8 L3674 L3675 -label L3674 +store __and_4_3642 8 +brif 8 L3642 L3643 +label L3642 load 12 val_node field 13 12 0 string kind strref 14 m18s318 @@ -69396,11 +69175,11 @@ call 16 pith_cstring_eq bool 2 13 14 iconst 17 1 sub 15 17 16 call 18 pith_cstring_release void 1 14 -store __and_4_3674 15 -label L3675 -load 19 __and_4_3674 -brif 19 L3672 L3673 -label L3672 +store __and_4_3642 15 +label L3643 +load 19 __and_4_3642 +brif 19 L3640 L3641 +label L3640 strref 20 m18s36 load 21 recv call 22 pith_struct_release void 1 21 @@ -69409,15 +69188,15 @@ call 24 pith_struct_release void 1 23 load 25 mname call 26 pith_cstring_release void 1 25 ret 20 -label L3673 -label L3671 +label L3641 +label L3639 load 27 val_node field 28 27 16 list children call 29 pith_list_len int 1 28 iconst 30 1 lt 31 29 30 -brif 31 L3677 L3678 -label L3677 +brif 31 L3645 L3646 +label L3645 strref 32 m18s36 load 33 recv call 34 pith_struct_release void 1 33 @@ -69426,8 +69205,8 @@ call 36 pith_struct_release void 1 35 load 37 mname call 38 pith_cstring_release void 1 37 ret 32 -label L3678 -label L3676 +label L3646 +label L3644 load 39 recv load 40 val_node field 41 40 16 list children @@ -69443,8 +69222,8 @@ call 50 pith_cstring_eq bool 2 47 48 iconst 51 1 sub 49 51 50 call 52 pith_cstring_release void 1 48 -brif 49 L3680 L3681 -label L3680 +brif 49 L3648 L3649 +label L3648 strref 53 m18s36 load 54 recv call 55 pith_struct_release void 1 54 @@ -69453,15 +69232,15 @@ call 57 pith_struct_release void 1 56 load 58 mname call 59 pith_cstring_release void 1 58 ret 53 -label L3681 -label L3679 +label L3649 +label L3647 load 60 recv field 61 60 8 string value call 62 checker_has_generic_declaration bool 1 61 iconst 63 0 eq 64 62 63 -brif 64 L3683 L3684 -label L3683 +brif 64 L3651 L3652 +label L3651 strref 65 m18s36 load 66 recv call 67 pith_struct_release void 1 66 @@ -69470,8 +69249,8 @@ call 69 pith_struct_release void 1 68 load 70 mname call 71 pith_cstring_release void 1 70 ret 65 -label L3684 -label L3682 +label L3652 +label L3650 load 72 decl load 73 recv field 74 73 8 string value @@ -69486,8 +69265,8 @@ call 82 pith_cstring_eq bool 2 79 80 iconst 83 1 sub 81 83 82 call 84 pith_cstring_release void 1 80 -brif 81 L3686 L3687 -label L3686 +brif 81 L3654 L3655 +label L3654 strref 85 m18s36 load 86 recv call 87 pith_struct_release void 1 86 @@ -69496,706 +69275,599 @@ call 89 pith_struct_release void 1 88 load 90 mname call 91 pith_cstring_release void 1 90 ret 85 -label L3687 -label L3685 +label L3655 +label L3653 load 92 mname load 93 val_node field 94 93 8 string value -call 95 pith_cstring_retain void 1 94 +call 95 checker_normalized_method_name string 1 94 call 96 pith_cstring_release void 1 92 -store mname 94 -load 97 mname -strref 98 m18s124 -call 99 pith_cstring_starts_with bool 2 97 98 -call 100 pith_cstring_release void 1 98 -brif 99 L3689 L3690 -label L3689 -load 101 mname -load 102 mname -iconst 103 1 -load 104 mname -call 105 string_len int 1 104 -call 106 pith_cstring_substring string 3 102 103 105 -call 107 pith_cstring_release void 1 101 -store mname 106 -jmp L3688 -label L3690 -label L3688 -load 108 decl -load 109 mname -call 110 checker_enum_decl_has_variant bool 2 108 109 -brif 110 L3692 L3693 -label L3692 -load 111 recv -field 112 111 8 string value -call 113 pith_cstring_retain void 1 112 -load 114 recv -call 115 pith_struct_release void 1 114 -load 116 decl +store mname 95 +load 97 decl +load 98 mname +call 99 checker_enum_decl_has_variant bool 2 97 98 +brif 99 L3657 L3658 +label L3657 +load 100 recv +field 101 100 8 string value +call 102 pith_cstring_retain void 1 101 +load 103 recv +call 104 pith_struct_release void 1 103 +load 105 decl +call 106 pith_struct_release void 1 105 +load 107 mname +call 108 pith_cstring_release void 1 107 +ret 101 +label L3658 +label L3656 +strref 109 m18s36 +load 110 recv +call 111 pith_struct_release void 1 110 +load 112 decl +call 113 pith_struct_release void 1 112 +load 114 mname +call 115 pith_cstring_release void 1 114 +ret 109 +load 116 recv call 117 pith_struct_release void 1 116 -load 118 mname -call 119 pith_cstring_release void 1 118 -ret 112 -label L3693 -label L3691 -strref 120 m18s36 -load 121 recv -call 122 pith_struct_release void 1 121 -load 123 decl -call 124 pith_struct_release void 1 123 -load 125 mname -call 126 pith_cstring_release void 1 125 -ret 120 -load 127 recv -call 128 pith_struct_release void 1 127 -load 129 decl -call 130 pith_struct_release void 1 129 -load 131 mname -call 132 pith_cstring_release void 1 131 -iconst 133 0 -ret 133 +load 118 decl +call 119 pith_struct_release void 1 118 +load 120 mname +call 121 pith_cstring_release void 1 120 +iconst 122 0 +ret 122 endfunc -func checker_check_generic_enum_variant_construction 5 int -param enum_name +func checker_check_generic_enum_variant_construction 4 int param decl_idx param variant_name param arg_indices param scope_id +iconst 4 0 +store decl 4 iconst 5 0 -store decl 5 +store generic_params 5 iconst 6 0 -store generic_params 6 +store payload_nodes 6 iconst 7 0 -store payload_nodes 7 +store cn 7 iconst 8 0 -store cn 8 +store arg_types 8 iconst 9 0 -store arg_types 9 +store arg_exprs 9 iconst 10 0 -store arg_exprs 10 +store type_args 10 iconst 11 0 -store a_node 11 +store info 11 iconst 12 0 -store type_args 12 -iconst 13 0 -store info 13 -iconst 14 0 -store payload_types 14 -load 15 decl -load 16 decl_idx -call 17 ast_get_node struct:Node 1 16 -call 18 pith_struct_release void 1 15 -store decl 17 -load 19 generic_params -load 20 decl -call 21 checker_collect_generic_parameter_names list_string 1 20 -call 22 pith_list_release_handle void 1 19 -store generic_params 21 -load 23 payload_nodes -call 24 pith_list_new_default list 0 -call 25 pith_list_release_handle void 1 23 -store payload_nodes 24 -iconst 26 0 -store found 26 -load 27 decl -field 28 27 16 list children -call 29 pith_auto_len int 1 28 -iconst 30 0 -store __for_idx_201 30 -store __for_len_201 29 -store __for_iter_201 28 +store payload_types 12 +load 13 decl +load 14 decl_idx +call 15 ast_get_node struct:Node 1 14 +call 16 pith_struct_release void 1 13 +store decl 15 +load 17 generic_params +load 18 decl +call 19 checker_collect_generic_parameter_names list_string 1 18 +call 20 pith_list_release_handle void 1 17 +store generic_params 19 +load 21 payload_nodes +call 22 pith_list_new_default list 0 +call 23 pith_list_release_handle void 1 21 +store payload_nodes 22 +load 24 decl +field 25 24 16 list children +call 26 pith_auto_len int 1 25 +iconst 27 0 +store __for_idx_200 27 +store __for_len_200 26 +store __for_iter_200 25 +label L3659 +load 28 __for_idx_200 +load 29 __for_len_200 +lt 30 28 29 +brif 30 L3660 L3662 +label L3660 +load 31 __for_iter_200 +load 32 __for_idx_200 +call 33 pith_list_get_value unknown 2 31 32 +store __loopvar_200_child 33 +load 34 cn +load 35 __loopvar_200_child +call 36 ast_get_node struct:Node 1 35 +call 37 pith_struct_release void 1 34 +store cn 36 +iconst 38 0 +store __and_38_3666 38 +load 39 cn +field 40 39 0 string kind +strref 41 m18s308 +call 42 pith_cstring_eq bool 2 40 41 +call 43 pith_cstring_release void 1 41 +store __and_38_3666 42 +brif 42 L3666 L3667 +label L3666 +load 44 cn +field 45 44 8 string value +load 46 variant_name +call 47 checker_strings_equal bool 2 45 46 +store __and_38_3666 47 +label L3667 +load 48 __and_38_3666 +brif 48 L3664 L3665 +label L3664 +load 49 cn +field 50 49 16 list children +call 51 pith_auto_len int 1 50 +iconst 52 0 +store __for_idx_201 52 +store __for_len_201 51 +store __for_iter_201 50 +label L3668 +load 53 __for_idx_201 +load 54 __for_len_201 +lt 55 53 54 +brif 55 L3669 L3671 +label L3669 +load 56 __for_iter_201 +load 57 __for_idx_201 +call 58 pith_list_get_value unknown 2 56 57 +store __loopvar_201_vc 58 +load 59 payload_nodes +load 60 __loopvar_201_vc +call 61 pith_list_push_value void 2 59 60 +label L3670 +load 62 __for_idx_201 +iconst 63 1 +add 64 62 63 +store __for_idx_201 64 +jmp L3668 +label L3671 +jmp L3663 +label L3665 +label L3663 +label L3661 +load 65 __for_idx_200 +iconst 66 1 +add 67 65 66 +store __for_idx_200 67 +jmp L3659 +label L3662 +load 68 arg_indices +call 69 pith_list_len int 1 68 +load 70 payload_nodes +call 71 pith_list_len int 1 70 +neq 72 69 71 +brif 72 L3673 L3674 +label L3673 +strref 73 m18s333 +load 74 variant_name +strref 75 m18s583 +concat 76 74 75 +call 77 pith_cstring_release void 1 75 +load 78 payload_nodes +call 79 pith_list_len int 1 78 +call 80 int_to_string string 1 79 +concat 81 76 80 +call 82 pith_cstring_release void 1 76 +call 83 pith_cstring_release void 1 80 +strref 84 m18s582 +concat 85 81 84 +call 86 pith_cstring_release void 1 81 +call 87 pith_cstring_release void 1 84 +load 88 arg_indices +call 89 pith_list_len int 1 88 +call 90 int_to_string string 1 89 +concat 91 85 90 +call 92 pith_cstring_release void 1 85 +call 93 pith_cstring_release void 1 90 +call 94 checker_diagnostics_report_error void 2 73 91 +call 95 pith_cstring_release void 1 73 +call 96 pith_cstring_release void 1 91 +load 97 types_TID_ERR +load 98 decl +call 99 pith_struct_release void 1 98 +load 100 generic_params +call 101 pith_list_release_handle void 1 100 +load 102 payload_nodes +call 103 pith_list_release_handle void 1 102 +load 104 cn +call 105 pith_struct_release void 1 104 +load 106 arg_types +call 107 pith_list_release_handle void 1 106 +load 108 arg_exprs +call 109 pith_list_release_handle void 1 108 +load 110 type_args +call 111 pith_list_release_handle void 1 110 +load 112 info +call 113 pith_struct_release void 1 112 +load 114 payload_types +call 115 pith_list_release_handle void 1 114 +ret 97 +label L3674 +label L3672 +load 116 arg_types +call 117 pith_list_new_default list 0 +call 118 pith_list_release_handle void 1 116 +store arg_types 117 +load 119 arg_exprs +call 120 pith_list_new_default list 0 +call 121 pith_list_release_handle void 1 119 +store arg_exprs 120 +load 122 arg_indices +call 123 pith_auto_len int 1 122 +iconst 124 0 +store __for_idx_202 124 +store __for_len_202 123 +store __for_iter_202 122 +label L3675 +load 125 __for_idx_202 +load 126 __for_len_202 +lt 127 125 126 +brif 127 L3676 L3678 +label L3676 +load 128 __for_iter_202 +load 129 __for_idx_202 +call 130 pith_list_get_value unknown 2 128 129 +store __loopvar_202_ai 130 +load 131 __loopvar_202_ai +call 132 checker_argument_expression_index int 1 131 +store a_expr 132 +load 133 arg_exprs +load 134 a_expr +call 135 pith_list_push_value void 2 133 134 +load 136 arg_types +load 137 a_expr +load 138 scope_id +call 139 checker_c_check_expr int 2 137 138 +call 140 pith_list_push_value void 2 136 139 +label L3677 +load 141 __for_idx_202 +iconst 142 1 +add 143 141 142 +store __for_idx_202 143 +jmp L3675 +label L3678 +load 144 type_args +call 145 pith_list_new_default list 0 +call 146 pith_list_release_handle void 1 144 +store type_args 145 +load 147 generic_params +call 148 pith_auto_len int 1 147 +iconst 149 0 +store __for_idx_203 149 +store __for_len_203 148 +store __for_iter_203 147 +label L3679 +load 150 __for_idx_203 +load 151 __for_len_203 +lt 152 150 151 +brif 152 L3680 L3682 +label L3680 +load 153 __for_iter_203 +load 154 __for_idx_203 +call 155 pith_list_get_value_unchecked string 2 153 154 +store __loopvar_203_param 155 +iconst 156 0 +iconst 157 1 +sub 158 156 157 +store bound 158 +load 159 payload_nodes +call 160 pith_auto_len int 1 159 +iconst 161 0 +store __for_idx_204 161 +store __for_len_204 160 +store __for_iter_204 159 +label L3683 +load 162 __for_idx_204 +load 163 __for_len_204 +lt 164 162 163 +brif 164 L3684 L3686 +label L3684 +load 165 __for_iter_204 +load 166 __for_idx_204 +call 167 pith_list_get_value unknown 2 165 166 +store __loopvar_204_pn 167 +load 168 __for_idx_204 +store __loopvar_204_i 168 +load 169 bound +iconst 170 0 +lt 171 169 170 +brif 171 L3688 L3689 +label L3688 +load 172 __loopvar_204_pn +load 173 __loopvar_203_param +load 174 arg_types +load 175 __loopvar_204_i +call 176 pith_list_get_value_strict int 2 174 175 +call 177 checker_generic_enum_param_binding int 3 172 173 176 +store bound 177 +jmp L3687 +label L3689 +label L3687 +label L3685 +load 178 __for_idx_204 +iconst 179 1 +add 180 178 179 +store __for_idx_204 180 +jmp L3683 +label L3686 +load 181 bound +iconst 182 0 +lt 183 181 182 +brif 183 L3691 L3692 +label L3691 +load 184 types_TID_ERR +load 185 decl +call 186 pith_struct_release void 1 185 +load 187 generic_params +call 188 pith_list_release_handle void 1 187 +load 189 payload_nodes +call 190 pith_list_release_handle void 1 189 +load 191 cn +call 192 pith_struct_release void 1 191 +load 193 arg_types +call 194 pith_list_release_handle void 1 193 +load 195 arg_exprs +call 196 pith_list_release_handle void 1 195 +load 197 type_args +call 198 pith_list_release_handle void 1 197 +load 199 info +call 200 pith_struct_release void 1 199 +load 201 payload_types +call 202 pith_list_release_handle void 1 201 +ret 184 +label L3692 +label L3690 +load 203 type_args +load 204 bound +call 205 pith_list_push_value void 2 203 204 +label L3681 +load 206 __for_idx_203 +iconst 207 1 +add 208 206 207 +store __for_idx_203 208 +jmp L3679 +label L3682 +load 209 decl_idx +load 210 type_args +call 211 checker_instantiate_generic_type int 2 209 210 +store tid 211 +load 212 tid +iconst 213 0 +lt 214 212 213 +brif 214 L3694 L3695 label L3694 -load 31 __for_idx_201 -load 32 __for_len_201 -lt 33 31 32 -brif 33 L3695 L3697 +load 215 types_TID_ERR +load 216 decl +call 217 pith_struct_release void 1 216 +load 218 generic_params +call 219 pith_list_release_handle void 1 218 +load 220 payload_nodes +call 221 pith_list_release_handle void 1 220 +load 222 cn +call 223 pith_struct_release void 1 222 +load 224 arg_types +call 225 pith_list_release_handle void 1 224 +load 226 arg_exprs +call 227 pith_list_release_handle void 1 226 +load 228 type_args +call 229 pith_list_release_handle void 1 228 +load 230 info +call 231 pith_struct_release void 1 230 +load 232 payload_types +call 233 pith_list_release_handle void 1 232 +ret 215 label L3695 -load 34 __for_iter_201 -load 35 __for_idx_201 -call 36 pith_list_get_value unknown 2 34 35 -store __loopvar_201_child 36 -load 37 cn -load 38 __loopvar_201_child -call 39 ast_get_node struct:Node 1 38 -call 40 pith_struct_release void 1 37 -store cn 39 -iconst 41 0 -store __and_41_3701 41 -load 42 cn -field 43 42 0 string kind -strref 44 m18s308 -call 45 pith_cstring_eq bool 2 43 44 -call 46 pith_cstring_release void 1 44 -store __and_41_3701 45 -brif 45 L3701 L3702 +label L3693 +load 234 info +load 235 tid +call 236 types_get_type_info struct:TypeInfo 1 235 +call 237 pith_struct_release void 1 234 +store info 236 +iconst 238 0 +store vi 238 +load 239 info +field 240 239 96 list_string variants +call 241 pith_auto_len int 1 240 +iconst 242 0 +store __for_idx_205 242 +store __for_len_205 241 +store __for_iter_205 240 +label L3696 +load 243 __for_idx_205 +load 244 __for_len_205 +lt 245 243 244 +brif 245 L3697 L3699 +label L3697 +load 246 __for_iter_205 +load 247 __for_idx_205 +call 248 pith_list_get_value_unchecked string 2 246 247 +store __loopvar_205_v 248 +load 249 __loopvar_205_v +load 250 variant_name +call 251 checker_strings_equal bool 2 249 250 +brif 251 L3701 L3702 label L3701 -load 47 cn -field 48 47 8 string value -load 49 variant_name -call 50 checker_strings_equal bool 2 48 49 -store __and_41_3701 50 -label L3702 -load 51 __and_41_3701 -brif 51 L3699 L3700 -label L3699 -iconst 52 1 -store found 52 -load 53 cn -field 54 53 16 list children -call 55 pith_auto_len int 1 54 -iconst 56 0 -store __for_idx_202 56 -store __for_len_202 55 -store __for_iter_202 54 -label L3703 -load 57 __for_idx_202 -load 58 __for_len_202 -lt 59 57 58 -brif 59 L3704 L3706 +load 252 vi +load 253 info +field 254 253 104 list variant_types +call 255 pith_list_len int 1 254 +lt 256 252 255 +brif 256 L3704 L3705 label L3704 -load 60 __for_iter_202 -load 61 __for_idx_202 -call 62 pith_list_get_value unknown 2 60 61 -store __loopvar_202_vc 62 -load 63 payload_nodes -load 64 __loopvar_202_vc -call 65 pith_list_push_value void 2 63 64 -label L3705 -load 66 __for_idx_202 -iconst 67 1 -add 68 66 67 -store __for_idx_202 68 -jmp L3703 +load 257 payload_types +load 258 info +field 259 258 104 list variant_types +load 260 vi +call 261 pith_list_get_value_strict list 2 259 260 +call 262 pith_list_retain_handle void 1 261 +call 263 pith_list_release_handle void 1 257 +store payload_types 261 +iconst 264 0 +store pi 264 +load 265 arg_types +call 266 pith_auto_len int 1 265 +iconst 267 0 +store __for_idx_206 267 +store __for_len_206 266 +store __for_iter_206 265 label L3706 -jmp L3698 -label L3700 -label L3698 -label L3696 -load 69 __for_idx_201 -iconst 70 1 -add 71 69 70 -store __for_idx_201 71 -jmp L3694 -label L3697 -load 72 found -iconst 73 0 -eq 74 72 73 -brif 74 L3708 L3709 -label L3708 -strref 75 m18s378 -load 76 enum_name -strref 77 m18s377 -concat 78 76 77 -call 79 pith_cstring_release void 1 77 -load 80 variant_name -concat 81 78 80 -call 82 pith_cstring_release void 1 78 -strref 83 m18s376 -concat 84 81 83 -call 85 pith_cstring_release void 1 81 -call 86 pith_cstring_release void 1 83 -call 87 checker_diagnostics_report_error void 2 75 84 -call 88 pith_cstring_release void 1 75 -call 89 pith_cstring_release void 1 84 -load 90 types_TID_ERR -load 91 decl -call 92 pith_struct_release void 1 91 -load 93 generic_params -call 94 pith_list_release_handle void 1 93 -load 95 payload_nodes -call 96 pith_list_release_handle void 1 95 -load 97 cn -call 98 pith_struct_release void 1 97 -load 99 arg_types -call 100 pith_list_release_handle void 1 99 -load 101 arg_exprs -call 102 pith_list_release_handle void 1 101 -load 103 a_node -call 104 pith_struct_release void 1 103 -load 105 type_args -call 106 pith_list_release_handle void 1 105 -load 107 info -call 108 pith_struct_release void 1 107 -load 109 payload_types -call 110 pith_list_release_handle void 1 109 -ret 90 -label L3709 +load 268 __for_idx_206 +load 269 __for_len_206 +lt 270 268 269 +brif 270 L3707 L3709 label L3707 -load 111 arg_indices -call 112 pith_list_len int 1 111 -load 113 payload_nodes -call 114 pith_list_len int 1 113 -neq 115 112 114 -brif 115 L3711 L3712 +load 271 __for_iter_206 +load 272 __for_idx_206 +call 273 pith_list_get_value unknown 2 271 272 +store __loopvar_206_at 273 +load 274 pi +load 275 payload_types +call 276 pith_list_len int 1 275 +lt 277 274 276 +brif 277 L3711 L3712 label L3711 -strref 116 m18s333 -load 117 variant_name -strref 118 m18s583 -concat 119 117 118 -call 120 pith_cstring_release void 1 118 -load 121 payload_nodes -call 122 pith_list_len int 1 121 -call 123 int_to_string string 1 122 -concat 124 119 123 -call 125 pith_cstring_release void 1 119 -call 126 pith_cstring_release void 1 123 -strref 127 m18s582 -concat 128 124 127 -call 129 pith_cstring_release void 1 124 -call 130 pith_cstring_release void 1 127 -load 131 arg_indices -call 132 pith_list_len int 1 131 -call 133 int_to_string string 1 132 -concat 134 128 133 -call 135 pith_cstring_release void 1 128 -call 136 pith_cstring_release void 1 133 -call 137 checker_diagnostics_report_error void 2 116 134 -call 138 pith_cstring_release void 1 116 -call 139 pith_cstring_release void 1 134 -load 140 types_TID_ERR -load 141 decl -call 142 pith_struct_release void 1 141 -load 143 generic_params -call 144 pith_list_release_handle void 1 143 -load 145 payload_nodes -call 146 pith_list_release_handle void 1 145 -load 147 cn -call 148 pith_struct_release void 1 147 -load 149 arg_types -call 150 pith_list_release_handle void 1 149 -load 151 arg_exprs -call 152 pith_list_release_handle void 1 151 -load 153 a_node -call 154 pith_struct_release void 1 153 -load 155 type_args -call 156 pith_list_release_handle void 1 155 -load 157 info -call 158 pith_struct_release void 1 157 -load 159 payload_types -call 160 pith_list_release_handle void 1 159 -ret 140 -label L3712 -label L3710 -load 161 arg_types -call 162 pith_list_new_default list 0 -call 163 pith_list_release_handle void 1 161 -store arg_types 162 -load 164 arg_exprs -call 165 pith_list_new_default list 0 -call 166 pith_list_release_handle void 1 164 -store arg_exprs 165 -load 167 arg_indices -call 168 pith_auto_len int 1 167 -iconst 169 0 -store __for_idx_203 169 -store __for_len_203 168 -store __for_iter_203 167 -label L3713 -load 170 __for_idx_203 -load 171 __for_len_203 -lt 172 170 171 -brif 172 L3714 L3716 +iconst 278 0 +store __and_278_3716 278 +load 279 __loopvar_206_at +call 280 types_is_error_type bool 1 279 +iconst 281 0 +eq 282 280 281 +store __and_278_3716 282 +brif 282 L3716 L3717 +label L3716 +load 283 __loopvar_206_at +load 284 payload_types +load 285 pi +call 286 pith_list_get_value_strict int 2 284 285 +neq 287 283 286 +store __and_278_3716 287 +label L3717 +load 288 __and_278_3716 +brif 288 L3714 L3715 label L3714 -load 173 __for_iter_203 -load 174 __for_idx_203 -call 175 pith_list_get_value unknown 2 173 174 -store __loopvar_203_ai 175 -load 176 a_node -load 177 __loopvar_203_ai -call 178 ast_get_node struct:Node 1 177 -call 179 pith_struct_release void 1 176 -store a_node 178 -load 180 __loopvar_203_ai -store a_expr 180 -load 181 a_node -field 182 181 0 string kind -strref 183 m18s324 -call 184 pith_cstring_eq bool 2 182 183 -call 185 pith_cstring_release void 1 183 -brif 184 L3718 L3719 -label L3718 -load 186 a_node -field 187 186 16 list children -call 188 pith_list_len int 1 187 -iconst 189 0 -gt 190 188 189 -brif 190 L3721 L3722 -label L3721 -load 191 a_node -field 192 191 16 list children -iconst 193 0 -call 194 pith_list_get_value_strict int 2 192 193 -store a_expr 194 -jmp L3720 +load 289 arg_exprs +load 290 pi +call 291 pith_list_get_value_strict int 2 289 290 +load 292 __loopvar_206_at +load 293 payload_types +load 294 pi +call 295 pith_list_get_value_strict int 2 293 294 +call 296 checker_value_matches_optional_target bool 3 291 292 295 +iconst 297 0 +eq 298 296 297 +brif 298 L3719 L3720 +label L3719 +load 299 __loopvar_206_at +load 300 payload_types +load 301 pi +call 302 pith_list_get_value_strict int 2 300 301 +call 303 checker_types_structurally_equal bool 2 299 302 +iconst 304 0 +eq 305 303 304 +brif 305 L3722 L3723 label L3722 +strref 306 m18s330 +strref 307 m18s477 +load 308 payload_types +load 309 pi +call 310 pith_list_get_value_strict int 2 308 309 +call 311 types_get_type_name string 1 310 +concat 312 307 311 +call 313 pith_cstring_release void 1 307 +call 314 pith_cstring_release void 1 311 +strref 315 m18s327 +concat 316 312 315 +call 317 pith_cstring_release void 1 312 +call 318 pith_cstring_release void 1 315 +load 319 __loopvar_206_at +call 320 types_get_type_name string 1 319 +concat 321 316 320 +call 322 pith_cstring_release void 1 316 +call 323 pith_cstring_release void 1 320 +call 324 checker_diagnostics_report_error void 2 306 321 +call 325 pith_cstring_release void 1 306 +call 326 pith_cstring_release void 1 321 +jmp L3721 +label L3723 +label L3721 +jmp L3718 label L3720 -jmp L3717 -label L3719 -label L3717 -load 195 arg_exprs -load 196 a_expr -call 197 pith_list_push_value void 2 195 196 -load 198 arg_types -load 199 a_expr -load 200 scope_id -call 201 checker_c_check_expr int 2 199 200 -call 202 pith_list_push_value void 2 198 201 -label L3715 -load 203 __for_idx_203 -iconst 204 1 -add 205 203 204 -store __for_idx_203 205 +label L3718 jmp L3713 -label L3716 -load 206 type_args -call 207 pith_list_new_default list 0 -call 208 pith_list_release_handle void 1 206 -store type_args 207 -load 209 generic_params -call 210 pith_auto_len int 1 209 -iconst 211 0 -store __for_idx_204 211 -store __for_len_204 210 -store __for_iter_204 209 -label L3723 -load 212 __for_idx_204 -load 213 __for_len_204 -lt 214 212 213 -brif 214 L3724 L3726 -label L3724 -load 215 __for_iter_204 -load 216 __for_idx_204 -call 217 pith_list_get_value_unchecked string 2 215 216 -store __loopvar_204_param 217 -iconst 218 0 -iconst 219 1 -sub 220 218 219 -store bound 220 -load 221 payload_nodes -call 222 pith_auto_len int 1 221 -iconst 223 0 -store __for_idx_205 223 -store __for_len_205 222 -store __for_iter_205 221 -label L3727 -load 224 __for_idx_205 -load 225 __for_len_205 -lt 226 224 225 -brif 226 L3728 L3730 -label L3728 -load 227 __for_iter_205 -load 228 __for_idx_205 -call 229 pith_list_get_value unknown 2 227 228 -store __loopvar_205_pn 229 -load 230 __for_idx_205 -store __loopvar_205_i 230 -load 231 bound -iconst 232 0 -lt 233 231 232 -brif 233 L3732 L3733 -label L3732 -load 234 __loopvar_205_pn -load 235 __loopvar_204_param -load 236 arg_types -load 237 __loopvar_205_i -call 238 pith_list_get_value_strict int 2 236 237 -call 239 checker_generic_enum_param_binding int 3 234 235 238 -store bound 239 -jmp L3731 -label L3733 -label L3731 -label L3729 -load 240 __for_idx_205 -iconst 241 1 -add 242 240 241 -store __for_idx_205 242 -jmp L3727 -label L3730 -load 243 bound -iconst 244 0 -lt 245 243 244 -brif 245 L3735 L3736 -label L3735 -load 246 types_TID_ERR -load 247 decl -call 248 pith_struct_release void 1 247 -load 249 generic_params -call 250 pith_list_release_handle void 1 249 -load 251 payload_nodes -call 252 pith_list_release_handle void 1 251 -load 253 cn -call 254 pith_struct_release void 1 253 -load 255 arg_types -call 256 pith_list_release_handle void 1 255 -load 257 arg_exprs -call 258 pith_list_release_handle void 1 257 -load 259 a_node -call 260 pith_struct_release void 1 259 -load 261 type_args -call 262 pith_list_release_handle void 1 261 -load 263 info -call 264 pith_struct_release void 1 263 -load 265 payload_types -call 266 pith_list_release_handle void 1 265 -ret 246 -label L3736 -label L3734 -load 267 type_args -load 268 bound -call 269 pith_list_push_value void 2 267 268 -label L3725 -load 270 __for_idx_204 -iconst 271 1 -add 272 270 271 -store __for_idx_204 272 -jmp L3723 -label L3726 -load 273 decl_idx -load 274 type_args -call 275 checker_instantiate_generic_type int 2 273 274 -store tid 275 -load 276 tid -iconst 277 0 -lt 278 276 277 -brif 278 L3738 L3739 -label L3738 -load 279 types_TID_ERR -load 280 decl -call 281 pith_struct_release void 1 280 -load 282 generic_params -call 283 pith_list_release_handle void 1 282 -load 284 payload_nodes -call 285 pith_list_release_handle void 1 284 -load 286 cn -call 287 pith_struct_release void 1 286 -load 288 arg_types -call 289 pith_list_release_handle void 1 288 -load 290 arg_exprs -call 291 pith_list_release_handle void 1 290 -load 292 a_node -call 293 pith_struct_release void 1 292 -load 294 type_args -call 295 pith_list_release_handle void 1 294 -load 296 info -call 297 pith_struct_release void 1 296 -load 298 payload_types -call 299 pith_list_release_handle void 1 298 -ret 279 -label L3739 -label L3737 -load 300 info -load 301 tid -call 302 types_get_type_info struct:TypeInfo 1 301 -call 303 pith_struct_release void 1 300 -store info 302 -iconst 304 0 -store vi 304 -load 305 info -field 306 305 96 list_string variants -call 307 pith_auto_len int 1 306 -iconst 308 0 -store __for_idx_206 308 -store __for_len_206 307 -store __for_iter_206 306 -label L3740 -load 309 __for_idx_206 -load 310 __for_len_206 -lt 311 309 310 -brif 311 L3741 L3743 -label L3741 -load 312 __for_iter_206 -load 313 __for_idx_206 -call 314 pith_list_get_value_unchecked string 2 312 313 -store __loopvar_206_v 314 -load 315 __loopvar_206_v -load 316 variant_name -call 317 checker_strings_equal bool 2 315 316 -brif 317 L3745 L3746 -label L3745 -load 318 vi -load 319 info -field 320 319 104 list variant_types -call 321 pith_list_len int 1 320 -lt 322 318 321 -brif 322 L3748 L3749 -label L3748 -load 323 payload_types -load 324 info -field 325 324 104 list variant_types -load 326 vi -call 327 pith_list_get_value_strict list 2 325 326 -call 328 pith_list_retain_handle void 1 327 -call 329 pith_list_release_handle void 1 323 -store payload_types 327 -iconst 330 0 -store pi 330 -load 331 arg_types -call 332 pith_auto_len int 1 331 -iconst 333 0 -store __for_idx_207 333 -store __for_len_207 332 -store __for_iter_207 331 -label L3750 -load 334 __for_idx_207 -load 335 __for_len_207 -lt 336 334 335 -brif 336 L3751 L3753 -label L3751 -load 337 __for_iter_207 -load 338 __for_idx_207 -call 339 pith_list_get_value unknown 2 337 338 -store __loopvar_207_at 339 -load 340 pi -load 341 payload_types -call 342 pith_list_len int 1 341 -lt 343 340 342 -brif 343 L3755 L3756 -label L3755 -iconst 344 0 -store __and_344_3760 344 -load 345 __loopvar_207_at -call 346 types_is_error_type bool 1 345 -iconst 347 0 -eq 348 346 347 -store __and_344_3760 348 -brif 348 L3760 L3761 -label L3760 -load 349 __loopvar_207_at -load 350 payload_types -load 351 pi -call 352 pith_list_get_value_strict int 2 350 351 -neq 353 349 352 -store __and_344_3760 353 -label L3761 -load 354 __and_344_3760 -brif 354 L3758 L3759 -label L3758 -load 355 arg_exprs -load 356 pi -call 357 pith_list_get_value_strict int 2 355 356 -load 358 __loopvar_207_at -load 359 payload_types -load 360 pi -call 361 pith_list_get_value_strict int 2 359 360 -call 362 checker_value_matches_optional_target bool 3 357 358 361 -iconst 363 0 -eq 364 362 363 -brif 364 L3763 L3764 -label L3763 -load 365 __loopvar_207_at -load 366 payload_types -load 367 pi -call 368 pith_list_get_value_strict int 2 366 367 -call 369 checker_types_structurally_equal bool 2 365 368 -iconst 370 0 -eq 371 369 370 -brif 371 L3766 L3767 -label L3766 -strref 372 m18s330 -strref 373 m18s477 +label L3715 +label L3713 +jmp L3710 +label L3712 +label L3710 +load 327 pi +iconst 328 1 +add 329 327 328 +store pi 329 +label L3708 +load 330 __for_idx_206 +iconst 331 1 +add 332 330 331 +store __for_idx_206 332 +jmp L3706 +label L3709 +jmp L3703 +label L3705 +label L3703 +jmp L3700 +label L3702 +label L3700 +load 333 vi +iconst 334 1 +add 335 333 334 +store vi 335 +label L3698 +load 336 __for_idx_205 +iconst 337 1 +add 338 336 337 +store __for_idx_205 338 +jmp L3696 +label L3699 +load 339 tid +load 340 decl +call 341 pith_struct_release void 1 340 +load 342 generic_params +call 343 pith_list_release_handle void 1 342 +load 344 payload_nodes +call 345 pith_list_release_handle void 1 344 +load 346 cn +call 347 pith_struct_release void 1 346 +load 348 arg_types +call 349 pith_list_release_handle void 1 348 +load 350 arg_exprs +call 351 pith_list_release_handle void 1 350 +load 352 type_args +call 353 pith_list_release_handle void 1 352 +load 354 info +call 355 pith_struct_release void 1 354 +load 356 payload_types +call 357 pith_list_release_handle void 1 356 +ret 339 +load 358 decl +call 359 pith_struct_release void 1 358 +load 360 generic_params +call 361 pith_list_release_handle void 1 360 +load 362 payload_nodes +call 363 pith_list_release_handle void 1 362 +load 364 cn +call 365 pith_struct_release void 1 364 +load 366 arg_types +call 367 pith_list_release_handle void 1 366 +load 368 arg_exprs +call 369 pith_list_release_handle void 1 368 +load 370 type_args +call 371 pith_list_release_handle void 1 370 +load 372 info +call 373 pith_struct_release void 1 372 load 374 payload_types -load 375 pi -call 376 pith_list_get_value_strict int 2 374 375 -call 377 types_get_type_name string 1 376 -concat 378 373 377 -call 379 pith_cstring_release void 1 373 -call 380 pith_cstring_release void 1 377 -strref 381 m18s327 -concat 382 378 381 -call 383 pith_cstring_release void 1 378 -call 384 pith_cstring_release void 1 381 -load 385 __loopvar_207_at -call 386 types_get_type_name string 1 385 -concat 387 382 386 -call 388 pith_cstring_release void 1 382 -call 389 pith_cstring_release void 1 386 -call 390 checker_diagnostics_report_error void 2 372 387 -call 391 pith_cstring_release void 1 372 -call 392 pith_cstring_release void 1 387 -jmp L3765 -label L3767 -label L3765 -jmp L3762 -label L3764 -label L3762 -jmp L3757 -label L3759 -label L3757 -jmp L3754 -label L3756 -label L3754 -load 393 pi -iconst 394 1 -add 395 393 394 -store pi 395 -label L3752 -load 396 __for_idx_207 -iconst 397 1 -add 398 396 397 -store __for_idx_207 398 -jmp L3750 -label L3753 -jmp L3747 -label L3749 -label L3747 -jmp L3744 -label L3746 -label L3744 -load 399 vi -iconst 400 1 -add 401 399 400 -store vi 401 -label L3742 -load 402 __for_idx_206 -iconst 403 1 -add 404 402 403 -store __for_idx_206 404 -jmp L3740 -label L3743 -load 405 tid -load 406 decl -call 407 pith_struct_release void 1 406 -load 408 generic_params -call 409 pith_list_release_handle void 1 408 -load 410 payload_nodes -call 411 pith_list_release_handle void 1 410 -load 412 cn -call 413 pith_struct_release void 1 412 -load 414 arg_types -call 415 pith_list_release_handle void 1 414 -load 416 arg_exprs -call 417 pith_list_release_handle void 1 416 -load 418 a_node -call 419 pith_struct_release void 1 418 -load 420 type_args -call 421 pith_list_release_handle void 1 420 -load 422 info -call 423 pith_struct_release void 1 422 -load 424 payload_types -call 425 pith_list_release_handle void 1 424 -ret 405 -load 426 decl -call 427 pith_struct_release void 1 426 -load 428 generic_params -call 429 pith_list_release_handle void 1 428 -load 430 payload_nodes -call 431 pith_list_release_handle void 1 430 -load 432 cn -call 433 pith_struct_release void 1 432 -load 434 arg_types -call 435 pith_list_release_handle void 1 434 -load 436 arg_exprs -call 437 pith_list_release_handle void 1 436 -load 438 a_node -call 439 pith_struct_release void 1 438 -load 440 type_args -call 441 pith_list_release_handle void 1 440 -load 442 info -call 443 pith_struct_release void 1 442 -load 444 payload_types -call 445 pith_list_release_handle void 1 444 -iconst 446 0 -ret 446 +call 375 pith_list_release_handle void 1 374 +iconst 376 0 +ret 376 endfunc func checker_check_method_call 2 int param node @@ -70259,8 +69931,8 @@ field 30 29 16 list children call 31 pith_list_len int 1 30 iconst 32 1 lt 33 31 32 -brif 33 L3769 L3770 -label L3769 +brif 33 L3725 L3726 +label L3725 load 34 types_TID_ERR load 35 method_name call 36 pith_cstring_release void 1 35 @@ -70317,3336 +69989,3317 @@ call 86 pith_list_release_handle void 1 85 load 87 arg_node call 88 pith_struct_release void 1 87 ret 34 -label L3770 -label L3768 +label L3726 +label L3724 load 89 method_name load 90 node field 91 90 8 string value -call 92 pith_cstring_retain void 1 91 +call 92 checker_normalized_method_name string 1 91 call 93 pith_cstring_release void 1 89 -store method_name 91 -load 94 method_name -strref 95 m18s124 -call 96 pith_cstring_starts_with bool 2 94 95 -call 97 pith_cstring_release void 1 95 -brif 96 L3772 L3773 -label L3772 -load 98 method_name -load 99 method_name -iconst 100 1 -load 101 method_name -call 102 string_len int 1 101 -call 103 pith_cstring_substring string 3 99 100 102 -call 104 pith_cstring_release void 1 98 -store method_name 103 -jmp L3771 -label L3773 -label L3771 -load 105 recv_node -load 106 node -field 107 106 16 list children +store method_name 92 +load 94 recv_node +load 95 node +field 96 95 16 list children +iconst 97 0 +call 98 pith_list_get_value_strict int 2 96 97 +call 99 ast_get_node struct:Node 1 98 +call 100 pith_struct_release void 1 94 +store recv_node 99 +load 101 arg_indices +call 102 pith_list_new_default list 0 +call 103 pith_list_release_handle void 1 101 +store arg_indices 102 +iconst 104 1 +store skip_recv 104 +load 105 node +field 106 105 16 list children +call 107 pith_auto_len int 1 106 iconst 108 0 -call 109 pith_list_get_value_strict int 2 107 108 -call 110 ast_get_node struct:Node 1 109 -call 111 pith_struct_release void 1 105 -store recv_node 110 -load 112 arg_indices -call 113 pith_list_new_default list 0 -call 114 pith_list_release_handle void 1 112 -store arg_indices 113 -iconst 115 1 -store skip_recv 115 -load 116 node -field 117 116 16 list children -call 118 pith_auto_len int 1 117 -iconst 119 0 -store __for_idx_208 119 -store __for_len_208 118 -store __for_iter_208 117 -label L3774 -load 120 __for_idx_208 -load 121 __for_len_208 -lt 122 120 121 -brif 122 L3775 L3777 +store __for_idx_207 108 +store __for_len_207 107 +store __for_iter_207 106 +label L3727 +load 109 __for_idx_207 +load 110 __for_len_207 +lt 111 109 110 +brif 111 L3728 L3730 +label L3728 +load 112 __for_iter_207 +load 113 __for_idx_207 +call 114 pith_list_get_value unknown 2 112 113 +store __loopvar_207_child 114 +load 115 skip_recv +iconst 116 0 +gt 117 115 116 +brif 117 L3732 L3733 +label L3732 +load 118 skip_recv +iconst 119 1 +sub 120 118 119 +store skip_recv 120 +jmp L3729 +label L3733 +label L3731 +load 121 arg_indices +load 122 __loopvar_207_child +call 123 pith_list_push_value void 2 121 122 +label L3729 +load 124 __for_idx_207 +iconst 125 1 +add 126 124 125 +store __for_idx_207 126 +jmp L3727 +label L3730 +load 127 recv_node +field 128 127 0 string kind +strref 129 m18s319 +call 130 pith_cstring_eq bool 2 128 129 +call 131 pith_cstring_release void 1 129 +brif 130 L3735 L3736 +label L3735 +load 132 recv_name +load 133 recv_node +field 134 133 8 string value +call 135 pith_cstring_retain void 1 134 +call 136 pith_cstring_release void 1 132 +store recv_name 134 +load 137 checker_module_aliases +load 138 recv_name +call 139 contains_key bool 2 137 138 +brif 139 L3738 L3739 +label L3738 +load 140 module_path +load 141 checker_module_aliases +load 142 recv_name +call 143 map_get_strict string 2 141 142 +call 144 pith_cstring_retain void 1 143 +call 145 pith_cstring_release void 1 140 +store module_path 143 +load 146 ctor_type_name +load 147 recv_name +strref 148 m18s124 +concat 149 147 148 +call 150 pith_cstring_release void 1 148 +load 151 method_name +concat 152 149 151 +call 153 pith_cstring_release void 1 149 +call 154 checker_resolve_imported_type_name string 1 152 +call 155 pith_cstring_release void 1 152 +call 156 pith_cstring_release void 1 146 +store ctor_type_name 154 +load 157 ctor_type_name +call 158 types_lookup_type_id int 1 157 +store ctor_tid 158 +load 159 ctor_tid +iconst 160 0 +gte 161 159 160 +brif 161 L3741 L3742 +label L3741 +load 162 ctor_info +load 163 ctor_tid +call 164 types_get_type_info struct:TypeInfo 1 163 +call 165 pith_struct_release void 1 162 +store ctor_info 164 +load 166 ctor_info +field 167 166 0 string kind +strref 168 m18s35 +call 169 pith_cstring_eq bool 2 167 168 +call 170 pith_cstring_release void 1 168 +brif 169 L3744 L3745 +label L3744 +iconst 171 0 +store __or_171_3749 171 +load 172 ctor_info +field 173 172 16 list_string fields +call 174 pith_list_len int 1 173 +iconst 175 0 +gt 176 174 175 +store __or_171_3749 176 +brif 176 L3750 L3749 +label L3749 +load 177 arg_indices +call 178 pith_list_len int 1 177 +iconst 179 0 +eq 180 178 179 +store __or_171_3749 180 +label L3750 +load 181 __or_171_3749 +brif 181 L3747 L3748 +label L3747 +load 182 ctor_type_name +load 183 ctor_tid +load 184 ctor_info +load 185 arg_indices +load 186 scope_id +call 187 checker_check_struct_constructor int 5 182 183 184 185 186 +load 188 method_name +call 189 pith_cstring_release void 1 188 +load 190 recv_node +call 191 pith_struct_release void 1 190 +load 192 arg_indices +call 193 pith_list_release_handle void 1 192 +load 194 recv_name +call 195 pith_cstring_release void 1 194 +load 196 module_path +call 197 pith_cstring_release void 1 196 +load 198 ctor_type_name +call 199 pith_cstring_release void 1 198 +load 200 ctor_info +call 201 pith_struct_release void 1 200 +load 202 gen_ctor_name +call 203 pith_cstring_release void 1 202 +load 204 qualified_name +call 205 pith_cstring_release void 1 204 +load 206 module_name +call 207 pith_cstring_release void 1 206 +load 208 generic_name +call 209 pith_cstring_release void 1 208 +load 210 gdecl +call 211 pith_struct_release void 1 210 +load 212 recv_info +call 213 pith_struct_release void 1 212 +load 214 payload_types +call 215 pith_list_release_handle void 1 214 +load 216 pa_node +call 217 pith_struct_release void 1 216 +load 218 type_name +call 219 pith_cstring_release void 1 218 +load 220 key +call 221 pith_cstring_release void 1 220 +load 222 base_name +call 223 pith_cstring_release void 1 222 +load 224 method_node +call 225 pith_struct_release void 1 224 +load 226 struct_params +call 227 pith_list_release_handle void 1 226 +load 228 struct_args +call 229 pith_list_release_handle void 1 228 +load 230 base +call 231 pith_cstring_release void 1 230 +load 232 sdecl +call 233 pith_struct_release void 1 232 +load 234 assoc_base +call 235 pith_cstring_release void 1 234 +load 236 bkey +call 237 pith_cstring_release void 1 236 +load 238 param_types +call 239 pith_list_release_handle void 1 238 +load 240 arg_node +call 241 pith_struct_release void 1 240 +ret 187 +label L3748 +label L3746 +jmp L3743 +label L3745 +label L3743 +jmp L3740 +label L3742 +label L3740 +load 242 gen_ctor_name +load 243 module_path +load 244 method_name +call 245 checker_modules_module_generic_target_name string 2 243 244 +call 246 pith_cstring_release void 1 242 +store gen_ctor_name 245 +load 247 gen_ctor_name +call 248 checker_has_generic_declaration bool 1 247 +brif 248 L3752 L3753 +label L3752 +load 249 gen_ctor_name +call 250 checker_get_generic_declaration_index int 1 249 +call 251 ast_get_node struct:Node 1 250 +field 252 251 0 string kind +strref 253 m18s313 +call 254 pith_cstring_eq bool 2 252 253 +call 255 pith_cstring_release void 1 253 +brif 254 L3755 L3756 +label L3755 +load 256 gen_ctor_name +load 257 arg_indices +load 258 scope_id +call 259 checker_check_generic_struct_constructor int 3 256 257 258 +load 260 method_name +call 261 pith_cstring_release void 1 260 +load 262 recv_node +call 263 pith_struct_release void 1 262 +load 264 arg_indices +call 265 pith_list_release_handle void 1 264 +load 266 recv_name +call 267 pith_cstring_release void 1 266 +load 268 module_path +call 269 pith_cstring_release void 1 268 +load 270 ctor_type_name +call 271 pith_cstring_release void 1 270 +load 272 ctor_info +call 273 pith_struct_release void 1 272 +load 274 gen_ctor_name +call 275 pith_cstring_release void 1 274 +load 276 qualified_name +call 277 pith_cstring_release void 1 276 +load 278 module_name +call 279 pith_cstring_release void 1 278 +load 280 generic_name +call 281 pith_cstring_release void 1 280 +load 282 gdecl +call 283 pith_struct_release void 1 282 +load 284 recv_info +call 285 pith_struct_release void 1 284 +load 286 payload_types +call 287 pith_list_release_handle void 1 286 +load 288 pa_node +call 289 pith_struct_release void 1 288 +load 290 type_name +call 291 pith_cstring_release void 1 290 +load 292 key +call 293 pith_cstring_release void 1 292 +load 294 base_name +call 295 pith_cstring_release void 1 294 +load 296 method_node +call 297 pith_struct_release void 1 296 +load 298 struct_params +call 299 pith_list_release_handle void 1 298 +load 300 struct_args +call 301 pith_list_release_handle void 1 300 +load 302 base +call 303 pith_cstring_release void 1 302 +load 304 sdecl +call 305 pith_struct_release void 1 304 +load 306 assoc_base +call 307 pith_cstring_release void 1 306 +load 308 bkey +call 309 pith_cstring_release void 1 308 +load 310 param_types +call 311 pith_list_release_handle void 1 310 +load 312 arg_node +call 313 pith_struct_release void 1 312 +ret 259 +label L3756 +label L3754 +jmp L3751 +label L3753 +label L3751 +load 314 method_name +call 315 checker_has_generic_declaration bool 1 314 +brif 315 L3758 L3759 +label L3758 +load 316 method_name +call 317 checker_get_generic_declaration_index int 1 316 +call 318 ast_get_node struct:Node 1 317 +field 319 318 0 string kind +strref 320 m18s313 +call 321 pith_cstring_eq bool 2 319 320 +call 322 pith_cstring_release void 1 320 +brif 321 L3761 L3762 +label L3761 +load 323 method_name +load 324 arg_indices +load 325 scope_id +call 326 checker_check_generic_struct_constructor int 3 323 324 325 +load 327 method_name +call 328 pith_cstring_release void 1 327 +load 329 recv_node +call 330 pith_struct_release void 1 329 +load 331 arg_indices +call 332 pith_list_release_handle void 1 331 +load 333 recv_name +call 334 pith_cstring_release void 1 333 +load 335 module_path +call 336 pith_cstring_release void 1 335 +load 337 ctor_type_name +call 338 pith_cstring_release void 1 337 +load 339 ctor_info +call 340 pith_struct_release void 1 339 +load 341 gen_ctor_name +call 342 pith_cstring_release void 1 341 +load 343 qualified_name +call 344 pith_cstring_release void 1 343 +load 345 module_name +call 346 pith_cstring_release void 1 345 +load 347 generic_name +call 348 pith_cstring_release void 1 347 +load 349 gdecl +call 350 pith_struct_release void 1 349 +load 351 recv_info +call 352 pith_struct_release void 1 351 +load 353 payload_types +call 354 pith_list_release_handle void 1 353 +load 355 pa_node +call 356 pith_struct_release void 1 355 +load 357 type_name +call 358 pith_cstring_release void 1 357 +load 359 key +call 360 pith_cstring_release void 1 359 +load 361 base_name +call 362 pith_cstring_release void 1 361 +load 363 method_node +call 364 pith_struct_release void 1 363 +load 365 struct_params +call 366 pith_list_release_handle void 1 365 +load 367 struct_args +call 368 pith_list_release_handle void 1 367 +load 369 base +call 370 pith_cstring_release void 1 369 +load 371 sdecl +call 372 pith_struct_release void 1 371 +load 373 assoc_base +call 374 pith_cstring_release void 1 373 +load 375 bkey +call 376 pith_cstring_release void 1 375 +load 377 param_types +call 378 pith_list_release_handle void 1 377 +load 379 arg_node +call 380 pith_struct_release void 1 379 +ret 326 +label L3762 +label L3760 +jmp L3757 +label L3759 +label L3757 +load 381 module_path +load 382 method_name +call 383 checker_module_function_is_visible bool 2 381 382 +iconst 385 1 +sub 384 385 383 +brif 384 L3764 L3765 +label L3764 +strref 386 m18s476 +strref 387 m18s376 +load 388 method_name +concat 389 387 388 +call 390 pith_cstring_release void 1 387 +strref 391 m18s475 +concat 392 389 391 +call 393 pith_cstring_release void 1 389 +call 394 pith_cstring_release void 1 391 +load 395 recv_name +concat 396 392 395 +call 397 pith_cstring_release void 1 392 +strref 398 m18s376 +concat 399 396 398 +call 400 pith_cstring_release void 1 396 +call 401 pith_cstring_release void 1 398 +call 402 checker_diagnostics_report_error void 2 386 399 +call 403 pith_cstring_release void 1 386 +call 404 pith_cstring_release void 1 399 +load 405 types_TID_ERR +load 406 method_name +call 407 pith_cstring_release void 1 406 +load 408 recv_node +call 409 pith_struct_release void 1 408 +load 410 arg_indices +call 411 pith_list_release_handle void 1 410 +load 412 recv_name +call 413 pith_cstring_release void 1 412 +load 414 module_path +call 415 pith_cstring_release void 1 414 +load 416 ctor_type_name +call 417 pith_cstring_release void 1 416 +load 418 ctor_info +call 419 pith_struct_release void 1 418 +load 420 gen_ctor_name +call 421 pith_cstring_release void 1 420 +load 422 qualified_name +call 423 pith_cstring_release void 1 422 +load 424 module_name +call 425 pith_cstring_release void 1 424 +load 426 generic_name +call 427 pith_cstring_release void 1 426 +load 428 gdecl +call 429 pith_struct_release void 1 428 +load 430 recv_info +call 431 pith_struct_release void 1 430 +load 432 payload_types +call 433 pith_list_release_handle void 1 432 +load 434 pa_node +call 435 pith_struct_release void 1 434 +load 436 type_name +call 437 pith_cstring_release void 1 436 +load 438 key +call 439 pith_cstring_release void 1 438 +load 440 base_name +call 441 pith_cstring_release void 1 440 +load 442 method_node +call 443 pith_struct_release void 1 442 +load 444 struct_params +call 445 pith_list_release_handle void 1 444 +load 446 struct_args +call 447 pith_list_release_handle void 1 446 +load 448 base +call 449 pith_cstring_release void 1 448 +load 450 sdecl +call 451 pith_struct_release void 1 450 +load 452 assoc_base +call 453 pith_cstring_release void 1 452 +load 454 bkey +call 455 pith_cstring_release void 1 454 +load 456 param_types +call 457 pith_list_release_handle void 1 456 +load 458 arg_node +call 459 pith_struct_release void 1 458 +ret 405 +label L3765 +label L3763 +load 460 qualified_name +load 461 module_path +load 462 method_name +call 463 checker_modules_module_import_target_name string 2 461 462 +call 464 pith_cstring_release void 1 460 +store qualified_name 463 +load 465 module_name +load 466 module_path +load 467 method_name +call 468 checker_modules_module_generic_target_name string 2 466 467 +call 469 pith_cstring_release void 1 465 +store module_name 468 +load 470 scope_id +load 471 module_name +call 472 scope_lookup_binding int 2 470 471 +store callee_type 472 +load 473 callee_type +iconst 474 0 +lt 475 473 474 +brif 475 L3767 L3768 +label L3767 +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 L3766 +label L3768 +label L3766 +load 480 callee_type +iconst 481 0 +lt 482 480 481 +brif 482 L3770 L3771 +label L3770 +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 L3769 +label L3771 +label L3769 +load 487 callee_type +iconst 488 0 +lt 489 487 488 +brif 489 L3773 L3774 +label L3773 +load 490 generic_name +load 491 module_path +load 492 method_name +call 493 checker_modules_module_generic_target_name string 2 491 492 +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 L3776 L3777 +label L3776 +load 497 generic_name +load 498 arg_indices +load 499 scope_id +call 500 checker_check_generic_function_call int 3 497 498 499 +load 501 method_name +call 502 pith_cstring_release void 1 501 +load 503 recv_node +call 504 pith_struct_release void 1 503 +load 505 arg_indices +call 506 pith_list_release_handle void 1 505 +load 507 recv_name +call 508 pith_cstring_release void 1 507 +load 509 module_path +call 510 pith_cstring_release void 1 509 +load 511 ctor_type_name +call 512 pith_cstring_release void 1 511 +load 513 ctor_info +call 514 pith_struct_release void 1 513 +load 515 gen_ctor_name +call 516 pith_cstring_release void 1 515 +load 517 qualified_name +call 518 pith_cstring_release void 1 517 +load 519 module_name +call 520 pith_cstring_release void 1 519 +load 521 generic_name +call 522 pith_cstring_release void 1 521 +load 523 gdecl +call 524 pith_struct_release void 1 523 +load 525 recv_info +call 526 pith_struct_release void 1 525 +load 527 payload_types +call 528 pith_list_release_handle void 1 527 +load 529 pa_node +call 530 pith_struct_release void 1 529 +load 531 type_name +call 532 pith_cstring_release void 1 531 +load 533 key +call 534 pith_cstring_release void 1 533 +load 535 base_name +call 536 pith_cstring_release void 1 535 +load 537 method_node +call 538 pith_struct_release void 1 537 +load 539 struct_params +call 540 pith_list_release_handle void 1 539 +load 541 struct_args +call 542 pith_list_release_handle void 1 541 +load 543 base +call 544 pith_cstring_release void 1 543 +load 545 sdecl +call 546 pith_struct_release void 1 545 +load 547 assoc_base +call 548 pith_cstring_release void 1 547 +load 549 bkey +call 550 pith_cstring_release void 1 549 +load 551 param_types +call 552 pith_list_release_handle void 1 551 +load 553 arg_node +call 554 pith_struct_release void 1 553 +ret 500 +label L3777 label L3775 -load 123 __for_iter_208 -load 124 __for_idx_208 -call 125 pith_list_get_value unknown 2 123 124 -store __loopvar_208_child 125 -load 126 skip_recv -iconst 127 0 -gt 128 126 127 -brif 128 L3779 L3780 +load 555 method_name +call 556 checker_has_generic_declaration bool 1 555 +brif 556 L3779 L3780 label L3779 -load 129 skip_recv -iconst 130 1 -sub 131 129 130 -store skip_recv 131 -jmp L3776 +load 557 method_name +load 558 arg_indices +load 559 scope_id +call 560 checker_check_generic_function_call int 3 557 558 559 +load 561 method_name +call 562 pith_cstring_release void 1 561 +load 563 recv_node +call 564 pith_struct_release void 1 563 +load 565 arg_indices +call 566 pith_list_release_handle void 1 565 +load 567 recv_name +call 568 pith_cstring_release void 1 567 +load 569 module_path +call 570 pith_cstring_release void 1 569 +load 571 ctor_type_name +call 572 pith_cstring_release void 1 571 +load 573 ctor_info +call 574 pith_struct_release void 1 573 +load 575 gen_ctor_name +call 576 pith_cstring_release void 1 575 +load 577 qualified_name +call 578 pith_cstring_release void 1 577 +load 579 module_name +call 580 pith_cstring_release void 1 579 +load 581 generic_name +call 582 pith_cstring_release void 1 581 +load 583 gdecl +call 584 pith_struct_release void 1 583 +load 585 recv_info +call 586 pith_struct_release void 1 585 +load 587 payload_types +call 588 pith_list_release_handle void 1 587 +load 589 pa_node +call 590 pith_struct_release void 1 589 +load 591 type_name +call 592 pith_cstring_release void 1 591 +load 593 key +call 594 pith_cstring_release void 1 593 +load 595 base_name +call 596 pith_cstring_release void 1 595 +load 597 method_node +call 598 pith_struct_release void 1 597 +load 599 struct_params +call 600 pith_list_release_handle void 1 599 +load 601 struct_args +call 602 pith_list_release_handle void 1 601 +load 603 base +call 604 pith_cstring_release void 1 603 +load 605 sdecl +call 606 pith_struct_release void 1 605 +load 607 assoc_base +call 608 pith_cstring_release void 1 607 +load 609 bkey +call 610 pith_cstring_release void 1 609 +load 611 param_types +call 612 pith_list_release_handle void 1 611 +load 613 arg_node +call 614 pith_struct_release void 1 613 +ret 560 label L3780 label L3778 -load 132 arg_indices -load 133 __loopvar_208_child -call 134 pith_list_push_value void 2 132 133 -label L3776 -load 135 __for_idx_208 -iconst 136 1 -add 137 135 136 -store __for_idx_208 137 -jmp L3774 -label L3777 -load 138 recv_node -field 139 138 0 string kind -strref 140 m18s319 -call 141 pith_cstring_eq bool 2 139 140 -call 142 pith_cstring_release void 1 140 -brif 141 L3782 L3783 +jmp L3772 +label L3774 +label L3772 +load 615 callee_type +iconst 616 0 +lt 617 615 616 +brif 617 L3782 L3783 label L3782 -load 143 recv_name -load 144 recv_node -field 145 144 8 string value -call 146 pith_cstring_retain void 1 145 -call 147 pith_cstring_release void 1 143 -store recv_name 145 -load 148 checker_module_aliases -load 149 recv_name -call 150 contains_key bool 2 148 149 -brif 150 L3785 L3786 -label L3785 -load 151 module_path -load 152 checker_module_aliases -load 153 recv_name -call 154 map_get_strict string 2 152 153 -call 155 pith_cstring_retain void 1 154 -call 156 pith_cstring_release void 1 151 -store module_path 154 -load 157 ctor_type_name -load 158 recv_name -strref 159 m18s124 -concat 160 158 159 -call 161 pith_cstring_release void 1 159 -load 162 method_name -concat 163 160 162 -call 164 pith_cstring_release void 1 160 -call 165 checker_resolve_imported_type_name string 1 163 -call 166 pith_cstring_release void 1 163 -call 167 pith_cstring_release void 1 157 -store ctor_type_name 165 -load 168 ctor_type_name -call 169 types_lookup_type_id int 1 168 -store ctor_tid 169 -load 170 ctor_tid -iconst 171 0 -gte 172 170 171 -brif 172 L3788 L3789 +load 618 recv_name +load 619 method_name +load 620 arg_indices +load 621 scope_id +call 622 checker_report_undefined_module_function void 4 618 619 620 621 +load 623 types_TID_ERR +load 624 method_name +call 625 pith_cstring_release void 1 624 +load 626 recv_node +call 627 pith_struct_release void 1 626 +load 628 arg_indices +call 629 pith_list_release_handle void 1 628 +load 630 recv_name +call 631 pith_cstring_release void 1 630 +load 632 module_path +call 633 pith_cstring_release void 1 632 +load 634 ctor_type_name +call 635 pith_cstring_release void 1 634 +load 636 ctor_info +call 637 pith_struct_release void 1 636 +load 638 gen_ctor_name +call 639 pith_cstring_release void 1 638 +load 640 qualified_name +call 641 pith_cstring_release void 1 640 +load 642 module_name +call 643 pith_cstring_release void 1 642 +load 644 generic_name +call 645 pith_cstring_release void 1 644 +load 646 gdecl +call 647 pith_struct_release void 1 646 +load 648 recv_info +call 649 pith_struct_release void 1 648 +load 650 payload_types +call 651 pith_list_release_handle void 1 650 +load 652 pa_node +call 653 pith_struct_release void 1 652 +load 654 type_name +call 655 pith_cstring_release void 1 654 +load 656 key +call 657 pith_cstring_release void 1 656 +load 658 base_name +call 659 pith_cstring_release void 1 658 +load 660 method_node +call 661 pith_struct_release void 1 660 +load 662 struct_params +call 663 pith_list_release_handle void 1 662 +load 664 struct_args +call 665 pith_list_release_handle void 1 664 +load 666 base +call 667 pith_cstring_release void 1 666 +load 668 sdecl +call 669 pith_struct_release void 1 668 +load 670 assoc_base +call 671 pith_cstring_release void 1 670 +load 672 bkey +call 673 pith_cstring_release void 1 672 +load 674 param_types +call 675 pith_list_release_handle void 1 674 +load 676 arg_node +call 677 pith_struct_release void 1 676 +ret 623 +label L3783 +label L3781 +call 678 checker_diagnostics_checker_current_node_index int 0 +load 679 scope_id +load 680 module_name +call 681 scope_lookup_binding_decl_node int 2 679 680 +call 682 checker_record_definition void 2 678 681 +load 683 callee_type +load 684 arg_indices +load 685 scope_id +call 686 checker_check_callable_type_with_args int 3 683 684 685 +load 687 method_name +call 688 pith_cstring_release void 1 687 +load 689 recv_node +call 690 pith_struct_release void 1 689 +load 691 arg_indices +call 692 pith_list_release_handle void 1 691 +load 693 recv_name +call 694 pith_cstring_release void 1 693 +load 695 module_path +call 696 pith_cstring_release void 1 695 +load 697 ctor_type_name +call 698 pith_cstring_release void 1 697 +load 699 ctor_info +call 700 pith_struct_release void 1 699 +load 701 gen_ctor_name +call 702 pith_cstring_release void 1 701 +load 703 qualified_name +call 704 pith_cstring_release void 1 703 +load 705 module_name +call 706 pith_cstring_release void 1 705 +load 707 generic_name +call 708 pith_cstring_release void 1 707 +load 709 gdecl +call 710 pith_struct_release void 1 709 +load 711 recv_info +call 712 pith_struct_release void 1 711 +load 713 payload_types +call 714 pith_list_release_handle void 1 713 +load 715 pa_node +call 716 pith_struct_release void 1 715 +load 717 type_name +call 718 pith_cstring_release void 1 717 +load 719 key +call 720 pith_cstring_release void 1 719 +load 721 base_name +call 722 pith_cstring_release void 1 721 +load 723 method_node +call 724 pith_struct_release void 1 723 +load 725 struct_params +call 726 pith_list_release_handle void 1 725 +load 727 struct_args +call 728 pith_list_release_handle void 1 727 +load 729 base +call 730 pith_cstring_release void 1 729 +load 731 sdecl +call 732 pith_struct_release void 1 731 +load 733 assoc_base +call 734 pith_cstring_release void 1 733 +load 735 bkey +call 736 pith_cstring_release void 1 735 +load 737 param_types +call 738 pith_list_release_handle void 1 737 +load 739 arg_node +call 740 pith_struct_release void 1 739 +ret 686 +label L3739 +label L3737 +jmp L3734 +label L3736 +label L3734 +iconst 741 0 +store __and_741_3787 741 +load 742 recv_node +field 743 742 0 string kind +strref 744 m18s319 +call 745 pith_cstring_eq bool 2 743 744 +call 746 pith_cstring_release void 1 744 +store __and_741_3787 745 +brif 745 L3787 L3788 +label L3787 +load 747 recv_node +field 748 747 8 string value +call 749 checker_has_generic_declaration bool 1 748 +store __and_741_3787 749 label L3788 -load 173 ctor_info -load 174 ctor_tid -call 175 types_get_type_info struct:TypeInfo 1 174 -call 176 pith_struct_release void 1 173 -store ctor_info 175 -load 177 ctor_info -field 178 177 0 string kind -strref 179 m18s35 -call 180 pith_cstring_eq bool 2 178 179 -call 181 pith_cstring_release void 1 179 -brif 180 L3791 L3792 -label L3791 -iconst 182 0 -store __or_182_3796 182 -load 183 ctor_info -field 184 183 16 list_string fields -call 185 pith_list_len int 1 184 -iconst 186 0 -gt 187 185 186 -store __or_182_3796 187 -brif 187 L3797 L3796 -label L3796 -load 188 arg_indices -call 189 pith_list_len int 1 188 -iconst 190 0 -eq 191 189 190 -store __or_182_3796 191 -label L3797 -load 192 __or_182_3796 -brif 192 L3794 L3795 -label L3794 -load 193 ctor_type_name -load 194 ctor_tid -load 195 ctor_info -load 196 arg_indices -load 197 scope_id -call 198 checker_check_struct_constructor int 5 193 194 195 196 197 -load 199 method_name -call 200 pith_cstring_release void 1 199 -load 201 recv_node -call 202 pith_struct_release void 1 201 -load 203 arg_indices -call 204 pith_list_release_handle void 1 203 -load 205 recv_name -call 206 pith_cstring_release void 1 205 -load 207 module_path -call 208 pith_cstring_release void 1 207 -load 209 ctor_type_name -call 210 pith_cstring_release void 1 209 -load 211 ctor_info -call 212 pith_struct_release void 1 211 -load 213 gen_ctor_name -call 214 pith_cstring_release void 1 213 -load 215 qualified_name -call 216 pith_cstring_release void 1 215 -load 217 module_name -call 218 pith_cstring_release void 1 217 -load 219 generic_name -call 220 pith_cstring_release void 1 219 -load 221 gdecl -call 222 pith_struct_release void 1 221 -load 223 recv_info -call 224 pith_struct_release void 1 223 -load 225 payload_types -call 226 pith_list_release_handle void 1 225 -load 227 pa_node -call 228 pith_struct_release void 1 227 -load 229 type_name -call 230 pith_cstring_release void 1 229 -load 231 key -call 232 pith_cstring_release void 1 231 -load 233 base_name -call 234 pith_cstring_release void 1 233 -load 235 method_node -call 236 pith_struct_release void 1 235 -load 237 struct_params -call 238 pith_list_release_handle void 1 237 -load 239 struct_args -call 240 pith_list_release_handle void 1 239 -load 241 base -call 242 pith_cstring_release void 1 241 -load 243 sdecl -call 244 pith_struct_release void 1 243 -load 245 assoc_base -call 246 pith_cstring_release void 1 245 -load 247 bkey -call 248 pith_cstring_release void 1 247 -load 249 param_types -call 250 pith_list_release_handle void 1 249 -load 251 arg_node -call 252 pith_struct_release void 1 251 -ret 198 -label L3795 -label L3793 -jmp L3790 +load 750 __and_741_3787 +brif 750 L3785 L3786 +label L3785 +load 751 recv_node +field 752 751 8 string value +call 753 checker_get_generic_declaration_index int 1 752 +store gdecl_idx 753 +load 754 gdecl +load 755 gdecl_idx +call 756 ast_get_node struct:Node 1 755 +call 757 pith_struct_release void 1 754 +store gdecl 756 +iconst 758 0 +store __and_758_3792 758 +load 759 gdecl +field 760 759 0 string kind +strref 761 m18s312 +call 762 pith_cstring_eq bool 2 760 761 +call 763 pith_cstring_release void 1 761 +store __and_758_3792 762 +brif 762 L3792 L3793 label L3792 +load 764 gdecl +load 765 method_name +call 766 checker_enum_decl_has_variant bool 2 764 765 +store __and_758_3792 766 +label L3793 +load 767 __and_758_3792 +brif 767 L3790 L3791 label L3790 -jmp L3787 +load 768 gdecl_idx +load 769 method_name +load 770 arg_indices +load 771 scope_id +call 772 checker_check_generic_enum_variant_construction int 4 768 769 770 771 +load 773 method_name +call 774 pith_cstring_release void 1 773 +load 775 recv_node +call 776 pith_struct_release void 1 775 +load 777 arg_indices +call 778 pith_list_release_handle void 1 777 +load 779 recv_name +call 780 pith_cstring_release void 1 779 +load 781 module_path +call 782 pith_cstring_release void 1 781 +load 783 ctor_type_name +call 784 pith_cstring_release void 1 783 +load 785 ctor_info +call 786 pith_struct_release void 1 785 +load 787 gen_ctor_name +call 788 pith_cstring_release void 1 787 +load 789 qualified_name +call 790 pith_cstring_release void 1 789 +load 791 module_name +call 792 pith_cstring_release void 1 791 +load 793 generic_name +call 794 pith_cstring_release void 1 793 +load 795 gdecl +call 796 pith_struct_release void 1 795 +load 797 recv_info +call 798 pith_struct_release void 1 797 +load 799 payload_types +call 800 pith_list_release_handle void 1 799 +load 801 pa_node +call 802 pith_struct_release void 1 801 +load 803 type_name +call 804 pith_cstring_release void 1 803 +load 805 key +call 806 pith_cstring_release void 1 805 +load 807 base_name +call 808 pith_cstring_release void 1 807 +load 809 method_node +call 810 pith_struct_release void 1 809 +load 811 struct_params +call 812 pith_list_release_handle void 1 811 +load 813 struct_args +call 814 pith_list_release_handle void 1 813 +load 815 base +call 816 pith_cstring_release void 1 815 +load 817 sdecl +call 818 pith_struct_release void 1 817 +load 819 assoc_base +call 820 pith_cstring_release void 1 819 +load 821 bkey +call 822 pith_cstring_release void 1 821 +load 823 param_types +call 824 pith_list_release_handle void 1 823 +load 825 arg_node +call 826 pith_struct_release void 1 825 +ret 772 +label L3791 label L3789 -label L3787 -load 253 gen_ctor_name -load 254 module_path -load 255 method_name -call 256 checker_modules_module_generic_target_name string 2 254 255 -call 257 pith_cstring_release void 1 253 -store gen_ctor_name 256 -load 258 gen_ctor_name -call 259 checker_has_generic_declaration bool 1 258 -brif 259 L3799 L3800 +jmp L3784 +label L3786 +label L3784 +load 827 node +field 828 827 16 list children +iconst 829 0 +call 830 pith_list_get_value_strict int 2 828 829 +load 831 scope_id +call 832 checker_c_check_expr int 2 830 831 +store receiver_type 832 +iconst 833 0 +store __and_833_3797 833 +load 834 receiver_type +call 835 types_is_error_type bool 1 834 +store __and_833_3797 835 +brif 835 L3797 L3798 +label L3797 +load 836 recv_node +field 837 836 0 string kind +strref 838 m18s319 +call 839 pith_cstring_eq bool 2 837 838 +call 840 pith_cstring_release void 1 838 +store __and_833_3797 839 +label L3798 +load 841 __and_833_3797 +brif 841 L3795 L3796 +label L3795 +load 842 recv_node +field 843 842 8 string value +load 844 method_name +load 845 arg_indices +load 846 scope_id +load 847 node +field 848 847 16 list children +iconst 849 0 +call 850 pith_list_get_value_strict int 2 848 849 +call 851 checker_refine_empty_literal_binding int 5 843 844 845 846 850 +store receiver_type 851 +jmp L3794 +label L3796 +label L3794 +load 852 receiver_type +call 853 types_is_error_type bool 1 852 +brif 853 L3800 L3801 +label L3800 +load 854 types_TID_ERR +load 855 method_name +call 856 pith_cstring_release void 1 855 +load 857 recv_node +call 858 pith_struct_release void 1 857 +load 859 arg_indices +call 860 pith_list_release_handle void 1 859 +load 861 recv_name +call 862 pith_cstring_release void 1 861 +load 863 module_path +call 864 pith_cstring_release void 1 863 +load 865 ctor_type_name +call 866 pith_cstring_release void 1 865 +load 867 ctor_info +call 868 pith_struct_release void 1 867 +load 869 gen_ctor_name +call 870 pith_cstring_release void 1 869 +load 871 qualified_name +call 872 pith_cstring_release void 1 871 +load 873 module_name +call 874 pith_cstring_release void 1 873 +load 875 generic_name +call 876 pith_cstring_release void 1 875 +load 877 gdecl +call 878 pith_struct_release void 1 877 +load 879 recv_info +call 880 pith_struct_release void 1 879 +load 881 payload_types +call 882 pith_list_release_handle void 1 881 +load 883 pa_node +call 884 pith_struct_release void 1 883 +load 885 type_name +call 886 pith_cstring_release void 1 885 +load 887 key +call 888 pith_cstring_release void 1 887 +load 889 base_name +call 890 pith_cstring_release void 1 889 +load 891 method_node +call 892 pith_struct_release void 1 891 +load 893 struct_params +call 894 pith_list_release_handle void 1 893 +load 895 struct_args +call 896 pith_list_release_handle void 1 895 +load 897 base +call 898 pith_cstring_release void 1 897 +load 899 sdecl +call 900 pith_struct_release void 1 899 +load 901 assoc_base +call 902 pith_cstring_release void 1 901 +load 903 bkey +call 904 pith_cstring_release void 1 903 +load 905 param_types +call 906 pith_list_release_handle void 1 905 +load 907 arg_node +call 908 pith_struct_release void 1 907 +ret 854 +label L3801 label L3799 -load 260 gen_ctor_name -call 261 checker_get_generic_declaration_index int 1 260 -call 262 ast_get_node struct:Node 1 261 -field 263 262 0 string kind -strref 264 m18s313 -call 265 pith_cstring_eq bool 2 263 264 -call 266 pith_cstring_release void 1 264 -brif 265 L3802 L3803 -label L3802 -load 267 gen_ctor_name -load 268 arg_indices -load 269 scope_id -call 270 checker_check_generic_struct_constructor int 3 267 268 269 -load 271 method_name -call 272 pith_cstring_release void 1 271 -load 273 recv_node -call 274 pith_struct_release void 1 273 -load 275 arg_indices -call 276 pith_list_release_handle void 1 275 -load 277 recv_name -call 278 pith_cstring_release void 1 277 -load 279 module_path -call 280 pith_cstring_release void 1 279 -load 281 ctor_type_name -call 282 pith_cstring_release void 1 281 -load 283 ctor_info -call 284 pith_struct_release void 1 283 -load 285 gen_ctor_name -call 286 pith_cstring_release void 1 285 -load 287 qualified_name -call 288 pith_cstring_release void 1 287 -load 289 module_name -call 290 pith_cstring_release void 1 289 -load 291 generic_name -call 292 pith_cstring_release void 1 291 -load 293 gdecl -call 294 pith_struct_release void 1 293 -load 295 recv_info -call 296 pith_struct_release void 1 295 -load 297 payload_types -call 298 pith_list_release_handle void 1 297 -load 299 pa_node -call 300 pith_struct_release void 1 299 -load 301 type_name -call 302 pith_cstring_release void 1 301 -load 303 key -call 304 pith_cstring_release void 1 303 -load 305 base_name -call 306 pith_cstring_release void 1 305 -load 307 method_node -call 308 pith_struct_release void 1 307 -load 309 struct_params -call 310 pith_list_release_handle void 1 309 -load 311 struct_args -call 312 pith_list_release_handle void 1 311 -load 313 base -call 314 pith_cstring_release void 1 313 -load 315 sdecl -call 316 pith_struct_release void 1 315 -load 317 assoc_base -call 318 pith_cstring_release void 1 317 -load 319 bkey -call 320 pith_cstring_release void 1 319 -load 321 param_types -call 322 pith_list_release_handle void 1 321 -load 323 arg_node -call 324 pith_struct_release void 1 323 -ret 270 +load 909 recv_info +load 910 receiver_type +call 911 types_get_type_info struct:TypeInfo 1 910 +call 912 pith_struct_release void 1 909 +store recv_info 911 +load 913 receiver_type +store dispatch_type 913 +load 914 recv_info +field 915 914 0 string kind +strref 916 m18s30 +call 917 pith_cstring_eq bool 2 915 916 +call 918 pith_cstring_release void 1 916 +brif 917 L3803 L3804 label L3803 -label L3801 -jmp L3798 -label L3800 -label L3798 -load 325 method_name -call 326 checker_has_generic_declaration bool 1 325 -brif 326 L3805 L3806 +load 919 method_name +strref 920 m18s78 +call 921 pith_cstring_eq bool 2 919 920 +call 922 pith_cstring_release void 1 920 +brif 921 L3806 L3807 +label L3806 +load 923 method_name +load 924 arg_indices +call 925 checker_expect_no_arguments void 2 923 924 +load 926 recv_info +field 927 926 64 int inner +load 928 method_name +call 929 pith_cstring_release void 1 928 +load 930 recv_node +call 931 pith_struct_release void 1 930 +load 932 arg_indices +call 933 pith_list_release_handle void 1 932 +load 934 recv_name +call 935 pith_cstring_release void 1 934 +load 936 module_path +call 937 pith_cstring_release void 1 936 +load 938 ctor_type_name +call 939 pith_cstring_release void 1 938 +load 940 ctor_info +call 941 pith_struct_release void 1 940 +load 942 gen_ctor_name +call 943 pith_cstring_release void 1 942 +load 944 qualified_name +call 945 pith_cstring_release void 1 944 +load 946 module_name +call 947 pith_cstring_release void 1 946 +load 948 generic_name +call 949 pith_cstring_release void 1 948 +load 950 gdecl +call 951 pith_struct_release void 1 950 +load 952 recv_info +call 953 pith_struct_release void 1 952 +load 954 payload_types +call 955 pith_list_release_handle void 1 954 +load 956 pa_node +call 957 pith_struct_release void 1 956 +load 958 type_name +call 959 pith_cstring_release void 1 958 +load 960 key +call 961 pith_cstring_release void 1 960 +load 962 base_name +call 963 pith_cstring_release void 1 962 +load 964 method_node +call 965 pith_struct_release void 1 964 +load 966 struct_params +call 967 pith_list_release_handle void 1 966 +load 968 struct_args +call 969 pith_list_release_handle void 1 968 +load 970 base +call 971 pith_cstring_release void 1 970 +load 972 sdecl +call 973 pith_struct_release void 1 972 +load 974 assoc_base +call 975 pith_cstring_release void 1 974 +load 976 bkey +call 977 pith_cstring_release void 1 976 +load 978 param_types +call 979 pith_list_release_handle void 1 978 +load 980 arg_node +call 981 pith_struct_release void 1 980 +ret 927 +label L3807 label L3805 -load 327 method_name -call 328 checker_get_generic_declaration_index int 1 327 -call 329 ast_get_node struct:Node 1 328 -field 330 329 0 string kind -strref 331 m18s313 -call 332 pith_cstring_eq bool 2 330 331 -call 333 pith_cstring_release void 1 331 -brif 332 L3808 L3809 -label L3808 -load 334 method_name -load 335 arg_indices -load 336 scope_id -call 337 checker_check_generic_struct_constructor int 3 334 335 336 -load 338 method_name -call 339 pith_cstring_release void 1 338 -load 340 recv_node -call 341 pith_struct_release void 1 340 -load 342 arg_indices -call 343 pith_list_release_handle void 1 342 -load 344 recv_name -call 345 pith_cstring_release void 1 344 -load 346 module_path -call 347 pith_cstring_release void 1 346 -load 348 ctor_type_name -call 349 pith_cstring_release void 1 348 -load 350 ctor_info -call 351 pith_struct_release void 1 350 -load 352 gen_ctor_name -call 353 pith_cstring_release void 1 352 -load 354 qualified_name -call 355 pith_cstring_release void 1 354 -load 356 module_name -call 357 pith_cstring_release void 1 356 -load 358 generic_name -call 359 pith_cstring_release void 1 358 -load 360 gdecl -call 361 pith_struct_release void 1 360 -load 362 recv_info -call 363 pith_struct_release void 1 362 -load 364 payload_types -call 365 pith_list_release_handle void 1 364 -load 366 pa_node -call 367 pith_struct_release void 1 366 -load 368 type_name -call 369 pith_cstring_release void 1 368 -load 370 key -call 371 pith_cstring_release void 1 370 -load 372 base_name -call 373 pith_cstring_release void 1 372 -load 374 method_node -call 375 pith_struct_release void 1 374 -load 376 struct_params -call 377 pith_list_release_handle void 1 376 -load 378 struct_args -call 379 pith_list_release_handle void 1 378 -load 380 base -call 381 pith_cstring_release void 1 380 -load 382 sdecl -call 383 pith_struct_release void 1 382 -load 384 assoc_base -call 385 pith_cstring_release void 1 384 -load 386 bkey -call 387 pith_cstring_release void 1 386 -load 388 param_types -call 389 pith_list_release_handle void 1 388 -load 390 arg_node -call 391 pith_struct_release void 1 390 -ret 337 +load 982 method_name +strref 983 m18s562 +call 984 pith_cstring_eq bool 2 982 983 +call 985 pith_cstring_release void 1 983 +brif 984 L3809 L3810 label L3809 -label L3807 -jmp L3804 -label L3806 -label L3804 -load 392 module_path -load 393 method_name -call 394 checker_module_function_is_visible bool 2 392 393 -iconst 396 1 -sub 395 396 394 -brif 395 L3811 L3812 -label L3811 -strref 397 m18s476 -strref 398 m18s376 -load 399 method_name -concat 400 398 399 -call 401 pith_cstring_release void 1 398 -strref 402 m18s475 -concat 403 400 402 -call 404 pith_cstring_release void 1 400 -call 405 pith_cstring_release void 1 402 -load 406 recv_name -concat 407 403 406 -call 408 pith_cstring_release void 1 403 -strref 409 m18s376 -concat 410 407 409 -call 411 pith_cstring_release void 1 407 -call 412 pith_cstring_release void 1 409 -call 413 checker_diagnostics_report_error void 2 397 410 -call 414 pith_cstring_release void 1 397 -call 415 pith_cstring_release void 1 410 -load 416 types_TID_ERR -load 417 method_name -call 418 pith_cstring_release void 1 417 -load 419 recv_node -call 420 pith_struct_release void 1 419 -load 421 arg_indices -call 422 pith_list_release_handle void 1 421 -load 423 recv_name -call 424 pith_cstring_release void 1 423 -load 425 module_path -call 426 pith_cstring_release void 1 425 -load 427 ctor_type_name -call 428 pith_cstring_release void 1 427 -load 429 ctor_info -call 430 pith_struct_release void 1 429 -load 431 gen_ctor_name -call 432 pith_cstring_release void 1 431 -load 433 qualified_name -call 434 pith_cstring_release void 1 433 -load 435 module_name -call 436 pith_cstring_release void 1 435 -load 437 generic_name -call 438 pith_cstring_release void 1 437 -load 439 gdecl -call 440 pith_struct_release void 1 439 -load 441 recv_info -call 442 pith_struct_release void 1 441 -load 443 payload_types -call 444 pith_list_release_handle void 1 443 -load 445 pa_node -call 446 pith_struct_release void 1 445 -load 447 type_name -call 448 pith_cstring_release void 1 447 -load 449 key -call 450 pith_cstring_release void 1 449 -load 451 base_name -call 452 pith_cstring_release void 1 451 -load 453 method_node -call 454 pith_struct_release void 1 453 -load 455 struct_params -call 456 pith_list_release_handle void 1 455 -load 457 struct_args -call 458 pith_list_release_handle void 1 457 -load 459 base -call 460 pith_cstring_release void 1 459 -load 461 sdecl -call 462 pith_struct_release void 1 461 -load 463 assoc_base -call 464 pith_cstring_release void 1 463 -load 465 bkey -call 466 pith_cstring_release void 1 465 -load 467 param_types -call 468 pith_list_release_handle void 1 467 -load 469 arg_node -call 470 pith_struct_release void 1 469 -ret 416 +load 986 arg_indices +call 987 pith_list_len int 1 986 +iconst 988 1 +neq 989 987 988 +brif 989 L3812 L3813 label L3812 +strref 990 m18s333 +strref 991 m18s561 +load 992 arg_indices +call 993 pith_list_len int 1 992 +call 994 int_to_string string 1 993 +concat 995 991 994 +call 996 pith_cstring_release void 1 991 +call 997 pith_cstring_release void 1 994 +call 998 checker_diagnostics_report_error void 2 990 995 +call 999 pith_cstring_release void 1 990 +call 1000 pith_cstring_release void 1 995 +load 1001 recv_info +field 1002 1001 64 int inner +load 1003 method_name +call 1004 pith_cstring_release void 1 1003 +load 1005 recv_node +call 1006 pith_struct_release void 1 1005 +load 1007 arg_indices +call 1008 pith_list_release_handle void 1 1007 +load 1009 recv_name +call 1010 pith_cstring_release void 1 1009 +load 1011 module_path +call 1012 pith_cstring_release void 1 1011 +load 1013 ctor_type_name +call 1014 pith_cstring_release void 1 1013 +load 1015 ctor_info +call 1016 pith_struct_release void 1 1015 +load 1017 gen_ctor_name +call 1018 pith_cstring_release void 1 1017 +load 1019 qualified_name +call 1020 pith_cstring_release void 1 1019 +load 1021 module_name +call 1022 pith_cstring_release void 1 1021 +load 1023 generic_name +call 1024 pith_cstring_release void 1 1023 +load 1025 gdecl +call 1026 pith_struct_release void 1 1025 +load 1027 recv_info +call 1028 pith_struct_release void 1 1027 +load 1029 payload_types +call 1030 pith_list_release_handle void 1 1029 +load 1031 pa_node +call 1032 pith_struct_release void 1 1031 +load 1033 type_name +call 1034 pith_cstring_release void 1 1033 +load 1035 key +call 1036 pith_cstring_release void 1 1035 +load 1037 base_name +call 1038 pith_cstring_release void 1 1037 +load 1039 method_node +call 1040 pith_struct_release void 1 1039 +load 1041 struct_params +call 1042 pith_list_release_handle void 1 1041 +load 1043 struct_args +call 1044 pith_list_release_handle void 1 1043 +load 1045 base +call 1046 pith_cstring_release void 1 1045 +load 1047 sdecl +call 1048 pith_struct_release void 1 1047 +load 1049 assoc_base +call 1050 pith_cstring_release void 1 1049 +load 1051 bkey +call 1052 pith_cstring_release void 1 1051 +load 1053 param_types +call 1054 pith_list_release_handle void 1 1053 +load 1055 arg_node +call 1056 pith_struct_release void 1 1055 +ret 1002 +label L3813 +label L3811 +load 1057 arg_indices +iconst 1058 0 +call 1059 pith_list_get_value_strict int 2 1057 1058 +load 1060 recv_info +field 1061 1060 64 int inner +load 1062 scope_id +call 1063 checker_check_argument_type void 3 1059 1061 1062 +load 1064 recv_info +field 1065 1064 64 int inner +load 1066 method_name +call 1067 pith_cstring_release void 1 1066 +load 1068 recv_node +call 1069 pith_struct_release void 1 1068 +load 1070 arg_indices +call 1071 pith_list_release_handle void 1 1070 +load 1072 recv_name +call 1073 pith_cstring_release void 1 1072 +load 1074 module_path +call 1075 pith_cstring_release void 1 1074 +load 1076 ctor_type_name +call 1077 pith_cstring_release void 1 1076 +load 1078 ctor_info +call 1079 pith_struct_release void 1 1078 +load 1080 gen_ctor_name +call 1081 pith_cstring_release void 1 1080 +load 1082 qualified_name +call 1083 pith_cstring_release void 1 1082 +load 1084 module_name +call 1085 pith_cstring_release void 1 1084 +load 1086 generic_name +call 1087 pith_cstring_release void 1 1086 +load 1088 gdecl +call 1089 pith_struct_release void 1 1088 +load 1090 recv_info +call 1091 pith_struct_release void 1 1090 +load 1092 payload_types +call 1093 pith_list_release_handle void 1 1092 +load 1094 pa_node +call 1095 pith_struct_release void 1 1094 +load 1096 type_name +call 1097 pith_cstring_release void 1 1096 +load 1098 key +call 1099 pith_cstring_release void 1 1098 +load 1100 base_name +call 1101 pith_cstring_release void 1 1100 +load 1102 method_node +call 1103 pith_struct_release void 1 1102 +load 1104 struct_params +call 1105 pith_list_release_handle void 1 1104 +load 1106 struct_args +call 1107 pith_list_release_handle void 1 1106 +load 1108 base +call 1109 pith_cstring_release void 1 1108 +load 1110 sdecl +call 1111 pith_struct_release void 1 1110 +load 1112 assoc_base +call 1113 pith_cstring_release void 1 1112 +load 1114 bkey +call 1115 pith_cstring_release void 1 1114 +load 1116 param_types +call 1117 pith_list_release_handle void 1 1116 +load 1118 arg_node +call 1119 pith_struct_release void 1 1118 +ret 1065 label L3810 -load 471 qualified_name -load 472 module_path -load 473 method_name -call 474 checker_modules_module_import_target_name string 2 472 473 -call 475 pith_cstring_release void 1 471 -store qualified_name 474 -load 476 module_name -load 477 module_path -load 478 method_name -call 479 checker_modules_module_generic_target_name string 2 477 478 -call 480 pith_cstring_release void 1 476 -store module_name 479 -load 481 scope_id -load 482 module_name -call 483 scope_lookup_binding int 2 481 482 -store callee_type 483 -load 484 callee_type -iconst 485 0 -lt 486 484 485 -brif 486 L3814 L3815 +label L3808 +load 1120 recv_info +field 1121 1120 64 int inner +store dispatch_type 1121 +load 1122 recv_info +load 1123 dispatch_type +call 1124 types_get_type_info struct:TypeInfo 1 1123 +call 1125 pith_struct_release void 1 1122 +store recv_info 1124 +jmp L3802 +label L3804 +load 1126 recv_info +field 1127 1126 0 string kind +strref 1128 m18s29 +call 1129 pith_cstring_eq bool 2 1127 1128 +call 1130 pith_cstring_release void 1 1128 +brif 1129 L3814 L3815 label L3814 -load 487 scope_id -load 488 qualified_name -load 489 module_path -call 490 scope_lookup_binding_owned_by int 3 487 488 489 -store callee_type 490 -jmp L3813 -label L3815 -label L3813 -load 491 callee_type -iconst 492 0 -lt 493 491 492 -brif 493 L3817 L3818 +load 1131 method_name +load 1132 recv_info +load 1133 arg_indices +load 1134 scope_id +call 1135 checker_check_result_method_call int 4 1131 1132 1133 1134 +store result_method 1135 +load 1136 result_method +call 1137 types_is_error_type bool 1 1136 +iconst 1138 0 +eq 1139 1137 1138 +brif 1139 L3817 L3818 label L3817 -load 494 scope_id -load 495 method_name -load 496 module_path -call 497 scope_lookup_binding_owned_by int 3 494 495 496 -store callee_type 497 -jmp L3816 +load 1140 result_method +load 1141 method_name +call 1142 pith_cstring_release void 1 1141 +load 1143 recv_node +call 1144 pith_struct_release void 1 1143 +load 1145 arg_indices +call 1146 pith_list_release_handle void 1 1145 +load 1147 recv_name +call 1148 pith_cstring_release void 1 1147 +load 1149 module_path +call 1150 pith_cstring_release void 1 1149 +load 1151 ctor_type_name +call 1152 pith_cstring_release void 1 1151 +load 1153 ctor_info +call 1154 pith_struct_release void 1 1153 +load 1155 gen_ctor_name +call 1156 pith_cstring_release void 1 1155 +load 1157 qualified_name +call 1158 pith_cstring_release void 1 1157 +load 1159 module_name +call 1160 pith_cstring_release void 1 1159 +load 1161 generic_name +call 1162 pith_cstring_release void 1 1161 +load 1163 gdecl +call 1164 pith_struct_release void 1 1163 +load 1165 recv_info +call 1166 pith_struct_release void 1 1165 +load 1167 payload_types +call 1168 pith_list_release_handle void 1 1167 +load 1169 pa_node +call 1170 pith_struct_release void 1 1169 +load 1171 type_name +call 1172 pith_cstring_release void 1 1171 +load 1173 key +call 1174 pith_cstring_release void 1 1173 +load 1175 base_name +call 1176 pith_cstring_release void 1 1175 +load 1177 method_node +call 1178 pith_struct_release void 1 1177 +load 1179 struct_params +call 1180 pith_list_release_handle void 1 1179 +load 1181 struct_args +call 1182 pith_list_release_handle void 1 1181 +load 1183 base +call 1184 pith_cstring_release void 1 1183 +load 1185 sdecl +call 1186 pith_struct_release void 1 1185 +load 1187 assoc_base +call 1188 pith_cstring_release void 1 1187 +load 1189 bkey +call 1190 pith_cstring_release void 1 1189 +load 1191 param_types +call 1192 pith_list_release_handle void 1 1191 +load 1193 arg_node +call 1194 pith_struct_release void 1 1193 +ret 1140 label L3818 label L3816 -load 498 callee_type -iconst 499 0 -lt 500 498 499 -brif 500 L3820 L3821 +load 1195 recv_info +field 1196 1195 64 int inner +store dispatch_type 1196 +load 1197 recv_info +load 1198 dispatch_type +call 1199 types_get_type_info struct:TypeInfo 1 1198 +call 1200 pith_struct_release void 1 1197 +store recv_info 1199 +jmp L3802 +label L3815 +label L3802 +strref 1201 m18s12 +call 1202 types_lookup_type_id int 1 1201 +call 1203 pith_cstring_release void 1 1201 +store tid_string 1202 +strref 1204 m18s11 +call 1205 types_lookup_type_id int 1 1204 +call 1206 pith_cstring_release void 1 1204 +store tid_bytes 1205 +strref 1207 m18s16 +call 1208 types_lookup_type_id int 1 1207 +call 1209 pith_cstring_release void 1 1207 +store tid_int 1208 +strref 1210 m18s14 +call 1211 types_lookup_type_id int 1 1210 +call 1212 pith_cstring_release void 1 1210 +store tid_float 1211 +strref 1213 m18s13 +call 1214 types_lookup_type_id int 1 1213 +call 1215 pith_cstring_release void 1 1213 +store tid_bool 1214 +load 1216 dispatch_type +load 1217 tid_string +eq 1218 1216 1217 +brif 1218 L3820 L3821 label L3820 -load 501 generic_name -load 502 module_path -load 503 method_name -call 504 checker_modules_module_generic_target_name string 2 502 503 -call 505 pith_cstring_release void 1 501 -store generic_name 504 -load 506 generic_name -call 507 checker_has_generic_declaration bool 1 506 -brif 507 L3823 L3824 +load 1219 method_name +load 1220 arg_indices +load 1221 scope_id +call 1222 checker_check_string_method_call int 3 1219 1220 1221 +load 1223 method_name +call 1224 pith_cstring_release void 1 1223 +load 1225 recv_node +call 1226 pith_struct_release void 1 1225 +load 1227 arg_indices +call 1228 pith_list_release_handle void 1 1227 +load 1229 recv_name +call 1230 pith_cstring_release void 1 1229 +load 1231 module_path +call 1232 pith_cstring_release void 1 1231 +load 1233 ctor_type_name +call 1234 pith_cstring_release void 1 1233 +load 1235 ctor_info +call 1236 pith_struct_release void 1 1235 +load 1237 gen_ctor_name +call 1238 pith_cstring_release void 1 1237 +load 1239 qualified_name +call 1240 pith_cstring_release void 1 1239 +load 1241 module_name +call 1242 pith_cstring_release void 1 1241 +load 1243 generic_name +call 1244 pith_cstring_release void 1 1243 +load 1245 gdecl +call 1246 pith_struct_release void 1 1245 +load 1247 recv_info +call 1248 pith_struct_release void 1 1247 +load 1249 payload_types +call 1250 pith_list_release_handle void 1 1249 +load 1251 pa_node +call 1252 pith_struct_release void 1 1251 +load 1253 type_name +call 1254 pith_cstring_release void 1 1253 +load 1255 key +call 1256 pith_cstring_release void 1 1255 +load 1257 base_name +call 1258 pith_cstring_release void 1 1257 +load 1259 method_node +call 1260 pith_struct_release void 1 1259 +load 1261 struct_params +call 1262 pith_list_release_handle void 1 1261 +load 1263 struct_args +call 1264 pith_list_release_handle void 1 1263 +load 1265 base +call 1266 pith_cstring_release void 1 1265 +load 1267 sdecl +call 1268 pith_struct_release void 1 1267 +load 1269 assoc_base +call 1270 pith_cstring_release void 1 1269 +load 1271 bkey +call 1272 pith_cstring_release void 1 1271 +load 1273 param_types +call 1274 pith_list_release_handle void 1 1273 +load 1275 arg_node +call 1276 pith_struct_release void 1 1275 +ret 1222 +label L3821 +label L3819 +load 1277 dispatch_type +load 1278 tid_bytes +eq 1279 1277 1278 +brif 1279 L3823 L3824 label L3823 -load 508 generic_name -load 509 arg_indices -load 510 scope_id -call 511 checker_check_generic_function_call int 3 508 509 510 -load 512 method_name -call 513 pith_cstring_release void 1 512 -load 514 recv_node -call 515 pith_struct_release void 1 514 -load 516 arg_indices -call 517 pith_list_release_handle void 1 516 -load 518 recv_name -call 519 pith_cstring_release void 1 518 -load 520 module_path -call 521 pith_cstring_release void 1 520 -load 522 ctor_type_name -call 523 pith_cstring_release void 1 522 -load 524 ctor_info -call 525 pith_struct_release void 1 524 -load 526 gen_ctor_name -call 527 pith_cstring_release void 1 526 -load 528 qualified_name -call 529 pith_cstring_release void 1 528 -load 530 module_name -call 531 pith_cstring_release void 1 530 -load 532 generic_name -call 533 pith_cstring_release void 1 532 -load 534 gdecl -call 535 pith_struct_release void 1 534 -load 536 recv_info -call 537 pith_struct_release void 1 536 -load 538 payload_types -call 539 pith_list_release_handle void 1 538 -load 540 pa_node -call 541 pith_struct_release void 1 540 -load 542 type_name -call 543 pith_cstring_release void 1 542 -load 544 key -call 545 pith_cstring_release void 1 544 -load 546 base_name -call 547 pith_cstring_release void 1 546 -load 548 method_node -call 549 pith_struct_release void 1 548 -load 550 struct_params -call 551 pith_list_release_handle void 1 550 -load 552 struct_args -call 553 pith_list_release_handle void 1 552 -load 554 base -call 555 pith_cstring_release void 1 554 -load 556 sdecl -call 557 pith_struct_release void 1 556 -load 558 assoc_base -call 559 pith_cstring_release void 1 558 -load 560 bkey -call 561 pith_cstring_release void 1 560 -load 562 param_types -call 563 pith_list_release_handle void 1 562 -load 564 arg_node -call 565 pith_struct_release void 1 564 -ret 511 +load 1280 method_name +load 1281 arg_indices +load 1282 scope_id +call 1283 checker_check_bytes_method_call int 3 1280 1281 1282 +load 1284 method_name +call 1285 pith_cstring_release void 1 1284 +load 1286 recv_node +call 1287 pith_struct_release void 1 1286 +load 1288 arg_indices +call 1289 pith_list_release_handle void 1 1288 +load 1290 recv_name +call 1291 pith_cstring_release void 1 1290 +load 1292 module_path +call 1293 pith_cstring_release void 1 1292 +load 1294 ctor_type_name +call 1295 pith_cstring_release void 1 1294 +load 1296 ctor_info +call 1297 pith_struct_release void 1 1296 +load 1298 gen_ctor_name +call 1299 pith_cstring_release void 1 1298 +load 1300 qualified_name +call 1301 pith_cstring_release void 1 1300 +load 1302 module_name +call 1303 pith_cstring_release void 1 1302 +load 1304 generic_name +call 1305 pith_cstring_release void 1 1304 +load 1306 gdecl +call 1307 pith_struct_release void 1 1306 +load 1308 recv_info +call 1309 pith_struct_release void 1 1308 +load 1310 payload_types +call 1311 pith_list_release_handle void 1 1310 +load 1312 pa_node +call 1313 pith_struct_release void 1 1312 +load 1314 type_name +call 1315 pith_cstring_release void 1 1314 +load 1316 key +call 1317 pith_cstring_release void 1 1316 +load 1318 base_name +call 1319 pith_cstring_release void 1 1318 +load 1320 method_node +call 1321 pith_struct_release void 1 1320 +load 1322 struct_params +call 1323 pith_list_release_handle void 1 1322 +load 1324 struct_args +call 1325 pith_list_release_handle void 1 1324 +load 1326 base +call 1327 pith_cstring_release void 1 1326 +load 1328 sdecl +call 1329 pith_struct_release void 1 1328 +load 1330 assoc_base +call 1331 pith_cstring_release void 1 1330 +load 1332 bkey +call 1333 pith_cstring_release void 1 1332 +load 1334 param_types +call 1335 pith_list_release_handle void 1 1334 +load 1336 arg_node +call 1337 pith_struct_release void 1 1336 +ret 1283 label L3824 label L3822 -load 566 method_name -call 567 checker_has_generic_declaration bool 1 566 -brif 567 L3826 L3827 +load 1338 dispatch_type +call 1339 types_is_integer_type bool 1 1338 +brif 1339 L3826 L3827 label L3826 -load 568 method_name -load 569 arg_indices -load 570 scope_id -call 571 checker_check_generic_function_call int 3 568 569 570 -load 572 method_name -call 573 pith_cstring_release void 1 572 -load 574 recv_node -call 575 pith_struct_release void 1 574 -load 576 arg_indices -call 577 pith_list_release_handle void 1 576 -load 578 recv_name -call 579 pith_cstring_release void 1 578 -load 580 module_path -call 581 pith_cstring_release void 1 580 -load 582 ctor_type_name -call 583 pith_cstring_release void 1 582 -load 584 ctor_info -call 585 pith_struct_release void 1 584 -load 586 gen_ctor_name -call 587 pith_cstring_release void 1 586 -load 588 qualified_name -call 589 pith_cstring_release void 1 588 -load 590 module_name -call 591 pith_cstring_release void 1 590 -load 592 generic_name -call 593 pith_cstring_release void 1 592 -load 594 gdecl -call 595 pith_struct_release void 1 594 -load 596 recv_info -call 597 pith_struct_release void 1 596 -load 598 payload_types -call 599 pith_list_release_handle void 1 598 -load 600 pa_node -call 601 pith_struct_release void 1 600 -load 602 type_name -call 603 pith_cstring_release void 1 602 -load 604 key -call 605 pith_cstring_release void 1 604 -load 606 base_name -call 607 pith_cstring_release void 1 606 -load 608 method_node -call 609 pith_struct_release void 1 608 -load 610 struct_params -call 611 pith_list_release_handle void 1 610 -load 612 struct_args -call 613 pith_list_release_handle void 1 612 -load 614 base -call 615 pith_cstring_release void 1 614 -load 616 sdecl -call 617 pith_struct_release void 1 616 -load 618 assoc_base -call 619 pith_cstring_release void 1 618 -load 620 bkey -call 621 pith_cstring_release void 1 620 -load 622 param_types -call 623 pith_list_release_handle void 1 622 -load 624 arg_node -call 625 pith_struct_release void 1 624 -ret 571 +load 1340 method_name +load 1341 arg_indices +load 1342 scope_id +call 1343 checker_check_int_method_call int 3 1340 1341 1342 +load 1344 method_name +call 1345 pith_cstring_release void 1 1344 +load 1346 recv_node +call 1347 pith_struct_release void 1 1346 +load 1348 arg_indices +call 1349 pith_list_release_handle void 1 1348 +load 1350 recv_name +call 1351 pith_cstring_release void 1 1350 +load 1352 module_path +call 1353 pith_cstring_release void 1 1352 +load 1354 ctor_type_name +call 1355 pith_cstring_release void 1 1354 +load 1356 ctor_info +call 1357 pith_struct_release void 1 1356 +load 1358 gen_ctor_name +call 1359 pith_cstring_release void 1 1358 +load 1360 qualified_name +call 1361 pith_cstring_release void 1 1360 +load 1362 module_name +call 1363 pith_cstring_release void 1 1362 +load 1364 generic_name +call 1365 pith_cstring_release void 1 1364 +load 1366 gdecl +call 1367 pith_struct_release void 1 1366 +load 1368 recv_info +call 1369 pith_struct_release void 1 1368 +load 1370 payload_types +call 1371 pith_list_release_handle void 1 1370 +load 1372 pa_node +call 1373 pith_struct_release void 1 1372 +load 1374 type_name +call 1375 pith_cstring_release void 1 1374 +load 1376 key +call 1377 pith_cstring_release void 1 1376 +load 1378 base_name +call 1379 pith_cstring_release void 1 1378 +load 1380 method_node +call 1381 pith_struct_release void 1 1380 +load 1382 struct_params +call 1383 pith_list_release_handle void 1 1382 +load 1384 struct_args +call 1385 pith_list_release_handle void 1 1384 +load 1386 base +call 1387 pith_cstring_release void 1 1386 +load 1388 sdecl +call 1389 pith_struct_release void 1 1388 +load 1390 assoc_base +call 1391 pith_cstring_release void 1 1390 +load 1392 bkey +call 1393 pith_cstring_release void 1 1392 +load 1394 param_types +call 1395 pith_list_release_handle void 1 1394 +load 1396 arg_node +call 1397 pith_struct_release void 1 1396 +ret 1343 label L3827 label L3825 -jmp L3819 -label L3821 -label L3819 -load 626 callee_type -iconst 627 0 -lt 628 626 627 -brif 628 L3829 L3830 +load 1398 dispatch_type +load 1399 tid_float +eq 1400 1398 1399 +brif 1400 L3829 L3830 label L3829 -load 629 recv_name -load 630 method_name -load 631 arg_indices -load 632 scope_id -call 633 checker_report_undefined_module_function void 4 629 630 631 632 -load 634 types_TID_ERR -load 635 method_name -call 636 pith_cstring_release void 1 635 -load 637 recv_node -call 638 pith_struct_release void 1 637 -load 639 arg_indices -call 640 pith_list_release_handle void 1 639 -load 641 recv_name -call 642 pith_cstring_release void 1 641 -load 643 module_path -call 644 pith_cstring_release void 1 643 -load 645 ctor_type_name -call 646 pith_cstring_release void 1 645 -load 647 ctor_info -call 648 pith_struct_release void 1 647 -load 649 gen_ctor_name -call 650 pith_cstring_release void 1 649 -load 651 qualified_name -call 652 pith_cstring_release void 1 651 -load 653 module_name -call 654 pith_cstring_release void 1 653 -load 655 generic_name -call 656 pith_cstring_release void 1 655 -load 657 gdecl -call 658 pith_struct_release void 1 657 -load 659 recv_info -call 660 pith_struct_release void 1 659 -load 661 payload_types -call 662 pith_list_release_handle void 1 661 -load 663 pa_node -call 664 pith_struct_release void 1 663 -load 665 type_name -call 666 pith_cstring_release void 1 665 -load 667 key -call 668 pith_cstring_release void 1 667 -load 669 base_name -call 670 pith_cstring_release void 1 669 -load 671 method_node -call 672 pith_struct_release void 1 671 -load 673 struct_params -call 674 pith_list_release_handle void 1 673 -load 675 struct_args -call 676 pith_list_release_handle void 1 675 -load 677 base -call 678 pith_cstring_release void 1 677 -load 679 sdecl -call 680 pith_struct_release void 1 679 -load 681 assoc_base -call 682 pith_cstring_release void 1 681 -load 683 bkey -call 684 pith_cstring_release void 1 683 -load 685 param_types -call 686 pith_list_release_handle void 1 685 -load 687 arg_node -call 688 pith_struct_release void 1 687 -ret 634 +load 1401 method_name +load 1402 arg_indices +load 1403 scope_id +call 1404 checker_check_float_method_call int 3 1401 1402 1403 +load 1405 method_name +call 1406 pith_cstring_release void 1 1405 +load 1407 recv_node +call 1408 pith_struct_release void 1 1407 +load 1409 arg_indices +call 1410 pith_list_release_handle void 1 1409 +load 1411 recv_name +call 1412 pith_cstring_release void 1 1411 +load 1413 module_path +call 1414 pith_cstring_release void 1 1413 +load 1415 ctor_type_name +call 1416 pith_cstring_release void 1 1415 +load 1417 ctor_info +call 1418 pith_struct_release void 1 1417 +load 1419 gen_ctor_name +call 1420 pith_cstring_release void 1 1419 +load 1421 qualified_name +call 1422 pith_cstring_release void 1 1421 +load 1423 module_name +call 1424 pith_cstring_release void 1 1423 +load 1425 generic_name +call 1426 pith_cstring_release void 1 1425 +load 1427 gdecl +call 1428 pith_struct_release void 1 1427 +load 1429 recv_info +call 1430 pith_struct_release void 1 1429 +load 1431 payload_types +call 1432 pith_list_release_handle void 1 1431 +load 1433 pa_node +call 1434 pith_struct_release void 1 1433 +load 1435 type_name +call 1436 pith_cstring_release void 1 1435 +load 1437 key +call 1438 pith_cstring_release void 1 1437 +load 1439 base_name +call 1440 pith_cstring_release void 1 1439 +load 1441 method_node +call 1442 pith_struct_release void 1 1441 +load 1443 struct_params +call 1444 pith_list_release_handle void 1 1443 +load 1445 struct_args +call 1446 pith_list_release_handle void 1 1445 +load 1447 base +call 1448 pith_cstring_release void 1 1447 +load 1449 sdecl +call 1450 pith_struct_release void 1 1449 +load 1451 assoc_base +call 1452 pith_cstring_release void 1 1451 +load 1453 bkey +call 1454 pith_cstring_release void 1 1453 +load 1455 param_types +call 1456 pith_list_release_handle void 1 1455 +load 1457 arg_node +call 1458 pith_struct_release void 1 1457 +ret 1404 label L3830 label L3828 -call 689 checker_diagnostics_checker_current_node_index int 0 -load 690 scope_id -load 691 module_name -call 692 scope_lookup_binding_decl_node int 2 690 691 -call 693 checker_record_definition void 2 689 692 -load 694 callee_type -load 695 arg_indices -load 696 scope_id -call 697 checker_check_callable_type_with_args int 3 694 695 696 -load 698 method_name -call 699 pith_cstring_release void 1 698 -load 700 recv_node -call 701 pith_struct_release void 1 700 -load 702 arg_indices -call 703 pith_list_release_handle void 1 702 -load 704 recv_name -call 705 pith_cstring_release void 1 704 -load 706 module_path -call 707 pith_cstring_release void 1 706 -load 708 ctor_type_name -call 709 pith_cstring_release void 1 708 -load 710 ctor_info -call 711 pith_struct_release void 1 710 -load 712 gen_ctor_name -call 713 pith_cstring_release void 1 712 -load 714 qualified_name -call 715 pith_cstring_release void 1 714 -load 716 module_name -call 717 pith_cstring_release void 1 716 -load 718 generic_name -call 719 pith_cstring_release void 1 718 -load 720 gdecl -call 721 pith_struct_release void 1 720 -load 722 recv_info -call 723 pith_struct_release void 1 722 -load 724 payload_types -call 725 pith_list_release_handle void 1 724 -load 726 pa_node -call 727 pith_struct_release void 1 726 -load 728 type_name -call 729 pith_cstring_release void 1 728 -load 730 key -call 731 pith_cstring_release void 1 730 -load 732 base_name -call 733 pith_cstring_release void 1 732 -load 734 method_node -call 735 pith_struct_release void 1 734 -load 736 struct_params -call 737 pith_list_release_handle void 1 736 -load 738 struct_args -call 739 pith_list_release_handle void 1 738 -load 740 base -call 741 pith_cstring_release void 1 740 -load 742 sdecl -call 743 pith_struct_release void 1 742 -load 744 assoc_base -call 745 pith_cstring_release void 1 744 -load 746 bkey -call 747 pith_cstring_release void 1 746 -load 748 param_types -call 749 pith_list_release_handle void 1 748 -load 750 arg_node -call 751 pith_struct_release void 1 750 -ret 697 -label L3786 -label L3784 -jmp L3781 -label L3783 -label L3781 -iconst 752 0 -store __and_752_3834 752 -load 753 recv_node -field 754 753 0 string kind -strref 755 m18s319 -call 756 pith_cstring_eq bool 2 754 755 -call 757 pith_cstring_release void 1 755 -store __and_752_3834 756 -brif 756 L3834 L3835 -label L3834 -load 758 recv_node -field 759 758 8 string value -call 760 checker_has_generic_declaration bool 1 759 -store __and_752_3834 760 -label L3835 -load 761 __and_752_3834 -brif 761 L3832 L3833 +load 1459 dispatch_type +load 1460 tid_bool +eq 1461 1459 1460 +brif 1461 L3832 L3833 label L3832 -load 762 recv_node -field 763 762 8 string value -call 764 checker_get_generic_declaration_index int 1 763 -store gdecl_idx 764 -load 765 gdecl -load 766 gdecl_idx -call 767 ast_get_node struct:Node 1 766 -call 768 pith_struct_release void 1 765 -store gdecl 767 -iconst 769 0 -store __and_769_3839 769 -load 770 gdecl -field 771 770 0 string kind -strref 772 m18s312 -call 773 pith_cstring_eq bool 2 771 772 -call 774 pith_cstring_release void 1 772 -store __and_769_3839 773 -brif 773 L3839 L3840 +load 1462 method_name +load 1463 arg_indices +load 1464 scope_id +call 1465 checker_check_bool_method_call int 3 1462 1463 1464 +load 1466 method_name +call 1467 pith_cstring_release void 1 1466 +load 1468 recv_node +call 1469 pith_struct_release void 1 1468 +load 1470 arg_indices +call 1471 pith_list_release_handle void 1 1470 +load 1472 recv_name +call 1473 pith_cstring_release void 1 1472 +load 1474 module_path +call 1475 pith_cstring_release void 1 1474 +load 1476 ctor_type_name +call 1477 pith_cstring_release void 1 1476 +load 1478 ctor_info +call 1479 pith_struct_release void 1 1478 +load 1480 gen_ctor_name +call 1481 pith_cstring_release void 1 1480 +load 1482 qualified_name +call 1483 pith_cstring_release void 1 1482 +load 1484 module_name +call 1485 pith_cstring_release void 1 1484 +load 1486 generic_name +call 1487 pith_cstring_release void 1 1486 +load 1488 gdecl +call 1489 pith_struct_release void 1 1488 +load 1490 recv_info +call 1491 pith_struct_release void 1 1490 +load 1492 payload_types +call 1493 pith_list_release_handle void 1 1492 +load 1494 pa_node +call 1495 pith_struct_release void 1 1494 +load 1496 type_name +call 1497 pith_cstring_release void 1 1496 +load 1498 key +call 1499 pith_cstring_release void 1 1498 +load 1500 base_name +call 1501 pith_cstring_release void 1 1500 +load 1502 method_node +call 1503 pith_struct_release void 1 1502 +load 1504 struct_params +call 1505 pith_list_release_handle void 1 1504 +load 1506 struct_args +call 1507 pith_list_release_handle void 1 1506 +load 1508 base +call 1509 pith_cstring_release void 1 1508 +load 1510 sdecl +call 1511 pith_struct_release void 1 1510 +load 1512 assoc_base +call 1513 pith_cstring_release void 1 1512 +load 1514 bkey +call 1515 pith_cstring_release void 1 1514 +load 1516 param_types +call 1517 pith_list_release_handle void 1 1516 +load 1518 arg_node +call 1519 pith_struct_release void 1 1518 +ret 1465 +label L3833 +label L3831 +load 1520 recv_info +field 1521 1520 0 string kind +strref 1522 m18s23 +call 1523 pith_cstring_eq bool 2 1521 1522 +call 1524 pith_cstring_release void 1 1522 +brif 1523 L3835 L3836 +label L3835 +load 1525 method_name +load 1526 recv_info +load 1527 arg_indices +load 1528 scope_id +call 1529 checker_check_list_method_call int 4 1525 1526 1527 1528 +store result 1529 +load 1530 result +call 1531 checker_method_table_answered bool 1 1530 +brif 1531 L3838 L3839 +label L3838 +load 1532 result +load 1533 method_name +call 1534 pith_cstring_release void 1 1533 +load 1535 recv_node +call 1536 pith_struct_release void 1 1535 +load 1537 arg_indices +call 1538 pith_list_release_handle void 1 1537 +load 1539 recv_name +call 1540 pith_cstring_release void 1 1539 +load 1541 module_path +call 1542 pith_cstring_release void 1 1541 +load 1543 ctor_type_name +call 1544 pith_cstring_release void 1 1543 +load 1545 ctor_info +call 1546 pith_struct_release void 1 1545 +load 1547 gen_ctor_name +call 1548 pith_cstring_release void 1 1547 +load 1549 qualified_name +call 1550 pith_cstring_release void 1 1549 +load 1551 module_name +call 1552 pith_cstring_release void 1 1551 +load 1553 generic_name +call 1554 pith_cstring_release void 1 1553 +load 1555 gdecl +call 1556 pith_struct_release void 1 1555 +load 1557 recv_info +call 1558 pith_struct_release void 1 1557 +load 1559 payload_types +call 1560 pith_list_release_handle void 1 1559 +load 1561 pa_node +call 1562 pith_struct_release void 1 1561 +load 1563 type_name +call 1564 pith_cstring_release void 1 1563 +load 1565 key +call 1566 pith_cstring_release void 1 1565 +load 1567 base_name +call 1568 pith_cstring_release void 1 1567 +load 1569 method_node +call 1570 pith_struct_release void 1 1569 +load 1571 struct_params +call 1572 pith_list_release_handle void 1 1571 +load 1573 struct_args +call 1574 pith_list_release_handle void 1 1573 +load 1575 base +call 1576 pith_cstring_release void 1 1575 +load 1577 sdecl +call 1578 pith_struct_release void 1 1577 +load 1579 assoc_base +call 1580 pith_cstring_release void 1 1579 +load 1581 bkey +call 1582 pith_cstring_release void 1 1581 +load 1583 param_types +call 1584 pith_list_release_handle void 1 1583 +load 1585 arg_node +call 1586 pith_struct_release void 1 1585 +ret 1532 label L3839 -load 775 gdecl -load 776 method_name -call 777 checker_enum_decl_has_variant bool 2 775 776 -store __and_769_3839 777 -label L3840 -load 778 __and_769_3839 -brif 778 L3837 L3838 label L3837 -load 779 recv_node -field 780 779 8 string value -load 781 gdecl_idx -load 782 method_name -load 783 arg_indices -load 784 scope_id -call 785 checker_check_generic_enum_variant_construction int 5 780 781 782 783 784 -load 786 method_name -call 787 pith_cstring_release void 1 786 -load 788 recv_node -call 789 pith_struct_release void 1 788 -load 790 arg_indices -call 791 pith_list_release_handle void 1 790 -load 792 recv_name -call 793 pith_cstring_release void 1 792 -load 794 module_path -call 795 pith_cstring_release void 1 794 -load 796 ctor_type_name -call 797 pith_cstring_release void 1 796 -load 798 ctor_info -call 799 pith_struct_release void 1 798 -load 800 gen_ctor_name -call 801 pith_cstring_release void 1 800 -load 802 qualified_name -call 803 pith_cstring_release void 1 802 -load 804 module_name -call 805 pith_cstring_release void 1 804 -load 806 generic_name -call 807 pith_cstring_release void 1 806 -load 808 gdecl -call 809 pith_struct_release void 1 808 -load 810 recv_info -call 811 pith_struct_release void 1 810 -load 812 payload_types -call 813 pith_list_release_handle void 1 812 -load 814 pa_node -call 815 pith_struct_release void 1 814 -load 816 type_name -call 817 pith_cstring_release void 1 816 -load 818 key -call 819 pith_cstring_release void 1 818 -load 820 base_name -call 821 pith_cstring_release void 1 820 -load 822 method_node -call 823 pith_struct_release void 1 822 -load 824 struct_params -call 825 pith_list_release_handle void 1 824 -load 826 struct_args -call 827 pith_list_release_handle void 1 826 -load 828 base -call 829 pith_cstring_release void 1 828 -load 830 sdecl -call 831 pith_struct_release void 1 830 -load 832 assoc_base -call 833 pith_cstring_release void 1 832 -load 834 bkey -call 835 pith_cstring_release void 1 834 -load 836 param_types -call 837 pith_list_release_handle void 1 836 -load 838 arg_node -call 839 pith_struct_release void 1 838 -ret 785 -label L3838 +jmp L3834 label L3836 -jmp L3831 -label L3833 -label L3831 -load 840 node -field 841 840 16 list children -iconst 842 0 -call 843 pith_list_get_value_strict int 2 841 842 -load 844 scope_id -call 845 checker_c_check_expr int 2 843 844 -store receiver_type 845 -iconst 846 0 -store __and_846_3844 846 -load 847 receiver_type -call 848 types_is_error_type bool 1 847 -store __and_846_3844 848 -brif 848 L3844 L3845 +label L3834 +load 1587 recv_info +field 1588 1587 0 string kind +strref 1589 m18s21 +call 1590 pith_cstring_eq bool 2 1588 1589 +call 1591 pith_cstring_release void 1 1589 +brif 1590 L3841 L3842 +label L3841 +load 1592 method_name +load 1593 recv_info +load 1594 arg_indices +load 1595 scope_id +call 1596 checker_check_map_method_call int 4 1592 1593 1594 1595 +store result 1596 +load 1597 result +call 1598 checker_method_table_answered bool 1 1597 +brif 1598 L3844 L3845 label L3844 -load 849 recv_node -field 850 849 0 string kind -strref 851 m18s319 -call 852 pith_cstring_eq bool 2 850 851 -call 853 pith_cstring_release void 1 851 -store __and_846_3844 852 +load 1599 result +load 1600 method_name +call 1601 pith_cstring_release void 1 1600 +load 1602 recv_node +call 1603 pith_struct_release void 1 1602 +load 1604 arg_indices +call 1605 pith_list_release_handle void 1 1604 +load 1606 recv_name +call 1607 pith_cstring_release void 1 1606 +load 1608 module_path +call 1609 pith_cstring_release void 1 1608 +load 1610 ctor_type_name +call 1611 pith_cstring_release void 1 1610 +load 1612 ctor_info +call 1613 pith_struct_release void 1 1612 +load 1614 gen_ctor_name +call 1615 pith_cstring_release void 1 1614 +load 1616 qualified_name +call 1617 pith_cstring_release void 1 1616 +load 1618 module_name +call 1619 pith_cstring_release void 1 1618 +load 1620 generic_name +call 1621 pith_cstring_release void 1 1620 +load 1622 gdecl +call 1623 pith_struct_release void 1 1622 +load 1624 recv_info +call 1625 pith_struct_release void 1 1624 +load 1626 payload_types +call 1627 pith_list_release_handle void 1 1626 +load 1628 pa_node +call 1629 pith_struct_release void 1 1628 +load 1630 type_name +call 1631 pith_cstring_release void 1 1630 +load 1632 key +call 1633 pith_cstring_release void 1 1632 +load 1634 base_name +call 1635 pith_cstring_release void 1 1634 +load 1636 method_node +call 1637 pith_struct_release void 1 1636 +load 1638 struct_params +call 1639 pith_list_release_handle void 1 1638 +load 1640 struct_args +call 1641 pith_list_release_handle void 1 1640 +load 1642 base +call 1643 pith_cstring_release void 1 1642 +load 1644 sdecl +call 1645 pith_struct_release void 1 1644 +load 1646 assoc_base +call 1647 pith_cstring_release void 1 1646 +load 1648 bkey +call 1649 pith_cstring_release void 1 1648 +load 1650 param_types +call 1651 pith_list_release_handle void 1 1650 +load 1652 arg_node +call 1653 pith_struct_release void 1 1652 +ret 1599 label L3845 -load 854 __and_846_3844 -brif 854 L3842 L3843 -label L3842 -load 855 recv_node -field 856 855 8 string value -load 857 method_name -load 858 arg_indices -load 859 scope_id -load 860 node -field 861 860 16 list children -iconst 862 0 -call 863 pith_list_get_value_strict int 2 861 862 -call 864 checker_refine_empty_literal_binding int 5 856 857 858 859 863 -store receiver_type 864 -jmp L3841 label L3843 -label L3841 -load 865 receiver_type -call 866 types_is_error_type bool 1 865 -brif 866 L3847 L3848 +jmp L3840 +label L3842 +label L3840 +load 1654 recv_info +field 1655 1654 0 string kind +strref 1656 m18s19 +call 1657 pith_cstring_eq bool 2 1655 1656 +call 1658 pith_cstring_release void 1 1656 +brif 1657 L3847 L3848 label L3847 -load 867 types_TID_ERR -load 868 method_name -call 869 pith_cstring_release void 1 868 -load 870 recv_node -call 871 pith_struct_release void 1 870 -load 872 arg_indices -call 873 pith_list_release_handle void 1 872 -load 874 recv_name -call 875 pith_cstring_release void 1 874 -load 876 module_path -call 877 pith_cstring_release void 1 876 -load 878 ctor_type_name -call 879 pith_cstring_release void 1 878 -load 880 ctor_info -call 881 pith_struct_release void 1 880 -load 882 gen_ctor_name -call 883 pith_cstring_release void 1 882 -load 884 qualified_name -call 885 pith_cstring_release void 1 884 -load 886 module_name -call 887 pith_cstring_release void 1 886 -load 888 generic_name -call 889 pith_cstring_release void 1 888 -load 890 gdecl -call 891 pith_struct_release void 1 890 -load 892 recv_info -call 893 pith_struct_release void 1 892 -load 894 payload_types -call 895 pith_list_release_handle void 1 894 -load 896 pa_node -call 897 pith_struct_release void 1 896 -load 898 type_name -call 899 pith_cstring_release void 1 898 -load 900 key -call 901 pith_cstring_release void 1 900 -load 902 base_name -call 903 pith_cstring_release void 1 902 -load 904 method_node -call 905 pith_struct_release void 1 904 -load 906 struct_params -call 907 pith_list_release_handle void 1 906 -load 908 struct_args -call 909 pith_list_release_handle void 1 908 -load 910 base -call 911 pith_cstring_release void 1 910 -load 912 sdecl -call 913 pith_struct_release void 1 912 -load 914 assoc_base -call 915 pith_cstring_release void 1 914 -load 916 bkey -call 917 pith_cstring_release void 1 916 -load 918 param_types -call 919 pith_list_release_handle void 1 918 -load 920 arg_node -call 921 pith_struct_release void 1 920 -ret 867 +load 1659 method_name +load 1660 recv_info +load 1661 arg_indices +load 1662 scope_id +call 1663 checker_check_set_method_call int 4 1659 1660 1661 1662 +store result 1663 +load 1664 result +call 1665 checker_method_table_answered bool 1 1664 +brif 1665 L3850 L3851 +label L3850 +load 1666 result +load 1667 method_name +call 1668 pith_cstring_release void 1 1667 +load 1669 recv_node +call 1670 pith_struct_release void 1 1669 +load 1671 arg_indices +call 1672 pith_list_release_handle void 1 1671 +load 1673 recv_name +call 1674 pith_cstring_release void 1 1673 +load 1675 module_path +call 1676 pith_cstring_release void 1 1675 +load 1677 ctor_type_name +call 1678 pith_cstring_release void 1 1677 +load 1679 ctor_info +call 1680 pith_struct_release void 1 1679 +load 1681 gen_ctor_name +call 1682 pith_cstring_release void 1 1681 +load 1683 qualified_name +call 1684 pith_cstring_release void 1 1683 +load 1685 module_name +call 1686 pith_cstring_release void 1 1685 +load 1687 generic_name +call 1688 pith_cstring_release void 1 1687 +load 1689 gdecl +call 1690 pith_struct_release void 1 1689 +load 1691 recv_info +call 1692 pith_struct_release void 1 1691 +load 1693 payload_types +call 1694 pith_list_release_handle void 1 1693 +load 1695 pa_node +call 1696 pith_struct_release void 1 1695 +load 1697 type_name +call 1698 pith_cstring_release void 1 1697 +load 1699 key +call 1700 pith_cstring_release void 1 1699 +load 1701 base_name +call 1702 pith_cstring_release void 1 1701 +load 1703 method_node +call 1704 pith_struct_release void 1 1703 +load 1705 struct_params +call 1706 pith_list_release_handle void 1 1705 +load 1707 struct_args +call 1708 pith_list_release_handle void 1 1707 +load 1709 base +call 1710 pith_cstring_release void 1 1709 +load 1711 sdecl +call 1712 pith_struct_release void 1 1711 +load 1713 assoc_base +call 1714 pith_cstring_release void 1 1713 +load 1715 bkey +call 1716 pith_cstring_release void 1 1715 +load 1717 param_types +call 1718 pith_list_release_handle void 1 1717 +load 1719 arg_node +call 1720 pith_struct_release void 1 1719 +ret 1666 +label L3851 +label L3849 +jmp L3846 label L3848 label L3846 -load 922 recv_info -load 923 receiver_type -call 924 types_get_type_info struct:TypeInfo 1 923 -call 925 pith_struct_release void 1 922 -store recv_info 924 -load 926 receiver_type -store dispatch_type 926 -load 927 recv_info -field 928 927 0 string kind -strref 929 m18s30 -call 930 pith_cstring_eq bool 2 928 929 -call 931 pith_cstring_release void 1 929 -brif 930 L3850 L3851 -label L3850 -load 932 method_name -strref 933 m18s78 -call 934 pith_cstring_eq bool 2 932 933 -call 935 pith_cstring_release void 1 933 -brif 934 L3853 L3854 +load 1721 recv_info +field 1722 1721 0 string kind +strref 1723 m18s25 +call 1724 pith_cstring_eq bool 2 1722 1723 +call 1725 pith_cstring_release void 1 1723 +brif 1724 L3853 L3854 label L3853 -load 936 method_name -load 937 arg_indices -call 938 checker_expect_no_arguments void 2 936 937 -load 939 recv_info -field 940 939 64 int inner -load 941 method_name -call 942 pith_cstring_release void 1 941 -load 943 recv_node -call 944 pith_struct_release void 1 943 -load 945 arg_indices -call 946 pith_list_release_handle void 1 945 -load 947 recv_name -call 948 pith_cstring_release void 1 947 -load 949 module_path -call 950 pith_cstring_release void 1 949 -load 951 ctor_type_name -call 952 pith_cstring_release void 1 951 -load 953 ctor_info -call 954 pith_struct_release void 1 953 -load 955 gen_ctor_name -call 956 pith_cstring_release void 1 955 -load 957 qualified_name -call 958 pith_cstring_release void 1 957 -load 959 module_name -call 960 pith_cstring_release void 1 959 -load 961 generic_name -call 962 pith_cstring_release void 1 961 -load 963 gdecl -call 964 pith_struct_release void 1 963 -load 965 recv_info -call 966 pith_struct_release void 1 965 -load 967 payload_types -call 968 pith_list_release_handle void 1 967 -load 969 pa_node -call 970 pith_struct_release void 1 969 -load 971 type_name -call 972 pith_cstring_release void 1 971 -load 973 key -call 974 pith_cstring_release void 1 973 -load 975 base_name -call 976 pith_cstring_release void 1 975 -load 977 method_node -call 978 pith_struct_release void 1 977 -load 979 struct_params -call 980 pith_list_release_handle void 1 979 -load 981 struct_args -call 982 pith_list_release_handle void 1 981 -load 983 base -call 984 pith_cstring_release void 1 983 -load 985 sdecl -call 986 pith_struct_release void 1 985 -load 987 assoc_base -call 988 pith_cstring_release void 1 987 -load 989 bkey -call 990 pith_cstring_release void 1 989 -load 991 param_types -call 992 pith_list_release_handle void 1 991 -load 993 arg_node -call 994 pith_struct_release void 1 993 -ret 940 +load 1726 method_name +load 1727 recv_info +load 1728 arg_indices +load 1729 scope_id +call 1730 checker_check_channel_method_call int 4 1726 1727 1728 1729 +store ch_result 1730 +load 1731 ch_result +call 1732 checker_method_table_answered bool 1 1731 +brif 1732 L3856 L3857 +label L3856 +load 1733 ch_result +load 1734 method_name +call 1735 pith_cstring_release void 1 1734 +load 1736 recv_node +call 1737 pith_struct_release void 1 1736 +load 1738 arg_indices +call 1739 pith_list_release_handle void 1 1738 +load 1740 recv_name +call 1741 pith_cstring_release void 1 1740 +load 1742 module_path +call 1743 pith_cstring_release void 1 1742 +load 1744 ctor_type_name +call 1745 pith_cstring_release void 1 1744 +load 1746 ctor_info +call 1747 pith_struct_release void 1 1746 +load 1748 gen_ctor_name +call 1749 pith_cstring_release void 1 1748 +load 1750 qualified_name +call 1751 pith_cstring_release void 1 1750 +load 1752 module_name +call 1753 pith_cstring_release void 1 1752 +load 1754 generic_name +call 1755 pith_cstring_release void 1 1754 +load 1756 gdecl +call 1757 pith_struct_release void 1 1756 +load 1758 recv_info +call 1759 pith_struct_release void 1 1758 +load 1760 payload_types +call 1761 pith_list_release_handle void 1 1760 +load 1762 pa_node +call 1763 pith_struct_release void 1 1762 +load 1764 type_name +call 1765 pith_cstring_release void 1 1764 +load 1766 key +call 1767 pith_cstring_release void 1 1766 +load 1768 base_name +call 1769 pith_cstring_release void 1 1768 +load 1770 method_node +call 1771 pith_struct_release void 1 1770 +load 1772 struct_params +call 1773 pith_list_release_handle void 1 1772 +load 1774 struct_args +call 1775 pith_list_release_handle void 1 1774 +load 1776 base +call 1777 pith_cstring_release void 1 1776 +load 1778 sdecl +call 1779 pith_struct_release void 1 1778 +load 1780 assoc_base +call 1781 pith_cstring_release void 1 1780 +load 1782 bkey +call 1783 pith_cstring_release void 1 1782 +load 1784 param_types +call 1785 pith_list_release_handle void 1 1784 +load 1786 arg_node +call 1787 pith_struct_release void 1 1786 +ret 1733 +label L3857 +label L3855 +jmp L3852 label L3854 label L3852 -load 995 method_name -strref 996 m18s562 -call 997 pith_cstring_eq bool 2 995 996 -call 998 pith_cstring_release void 1 996 -brif 997 L3856 L3857 -label L3856 -load 999 arg_indices -call 1000 pith_list_len int 1 999 -iconst 1001 1 -neq 1002 1000 1001 -brif 1002 L3859 L3860 +load 1788 recv_info +field 1789 1788 0 string kind +strref 1790 m18s27 +call 1791 pith_cstring_eq bool 2 1789 1790 +call 1792 pith_cstring_release void 1 1790 +brif 1791 L3859 L3860 label L3859 -strref 1003 m18s333 -strref 1004 m18s561 -load 1005 arg_indices -call 1006 pith_list_len int 1 1005 -call 1007 int_to_string string 1 1006 -concat 1008 1004 1007 -call 1009 pith_cstring_release void 1 1004 -call 1010 pith_cstring_release void 1 1007 -call 1011 checker_diagnostics_report_error void 2 1003 1008 -call 1012 pith_cstring_release void 1 1003 -call 1013 pith_cstring_release void 1 1008 -load 1014 recv_info -field 1015 1014 64 int inner -load 1016 method_name -call 1017 pith_cstring_release void 1 1016 -load 1018 recv_node -call 1019 pith_struct_release void 1 1018 -load 1020 arg_indices -call 1021 pith_list_release_handle void 1 1020 -load 1022 recv_name -call 1023 pith_cstring_release void 1 1022 -load 1024 module_path -call 1025 pith_cstring_release void 1 1024 -load 1026 ctor_type_name -call 1027 pith_cstring_release void 1 1026 -load 1028 ctor_info -call 1029 pith_struct_release void 1 1028 -load 1030 gen_ctor_name -call 1031 pith_cstring_release void 1 1030 -load 1032 qualified_name -call 1033 pith_cstring_release void 1 1032 -load 1034 module_name -call 1035 pith_cstring_release void 1 1034 -load 1036 generic_name -call 1037 pith_cstring_release void 1 1036 -load 1038 gdecl -call 1039 pith_struct_release void 1 1038 -load 1040 recv_info -call 1041 pith_struct_release void 1 1040 -load 1042 payload_types -call 1043 pith_list_release_handle void 1 1042 -load 1044 pa_node -call 1045 pith_struct_release void 1 1044 -load 1046 type_name -call 1047 pith_cstring_release void 1 1046 -load 1048 key -call 1049 pith_cstring_release void 1 1048 -load 1050 base_name -call 1051 pith_cstring_release void 1 1050 -load 1052 method_node -call 1053 pith_struct_release void 1 1052 -load 1054 struct_params -call 1055 pith_list_release_handle void 1 1054 -load 1056 struct_args -call 1057 pith_list_release_handle void 1 1056 -load 1058 base -call 1059 pith_cstring_release void 1 1058 -load 1060 sdecl -call 1061 pith_struct_release void 1 1060 -load 1062 assoc_base -call 1063 pith_cstring_release void 1 1062 -load 1064 bkey -call 1065 pith_cstring_release void 1 1064 -load 1066 param_types -call 1067 pith_list_release_handle void 1 1066 -load 1068 arg_node -call 1069 pith_struct_release void 1 1068 -ret 1015 +load 1793 method_name +load 1794 recv_info +load 1795 arg_indices +load 1796 scope_id +call 1797 checker_check_task_method_call int 4 1793 1794 1795 1796 +store task_result 1797 +load 1798 task_result +call 1799 checker_method_table_answered bool 1 1798 +brif 1799 L3862 L3863 +label L3862 +load 1800 task_result +load 1801 method_name +call 1802 pith_cstring_release void 1 1801 +load 1803 recv_node +call 1804 pith_struct_release void 1 1803 +load 1805 arg_indices +call 1806 pith_list_release_handle void 1 1805 +load 1807 recv_name +call 1808 pith_cstring_release void 1 1807 +load 1809 module_path +call 1810 pith_cstring_release void 1 1809 +load 1811 ctor_type_name +call 1812 pith_cstring_release void 1 1811 +load 1813 ctor_info +call 1814 pith_struct_release void 1 1813 +load 1815 gen_ctor_name +call 1816 pith_cstring_release void 1 1815 +load 1817 qualified_name +call 1818 pith_cstring_release void 1 1817 +load 1819 module_name +call 1820 pith_cstring_release void 1 1819 +load 1821 generic_name +call 1822 pith_cstring_release void 1 1821 +load 1823 gdecl +call 1824 pith_struct_release void 1 1823 +load 1825 recv_info +call 1826 pith_struct_release void 1 1825 +load 1827 payload_types +call 1828 pith_list_release_handle void 1 1827 +load 1829 pa_node +call 1830 pith_struct_release void 1 1829 +load 1831 type_name +call 1832 pith_cstring_release void 1 1831 +load 1833 key +call 1834 pith_cstring_release void 1 1833 +load 1835 base_name +call 1836 pith_cstring_release void 1 1835 +load 1837 method_node +call 1838 pith_struct_release void 1 1837 +load 1839 struct_params +call 1840 pith_list_release_handle void 1 1839 +load 1841 struct_args +call 1842 pith_list_release_handle void 1 1841 +load 1843 base +call 1844 pith_cstring_release void 1 1843 +load 1845 sdecl +call 1846 pith_struct_release void 1 1845 +load 1847 assoc_base +call 1848 pith_cstring_release void 1 1847 +load 1849 bkey +call 1850 pith_cstring_release void 1 1849 +load 1851 param_types +call 1852 pith_list_release_handle void 1 1851 +load 1853 arg_node +call 1854 pith_struct_release void 1 1853 +ret 1800 +label L3863 +label L3861 +jmp L3858 label L3860 label L3858 -load 1070 arg_indices -iconst 1071 0 -call 1072 pith_list_get_value_strict int 2 1070 1071 -load 1073 recv_info -field 1074 1073 64 int inner -load 1075 scope_id -call 1076 checker_check_argument_type void 3 1072 1074 1075 -load 1077 recv_info -field 1078 1077 64 int inner -load 1079 method_name -call 1080 pith_cstring_release void 1 1079 -load 1081 recv_node -call 1082 pith_struct_release void 1 1081 -load 1083 arg_indices -call 1084 pith_list_release_handle void 1 1083 -load 1085 recv_name -call 1086 pith_cstring_release void 1 1085 -load 1087 module_path -call 1088 pith_cstring_release void 1 1087 -load 1089 ctor_type_name -call 1090 pith_cstring_release void 1 1089 -load 1091 ctor_info -call 1092 pith_struct_release void 1 1091 -load 1093 gen_ctor_name -call 1094 pith_cstring_release void 1 1093 -load 1095 qualified_name -call 1096 pith_cstring_release void 1 1095 -load 1097 module_name -call 1098 pith_cstring_release void 1 1097 -load 1099 generic_name -call 1100 pith_cstring_release void 1 1099 -load 1101 gdecl -call 1102 pith_struct_release void 1 1101 -load 1103 recv_info -call 1104 pith_struct_release void 1 1103 -load 1105 payload_types -call 1106 pith_list_release_handle void 1 1105 -load 1107 pa_node -call 1108 pith_struct_release void 1 1107 -load 1109 type_name -call 1110 pith_cstring_release void 1 1109 -load 1111 key -call 1112 pith_cstring_release void 1 1111 -load 1113 base_name -call 1114 pith_cstring_release void 1 1113 -load 1115 method_node -call 1116 pith_struct_release void 1 1115 -load 1117 struct_params -call 1118 pith_list_release_handle void 1 1117 -load 1119 struct_args -call 1120 pith_list_release_handle void 1 1119 -load 1121 base -call 1122 pith_cstring_release void 1 1121 -load 1123 sdecl -call 1124 pith_struct_release void 1 1123 -load 1125 assoc_base -call 1126 pith_cstring_release void 1 1125 -load 1127 bkey -call 1128 pith_cstring_release void 1 1127 -load 1129 param_types -call 1130 pith_list_release_handle void 1 1129 -load 1131 arg_node -call 1132 pith_struct_release void 1 1131 -ret 1078 -label L3857 -label L3855 -load 1133 recv_info -field 1134 1133 64 int inner -store dispatch_type 1134 -load 1135 recv_info -load 1136 dispatch_type -call 1137 types_get_type_info struct:TypeInfo 1 1136 -call 1138 pith_struct_release void 1 1135 -store recv_info 1137 -jmp L3849 -label L3851 -load 1139 recv_info -field 1140 1139 0 string kind -strref 1141 m18s29 -call 1142 pith_cstring_eq bool 2 1140 1141 -call 1143 pith_cstring_release void 1 1141 -brif 1142 L3861 L3862 -label L3861 -load 1144 method_name -load 1145 recv_info -load 1146 arg_indices -load 1147 scope_id -call 1148 checker_check_result_method_call int 4 1144 1145 1146 1147 -store result_method 1148 -load 1149 result_method -call 1150 types_is_error_type bool 1 1149 -iconst 1151 0 -eq 1152 1150 1151 -brif 1152 L3864 L3865 -label L3864 -load 1153 result_method -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 gdecl -call 1177 pith_struct_release void 1 1176 -load 1178 recv_info -call 1179 pith_struct_release void 1 1178 -load 1180 payload_types -call 1181 pith_list_release_handle void 1 1180 -load 1182 pa_node -call 1183 pith_struct_release void 1 1182 -load 1184 type_name -call 1185 pith_cstring_release void 1 1184 -load 1186 key -call 1187 pith_cstring_release void 1 1186 -load 1188 base_name -call 1189 pith_cstring_release void 1 1188 -load 1190 method_node -call 1191 pith_struct_release void 1 1190 -load 1192 struct_params -call 1193 pith_list_release_handle void 1 1192 -load 1194 struct_args -call 1195 pith_list_release_handle void 1 1194 -load 1196 base -call 1197 pith_cstring_release void 1 1196 -load 1198 sdecl -call 1199 pith_struct_release void 1 1198 -load 1200 assoc_base -call 1201 pith_cstring_release void 1 1200 -load 1202 bkey -call 1203 pith_cstring_release void 1 1202 -load 1204 param_types -call 1205 pith_list_release_handle void 1 1204 -load 1206 arg_node -call 1207 pith_struct_release void 1 1206 -ret 1153 +load 1855 recv_info +field 1856 1855 0 string kind +strref 1857 m18s35 +call 1858 pith_cstring_eq bool 2 1856 1857 +call 1859 pith_cstring_release void 1 1857 +brif 1858 L3865 L3866 label L3865 -label L3863 -load 1208 recv_info -field 1209 1208 64 int inner -store dispatch_type 1209 -load 1210 recv_info -load 1211 dispatch_type -call 1212 types_get_type_info struct:TypeInfo 1 1211 -call 1213 pith_struct_release void 1 1210 -store recv_info 1212 -jmp L3849 -label L3862 -label L3849 -strref 1214 m18s12 -call 1215 types_lookup_type_id int 1 1214 -call 1216 pith_cstring_release void 1 1214 -store tid_string 1215 -strref 1217 m18s11 -call 1218 types_lookup_type_id int 1 1217 -call 1219 pith_cstring_release void 1 1217 -store tid_bytes 1218 -strref 1220 m18s16 -call 1221 types_lookup_type_id int 1 1220 -call 1222 pith_cstring_release void 1 1220 -store tid_int 1221 -strref 1223 m18s14 -call 1224 types_lookup_type_id int 1 1223 -call 1225 pith_cstring_release void 1 1223 -store tid_float 1224 -strref 1226 m18s13 -call 1227 types_lookup_type_id int 1 1226 -call 1228 pith_cstring_release void 1 1226 -store tid_bool 1227 -load 1229 dispatch_type -load 1230 tid_string -eq 1231 1229 1230 -brif 1231 L3867 L3868 -label L3867 -load 1232 method_name -load 1233 arg_indices -load 1234 scope_id -call 1235 checker_check_string_method_call int 3 1232 1233 1234 -load 1236 method_name -call 1237 pith_cstring_release void 1 1236 -load 1238 recv_node -call 1239 pith_struct_release void 1 1238 -load 1240 arg_indices -call 1241 pith_list_release_handle void 1 1240 -load 1242 recv_name -call 1243 pith_cstring_release void 1 1242 -load 1244 module_path -call 1245 pith_cstring_release void 1 1244 -load 1246 ctor_type_name -call 1247 pith_cstring_release void 1 1246 -load 1248 ctor_info -call 1249 pith_struct_release void 1 1248 -load 1250 gen_ctor_name -call 1251 pith_cstring_release void 1 1250 -load 1252 qualified_name -call 1253 pith_cstring_release void 1 1252 -load 1254 module_name -call 1255 pith_cstring_release void 1 1254 -load 1256 generic_name -call 1257 pith_cstring_release void 1 1256 -load 1258 gdecl -call 1259 pith_struct_release void 1 1258 -load 1260 recv_info -call 1261 pith_struct_release void 1 1260 -load 1262 payload_types -call 1263 pith_list_release_handle void 1 1262 -load 1264 pa_node -call 1265 pith_struct_release void 1 1264 -load 1266 type_name -call 1267 pith_cstring_release void 1 1266 -load 1268 key -call 1269 pith_cstring_release void 1 1268 -load 1270 base_name -call 1271 pith_cstring_release void 1 1270 -load 1272 method_node -call 1273 pith_struct_release void 1 1272 -load 1274 struct_params -call 1275 pith_list_release_handle void 1 1274 -load 1276 struct_args -call 1277 pith_list_release_handle void 1 1276 -load 1278 base -call 1279 pith_cstring_release void 1 1278 -load 1280 sdecl -call 1281 pith_struct_release void 1 1280 -load 1282 assoc_base -call 1283 pith_cstring_release void 1 1282 -load 1284 bkey -call 1285 pith_cstring_release void 1 1284 -load 1286 param_types -call 1287 pith_list_release_handle void 1 1286 -load 1288 arg_node -call 1289 pith_struct_release void 1 1288 -ret 1235 +load 1860 recv_info +field 1861 1860 8 string name +load 1862 method_name +load 1863 arg_indices +load 1864 scope_id +call 1865 checker_check_sync_primitive_method_call int 4 1861 1862 1863 1864 +store sync_result 1865 +load 1866 sync_result +call 1867 checker_method_table_answered bool 1 1866 +brif 1867 L3868 L3869 label L3868 +load 1868 sync_result +load 1869 method_name +call 1870 pith_cstring_release void 1 1869 +load 1871 recv_node +call 1872 pith_struct_release void 1 1871 +load 1873 arg_indices +call 1874 pith_list_release_handle void 1 1873 +load 1875 recv_name +call 1876 pith_cstring_release void 1 1875 +load 1877 module_path +call 1878 pith_cstring_release void 1 1877 +load 1879 ctor_type_name +call 1880 pith_cstring_release void 1 1879 +load 1881 ctor_info +call 1882 pith_struct_release void 1 1881 +load 1883 gen_ctor_name +call 1884 pith_cstring_release void 1 1883 +load 1885 qualified_name +call 1886 pith_cstring_release void 1 1885 +load 1887 module_name +call 1888 pith_cstring_release void 1 1887 +load 1889 generic_name +call 1890 pith_cstring_release void 1 1889 +load 1891 gdecl +call 1892 pith_struct_release void 1 1891 +load 1893 recv_info +call 1894 pith_struct_release void 1 1893 +load 1895 payload_types +call 1896 pith_list_release_handle void 1 1895 +load 1897 pa_node +call 1898 pith_struct_release void 1 1897 +load 1899 type_name +call 1900 pith_cstring_release void 1 1899 +load 1901 key +call 1902 pith_cstring_release void 1 1901 +load 1903 base_name +call 1904 pith_cstring_release void 1 1903 +load 1905 method_node +call 1906 pith_struct_release void 1 1905 +load 1907 struct_params +call 1908 pith_list_release_handle void 1 1907 +load 1909 struct_args +call 1910 pith_list_release_handle void 1 1909 +load 1911 base +call 1912 pith_cstring_release void 1 1911 +load 1913 sdecl +call 1914 pith_struct_release void 1 1913 +load 1915 assoc_base +call 1916 pith_cstring_release void 1 1915 +load 1917 bkey +call 1918 pith_cstring_release void 1 1917 +load 1919 param_types +call 1920 pith_list_release_handle void 1 1919 +load 1921 arg_node +call 1922 pith_struct_release void 1 1921 +ret 1868 +label L3869 +label L3867 +jmp L3864 label L3866 -load 1290 dispatch_type -load 1291 tid_bytes -eq 1292 1290 1291 -brif 1292 L3870 L3871 -label L3870 -load 1293 method_name -load 1294 arg_indices -load 1295 scope_id -call 1296 checker_check_bytes_method_call int 3 1293 1294 1295 -load 1297 method_name -call 1298 pith_cstring_release void 1 1297 -load 1299 recv_node -call 1300 pith_struct_release void 1 1299 -load 1301 arg_indices -call 1302 pith_list_release_handle void 1 1301 -load 1303 recv_name -call 1304 pith_cstring_release void 1 1303 -load 1305 module_path -call 1306 pith_cstring_release void 1 1305 -load 1307 ctor_type_name -call 1308 pith_cstring_release void 1 1307 -load 1309 ctor_info -call 1310 pith_struct_release void 1 1309 -load 1311 gen_ctor_name -call 1312 pith_cstring_release void 1 1311 -load 1313 qualified_name -call 1314 pith_cstring_release void 1 1313 -load 1315 module_name -call 1316 pith_cstring_release void 1 1315 -load 1317 generic_name -call 1318 pith_cstring_release void 1 1317 -load 1319 gdecl -call 1320 pith_struct_release void 1 1319 -load 1321 recv_info -call 1322 pith_struct_release void 1 1321 -load 1323 payload_types -call 1324 pith_list_release_handle void 1 1323 -load 1325 pa_node -call 1326 pith_struct_release void 1 1325 -load 1327 type_name -call 1328 pith_cstring_release void 1 1327 -load 1329 key -call 1330 pith_cstring_release void 1 1329 -load 1331 base_name -call 1332 pith_cstring_release void 1 1331 -load 1333 method_node -call 1334 pith_struct_release void 1 1333 -load 1335 struct_params -call 1336 pith_list_release_handle void 1 1335 -load 1337 struct_args -call 1338 pith_list_release_handle void 1 1337 -load 1339 base -call 1340 pith_cstring_release void 1 1339 -load 1341 sdecl -call 1342 pith_struct_release void 1 1341 -load 1343 assoc_base -call 1344 pith_cstring_release void 1 1343 -load 1345 bkey -call 1346 pith_cstring_release void 1 1345 -load 1347 param_types -call 1348 pith_list_release_handle void 1 1347 -load 1349 arg_node -call 1350 pith_struct_release void 1 1349 -ret 1296 +label L3864 +load 1923 recv_info +field 1924 1923 0 string kind +strref 1925 m18s34 +call 1926 pith_cstring_eq bool 2 1924 1925 +call 1927 pith_cstring_release void 1 1925 +brif 1926 L3871 L3872 label L3871 -label L3869 -load 1351 dispatch_type -call 1352 types_is_integer_type bool 1 1351 -brif 1352 L3873 L3874 +iconst 1928 0 +store vi 1928 label L3873 -load 1353 method_name -load 1354 arg_indices -load 1355 scope_id -call 1356 checker_check_int_method_call int 3 1353 1354 1355 -load 1357 method_name -call 1358 pith_cstring_release void 1 1357 -load 1359 recv_node -call 1360 pith_struct_release void 1 1359 -load 1361 arg_indices -call 1362 pith_list_release_handle void 1 1361 -load 1363 recv_name -call 1364 pith_cstring_release void 1 1363 -load 1365 module_path -call 1366 pith_cstring_release void 1 1365 -load 1367 ctor_type_name -call 1368 pith_cstring_release void 1 1367 -load 1369 ctor_info -call 1370 pith_struct_release void 1 1369 -load 1371 gen_ctor_name -call 1372 pith_cstring_release void 1 1371 -load 1373 qualified_name -call 1374 pith_cstring_release void 1 1373 -load 1375 module_name -call 1376 pith_cstring_release void 1 1375 -load 1377 generic_name -call 1378 pith_cstring_release void 1 1377 -load 1379 gdecl -call 1380 pith_struct_release void 1 1379 -load 1381 recv_info -call 1382 pith_struct_release void 1 1381 -load 1383 payload_types -call 1384 pith_list_release_handle void 1 1383 -load 1385 pa_node -call 1386 pith_struct_release void 1 1385 -load 1387 type_name -call 1388 pith_cstring_release void 1 1387 -load 1389 key -call 1390 pith_cstring_release void 1 1389 -load 1391 base_name -call 1392 pith_cstring_release void 1 1391 -load 1393 method_node -call 1394 pith_struct_release void 1 1393 -load 1395 struct_params -call 1396 pith_list_release_handle void 1 1395 -load 1397 struct_args -call 1398 pith_list_release_handle void 1 1397 -load 1399 base -call 1400 pith_cstring_release void 1 1399 -load 1401 sdecl -call 1402 pith_struct_release void 1 1401 -load 1403 assoc_base -call 1404 pith_cstring_release void 1 1403 -load 1405 bkey -call 1406 pith_cstring_release void 1 1405 -load 1407 param_types -call 1408 pith_list_release_handle void 1 1407 -load 1409 arg_node -call 1410 pith_struct_release void 1 1409 -ret 1356 +load 1929 vi +load 1930 recv_info +field 1931 1930 96 list_string variants +call 1932 pith_list_len int 1 1931 +lt 1933 1929 1932 +brif 1933 L3874 L3875 label L3874 -label L3872 -load 1411 dispatch_type -load 1412 tid_float -eq 1413 1411 1412 -brif 1413 L3876 L3877 -label L3876 -load 1414 method_name -load 1415 arg_indices -load 1416 scope_id -call 1417 checker_check_float_method_call int 3 1414 1415 1416 -load 1418 method_name -call 1419 pith_cstring_release void 1 1418 -load 1420 recv_node -call 1421 pith_struct_release void 1 1420 -load 1422 arg_indices -call 1423 pith_list_release_handle void 1 1422 -load 1424 recv_name -call 1425 pith_cstring_release void 1 1424 -load 1426 module_path -call 1427 pith_cstring_release void 1 1426 -load 1428 ctor_type_name -call 1429 pith_cstring_release void 1 1428 -load 1430 ctor_info -call 1431 pith_struct_release void 1 1430 -load 1432 gen_ctor_name -call 1433 pith_cstring_release void 1 1432 -load 1434 qualified_name -call 1435 pith_cstring_release void 1 1434 -load 1436 module_name -call 1437 pith_cstring_release void 1 1436 -load 1438 generic_name -call 1439 pith_cstring_release void 1 1438 -load 1440 gdecl -call 1441 pith_struct_release void 1 1440 -load 1442 recv_info -call 1443 pith_struct_release void 1 1442 -load 1444 payload_types -call 1445 pith_list_release_handle void 1 1444 -load 1446 pa_node -call 1447 pith_struct_release void 1 1446 -load 1448 type_name -call 1449 pith_cstring_release void 1 1448 -load 1450 key -call 1451 pith_cstring_release void 1 1450 -load 1452 base_name -call 1453 pith_cstring_release void 1 1452 -load 1454 method_node -call 1455 pith_struct_release void 1 1454 -load 1456 struct_params -call 1457 pith_list_release_handle void 1 1456 -load 1458 struct_args -call 1459 pith_list_release_handle void 1 1458 -load 1460 base -call 1461 pith_cstring_release void 1 1460 -load 1462 sdecl -call 1463 pith_struct_release void 1 1462 -load 1464 assoc_base -call 1465 pith_cstring_release void 1 1464 -load 1466 bkey -call 1467 pith_cstring_release void 1 1466 -load 1468 param_types -call 1469 pith_list_release_handle void 1 1468 -load 1470 arg_node -call 1471 pith_struct_release void 1 1470 -ret 1417 +load 1934 recv_info +field 1935 1934 96 list_string variants +load 1936 vi +call 1937 pith_list_get_value_strict string 2 1935 1936 +load 1938 method_name +call 1939 pith_cstring_eq bool 2 1937 1938 +brif 1939 L3877 L3878 label L3877 -label L3875 -load 1472 dispatch_type -load 1473 tid_bool -eq 1474 1472 1473 -brif 1474 L3879 L3880 -label L3879 -load 1475 method_name -load 1476 arg_indices -load 1477 scope_id -call 1478 checker_check_bool_method_call int 3 1475 1476 1477 -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 gdecl -call 1502 pith_struct_release void 1 1501 -load 1503 recv_info -call 1504 pith_struct_release void 1 1503 -load 1505 payload_types -call 1506 pith_list_release_handle void 1 1505 -load 1507 pa_node -call 1508 pith_struct_release void 1 1507 -load 1509 type_name -call 1510 pith_cstring_release void 1 1509 -load 1511 key -call 1512 pith_cstring_release void 1 1511 -load 1513 base_name -call 1514 pith_cstring_release void 1 1513 -load 1515 method_node -call 1516 pith_struct_release void 1 1515 -load 1517 struct_params -call 1518 pith_list_release_handle void 1 1517 -load 1519 struct_args -call 1520 pith_list_release_handle void 1 1519 -load 1521 base -call 1522 pith_cstring_release void 1 1521 -load 1523 sdecl -call 1524 pith_struct_release void 1 1523 -load 1525 assoc_base -call 1526 pith_cstring_release void 1 1525 -load 1527 bkey -call 1528 pith_cstring_release void 1 1527 -load 1529 param_types -call 1530 pith_list_release_handle void 1 1529 -load 1531 arg_node -call 1532 pith_struct_release void 1 1531 -ret 1478 +load 1940 payload_types +load 1941 recv_info +field 1942 1941 104 list variant_types +load 1943 vi +call 1944 pith_list_get_value_strict list 2 1942 1943 +call 1945 pith_list_retain_handle void 1 1944 +call 1946 pith_list_release_handle void 1 1940 +store payload_types 1944 +load 1947 arg_indices +call 1948 pith_list_len int 1 1947 +load 1949 payload_types +call 1950 pith_list_len int 1 1949 +neq 1951 1948 1950 +brif 1951 L3880 L3881 label L3880 -label L3878 -load 1533 recv_info -field 1534 1533 0 string kind -strref 1535 m18s23 -call 1536 pith_cstring_eq bool 2 1534 1535 -call 1537 pith_cstring_release void 1 1535 -brif 1536 L3882 L3883 +strref 1952 m18s333 +load 1953 method_name +strref 1954 m18s583 +concat 1955 1953 1954 +call 1956 pith_cstring_release void 1 1954 +load 1957 payload_types +call 1958 pith_list_len int 1 1957 +call 1959 int_to_string string 1 1958 +concat 1960 1955 1959 +call 1961 pith_cstring_release void 1 1955 +call 1962 pith_cstring_release void 1 1959 +strref 1963 m18s582 +concat 1964 1960 1963 +call 1965 pith_cstring_release void 1 1960 +call 1966 pith_cstring_release void 1 1963 +load 1967 arg_indices +call 1968 pith_list_len int 1 1967 +call 1969 int_to_string string 1 1968 +concat 1970 1964 1969 +call 1971 pith_cstring_release void 1 1964 +call 1972 pith_cstring_release void 1 1969 +call 1973 checker_diagnostics_report_error void 2 1952 1970 +call 1974 pith_cstring_release void 1 1952 +call 1975 pith_cstring_release void 1 1970 +load 1976 types_TID_ERR +load 1977 method_name +call 1978 pith_cstring_release void 1 1977 +load 1979 recv_node +call 1980 pith_struct_release void 1 1979 +load 1981 arg_indices +call 1982 pith_list_release_handle void 1 1981 +load 1983 recv_name +call 1984 pith_cstring_release void 1 1983 +load 1985 module_path +call 1986 pith_cstring_release void 1 1985 +load 1987 ctor_type_name +call 1988 pith_cstring_release void 1 1987 +load 1989 ctor_info +call 1990 pith_struct_release void 1 1989 +load 1991 gen_ctor_name +call 1992 pith_cstring_release void 1 1991 +load 1993 qualified_name +call 1994 pith_cstring_release void 1 1993 +load 1995 module_name +call 1996 pith_cstring_release void 1 1995 +load 1997 generic_name +call 1998 pith_cstring_release void 1 1997 +load 1999 gdecl +call 2000 pith_struct_release void 1 1999 +load 2001 recv_info +call 2002 pith_struct_release void 1 2001 +load 2003 payload_types +call 2004 pith_list_release_handle void 1 2003 +load 2005 pa_node +call 2006 pith_struct_release void 1 2005 +load 2007 type_name +call 2008 pith_cstring_release void 1 2007 +load 2009 key +call 2010 pith_cstring_release void 1 2009 +load 2011 base_name +call 2012 pith_cstring_release void 1 2011 +load 2013 method_node +call 2014 pith_struct_release void 1 2013 +load 2015 struct_params +call 2016 pith_list_release_handle void 1 2015 +load 2017 struct_args +call 2018 pith_list_release_handle void 1 2017 +load 2019 base +call 2020 pith_cstring_release void 1 2019 +load 2021 sdecl +call 2022 pith_struct_release void 1 2021 +load 2023 assoc_base +call 2024 pith_cstring_release void 1 2023 +load 2025 bkey +call 2026 pith_cstring_release void 1 2025 +load 2027 param_types +call 2028 pith_list_release_handle void 1 2027 +load 2029 arg_node +call 2030 pith_struct_release void 1 2029 +ret 1976 +label L3881 +label L3879 +iconst 2031 0 +store pi 2031 +load 2032 arg_indices +call 2033 pith_auto_len int 1 2032 +iconst 2034 0 +store __for_idx_208 2034 +store __for_len_208 2033 +store __for_iter_208 2032 label L3882 -load 1538 method_name -load 1539 recv_info -load 1540 arg_indices -load 1541 scope_id -call 1542 checker_check_list_method_call int 4 1538 1539 1540 1541 -store result 1542 -load 1543 result -call 1544 checker_method_table_answered bool 1 1543 -brif 1544 L3885 L3886 -label L3885 -load 1545 result -load 1546 method_name -call 1547 pith_cstring_release void 1 1546 -load 1548 recv_node -call 1549 pith_struct_release void 1 1548 -load 1550 arg_indices -call 1551 pith_list_release_handle void 1 1550 -load 1552 recv_name -call 1553 pith_cstring_release void 1 1552 -load 1554 module_path -call 1555 pith_cstring_release void 1 1554 -load 1556 ctor_type_name -call 1557 pith_cstring_release void 1 1556 -load 1558 ctor_info -call 1559 pith_struct_release void 1 1558 -load 1560 gen_ctor_name -call 1561 pith_cstring_release void 1 1560 -load 1562 qualified_name -call 1563 pith_cstring_release void 1 1562 -load 1564 module_name -call 1565 pith_cstring_release void 1 1564 -load 1566 generic_name -call 1567 pith_cstring_release void 1 1566 -load 1568 gdecl -call 1569 pith_struct_release void 1 1568 -load 1570 recv_info -call 1571 pith_struct_release void 1 1570 -load 1572 payload_types -call 1573 pith_list_release_handle void 1 1572 -load 1574 pa_node -call 1575 pith_struct_release void 1 1574 -load 1576 type_name -call 1577 pith_cstring_release void 1 1576 -load 1578 key -call 1579 pith_cstring_release void 1 1578 -load 1580 base_name -call 1581 pith_cstring_release void 1 1580 -load 1582 method_node -call 1583 pith_struct_release void 1 1582 -load 1584 struct_params -call 1585 pith_list_release_handle void 1 1584 -load 1586 struct_args -call 1587 pith_list_release_handle void 1 1586 -load 1588 base -call 1589 pith_cstring_release void 1 1588 -load 1590 sdecl -call 1591 pith_struct_release void 1 1590 -load 1592 assoc_base -call 1593 pith_cstring_release void 1 1592 -load 1594 bkey -call 1595 pith_cstring_release void 1 1594 -load 1596 param_types -call 1597 pith_list_release_handle void 1 1596 -load 1598 arg_node -call 1599 pith_struct_release void 1 1598 -ret 1545 -label L3886 -label L3884 -jmp L3881 +load 2035 __for_idx_208 +load 2036 __for_len_208 +lt 2037 2035 2036 +brif 2037 L3883 L3885 label L3883 -label L3881 -load 1600 recv_info -field 1601 1600 0 string kind -strref 1602 m18s21 -call 1603 pith_cstring_eq bool 2 1601 1602 -call 1604 pith_cstring_release void 1 1602 -brif 1603 L3888 L3889 -label L3888 -load 1605 method_name -load 1606 recv_info -load 1607 arg_indices -load 1608 scope_id -call 1609 checker_check_map_method_call int 4 1605 1606 1607 1608 -store result 1609 -load 1610 result -call 1611 checker_method_table_answered bool 1 1610 -brif 1611 L3891 L3892 -label L3891 -load 1612 result -load 1613 method_name -call 1614 pith_cstring_release void 1 1613 -load 1615 recv_node -call 1616 pith_struct_release void 1 1615 -load 1617 arg_indices -call 1618 pith_list_release_handle void 1 1617 -load 1619 recv_name -call 1620 pith_cstring_release void 1 1619 -load 1621 module_path -call 1622 pith_cstring_release void 1 1621 -load 1623 ctor_type_name -call 1624 pith_cstring_release void 1 1623 -load 1625 ctor_info -call 1626 pith_struct_release void 1 1625 -load 1627 gen_ctor_name -call 1628 pith_cstring_release void 1 1627 -load 1629 qualified_name -call 1630 pith_cstring_release void 1 1629 -load 1631 module_name -call 1632 pith_cstring_release void 1 1631 -load 1633 generic_name -call 1634 pith_cstring_release void 1 1633 -load 1635 gdecl -call 1636 pith_struct_release void 1 1635 -load 1637 recv_info -call 1638 pith_struct_release void 1 1637 -load 1639 payload_types -call 1640 pith_list_release_handle void 1 1639 -load 1641 pa_node -call 1642 pith_struct_release void 1 1641 -load 1643 type_name -call 1644 pith_cstring_release void 1 1643 -load 1645 key -call 1646 pith_cstring_release void 1 1645 -load 1647 base_name -call 1648 pith_cstring_release void 1 1647 -load 1649 method_node -call 1650 pith_struct_release void 1 1649 -load 1651 struct_params -call 1652 pith_list_release_handle void 1 1651 -load 1653 struct_args -call 1654 pith_list_release_handle void 1 1653 -load 1655 base -call 1656 pith_cstring_release void 1 1655 -load 1657 sdecl -call 1658 pith_struct_release void 1 1657 -load 1659 assoc_base -call 1660 pith_cstring_release void 1 1659 -load 1661 bkey -call 1662 pith_cstring_release void 1 1661 -load 1663 param_types -call 1664 pith_list_release_handle void 1 1663 -load 1665 arg_node -call 1666 pith_struct_release void 1 1665 -ret 1612 -label L3892 +load 2038 __for_iter_208 +load 2039 __for_idx_208 +call 2040 pith_list_get_value unknown 2 2038 2039 +store __loopvar_208_pai 2040 +load 2041 pa_node +load 2042 __loopvar_208_pai +call 2043 ast_get_node struct:Node 1 2042 +call 2044 pith_struct_release void 1 2041 +store pa_node 2043 +load 2045 __loopvar_208_pai +store pa_expr 2045 +load 2046 pa_node +field 2047 2046 0 string kind +strref 2048 m18s324 +call 2049 pith_cstring_eq bool 2 2047 2048 +call 2050 pith_cstring_release void 1 2048 +brif 2049 L3887 L3888 +label L3887 +load 2051 pa_node +field 2052 2051 16 list children +call 2053 pith_list_len int 1 2052 +iconst 2054 0 +gt 2055 2053 2054 +brif 2055 L3890 L3891 label L3890 -jmp L3887 +load 2056 pa_node +field 2057 2056 16 list children +iconst 2058 0 +call 2059 pith_list_get_value_strict int 2 2057 2058 +store pa_expr 2059 +jmp L3889 +label L3891 label L3889 -label L3887 -load 1667 recv_info -field 1668 1667 0 string kind -strref 1669 m18s19 -call 1670 pith_cstring_eq bool 2 1668 1669 -call 1671 pith_cstring_release void 1 1669 -brif 1670 L3894 L3895 +jmp L3886 +label L3888 +label L3886 +load 2060 pa_expr +load 2061 scope_id +call 2062 checker_c_check_expr int 2 2060 2061 +store pa_type 2062 +load 2063 pi +load 2064 payload_types +call 2065 pith_list_len int 1 2064 +lt 2066 2063 2065 +brif 2066 L3893 L3894 +label L3893 +load 2067 pa_expr +load 2068 payload_types +load 2069 pi +call 2070 pith_list_get_value_strict int 2 2068 2069 +load 2071 pa_type +load 2072 scope_id +call 2073 checker_propagate_empty_argument_collection_type void 4 2067 2070 2071 2072 +jmp L3892 label L3894 -load 1672 method_name -load 1673 recv_info -load 1674 arg_indices -load 1675 scope_id -call 1676 checker_check_set_method_call int 4 1672 1673 1674 1675 -store result 1676 -load 1677 result -call 1678 checker_method_table_answered bool 1 1677 -brif 1678 L3897 L3898 -label L3897 -load 1679 result -load 1680 method_name -call 1681 pith_cstring_release void 1 1680 -load 1682 recv_node -call 1683 pith_struct_release void 1 1682 -load 1684 arg_indices -call 1685 pith_list_release_handle void 1 1684 -load 1686 recv_name -call 1687 pith_cstring_release void 1 1686 -load 1688 module_path -call 1689 pith_cstring_release void 1 1688 -load 1690 ctor_type_name -call 1691 pith_cstring_release void 1 1690 -load 1692 ctor_info -call 1693 pith_struct_release void 1 1692 -load 1694 gen_ctor_name -call 1695 pith_cstring_release void 1 1694 -load 1696 qualified_name -call 1697 pith_cstring_release void 1 1696 -load 1698 module_name -call 1699 pith_cstring_release void 1 1698 -load 1700 generic_name -call 1701 pith_cstring_release void 1 1700 -load 1702 gdecl -call 1703 pith_struct_release void 1 1702 -load 1704 recv_info -call 1705 pith_struct_release void 1 1704 -load 1706 payload_types -call 1707 pith_list_release_handle void 1 1706 -load 1708 pa_node -call 1709 pith_struct_release void 1 1708 -load 1710 type_name -call 1711 pith_cstring_release void 1 1710 -load 1712 key -call 1713 pith_cstring_release void 1 1712 -load 1714 base_name -call 1715 pith_cstring_release void 1 1714 -load 1716 method_node -call 1717 pith_struct_release void 1 1716 -load 1718 struct_params -call 1719 pith_list_release_handle void 1 1718 -load 1720 struct_args -call 1721 pith_list_release_handle void 1 1720 -load 1722 base -call 1723 pith_cstring_release void 1 1722 -load 1724 sdecl -call 1725 pith_struct_release void 1 1724 -load 1726 assoc_base -call 1727 pith_cstring_release void 1 1726 -load 1728 bkey -call 1729 pith_cstring_release void 1 1728 -load 1730 param_types -call 1731 pith_list_release_handle void 1 1730 -load 1732 arg_node -call 1733 pith_struct_release void 1 1732 -ret 1679 +label L3892 +iconst 2074 0 +store __and_2074_3898 2074 +load 2075 pa_type +call 2076 types_is_error_type bool 1 2075 +iconst 2077 0 +eq 2078 2076 2077 +store __and_2074_3898 2078 +brif 2078 L3898 L3899 label L3898 +load 2079 pi +load 2080 payload_types +call 2081 pith_list_len int 1 2080 +lt 2082 2079 2081 +store __and_2074_3898 2082 +label L3899 +load 2083 __and_2074_3898 +brif 2083 L3896 L3897 label L3896 -jmp L3893 -label L3895 -label L3893 -load 1734 recv_info -field 1735 1734 0 string kind -strref 1736 m18s25 -call 1737 pith_cstring_eq bool 2 1735 1736 -call 1738 pith_cstring_release void 1 1736 -brif 1737 L3900 L3901 -label L3900 -load 1739 method_name -load 1740 recv_info -load 1741 arg_indices -load 1742 scope_id -call 1743 checker_check_channel_method_call int 4 1739 1740 1741 1742 -store ch_result 1743 -load 1744 ch_result -call 1745 checker_method_table_answered bool 1 1744 -brif 1745 L3903 L3904 -label L3903 -load 1746 ch_result -load 1747 method_name -call 1748 pith_cstring_release void 1 1747 -load 1749 recv_node -call 1750 pith_struct_release void 1 1749 -load 1751 arg_indices -call 1752 pith_list_release_handle void 1 1751 -load 1753 recv_name -call 1754 pith_cstring_release void 1 1753 -load 1755 module_path -call 1756 pith_cstring_release void 1 1755 -load 1757 ctor_type_name -call 1758 pith_cstring_release void 1 1757 -load 1759 ctor_info -call 1760 pith_struct_release void 1 1759 -load 1761 gen_ctor_name -call 1762 pith_cstring_release void 1 1761 -load 1763 qualified_name -call 1764 pith_cstring_release void 1 1763 -load 1765 module_name -call 1766 pith_cstring_release void 1 1765 -load 1767 generic_name -call 1768 pith_cstring_release void 1 1767 -load 1769 gdecl -call 1770 pith_struct_release void 1 1769 -load 1771 recv_info -call 1772 pith_struct_release void 1 1771 -load 1773 payload_types -call 1774 pith_list_release_handle void 1 1773 -load 1775 pa_node -call 1776 pith_struct_release void 1 1775 -load 1777 type_name -call 1778 pith_cstring_release void 1 1777 -load 1779 key -call 1780 pith_cstring_release void 1 1779 -load 1781 base_name -call 1782 pith_cstring_release void 1 1781 -load 1783 method_node -call 1784 pith_struct_release void 1 1783 -load 1785 struct_params -call 1786 pith_list_release_handle void 1 1785 -load 1787 struct_args -call 1788 pith_list_release_handle void 1 1787 -load 1789 base -call 1790 pith_cstring_release void 1 1789 -load 1791 sdecl -call 1792 pith_struct_release void 1 1791 -load 1793 assoc_base -call 1794 pith_cstring_release void 1 1793 -load 1795 bkey -call 1796 pith_cstring_release void 1 1795 -load 1797 param_types -call 1798 pith_list_release_handle void 1 1797 -load 1799 arg_node -call 1800 pith_struct_release void 1 1799 -ret 1746 +load 2084 pa_type +load 2085 payload_types +load 2086 pi +call 2087 pith_list_get_value_strict int 2 2085 2086 +neq 2088 2084 2087 +brif 2088 L3901 L3902 +label L3901 +load 2089 pa_type +load 2090 payload_types +load 2091 pi +call 2092 pith_list_get_value_strict int 2 2090 2091 +call 2093 checker_types_structurally_equal bool 2 2089 2092 +iconst 2094 0 +eq 2095 2093 2094 +brif 2095 L3904 L3905 label L3904 +strref 2096 m18s330 +strref 2097 m18s477 +load 2098 payload_types +load 2099 pi +call 2100 pith_list_get_value_strict int 2 2098 2099 +call 2101 types_get_type_name string 1 2100 +concat 2102 2097 2101 +call 2103 pith_cstring_release void 1 2097 +call 2104 pith_cstring_release void 1 2101 +strref 2105 m18s327 +concat 2106 2102 2105 +call 2107 pith_cstring_release void 1 2102 +call 2108 pith_cstring_release void 1 2105 +load 2109 pa_type +call 2110 types_get_type_name string 1 2109 +concat 2111 2106 2110 +call 2112 pith_cstring_release void 1 2106 +call 2113 pith_cstring_release void 1 2110 +call 2114 checker_diagnostics_report_error void 2 2096 2111 +call 2115 pith_cstring_release void 1 2096 +call 2116 pith_cstring_release void 1 2111 +jmp L3903 +label L3905 +label L3903 +jmp L3900 label L3902 -jmp L3899 -label L3901 -label L3899 -load 1801 recv_info -field 1802 1801 0 string kind -strref 1803 m18s27 -call 1804 pith_cstring_eq bool 2 1802 1803 -call 1805 pith_cstring_release void 1 1803 -brif 1804 L3906 L3907 -label L3906 -load 1806 method_name -load 1807 recv_info -load 1808 arg_indices -load 1809 scope_id -call 1810 checker_check_task_method_call int 4 1806 1807 1808 1809 -store task_result 1810 -load 1811 task_result -call 1812 checker_method_table_answered bool 1 1811 -brif 1812 L3909 L3910 -label L3909 -load 1813 task_result -load 1814 method_name -call 1815 pith_cstring_release void 1 1814 -load 1816 recv_node -call 1817 pith_struct_release void 1 1816 -load 1818 arg_indices -call 1819 pith_list_release_handle void 1 1818 -load 1820 recv_name -call 1821 pith_cstring_release void 1 1820 -load 1822 module_path -call 1823 pith_cstring_release void 1 1822 -load 1824 ctor_type_name -call 1825 pith_cstring_release void 1 1824 -load 1826 ctor_info -call 1827 pith_struct_release void 1 1826 -load 1828 gen_ctor_name -call 1829 pith_cstring_release void 1 1828 -load 1830 qualified_name -call 1831 pith_cstring_release void 1 1830 -load 1832 module_name -call 1833 pith_cstring_release void 1 1832 -load 1834 generic_name -call 1835 pith_cstring_release void 1 1834 -load 1836 gdecl -call 1837 pith_struct_release void 1 1836 -load 1838 recv_info -call 1839 pith_struct_release void 1 1838 -load 1840 payload_types -call 1841 pith_list_release_handle void 1 1840 -load 1842 pa_node -call 1843 pith_struct_release void 1 1842 -load 1844 type_name -call 1845 pith_cstring_release void 1 1844 -load 1846 key -call 1847 pith_cstring_release void 1 1846 -load 1848 base_name -call 1849 pith_cstring_release void 1 1848 -load 1850 method_node -call 1851 pith_struct_release void 1 1850 -load 1852 struct_params -call 1853 pith_list_release_handle void 1 1852 -load 1854 struct_args -call 1855 pith_list_release_handle void 1 1854 -load 1856 base -call 1857 pith_cstring_release void 1 1856 -load 1858 sdecl -call 1859 pith_struct_release void 1 1858 -load 1860 assoc_base -call 1861 pith_cstring_release void 1 1860 -load 1862 bkey -call 1863 pith_cstring_release void 1 1862 -load 1864 param_types -call 1865 pith_list_release_handle void 1 1864 -load 1866 arg_node -call 1867 pith_struct_release void 1 1866 -ret 1813 -label L3910 -label L3908 -jmp L3905 +label L3900 +jmp L3895 +label L3897 +label L3895 +load 2117 pi +iconst 2118 1 +add 2119 2117 2118 +store pi 2119 +label L3884 +load 2120 __for_idx_208 +iconst 2121 1 +add 2122 2120 2121 +store __for_idx_208 2122 +jmp L3882 +label L3885 +load 2123 receiver_type +load 2124 method_name +call 2125 pith_cstring_release void 1 2124 +load 2126 recv_node +call 2127 pith_struct_release void 1 2126 +load 2128 arg_indices +call 2129 pith_list_release_handle void 1 2128 +load 2130 recv_name +call 2131 pith_cstring_release void 1 2130 +load 2132 module_path +call 2133 pith_cstring_release void 1 2132 +load 2134 ctor_type_name +call 2135 pith_cstring_release void 1 2134 +load 2136 ctor_info +call 2137 pith_struct_release void 1 2136 +load 2138 gen_ctor_name +call 2139 pith_cstring_release void 1 2138 +load 2140 qualified_name +call 2141 pith_cstring_release void 1 2140 +load 2142 module_name +call 2143 pith_cstring_release void 1 2142 +load 2144 generic_name +call 2145 pith_cstring_release void 1 2144 +load 2146 gdecl +call 2147 pith_struct_release void 1 2146 +load 2148 recv_info +call 2149 pith_struct_release void 1 2148 +load 2150 payload_types +call 2151 pith_list_release_handle void 1 2150 +load 2152 pa_node +call 2153 pith_struct_release void 1 2152 +load 2154 type_name +call 2155 pith_cstring_release void 1 2154 +load 2156 key +call 2157 pith_cstring_release void 1 2156 +load 2158 base_name +call 2159 pith_cstring_release void 1 2158 +load 2160 method_node +call 2161 pith_struct_release void 1 2160 +load 2162 struct_params +call 2163 pith_list_release_handle void 1 2162 +load 2164 struct_args +call 2165 pith_list_release_handle void 1 2164 +load 2166 base +call 2167 pith_cstring_release void 1 2166 +load 2168 sdecl +call 2169 pith_struct_release void 1 2168 +load 2170 assoc_base +call 2171 pith_cstring_release void 1 2170 +load 2172 bkey +call 2173 pith_cstring_release void 1 2172 +load 2174 param_types +call 2175 pith_list_release_handle void 1 2174 +load 2176 arg_node +call 2177 pith_struct_release void 1 2176 +ret 2123 +label L3878 +label L3876 +load 2178 vi +iconst 2179 1 +add 2180 2178 2179 +store vi 2180 +jmp L3873 +label L3875 +jmp L3870 +label L3872 +label L3870 +load 2181 type_name +load 2182 dispatch_type +call 2183 types_get_type_name string 1 2182 +call 2184 pith_cstring_release void 1 2181 +store type_name 2183 +load 2185 key +load 2186 dispatch_type +load 2187 method_name +call 2188 checker_methods_method_tid_key string 2 2186 2187 +call 2189 pith_cstring_release void 1 2185 +store key 2188 +load 2190 key +call 2191 checker_methods_has_method_declaration bool 1 2190 +iconst 2192 0 +eq 2193 2191 2192 +brif 2193 L3907 L3908 label L3907 -label L3905 -load 1868 recv_info -field 1869 1868 0 string kind -strref 1870 m18s35 -call 1871 pith_cstring_eq bool 2 1869 1870 -call 1872 pith_cstring_release void 1 1870 -brif 1871 L3912 L3913 -label L3912 -load 1873 recv_info -field 1874 1873 8 string name -load 1875 method_name -load 1876 arg_indices -load 1877 scope_id -call 1878 checker_check_sync_primitive_method_call int 4 1874 1875 1876 1877 -store sync_result 1878 -load 1879 sync_result -call 1880 checker_method_table_answered bool 1 1879 -brif 1880 L3915 L3916 -label L3915 -load 1881 sync_result -load 1882 method_name -call 1883 pith_cstring_release void 1 1882 -load 1884 recv_node -call 1885 pith_struct_release void 1 1884 -load 1886 arg_indices -call 1887 pith_list_release_handle void 1 1886 -load 1888 recv_name -call 1889 pith_cstring_release void 1 1888 -load 1890 module_path -call 1891 pith_cstring_release void 1 1890 -load 1892 ctor_type_name -call 1893 pith_cstring_release void 1 1892 -load 1894 ctor_info -call 1895 pith_struct_release void 1 1894 -load 1896 gen_ctor_name -call 1897 pith_cstring_release void 1 1896 -load 1898 qualified_name -call 1899 pith_cstring_release void 1 1898 -load 1900 module_name -call 1901 pith_cstring_release void 1 1900 -load 1902 generic_name -call 1903 pith_cstring_release void 1 1902 -load 1904 gdecl -call 1905 pith_struct_release void 1 1904 -load 1906 recv_info -call 1907 pith_struct_release void 1 1906 -load 1908 payload_types -call 1909 pith_list_release_handle void 1 1908 -load 1910 pa_node -call 1911 pith_struct_release void 1 1910 -load 1912 type_name -call 1913 pith_cstring_release void 1 1912 -load 1914 key -call 1915 pith_cstring_release void 1 1914 -load 1916 base_name -call 1917 pith_cstring_release void 1 1916 -load 1918 method_node -call 1919 pith_struct_release void 1 1918 -load 1920 struct_params -call 1921 pith_list_release_handle void 1 1920 -load 1922 struct_args -call 1923 pith_list_release_handle void 1 1922 -load 1924 base -call 1925 pith_cstring_release void 1 1924 -load 1926 sdecl -call 1927 pith_struct_release void 1 1926 -load 1928 assoc_base -call 1929 pith_cstring_release void 1 1928 -load 1930 bkey -call 1931 pith_cstring_release void 1 1930 -load 1932 param_types -call 1933 pith_list_release_handle void 1 1932 -load 1934 arg_node -call 1935 pith_struct_release void 1 1934 -ret 1881 -label L3916 -label L3914 -jmp L3911 +load 2194 key +load 2195 type_name +strref 2196 m18s124 +concat 2197 2195 2196 +call 2198 pith_cstring_release void 1 2196 +load 2199 method_name +concat 2200 2197 2199 +call 2201 pith_cstring_release void 1 2197 +call 2202 pith_cstring_release void 1 2194 +store key 2200 +load 2203 key +call 2204 checker_methods_has_method_declaration bool 1 2203 +iconst 2205 0 +eq 2206 2204 2205 +brif 2206 L3910 L3911 +label L3910 +load 2207 base_name +load 2208 type_name +call 2209 checker_extract_base_type_name string 1 2208 +call 2210 pith_cstring_release void 1 2207 +store base_name 2209 +load 2211 base_name +load 2212 type_name +call 2214 pith_cstring_eq bool 2 2211 2212 +iconst 2215 1 +sub 2213 2215 2214 +brif 2213 L3913 L3914 label L3913 +load 2216 key +load 2217 base_name +strref 2218 m18s124 +concat 2219 2217 2218 +call 2220 pith_cstring_release void 1 2218 +load 2221 method_name +concat 2222 2219 2221 +call 2223 pith_cstring_release void 1 2219 +call 2224 pith_cstring_release void 1 2216 +store key 2222 +jmp L3912 +label L3914 +label L3912 +jmp L3909 label L3911 -load 1936 recv_info -field 1937 1936 0 string kind -strref 1938 m18s34 -call 1939 pith_cstring_eq bool 2 1937 1938 -call 1940 pith_cstring_release void 1 1938 -brif 1939 L3918 L3919 +label L3909 +load 2225 key +call 2226 checker_methods_method_declaration_owner int 1 2225 +store owner 2226 +iconst 2227 0 +store __and_2227_3918 2227 +load 2228 owner +iconst 2229 0 +gte 2230 2228 2229 +store __and_2227_3918 2230 +brif 2230 L3918 L3919 label L3918 -iconst 1941 0 -store vi 1941 -label L3920 -load 1942 vi -load 1943 recv_info -field 1944 1943 96 list_string variants -call 1945 pith_list_len int 1 1944 -lt 1946 1942 1945 -brif 1946 L3921 L3922 -label L3921 -load 1947 recv_info -field 1948 1947 96 list_string variants -load 1949 vi -call 1950 pith_list_get_value_strict string 2 1948 1949 -load 1951 method_name -call 1952 pith_cstring_eq bool 2 1950 1951 -brif 1952 L3924 L3925 +load 2231 owner +load 2232 dispatch_type +neq 2233 2231 2232 +store __and_2227_3918 2233 +label L3919 +load 2234 __and_2227_3918 +brif 2234 L3916 L3917 +label L3916 +load 2235 key +strref 2236 m18s36 +call 2237 pith_cstring_release void 1 2235 +store key 2236 +jmp L3915 +label L3917 +label L3915 +jmp L3906 +label L3908 +label L3906 +iconst 2238 0 +store __and_2238_3923 2238 +load 2239 key +call 2240 string_len int 1 2239 +iconst 2241 0 +gt 2242 2240 2241 +store __and_2238_3923 2242 +brif 2242 L3923 L3924 +label L3923 +load 2243 key +call 2244 checker_methods_has_method_declaration bool 1 2243 +store __and_2238_3923 2244 label L3924 -load 1953 payload_types -load 1954 recv_info -field 1955 1954 104 list variant_types -load 1956 vi -call 1957 pith_list_get_value_strict list 2 1955 1956 -call 1958 pith_list_retain_handle void 1 1957 -call 1959 pith_list_release_handle void 1 1953 -store payload_types 1957 -load 1960 arg_indices -call 1961 pith_list_len int 1 1960 -load 1962 payload_types -call 1963 pith_list_len int 1 1962 -neq 1964 1961 1963 -brif 1964 L3927 L3928 -label L3927 -strref 1965 m18s333 -load 1966 method_name -strref 1967 m18s583 -concat 1968 1966 1967 -call 1969 pith_cstring_release void 1 1967 -load 1970 payload_types -call 1971 pith_list_len int 1 1970 -call 1972 int_to_string string 1 1971 -concat 1973 1968 1972 -call 1974 pith_cstring_release void 1 1968 -call 1975 pith_cstring_release void 1 1972 -strref 1976 m18s582 -concat 1977 1973 1976 -call 1978 pith_cstring_release void 1 1973 -call 1979 pith_cstring_release void 1 1976 -load 1980 arg_indices -call 1981 pith_list_len int 1 1980 -call 1982 int_to_string string 1 1981 -concat 1983 1977 1982 -call 1984 pith_cstring_release void 1 1977 -call 1985 pith_cstring_release void 1 1982 -call 1986 checker_diagnostics_report_error void 2 1965 1983 -call 1987 pith_cstring_release void 1 1965 -call 1988 pith_cstring_release void 1 1983 -load 1989 types_TID_ERR -load 1990 method_name -call 1991 pith_cstring_release void 1 1990 -load 1992 recv_node -call 1993 pith_struct_release void 1 1992 -load 1994 arg_indices -call 1995 pith_list_release_handle void 1 1994 -load 1996 recv_name -call 1997 pith_cstring_release void 1 1996 -load 1998 module_path -call 1999 pith_cstring_release void 1 1998 -load 2000 ctor_type_name -call 2001 pith_cstring_release void 1 2000 -load 2002 ctor_info -call 2003 pith_struct_release void 1 2002 -load 2004 gen_ctor_name -call 2005 pith_cstring_release void 1 2004 -load 2006 qualified_name -call 2007 pith_cstring_release void 1 2006 -load 2008 module_name -call 2009 pith_cstring_release void 1 2008 -load 2010 generic_name -call 2011 pith_cstring_release void 1 2010 -load 2012 gdecl -call 2013 pith_struct_release void 1 2012 -load 2014 recv_info -call 2015 pith_struct_release void 1 2014 -load 2016 payload_types -call 2017 pith_list_release_handle void 1 2016 -load 2018 pa_node -call 2019 pith_struct_release void 1 2018 -load 2020 type_name -call 2021 pith_cstring_release void 1 2020 -load 2022 key -call 2023 pith_cstring_release void 1 2022 -load 2024 base_name -call 2025 pith_cstring_release void 1 2024 -load 2026 method_node -call 2027 pith_struct_release void 1 2026 -load 2028 struct_params -call 2029 pith_list_release_handle void 1 2028 -load 2030 struct_args -call 2031 pith_list_release_handle void 1 2030 -load 2032 base -call 2033 pith_cstring_release void 1 2032 -load 2034 sdecl -call 2035 pith_struct_release void 1 2034 -load 2036 assoc_base -call 2037 pith_cstring_release void 1 2036 -load 2038 bkey -call 2039 pith_cstring_release void 1 2038 -load 2040 param_types -call 2041 pith_list_release_handle void 1 2040 -load 2042 arg_node -call 2043 pith_struct_release void 1 2042 -ret 1989 -label L3928 +load 2245 __and_2238_3923 +brif 2245 L3921 L3922 +label L3921 +call 2246 checker_diagnostics_checker_current_node_index int 0 +load 2247 key +call 2248 checker_methods_get_method_declaration_index int 1 2247 +call 2249 checker_record_definition void 2 2246 2248 +load 2250 method_node +load 2251 key +call 2252 checker_methods_get_method_declaration_index int 1 2251 +call 2253 ast_get_node struct:Node 1 2252 +call 2254 pith_struct_release void 1 2250 +store method_node 2253 +load 2255 struct_params +call 2256 pith_list_new_cstr list 0 +call 2257 pith_list_release_handle void 1 2255 +store struct_params 2256 +load 2258 struct_args +call 2259 pith_list_new_default list 0 +call 2260 pith_list_release_handle void 1 2258 +store struct_args 2259 +load 2261 checker_struct_instance_type_args +load 2262 dispatch_type +call 2263 map_contains_ikey bool 2 2261 2262 +brif 2263 L3926 L3927 label L3926 -iconst 2044 0 -store pi 2044 -load 2045 arg_indices -call 2046 pith_auto_len int 1 2045 -iconst 2047 0 -store __for_idx_209 2047 -store __for_len_209 2046 -store __for_iter_209 2045 +load 2264 struct_args +load 2265 checker_struct_instance_type_args +load 2266 dispatch_type +call 2267 map_get_ikey_strict string 2 2265 2266 +call 2268 checker_decode_tid_list list 1 2267 +call 2269 pith_list_release_handle void 1 2264 +store struct_args 2268 +load 2270 checker_struct_instance_base_name +load 2271 dispatch_type +call 2272 map_contains_ikey bool 2 2270 2271 +brif 2272 L3929 L3930 label L3929 -load 2048 __for_idx_209 -load 2049 __for_len_209 -lt 2050 2048 2049 -brif 2050 L3930 L3932 +load 2273 base +load 2274 checker_struct_instance_base_name +load 2275 dispatch_type +call 2276 map_get_ikey_strict string 2 2274 2275 +call 2277 pith_cstring_retain void 1 2276 +call 2278 pith_cstring_release void 1 2273 +store base 2276 +load 2279 base +call 2280 checker_has_generic_declaration bool 1 2279 +brif 2280 L3932 L3933 +label L3932 +load 2281 sdecl +load 2282 base +call 2283 checker_get_generic_declaration_index int 1 2282 +call 2284 ast_get_node struct:Node 1 2283 +call 2285 pith_struct_release void 1 2281 +store sdecl 2284 +load 2286 struct_params +load 2287 sdecl +call 2288 checker_collect_generic_parameter_names list_string 1 2287 +call 2289 pith_list_release_handle void 1 2286 +store struct_params 2288 +jmp L3931 +label L3933 +label L3931 +jmp L3928 label L3930 -load 2051 __for_iter_209 -load 2052 __for_idx_209 -call 2053 pith_list_get_value unknown 2 2051 2052 -store __loopvar_209_pai 2053 -load 2054 pa_node -load 2055 __loopvar_209_pai -call 2056 ast_get_node struct:Node 1 2055 -call 2057 pith_struct_release void 1 2054 -store pa_node 2056 -load 2058 __loopvar_209_pai -store pa_expr 2058 -load 2059 pa_node -field 2060 2059 0 string kind -strref 2061 m18s324 -call 2062 pith_cstring_eq bool 2 2060 2061 -call 2063 pith_cstring_release void 1 2061 -brif 2062 L3934 L3935 -label L3934 -load 2064 pa_node -field 2065 2064 16 list children -call 2066 pith_list_len int 1 2065 -iconst 2067 0 -gt 2068 2066 2067 -brif 2068 L3937 L3938 +label L3928 +jmp L3925 +label L3927 +label L3925 +load 2290 assoc_base +load 2291 type_name +call 2292 checker_extract_base_type_name string 1 2291 +call 2293 pith_cstring_release void 1 2290 +store assoc_base 2292 +load 2294 checker_type_assoc_names +load 2295 assoc_base +call 2296 contains_key bool 2 2294 2295 +brif 2296 L3935 L3936 +label L3935 +load 2297 checker_type_assoc_names +load 2298 assoc_base +call 2299 map_get_strict string 2 2297 2298 +strref 2300 m18s91 +call 2301 pith_string_split_to_list list_string 2 2299 2300 +call 2302 pith_cstring_release void 1 2300 +call 2303 pith_auto_len int 1 2301 +iconst 2304 0 +store __for_idx_209 2304 +store __for_len_209 2303 +store __for_iter_209 2301 label L3937 -load 2069 pa_node -field 2070 2069 16 list children -iconst 2071 0 -call 2072 pith_list_get_value_strict int 2 2070 2071 -store pa_expr 2072 -jmp L3936 +load 2305 __for_idx_209 +load 2306 __for_len_209 +lt 2307 2305 2306 +brif 2307 L3938 L3940 label L3938 -label L3936 -jmp L3933 -label L3935 -label L3933 -load 2073 pa_expr -load 2074 scope_id -call 2075 checker_c_check_expr int 2 2073 2074 -store pa_type 2075 -load 2076 pi -load 2077 payload_types -call 2078 pith_list_len int 1 2077 -lt 2079 2076 2078 -brif 2079 L3940 L3941 -label L3940 -load 2080 pa_expr -load 2081 payload_types -load 2082 pi -call 2083 pith_list_get_value_strict int 2 2081 2082 -load 2084 pa_type -load 2085 scope_id -call 2086 checker_propagate_empty_argument_collection_type void 4 2080 2083 2084 2085 -jmp L3939 +load 2308 __for_iter_209 +load 2309 __for_idx_209 +call 2310 pith_list_get_value_unchecked string 2 2308 2309 +store __loopvar_209_an 2310 +load 2311 bkey +load 2312 assoc_base +strref 2313 m18s124 +concat 2314 2312 2313 +call 2315 pith_cstring_release void 1 2313 +load 2316 __loopvar_209_an +concat 2317 2314 2316 +call 2318 pith_cstring_release void 1 2314 +call 2319 pith_cstring_release void 1 2311 +store bkey 2317 +load 2320 checker_assoc_type_binding +load 2321 bkey +call 2322 contains_key bool 2 2320 2321 +brif 2322 L3942 L3943 +label L3942 +load 2323 struct_params +load 2324 __loopvar_209_an +call 2325 pith_list_push_value void 2 2323 2324 +load 2326 struct_args +load 2327 checker_assoc_type_binding +load 2328 bkey +call 2329 map_get_strict int 2 2327 2328 +call 2330 pith_list_push_value void 2 2326 2329 +jmp L3941 +label L3943 label L3941 label L3939 -iconst 2087 0 -store __and_2087_3945 2087 -load 2088 pa_type -call 2089 types_is_error_type bool 1 2088 -iconst 2090 0 -eq 2091 2089 2090 -store __and_2087_3945 2091 -brif 2091 L3945 L3946 +load 2331 __for_idx_209 +iconst 2332 1 +add 2333 2331 2332 +store __for_idx_209 2333 +jmp L3937 +label L3940 +load 2334 __for_iter_209 +call 2335 pith_list_release_handle void 1 2334 +jmp L3934 +label L3936 +label L3934 +load 2336 param_types +load 2337 method_node +load 2338 struct_params +load 2339 struct_args +call 2340 checker_collect_function_param_types_with_subst list 3 2337 2338 2339 +call 2341 pith_list_release_handle void 1 2336 +store param_types 2340 +load 2342 method_node +load 2343 struct_params +load 2344 struct_args +call 2345 checker_collect_function_return_type_with_subst int 3 2342 2343 2344 +store ret_type 2345 +load 2346 arg_indices +call 2347 pith_list_len int 1 2346 +load 2348 param_types +call 2349 pith_list_len int 1 2348 +neq 2350 2347 2349 +brif 2350 L3945 L3946 label L3945 -load 2092 pi -load 2093 payload_types -call 2094 pith_list_len int 1 2093 -lt 2095 2092 2094 -store __and_2087_3945 2095 +strref 2351 m18s333 +load 2352 method_name +strref 2353 m18s583 +concat 2354 2352 2353 +call 2355 pith_cstring_release void 1 2353 +load 2356 param_types +call 2357 pith_list_len int 1 2356 +call 2358 int_to_string string 1 2357 +concat 2359 2354 2358 +call 2360 pith_cstring_release void 1 2354 +call 2361 pith_cstring_release void 1 2358 +strref 2362 m18s582 +concat 2363 2359 2362 +call 2364 pith_cstring_release void 1 2359 +call 2365 pith_cstring_release void 1 2362 +load 2366 arg_indices +call 2367 pith_list_len int 1 2366 +call 2368 int_to_string string 1 2367 +concat 2369 2363 2368 +call 2370 pith_cstring_release void 1 2363 +call 2371 pith_cstring_release void 1 2368 +call 2372 checker_diagnostics_report_error void 2 2351 2369 +call 2373 pith_cstring_release void 1 2351 +call 2374 pith_cstring_release void 1 2369 +load 2375 types_TID_ERR +load 2376 method_name +call 2377 pith_cstring_release void 1 2376 +load 2378 recv_node +call 2379 pith_struct_release void 1 2378 +load 2380 arg_indices +call 2381 pith_list_release_handle void 1 2380 +load 2382 recv_name +call 2383 pith_cstring_release void 1 2382 +load 2384 module_path +call 2385 pith_cstring_release void 1 2384 +load 2386 ctor_type_name +call 2387 pith_cstring_release void 1 2386 +load 2388 ctor_info +call 2389 pith_struct_release void 1 2388 +load 2390 gen_ctor_name +call 2391 pith_cstring_release void 1 2390 +load 2392 qualified_name +call 2393 pith_cstring_release void 1 2392 +load 2394 module_name +call 2395 pith_cstring_release void 1 2394 +load 2396 generic_name +call 2397 pith_cstring_release void 1 2396 +load 2398 gdecl +call 2399 pith_struct_release void 1 2398 +load 2400 recv_info +call 2401 pith_struct_release void 1 2400 +load 2402 payload_types +call 2403 pith_list_release_handle void 1 2402 +load 2404 pa_node +call 2405 pith_struct_release void 1 2404 +load 2406 type_name +call 2407 pith_cstring_release void 1 2406 +load 2408 key +call 2409 pith_cstring_release void 1 2408 +load 2410 base_name +call 2411 pith_cstring_release void 1 2410 +load 2412 method_node +call 2413 pith_struct_release void 1 2412 +load 2414 struct_params +call 2415 pith_list_release_handle void 1 2414 +load 2416 struct_args +call 2417 pith_list_release_handle void 1 2416 +load 2418 base +call 2419 pith_cstring_release void 1 2418 +load 2420 sdecl +call 2421 pith_struct_release void 1 2420 +load 2422 assoc_base +call 2423 pith_cstring_release void 1 2422 +load 2424 bkey +call 2425 pith_cstring_release void 1 2424 +load 2426 param_types +call 2427 pith_list_release_handle void 1 2426 +load 2428 arg_node +call 2429 pith_struct_release void 1 2428 +ret 2375 label L3946 -load 2096 __and_2087_3945 -brif 2096 L3943 L3944 -label L3943 -load 2097 pa_type -load 2098 payload_types -load 2099 pi -call 2100 pith_list_get_value_strict int 2 2098 2099 -neq 2101 2097 2100 -brif 2101 L3948 L3949 +label L3944 +iconst 2430 0 +store aidx 2430 +load 2431 arg_indices +call 2432 pith_auto_len int 1 2431 +iconst 2433 0 +store __for_idx_210 2433 +store __for_len_210 2432 +store __for_iter_210 2431 +label L3947 +load 2434 __for_idx_210 +load 2435 __for_len_210 +lt 2436 2434 2435 +brif 2436 L3948 L3950 label L3948 -load 2102 pa_type -load 2103 payload_types -load 2104 pi -call 2105 pith_list_get_value_strict int 2 2103 2104 -call 2106 checker_types_structurally_equal bool 2 2102 2105 -iconst 2107 0 -eq 2108 2106 2107 -brif 2108 L3951 L3952 -label L3951 -strref 2109 m18s330 -strref 2110 m18s477 -load 2111 payload_types -load 2112 pi -call 2113 pith_list_get_value_strict int 2 2111 2112 -call 2114 types_get_type_name string 1 2113 -concat 2115 2110 2114 -call 2116 pith_cstring_release void 1 2110 -call 2117 pith_cstring_release void 1 2114 -strref 2118 m18s327 -concat 2119 2115 2118 -call 2120 pith_cstring_release void 1 2115 -call 2121 pith_cstring_release void 1 2118 -load 2122 pa_type -call 2123 types_get_type_name string 1 2122 -concat 2124 2119 2123 -call 2125 pith_cstring_release void 1 2119 -call 2126 pith_cstring_release void 1 2123 -call 2127 checker_diagnostics_report_error void 2 2109 2124 -call 2128 pith_cstring_release void 1 2109 -call 2129 pith_cstring_release void 1 2124 -jmp L3950 +load 2437 __for_iter_210 +load 2438 __for_idx_210 +call 2439 pith_list_get_value unknown 2 2437 2438 +store __loopvar_210_ai 2439 +load 2440 arg_node +load 2441 __loopvar_210_ai +call 2442 ast_get_node struct:Node 1 2441 +call 2443 pith_struct_release void 1 2440 +store arg_node 2442 +load 2444 __loopvar_210_ai +store arg_expr 2444 +load 2445 arg_node +field 2446 2445 0 string kind +strref 2447 m18s324 +call 2448 pith_cstring_eq bool 2 2446 2447 +call 2449 pith_cstring_release void 1 2447 +brif 2448 L3952 L3953 label L3952 -label L3950 -jmp L3947 -label L3949 -label L3947 -jmp L3942 -label L3944 -label L3942 -load 2130 pi -iconst 2131 1 -add 2132 2130 2131 -store pi 2132 -label L3931 -load 2133 __for_idx_209 -iconst 2134 1 -add 2135 2133 2134 -store __for_idx_209 2135 -jmp L3929 -label L3932 -load 2136 receiver_type -load 2137 method_name -call 2138 pith_cstring_release void 1 2137 -load 2139 recv_node -call 2140 pith_struct_release void 1 2139 -load 2141 arg_indices -call 2142 pith_list_release_handle void 1 2141 -load 2143 recv_name -call 2144 pith_cstring_release void 1 2143 -load 2145 module_path -call 2146 pith_cstring_release void 1 2145 -load 2147 ctor_type_name -call 2148 pith_cstring_release void 1 2147 -load 2149 ctor_info -call 2150 pith_struct_release void 1 2149 -load 2151 gen_ctor_name -call 2152 pith_cstring_release void 1 2151 -load 2153 qualified_name -call 2154 pith_cstring_release void 1 2153 -load 2155 module_name -call 2156 pith_cstring_release void 1 2155 -load 2157 generic_name -call 2158 pith_cstring_release void 1 2157 -load 2159 gdecl -call 2160 pith_struct_release void 1 2159 -load 2161 recv_info -call 2162 pith_struct_release void 1 2161 -load 2163 payload_types -call 2164 pith_list_release_handle void 1 2163 -load 2165 pa_node -call 2166 pith_struct_release void 1 2165 -load 2167 type_name -call 2168 pith_cstring_release void 1 2167 -load 2169 key -call 2170 pith_cstring_release void 1 2169 -load 2171 base_name -call 2172 pith_cstring_release void 1 2171 -load 2173 method_node -call 2174 pith_struct_release void 1 2173 -load 2175 struct_params -call 2176 pith_list_release_handle void 1 2175 -load 2177 struct_args -call 2178 pith_list_release_handle void 1 2177 -load 2179 base -call 2180 pith_cstring_release void 1 2179 -load 2181 sdecl -call 2182 pith_struct_release void 1 2181 -load 2183 assoc_base -call 2184 pith_cstring_release void 1 2183 -load 2185 bkey -call 2186 pith_cstring_release void 1 2185 -load 2187 param_types -call 2188 pith_list_release_handle void 1 2187 -load 2189 arg_node -call 2190 pith_struct_release void 1 2189 -ret 2136 -label L3925 -label L3923 -load 2191 vi -iconst 2192 1 -add 2193 2191 2192 -store vi 2193 -jmp L3920 -label L3922 -jmp L3917 -label L3919 -label L3917 -load 2194 type_name -load 2195 dispatch_type -call 2196 types_get_type_name string 1 2195 -call 2197 pith_cstring_release void 1 2194 -store type_name 2196 -load 2198 key -load 2199 dispatch_type -load 2200 method_name -call 2201 checker_methods_method_tid_key string 2 2199 2200 -call 2202 pith_cstring_release void 1 2198 -store key 2201 -load 2203 key -call 2204 checker_methods_has_method_declaration bool 1 2203 -iconst 2205 0 -eq 2206 2204 2205 -brif 2206 L3954 L3955 +load 2450 arg_node +field 2451 2450 16 list children +call 2452 pith_list_len int 1 2451 +iconst 2453 0 +gt 2454 2452 2453 +brif 2454 L3955 L3956 +label L3955 +load 2455 arg_node +field 2456 2455 16 list children +iconst 2457 0 +call 2458 pith_list_get_value_strict int 2 2456 2457 +store arg_expr 2458 +jmp L3954 +label L3956 label L3954 -load 2207 key -load 2208 type_name -strref 2209 m18s124 -concat 2210 2208 2209 -call 2211 pith_cstring_release void 1 2209 -load 2212 method_name -concat 2213 2210 2212 -call 2214 pith_cstring_release void 1 2210 -call 2215 pith_cstring_release void 1 2207 -store key 2213 -load 2216 key -call 2217 checker_methods_has_method_declaration bool 1 2216 -iconst 2218 0 -eq 2219 2217 2218 -brif 2219 L3957 L3958 +jmp L3951 +label L3953 +label L3951 +load 2459 arg_expr +load 2460 scope_id +call 2461 checker_c_check_expr int 2 2459 2460 +store atype 2461 +load 2462 aidx +load 2463 param_types +call 2464 pith_list_len int 1 2463 +lt 2465 2462 2464 +brif 2465 L3958 L3959 +label L3958 +load 2466 arg_expr +load 2467 param_types +load 2468 aidx +call 2469 pith_list_get_value_strict int 2 2467 2468 +load 2470 atype +load 2471 scope_id +call 2472 checker_propagate_empty_argument_collection_type void 4 2466 2469 2470 2471 +jmp L3957 +label L3959 label L3957 -load 2220 base_name -load 2221 type_name -call 2222 checker_extract_base_type_name string 1 2221 -call 2223 pith_cstring_release void 1 2220 -store base_name 2222 -load 2224 base_name -load 2225 type_name -call 2227 pith_cstring_eq bool 2 2224 2225 -iconst 2228 1 -sub 2226 2228 2227 -brif 2226 L3960 L3961 -label L3960 -load 2229 key -load 2230 base_name -strref 2231 m18s124 -concat 2232 2230 2231 -call 2233 pith_cstring_release void 1 2231 -load 2234 method_name -concat 2235 2232 2234 -call 2236 pith_cstring_release void 1 2232 -call 2237 pith_cstring_release void 1 2229 -store key 2235 -jmp L3959 +load 2473 atype +call 2474 types_is_error_type bool 1 2473 +iconst 2475 0 +eq 2476 2474 2475 +brif 2476 L3961 L3962 label L3961 -label L3959 -jmp L3956 -label L3958 -label L3956 -load 2238 key -call 2239 checker_methods_method_declaration_owner int 1 2238 -store owner 2239 -iconst 2240 0 -store __and_2240_3965 2240 -load 2241 owner -iconst 2242 0 -gte 2243 2241 2242 -store __and_2240_3965 2243 -brif 2243 L3965 L3966 -label L3965 -load 2244 owner -load 2245 dispatch_type -neq 2246 2244 2245 -store __and_2240_3965 2246 -label L3966 -load 2247 __and_2240_3965 -brif 2247 L3963 L3964 -label L3963 -load 2248 key -strref 2249 m18s36 -call 2250 pith_cstring_release void 1 2248 -store key 2249 -jmp L3962 +load 2477 aidx +load 2478 param_types +call 2479 pith_list_len int 1 2478 +lt 2480 2477 2479 +brif 2480 L3964 L3965 label L3964 -label L3962 -jmp L3953 -label L3955 -label L3953 -iconst 2251 0 -store __and_2251_3970 2251 -load 2252 key -call 2253 string_len int 1 2252 -iconst 2254 0 -gt 2255 2253 2254 -store __and_2251_3970 2255 -brif 2255 L3970 L3971 +load 2481 atype +load 2482 param_types +load 2483 aidx +call 2484 pith_list_get_value_strict int 2 2482 2483 +neq 2485 2481 2484 +brif 2485 L3967 L3968 +label L3967 +load 2486 arg_expr +load 2487 atype +load 2488 param_types +load 2489 aidx +call 2490 pith_list_get_value_strict int 2 2488 2489 +call 2491 checker_argument_widens_to_optional bool 3 2486 2487 2490 +iconst 2492 0 +eq 2493 2491 2492 +brif 2493 L3970 L3971 label L3970 -load 2256 key -call 2257 checker_methods_has_method_declaration bool 1 2256 -store __and_2251_3970 2257 -label L3971 -load 2258 __and_2251_3970 -brif 2258 L3968 L3969 -label L3968 -call 2259 checker_diagnostics_checker_current_node_index int 0 -load 2260 key -call 2261 checker_methods_get_method_declaration_index int 1 2260 -call 2262 checker_record_definition void 2 2259 2261 -load 2263 method_node -load 2264 key -call 2265 checker_methods_get_method_declaration_index int 1 2264 -call 2266 ast_get_node struct:Node 1 2265 -call 2267 pith_struct_release void 1 2263 -store method_node 2266 -load 2268 struct_params -call 2269 pith_list_new_cstr list 0 -call 2270 pith_list_release_handle void 1 2268 -store struct_params 2269 -load 2271 struct_args -call 2272 pith_list_new_default list 0 -call 2273 pith_list_release_handle void 1 2271 -store struct_args 2272 -load 2274 checker_struct_instance_type_args -load 2275 dispatch_type -call 2276 map_contains_ikey bool 2 2274 2275 -brif 2276 L3973 L3974 +load 2494 arg_expr +load 2495 param_types +load 2496 aidx +call 2497 pith_list_get_value_strict int 2 2495 2496 +load 2498 scope_id +call 2499 checker_collection_literal_matches_target bool 3 2494 2497 2498 +iconst 2500 0 +eq 2501 2499 2500 +brif 2501 L3973 L3974 label L3973 -load 2277 struct_args -load 2278 checker_struct_instance_type_args -load 2279 dispatch_type -call 2280 map_get_ikey_strict string 2 2278 2279 -call 2281 checker_decode_tid_list list 1 2280 -call 2282 pith_list_release_handle void 1 2277 -store struct_args 2281 -load 2283 checker_struct_instance_base_name -load 2284 dispatch_type -call 2285 map_contains_ikey bool 2 2283 2284 -brif 2285 L3976 L3977 +load 2502 atype +load 2503 param_types +load 2504 aidx +call 2505 pith_list_get_value_strict int 2 2503 2504 +call 2506 checker_types_structurally_equal bool 2 2502 2505 +iconst 2507 0 +eq 2508 2506 2507 +brif 2508 L3976 L3977 label L3976 -load 2286 base -load 2287 checker_struct_instance_base_name -load 2288 dispatch_type -call 2289 map_get_ikey_strict string 2 2287 2288 -call 2290 pith_cstring_retain void 1 2289 -call 2291 pith_cstring_release void 1 2286 -store base 2289 -load 2292 base -call 2293 checker_has_generic_declaration bool 1 2292 -brif 2293 L3979 L3980 -label L3979 -load 2294 sdecl -load 2295 base -call 2296 checker_get_generic_declaration_index int 1 2295 -call 2297 ast_get_node struct:Node 1 2296 -call 2298 pith_struct_release void 1 2294 -store sdecl 2297 -load 2299 struct_params -load 2300 sdecl -call 2301 checker_collect_generic_parameter_names list_string 1 2300 -call 2302 pith_list_release_handle void 1 2299 -store struct_params 2301 -jmp L3978 -label L3980 -label L3978 +strref 2509 m18s330 +strref 2510 m18s477 +load 2511 param_types +load 2512 aidx +call 2513 pith_list_get_value_strict int 2 2511 2512 +call 2514 types_get_type_name string 1 2513 +concat 2515 2510 2514 +call 2516 pith_cstring_release void 1 2510 +call 2517 pith_cstring_release void 1 2514 +strref 2518 m18s327 +concat 2519 2515 2518 +call 2520 pith_cstring_release void 1 2515 +call 2521 pith_cstring_release void 1 2518 +load 2522 atype +call 2523 types_get_type_name string 1 2522 +concat 2524 2519 2523 +call 2525 pith_cstring_release void 1 2519 +call 2526 pith_cstring_release void 1 2523 +call 2527 checker_diagnostics_report_error void 2 2509 2524 +call 2528 pith_cstring_release void 1 2509 +call 2529 pith_cstring_release void 1 2524 jmp L3975 label L3977 label L3975 jmp L3972 label L3974 label L3972 -load 2303 assoc_base -load 2304 type_name -call 2305 checker_extract_base_type_name string 1 2304 -call 2306 pith_cstring_release void 1 2303 -store assoc_base 2305 -load 2307 checker_type_assoc_names -load 2308 assoc_base -call 2309 contains_key bool 2 2307 2308 -brif 2309 L3982 L3983 +jmp L3969 +label L3971 +label L3969 +jmp L3966 +label L3968 +label L3966 +jmp L3963 +label L3965 +label L3963 +jmp L3960 +label L3962 +label L3960 +load 2530 aidx +iconst 2531 1 +add 2532 2530 2531 +store aidx 2532 +label L3949 +load 2533 __for_idx_210 +iconst 2534 1 +add 2535 2533 2534 +store __for_idx_210 2535 +jmp L3947 +label L3950 +load 2536 ret_type +load 2537 method_name +call 2538 pith_cstring_release void 1 2537 +load 2539 recv_node +call 2540 pith_struct_release void 1 2539 +load 2541 arg_indices +call 2542 pith_list_release_handle void 1 2541 +load 2543 recv_name +call 2544 pith_cstring_release void 1 2543 +load 2545 module_path +call 2546 pith_cstring_release void 1 2545 +load 2547 ctor_type_name +call 2548 pith_cstring_release void 1 2547 +load 2549 ctor_info +call 2550 pith_struct_release void 1 2549 +load 2551 gen_ctor_name +call 2552 pith_cstring_release void 1 2551 +load 2553 qualified_name +call 2554 pith_cstring_release void 1 2553 +load 2555 module_name +call 2556 pith_cstring_release void 1 2555 +load 2557 generic_name +call 2558 pith_cstring_release void 1 2557 +load 2559 gdecl +call 2560 pith_struct_release void 1 2559 +load 2561 recv_info +call 2562 pith_struct_release void 1 2561 +load 2563 payload_types +call 2564 pith_list_release_handle void 1 2563 +load 2565 pa_node +call 2566 pith_struct_release void 1 2565 +load 2567 type_name +call 2568 pith_cstring_release void 1 2567 +load 2569 key +call 2570 pith_cstring_release void 1 2569 +load 2571 base_name +call 2572 pith_cstring_release void 1 2571 +load 2573 method_node +call 2574 pith_struct_release void 1 2573 +load 2575 struct_params +call 2576 pith_list_release_handle void 1 2575 +load 2577 struct_args +call 2578 pith_list_release_handle void 1 2577 +load 2579 base +call 2580 pith_cstring_release void 1 2579 +load 2581 sdecl +call 2582 pith_struct_release void 1 2581 +load 2583 assoc_base +call 2584 pith_cstring_release void 1 2583 +load 2585 bkey +call 2586 pith_cstring_release void 1 2585 +load 2587 param_types +call 2588 pith_list_release_handle void 1 2587 +load 2589 arg_node +call 2590 pith_struct_release void 1 2589 +ret 2536 +label L3922 +label L3920 +load 2591 recv_info +field 2592 2591 0 string kind +strref 2593 m18s35 +call 2594 pith_cstring_eq bool 2 2592 2593 +call 2595 pith_cstring_release void 1 2593 +brif 2594 L3979 L3980 +label L3979 +iconst 2596 0 +store ffi 2596 +label L3981 +load 2597 ffi +load 2598 recv_info +field 2599 2598 16 list_string fields +call 2600 pith_list_len int 1 2599 +lt 2601 2597 2600 +brif 2601 L3982 L3983 label L3982 -load 2310 checker_type_assoc_names -load 2311 assoc_base -call 2312 map_get_strict string 2 2310 2311 -strref 2313 m18s91 -call 2314 pith_string_split_to_list list_string 2 2312 2313 -call 2315 pith_cstring_release void 1 2313 -call 2316 pith_auto_len int 1 2314 -iconst 2317 0 -store __for_idx_210 2317 -store __for_len_210 2316 -store __for_iter_210 2314 -label L3984 -load 2318 __for_idx_210 -load 2319 __for_len_210 -lt 2320 2318 2319 -brif 2320 L3985 L3987 +load 2602 recv_info +field 2603 2602 16 list_string fields +load 2604 ffi +call 2605 pith_list_get_value_strict string 2 2603 2604 +load 2606 method_name +call 2607 checker_strings_equal bool 2 2605 2606 +brif 2607 L3985 L3986 label L3985 -load 2321 __for_iter_210 -load 2322 __for_idx_210 -call 2323 pith_list_get_value_unchecked string 2 2321 2322 -store __loopvar_210_an 2323 -load 2324 bkey -load 2325 assoc_base -strref 2326 m18s124 -concat 2327 2325 2326 -call 2328 pith_cstring_release void 1 2326 -load 2329 __loopvar_210_an -concat 2330 2327 2329 -call 2331 pith_cstring_release void 1 2327 -call 2332 pith_cstring_release void 1 2324 -store bkey 2330 -load 2333 checker_assoc_type_binding -load 2334 bkey -call 2335 contains_key bool 2 2333 2334 -brif 2335 L3989 L3990 -label L3989 -load 2336 struct_params -load 2337 __loopvar_210_an -call 2338 pith_list_push_value void 2 2336 2337 -load 2339 struct_args -load 2340 checker_assoc_type_binding -load 2341 bkey -call 2342 map_get_strict int 2 2340 2341 -call 2343 pith_list_push_value void 2 2339 2342 -jmp L3988 +iconst 2608 0 +store __and_2608_3990 2608 +load 2609 ffi +load 2610 recv_info +field 2611 2610 24 list field_types +call 2612 pith_list_len int 1 2611 +lt 2613 2609 2612 +store __and_2608_3990 2613 +brif 2613 L3990 L3991 label L3990 +load 2614 recv_info +field 2615 2614 24 list field_types +load 2616 ffi +call 2617 pith_list_get_value_strict int 2 2615 2616 +call 2618 types_get_type_info struct:TypeInfo 1 2617 +field 2619 2618 0 string kind +strref 2620 m18s32 +call 2621 pith_cstring_eq bool 2 2619 2620 +call 2622 pith_cstring_release void 1 2620 +store __and_2608_3990 2621 +label L3991 +load 2623 __and_2608_3990 +brif 2623 L3988 L3989 label L3988 -label L3986 -load 2344 __for_idx_210 -iconst 2345 1 -add 2346 2344 2345 -store __for_idx_210 2346 -jmp L3984 +load 2624 recv_info +field 2625 2624 24 list field_types +load 2626 ffi +call 2627 pith_list_get_value_strict int 2 2625 2626 +load 2628 arg_indices +load 2629 scope_id +call 2630 checker_check_callable_type_with_args int 3 2627 2628 2629 +load 2631 method_name +call 2632 pith_cstring_release void 1 2631 +load 2633 recv_node +call 2634 pith_struct_release void 1 2633 +load 2635 arg_indices +call 2636 pith_list_release_handle void 1 2635 +load 2637 recv_name +call 2638 pith_cstring_release void 1 2637 +load 2639 module_path +call 2640 pith_cstring_release void 1 2639 +load 2641 ctor_type_name +call 2642 pith_cstring_release void 1 2641 +load 2643 ctor_info +call 2644 pith_struct_release void 1 2643 +load 2645 gen_ctor_name +call 2646 pith_cstring_release void 1 2645 +load 2647 qualified_name +call 2648 pith_cstring_release void 1 2647 +load 2649 module_name +call 2650 pith_cstring_release void 1 2649 +load 2651 generic_name +call 2652 pith_cstring_release void 1 2651 +load 2653 gdecl +call 2654 pith_struct_release void 1 2653 +load 2655 recv_info +call 2656 pith_struct_release void 1 2655 +load 2657 payload_types +call 2658 pith_list_release_handle void 1 2657 +load 2659 pa_node +call 2660 pith_struct_release void 1 2659 +load 2661 type_name +call 2662 pith_cstring_release void 1 2661 +load 2663 key +call 2664 pith_cstring_release void 1 2663 +load 2665 base_name +call 2666 pith_cstring_release void 1 2665 +load 2667 method_node +call 2668 pith_struct_release void 1 2667 +load 2669 struct_params +call 2670 pith_list_release_handle void 1 2669 +load 2671 struct_args +call 2672 pith_list_release_handle void 1 2671 +load 2673 base +call 2674 pith_cstring_release void 1 2673 +load 2675 sdecl +call 2676 pith_struct_release void 1 2675 +load 2677 assoc_base +call 2678 pith_cstring_release void 1 2677 +load 2679 bkey +call 2680 pith_cstring_release void 1 2679 +load 2681 param_types +call 2682 pith_list_release_handle void 1 2681 +load 2683 arg_node +call 2684 pith_struct_release void 1 2683 +ret 2630 +label L3989 label L3987 -load 2347 __for_iter_210 -call 2348 pith_list_release_handle void 1 2347 +jmp L3984 +label L3986 +label L3984 +load 2685 ffi +iconst 2686 1 +add 2687 2685 2686 +store ffi 2687 jmp L3981 label L3983 -label L3981 -load 2349 param_types -load 2350 method_node -load 2351 struct_params -load 2352 struct_args -call 2353 checker_collect_function_param_types_with_subst list 3 2350 2351 2352 -call 2354 pith_list_release_handle void 1 2349 -store param_types 2353 -load 2355 method_node -load 2356 struct_params -load 2357 struct_args -call 2358 checker_collect_function_return_type_with_subst int 3 2355 2356 2357 -store ret_type 2358 -load 2359 arg_indices -call 2360 pith_list_len int 1 2359 -load 2361 param_types -call 2362 pith_list_len int 1 2361 -neq 2363 2360 2362 -brif 2363 L3992 L3993 -label L3992 -strref 2364 m18s333 -load 2365 method_name -strref 2366 m18s583 -concat 2367 2365 2366 -call 2368 pith_cstring_release void 1 2366 -load 2369 param_types -call 2370 pith_list_len int 1 2369 -call 2371 int_to_string string 1 2370 -concat 2372 2367 2371 -call 2373 pith_cstring_release void 1 2367 -call 2374 pith_cstring_release void 1 2371 -strref 2375 m18s582 -concat 2376 2372 2375 -call 2377 pith_cstring_release void 1 2372 -call 2378 pith_cstring_release void 1 2375 -load 2379 arg_indices -call 2380 pith_list_len int 1 2379 -call 2381 int_to_string string 1 2380 -concat 2382 2376 2381 -call 2383 pith_cstring_release void 1 2376 -call 2384 pith_cstring_release void 1 2381 -call 2385 checker_diagnostics_report_error void 2 2364 2382 -call 2386 pith_cstring_release void 1 2364 -call 2387 pith_cstring_release void 1 2382 -load 2388 types_TID_ERR -load 2389 method_name -call 2390 pith_cstring_release void 1 2389 -load 2391 recv_node -call 2392 pith_struct_release void 1 2391 -load 2393 arg_indices -call 2394 pith_list_release_handle void 1 2393 -load 2395 recv_name -call 2396 pith_cstring_release void 1 2395 -load 2397 module_path -call 2398 pith_cstring_release void 1 2397 -load 2399 ctor_type_name -call 2400 pith_cstring_release void 1 2399 -load 2401 ctor_info -call 2402 pith_struct_release void 1 2401 -load 2403 gen_ctor_name -call 2404 pith_cstring_release void 1 2403 -load 2405 qualified_name -call 2406 pith_cstring_release void 1 2405 -load 2407 module_name -call 2408 pith_cstring_release void 1 2407 -load 2409 generic_name -call 2410 pith_cstring_release void 1 2409 -load 2411 gdecl -call 2412 pith_struct_release void 1 2411 -load 2413 recv_info -call 2414 pith_struct_release void 1 2413 -load 2415 payload_types -call 2416 pith_list_release_handle void 1 2415 -load 2417 pa_node -call 2418 pith_struct_release void 1 2417 -load 2419 type_name -call 2420 pith_cstring_release void 1 2419 -load 2421 key -call 2422 pith_cstring_release void 1 2421 -load 2423 base_name -call 2424 pith_cstring_release void 1 2423 -load 2425 method_node -call 2426 pith_struct_release void 1 2425 -load 2427 struct_params -call 2428 pith_list_release_handle void 1 2427 -load 2429 struct_args -call 2430 pith_list_release_handle void 1 2429 -load 2431 base -call 2432 pith_cstring_release void 1 2431 -load 2433 sdecl -call 2434 pith_struct_release void 1 2433 -load 2435 assoc_base -call 2436 pith_cstring_release void 1 2435 -load 2437 bkey -call 2438 pith_cstring_release void 1 2437 -load 2439 param_types -call 2440 pith_list_release_handle void 1 2439 -load 2441 arg_node -call 2442 pith_struct_release void 1 2441 -ret 2388 +jmp L3978 +label L3980 +label L3978 +call 2688 checker_diagnostics_checker_reported_at_current bool 0 +iconst 2689 0 +eq 2690 2688 2689 +brif 2690 L3993 L3994 label L3993 -label L3991 -iconst 2443 0 -store aidx 2443 -load 2444 arg_indices -call 2445 pith_auto_len int 1 2444 -iconst 2446 0 -store __for_idx_211 2446 -store __for_len_211 2445 -store __for_iter_211 2444 +strref 2691 m18s463 +load 2692 receiver_type +call 2693 types_get_type_name string 1 2692 +strref 2694 m18s581 +concat 2695 2693 2694 +call 2696 pith_cstring_release void 1 2693 +call 2697 pith_cstring_release void 1 2694 +load 2698 method_name +concat 2699 2695 2698 +call 2700 pith_cstring_release void 1 2695 +strref 2701 m18s376 +concat 2702 2699 2701 +call 2703 pith_cstring_release void 1 2699 +call 2704 pith_cstring_release void 1 2701 +call 2705 checker_diagnostics_report_error void 2 2691 2702 +call 2706 pith_cstring_release void 1 2691 +call 2707 pith_cstring_release void 1 2702 +jmp L3992 label L3994 -load 2447 __for_idx_211 -load 2448 __for_len_211 -lt 2449 2447 2448 -brif 2449 L3995 L3997 -label L3995 -load 2450 __for_iter_211 -load 2451 __for_idx_211 -call 2452 pith_list_get_value unknown 2 2450 2451 -store __loopvar_211_ai 2452 -load 2453 arg_node -load 2454 __loopvar_211_ai -call 2455 ast_get_node struct:Node 1 2454 -call 2456 pith_struct_release void 1 2453 -store arg_node 2455 -load 2457 __loopvar_211_ai -store arg_expr 2457 -load 2458 arg_node -field 2459 2458 0 string kind -strref 2460 m18s324 -call 2461 pith_cstring_eq bool 2 2459 2460 -call 2462 pith_cstring_release void 1 2460 -brif 2461 L3999 L4000 -label L3999 -load 2463 arg_node -field 2464 2463 16 list children -call 2465 pith_list_len int 1 2464 -iconst 2466 0 -gt 2467 2465 2466 -brif 2467 L4002 L4003 -label L4002 -load 2468 arg_node -field 2469 2468 16 list children -iconst 2470 0 -call 2471 pith_list_get_value_strict int 2 2469 2470 -store arg_expr 2471 -jmp L4001 -label L4003 -label L4001 -jmp L3998 -label L4000 -label L3998 -load 2472 arg_expr -load 2473 scope_id -call 2474 checker_c_check_expr int 2 2472 2473 -store atype 2474 -load 2475 aidx -load 2476 param_types -call 2477 pith_list_len int 1 2476 -lt 2478 2475 2477 -brif 2478 L4005 L4006 -label L4005 -load 2479 arg_expr -load 2480 param_types -load 2481 aidx -call 2482 pith_list_get_value_strict int 2 2480 2481 -load 2483 atype -load 2484 scope_id -call 2485 checker_propagate_empty_argument_collection_type void 4 2479 2482 2483 2484 -jmp L4004 -label L4006 -label L4004 -load 2486 atype -call 2487 types_is_error_type bool 1 2486 -iconst 2488 0 -eq 2489 2487 2488 -brif 2489 L4008 L4009 -label L4008 -load 2490 aidx -load 2491 param_types -call 2492 pith_list_len int 1 2491 -lt 2493 2490 2492 -brif 2493 L4011 L4012 -label L4011 -load 2494 atype -load 2495 param_types -load 2496 aidx -call 2497 pith_list_get_value_strict int 2 2495 2496 -neq 2498 2494 2497 -brif 2498 L4014 L4015 -label L4014 -load 2499 arg_expr -load 2500 atype -load 2501 param_types -load 2502 aidx -call 2503 pith_list_get_value_strict int 2 2501 2502 -call 2504 checker_argument_widens_to_optional bool 3 2499 2500 2503 -iconst 2505 0 -eq 2506 2504 2505 -brif 2506 L4017 L4018 -label L4017 -load 2507 arg_expr -load 2508 param_types -load 2509 aidx -call 2510 pith_list_get_value_strict int 2 2508 2509 -load 2511 scope_id -call 2512 checker_collection_literal_matches_target bool 3 2507 2510 2511 -iconst 2513 0 -eq 2514 2512 2513 -brif 2514 L4020 L4021 -label L4020 -load 2515 atype -load 2516 param_types -load 2517 aidx -call 2518 pith_list_get_value_strict int 2 2516 2517 -call 2519 checker_types_structurally_equal bool 2 2515 2518 -iconst 2520 0 -eq 2521 2519 2520 -brif 2521 L4023 L4024 -label L4023 -strref 2522 m18s330 -strref 2523 m18s477 -load 2524 param_types -load 2525 aidx -call 2526 pith_list_get_value_strict int 2 2524 2525 -call 2527 types_get_type_name string 1 2526 -concat 2528 2523 2527 -call 2529 pith_cstring_release void 1 2523 -call 2530 pith_cstring_release void 1 2527 -strref 2531 m18s327 -concat 2532 2528 2531 -call 2533 pith_cstring_release void 1 2528 -call 2534 pith_cstring_release void 1 2531 -load 2535 atype -call 2536 types_get_type_name string 1 2535 -concat 2537 2532 2536 -call 2538 pith_cstring_release void 1 2532 -call 2539 pith_cstring_release void 1 2536 -call 2540 checker_diagnostics_report_error void 2 2522 2537 -call 2541 pith_cstring_release void 1 2522 -call 2542 pith_cstring_release void 1 2537 -jmp L4022 -label L4024 -label L4022 -jmp L4019 -label L4021 -label L4019 -jmp L4016 -label L4018 -label L4016 -jmp L4013 -label L4015 -label L4013 -jmp L4010 -label L4012 -label L4010 -jmp L4007 -label L4009 -label L4007 -load 2543 aidx -iconst 2544 1 -add 2545 2543 2544 -store aidx 2545 -label L3996 -load 2546 __for_idx_211 -iconst 2547 1 -add 2548 2546 2547 -store __for_idx_211 2548 -jmp L3994 -label L3997 -load 2549 ret_type -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 gdecl -call 2573 pith_struct_release void 1 2572 -load 2574 recv_info -call 2575 pith_struct_release void 1 2574 -load 2576 payload_types -call 2577 pith_list_release_handle void 1 2576 -load 2578 pa_node -call 2579 pith_struct_release void 1 2578 -load 2580 type_name -call 2581 pith_cstring_release void 1 2580 -load 2582 key -call 2583 pith_cstring_release void 1 2582 -load 2584 base_name -call 2585 pith_cstring_release void 1 2584 -load 2586 method_node -call 2587 pith_struct_release void 1 2586 -load 2588 struct_params -call 2589 pith_list_release_handle void 1 2588 -load 2590 struct_args -call 2591 pith_list_release_handle void 1 2590 -load 2592 base -call 2593 pith_cstring_release void 1 2592 -load 2594 sdecl -call 2595 pith_struct_release void 1 2594 -load 2596 assoc_base -call 2597 pith_cstring_release void 1 2596 -load 2598 bkey -call 2599 pith_cstring_release void 1 2598 -load 2600 param_types -call 2601 pith_list_release_handle void 1 2600 -load 2602 arg_node -call 2603 pith_struct_release void 1 2602 -ret 2549 -label L3969 -label L3967 -load 2604 recv_info -field 2605 2604 0 string kind -strref 2606 m18s35 -call 2607 pith_cstring_eq bool 2 2605 2606 -call 2608 pith_cstring_release void 1 2606 -brif 2607 L4026 L4027 -label L4026 -iconst 2609 0 -store ffi 2609 -label L4028 -load 2610 ffi -load 2611 recv_info -field 2612 2611 16 list_string fields -call 2613 pith_list_len int 1 2612 -lt 2614 2610 2613 -brif 2614 L4029 L4030 -label L4029 -load 2615 recv_info -field 2616 2615 16 list_string fields -load 2617 ffi -call 2618 pith_list_get_value_strict string 2 2616 2617 -load 2619 method_name -call 2620 checker_strings_equal bool 2 2618 2619 -brif 2620 L4032 L4033 -label L4032 -iconst 2621 0 -store __and_2621_4037 2621 -load 2622 ffi -load 2623 recv_info -field 2624 2623 24 list field_types -call 2625 pith_list_len int 1 2624 -lt 2626 2622 2625 -store __and_2621_4037 2626 -brif 2626 L4037 L4038 -label L4037 -load 2627 recv_info -field 2628 2627 24 list field_types -load 2629 ffi -call 2630 pith_list_get_value_strict int 2 2628 2629 -call 2631 types_get_type_info struct:TypeInfo 1 2630 -field 2632 2631 0 string kind -strref 2633 m18s32 -call 2634 pith_cstring_eq bool 2 2632 2633 -call 2635 pith_cstring_release void 1 2633 -store __and_2621_4037 2634 -label L4038 -load 2636 __and_2621_4037 -brif 2636 L4035 L4036 -label L4035 -load 2637 recv_info -field 2638 2637 24 list field_types -load 2639 ffi -call 2640 pith_list_get_value_strict int 2 2638 2639 -load 2641 arg_indices -load 2642 scope_id -call 2643 checker_check_callable_type_with_args int 3 2640 2641 2642 -load 2644 method_name -call 2645 pith_cstring_release void 1 2644 -load 2646 recv_node -call 2647 pith_struct_release void 1 2646 -load 2648 arg_indices -call 2649 pith_list_release_handle void 1 2648 -load 2650 recv_name -call 2651 pith_cstring_release void 1 2650 -load 2652 module_path -call 2653 pith_cstring_release void 1 2652 -load 2654 ctor_type_name -call 2655 pith_cstring_release void 1 2654 -load 2656 ctor_info -call 2657 pith_struct_release void 1 2656 -load 2658 gen_ctor_name -call 2659 pith_cstring_release void 1 2658 -load 2660 qualified_name -call 2661 pith_cstring_release void 1 2660 -load 2662 module_name -call 2663 pith_cstring_release void 1 2662 -load 2664 generic_name -call 2665 pith_cstring_release void 1 2664 -load 2666 gdecl -call 2667 pith_struct_release void 1 2666 -load 2668 recv_info -call 2669 pith_struct_release void 1 2668 -load 2670 payload_types -call 2671 pith_list_release_handle void 1 2670 -load 2672 pa_node -call 2673 pith_struct_release void 1 2672 -load 2674 type_name -call 2675 pith_cstring_release void 1 2674 -load 2676 key -call 2677 pith_cstring_release void 1 2676 -load 2678 base_name -call 2679 pith_cstring_release void 1 2678 -load 2680 method_node -call 2681 pith_struct_release void 1 2680 -load 2682 struct_params -call 2683 pith_list_release_handle void 1 2682 -load 2684 struct_args -call 2685 pith_list_release_handle void 1 2684 -load 2686 base -call 2687 pith_cstring_release void 1 2686 -load 2688 sdecl -call 2689 pith_struct_release void 1 2688 -load 2690 assoc_base -call 2691 pith_cstring_release void 1 2690 -load 2692 bkey -call 2693 pith_cstring_release void 1 2692 -load 2694 param_types -call 2695 pith_list_release_handle void 1 2694 -load 2696 arg_node -call 2697 pith_struct_release void 1 2696 -ret 2643 -label L4036 -label L4034 -jmp L4031 -label L4033 -label L4031 -load 2698 ffi -iconst 2699 1 -add 2700 2698 2699 -store ffi 2700 -jmp L4028 -label L4030 -jmp L4025 -label L4027 -label L4025 -call 2701 checker_diagnostics_checker_reported_at_current bool 0 -iconst 2702 0 -eq 2703 2701 2702 -brif 2703 L4040 L4041 -label L4040 -strref 2704 m18s463 -load 2705 receiver_type -call 2706 types_get_type_name string 1 2705 -strref 2707 m18s581 -concat 2708 2706 2707 -call 2709 pith_cstring_release void 1 2706 -call 2710 pith_cstring_release void 1 2707 -load 2711 method_name -concat 2712 2708 2711 -call 2713 pith_cstring_release void 1 2708 -strref 2714 m18s376 -concat 2715 2712 2714 -call 2716 pith_cstring_release void 1 2712 -call 2717 pith_cstring_release void 1 2714 -call 2718 checker_diagnostics_report_error void 2 2704 2715 -call 2719 pith_cstring_release void 1 2704 -call 2720 pith_cstring_release void 1 2715 -jmp L4039 -label L4041 -label L4039 -load 2721 types_TID_ERR -load 2722 method_name -call 2723 pith_cstring_release void 1 2722 -load 2724 recv_node -call 2725 pith_struct_release void 1 2724 -load 2726 arg_indices -call 2727 pith_list_release_handle void 1 2726 -load 2728 recv_name -call 2729 pith_cstring_release void 1 2728 -load 2730 module_path -call 2731 pith_cstring_release void 1 2730 -load 2732 ctor_type_name -call 2733 pith_cstring_release void 1 2732 -load 2734 ctor_info -call 2735 pith_struct_release void 1 2734 -load 2736 gen_ctor_name -call 2737 pith_cstring_release void 1 2736 -load 2738 qualified_name -call 2739 pith_cstring_release void 1 2738 -load 2740 module_name -call 2741 pith_cstring_release void 1 2740 -load 2742 generic_name -call 2743 pith_cstring_release void 1 2742 -load 2744 gdecl -call 2745 pith_struct_release void 1 2744 -load 2746 recv_info -call 2747 pith_struct_release void 1 2746 -load 2748 payload_types -call 2749 pith_list_release_handle void 1 2748 -load 2750 pa_node -call 2751 pith_struct_release void 1 2750 -load 2752 type_name -call 2753 pith_cstring_release void 1 2752 -load 2754 key -call 2755 pith_cstring_release void 1 2754 -load 2756 base_name -call 2757 pith_cstring_release void 1 2756 -load 2758 method_node -call 2759 pith_struct_release void 1 2758 -load 2760 struct_params -call 2761 pith_list_release_handle void 1 2760 -load 2762 struct_args -call 2763 pith_list_release_handle void 1 2762 -load 2764 base -call 2765 pith_cstring_release void 1 2764 -load 2766 sdecl -call 2767 pith_struct_release void 1 2766 -load 2768 assoc_base -call 2769 pith_cstring_release void 1 2768 -load 2770 bkey -call 2771 pith_cstring_release void 1 2770 -load 2772 param_types -call 2773 pith_list_release_handle void 1 2772 -load 2774 arg_node -call 2775 pith_struct_release void 1 2774 -ret 2721 -load 2776 method_name -call 2777 pith_cstring_release void 1 2776 -load 2778 recv_node -call 2779 pith_struct_release void 1 2778 -load 2780 arg_indices -call 2781 pith_list_release_handle void 1 2780 -load 2782 recv_name -call 2783 pith_cstring_release void 1 2782 -load 2784 module_path -call 2785 pith_cstring_release void 1 2784 -load 2786 ctor_type_name -call 2787 pith_cstring_release void 1 2786 -load 2788 ctor_info -call 2789 pith_struct_release void 1 2788 -load 2790 gen_ctor_name -call 2791 pith_cstring_release void 1 2790 -load 2792 qualified_name -call 2793 pith_cstring_release void 1 2792 -load 2794 module_name -call 2795 pith_cstring_release void 1 2794 -load 2796 generic_name -call 2797 pith_cstring_release void 1 2796 -load 2798 gdecl -call 2799 pith_struct_release void 1 2798 -load 2800 recv_info -call 2801 pith_struct_release void 1 2800 -load 2802 payload_types -call 2803 pith_list_release_handle void 1 2802 -load 2804 pa_node -call 2805 pith_struct_release void 1 2804 -load 2806 type_name -call 2807 pith_cstring_release void 1 2806 -load 2808 key -call 2809 pith_cstring_release void 1 2808 -load 2810 base_name -call 2811 pith_cstring_release void 1 2810 -load 2812 method_node -call 2813 pith_struct_release void 1 2812 -load 2814 struct_params -call 2815 pith_list_release_handle void 1 2814 -load 2816 struct_args -call 2817 pith_list_release_handle void 1 2816 -load 2818 base -call 2819 pith_cstring_release void 1 2818 -load 2820 sdecl -call 2821 pith_struct_release void 1 2820 -load 2822 assoc_base -call 2823 pith_cstring_release void 1 2822 -load 2824 bkey -call 2825 pith_cstring_release void 1 2824 -load 2826 param_types -call 2827 pith_list_release_handle void 1 2826 -load 2828 arg_node -call 2829 pith_struct_release void 1 2828 -iconst 2830 0 -ret 2830 +label L3992 +load 2708 types_TID_ERR +load 2709 method_name +call 2710 pith_cstring_release void 1 2709 +load 2711 recv_node +call 2712 pith_struct_release void 1 2711 +load 2713 arg_indices +call 2714 pith_list_release_handle void 1 2713 +load 2715 recv_name +call 2716 pith_cstring_release void 1 2715 +load 2717 module_path +call 2718 pith_cstring_release void 1 2717 +load 2719 ctor_type_name +call 2720 pith_cstring_release void 1 2719 +load 2721 ctor_info +call 2722 pith_struct_release void 1 2721 +load 2723 gen_ctor_name +call 2724 pith_cstring_release void 1 2723 +load 2725 qualified_name +call 2726 pith_cstring_release void 1 2725 +load 2727 module_name +call 2728 pith_cstring_release void 1 2727 +load 2729 generic_name +call 2730 pith_cstring_release void 1 2729 +load 2731 gdecl +call 2732 pith_struct_release void 1 2731 +load 2733 recv_info +call 2734 pith_struct_release void 1 2733 +load 2735 payload_types +call 2736 pith_list_release_handle void 1 2735 +load 2737 pa_node +call 2738 pith_struct_release void 1 2737 +load 2739 type_name +call 2740 pith_cstring_release void 1 2739 +load 2741 key +call 2742 pith_cstring_release void 1 2741 +load 2743 base_name +call 2744 pith_cstring_release void 1 2743 +load 2745 method_node +call 2746 pith_struct_release void 1 2745 +load 2747 struct_params +call 2748 pith_list_release_handle void 1 2747 +load 2749 struct_args +call 2750 pith_list_release_handle void 1 2749 +load 2751 base +call 2752 pith_cstring_release void 1 2751 +load 2753 sdecl +call 2754 pith_struct_release void 1 2753 +load 2755 assoc_base +call 2756 pith_cstring_release void 1 2755 +load 2757 bkey +call 2758 pith_cstring_release void 1 2757 +load 2759 param_types +call 2760 pith_list_release_handle void 1 2759 +load 2761 arg_node +call 2762 pith_struct_release void 1 2761 +ret 2708 +load 2763 method_name +call 2764 pith_cstring_release void 1 2763 +load 2765 recv_node +call 2766 pith_struct_release void 1 2765 +load 2767 arg_indices +call 2768 pith_list_release_handle void 1 2767 +load 2769 recv_name +call 2770 pith_cstring_release void 1 2769 +load 2771 module_path +call 2772 pith_cstring_release void 1 2771 +load 2773 ctor_type_name +call 2774 pith_cstring_release void 1 2773 +load 2775 ctor_info +call 2776 pith_struct_release void 1 2775 +load 2777 gen_ctor_name +call 2778 pith_cstring_release void 1 2777 +load 2779 qualified_name +call 2780 pith_cstring_release void 1 2779 +load 2781 module_name +call 2782 pith_cstring_release void 1 2781 +load 2783 generic_name +call 2784 pith_cstring_release void 1 2783 +load 2785 gdecl +call 2786 pith_struct_release void 1 2785 +load 2787 recv_info +call 2788 pith_struct_release void 1 2787 +load 2789 payload_types +call 2790 pith_list_release_handle void 1 2789 +load 2791 pa_node +call 2792 pith_struct_release void 1 2791 +load 2793 type_name +call 2794 pith_cstring_release void 1 2793 +load 2795 key +call 2796 pith_cstring_release void 1 2795 +load 2797 base_name +call 2798 pith_cstring_release void 1 2797 +load 2799 method_node +call 2800 pith_struct_release void 1 2799 +load 2801 struct_params +call 2802 pith_list_release_handle void 1 2801 +load 2803 struct_args +call 2804 pith_list_release_handle void 1 2803 +load 2805 base +call 2806 pith_cstring_release void 1 2805 +load 2807 sdecl +call 2808 pith_struct_release void 1 2807 +load 2809 assoc_base +call 2810 pith_cstring_release void 1 2809 +load 2811 bkey +call 2812 pith_cstring_release void 1 2811 +load 2813 param_types +call 2814 pith_list_release_handle void 1 2813 +load 2815 arg_node +call 2816 pith_struct_release void 1 2815 +iconst 2817 0 +ret 2817 endfunc func checker_method_table_answered 1 bool param result iconst 1 0 -store __and_1_4042 1 +store __and_1_3995 1 load 2 result iconst 3 0 gte 4 2 3 -store __and_1_4042 4 -brif 4 L4042 L4043 -label L4042 +store __and_1_3995 4 +brif 4 L3995 L3996 +label L3995 load 5 result call 6 types_is_error_type bool 1 5 iconst 7 0 eq 8 6 7 -store __and_1_4042 8 -label L4043 -load 9 __and_1_4042 +store __and_1_3995 8 +label L3996 +load 9 __and_1_3995 ret 9 iconst 10 0 ret 10 @@ -73671,143 +73324,143 @@ load 12 method strref 13 m18s488 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L4045 L4046 -label L4045 +brif 14 L3998 L3999 +label L3998 load 16 method load 17 args call 18 checker_expect_no_arguments void 2 16 17 load 19 tid_int ret 19 -label L4046 -label L4044 +label L3999 +label L3997 load 20 method strref 21 m18s580 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L4048 L4049 -label L4048 +brif 22 L4001 L4002 +label L4001 load 24 method load 25 args call 26 checker_expect_no_arguments void 2 24 25 load 27 tid_string ret 27 -label L4049 -label L4047 +label L4002 +label L4000 load 28 method strref 29 m18s579 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L4051 L4052 -label L4051 +brif 30 L4004 L4005 +label L4004 load 32 method load 33 args call 34 checker_expect_no_arguments void 2 32 33 load 35 tid_string ret 35 -label L4052 -label L4050 +label L4005 +label L4003 load 36 method strref 37 m18s578 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L4054 L4055 -label L4054 +brif 38 L4007 L4008 +label L4007 load 40 method load 41 args call 42 checker_expect_no_arguments void 2 40 41 load 43 tid_string ret 43 -label L4055 -label L4053 +label L4008 +label L4006 load 44 method strref 45 m18s522 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L4057 L4058 -label L4057 +brif 46 L4010 L4011 +label L4010 load 48 method load 49 args call 50 checker_expect_no_arguments void 2 48 49 load 51 tid_bool ret 51 -label L4058 -label L4056 +label L4011 +label L4009 load 52 method strref 53 m18s520 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L4060 L4061 -label L4060 +brif 54 L4013 L4014 +label L4013 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 L4061 -label L4059 +label L4014 +label L4012 load 61 method strref 62 m18s577 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L4063 L4064 -label L4063 +brif 63 L4016 L4017 +label L4016 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 L4064 -label L4062 +label L4017 +label L4015 load 70 method strref 71 m18s576 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L4066 L4067 -label L4066 +brif 72 L4019 L4020 +label L4019 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 L4067 -label L4065 +label L4020 +label L4018 load 79 method strref 80 m18s540 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L4069 L4070 -label L4069 +brif 81 L4022 L4023 +label L4022 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 L4070 -label L4068 +label L4023 +label L4021 load 88 method strref 89 m18s575 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -brif 90 L4072 L4073 -label L4072 +brif 90 L4025 L4026 +label L4025 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 L4073 -label L4071 +label L4026 +label L4024 load 97 method strref 98 m18s574 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -brif 99 L4075 L4076 -label L4075 +brif 99 L4028 L4029 +label L4028 load 101 method load 102 args load 103 scope_id @@ -73815,42 +73468,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 L4076 -label L4074 +label L4029 +label L4027 load 107 method strref 108 m18s573 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L4078 L4079 -label L4078 +brif 109 L4031 L4032 +label L4031 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 L4079 -label L4077 +label L4032 +label L4030 load 116 method strref 117 m18s572 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 -brif 118 L4081 L4082 -label L4081 +brif 118 L4034 L4035 +label L4034 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 L4082 -label L4080 +label L4035 +label L4033 load 125 method strref 126 m18s571 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -brif 127 L4084 L4085 -label L4084 +brif 127 L4037 L4038 +label L4037 load 129 method load 130 args load 131 tid_int @@ -73858,56 +73511,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 L4085 -label L4083 +label L4038 +label L4036 load 135 method strref 136 m18s570 call 137 pith_cstring_eq bool 2 135 136 call 138 pith_cstring_release void 1 136 -brif 137 L4087 L4088 -label L4087 +brif 137 L4040 L4041 +label L4040 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 L4088 -label L4086 +label L4041 +label L4039 load 144 method strref 145 m18s569 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -brif 146 L4090 L4091 -label L4090 +brif 146 L4043 L4044 +label L4043 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 L4091 -label L4089 +label L4044 +label L4042 load 153 method strref 154 m18s568 call 155 pith_cstring_eq bool 2 153 154 call 156 pith_cstring_release void 1 154 -brif 155 L4093 L4094 -label L4093 +brif 155 L4046 L4047 +label L4046 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 L4094 -label L4092 +label L4047 +label L4045 load 162 method strref 163 m18s531 call 164 pith_cstring_eq bool 2 162 163 call 165 pith_cstring_release void 1 163 -brif 164 L4096 L4097 -label L4096 +brif 164 L4049 L4050 +label L4049 load 166 method load 167 args load 168 tid_int @@ -73918,8 +73571,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 L4097 -label L4095 +label L4050 +label L4048 strref 175 m18s463 strref 176 m18s567 load 177 method @@ -73961,48 +73614,48 @@ load 15 method strref 16 m18s488 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L4099 L4100 -label L4099 +brif 17 L4052 L4053 +label L4052 load 19 method load 20 args call 21 checker_expect_no_arguments void 2 19 20 load 22 tid_int ret 22 -label L4100 -label L4098 +label L4053 +label L4051 load 23 method strref 24 m18s522 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4102 L4103 -label L4102 +brif 25 L4055 L4056 +label L4055 load 27 method load 28 args call 29 checker_expect_no_arguments void 2 27 28 load 30 tid_bool ret 30 -label L4103 -label L4101 +label L4056 +label L4054 load 31 method strref 32 m18s539 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L4105 L4106 -label L4105 +brif 33 L4058 L4059 +label L4058 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 L4106 -label L4104 +label L4059 +label L4057 load 40 method strref 41 m18s566 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -brif 42 L4108 L4109 -label L4108 +brif 42 L4061 L4062 +label L4061 load 44 method load 45 args load 46 tid_bytes @@ -74010,14 +73663,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 L4109 -label L4107 +label L4062 +label L4060 load 50 method strref 51 m18s565 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L4111 L4112 -label L4111 +brif 52 L4064 L4065 +label L4064 load 54 method load 55 args call 56 checker_expect_no_arguments void 2 54 55 @@ -74027,8 +73680,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 L4112 -label L4110 +label L4065 +label L4063 strref 62 m18s463 strref 63 m18s564 load 64 method @@ -74063,31 +73716,31 @@ load 9 method strref 10 m18s548 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L4114 L4115 -label L4114 +brif 11 L4067 L4068 +label L4067 load 13 method load 14 args call 15 checker_expect_no_arguments void 2 13 14 iconst 16 0 -store __or_16_4119 16 +store __or_16_4072 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_4119 21 -brif 21 L4120 L4119 -label L4119 +store __or_16_4072 21 +brif 21 L4073 L4072 +label L4072 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_4119 26 -label L4120 -load 27 __or_16_4119 -brif 27 L4117 L4118 -label L4117 +store __or_16_4072 26 +label L4073 +load 27 __or_16_4072 +brif 27 L4070 L4071 +label L4070 strref 28 m18s330 strref 29 m18s563 call 30 checker_diagnostics_report_error void 2 28 29 @@ -74099,28 +73752,28 @@ call 35 pith_struct_release void 1 34 load 36 ret_info call 37 pith_struct_release void 1 36 ret 33 -label L4118 -label L4116 +label L4071 +label L4069 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 L4115 -label L4113 +label L4068 +label L4066 load 43 method strref 44 m18s562 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L4122 L4123 -label L4122 +brif 45 L4075 L4076 +label L4075 load 47 args call 48 pith_list_len int 1 47 iconst 49 1 neq 50 48 49 -brif 50 L4125 L4126 -label L4125 +brif 50 L4078 L4079 +label L4078 strref 51 m18s333 strref 52 m18s561 load 53 args @@ -74138,8 +73791,8 @@ call 64 pith_struct_release void 1 63 load 65 ret_info call 66 pith_struct_release void 1 65 ret 62 -label L4126 -label L4124 +label L4079 +label L4077 load 67 args iconst 68 0 call 69 pith_list_get_value_strict int 2 67 68 @@ -74154,20 +73807,20 @@ call 77 pith_struct_release void 1 76 load 78 ret_info call 79 pith_struct_release void 1 78 ret 75 -label L4123 -label L4121 +label L4076 +label L4074 load 80 method strref 81 m18s560 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -brif 82 L4128 L4129 -label L4128 +brif 82 L4081 L4082 +label L4081 load 84 args call 85 pith_list_len int 1 84 iconst 86 1 neq 87 85 86 -brif 87 L4131 L4132 -label L4131 +brif 87 L4084 L4085 +label L4084 strref 88 m18s333 strref 89 m18s559 load 90 args @@ -74185,8 +73838,8 @@ call 101 pith_struct_release void 1 100 load 102 ret_info call 103 pith_struct_release void 1 102 ret 99 -label L4132 -label L4130 +label L4085 +label L4083 load 104 args iconst 105 0 call 106 pith_list_get_value_strict int 2 104 105 @@ -74196,16 +73849,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 L4134 L4135 -label L4134 +brif 111 L4087 L4088 +label L4087 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 L4135 -label L4133 +label L4088 +label L4086 load 117 handler_info load 118 handler_type call 119 types_get_type_info struct:TypeInfo 1 118 @@ -74218,8 +73871,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 L4137 L4138 -label L4137 +brif 124 L4090 L4091 +label L4090 strref 128 m18s330 strref 129 m18s558 load 130 handler_type @@ -74236,15 +73889,15 @@ call 140 pith_struct_release void 1 139 load 141 ret_info call 142 pith_struct_release void 1 141 ret 138 -label L4138 -label L4136 +label L4091 +label L4089 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 L4140 L4141 -label L4140 +brif 147 L4093 L4094 +label L4093 strref 148 m18s330 strref 149 m18s557 call 150 checker_diagnostics_report_error void 2 148 149 @@ -74256,8 +73909,8 @@ call 155 pith_struct_release void 1 154 load 156 ret_info call 157 pith_struct_release void 1 156 ret 153 -label L4141 -label L4139 +label L4094 +label L4092 load 158 handler_info field 159 158 48 list param_types iconst 160 0 @@ -74267,8 +73920,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 L4143 L4144 -label L4143 +brif 166 L4096 L4097 +label L4096 strref 167 m18s330 strref 168 m18s556 load 169 info @@ -74298,8 +73951,8 @@ call 192 pith_struct_release void 1 191 load 193 ret_info call 194 pith_struct_release void 1 193 ret 190 -label L4144 -label L4142 +label L4097 +label L4095 load 195 ret_info load 196 handler_info field 197 196 56 int return_type @@ -74313,8 +73966,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 L4146 L4147 -label L4146 +brif 203 L4099 L4100 +label L4099 strref 207 m18s330 strref 208 m18s555 call 209 checker_diagnostics_report_error void 2 207 208 @@ -74326,8 +73979,8 @@ call 214 pith_struct_release void 1 213 load 215 ret_info call 216 pith_struct_release void 1 215 ret 212 -label L4147 -label L4145 +label L4100 +label L4098 load 217 ret_info field 218 217 64 int inner load 219 info @@ -74335,8 +73988,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 L4149 L4150 -label L4149 +brif 223 L4102 L4103 +label L4102 strref 224 m18s330 strref 225 m18s554 load 226 info @@ -74364,8 +74017,8 @@ call 247 pith_struct_release void 1 246 load 248 ret_info call 249 pith_struct_release void 1 248 ret 245 -label L4150 -label L4148 +label L4103 +label L4101 load 250 handler_info field 251 250 56 int return_type load 252 handler_info @@ -74373,8 +74026,8 @@ call 253 pith_struct_release void 1 252 load 254 ret_info call 255 pith_struct_release void 1 254 ret 251 -label L4129 -label L4127 +label L4082 +label L4080 load 256 types_TID_ERR load 257 handler_info call 258 pith_struct_release void 1 257 @@ -74404,28 +74057,28 @@ load 9 method strref 10 m18s548 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L4152 L4153 -label L4152 +brif 11 L4105 L4106 +label L4105 load 13 method load 14 args call 15 checker_expect_no_arguments void 2 13 14 load 16 tid_string ret 16 -label L4153 -label L4151 +label L4106 +label L4104 load 17 method strref 18 m18s552 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4155 L4156 -label L4155 +brif 19 L4108 L4109 +label L4108 load 21 method load 22 args call 23 checker_expect_no_arguments void 2 21 22 load 24 tid_float ret 24 -label L4156 -label L4154 +label L4109 +label L4107 strref 25 m18s463 strref 26 m18s551 load 27 method @@ -74459,28 +74112,28 @@ load 9 method strref 10 m18s548 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L4158 L4159 -label L4158 +brif 11 L4111 L4112 +label L4111 load 13 method load 14 args call 15 checker_expect_no_arguments void 2 13 14 load 16 tid_string ret 16 -label L4159 -label L4157 +label L4112 +label L4110 load 17 method strref 18 m18s550 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4161 L4162 -label L4161 +brif 19 L4114 L4115 +label L4114 load 21 method load 22 args call 23 checker_expect_no_arguments void 2 21 22 load 24 tid_int ret 24 -label L4162 -label L4160 +label L4115 +label L4113 strref 25 m18s463 strref 26 m18s549 load 27 method @@ -74510,15 +74163,15 @@ load 6 method strref 7 m18s548 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L4164 L4165 -label L4164 +brif 8 L4117 L4118 +label L4117 load 10 method load 11 args call 12 checker_expect_no_arguments void 2 10 11 load 13 tid_string ret 13 -label L4165 -label L4163 +label L4118 +label L4116 strref 14 m18s463 strref 15 m18s547 load 16 method @@ -74564,8 +74217,8 @@ load 18 method strref 19 m18s546 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4167 L4168 -label L4167 +brif 20 L4120 L4121 +label L4120 load 22 method load 23 args load 24 elem @@ -74573,66 +74226,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 L4168 -label L4166 +label L4121 +label L4119 load 28 method strref 29 m18s488 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L4170 L4171 -label L4170 +brif 30 L4123 L4124 +label L4123 load 32 method load 33 args call 34 checker_expect_no_arguments void 2 32 33 load 35 tid_int ret 35 -label L4171 -label L4169 +label L4124 +label L4122 load 36 method strref 37 m18s522 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L4173 L4174 -label L4173 +brif 38 L4126 L4127 +label L4126 load 40 method load 41 args call 42 checker_expect_no_arguments void 2 40 41 load 43 tid_bool ret 43 -label L4174 -label L4172 +label L4127 +label L4125 load 44 method strref 45 m18s521 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L4176 L4177 -label L4176 +brif 46 L4129 L4130 +label L4129 load 48 method load 49 args call 50 checker_expect_no_arguments void 2 48 49 load 51 tid_void ret 51 -label L4177 -label L4175 +label L4130 +label L4128 load 52 method strref 53 m18s545 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L4179 L4180 -label L4179 +brif 54 L4132 L4133 +label L4132 load 56 method load 57 args call 58 checker_expect_no_arguments void 2 56 57 load 59 tid_void ret 59 -label L4180 -label L4178 +label L4133 +label L4131 load 60 method strref 61 m18s519 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -brif 62 L4182 L4183 -label L4182 +brif 62 L4135 L4136 +label L4135 load 64 method load 65 args load 66 tid_int @@ -74640,20 +74293,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 L4183 -label L4181 +label L4136 +label L4134 load 70 method strref 71 m18s525 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L4185 L4186 -label L4185 +brif 72 L4138 L4139 +label L4138 load 74 args call 75 pith_list_len int 1 74 iconst 76 2 neq 77 75 76 -brif 77 L4188 L4189 -label L4188 +brif 77 L4141 L4142 +label L4141 strref 78 m18s333 strref 79 m18s544 load 80 args @@ -74667,8 +74320,8 @@ call 87 pith_cstring_release void 1 78 call 88 pith_cstring_release void 1 83 load 89 tid_void ret 89 -label L4189 -label L4187 +label L4142 +label L4140 load 90 args iconst 91 0 call 92 pith_list_get_value_strict int 2 90 91 @@ -74683,14 +74336,14 @@ load 100 scope_id call 101 checker_check_argument_type void 3 98 99 100 load 102 tid_void ret 102 -label L4186 -label L4184 +label L4139 +label L4137 load 103 method strref 104 m18s520 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L4191 L4192 -label L4191 +brif 105 L4144 L4145 +label L4144 load 107 method load 108 args load 109 elem @@ -74698,36 +74351,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 L4192 -label L4190 +label L4145 +label L4143 load 113 method strref 114 m18s543 call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 114 -brif 115 L4194 L4195 -label L4194 +brif 115 L4147 L4148 +label L4147 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_4199 122 +store __and_122_4152 122 load 123 elem load 124 tid_string neq 125 123 124 -store __and_122_4199 125 -brif 125 L4199 L4200 -label L4199 +store __and_122_4152 125 +brif 125 L4152 L4153 +label L4152 load 126 elem call 127 types_is_integer_type bool 1 126 iconst 128 0 eq 129 127 128 -store __and_122_4199 129 -label L4200 -load 130 __and_122_4199 -brif 130 L4197 L4198 -label L4197 +store __and_122_4152 129 +label L4153 +load 130 __and_122_4152 +brif 130 L4150 L4151 +label L4150 strref 131 m18s330 strref 132 m18s542 load 133 elem @@ -74742,19 +74395,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 L4196 -label L4198 -label L4196 +jmp L4149 +label L4151 +label L4149 load 145 tid_string ret 145 -label L4195 -label L4193 +label L4148 +label L4146 load 146 method strref 147 m18s540 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 -brif 148 L4202 L4203 -label L4202 +brif 148 L4155 L4156 +label L4155 load 150 method load 151 args load 152 elem @@ -74765,14 +74418,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 L4203 -label L4201 +label L4156 +label L4154 load 159 method strref 160 m18s539 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -brif 161 L4205 L4206 -label L4205 +brif 161 L4158 L4159 +label L4158 load 163 method load 164 args load 165 scope_id @@ -74780,67 +74433,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 L4206 -label L4204 +label L4159 +label L4157 load 169 method strref 170 m18s538 call 171 pith_cstring_eq bool 2 169 170 call 172 pith_cstring_release void 1 170 -brif 171 L4208 L4209 -label L4208 +brif 171 L4161 L4162 +label L4161 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 L4209 -label L4207 +label L4162 +label L4160 load 178 method strref 179 m18s21 call 180 pith_cstring_eq bool 2 178 179 call 181 pith_cstring_release void 1 179 -brif 180 L4211 L4212 -label L4211 +brif 180 L4164 L4165 +label L4164 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 L4212 -label L4210 +label L4165 +label L4163 load 186 method strref 187 m18s537 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L4214 L4215 -label L4214 +brif 188 L4167 L4168 +label L4167 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 L4215 -label L4213 +label L4168 +label L4166 load 194 method strref 195 m18s536 call 196 pith_cstring_eq bool 2 194 195 call 197 pith_cstring_release void 1 195 -brif 196 L4217 L4218 -label L4217 +brif 196 L4170 L4171 +label L4170 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 L4218 -label L4216 +label L4171 +label L4169 load 202 method strref 203 m18s531 call 204 pith_cstring_eq bool 2 202 203 call 205 pith_cstring_release void 1 203 -brif 204 L4220 L4221 -label L4220 +brif 204 L4173 L4174 +label L4173 load 206 method load 207 args load 208 tid_int @@ -74851,14 +74504,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 L4221 -label L4219 +label L4174 +label L4172 load 215 method strref 216 m18s535 call 217 pith_cstring_eq bool 2 215 216 call 218 pith_cstring_release void 1 216 -brif 217 L4223 L4224 -label L4223 +brif 217 L4176 L4177 +label L4176 load 219 method load 220 args call 221 checker_expect_no_arguments void 2 219 220 @@ -74867,14 +74520,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 L4224 -label L4222 +label L4177 +label L4175 load 226 method strref 227 m18s534 call 228 pith_cstring_eq bool 2 226 227 call 229 pith_cstring_release void 1 227 -brif 228 L4226 L4227 -label L4226 +brif 228 L4179 L4180 +label L4179 load 230 method load 231 args call 232 checker_expect_no_arguments void 2 230 231 @@ -74883,8 +74536,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 L4227 -label L4225 +label L4180 +label L4178 iconst 237 1 iconst 239 0 sub 238 239 237 @@ -74919,14 +74572,14 @@ load 17 method strref 18 m18s525 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4229 L4230 -label L4229 +brif 19 L4182 L4183 +label L4182 load 21 args call 22 pith_list_len int 1 21 iconst 23 2 neq 24 22 23 -brif 24 L4232 L4233 -label L4232 +brif 24 L4185 L4186 +label L4185 strref 25 m18s333 strref 26 m18s533 load 27 args @@ -74940,8 +74593,8 @@ call 34 pith_cstring_release void 1 25 call 35 pith_cstring_release void 1 30 load 36 tid_void ret 36 -label L4233 -label L4231 +label L4186 +label L4184 load 37 args iconst 38 0 call 39 pith_list_get_value_strict int 2 37 38 @@ -74956,53 +74609,53 @@ load 47 scope_id call 48 checker_check_argument_type void 3 45 46 47 load 49 tid_void ret 49 -label L4230 -label L4228 +label L4183 +label L4181 load 50 method strref 51 m18s488 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L4235 L4236 -label L4235 +brif 52 L4188 L4189 +label L4188 load 54 method load 55 args call 56 checker_expect_no_arguments void 2 54 55 load 57 tid_int ret 57 -label L4236 -label L4234 +label L4189 +label L4187 load 58 method strref 59 m18s522 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L4238 L4239 -label L4238 +brif 60 L4191 L4192 +label L4191 load 62 method load 63 args call 64 checker_expect_no_arguments void 2 62 63 load 65 tid_bool ret 65 -label L4239 -label L4237 +label L4192 +label L4190 load 66 method strref 67 m18s521 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 -brif 68 L4241 L4242 -label L4241 +brif 68 L4194 L4195 +label L4194 load 70 method load 71 args call 72 checker_expect_no_arguments void 2 70 71 load 73 tid_void ret 73 -label L4242 -label L4240 +label L4195 +label L4193 load 74 method strref 75 m18s532 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L4244 L4245 -label L4244 +brif 76 L4197 L4198 +label L4197 load 78 method load 79 args load 80 key_t @@ -75010,14 +74663,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 L4245 -label L4243 +label L4198 +label L4196 load 84 method strref 85 m18s531 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L4247 L4248 -label L4247 +brif 86 L4200 L4201 +label L4200 load 88 method load 89 args load 90 key_t @@ -75028,20 +74681,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 L4248 -label L4246 +label L4201 +label L4199 load 97 method strref 98 m18s530 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -brif 99 L4250 L4251 -label L4250 +brif 99 L4203 L4204 +label L4203 load 101 args call 102 pith_list_len int 1 101 iconst 103 2 neq 104 102 103 -brif 104 L4253 L4254 -label L4253 +brif 104 L4206 L4207 +label L4206 strref 105 m18s333 strref 106 m18s529 load 107 args @@ -75055,8 +74708,8 @@ call 114 pith_cstring_release void 1 105 call 115 pith_cstring_release void 1 110 load 116 val_t ret 116 -label L4254 -label L4252 +label L4207 +label L4205 load 117 args iconst 118 0 call 119 pith_list_get_value_strict int 2 117 118 @@ -75071,14 +74724,14 @@ load 127 scope_id call 128 checker_check_argument_type void 3 125 126 127 load 129 val_t ret 129 -label L4251 -label L4249 +label L4204 +label L4202 load 130 method strref 131 m18s519 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -brif 132 L4256 L4257 -label L4256 +brif 132 L4209 L4210 +label L4209 load 134 method load 135 args load 136 key_t @@ -75086,14 +74739,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 L4257 -label L4255 +label L4210 +label L4208 load 140 method strref 141 m18s528 call 142 pith_cstring_eq bool 2 140 141 call 143 pith_cstring_release void 1 141 -brif 142 L4259 L4260 -label L4259 +brif 142 L4212 L4213 +label L4212 load 144 method load 145 args load 146 key_t @@ -75101,36 +74754,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 L4260 -label L4258 +label L4213 +label L4211 load 150 method strref 151 m18s527 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -brif 152 L4262 L4263 -label L4262 +brif 152 L4215 L4216 +label L4215 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 L4263 -label L4261 +label L4216 +label L4214 load 159 method strref 160 m18s526 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -brif 161 L4265 L4266 -label L4265 +brif 161 L4218 L4219 +label L4218 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 L4266 -label L4264 +label L4219 +label L4217 iconst 168 1 iconst 170 0 sub 169 170 168 @@ -75150,8 +74803,8 @@ load 6 method strref 7 m18s525 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L4268 L4269 -label L4268 +brif 8 L4221 L4222 +label L4221 strref 10 m18s463 strref 11 m18s524 strref 12 m18s523 @@ -75161,14 +74814,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 L4269 -label L4267 +label L4222 +label L4220 load 18 method strref 19 m18s514 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4271 L4272 -label L4271 +brif 20 L4224 L4225 +label L4224 load 22 method load 23 args load 24 elem @@ -75176,53 +74829,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 L4272 -label L4270 +label L4225 +label L4223 load 28 method strref 29 m18s488 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L4274 L4275 -label L4274 +brif 30 L4227 L4228 +label L4227 load 32 method load 33 args call 34 checker_expect_no_arguments void 2 32 33 load 35 types_TID_INT ret 35 -label L4275 -label L4273 +label L4228 +label L4226 load 36 method strref 37 m18s522 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L4277 L4278 -label L4277 +brif 38 L4230 L4231 +label L4230 load 40 method load 41 args call 42 checker_expect_no_arguments void 2 40 41 load 43 types_TID_BOOL ret 43 -label L4278 -label L4276 +label L4231 +label L4229 load 44 method strref 45 m18s521 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L4280 L4281 -label L4280 +brif 46 L4233 L4234 +label L4233 load 48 method load 49 args call 50 checker_expect_no_arguments void 2 48 49 load 51 types_TID_VOID ret 51 -label L4281 -label L4279 +label L4234 +label L4232 load 52 method strref 53 m18s520 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L4283 L4284 -label L4283 +brif 54 L4236 L4237 +label L4236 load 56 method load 57 args load 58 elem @@ -75230,14 +74883,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 L4284 -label L4282 +label L4237 +label L4235 load 62 method strref 63 m18s519 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -brif 64 L4286 L4287 -label L4286 +brif 64 L4239 L4240 +label L4239 load 66 method load 67 args load 68 elem @@ -75245,8 +74898,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 L4287 -label L4285 +label L4240 +label L4238 iconst 72 1 iconst 74 0 sub 73 74 72 @@ -75275,51 +74928,51 @@ load 13 type_name strref 14 m18s305 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L4289 L4290 -label L4289 +brif 15 L4242 L4243 +label L4242 load 17 method strref 18 m18s518 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4292 L4293 -label L4292 +brif 19 L4245 L4246 +label L4245 strref 21 m18s517 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 L4293 -label L4291 +label L4246 +label L4244 load 26 method strref 27 m18s516 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L4295 L4296 -label L4295 +brif 28 L4248 L4249 +label L4248 strref 30 m18s515 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 L4296 -label L4294 -jmp L4288 -label L4290 -label L4288 +label L4249 +label L4247 +jmp L4241 +label L4243 +label L4241 load 35 type_name strref 36 m18s304 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -brif 37 L4298 L4299 -label L4298 +brif 37 L4251 L4252 +label L4251 load 39 method strref 40 m18s514 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L4301 L4302 -label L4301 +brif 41 L4254 L4255 +label L4254 strref 43 m18s513 load 44 args load 45 tid_int @@ -75328,82 +74981,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 L4302 -label L4300 +label L4255 +label L4253 load 50 method strref 51 m18s512 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L4304 L4305 -label L4304 +brif 52 L4257 L4258 +label L4257 strref 54 m18s511 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 L4305 -label L4303 +label L4258 +label L4256 load 59 method strref 60 m18s510 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L4307 L4308 -label L4307 +brif 61 L4260 L4261 +label L4260 strref 63 m18s509 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 L4308 -label L4306 -jmp L4297 -label L4299 -label L4297 +label L4261 +label L4259 +jmp L4250 +label L4252 +label L4250 load 68 type_name strref 69 m18s303 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -brif 70 L4310 L4311 -label L4310 +brif 70 L4263 L4264 +label L4263 load 72 method strref 73 m18s508 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -brif 74 L4313 L4314 -label L4313 +brif 74 L4266 L4267 +label L4266 strref 76 m18s507 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 L4314 -label L4312 +label L4267 +label L4265 load 81 method strref 82 m18s506 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L4316 L4317 -label L4316 +brif 83 L4269 L4270 +label L4269 strref 85 m18s505 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 L4317 -label L4315 -jmp L4309 -label L4311 -label L4309 +label L4270 +label L4268 +jmp L4262 +label L4264 +label L4262 load 90 type_name strref 91 m18s302 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -brif 92 L4319 L4320 -label L4319 +brif 92 L4272 L4273 +label L4272 strref 94 m18s13 call 95 types_lookup_type_id int 1 94 call 96 pith_cstring_release void 1 94 @@ -75412,22 +75065,22 @@ load 97 method strref 98 m18s504 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -brif 99 L4322 L4323 -label L4322 +brif 99 L4275 L4276 +label L4275 strref 101 m18s503 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 L4323 -label L4321 +label L4276 +label L4274 load 106 method strref 107 m18s502 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 -brif 108 L4325 L4326 -label L4325 +brif 108 L4278 L4279 +label L4278 strref 110 m18s501 load 111 args load 112 tid_int @@ -75436,14 +75089,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 L4326 -label L4324 +label L4279 +label L4277 load 117 method strref 118 m18s500 call 119 pith_cstring_eq bool 2 117 118 call 120 pith_cstring_release void 1 118 -brif 119 L4328 L4329 -label L4328 +brif 119 L4281 L4282 +label L4281 strref 121 m18s499 load 122 args load 123 tid_int @@ -75453,11 +75106,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 L4329 -label L4327 -jmp L4318 -label L4320 -label L4318 +label L4282 +label L4280 +jmp L4271 +label L4273 +label L4271 load 129 tid_err ret 129 iconst 130 0 @@ -75487,8 +75140,8 @@ load 15 method strref 16 m18s408 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L4331 L4332 -label L4331 +brif 17 L4284 L4285 +label L4284 strref 19 m18s498 load 20 args load 21 inner @@ -75497,14 +75150,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 L4332 -label L4330 +label L4285 +label L4283 load 26 method strref 27 m18s412 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L4334 L4335 -label L4334 +brif 28 L4287 L4288 +label L4287 strref 30 m18s497 load 31 args call 32 checker_expect_no_arguments void 2 30 31 @@ -75514,14 +75167,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 L4335 -label L4333 +label L4288 +label L4286 load 38 method strref 39 m18s496 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L4337 L4338 -label L4337 +brif 40 L4290 L4291 +label L4290 strref 42 m18s495 load 43 args load 44 inner @@ -75530,14 +75183,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 L4338 -label L4336 +label L4291 +label L4289 load 49 method strref 50 m18s494 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L4340 L4341 -label L4340 +brif 51 L4293 L4294 +label L4293 strref 53 m18s493 load 54 args call 55 checker_expect_no_arguments void 2 53 54 @@ -75547,64 +75200,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 L4341 -label L4339 +label L4294 +label L4292 load 61 method strref 62 m18s492 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L4343 L4344 -label L4343 +brif 63 L4296 L4297 +label L4296 strref 65 m18s491 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 L4344 -label L4342 +label L4297 +label L4295 load 70 method strref 71 m18s490 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L4346 L4347 -label L4346 +brif 72 L4299 L4300 +label L4299 strref 74 m18s489 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 L4347 -label L4345 +label L4300 +label L4298 load 79 method strref 80 m18s488 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L4349 L4350 -label L4349 +brif 81 L4302 L4303 +label L4302 strref 83 m18s487 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 L4350 -label L4348 +label L4303 +label L4301 load 88 method strref 89 m18s486 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -brif 90 L4352 L4353 -label L4352 +brif 90 L4305 L4306 +label L4305 strref 92 m18s485 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 L4353 -label L4351 +label L4306 +label L4304 load 97 tid_err ret 97 iconst 98 0 @@ -75631,30 +75284,30 @@ load 13 method strref 14 m18s484 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L4355 L4356 -label L4355 +brif 15 L4308 L4309 +label L4308 strref 17 m18s483 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 L4356 -label L4354 +label L4309 +label L4307 load 22 method strref 23 m18s482 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L4358 L4359 -label L4358 +brif 24 L4311 L4312 +label L4311 strref 26 m18s481 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 L4359 -label L4357 +label L4312 +label L4310 load 31 tid_err ret 31 iconst 32 0 @@ -75667,8 +75320,8 @@ load 2 args call 3 pith_list_len int 1 2 iconst 4 0 neq 5 3 4 -brif 5 L4361 L4362 -label L4361 +brif 5 L4314 L4315 +label L4314 strref 6 m18s333 load 7 method strref 8 m18s480 @@ -75683,9 +75336,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 L4360 -label L4362 -label L4360 +jmp L4313 +label L4315 +label L4313 iconst 20 0 ret 20 endfunc @@ -75701,8 +75354,8 @@ load 6 args call 7 pith_list_len int 1 6 iconst 8 1 neq 9 7 8 -brif 9 L4364 L4365 -label L4364 +brif 9 L4317 L4318 +label L4317 strref 10 m18s333 load 11 method strref 12 m18s479 @@ -75719,8 +75372,8 @@ call 22 pith_cstring_release void 1 10 call 23 pith_cstring_release void 1 18 iconst 24 0 ret 24 -label L4365 -label L4363 +label L4318 +label L4316 load 25 args iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 @@ -75742,8 +75395,8 @@ load 6 args call 7 pith_list_len int 1 6 iconst 8 2 neq 9 7 8 -brif 9 L4367 L4368 -label L4367 +brif 9 L4320 L4321 +label L4320 strref 10 m18s333 load 11 method strref 12 m18s478 @@ -75760,8 +75413,8 @@ call 22 pith_cstring_release void 1 10 call 23 pith_cstring_release void 1 18 iconst 24 0 ret 24 -label L4368 -label L4366 +label L4321 +label L4319 load 25 args iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 @@ -75789,8 +75442,8 @@ load 6 args call 7 pith_list_len int 1 6 iconst 8 2 neq 9 7 8 -brif 9 L4370 L4371 -label L4370 +brif 9 L4323 L4324 +label L4323 strref 10 m18s333 load 11 method strref 12 m18s478 @@ -75807,8 +75460,8 @@ call 22 pith_cstring_release void 1 10 call 23 pith_cstring_release void 1 18 iconst 24 0 ret 24 -label L4371 -label L4369 +label L4324 +label L4322 load 25 args iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 @@ -75840,8 +75493,8 @@ load 9 args call 10 pith_list_len int 1 9 iconst 11 2 neq 12 10 11 -brif 12 L4373 L4374 -label L4373 +brif 12 L4326 L4327 +label L4326 strref 13 m18s333 load 14 method strref 15 m18s478 @@ -75858,8 +75511,8 @@ call 25 pith_cstring_release void 1 13 call 26 pith_cstring_release void 1 21 iconst 27 0 ret 27 -label L4374 -label L4372 +label L4327 +label L4325 load 28 args iconst 29 0 call 30 pith_list_get_value_strict int 2 28 29 @@ -75884,8 +75537,8 @@ load 4 args call 5 pith_list_len int 1 4 iconst 6 1 neq 7 5 6 -brif 7 L4376 L4377 -label L4376 +brif 7 L4329 L4330 +label L4329 strref 8 m18s333 load 9 method strref 10 m18s479 @@ -75902,8 +75555,8 @@ call 20 pith_cstring_release void 1 8 call 21 pith_cstring_release void 1 16 iconst 22 0 ret 22 -label L4377 -label L4375 +label L4330 +label L4328 load 23 args iconst 24 0 call 25 pith_list_get_value_strict int 2 23 24 @@ -75923,8 +75576,8 @@ load 5 args call 6 pith_list_len int 1 5 iconst 7 2 neq 8 6 7 -brif 8 L4379 L4380 -label L4379 +brif 8 L4332 L4333 +label L4332 strref 9 m18s333 load 10 method strref 11 m18s478 @@ -75941,8 +75594,8 @@ call 21 pith_cstring_release void 1 9 call 22 pith_cstring_release void 1 17 iconst 23 0 ret 23 -label L4380 -label L4378 +label L4333 +label L4331 load 24 args iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 @@ -75978,20 +75631,20 @@ load 13 actual call 14 types_is_error_type bool 1 13 iconst 15 0 eq 16 14 15 -brif 16 L4382 L4383 -label L4382 +brif 16 L4335 L4336 +label L4335 load 17 actual load 18 expected neq 19 17 18 -brif 19 L4385 L4386 -label L4385 +brif 19 L4338 L4339 +label L4338 load 20 actual load 21 expected call 22 checker_types_structurally_equal bool 2 20 21 iconst 23 0 eq 24 22 23 -brif 24 L4388 L4389 -label L4388 +brif 24 L4341 L4342 +label L4341 load 25 expr_idx strref 26 m18s330 strref 27 m18s477 @@ -76012,15 +75665,15 @@ call 41 pith_cstring_release void 1 38 call 42 checker_diagnostics_report_error_at void 3 25 26 39 call 43 pith_cstring_release void 1 26 call 44 pith_cstring_release void 1 39 -jmp L4387 -label L4389 -label L4387 -jmp L4384 -label L4386 -label L4384 -jmp L4381 -label L4383 -label L4381 +jmp L4340 +label L4342 +label L4340 +jmp L4337 +label L4339 +label L4337 +jmp L4334 +label L4336 +label L4334 iconst 45 0 ret 45 endfunc @@ -76046,8 +75699,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 1 lt 13 11 12 -brif 13 L4391 L4392 -label L4391 +brif 13 L4344 L4345 +label L4344 load 14 types_TID_ERR load 15 field_name call 16 pith_cstring_release void 1 15 @@ -76064,8 +75717,8 @@ call 26 pith_cstring_release void 1 25 load 27 obj_info call 28 pith_struct_release void 1 27 ret 14 -label L4392 -label L4390 +label L4345 +label L4343 load 29 field_name load 30 node field 31 30 8 string value @@ -76087,8 +75740,8 @@ field 43 42 0 string kind strref 44 m18s319 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L4394 L4395 -label L4394 +brif 45 L4347 L4348 +label L4347 load 47 obj_name load 48 obj_node field 49 48 8 string value @@ -76098,8 +75751,8 @@ store obj_name 49 load 52 checker_module_aliases load 53 obj_name call 54 contains_key bool 2 52 53 -brif 54 L4397 L4398 -label L4397 +brif 54 L4350 L4351 +label L4350 load 55 module_path load 56 checker_module_aliases load 57 obj_name @@ -76124,8 +75777,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 L4400 L4401 -label L4400 +brif 74 L4353 L4354 +label L4353 strref 76 m18s476 strref 77 m18s376 load 78 field_name @@ -76161,8 +75814,8 @@ call 107 pith_cstring_release void 1 106 load 108 obj_info call 109 pith_struct_release void 1 108 ret 95 -label L4401 -label L4399 +label L4354 +label L4352 load 110 scope_id load 111 module_name call 112 scope_lookup_binding int 2 110 111 @@ -76170,8 +75823,8 @@ store func_tid 112 load 113 func_tid iconst 114 0 gte 115 113 114 -brif 115 L4403 L4404 -label L4403 +brif 115 L4356 L4357 +label L4356 load 116 func_tid load 117 field_name call 118 pith_cstring_release void 1 117 @@ -76188,8 +75841,8 @@ call 128 pith_cstring_release void 1 127 load 129 obj_info call 130 pith_struct_release void 1 129 ret 116 -label L4404 -label L4402 +label L4357 +label L4355 load 131 scope_id load 132 qualified_name load 133 module_path @@ -76198,8 +75851,8 @@ store func_tid 134 load 135 func_tid iconst 136 0 gte 137 135 136 -brif 137 L4406 L4407 -label L4406 +brif 137 L4359 L4360 +label L4359 load 138 func_tid load 139 field_name call 140 pith_cstring_release void 1 139 @@ -76216,8 +75869,8 @@ call 150 pith_cstring_release void 1 149 load 151 obj_info call 152 pith_struct_release void 1 151 ret 138 -label L4407 -label L4405 +label L4360 +label L4358 load 153 scope_id load 154 field_name load 155 module_path @@ -76226,8 +75879,8 @@ store func_tid 156 load 157 func_tid iconst 158 0 gte 159 157 158 -brif 159 L4409 L4410 -label L4409 +brif 159 L4362 L4363 +label L4362 load 160 func_tid load 161 field_name call 162 pith_cstring_release void 1 161 @@ -76244,8 +75897,8 @@ call 172 pith_cstring_release void 1 171 load 173 obj_info call 174 pith_struct_release void 1 173 ret 160 -label L4410 -label L4408 +label L4363 +label L4361 strref 175 m18s463 strref 176 m18s474 load 177 obj_name @@ -76281,19 +75934,19 @@ call 206 pith_cstring_release void 1 205 load 207 obj_info call 208 pith_struct_release void 1 207 ret 194 -label L4398 -label L4396 -jmp L4393 -label L4395 -label L4393 +label L4351 +label L4349 +jmp L4346 +label L4348 +label L4346 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 L4412 L4413 -label L4412 +brif 213 L4365 L4366 +label L4365 load 214 types_TID_ERR load 215 field_name call 216 pith_cstring_release void 1 215 @@ -76310,8 +75963,8 @@ call 226 pith_cstring_release void 1 225 load 227 obj_info call 228 pith_struct_release void 1 227 ret 214 -label L4413 -label L4411 +label L4366 +label L4364 load 229 obj_info load 230 obj_type call 231 types_get_type_info struct:TypeInfo 1 230 @@ -76322,33 +75975,33 @@ field 234 233 0 string kind strref 235 m18s35 call 236 pith_cstring_eq bool 2 234 235 call 237 pith_cstring_release void 1 235 -brif 236 L4415 L4416 -label L4415 +brif 236 L4368 L4369 +label L4368 iconst 238 0 store fidx 238 -label L4417 +label L4370 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 L4418 L4419 -label L4418 +brif 243 L4371 L4372 +label L4371 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 L4421 L4422 -label L4421 +brif 249 L4374 L4375 +label L4374 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 L4424 L4425 -label L4424 +brif 254 L4377 L4378 +label L4377 load 255 obj_info field 256 255 24 list field_types load 257 fidx @@ -76368,8 +76021,8 @@ call 270 pith_cstring_release void 1 269 load 271 obj_info call 272 pith_struct_release void 1 271 ret 258 -label L4425 -label L4423 +label L4378 +label L4376 load 273 types_TID_ERR load 274 field_name call 275 pith_cstring_release void 1 274 @@ -76386,14 +76039,14 @@ call 285 pith_cstring_release void 1 284 load 286 obj_info call 287 pith_struct_release void 1 286 ret 273 -label L4422 -label L4420 +label L4375 +label L4373 load 288 fidx iconst 289 1 add 290 288 289 store fidx 290 -jmp L4417 -label L4419 +jmp L4370 +label L4372 strref 291 m18s463 load 292 obj_type call 293 types_get_type_name string 1 292 @@ -76427,23 +76080,23 @@ call 320 pith_cstring_release void 1 319 load 321 obj_info call 322 pith_struct_release void 1 321 ret 308 -label L4416 -label L4414 +label L4369 +label L4367 load 323 obj_info field 324 323 0 string kind strref 325 m18s28 call 326 pith_cstring_eq bool 2 324 325 call 327 pith_cstring_release void 1 325 -brif 326 L4427 L4428 -label L4427 +brif 326 L4380 L4381 +label L4380 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 L4430 L4431 -label L4430 +brif 332 L4383 L4384 +label L4383 strref 333 m18s463 strref 334 m18s472 call 335 checker_diagnostics_report_error void 2 333 334 @@ -76465,15 +76118,15 @@ call 350 pith_cstring_release void 1 349 load 351 obj_info call 352 pith_struct_release void 1 351 ret 338 -label L4431 -label L4429 +label L4384 +label L4382 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 L4433 L4434 -label L4433 +brif 357 L4386 L4387 +label L4386 strref 358 m18s463 strref 359 m18s471 load 360 field_name @@ -76513,8 +76166,8 @@ call 393 pith_cstring_release void 1 392 load 394 obj_info call 395 pith_struct_release void 1 394 ret 381 -label L4434 -label L4432 +label L4387 +label L4385 load 396 obj_info field 397 396 88 list elements load 398 idx @@ -76534,37 +76187,37 @@ call 411 pith_cstring_release void 1 410 load 412 obj_info call 413 pith_struct_release void 1 412 ret 399 -label L4428 -label L4426 +label L4381 +label L4379 load 414 obj_info field 415 414 0 string kind strref 416 m18s29 call 417 pith_cstring_eq bool 2 415 416 call 418 pith_cstring_release void 1 416 -brif 417 L4436 L4437 -label L4436 +brif 417 L4389 L4390 +label L4389 strref 419 m18s13 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_4441 422 +store __or_422_4394 422 load 423 field_name strref 424 m18s468 call 425 checker_strings_equal bool 2 423 424 call 426 pith_cstring_release void 1 424 -store __or_422_4441 425 -brif 425 L4442 L4441 -label L4441 +store __or_422_4394 425 +brif 425 L4395 L4394 +label L4394 load 427 field_name strref 428 m18s467 call 429 checker_strings_equal bool 2 427 428 call 430 pith_cstring_release void 1 428 -store __or_422_4441 429 -label L4442 -load 431 __or_422_4441 -brif 431 L4439 L4440 -label L4439 +store __or_422_4394 429 +label L4395 +load 431 __or_422_4394 +brif 431 L4392 L4393 +label L4392 load 432 tid_bool load 433 field_name call 434 pith_cstring_release void 1 433 @@ -76581,14 +76234,14 @@ call 444 pith_cstring_release void 1 443 load 445 obj_info call 446 pith_struct_release void 1 445 ret 432 -label L4440 -label L4438 +label L4393 +label L4391 load 447 field_name strref 448 m18s466 call 449 checker_strings_equal bool 2 447 448 call 450 pith_cstring_release void 1 448 -brif 449 L4444 L4445 -label L4444 +brif 449 L4397 L4398 +label L4397 load 451 obj_info field 452 451 64 int inner load 453 field_name @@ -76606,14 +76259,14 @@ call 464 pith_cstring_release void 1 463 load 465 obj_info call 466 pith_struct_release void 1 465 ret 452 -label L4445 -label L4443 +label L4398 +label L4396 load 467 field_name strref 468 m18s465 call 469 checker_strings_equal bool 2 467 468 call 470 pith_cstring_release void 1 468 -brif 469 L4447 L4448 -label L4447 +brif 469 L4400 L4401 +label L4400 load 471 obj_info field 472 471 80 int value_type load 473 field_name @@ -76631,8 +76284,8 @@ call 484 pith_cstring_release void 1 483 load 485 obj_info call 486 pith_struct_release void 1 485 ret 472 -label L4448 -label L4446 +label L4401 +label L4399 strref 487 m18s463 strref 488 m18s464 load 489 field_name @@ -76661,15 +76314,15 @@ call 511 pith_cstring_release void 1 510 load 512 obj_info call 513 pith_struct_release void 1 512 ret 499 -label L4437 -label L4435 +label L4390 +label L4388 load 514 obj_info field 515 514 0 string kind strref 516 m18s34 call 517 pith_cstring_eq bool 2 515 516 call 518 pith_cstring_release void 1 516 -brif 517 L4450 L4451 -label L4450 +brif 517 L4403 L4404 +label L4403 load 519 obj_type load 520 field_name call 521 pith_cstring_release void 1 520 @@ -76686,8 +76339,8 @@ call 531 pith_cstring_release void 1 530 load 532 obj_info call 533 pith_struct_release void 1 532 ret 519 -label L4451 -label L4449 +label L4404 +label L4402 strref 534 m18s463 load 535 obj_type call 536 types_get_type_name string 1 535 @@ -76746,27 +76399,27 @@ load 2 s call 3 string_len int 1 2 iconst 4 0 eq 5 3 4 -brif 5 L4453 L4454 -label L4453 +brif 5 L4406 L4407 +label L4406 iconst 6 1 iconst 8 0 sub 7 8 6 load 9 ch call 10 pith_cstring_release void 1 9 ret 7 -label L4454 -label L4452 +label L4407 +label L4405 iconst 11 0 store result 11 iconst 12 0 store i 12 -label L4455 +label L4408 load 13 i load 14 s call 15 string_len int 1 14 lt 16 13 15 -brif 16 L4456 L4457 -label L4456 +brif 16 L4409 L4410 +label L4409 load 17 ch load 18 s load 19 i @@ -76777,153 +76430,153 @@ load 22 ch strref 23 m18s461 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L4459 L4460 -label L4459 +brif 24 L4412 L4413 +label L4412 load 26 result iconst 27 10 mul 28 26 27 store result 28 -jmp L4458 -label L4460 +jmp L4411 +label L4413 load 29 ch strref 30 m18s460 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L4461 L4462 -label L4461 +brif 31 L4414 L4415 +label L4414 load 33 result iconst 34 10 mul 35 33 34 iconst 36 1 add 37 35 36 store result 37 -jmp L4458 -label L4462 +jmp L4411 +label L4415 load 38 ch strref 39 m18s459 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L4463 L4464 -label L4463 +brif 40 L4416 L4417 +label L4416 load 42 result iconst 43 10 mul 44 42 43 iconst 45 2 add 46 44 45 store result 46 -jmp L4458 -label L4464 +jmp L4411 +label L4417 load 47 ch strref 48 m18s458 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L4465 L4466 -label L4465 +brif 49 L4418 L4419 +label L4418 load 51 result iconst 52 10 mul 53 51 52 iconst 54 3 add 55 53 54 store result 55 -jmp L4458 -label L4466 +jmp L4411 +label L4419 load 56 ch strref 57 m18s457 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L4467 L4468 -label L4467 +brif 58 L4420 L4421 +label L4420 load 60 result iconst 61 10 mul 62 60 61 iconst 63 4 add 64 62 63 store result 64 -jmp L4458 -label L4468 +jmp L4411 +label L4421 load 65 ch strref 66 m18s456 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L4469 L4470 -label L4469 +brif 67 L4422 L4423 +label L4422 load 69 result iconst 70 10 mul 71 69 70 iconst 72 5 add 73 71 72 store result 73 -jmp L4458 -label L4470 +jmp L4411 +label L4423 load 74 ch strref 75 m18s455 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L4471 L4472 -label L4471 +brif 76 L4424 L4425 +label L4424 load 78 result iconst 79 10 mul 80 78 79 iconst 81 6 add 82 80 81 store result 82 -jmp L4458 -label L4472 +jmp L4411 +label L4425 load 83 ch strref 84 m18s454 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -brif 85 L4473 L4474 -label L4473 +brif 85 L4426 L4427 +label L4426 load 87 result iconst 88 10 mul 89 87 88 iconst 90 7 add 91 89 90 store result 91 -jmp L4458 -label L4474 +jmp L4411 +label L4427 load 92 ch strref 93 m18s453 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -brif 94 L4475 L4476 -label L4475 +brif 94 L4428 L4429 +label L4428 load 96 result iconst 97 10 mul 98 96 97 iconst 99 8 add 100 98 99 store result 100 -jmp L4458 -label L4476 +jmp L4411 +label L4429 load 101 ch strref 102 m18s452 call 103 pith_cstring_eq bool 2 101 102 call 104 pith_cstring_release void 1 102 -brif 103 L4477 L4478 -label L4477 +brif 103 L4430 L4431 +label L4430 load 105 result iconst 106 10 mul 107 105 106 iconst 108 9 add 109 107 108 store result 109 -jmp L4458 -label L4478 +jmp L4411 +label L4431 iconst 110 1 iconst 112 0 sub 111 112 110 load 113 ch call 114 pith_cstring_release void 1 113 ret 111 -label L4458 +label L4411 load 115 i iconst 116 1 add 117 115 116 store i 117 -jmp L4455 -label L4457 +jmp L4408 +label L4410 load 118 result load 119 ch call 120 pith_cstring_release void 1 119 @@ -76955,14 +76608,14 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -brif 16 L4480 L4481 -label L4480 +brif 16 L4433 L4434 +label L4433 load 17 types_TID_ERR load 18 obj_info call 19 pith_struct_release void 1 18 ret 17 -label L4481 -label L4479 +label L4434 +label L4432 load 20 node field 21 20 16 list children iconst 22 0 @@ -76979,24 +76632,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 L4483 L4484 -label L4483 +brif 33 L4436 L4437 +label L4436 load 34 types_TID_ERR load 35 obj_info call 36 pith_struct_release void 1 35 ret 34 -label L4484 -label L4482 +label L4437 +label L4435 load 37 idx_type call 38 types_is_error_type bool 1 37 -brif 38 L4486 L4487 -label L4486 +brif 38 L4439 L4440 +label L4439 load 39 types_TID_ERR load 40 obj_info call 41 pith_struct_release void 1 40 ret 39 -label L4487 -label L4485 +label L4440 +label L4438 load 42 obj_info load 43 obj_type call 44 types_get_type_info struct:TypeInfo 1 43 @@ -77007,8 +76660,8 @@ field 47 46 0 string kind strref 48 m18s30 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L4489 L4490 -label L4489 +brif 49 L4442 L4443 +label L4442 load 51 obj_info field 52 51 64 int inner store obj_type 52 @@ -77017,15 +76670,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 L4488 -label L4490 +jmp L4441 +label L4443 load 57 obj_info field 58 57 0 string kind strref 59 m18s29 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L4491 L4492 -label L4491 +brif 60 L4444 L4445 +label L4444 load 62 obj_info field 63 62 64 int inner store obj_type 63 @@ -77034,20 +76687,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 L4488 -label L4492 -label L4488 +jmp L4441 +label L4445 +label L4441 load 68 obj_type load 69 tid_string eq 70 68 69 -brif 70 L4494 L4495 -label L4494 +brif 70 L4447 L4448 +label L4447 load 71 idx_type call 72 types_is_integer_type bool 1 71 iconst 73 0 eq 74 72 73 -brif 74 L4497 L4498 -label L4497 +brif 74 L4450 L4451 +label L4450 strref 75 m18s447 strref 76 m18s451 load 77 idx_type @@ -77062,25 +76715,25 @@ load 85 types_TID_ERR load 86 obj_info call 87 pith_struct_release void 1 86 ret 85 -label L4498 -label L4496 +label L4451 +label L4449 load 88 tid_string load 89 obj_info call 90 pith_struct_release void 1 89 ret 88 -label L4495 -label L4493 +label L4448 +label L4446 load 91 obj_type load 92 tid_bytes eq 93 91 92 -brif 93 L4500 L4501 -label L4500 +brif 93 L4453 L4454 +label L4453 load 94 idx_type call 95 types_is_integer_type bool 1 94 iconst 96 0 eq 97 95 96 -brif 97 L4503 L4504 -label L4503 +brif 97 L4456 L4457 +label L4456 strref 98 m18s447 strref 99 m18s450 load 100 idx_type @@ -77095,27 +76748,27 @@ load 108 types_TID_ERR load 109 obj_info call 110 pith_struct_release void 1 109 ret 108 -label L4504 -label L4502 +label L4457 +label L4455 load 111 tid_int load 112 obj_info call 113 pith_struct_release void 1 112 ret 111 -label L4501 -label L4499 +label L4454 +label L4452 load 114 obj_info field 115 114 0 string kind strref 116 m18s23 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L4506 L4507 -label L4506 +brif 117 L4459 L4460 +label L4459 load 119 idx_type call 120 types_is_integer_type bool 1 119 iconst 121 0 eq 122 120 121 -brif 122 L4509 L4510 -label L4509 +brif 122 L4462 L4463 +label L4462 strref 123 m18s447 strref 124 m18s449 load 125 idx_type @@ -77130,28 +76783,28 @@ load 133 types_TID_ERR load 134 obj_info call 135 pith_struct_release void 1 134 ret 133 -label L4510 -label L4508 +label L4463 +label L4461 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 L4507 -label L4505 +label L4460 +label L4458 load 140 obj_info field 141 140 0 string kind strref 142 m18s21 call 143 pith_cstring_eq bool 2 141 142 call 144 pith_cstring_release void 1 142 -brif 143 L4512 L4513 -label L4512 +brif 143 L4465 L4466 +label L4465 load 145 idx_type load 146 obj_info field 147 146 72 int key_type neq 148 145 147 -brif 148 L4515 L4516 -label L4515 +brif 148 L4468 L4469 +label L4468 strref 149 m18s447 strref 150 m18s448 load 151 obj_info @@ -77176,15 +76829,15 @@ load 169 types_TID_ERR load 170 obj_info call 171 pith_struct_release void 1 170 ret 169 -label L4516 -label L4514 +label L4469 +label L4467 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 L4513 -label L4511 +label L4466 +label L4464 strref 176 m18s447 load 177 obj_type call 178 types_get_type_name string 1 177 @@ -77216,16 +76869,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 1 lt 8 6 7 -brif 8 L4518 L4519 -label L4518 +brif 8 L4471 L4472 +label L4471 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 L4519 -label L4517 +label L4472 +label L4470 load 14 node field 15 14 16 list children iconst 16 0 @@ -77235,16 +76888,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 L4521 L4522 -label L4521 +brif 21 L4474 L4475 +label L4474 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 L4522 -label L4520 +label L4475 +label L4473 load 27 info load 28 inner call 29 types_get_type_info struct:TypeInfo 1 28 @@ -77255,11 +76908,11 @@ field 32 31 0 string kind strref 33 m18s30 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L4524 L4525 -label L4524 +brif 34 L4477 L4478 +label L4477 load 36 checker_checking_test_decl -brif 36 L4527 L4528 -label L4527 +brif 36 L4480 L4481 +label L4480 load 37 info field 38 37 64 int inner load 39 info @@ -77267,16 +76920,16 @@ call 40 pith_struct_release void 1 39 load 41 ret_info call 42 pith_struct_release void 1 41 ret 38 -label L4528 -label L4526 +label L4481 +label L4479 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 L4530 L4531 -label L4530 +brif 47 L4483 L4484 +label L4483 strref 48 m18s445 strref 49 m18s444 strref 50 m18s443 @@ -77290,8 +76943,8 @@ call 57 pith_struct_release void 1 56 load 58 ret_info call 59 pith_struct_release void 1 58 ret 55 -label L4531 -label L4529 +label L4484 +label L4482 load 60 ret_info load 61 ret call 62 types_get_type_info struct:TypeInfo 1 61 @@ -77304,8 +76957,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 L4533 L4534 -label L4533 +brif 67 L4486 L4487 +label L4486 strref 71 m18s445 strref 72 m18s444 strref 73 m18s443 @@ -77319,8 +76972,8 @@ call 80 pith_struct_release void 1 79 load 81 ret_info call 82 pith_struct_release void 1 81 ret 78 -label L4534 -label L4532 +label L4487 +label L4485 load 83 info field 84 83 64 int inner load 85 info @@ -77328,15 +76981,15 @@ call 86 pith_struct_release void 1 85 load 87 ret_info call 88 pith_struct_release void 1 87 ret 84 -label L4525 -label L4523 +label L4478 +label L4476 load 89 info field 90 89 0 string kind strref 91 m18s29 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -brif 92 L4536 L4537 -label L4536 +brif 92 L4489 L4490 +label L4489 strref 94 m18s431 strref 95 m18s441 load 96 inner @@ -77349,8 +77002,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 L4535 -label L4537 +jmp L4488 +label L4490 strref 106 m18s431 strref 107 m18s441 load 108 inner @@ -77363,7 +77016,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 L4535 +label L4488 load 118 types_TID_ERR load 119 info call 120 pith_struct_release void 1 119 @@ -77389,16 +77042,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 1 lt 8 6 7 -brif 8 L4539 L4540 -label L4539 +brif 8 L4492 L4493 +label L4492 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 L4540 -label L4538 +label L4493 +label L4491 load 14 node field 15 14 16 list children iconst 16 0 @@ -77408,16 +77061,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 L4542 L4543 -label L4542 +brif 21 L4495 L4496 +label L4495 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 L4543 -label L4541 +label L4496 +label L4494 load 27 info load 28 inner call 29 types_get_type_info struct:TypeInfo 1 28 @@ -77428,11 +77081,11 @@ field 32 31 0 string kind strref 33 m18s29 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L4545 L4546 -label L4545 +brif 34 L4498 L4499 +label L4498 load 36 checker_checking_test_decl -brif 36 L4548 L4549 -label L4548 +brif 36 L4501 L4502 +label L4501 load 37 info field 38 37 64 int inner load 39 info @@ -77440,16 +77093,16 @@ call 40 pith_struct_release void 1 39 load 41 ret_info call 42 pith_struct_release void 1 41 ret 38 -label L4549 -label L4547 +label L4502 +label L4500 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 L4551 L4552 -label L4551 +brif 47 L4504 L4505 +label L4504 strref 48 m18s438 strref 49 m18s439 call 50 checker_diagnostics_report_error void 2 48 49 @@ -77461,8 +77114,8 @@ call 55 pith_struct_release void 1 54 load 56 ret_info call 57 pith_struct_release void 1 56 ret 53 -label L4552 -label L4550 +label L4505 +label L4503 load 58 ret_info load 59 ret call 60 types_get_type_info struct:TypeInfo 1 59 @@ -77475,8 +77128,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 L4554 L4555 -label L4554 +brif 65 L4507 L4508 +label L4507 strref 69 m18s438 strref 70 m18s439 call 71 checker_diagnostics_report_error void 2 69 70 @@ -77488,8 +77141,8 @@ call 76 pith_struct_release void 1 75 load 77 ret_info call 78 pith_struct_release void 1 77 ret 74 -label L4555 -label L4553 +label L4508 +label L4506 load 79 info field 80 79 80 int value_type load 81 ret_info @@ -77497,8 +77150,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 L4557 L4558 -label L4557 +brif 85 L4510 L4511 +label L4510 strref 86 m18s438 strref 87 m18s437 load 88 info @@ -77525,8 +77178,8 @@ call 108 pith_struct_release void 1 107 load 109 ret_info call 110 pith_struct_release void 1 109 ret 106 -label L4558 -label L4556 +label L4511 +label L4509 load 111 info field 112 111 64 int inner load 113 info @@ -77534,15 +77187,15 @@ call 114 pith_struct_release void 1 113 load 115 ret_info call 116 pith_struct_release void 1 115 ret 112 -label L4546 -label L4544 +label L4499 +label L4497 load 117 info field 118 117 0 string kind strref 119 m18s30 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L4560 L4561 -label L4560 +brif 120 L4513 L4514 +label L4513 strref 122 m18s431 strref 123 m18s434 load 124 inner @@ -77555,8 +77208,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 L4559 -label L4561 +jmp L4512 +label L4514 strref 134 m18s431 strref 135 m18s434 load 136 inner @@ -77569,7 +77222,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 L4559 +label L4512 load 146 types_TID_ERR load 147 info call 148 pith_struct_release void 1 147 @@ -77593,14 +77246,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L4563 L4564 -label L4563 +brif 7 L4516 L4517 +label L4516 load 8 types_TID_ERR load 9 result_info call 10 pith_struct_release void 1 9 ret 8 -label L4564 -label L4562 +label L4517 +label L4515 load 11 node field 12 11 16 list children iconst 13 0 @@ -77610,14 +77263,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 L4566 L4567 -label L4566 +brif 18 L4519 L4520 +label L4519 load 19 types_TID_ERR load 20 result_info call 21 pith_struct_release void 1 20 ret 19 -label L4567 -label L4565 +label L4520 +label L4518 load 22 result_info load 23 result_type call 24 types_get_type_info struct:TypeInfo 1 23 @@ -77630,8 +77283,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 L4569 L4570 -label L4569 +brif 29 L4522 L4523 +label L4522 strref 33 m18s431 strref 34 m18s430 load 35 result_type @@ -77646,8 +77299,8 @@ load 43 types_TID_ERR load 44 result_info call 45 pith_struct_release void 1 44 ret 43 -label L4570 -label L4568 +label L4523 +label L4521 load 46 node field 47 46 16 list children iconst 48 1 @@ -77657,22 +77310,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 L4572 L4573 -label L4572 +brif 53 L4525 L4526 +label L4525 load 54 types_TID_ERR load 55 result_info call 56 pith_struct_release void 1 55 ret 54 -label L4573 -label L4571 +label L4526 +label L4524 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 L4575 L4576 -label L4575 +brif 62 L4528 L4529 +label L4528 strref 63 m18s330 strref 64 m18s432 load 65 result_info @@ -77697,8 +77350,8 @@ load 83 types_TID_ERR load 84 result_info call 85 pith_struct_release void 1 84 ret 83 -label L4576 -label L4574 +label L4529 +label L4527 load 86 result_info field 87 86 64 int inner load 88 result_info @@ -77723,8 +77376,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L4578 L4579 -label L4578 +brif 9 L4531 L4532 +label L4531 load 10 types_TID_ERR load 11 result_info call 12 pith_struct_release void 1 11 @@ -77733,8 +77386,8 @@ call 14 pith_struct_release void 1 13 load 15 last call 16 pith_struct_release void 1 15 ret 10 -label L4579 -label L4577 +label L4532 +label L4530 load 17 node field 18 17 16 list children iconst 19 0 @@ -77744,8 +77397,8 @@ call 22 checker_c_check_expr int 2 20 21 store result_type 22 load 23 result_type call 24 types_is_error_type bool 1 23 -brif 24 L4581 L4582 -label L4581 +brif 24 L4534 L4535 +label L4534 load 25 types_TID_ERR load 26 result_info call 27 pith_struct_release void 1 26 @@ -77754,8 +77407,8 @@ call 29 pith_struct_release void 1 28 load 30 last call 31 pith_struct_release void 1 30 ret 25 -label L4582 -label L4580 +label L4535 +label L4533 load 32 result_info load 33 result_type call 34 types_get_type_info struct:TypeInfo 1 33 @@ -77768,8 +77421,8 @@ call 40 pith_cstring_eq bool 2 37 38 iconst 41 1 sub 39 41 40 call 42 pith_cstring_release void 1 38 -brif 39 L4584 L4585 -label L4584 +brif 39 L4537 L4538 +label L4537 strref 43 m18s431 strref 44 m18s430 load 45 result_type @@ -77788,8 +77441,8 @@ call 57 pith_struct_release void 1 56 load 58 last call 59 pith_struct_release void 1 58 ret 53 -label L4585 -label L4583 +label L4538 +label L4536 load 60 block_node load 61 node field 62 61 16 list children @@ -77809,8 +77462,8 @@ field 73 72 16 list children call 74 pith_list_len int 1 73 iconst 75 0 eq 76 74 75 -brif 76 L4587 L4588 -label L4587 +brif 76 L4540 L4541 +label L4540 strref 77 m18s424 strref 78 m18s429 call 79 checker_diagnostics_report_error void 2 77 78 @@ -77824,8 +77477,8 @@ call 86 pith_struct_release void 1 85 load 87 last call 88 pith_struct_release void 1 87 ret 82 -label L4588 -label L4586 +label L4541 +label L4539 load 89 last load 90 block_node field 91 90 16 list children @@ -77839,11 +77492,11 @@ call 98 ast_get_node struct:Node 1 97 call 99 pith_struct_release void 1 89 store last 98 iconst 100 0 -store __and_100_4592 100 +store __and_100_4545 100 iconst 101 0 -store __and_101_4592 101 +store __and_101_4545 101 iconst 102 0 -store __and_102_4592 102 +store __and_102_4545 102 load 103 last field 104 103 0 string kind strref 105 m18s428 @@ -77851,9 +77504,9 @@ call 107 pith_cstring_eq bool 2 104 105 iconst 108 1 sub 106 108 107 call 109 pith_cstring_release void 1 105 -store __and_102_4592 106 -brif 106 L4592 L4593 -label L4592 +store __and_102_4545 106 +brif 106 L4545 L4546 +label L4545 load 110 last field 111 110 0 string kind strref 112 m18s427 @@ -77861,12 +77514,12 @@ call 114 pith_cstring_eq bool 2 111 112 iconst 115 1 sub 113 115 114 call 116 pith_cstring_release void 1 112 -store __and_102_4592 113 -label L4593 -load 117 __and_102_4592 -store __and_101_4592 117 -brif 117 L4594 L4595 -label L4594 +store __and_102_4545 113 +label L4546 +load 117 __and_102_4545 +store __and_101_4545 117 +brif 117 L4547 L4548 +label L4547 load 118 last field 119 118 0 string kind strref 120 m18s426 @@ -77874,12 +77527,12 @@ call 122 pith_cstring_eq bool 2 119 120 iconst 123 1 sub 121 123 122 call 124 pith_cstring_release void 1 120 -store __and_101_4592 121 -label L4595 -load 125 __and_101_4592 -store __and_100_4592 125 -brif 125 L4596 L4597 -label L4596 +store __and_101_4545 121 +label L4548 +load 125 __and_101_4545 +store __and_100_4545 125 +brif 125 L4549 L4550 +label L4549 load 126 last field 127 126 0 string kind strref 128 m18s425 @@ -77887,11 +77540,11 @@ call 130 pith_cstring_eq bool 2 127 128 iconst 131 1 sub 129 131 130 call 132 pith_cstring_release void 1 128 -store __and_100_4592 129 -label L4597 -load 133 __and_100_4592 -brif 133 L4590 L4591 -label L4590 +store __and_100_4545 129 +label L4550 +load 133 __and_100_4545 +brif 133 L4543 L4544 +label L4543 strref 134 m18s424 strref 135 m18s423 call 136 checker_diagnostics_report_error void 2 134 135 @@ -77905,8 +77558,8 @@ call 143 pith_struct_release void 1 142 load 144 last call 145 pith_struct_release void 1 144 ret 139 -label L4591 -label L4589 +label L4544 +label L4542 load 146 result_info field 147 146 64 int inner load 148 result_info @@ -77935,8 +77588,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 0 eq 7 5 6 -brif 7 L4599 L4600 -label L4599 +brif 7 L4552 L4553 +label L4552 strref 8 m18s315 strref 9 m18s422 call 10 checker_diagnostics_report_error void 2 8 9 @@ -77946,8 +77599,8 @@ load 13 types_TID_ERR load 14 arm_node call 15 pith_struct_release void 1 14 ret 13 -label L4600 -label L4598 +label L4553 +label L4551 load 16 types_TID_ERR store result_type 16 iconst 17 0 @@ -77958,21 +77611,21 @@ load 19 node field 20 19 16 list children call 21 pith_auto_len int 1 20 iconst 22 0 -store __for_idx_212 22 -store __for_len_212 21 -store __for_iter_212 20 -label L4601 -load 23 __for_idx_212 -load 24 __for_len_212 +store __for_idx_211 22 +store __for_len_211 21 +store __for_iter_211 20 +label L4554 +load 23 __for_idx_211 +load 24 __for_len_211 lt 25 23 24 -brif 25 L4602 L4604 -label L4602 -load 26 __for_iter_212 -load 27 __for_idx_212 +brif 25 L4555 L4557 +label L4555 +load 26 __for_iter_211 +load 27 __for_idx_211 call 28 pith_list_get_value unknown 2 26 27 -store __loopvar_212_child 28 +store __loopvar_211_child 28 load 29 arm_node -load 30 __loopvar_212_child +load 30 __loopvar_211_child call 31 ast_get_node struct:Node 1 30 call 32 pith_struct_release void 1 29 store arm_node 31 @@ -77985,88 +77638,88 @@ field 37 36 0 string kind strref 38 m18s415 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L4606 L4607 -label L4606 +brif 39 L4559 L4560 +label L4559 load 41 saw_default -brif 41 L4609 L4610 -label L4609 +brif 41 L4562 L4563 +label L4562 strref 42 m18s315 strref 43 m18s421 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 L4608 -label L4610 -label L4608 +jmp L4561 +label L4563 +label L4561 iconst 47 1 store saw_default 47 -jmp L4605 -label L4607 +jmp L4558 +label L4560 load 48 arm_node field 49 48 0 string kind strref 50 m18s416 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L4611 L4612 -label L4611 +brif 51 L4564 L4565 +label L4564 load 53 saw_timeout -brif 53 L4614 L4615 -label L4614 +brif 53 L4567 L4568 +label L4567 strref 54 m18s315 strref 55 m18s420 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 L4613 -label L4615 -label L4613 +jmp L4566 +label L4568 +label L4566 iconst 59 1 store saw_timeout 59 -jmp L4605 -label L4612 -label L4605 +jmp L4558 +label L4565 +label L4558 load 60 result_type call 61 types_is_error_type bool 1 60 -brif 61 L4617 L4618 -label L4617 +brif 61 L4570 L4571 +label L4570 load 62 arm_type store result_type 62 -jmp L4616 -label L4618 +jmp L4569 +label L4571 load 63 arm_type call 64 types_is_error_type bool 1 63 iconst 65 0 eq 66 64 65 -brif 66 L4619 L4620 -label L4619 +brif 66 L4572 L4573 +label L4572 load 67 arm_type load 68 result_type neq 69 67 68 -brif 69 L4622 L4623 -label L4622 +brif 69 L4575 L4576 +label L4575 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 L4625 L4626 -label L4625 +brif 74 L4578 L4579 +label L4578 iconst 75 0 -store __and_75_4630 75 +store __and_75_4583 75 load 76 arm_type load 77 types_TID_VOID neq 78 76 77 -store __and_75_4630 78 -brif 78 L4630 L4631 -label L4630 +store __and_75_4583 78 +brif 78 L4583 L4584 +label L4583 load 79 result_type load 80 types_TID_VOID neq 81 79 80 -store __and_75_4630 81 -label L4631 -load 82 __and_75_4630 -brif 82 L4628 L4629 -label L4628 +store __and_75_4583 81 +label L4584 +load 82 __and_75_4583 +brif 82 L4581 L4582 +label L4581 strref 83 m18s398 strref 84 m18s419 load 85 result_type @@ -78086,25 +77739,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 L4627 -label L4629 -label L4627 -jmp L4624 -label L4626 -label L4624 -jmp L4621 -label L4623 -label L4621 -jmp L4616 -label L4620 -label L4616 -label L4603 -load 102 __for_idx_212 +jmp L4580 +label L4582 +label L4580 +jmp L4577 +label L4579 +label L4577 +jmp L4574 +label L4576 +label L4574 +jmp L4569 +label L4573 +label L4569 +label L4556 +load 102 __for_idx_211 iconst 103 1 add 104 102 103 -store __for_idx_212 104 -jmp L4601 -label L4604 +store __for_idx_211 104 +jmp L4554 +label L4557 load 105 result_type load 106 arm_node call 107 pith_struct_release void 1 106 @@ -78122,54 +77775,54 @@ field 3 2 0 string kind strref 4 m18s418 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L4633 L4634 -label L4633 +brif 5 L4586 L4587 +label L4586 load 7 arm load 8 scope_id call 9 checker_check_select_recv_arm int 2 7 8 ret 9 -label L4634 -label L4632 +label L4587 +label L4585 load 10 arm field 11 10 0 string kind strref 12 m18s417 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L4636 L4637 -label L4636 +brif 13 L4589 L4590 +label L4589 load 15 arm load 16 scope_id call 17 checker_check_select_send_arm int 2 15 16 ret 17 -label L4637 -label L4635 +label L4590 +label L4588 load 18 arm field 19 18 0 string kind strref 20 m18s416 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L4639 L4640 -label L4639 +brif 21 L4592 L4593 +label L4592 load 23 arm load 24 scope_id call 25 checker_check_select_timeout_arm int 2 23 24 ret 25 -label L4640 -label L4638 +label L4593 +label L4591 load 26 arm field 27 26 0 string kind strref 28 m18s415 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L4642 L4643 -label L4642 +brif 29 L4595 L4596 +label L4595 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 L4643 -label L4641 +label L4596 +label L4594 strref 35 m18s315 strref 36 m18s414 call 37 checker_diagnostics_report_error void 2 35 36 @@ -78190,8 +77843,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L4645 L4646 -label L4645 +brif 7 L4598 L4599 +label L4598 strref 8 m18s315 strref 9 m18s413 call 10 checker_diagnostics_report_error void 2 8 9 @@ -78201,8 +77854,8 @@ load 13 types_TID_ERR load 14 recv_node call 15 pith_struct_release void 1 14 ret 13 -label L4646 -label L4644 +label L4599 +label L4597 load 16 recv_node load 17 arm field 18 17 16 list children @@ -78212,7 +77865,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_4650 23 +store __or_23_4603 23 load 24 recv_node field 25 24 0 string kind strref 26 m18s409 @@ -78220,9 +77873,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_4650 27 -brif 27 L4651 L4650 -label L4650 +store __or_23_4603 27 +brif 27 L4604 L4603 +label L4603 load 31 recv_node field 32 31 8 string value strref 33 m18s412 @@ -78230,11 +77883,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_4650 34 -label L4651 -load 38 __or_23_4650 -brif 38 L4648 L4649 -label L4648 +store __or_23_4603 34 +label L4604 +load 38 __or_23_4603 +brif 38 L4601 L4602 +label L4601 strref 39 m18s315 strref 40 m18s411 call 41 checker_diagnostics_report_error void 2 39 40 @@ -78244,8 +77897,8 @@ load 44 types_TID_ERR load 45 recv_node call 46 pith_struct_release void 1 45 ret 44 -label L4649 -label L4647 +label L4602 +label L4600 load 47 arm field 48 47 16 list children iconst 49 0 @@ -78255,14 +77908,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 L4653 L4654 -label L4653 +brif 54 L4606 L4607 +label L4606 load 55 types_TID_ERR load 56 recv_node call 57 pith_struct_release void 1 56 ret 55 -label L4654 -label L4652 +label L4607 +label L4605 load 58 scope_id call 59 scope_create_scope int 1 58 store arm_scope 59 @@ -78294,8 +77947,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L4656 L4657 -label L4656 +brif 7 L4609 L4610 +label L4609 strref 8 m18s315 strref 9 m18s410 call 10 checker_diagnostics_report_error void 2 8 9 @@ -78305,8 +77958,8 @@ load 13 types_TID_ERR load 14 send_node call 15 pith_struct_release void 1 14 ret 13 -label L4657 -label L4655 +label L4610 +label L4608 load 16 send_node load 17 arm field 18 17 16 list children @@ -78316,7 +77969,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_4661 23 +store __or_23_4614 23 load 24 send_node field 25 24 0 string kind strref 26 m18s409 @@ -78324,9 +77977,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_4661 27 -brif 27 L4662 L4661 -label L4661 +store __or_23_4614 27 +brif 27 L4615 L4614 +label L4614 load 31 send_node field 32 31 8 string value strref 33 m18s408 @@ -78334,11 +77987,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_4661 34 -label L4662 -load 38 __or_23_4661 -brif 38 L4659 L4660 -label L4659 +store __or_23_4614 34 +label L4615 +load 38 __or_23_4614 +brif 38 L4612 L4613 +label L4612 strref 39 m18s315 strref 40 m18s407 call 41 checker_diagnostics_report_error void 2 39 40 @@ -78348,8 +78001,8 @@ load 44 types_TID_ERR load 45 send_node call 46 pith_struct_release void 1 45 ret 44 -label L4660 -label L4658 +label L4613 +label L4611 load 47 arm field 48 47 16 list children iconst 49 0 @@ -78359,19 +78012,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 L4664 L4665 -label L4664 +brif 54 L4617 L4618 +label L4617 load 55 types_TID_ERR load 56 send_node call 57 pith_struct_release void 1 56 ret 55 -label L4665 -label L4663 +label L4618 +label L4616 load 58 send_type load 59 types_TID_BOOL neq 60 58 59 -brif 60 L4667 L4668 -label L4667 +brif 60 L4620 L4621 +label L4620 strref 61 m18s315 strref 62 m18s406 call 63 checker_diagnostics_report_error void 2 61 62 @@ -78381,8 +78034,8 @@ load 66 types_TID_ERR load 67 send_node call 68 pith_struct_release void 1 67 ret 66 -label L4668 -label L4666 +label L4621 +label L4619 load 69 arm iconst 70 1 load 71 scope_id @@ -78403,8 +78056,8 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 2 lt 6 4 5 -brif 6 L4670 L4671 -label L4670 +brif 6 L4623 L4624 +label L4623 strref 7 m18s315 strref 8 m18s405 call 9 checker_diagnostics_report_error void 2 7 8 @@ -78412,8 +78065,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 L4671 -label L4669 +label L4624 +label L4622 load 13 arm field 14 13 16 list children iconst 15 0 @@ -78425,13 +78078,13 @@ load 19 timeout_type call 20 types_is_error_type bool 1 19 iconst 21 0 eq 22 20 21 -brif 22 L4673 L4674 -label L4673 +brif 22 L4626 L4627 +label L4626 load 23 timeout_type load 24 types_TID_INT neq 25 23 24 -brif 25 L4676 L4677 -label L4676 +brif 25 L4629 L4630 +label L4629 strref 26 m18s330 strref 27 m18s404 load 28 timeout_type @@ -78442,12 +78095,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 L4675 -label L4677 -label L4675 -jmp L4672 -label L4674 -label L4672 +jmp L4628 +label L4630 +label L4628 +jmp L4625 +label L4627 +label L4625 load 36 arm iconst 37 1 load 38 scope_id @@ -78467,14 +78120,14 @@ load 5 arm field 6 5 16 list children call 7 pith_list_len int 1 6 gte 8 4 7 -brif 8 L4679 L4680 -label L4679 +brif 8 L4632 L4633 +label L4632 load 9 types_TID_VOID load 10 body_node call 11 pith_struct_release void 1 10 ret 9 -label L4680 -label L4678 +label L4633 +label L4631 load 12 body_node load 13 arm field 14 13 16 list children @@ -78488,21 +78141,21 @@ field 20 19 0 string kind strref 21 m18s347 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L4682 L4683 -label L4682 +brif 22 L4635 L4636 +label L4635 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 L4685 L4686 -label L4685 +brif 28 L4638 L4639 +label L4638 load 29 types_TID_VOID load 30 body_node call 31 pith_struct_release void 1 30 ret 29 -label L4686 -label L4684 +label L4639 +label L4637 load 32 body_node field 33 32 16 list children iconst 34 0 @@ -78512,15 +78165,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 L4683 -label L4681 +label L4636 +label L4634 load 40 body_node field 41 40 0 string kind strref 42 m18s346 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L4688 L4689 -label L4688 +brif 43 L4641 L4642 +label L4641 load 45 body_node load 46 scope_id call 47 checker_check_block_statement void 2 45 46 @@ -78528,8 +78181,8 @@ load 48 types_TID_VOID load 49 body_node call 50 pith_struct_release void 1 49 ret 48 -label L4689 -label L4687 +label L4642 +label L4640 load 51 arm field 52 51 16 list children load 53 body_idx @@ -78554,14 +78207,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L4691 L4692 -label L4691 +brif 7 L4644 L4645 +label L4644 load 8 types_TID_ERR load 9 cn call 10 pith_struct_release void 1 9 ret 8 -label L4692 -label L4690 +label L4645 +label L4643 load 11 node field 12 11 16 list children iconst 13 0 @@ -78573,13 +78226,13 @@ load 17 cond call 18 types_is_error_type bool 1 17 iconst 19 0 eq 20 18 19 -brif 20 L4694 L4695 -label L4694 +brif 20 L4647 L4648 +label L4647 load 21 cond load 22 types_TID_BOOL neq 23 21 22 -brif 23 L4697 L4698 -label L4697 +brif 23 L4650 L4651 +label L4650 strref 24 m18s402 strref 25 m18s401 load 26 cond @@ -78590,12 +78243,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 L4696 -label L4698 -label L4696 -jmp L4693 -label L4695 -label L4693 +jmp L4649 +label L4651 +label L4649 +jmp L4646 +label L4648 +label L4646 load 34 node field 35 34 16 list children iconst 36 1 @@ -78611,33 +78264,33 @@ load 42 node field 43 42 16 list children call 44 pith_auto_len int 1 43 iconst 45 0 -store __for_idx_213 45 -store __for_len_213 44 -store __for_iter_213 43 -label L4699 -load 46 __for_idx_213 -load 47 __for_len_213 +store __for_idx_212 45 +store __for_len_212 44 +store __for_iter_212 43 +label L4652 +load 46 __for_idx_212 +load 47 __for_len_212 lt 48 46 47 -brif 48 L4700 L4702 -label L4700 -load 49 __for_iter_213 -load 50 __for_idx_213 +brif 48 L4653 L4655 +label L4653 +load 49 __for_iter_212 +load 50 __for_idx_212 call 51 pith_list_get_value unknown 2 49 50 -store __loopvar_213_child 51 +store __loopvar_212_child 51 load 52 skip_br iconst 53 0 gt 54 52 53 -brif 54 L4704 L4705 -label L4704 +brif 54 L4657 L4658 +label L4657 load 55 skip_br iconst 56 1 sub 57 55 56 store skip_br 57 -jmp L4701 -label L4705 -label L4703 +jmp L4654 +label L4658 +label L4656 load 58 cn -load 59 __loopvar_213_child +load 59 __loopvar_212_child call 60 ast_get_node struct:Node 1 59 call 61 pith_struct_release void 1 58 store cn 60 @@ -78646,15 +78299,15 @@ field 63 62 0 string kind strref 64 m18s403 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -brif 65 L4707 L4708 -label L4707 +brif 65 L4660 L4661 +label L4660 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 L4710 L4711 -label L4710 +brif 71 L4663 L4664 +label L4663 load 72 cn field 73 72 16 list children iconst 74 0 @@ -78666,13 +78319,13 @@ load 78 econd call 79 types_is_error_type bool 1 78 iconst 80 0 eq 81 79 80 -brif 81 L4713 L4714 -label L4713 +brif 81 L4666 L4667 +label L4666 load 82 econd load 83 types_TID_BOOL neq 84 82 83 -brif 84 L4716 L4717 -label L4716 +brif 84 L4669 L4670 +label L4669 strref 85 m18s402 strref 86 m18s401 load 87 econd @@ -78683,12 +78336,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 L4715 -label L4717 -label L4715 -jmp L4712 -label L4714 -label L4712 +jmp L4668 +label L4670 +label L4668 +jmp L4665 +label L4667 +label L4665 load 95 cn field 96 95 16 list children iconst 97 1 @@ -78698,30 +78351,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 L4719 L4720 -label L4719 +brif 102 L4672 L4673 +label L4672 load 103 etype store result_type 103 -jmp L4718 -label L4720 +jmp L4671 +label L4673 load 104 etype call 105 types_is_error_type bool 1 104 iconst 106 0 eq 107 105 106 -brif 107 L4721 L4722 -label L4721 +brif 107 L4674 L4675 +label L4674 load 108 etype load 109 result_type neq 110 108 109 -brif 110 L4724 L4725 -label L4724 +brif 110 L4677 L4678 +label L4677 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 L4727 L4728 -label L4727 +brif 115 L4680 L4681 +label L4680 strref 116 m18s398 strref 117 m18s400 load 118 result_type @@ -78741,50 +78394,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 L4726 -label L4728 -label L4726 -jmp L4723 -label L4725 -label L4723 -jmp L4718 -label L4722 -label L4718 -jmp L4709 -label L4711 -label L4709 -jmp L4706 -label L4708 -load 135 __loopvar_213_child +jmp L4679 +label L4681 +label L4679 +jmp L4676 +label L4678 +label L4676 +jmp L4671 +label L4675 +label L4671 +jmp L4662 +label L4664 +label L4662 +jmp L4659 +label L4661 +load 135 __loopvar_212_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 L4730 L4731 -label L4730 +brif 139 L4683 L4684 +label L4683 load 140 etype store result_type 140 -jmp L4729 -label L4731 +jmp L4682 +label L4684 load 141 etype call 142 types_is_error_type bool 1 141 iconst 143 0 eq 144 142 143 -brif 144 L4732 L4733 -label L4732 +brif 144 L4685 L4686 +label L4685 load 145 etype load 146 result_type neq 147 145 146 -brif 147 L4735 L4736 -label L4735 +brif 147 L4688 L4689 +label L4688 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 L4738 L4739 -label L4738 +brif 152 L4691 L4692 +label L4691 strref 153 m18s398 strref 154 m18s400 load 155 result_type @@ -78804,23 +78457,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 L4737 -label L4739 -label L4737 -jmp L4734 -label L4736 -label L4734 -jmp L4729 -label L4733 -label L4729 -label L4706 -label L4701 -load 172 __for_idx_213 +jmp L4690 +label L4692 +label L4690 +jmp L4687 +label L4689 +label L4687 +jmp L4682 +label L4686 +label L4682 +label L4659 +label L4654 +load 172 __for_idx_212 iconst 173 1 add 174 172 173 -store __for_idx_213 174 -jmp L4699 -label L4702 +store __for_idx_212 174 +jmp L4652 +label L4655 load 175 result_type load 176 cn call 177 pith_struct_release void 1 176 @@ -78855,8 +78508,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -brif 16 L4741 L4742 -label L4741 +brif 16 L4694 L4695 +label L4694 load 17 types_TID_ERR load 18 node call 19 pith_struct_release void 1 18 @@ -78871,8 +78524,8 @@ call 27 pith_cstring_release void 1 26 load 28 pv call 29 pith_cstring_release void 1 28 ret 17 -label L4742 -label L4740 +label L4695 +label L4693 load 30 node field 31 30 16 list children iconst 32 0 @@ -78882,8 +78535,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 L4744 L4745 -label L4744 +brif 37 L4697 L4698 +label L4697 load 38 types_TID_ERR load 39 node call 40 pith_struct_release void 1 39 @@ -78898,8 +78551,8 @@ call 48 pith_cstring_release void 1 47 load 49 pv call 50 pith_cstring_release void 1 49 ret 38 -label L4745 -label L4743 +label L4698 +label L4696 load 51 types_TID_ERR store result_type 51 load 52 arm_values @@ -78912,33 +78565,33 @@ load 56 node field 57 56 16 list children call 58 pith_auto_len int 1 57 iconst 59 0 -store __for_idx_214 59 -store __for_len_214 58 -store __for_iter_214 57 -label L4746 -load 60 __for_idx_214 -load 61 __for_len_214 +store __for_idx_213 59 +store __for_len_213 58 +store __for_iter_213 57 +label L4699 +load 60 __for_idx_213 +load 61 __for_len_213 lt 62 60 61 -brif 62 L4747 L4749 -label L4747 -load 63 __for_iter_214 -load 64 __for_idx_214 +brif 62 L4700 L4702 +label L4700 +load 63 __for_iter_213 +load 64 __for_idx_213 call 65 pith_list_get_value unknown 2 63 64 -store __loopvar_214_child 65 +store __loopvar_213_child 65 load 66 skip_subj iconst 67 0 gt 68 66 67 -brif 68 L4751 L4752 -label L4751 +brif 68 L4704 L4705 +label L4704 load 69 skip_subj iconst 70 1 sub 71 69 70 store skip_subj 71 -jmp L4748 -label L4752 -label L4750 +jmp L4701 +label L4705 +label L4703 load 72 arm_node -load 73 __loopvar_214_child +load 73 __loopvar_213_child call 74 ast_get_node struct:Node 1 73 call 75 pith_struct_release void 1 72 store arm_node 74 @@ -78947,8 +78600,8 @@ field 77 76 0 string kind strref 78 m18s399 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -brif 79 L4754 L4755 -label L4754 +brif 79 L4707 L4708 +label L4707 load 81 arm_node load 82 subject_type load 83 scope_id @@ -78959,8 +78612,8 @@ field 86 85 16 list children call 87 pith_list_len int 1 86 iconst 88 0 gt 89 87 88 -brif 89 L4757 L4758 -label L4757 +brif 89 L4710 L4711 +label L4710 load 90 pat load 91 arm_node field 92 91 16 list children @@ -78974,27 +78627,27 @@ field 98 97 0 string kind strref 99 m18s385 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -brif 100 L4760 L4761 -label L4760 +brif 100 L4713 L4714 +label L4713 load 102 pat field 103 102 16 list children call 104 pith_auto_len int 1 103 iconst 105 0 -store __for_idx_215 105 -store __for_len_215 104 -store __for_iter_215 103 -label L4762 -load 106 __for_idx_215 -load 107 __for_len_215 +store __for_idx_214 105 +store __for_len_214 104 +store __for_iter_214 103 +label L4715 +load 106 __for_idx_214 +load 107 __for_len_214 lt 108 106 107 -brif 108 L4763 L4765 -label L4763 -load 109 __for_iter_215 -load 110 __for_idx_215 +brif 108 L4716 L4718 +label L4716 +load 109 __for_iter_214 +load 110 __for_idx_214 call 111 pith_list_get_value unknown 2 109 110 -store __loopvar_215_alt 111 +store __loopvar_214_alt 111 load 112 av -load 113 __loopvar_215_alt +load 113 __loopvar_214_alt call 114 ast_get_node struct:Node 1 113 call 115 checker_collect_arm_pattern_bindings string 1 114 call 116 pith_struct_release void 1 114 @@ -79004,23 +78657,23 @@ load 118 av call 119 string_len int 1 118 iconst 120 0 gt 121 119 120 -brif 121 L4767 L4768 -label L4767 +brif 121 L4720 L4721 +label L4720 load 122 arm_values load 123 av call 124 pith_list_push_value void 2 122 123 -jmp L4766 -label L4768 -label L4766 -label L4764 -load 125 __for_idx_215 +jmp L4719 +label L4721 +label L4719 +label L4717 +load 125 __for_idx_214 iconst 126 1 add 127 125 126 -store __for_idx_215 127 -jmp L4762 -label L4765 -jmp L4759 -label L4761 +store __for_idx_214 127 +jmp L4715 +label L4718 +jmp L4712 +label L4714 load 128 pv load 129 pat call 130 checker_collect_arm_pattern_bindings string 1 129 @@ -79030,54 +78683,54 @@ load 132 pv call 133 string_len int 1 132 iconst 134 0 gt 135 133 134 -brif 135 L4770 L4771 -label L4770 +brif 135 L4723 L4724 +label L4723 load 136 arm_values load 137 pv call 138 pith_list_push_value void 2 136 137 -jmp L4769 -label L4771 -label L4769 -label L4759 -jmp L4756 -label L4758 -label L4756 +jmp L4722 +label L4724 +label L4722 +label L4712 +jmp L4709 +label L4711 +label L4709 load 139 result_type call 140 types_is_error_type bool 1 139 -brif 140 L4773 L4774 -label L4773 +brif 140 L4726 L4727 +label L4726 load 141 arm_type store result_type 141 -jmp L4772 -label L4774 +jmp L4725 +label L4727 load 142 arm_type call 143 types_is_error_type bool 1 142 iconst 144 0 eq 145 143 144 -brif 145 L4775 L4776 -label L4775 +brif 145 L4728 L4729 +label L4728 load 146 arm_type load 147 result_type neq 148 146 147 -brif 148 L4778 L4779 -label L4778 +brif 148 L4731 L4732 +label L4731 load 149 arm_type load 150 types_TID_VOID neq 151 149 150 -brif 151 L4781 L4782 -label L4781 +brif 151 L4734 L4735 +label L4734 load 152 result_type load 153 types_TID_VOID neq 154 152 153 -brif 154 L4784 L4785 -label L4784 +brif 154 L4737 L4738 +label L4737 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 L4787 L4788 -label L4787 +brif 159 L4740 L4741 +label L4740 strref 160 m18s398 strref 161 m18s397 load 162 result_type @@ -79097,31 +78750,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 L4786 -label L4788 -label L4786 -jmp L4783 -label L4785 -label L4783 -jmp L4780 -label L4782 -label L4780 -jmp L4777 -label L4779 -label L4777 -jmp L4772 -label L4776 -label L4772 -jmp L4753 -label L4755 -label L4753 -label L4748 -load 179 __for_idx_214 +jmp L4739 +label L4741 +label L4739 +jmp L4736 +label L4738 +label L4736 +jmp L4733 +label L4735 +label L4733 +jmp L4730 +label L4732 +label L4730 +jmp L4725 +label L4729 +label L4725 +jmp L4706 +label L4708 +label L4706 +label L4701 +load 179 __for_idx_213 iconst 180 1 add 181 179 180 -store __for_idx_214 181 -jmp L4746 -label L4749 +store __for_idx_213 181 +jmp L4699 +label L4702 load 182 subject_type load 183 arm_values load 184 node_idx @@ -79168,16 +78821,16 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 2 lt 9 7 8 -brif 9 L4790 L4791 -label L4790 +brif 9 L4743 L4744 +label L4743 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 L4791 -label L4789 +label L4744 +label L4742 load 15 scope_id call 16 scope_create_scope int 1 15 store arm_scope 16 @@ -79195,8 +78848,8 @@ field 26 25 16 list children call 27 pith_list_len int 1 26 iconst 28 2 gt 29 27 28 -brif 29 L4793 L4794 -label L4793 +brif 29 L4746 L4747 +label L4746 load 30 guard_node load 31 arm field 32 31 16 list children @@ -79210,15 +78863,15 @@ field 38 37 0 string kind strref 39 m18s395 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L4796 L4797 -label L4796 +brif 40 L4749 L4750 +label L4749 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 L4799 L4800 -label L4799 +brif 46 L4752 L4753 +label L4752 load 47 guard_node field 48 47 16 list children iconst 49 0 @@ -79230,13 +78883,13 @@ load 53 guard_type call 54 types_is_error_type bool 1 53 iconst 55 0 eq 56 54 55 -brif 56 L4802 L4803 -label L4802 +brif 56 L4755 L4756 +label L4755 load 57 guard_type load 58 types_TID_BOOL neq 59 57 58 -brif 59 L4805 L4806 -label L4805 +brif 59 L4758 L4759 +label L4758 strref 60 m18s394 strref 61 m18s393 load 62 guard_type @@ -79247,38 +78900,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 L4804 -label L4806 -label L4804 -jmp L4801 -label L4803 -label L4801 -jmp L4798 -label L4800 -label L4798 +jmp L4757 +label L4759 +label L4757 +jmp L4754 +label L4756 +label L4754 +jmp L4751 +label L4753 +label L4751 iconst 70 2 store body_idx 70 -jmp L4795 -label L4797 -label L4795 -jmp L4792 -label L4794 -label L4792 +jmp L4748 +label L4750 +label L4748 +jmp L4745 +label L4747 +label L4745 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 L4808 L4809 -label L4808 +brif 75 L4761 L4762 +label L4761 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 L4809 -label L4807 +label L4762 +label L4760 load 81 body_node load 82 arm field 83 82 16 list children @@ -79292,15 +78945,15 @@ field 89 88 0 string kind strref 90 m18s347 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -brif 91 L4811 L4812 -label L4811 +brif 91 L4764 L4765 +label L4764 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 L4814 L4815 -label L4814 +brif 97 L4767 L4768 +label L4767 load 98 body_node field 99 98 16 list children iconst 100 0 @@ -79312,23 +78965,23 @@ call 105 pith_struct_release void 1 104 load 106 body_node call 107 pith_struct_release void 1 106 ret 103 -label L4815 -label L4813 +label L4768 +label L4766 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 L4812 -label L4810 +label L4765 +label L4763 load 113 body_node field 114 113 0 string kind strref 115 m18s346 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -brif 116 L4817 L4818 -label L4817 +brif 116 L4770 L4771 +label L4770 load 118 body_node load 119 arm_scope call 120 checker_check_block_statement void 2 118 119 @@ -79338,8 +78991,8 @@ call 123 pith_struct_release void 1 122 load 124 body_node call 125 pith_struct_release void 1 124 ret 121 -label L4818 -label L4816 +label L4771 +label L4769 load 126 arm field 127 126 16 list children load 128 body_idx @@ -79376,23 +79029,23 @@ field 10 9 0 string kind strref 11 m18s364 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L4820 L4821 -label L4820 +brif 12 L4773 L4774 +label L4773 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 L4821 -label L4819 +label L4774 +label L4772 load 19 pat field 20 19 0 string kind strref 21 m18s365 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L4823 L4824 -label L4823 +brif 22 L4776 L4777 +label L4776 load 24 pat field 25 24 8 string value load 26 pat_idx @@ -79407,8 +79060,8 @@ field 33 32 0 string kind strref 34 m18s30 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L4826 L4827 -label L4826 +brif 35 L4779 L4780 +label L4779 load 37 scope_id load 38 pat field 39 38 8 string value @@ -79423,8 +79076,8 @@ load 47 info call 48 pith_struct_release void 1 47 iconst 49 0 ret 49 -label L4827 -label L4825 +label L4780 +label L4778 load 50 scope_id load 51 pat field 52 51 8 string value @@ -79438,21 +79091,21 @@ load 59 info call 60 pith_struct_release void 1 59 iconst 61 0 ret 61 -label L4824 -label L4822 +label L4777 +label L4775 load 62 pat field 63 62 0 string kind strref 64 m18s368 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -brif 65 L4829 L4830 -label L4829 +brif 65 L4782 L4783 +label L4782 load 67 expected_type call 68 types_is_integer_type bool 1 67 iconst 69 0 eq 70 68 69 -brif 70 L4832 L4833 -label L4832 +brif 70 L4785 L4786 +label L4785 strref 71 m18s375 strref 72 m18s392 load 73 expected_type @@ -79463,30 +79116,30 @@ call 77 pith_cstring_release void 1 74 call 78 checker_diagnostics_report_error void 2 71 75 call 79 pith_cstring_release void 1 71 call 80 pith_cstring_release void 1 75 -jmp L4831 -label L4833 -label L4831 +jmp L4784 +label L4786 +label L4784 load 81 pat call 82 pith_struct_release void 1 81 load 83 info call 84 pith_struct_release void 1 83 iconst 85 0 ret 85 -label L4830 -label L4828 +label L4783 +label L4781 load 86 pat field 87 86 0 string kind strref 88 m18s391 call 89 pith_cstring_eq bool 2 87 88 call 90 pith_cstring_release void 1 88 -brif 89 L4835 L4836 -label L4835 +brif 89 L4788 L4789 +label L4788 load 91 expected_type call 92 types_is_integer_type bool 1 91 iconst 93 0 eq 94 92 93 -brif 94 L4838 L4839 -label L4838 +brif 94 L4791 L4792 +label L4791 strref 95 m18s375 strref 96 m18s390 load 97 expected_type @@ -79497,29 +79150,29 @@ call 101 pith_cstring_release void 1 98 call 102 checker_diagnostics_report_error void 2 95 99 call 103 pith_cstring_release void 1 95 call 104 pith_cstring_release void 1 99 -jmp L4837 -label L4839 -label L4837 +jmp L4790 +label L4792 +label L4790 load 105 pat call 106 pith_struct_release void 1 105 load 107 info call 108 pith_struct_release void 1 107 iconst 109 0 ret 109 -label L4836 -label L4834 +label L4789 +label L4787 load 110 pat field 111 110 0 string kind strref 112 m18s389 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -brif 113 L4841 L4842 -label L4841 +brif 113 L4794 L4795 +label L4794 load 115 expected_type load 116 types_TID_FLOAT neq 117 115 116 -brif 117 L4844 L4845 -label L4844 +brif 117 L4797 L4798 +label L4797 strref 118 m18s375 strref 119 m18s388 load 120 expected_type @@ -79530,29 +79183,29 @@ call 124 pith_cstring_release void 1 121 call 125 checker_diagnostics_report_error void 2 118 122 call 126 pith_cstring_release void 1 118 call 127 pith_cstring_release void 1 122 -jmp L4843 -label L4845 -label L4843 +jmp L4796 +label L4798 +label L4796 load 128 pat call 129 pith_struct_release void 1 128 load 130 info call 131 pith_struct_release void 1 130 iconst 132 0 ret 132 -label L4842 -label L4840 +label L4795 +label L4793 load 133 pat field 134 133 0 string kind strref 135 m18s367 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L4847 L4848 -label L4847 +brif 136 L4800 L4801 +label L4800 load 138 expected_type load 139 types_TID_STRING neq 140 138 139 -brif 140 L4850 L4851 -label L4850 +brif 140 L4803 L4804 +label L4803 strref 141 m18s375 strref 142 m18s387 load 143 expected_type @@ -79563,29 +79216,29 @@ call 147 pith_cstring_release void 1 144 call 148 checker_diagnostics_report_error void 2 141 145 call 149 pith_cstring_release void 1 141 call 150 pith_cstring_release void 1 145 -jmp L4849 -label L4851 -label L4849 +jmp L4802 +label L4804 +label L4802 load 151 pat call 152 pith_struct_release void 1 151 load 153 info call 154 pith_struct_release void 1 153 iconst 155 0 ret 155 -label L4848 -label L4846 +label L4801 +label L4799 load 156 pat field 157 156 0 string kind strref 158 m18s370 call 159 pith_cstring_eq bool 2 157 158 call 160 pith_cstring_release void 1 158 -brif 159 L4853 L4854 -label L4853 +brif 159 L4806 L4807 +label L4806 load 161 expected_type load 162 types_TID_BOOL neq 163 161 162 -brif 163 L4856 L4857 -label L4856 +brif 163 L4809 L4810 +label L4809 strref 164 m18s375 strref 165 m18s386 load 166 expected_type @@ -79596,39 +79249,39 @@ call 170 pith_cstring_release void 1 167 call 171 checker_diagnostics_report_error void 2 164 168 call 172 pith_cstring_release void 1 164 call 173 pith_cstring_release void 1 168 -jmp L4855 -label L4857 -label L4855 +jmp L4808 +label L4810 +label L4808 load 174 pat call 175 pith_struct_release void 1 174 load 176 info call 177 pith_struct_release void 1 176 iconst 178 0 ret 178 -label L4854 -label L4852 +label L4807 +label L4805 load 179 pat field 180 179 0 string kind strref 181 m18s363 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L4859 L4860 -label L4859 +brif 182 L4812 L4813 +label L4812 load 184 pat call 185 pith_struct_release void 1 184 load 186 info call 187 pith_struct_release void 1 186 iconst 188 0 ret 188 -label L4860 -label L4858 +label L4813 +label L4811 load 189 pat field 190 189 0 string kind strref 191 m18s369 call 192 pith_cstring_eq bool 2 190 191 call 193 pith_cstring_release void 1 191 -brif 192 L4862 L4863 -label L4862 +brif 192 L4815 L4816 +label L4815 load 194 pat load 195 expected_type load 196 scope_id @@ -79639,15 +79292,15 @@ load 200 info call 201 pith_struct_release void 1 200 iconst 202 0 ret 202 -label L4863 -label L4861 +label L4816 +label L4814 load 203 pat field 204 203 0 string kind strref 205 m18s385 call 206 pith_cstring_eq bool 2 204 205 call 207 pith_cstring_release void 1 205 -brif 206 L4865 L4866 -label L4865 +brif 206 L4818 L4819 +label L4818 load 208 pat load 209 expected_type load 210 scope_id @@ -79658,15 +79311,15 @@ load 214 info call 215 pith_struct_release void 1 214 iconst 216 0 ret 216 -label L4866 -label L4864 +label L4819 +label L4817 load 217 pat field 218 217 0 string kind strref 219 m18s366 call 220 pith_cstring_eq bool 2 218 219 call 221 pith_cstring_release void 1 219 -brif 220 L4868 L4869 -label L4868 +brif 220 L4821 L4822 +label L4821 load 222 pat load 223 expected_type load 224 scope_id @@ -79677,8 +79330,8 @@ load 228 info call 229 pith_struct_release void 1 228 iconst 230 0 ret 230 -label L4869 -label L4867 +label L4822 +label L4820 load 231 pat call 232 pith_struct_release void 1 231 load 233 info @@ -79696,63 +79349,63 @@ load 4 pat field 5 4 16 list children call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_216 7 -store __for_len_216 6 -store __for_iter_216 5 -label L4870 -load 8 __for_idx_216 -load 9 __for_len_216 +store __for_idx_215 7 +store __for_len_215 6 +store __for_iter_215 5 +label L4823 +load 8 __for_idx_215 +load 9 __for_len_215 lt 10 8 9 -brif 10 L4871 L4873 -label L4871 -load 11 __for_iter_216 -load 12 __for_idx_216 +brif 10 L4824 L4826 +label L4824 +load 11 __for_iter_215 +load 12 __for_idx_215 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_216_alt 13 +store __loopvar_215_alt 13 load 14 alt_node -load 15 __loopvar_216_alt +load 15 __loopvar_215_alt 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_4877 18 +store __or_18_4830 18 load 19 alt_node field 20 19 0 string kind strref 21 m18s365 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_18_4877 22 -brif 22 L4878 L4877 -label L4877 +store __or_18_4830 22 +brif 22 L4831 L4830 +label L4830 load 24 alt_node field 25 24 0 string kind strref 26 m18s364 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_18_4877 27 -label L4878 -load 29 __or_18_4877 -brif 29 L4875 L4876 -label L4875 +store __or_18_4830 27 +label L4831 +load 29 __or_18_4830 +brif 29 L4828 L4829 +label L4828 strref 30 m18s375 strref 31 m18s384 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 L4874 -label L4876 -load 35 __loopvar_216_alt +jmp L4827 +label L4829 +load 35 __loopvar_215_alt load 36 expected_type load 37 scope_id call 38 checker_check_pattern_match void 3 35 36 37 -label L4874 -label L4872 -load 39 __for_idx_216 +label L4827 +label L4825 +load 39 __for_idx_215 iconst 40 1 add 41 39 40 -store __for_idx_216 41 -jmp L4870 -label L4873 +store __for_idx_215 41 +jmp L4823 +label L4826 load 42 alt_node call 43 pith_struct_release void 1 42 iconst 44 0 @@ -79787,8 +79440,8 @@ field 16 15 8 string 1 call 17 string_len int 1 16 iconst 18 0 eq 19 17 18 -brif 19 L4880 L4881 -label L4880 +brif 19 L4833 L4834 +label L4833 load 20 parts call 21 pith_struct_release void 1 20 load 22 type_name @@ -79805,8 +79458,8 @@ load 32 sub call 33 pith_struct_release void 1 32 iconst 34 0 ret 34 -label L4881 -label L4879 +label L4834 +label L4832 load 35 type_name load 36 parts field 37 36 0 string 0 @@ -79825,47 +79478,47 @@ store enum_tid 46 load 47 expected_type iconst 48 0 gte 49 47 48 -brif 49 L4883 L4884 -label L4883 +brif 49 L4836 L4837 +label L4836 load 50 einfo load 51 expected_type call 52 types_get_type_info struct:TypeInfo 1 51 call 53 pith_struct_release void 1 50 store einfo 52 iconst 54 0 -store __and_54_4888 54 +store __and_54_4841 54 load 55 einfo field 56 55 0 string kind strref 57 m18s34 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __and_54_4888 58 -brif 58 L4888 L4889 -label L4888 +store __and_54_4841 58 +brif 58 L4841 L4842 +label L4841 load 60 einfo field 61 60 8 string name call 62 checker_extract_base_type_name string 1 61 load 63 type_name call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 62 -store __and_54_4888 64 -label L4889 -load 66 __and_54_4888 -brif 66 L4886 L4887 -label L4886 +store __and_54_4841 64 +label L4842 +load 66 __and_54_4841 +brif 66 L4839 L4840 +label L4839 load 67 expected_type store enum_tid 67 -jmp L4885 -label L4887 -label L4885 -jmp L4882 -label L4884 -label L4882 +jmp L4838 +label L4840 +label L4838 +jmp L4835 +label L4837 +label L4835 load 68 enum_tid iconst 69 0 lt 70 68 69 -brif 70 L4891 L4892 -label L4891 +brif 70 L4844 L4845 +label L4844 strref 71 m18s336 strref 72 m18s337 load 73 type_name @@ -79890,13 +79543,13 @@ load 91 sub call 92 pith_struct_release void 1 91 iconst 93 0 ret 93 -label L4892 -label L4890 +label L4845 +label L4843 load 94 enum_tid load 95 expected_type neq 96 94 95 -brif 96 L4894 L4895 -label L4894 +brif 96 L4847 L4848 +label L4847 strref 97 m18s375 strref 98 m18s383 load 99 type_name @@ -79930,8 +79583,8 @@ load 126 sub call 127 pith_struct_release void 1 126 iconst 128 0 ret 128 -label L4895 -label L4893 +label L4848 +label L4846 load 129 enum_info load 130 enum_tid call 131 types_get_type_info struct:TypeInfo 1 130 @@ -79944,8 +79597,8 @@ call 137 pith_cstring_eq bool 2 134 135 iconst 138 1 sub 136 138 137 call 139 pith_cstring_release void 1 135 -brif 136 L4897 L4898 -label L4897 +brif 136 L4850 L4851 +label L4850 strref 140 m18s375 load 141 type_name strref 142 m18s381 @@ -79970,8 +79623,8 @@ load 160 sub call 161 pith_struct_release void 1 160 iconst 162 0 ret 162 -label L4898 -label L4896 +label L4851 +label L4849 iconst 163 0 store found 163 iconst 164 0 @@ -79980,24 +79633,24 @@ load 165 enum_info field 166 165 96 list_string variants call 167 pith_auto_len int 1 166 iconst 168 0 -store __for_idx_217 168 -store __for_len_217 167 -store __for_iter_217 166 -label L4899 -load 169 __for_idx_217 -load 170 __for_len_217 +store __for_idx_216 168 +store __for_len_216 167 +store __for_iter_216 166 +label L4852 +load 169 __for_idx_216 +load 170 __for_len_216 lt 171 169 170 -brif 171 L4900 L4902 -label L4900 -load 172 __for_iter_217 -load 173 __for_idx_217 +brif 171 L4853 L4855 +label L4853 +load 172 __for_iter_216 +load 173 __for_idx_216 call 174 pith_list_get_value_unchecked string 2 172 173 -store __loopvar_217_v 174 -load 175 __loopvar_217_v +store __loopvar_216_v 174 +load 175 __loopvar_216_v load 176 variant_name call 177 checker_strings_equal bool 2 175 176 -brif 177 L4904 L4905 -label L4904 +brif 177 L4857 L4858 +label L4857 iconst 178 1 store found 178 load 179 vidx @@ -80005,8 +79658,8 @@ load 180 enum_info field 181 180 104 list variant_types call 182 pith_list_len int 1 181 lt 183 179 182 -brif 183 L4907 L4908 -label L4907 +brif 183 L4860 L4861 +label L4860 load 184 variant_fields load 185 enum_info field 186 185 104 list variant_types @@ -80021,8 +79674,8 @@ call 193 pith_list_len int 1 192 load 194 variant_fields call 195 pith_list_len int 1 194 neq 196 193 195 -brif 196 L4910 L4911 -label L4910 +brif 196 L4863 L4864 +label L4863 strref 197 m18s373 load 198 variant_name strref 199 m18s380 @@ -80064,35 +79717,35 @@ load 234 sub call 235 pith_struct_release void 1 234 iconst 236 0 ret 236 -label L4911 -label L4909 +label L4864 +label L4862 iconst 237 0 store fidx 237 load 238 pat field 239 238 16 list children call 240 pith_auto_len int 1 239 iconst 241 0 -store __for_idx_218 241 -store __for_len_218 240 -store __for_iter_218 239 -label L4912 -load 242 __for_idx_218 -load 243 __for_len_218 +store __for_idx_217 241 +store __for_len_217 240 +store __for_iter_217 239 +label L4865 +load 242 __for_idx_217 +load 243 __for_len_217 lt 244 242 243 -brif 244 L4913 L4915 -label L4913 -load 245 __for_iter_218 -load 246 __for_idx_218 +brif 244 L4866 L4868 +label L4866 +load 245 __for_iter_217 +load 246 __for_idx_217 call 247 pith_list_get_value unknown 2 245 246 -store __loopvar_218_sub_pat 247 +store __loopvar_217_sub_pat 247 load 248 fidx load 249 variant_fields call 250 pith_list_len int 1 249 lt 251 248 250 -brif 251 L4917 L4918 -label L4917 +brif 251 L4870 L4871 +label L4870 load 252 sub -load 253 __loopvar_218_sub_pat +load 253 __loopvar_217_sub_pat call 254 ast_get_node struct:Node 1 253 call 255 pith_struct_release void 1 252 store sub 254 @@ -80101,11 +79754,11 @@ field 257 256 0 string kind strref 258 m18s365 call 259 pith_cstring_eq bool 2 257 258 call 260 pith_cstring_release void 1 258 -brif 259 L4920 L4921 -label L4920 +brif 259 L4873 L4874 +label L4873 load 261 sub field 262 261 8 string value -load 263 __loopvar_218_sub_pat +load 263 __loopvar_217_sub_pat call 264 checker_note_fn_binding_name void 2 262 263 load 265 scope_id load 266 sub @@ -80114,53 +79767,53 @@ load 268 variant_fields load 269 fidx call 270 pith_list_get_value_strict int 2 268 269 iconst 271 0 -load 272 __loopvar_218_sub_pat +load 272 __loopvar_217_sub_pat call 273 scope_define_binding_at void 5 265 267 270 271 272 -jmp L4919 -label L4921 -load 274 __loopvar_218_sub_pat +jmp L4872 +label L4874 +load 274 __loopvar_217_sub_pat load 275 variant_fields load 276 fidx call 277 pith_list_get_value_strict int 2 275 276 load 278 scope_id call 279 checker_check_pattern_match void 3 274 277 278 -label L4919 -jmp L4916 -label L4918 -label L4916 +label L4872 +jmp L4869 +label L4871 +label L4869 load 280 fidx iconst 281 1 add 282 280 281 store fidx 282 -label L4914 -load 283 __for_idx_218 +label L4867 +load 283 __for_idx_217 iconst 284 1 add 285 283 284 -store __for_idx_218 285 -jmp L4912 -label L4915 -jmp L4906 -label L4908 -label L4906 -jmp L4903 -label L4905 -label L4903 +store __for_idx_217 285 +jmp L4865 +label L4868 +jmp L4859 +label L4861 +label L4859 +jmp L4856 +label L4858 +label L4856 load 286 vidx iconst 287 1 add 288 286 287 store vidx 288 -label L4901 -load 289 __for_idx_217 +label L4854 +load 289 __for_idx_216 iconst 290 1 add 291 289 290 -store __for_idx_217 291 -jmp L4899 -label L4902 +store __for_idx_216 291 +jmp L4852 +label L4855 load 292 found iconst 293 0 eq 294 292 293 -brif 294 L4923 L4924 -label L4923 +brif 294 L4876 L4877 +label L4876 strref 295 m18s378 load 296 type_name strref 297 m18s377 @@ -80176,9 +79829,9 @@ call 306 pith_cstring_release void 1 303 call 307 checker_diagnostics_report_error void 2 295 304 call 308 pith_cstring_release void 1 295 call 309 pith_cstring_release void 1 304 -jmp L4922 -label L4924 -label L4922 +jmp L4875 +label L4877 +label L4875 load 310 parts call 311 pith_struct_release void 1 310 load 312 type_name @@ -80214,8 +79867,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 L4926 L4927 -label L4926 +brif 11 L4879 L4880 +label L4879 strref 15 m18s375 strref 16 m18s374 load 17 expected_type @@ -80230,8 +79883,8 @@ load 25 info call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L4927 -label L4925 +label L4880 +label L4878 load 28 pat field 29 28 16 list children call 30 pith_list_len int 1 29 @@ -80239,8 +79892,8 @@ load 31 info field 32 31 88 list elements call 33 pith_list_len int 1 32 neq 34 30 33 -brif 34 L4929 L4930 -label L4929 +brif 34 L4882 L4883 +label L4882 strref 35 m18s373 strref 36 m18s372 load 37 pat @@ -80268,55 +79921,55 @@ load 58 info call 59 pith_struct_release void 1 58 iconst 60 0 ret 60 -label L4930 -label L4928 +label L4883 +label L4881 iconst 61 0 store i 61 load 62 pat field 63 62 16 list children call 64 pith_auto_len int 1 63 iconst 65 0 -store __for_idx_219 65 -store __for_len_219 64 -store __for_iter_219 63 -label L4931 -load 66 __for_idx_219 -load 67 __for_len_219 +store __for_idx_218 65 +store __for_len_218 64 +store __for_iter_218 63 +label L4884 +load 66 __for_idx_218 +load 67 __for_len_218 lt 68 66 67 -brif 68 L4932 L4934 -label L4932 -load 69 __for_iter_219 -load 70 __for_idx_219 +brif 68 L4885 L4887 +label L4885 +load 69 __for_iter_218 +load 70 __for_idx_218 call 71 pith_list_get_value unknown 2 69 70 -store __loopvar_219_sub_pat 71 +store __loopvar_218_sub_pat 71 load 72 i load 73 info field 74 73 88 list elements call 75 pith_list_len int 1 74 lt 76 72 75 -brif 76 L4936 L4937 -label L4936 -load 77 __loopvar_219_sub_pat +brif 76 L4889 L4890 +label L4889 +load 77 __loopvar_218_sub_pat load 78 info field 79 78 88 list elements 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 L4935 -label L4937 -label L4935 +jmp L4888 +label L4890 +label L4888 load 84 i iconst 85 1 add 86 84 85 store i 86 -label L4933 -load 87 __for_idx_219 +label L4886 +load 87 __for_idx_218 iconst 88 1 add 89 87 88 -store __for_idx_219 89 -jmp L4931 -label L4934 +store __for_idx_218 89 +jmp L4884 +label L4887 load 90 info call 91 pith_struct_release void 1 90 iconst 92 0 @@ -80333,38 +79986,38 @@ field 4 3 0 string kind strref 5 m18s364 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -brif 6 L4939 L4940 -label L4939 +brif 6 L4892 L4893 +label L4892 strref 8 m18s125 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 L4940 -label L4938 +label L4893 +label L4891 load 13 pat field 14 13 0 string kind strref 15 m18s365 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L4942 L4943 -label L4942 +brif 16 L4895 L4896 +label L4895 strref 18 m18s125 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 L4943 -label L4941 +label L4896 +label L4894 load 23 pat field 24 23 0 string kind strref 25 m18s370 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L4945 L4946 -label L4945 +brif 26 L4898 L4899 +label L4898 load 28 pat field 29 28 8 string value call 30 pith_cstring_retain void 1 29 @@ -80373,15 +80026,15 @@ call 32 pith_struct_release void 1 31 load 33 sub call 34 pith_struct_release void 1 33 ret 29 -label L4946 -label L4944 +label L4899 +label L4897 load 35 pat field 36 35 0 string kind strref 37 m18s369 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L4948 L4949 -label L4948 +brif 38 L4901 L4902 +label L4901 load 40 parts load 41 pat field 42 41 8 string value @@ -80393,8 +80046,8 @@ field 46 45 8 string 1 call 47 string_len int 1 46 iconst 48 0 gt 49 47 48 -brif 49 L4951 L4952 -label L4951 +brif 49 L4904 L4905 +label L4904 load 50 parts field 51 50 8 string 1 call 52 pith_cstring_retain void 1 51 @@ -80403,8 +80056,8 @@ call 54 pith_struct_release void 1 53 load 55 sub call 56 pith_struct_release void 1 55 ret 51 -label L4952 -label L4950 +label L4905 +label L4903 load 57 parts field 58 57 0 string 0 call 59 pith_cstring_retain void 1 58 @@ -80413,15 +80066,15 @@ call 61 pith_struct_release void 1 60 load 62 sub call 63 pith_struct_release void 1 62 ret 58 -label L4949 -label L4947 +label L4902 +label L4900 load 64 pat field 65 64 0 string kind strref 66 m18s368 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L4954 L4955 -label L4954 +brif 67 L4907 L4908 +label L4907 load 69 pat field 70 69 8 string value call 71 pith_cstring_retain void 1 70 @@ -80430,15 +80083,15 @@ call 73 pith_struct_release void 1 72 load 74 sub call 75 pith_struct_release void 1 74 ret 70 -label L4955 -label L4953 +label L4908 +label L4906 load 76 pat field 77 76 0 string kind strref 78 m18s367 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -brif 79 L4957 L4958 -label L4957 +brif 79 L4910 L4911 +label L4910 load 81 pat field 82 81 8 string value call 83 pith_cstring_retain void 1 82 @@ -80447,39 +80100,39 @@ call 85 pith_struct_release void 1 84 load 86 sub call 87 pith_struct_release void 1 86 ret 82 -label L4958 -label L4956 +label L4911 +label L4909 load 88 pat field 89 88 0 string kind strref 90 m18s366 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -brif 91 L4960 L4961 -label L4960 +brif 91 L4913 L4914 +label L4913 load 93 pat field 94 93 16 list children call 95 pith_auto_len int 1 94 iconst 96 0 -store __for_idx_220 96 -store __for_len_220 95 -store __for_iter_220 94 -label L4962 -load 97 __for_idx_220 -load 98 __for_len_220 +store __for_idx_219 96 +store __for_len_219 95 +store __for_iter_219 94 +label L4915 +load 97 __for_idx_219 +load 98 __for_len_219 lt 99 97 98 -brif 99 L4963 L4965 -label L4963 -load 100 __for_iter_220 -load 101 __for_idx_220 +brif 99 L4916 L4918 +label L4916 +load 100 __for_iter_219 +load 101 __for_idx_219 call 102 pith_list_get_value unknown 2 100 101 -store __loopvar_220_sub_idx 102 +store __loopvar_219_sub_idx 102 load 103 sub -load 104 __loopvar_220_sub_idx +load 104 __loopvar_219_sub_idx 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_4969 107 +store __and_107_4922 107 load 108 sub field 109 108 0 string kind strref 110 m18s365 @@ -80487,9 +80140,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_4969 111 -brif 111 L4969 L4970 -label L4969 +store __and_107_4922 111 +brif 111 L4922 L4923 +label L4922 load 115 sub field 116 115 0 string kind strref 117 m18s364 @@ -80497,49 +80150,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_4969 118 -label L4970 -load 122 __and_107_4969 -brif 122 L4967 L4968 -label L4967 +store __and_107_4922 118 +label L4923 +load 122 __and_107_4922 +brif 122 L4920 L4921 +label L4920 strref 123 m18s36 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 L4968 -label L4966 -label L4964 -load 128 __for_idx_220 +label L4921 +label L4919 +label L4917 +load 128 __for_idx_219 iconst 129 1 add 130 128 129 -store __for_idx_220 130 -jmp L4962 -label L4965 +store __for_idx_219 130 +jmp L4915 +label L4918 strref 131 m18s125 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 L4961 -label L4959 +label L4914 +label L4912 load 136 pat field 137 136 0 string kind strref 138 m18s363 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L4972 L4973 -label L4972 +brif 139 L4925 L4926 +label L4925 strref 141 m18s361 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 L4973 -label L4971 +label L4926 +label L4924 strref 146 m18s36 load 147 parts call 148 pith_struct_release void 1 147 @@ -80562,51 +80215,51 @@ store subj_info 3 load 4 arm_values call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_221 6 -store __for_len_221 5 -store __for_iter_221 4 -label L4974 -load 7 __for_idx_221 -load 8 __for_len_221 +store __for_idx_220 6 +store __for_len_220 5 +store __for_iter_220 4 +label L4927 +load 7 __for_idx_220 +load 8 __for_len_220 lt 9 7 8 -brif 9 L4975 L4977 -label L4975 -load 10 __for_iter_221 -load 11 __for_idx_221 +brif 9 L4928 L4930 +label L4928 +load 10 __for_iter_220 +load 11 __for_idx_220 call 12 pith_list_get_value_unchecked string 2 10 11 -store __loopvar_221_v 12 -load 13 __loopvar_221_v +store __loopvar_220_v 12 +load 13 __loopvar_220_v strref 14 m18s125 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L4979 L4980 -label L4979 +brif 15 L4932 L4933 +label L4932 load 17 subj_info call 18 pith_struct_release void 1 17 iconst 19 0 ret 19 -label L4980 -label L4978 -label L4976 -load 20 __for_idx_221 +label L4933 +label L4931 +label L4929 +load 20 __for_idx_220 iconst 21 1 add 22 20 21 -store __for_idx_221 22 -jmp L4974 -label L4977 +store __for_idx_220 22 +jmp L4927 +label L4930 load 23 subject_type load 24 types_TID_BOOL eq 25 23 24 -brif 25 L4982 L4983 -label L4982 +brif 25 L4935 L4936 +label L4935 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 L4983 -label L4981 +label L4936 +label L4934 load 31 subj_info load 32 subject_type call 33 types_get_type_info struct:TypeInfo 1 32 @@ -80617,8 +80270,8 @@ field 36 35 0 string kind strref 37 m18s34 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L4985 L4986 -label L4985 +brif 38 L4938 L4939 +label L4938 load 40 subj_info load 41 arm_values call 42 checker_check_enum_exhaustiveness void 2 40 41 @@ -80626,15 +80279,15 @@ load 43 subj_info call 44 pith_struct_release void 1 43 iconst 45 0 ret 45 -label L4986 -label L4984 +label L4939 +label L4937 load 46 subj_info field 47 46 0 string kind strref 48 m18s30 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -brif 49 L4988 L4989 -label L4988 +brif 49 L4941 L4942 +label L4941 iconst 51 0 store has_some 51 iconst 52 0 @@ -80642,100 +80295,100 @@ store has_none 52 load 53 arm_values call 54 pith_auto_len int 1 53 iconst 55 0 -store __for_idx_222 55 -store __for_len_222 54 -store __for_iter_222 53 -label L4990 -load 56 __for_idx_222 -load 57 __for_len_222 +store __for_idx_221 55 +store __for_len_221 54 +store __for_iter_221 53 +label L4943 +load 56 __for_idx_221 +load 57 __for_len_221 lt 58 56 57 -brif 58 L4991 L4993 -label L4991 -load 59 __for_iter_222 -load 60 __for_idx_222 +brif 58 L4944 L4946 +label L4944 +load 59 __for_iter_221 +load 60 __for_idx_221 call 61 pith_list_get_value_unchecked string 2 59 60 -store __loopvar_222_v 61 -load 62 __loopvar_222_v +store __loopvar_221_v 61 +load 62 __loopvar_221_v strref 63 m18s362 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -brif 64 L4995 L4996 -label L4995 +brif 64 L4948 L4949 +label L4948 iconst 66 1 store has_some 66 -jmp L4994 -label L4996 -load 67 __loopvar_222_v +jmp L4947 +label L4949 +load 67 __loopvar_221_v strref 68 m18s125 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L4997 L4998 -label L4997 +brif 69 L4950 L4951 +label L4950 iconst 71 1 store has_some 71 -jmp L4994 -label L4998 -label L4994 -load 72 __loopvar_222_v +jmp L4947 +label L4951 +label L4947 +load 72 __loopvar_221_v strref 73 m18s361 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -brif 74 L5000 L5001 -label L5000 +brif 74 L4953 L4954 +label L4953 iconst 76 1 store has_none 76 -jmp L4999 -label L5001 -load 77 __loopvar_222_v +jmp L4952 +label L4954 +load 77 __loopvar_221_v strref 78 m18s125 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -brif 79 L5002 L5003 -label L5002 +brif 79 L4955 L4956 +label L4955 iconst 81 1 store has_none 81 -jmp L4999 -label L5003 -label L4999 -label L4992 -load 82 __for_idx_222 +jmp L4952 +label L4956 +label L4952 +label L4945 +load 82 __for_idx_221 iconst 83 1 add 84 82 83 -store __for_idx_222 84 -jmp L4990 -label L4993 +store __for_idx_221 84 +jmp L4943 +label L4946 load 85 has_some iconst 87 1 sub 86 87 85 -brif 86 L5005 L5006 -label L5005 +brif 86 L4958 L4959 +label L4958 strref 88 m18s353 strref 89 m18s360 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 L5004 -label L5006 -label L5004 +jmp L4957 +label L4959 +label L4957 load 93 has_none iconst 95 1 sub 94 95 93 -brif 94 L5008 L5009 -label L5008 +brif 94 L4961 L4962 +label L4961 strref 96 m18s353 strref 97 m18s359 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 L5007 -label L5009 -label L5007 +jmp L4960 +label L4962 +label L4960 load 101 subj_info call 102 pith_struct_release void 1 101 iconst 103 0 ret 103 -label L4989 -label L4987 +label L4942 +label L4940 strref 104 m18s353 strref 105 m18s358 call 106 checker_diagnostics_report_error void 2 104 105 @@ -80755,74 +80408,74 @@ store has_false 2 load 3 arm_values call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_223 5 -store __for_len_223 4 -store __for_iter_223 3 -label L5010 -load 6 __for_idx_223 -load 7 __for_len_223 +store __for_idx_222 5 +store __for_len_222 4 +store __for_iter_222 3 +label L4963 +load 6 __for_idx_222 +load 7 __for_len_222 lt 8 6 7 -brif 8 L5011 L5013 -label L5011 -load 9 __for_iter_223 -load 10 __for_idx_223 +brif 8 L4964 L4966 +label L4964 +load 9 __for_iter_222 +load 10 __for_idx_222 call 11 pith_list_get_value_unchecked string 2 9 10 -store __loopvar_223_v 11 -load 12 __loopvar_223_v +store __loopvar_222_v 11 +load 12 __loopvar_222_v strref 13 m18s357 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L5015 L5016 -label L5015 +brif 14 L4968 L4969 +label L4968 iconst 16 1 store has_true 16 -jmp L5014 -label L5016 -label L5014 -load 17 __loopvar_223_v +jmp L4967 +label L4969 +label L4967 +load 17 __loopvar_222_v strref 18 m18s356 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5018 L5019 -label L5018 +brif 19 L4971 L4972 +label L4971 iconst 21 1 store has_false 21 -jmp L5017 -label L5019 -label L5017 -label L5012 -load 22 __for_idx_223 +jmp L4970 +label L4972 +label L4970 +label L4965 +load 22 __for_idx_222 iconst 23 1 add 24 22 23 -store __for_idx_223 24 -jmp L5010 -label L5013 +store __for_idx_222 24 +jmp L4963 +label L4966 load 25 has_true iconst 26 0 eq 27 25 26 -brif 27 L5021 L5022 -label L5021 +brif 27 L4974 L4975 +label L4974 strref 28 m18s353 strref 29 m18s355 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 L5020 -label L5022 -label L5020 +jmp L4973 +label L4975 +label L4973 load 33 has_false iconst 34 0 eq 35 33 34 -brif 35 L5024 L5025 -label L5024 +brif 35 L4977 L4978 +label L4977 strref 36 m18s353 strref 37 m18s354 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 L5023 -label L5025 -label L5023 +jmp L4976 +label L4978 +label L4976 iconst 41 0 ret 41 endfunc @@ -80839,78 +80492,78 @@ load 6 info field 7 6 96 list_string variants call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_224 9 -store __for_len_224 8 -store __for_iter_224 7 -label L5026 -load 10 __for_idx_224 -load 11 __for_len_224 +store __for_idx_223 9 +store __for_len_223 8 +store __for_iter_223 7 +label L4979 +load 10 __for_idx_223 +load 11 __for_len_223 lt 12 10 11 -brif 12 L5027 L5029 -label L5027 -load 13 __for_iter_224 -load 14 __for_idx_224 +brif 12 L4980 L4982 +label L4980 +load 13 __for_iter_223 +load 14 __for_idx_223 call 15 pith_list_get_value_unchecked string 2 13 14 -store __loopvar_224_variant 15 +store __loopvar_223_variant 15 iconst 16 0 store found 16 load 17 arm_values call 18 pith_auto_len int 1 17 iconst 19 0 -store __for_idx_225 19 -store __for_len_225 18 -store __for_iter_225 17 -label L5030 -load 20 __for_idx_225 -load 21 __for_len_225 +store __for_idx_224 19 +store __for_len_224 18 +store __for_iter_224 17 +label L4983 +load 20 __for_idx_224 +load 21 __for_len_224 lt 22 20 21 -brif 22 L5031 L5033 -label L5031 -load 23 __for_iter_225 -load 24 __for_idx_225 +brif 22 L4984 L4986 +label L4984 +load 23 __for_iter_224 +load 24 __for_idx_224 call 25 pith_list_get_value_unchecked string 2 23 24 -store __loopvar_225_v 25 -load 26 __loopvar_225_v -load 27 __loopvar_224_variant +store __loopvar_224_v 25 +load 26 __loopvar_224_v +load 27 __loopvar_223_variant call 28 checker_strings_equal bool 2 26 27 -brif 28 L5035 L5036 -label L5035 +brif 28 L4988 L4989 +label L4988 iconst 29 1 store found 29 -jmp L5034 -label L5036 -label L5034 -label L5032 -load 30 __for_idx_225 +jmp L4987 +label L4989 +label L4987 +label L4985 +load 30 __for_idx_224 iconst 31 1 add 32 30 31 -store __for_idx_225 32 -jmp L5030 -label L5033 +store __for_idx_224 32 +jmp L4983 +label L4986 load 33 found iconst 34 0 eq 35 33 34 -brif 35 L5038 L5039 -label L5038 +brif 35 L4991 L4992 +label L4991 load 36 missing -load 37 __loopvar_224_variant +load 37 __loopvar_223_variant call 38 pith_list_push_value void 2 36 37 -jmp L5037 -label L5039 -label L5037 -label L5028 -load 39 __for_idx_224 +jmp L4990 +label L4992 +label L4990 +label L4981 +load 39 __for_idx_223 iconst 40 1 add 41 39 40 -store __for_idx_224 41 -jmp L5026 -label L5029 +store __for_idx_223 41 +jmp L4979 +label L4982 load 42 missing call 43 pith_list_len int 1 42 iconst 44 0 gt 45 43 44 -brif 45 L5041 L5042 -label L5041 +brif 45 L4994 L4995 +label L4994 strref 46 m18s353 strref 47 m18s352 load 48 missing @@ -80923,9 +80576,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 L5040 -label L5042 -label L5040 +jmp L4993 +label L4995 +label L4993 load 58 missing call 59 pith_list_release_handle void 1 58 iconst 60 0 @@ -80957,21 +80610,21 @@ load 14 node field 15 14 16 list children call 16 pith_auto_len int 1 15 iconst 17 0 -store __for_idx_226 17 -store __for_len_226 16 -store __for_iter_226 15 -label L5043 -load 18 __for_idx_226 -load 19 __for_len_226 +store __for_idx_225 17 +store __for_len_225 16 +store __for_iter_225 15 +label L4996 +load 18 __for_idx_225 +load 19 __for_len_225 lt 20 18 19 -brif 20 L5044 L5046 -label L5044 -load 21 __for_iter_226 -load 22 __for_idx_226 +brif 20 L4997 L4999 +label L4997 +load 21 __for_iter_225 +load 22 __for_idx_225 call 23 pith_list_get_value unknown 2 21 22 -store __loopvar_226_child 23 +store __loopvar_225_child 23 load 24 cn -load 25 __loopvar_226_child +load 25 __loopvar_225_child call 26 ast_get_node struct:Node 1 25 call 27 pith_struct_release void 1 24 store cn 26 @@ -80980,15 +80633,15 @@ field 29 28 0 string kind strref 30 m18s350 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L5048 L5049 -label L5048 +brif 31 L5001 L5002 +label L5001 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 L5051 L5052 -label L5051 +brif 37 L5004 L5005 +label L5004 load 38 cn field 39 38 16 list children iconst 40 0 @@ -81008,10 +80661,10 @@ load 51 lambda_scope load 52 pname load 53 ptid iconst 54 0 -load 55 __loopvar_226_child +load 55 __loopvar_225_child call 56 scope_define_binding_at void 5 51 52 53 54 55 -jmp L5050 -label L5052 +jmp L5003 +label L5005 strref 57 m18s349 strref 58 m18s348 call 59 checker_diagnostics_report_error void 2 57 58 @@ -81020,19 +80673,19 @@ call 61 pith_cstring_release void 1 58 load 62 params load 63 types_TID_ERR call 64 pith_list_push_value void 2 62 63 -label L5050 -jmp L5047 -label L5049 -load 65 __loopvar_226_child +label L5003 +jmp L5000 +label L5002 +load 65 __loopvar_225_child store body_idx 65 -label L5047 -label L5045 -load 66 __for_idx_226 +label L5000 +label L4998 +load 66 __for_idx_225 iconst 67 1 add 68 66 67 -store __for_idx_226 68 -jmp L5043 -label L5046 +store __for_idx_225 68 +jmp L4996 +label L4999 load 69 checker_checker_lambda_depth iconst 70 1 add 71 69 70 @@ -81042,8 +80695,8 @@ store ret_type 72 load 73 body_idx iconst 74 0 gte 75 73 74 -brif 75 L5054 L5055 -label L5054 +brif 75 L5007 L5008 +label L5007 load 76 body_node load 77 body_idx call 78 ast_get_node struct:Node 1 77 @@ -81054,15 +80707,15 @@ field 81 80 0 string kind strref 82 m18s347 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L5057 L5058 -label L5057 +brif 83 L5010 L5011 +label L5010 load 85 body_node field 86 85 16 list children call 87 pith_list_len int 1 86 iconst 88 0 gt 89 87 88 -brif 89 L5060 L5061 -label L5060 +brif 89 L5013 L5014 +label L5013 load 90 body_node field 91 90 16 list children iconst 92 0 @@ -81070,18 +80723,18 @@ call 93 pith_list_get_value_strict int 2 91 92 load 94 lambda_scope call 95 checker_c_check_expr int 2 93 94 store ret_type 95 -jmp L5059 -label L5061 -label L5059 -jmp L5056 -label L5058 +jmp L5012 +label L5014 +label L5012 +jmp L5009 +label L5011 load 96 body_node field 97 96 0 string kind strref 98 m18s346 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -brif 99 L5062 L5063 -label L5062 +brif 99 L5015 L5016 +label L5015 load 101 lambda_scope load 102 checker_TID_LAMBDA_INFER call 103 scope_create_function_scope int 2 101 102 @@ -81098,25 +80751,25 @@ call 110 checker_check_block_statement void 2 108 109 load 111 checker_lambda_inferred_return iconst 112 0 gte 113 111 112 -brif 113 L5065 L5066 -label L5065 +brif 113 L5018 L5019 +label L5018 load 114 checker_lambda_inferred_return store ret_type 114 -jmp L5064 -label L5066 -label L5064 +jmp L5017 +label L5019 +label L5017 load 115 saved_infer store checker_lambda_inferred_return 115 -jmp L5056 -label L5063 +jmp L5009 +label L5016 load 116 body_idx load 117 lambda_scope call 118 checker_c_check_expr int 2 116 117 store ret_type 118 -label L5056 -jmp L5053 -label L5055 -label L5053 +label L5009 +jmp L5006 +label L5008 +label L5006 load 119 checker_checker_lambda_depth iconst 120 1 sub 121 119 120 @@ -81151,24 +80804,24 @@ param elem_type load 1 elem_type iconst 2 0 lt 3 1 2 -brif 3 L5068 L5069 -label L5068 +brif 3 L5021 L5022 +label L5021 load 4 elem_type ret 4 -label L5069 -label L5067 +label L5022 +label L5020 load 5 elem_type call 6 types_get_type_info struct:TypeInfo 1 5 field 7 6 0 string kind strref 8 m18s30 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L5071 L5072 -label L5071 +brif 9 L5024 L5025 +label L5024 load 11 elem_type ret 11 -label L5072 -label L5070 +label L5025 +label L5023 load 12 elem_type call 13 types_ti_optional struct:TypeInfo 1 12 call 14 types_add_type_info int 1 13 @@ -81189,12 +80842,12 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 eq 9 7 8 -brif 9 L5074 L5075 -label L5074 +brif 9 L5027 L5028 +label L5027 load 10 tid_err ret 10 -label L5075 -label L5073 +label L5028 +label L5026 load 11 tid_err store elem_type 11 iconst 12 0 @@ -81203,65 +80856,65 @@ load 13 node field 14 13 16 list children call 15 pith_auto_len int 1 14 iconst 16 0 -store __for_idx_227 16 -store __for_len_227 15 -store __for_iter_227 14 -label L5076 -load 17 __for_idx_227 -load 18 __for_len_227 +store __for_idx_226 16 +store __for_len_226 15 +store __for_iter_226 14 +label L5029 +load 17 __for_idx_226 +load 18 __for_len_226 lt 19 17 18 -brif 19 L5077 L5079 -label L5077 -load 20 __for_iter_227 -load 21 __for_idx_227 +brif 19 L5030 L5032 +label L5030 +load 20 __for_iter_226 +load 21 __for_idx_226 call 22 pith_list_get_value unknown 2 20 21 -store __loopvar_227_child 22 -load 23 __loopvar_227_child +store __loopvar_226_child 22 +load 23 __loopvar_226_child load 24 scope_id call 25 checker_c_check_expr int 2 23 24 store t 25 load 26 t call 27 types_is_none_type bool 1 26 -brif 27 L5081 L5082 -label L5081 +brif 27 L5034 L5035 +label L5034 iconst 28 1 store saw_none 28 -jmp L5078 -label L5082 -label L5080 +jmp L5031 +label L5035 +label L5033 load 29 elem_type call 30 types_is_error_type bool 1 29 -brif 30 L5084 L5085 -label L5084 +brif 30 L5037 L5038 +label L5037 load 31 t store elem_type 31 -jmp L5083 -label L5085 +jmp L5036 +label L5038 load 32 t call 33 types_is_error_type bool 1 32 iconst 34 0 eq 35 33 34 -brif 35 L5086 L5087 -label L5086 +brif 35 L5039 L5040 +label L5039 iconst 36 0 -store __and_36_5091 36 +store __and_36_5044 36 load 37 t load 38 elem_type neq 39 37 38 -store __and_36_5091 39 -brif 39 L5091 L5092 -label L5091 +store __and_36_5044 39 +brif 39 L5044 L5045 +label L5044 load 40 t load 41 elem_type call 42 checker_types_structurally_equal bool 2 40 41 iconst 43 0 eq 44 42 43 -store __and_36_5091 44 -label L5092 -load 45 __and_36_5091 -brif 45 L5089 L5090 -label L5089 -load 46 __loopvar_227_child +store __and_36_5044 44 +label L5045 +load 45 __and_36_5044 +brif 45 L5042 L5043 +label L5042 +load 46 __loopvar_226_child strref 47 m18s339 strref 48 m18s345 load 49 elem_type @@ -81281,36 +80934,36 @@ call 62 pith_cstring_release void 1 59 call 63 checker_diagnostics_report_error_at void 3 46 47 60 call 64 pith_cstring_release void 1 47 call 65 pith_cstring_release void 1 60 -jmp L5088 -label L5090 -label L5088 -jmp L5083 -label L5087 -label L5083 -label L5078 -load 66 __for_idx_227 +jmp L5041 +label L5043 +label L5041 +jmp L5036 +label L5040 +label L5036 +label L5031 +load 66 __for_idx_226 iconst 67 1 add 68 66 67 -store __for_idx_227 68 -jmp L5076 -label L5079 +store __for_idx_226 68 +jmp L5029 +label L5032 load 69 saw_none -brif 69 L5094 L5095 -label L5094 +brif 69 L5047 L5048 +label L5047 load 70 elem_type call 71 checker_element_type_with_none int 1 70 call 72 checker_type_intern_intern_list_type int 1 71 ret 72 -label L5095 -label L5093 +label L5048 +label L5046 load 73 elem_type call 74 types_is_error_type bool 1 73 -brif 74 L5097 L5098 -label L5097 +brif 74 L5050 L5051 +label L5050 load 75 tid_err ret 75 -label L5098 -label L5096 +label L5051 +label L5049 load 76 elem_type call 77 checker_type_intern_intern_list_type int 1 76 ret 77 @@ -81331,14 +80984,14 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L5100 L5101 -label L5100 +brif 10 L5053 L5054 +label L5053 load 11 tid_err load 12 entry call 13 pith_struct_release void 1 12 ret 11 -label L5101 -label L5099 +label L5054 +label L5052 load 14 tid_err store key_type 14 load 15 tid_err @@ -81349,21 +81002,21 @@ load 17 node field 18 17 16 list children call 19 pith_auto_len int 1 18 iconst 20 0 -store __for_idx_228 20 -store __for_len_228 19 -store __for_iter_228 18 -label L5102 -load 21 __for_idx_228 -load 22 __for_len_228 +store __for_idx_227 20 +store __for_len_227 19 +store __for_iter_227 18 +label L5055 +load 21 __for_idx_227 +load 22 __for_len_227 lt 23 21 22 -brif 23 L5103 L5105 -label L5103 -load 24 __for_iter_228 -load 25 __for_idx_228 +brif 23 L5056 L5058 +label L5056 +load 24 __for_iter_227 +load 25 __for_idx_227 call 26 pith_list_get_value unknown 2 24 25 -store __loopvar_228_child 26 +store __loopvar_227_child 26 load 27 entry -load 28 __loopvar_228_child +load 28 __loopvar_227_child call 29 ast_get_node struct:Node 1 28 call 30 pith_struct_release void 1 27 store entry 29 @@ -81372,15 +81025,15 @@ field 32 31 0 string kind strref 33 m18s344 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L5107 L5108 -label L5107 +brif 34 L5060 L5061 +label L5060 load 36 entry field 37 36 16 list children call 38 pith_list_len int 1 37 iconst 39 2 gte 40 38 39 -brif 40 L5110 L5111 -label L5110 +brif 40 L5063 L5064 +label L5063 load 41 entry field 42 41 16 list children iconst 43 0 @@ -81397,8 +81050,8 @@ call 52 checker_c_check_expr int 2 50 51 store vt 52 load 53 kt call 54 types_is_none_type bool 1 53 -brif 54 L5113 L5114 -label L5113 +brif 54 L5066 L5067 +label L5066 load 55 entry field 56 55 16 list children iconst 57 0 @@ -81408,27 +81061,27 @@ strref 60 m18s343 call 61 checker_diagnostics_report_error_at void 3 58 59 60 call 62 pith_cstring_release void 1 59 call 63 pith_cstring_release void 1 60 -jmp L5112 -label L5114 +jmp L5065 +label L5067 load 64 key_type call 65 types_is_error_type bool 1 64 -brif 65 L5115 L5116 -label L5115 +brif 65 L5068 L5069 +label L5068 load 66 kt store key_type 66 -jmp L5112 -label L5116 +jmp L5065 +label L5069 load 67 kt call 68 types_is_error_type bool 1 67 iconst 69 0 eq 70 68 69 -brif 70 L5117 L5118 -label L5117 +brif 70 L5070 L5071 +label L5070 load 71 kt load 72 key_type neq 73 71 72 -brif 73 L5120 L5121 -label L5120 +brif 73 L5073 L5074 +label L5073 load 74 entry field 75 74 16 list children iconst 76 0 @@ -81438,52 +81091,52 @@ strref 79 m18s342 call 80 checker_diagnostics_report_error_at void 3 77 78 79 call 81 pith_cstring_release void 1 78 call 82 pith_cstring_release void 1 79 -jmp L5119 -label L5121 -label L5119 -jmp L5112 -label L5118 -label L5112 +jmp L5072 +label L5074 +label L5072 +jmp L5065 +label L5071 +label L5065 load 83 vt call 84 types_is_none_type bool 1 83 -brif 84 L5123 L5124 -label L5123 +brif 84 L5076 L5077 +label L5076 iconst 85 1 store saw_none_value 85 -jmp L5122 -label L5124 +jmp L5075 +label L5077 load 86 val_type call 87 types_is_error_type bool 1 86 -brif 87 L5125 L5126 -label L5125 +brif 87 L5078 L5079 +label L5078 load 88 vt store val_type 88 -jmp L5122 -label L5126 +jmp L5075 +label L5079 load 89 vt call 90 types_is_error_type bool 1 89 iconst 91 0 eq 92 90 91 -brif 92 L5127 L5128 -label L5127 +brif 92 L5080 L5081 +label L5080 iconst 93 0 -store __and_93_5132 93 +store __and_93_5085 93 load 94 vt load 95 val_type neq 96 94 95 -store __and_93_5132 96 -brif 96 L5132 L5133 -label L5132 +store __and_93_5085 96 +brif 96 L5085 L5086 +label L5085 load 97 vt load 98 val_type call 99 checker_types_structurally_equal bool 2 97 98 iconst 100 0 eq 101 99 100 -store __and_93_5132 101 -label L5133 -load 102 __and_93_5132 -brif 102 L5130 L5131 -label L5130 +store __and_93_5085 101 +label L5086 +load 102 __and_93_5085 +brif 102 L5083 L5084 +label L5083 load 103 entry field 104 103 16 list children iconst 105 1 @@ -81493,38 +81146,38 @@ strref 108 m18s341 call 109 checker_diagnostics_report_error_at void 3 106 107 108 call 110 pith_cstring_release void 1 107 call 111 pith_cstring_release void 1 108 -jmp L5129 -label L5131 -label L5129 -jmp L5122 -label L5128 -label L5122 -jmp L5109 -label L5111 -label L5109 -jmp L5106 -label L5108 -label L5106 -label L5104 -load 112 __for_idx_228 +jmp L5082 +label L5084 +label L5082 +jmp L5075 +label L5081 +label L5075 +jmp L5062 +label L5064 +label L5062 +jmp L5059 +label L5061 +label L5059 +label L5057 +load 112 __for_idx_227 iconst 113 1 add 114 112 113 -store __for_idx_228 114 -jmp L5102 -label L5105 +store __for_idx_227 114 +jmp L5055 +label L5058 load 115 key_type call 116 types_is_error_type bool 1 115 -brif 116 L5135 L5136 -label L5135 +brif 116 L5088 L5089 +label L5088 load 117 tid_err load 118 entry call 119 pith_struct_release void 1 118 ret 117 -label L5136 -label L5134 +label L5089 +label L5087 load 120 saw_none_value -brif 120 L5138 L5139 -label L5138 +brif 120 L5091 L5092 +label L5091 load 121 key_type load 122 val_type call 123 checker_element_type_with_none int 1 122 @@ -81532,18 +81185,18 @@ call 124 checker_type_intern_intern_map_type int 2 121 123 load 125 entry call 126 pith_struct_release void 1 125 ret 124 -label L5139 -label L5137 +label L5092 +label L5090 load 127 val_type call 128 types_is_error_type bool 1 127 -brif 128 L5141 L5142 -label L5141 +brif 128 L5094 L5095 +label L5094 load 129 tid_err load 130 entry call 131 pith_struct_release void 1 130 ret 129 -label L5142 -label L5140 +label L5095 +label L5093 load 132 key_type load 133 val_type call 134 checker_type_intern_intern_map_type int 2 132 133 @@ -81567,106 +81220,106 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 eq 9 7 8 -brif 9 L5144 L5145 -label L5144 +brif 9 L5097 L5098 +label L5097 load 10 tid_err ret 10 -label L5145 -label L5143 +label L5098 +label L5096 load 11 tid_err store elem_type 11 load 12 node field 13 12 16 list children call 14 pith_auto_len int 1 13 iconst 15 0 -store __for_idx_229 15 -store __for_len_229 14 -store __for_iter_229 13 -label L5146 -load 16 __for_idx_229 -load 17 __for_len_229 +store __for_idx_228 15 +store __for_len_228 14 +store __for_iter_228 13 +label L5099 +load 16 __for_idx_228 +load 17 __for_len_228 lt 18 16 17 -brif 18 L5147 L5149 -label L5147 -load 19 __for_iter_229 -load 20 __for_idx_229 +brif 18 L5100 L5102 +label L5100 +load 19 __for_iter_228 +load 20 __for_idx_228 call 21 pith_list_get_value unknown 2 19 20 -store __loopvar_229_child 21 -load 22 __loopvar_229_child +store __loopvar_228_child 21 +load 22 __loopvar_228_child load 23 scope_id call 24 checker_c_check_expr int 2 22 23 store t 24 load 25 t call 26 types_is_none_type bool 1 25 -brif 26 L5151 L5152 -label L5151 -load 27 __loopvar_229_child +brif 26 L5104 L5105 +label L5104 +load 27 __loopvar_228_child strref 28 m18s339 strref 29 m18s340 call 30 checker_diagnostics_report_error_at void 3 27 28 29 call 31 pith_cstring_release void 1 28 call 32 pith_cstring_release void 1 29 -jmp L5150 -label L5152 +jmp L5103 +label L5105 load 33 elem_type call 34 types_is_error_type bool 1 33 -brif 34 L5153 L5154 -label L5153 +brif 34 L5106 L5107 +label L5106 load 35 t store elem_type 35 -jmp L5150 -label L5154 +jmp L5103 +label L5107 load 36 t call 37 types_is_error_type bool 1 36 iconst 38 0 eq 39 37 38 -brif 39 L5155 L5156 -label L5155 +brif 39 L5108 L5109 +label L5108 iconst 40 0 -store __and_40_5160 40 +store __and_40_5113 40 load 41 t load 42 elem_type neq 43 41 42 -store __and_40_5160 43 -brif 43 L5160 L5161 -label L5160 +store __and_40_5113 43 +brif 43 L5113 L5114 +label L5113 load 44 t load 45 elem_type call 46 checker_types_structurally_equal bool 2 44 45 iconst 47 0 eq 48 46 47 -store __and_40_5160 48 -label L5161 -load 49 __and_40_5160 -brif 49 L5158 L5159 -label L5158 -load 50 __loopvar_229_child +store __and_40_5113 48 +label L5114 +load 49 __and_40_5113 +brif 49 L5111 L5112 +label L5111 +load 50 __loopvar_228_child strref 51 m18s339 strref 52 m18s338 call 53 checker_diagnostics_report_error_at void 3 50 51 52 call 54 pith_cstring_release void 1 51 call 55 pith_cstring_release void 1 52 -jmp L5157 -label L5159 -label L5157 -jmp L5150 -label L5156 -label L5150 -label L5148 -load 56 __for_idx_229 +jmp L5110 +label L5112 +label L5110 +jmp L5103 +label L5109 +label L5103 +label L5101 +load 56 __for_idx_228 iconst 57 1 add 58 56 57 -store __for_idx_229 58 -jmp L5146 -label L5149 +store __for_idx_228 58 +jmp L5099 +label L5102 load 59 elem_type call 60 types_is_error_type bool 1 59 -brif 60 L5163 L5164 -label L5163 +brif 60 L5116 L5117 +label L5116 load 61 tid_err ret 61 -label L5164 -label L5162 +label L5117 +label L5115 load 62 elem_type call 63 checker_type_intern_intern_set_type int 1 62 ret 63 @@ -81686,31 +81339,31 @@ load 6 node field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_230 9 -store __for_len_230 8 -store __for_iter_230 7 -label L5165 -load 10 __for_idx_230 -load 11 __for_len_230 +store __for_idx_229 9 +store __for_len_229 8 +store __for_iter_229 7 +label L5118 +load 10 __for_idx_229 +load 11 __for_len_229 lt 12 10 11 -brif 12 L5166 L5168 -label L5166 -load 13 __for_iter_230 -load 14 __for_idx_230 +brif 12 L5119 L5121 +label L5119 +load 13 __for_iter_229 +load 14 __for_idx_229 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_230_child 15 +store __loopvar_229_child 15 load 16 elems -load 17 __loopvar_230_child +load 17 __loopvar_229_child load 18 scope_id call 19 checker_c_check_expr int 2 17 18 call 20 pith_list_push_value void 2 16 19 -label L5167 -load 21 __for_idx_230 +label L5120 +load 21 __for_idx_229 iconst 22 1 add 23 21 22 -store __for_idx_230 23 -jmp L5165 -label L5168 +store __for_idx_229 23 +jmp L5118 +label L5121 load 24 elems call 25 types_ti_tuple struct:TypeInfo 1 24 call 26 types_add_type_info int 1 25 @@ -81742,8 +81395,8 @@ store struct_tid 10 load 11 struct_tid iconst 12 0 lt 13 11 12 -brif 13 L5170 L5171 -label L5170 +brif 13 L5123 L5124 +label L5123 strref 14 m18s336 strref 15 m18s337 load 16 struct_name @@ -81758,8 +81411,8 @@ call 24 pith_cstring_release void 1 23 load 25 info call 26 pith_struct_release void 1 25 ret 22 -label L5171 -label L5169 +label L5124 +label L5122 load 27 info load 28 struct_tid call 29 types_get_type_info struct:TypeInfo 1 28 @@ -81772,8 +81425,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 L5173 L5174 -label L5173 +brif 34 L5126 L5127 +label L5126 strref 38 m18s336 load 39 struct_name strref 40 m18s335 @@ -81788,8 +81441,8 @@ call 48 pith_cstring_release void 1 47 load 49 info call 50 pith_struct_release void 1 49 ret 46 -label L5174 -label L5172 +label L5127 +label L5125 load 51 node field 52 51 16 list children call 53 pith_list_len int 1 52 @@ -81797,8 +81450,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 L5176 L5177 -label L5176 +brif 57 L5129 L5130 +label L5129 strref 58 m18s333 load 59 struct_name strref 60 m18s334 @@ -81831,8 +81484,8 @@ call 86 pith_cstring_release void 1 85 load 87 info call 88 pith_struct_release void 1 87 ret 84 -label L5177 -label L5175 +label L5130 +label L5128 load 89 struct_name load 90 info call 91 checker_struct_min_required_fields int 2 89 90 @@ -81842,8 +81495,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 L5179 L5180 -label L5179 +brif 96 L5132 L5133 +label L5132 strref 97 m18s333 load 98 struct_name strref 99 m18s332 @@ -81874,28 +81527,28 @@ call 123 pith_cstring_release void 1 122 load 124 info call 125 pith_struct_release void 1 124 ret 121 -label L5180 -label L5178 +label L5133 +label L5131 iconst 126 0 store idx 126 load 127 node field 128 127 16 list children call 129 pith_auto_len int 1 128 iconst 130 0 -store __for_idx_231 130 -store __for_len_231 129 -store __for_iter_231 128 -label L5181 -load 131 __for_idx_231 -load 132 __for_len_231 +store __for_idx_230 130 +store __for_len_230 129 +store __for_iter_230 128 +label L5134 +load 131 __for_idx_230 +load 132 __for_len_230 lt 133 131 132 -brif 133 L5182 L5184 -label L5182 -load 134 __for_iter_231 -load 135 __for_idx_231 +brif 133 L5135 L5137 +label L5135 +load 134 __for_iter_230 +load 135 __for_idx_230 call 136 pith_list_get_value unknown 2 134 135 -store __loopvar_231_child 136 -load 137 __loopvar_231_child +store __loopvar_230_child 136 +load 137 __loopvar_230_child load 138 scope_id call 139 checker_c_check_expr int 2 137 138 store arg_type 139 @@ -81903,44 +81556,44 @@ load 140 arg_type call 141 types_is_error_type bool 1 140 iconst 142 0 eq 143 141 142 -brif 143 L5186 L5187 -label L5186 +brif 143 L5139 L5140 +label L5139 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 L5189 L5190 -label L5189 +brif 148 L5142 L5143 +label L5142 load 149 info field 150 149 24 list field_types load 151 idx call 152 pith_list_get_value_strict int 2 150 151 store expected 152 -load 153 __loopvar_231_child +load 153 __loopvar_230_child load 154 arg_type load 155 expected call 156 checker_value_matches_optional_target bool 3 153 154 155 iconst 157 0 eq 158 156 157 -brif 158 L5192 L5193 -label L5192 -load 159 __loopvar_231_child +brif 158 L5145 L5146 +label L5145 +load 159 __loopvar_230_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 L5195 L5196 -label L5195 +brif 164 L5148 L5149 +label L5148 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 L5198 L5199 -label L5198 -load 170 __loopvar_231_child +brif 169 L5151 L5152 +label L5151 +load 170 __loopvar_230_child strref 171 m18s330 strref 172 m18s329 load 173 info @@ -81970,32 +81623,32 @@ call 196 pith_cstring_release void 1 193 call 197 checker_diagnostics_report_error_at void 3 170 171 194 call 198 pith_cstring_release void 1 171 call 199 pith_cstring_release void 1 194 -jmp L5197 -label L5199 -label L5197 -jmp L5194 -label L5196 -label L5194 -jmp L5191 -label L5193 -label L5191 -jmp L5188 -label L5190 -label L5188 -jmp L5185 -label L5187 -label L5185 +jmp L5150 +label L5152 +label L5150 +jmp L5147 +label L5149 +label L5147 +jmp L5144 +label L5146 +label L5144 +jmp L5141 +label L5143 +label L5141 +jmp L5138 +label L5140 +label L5138 load 200 idx iconst 201 1 add 202 200 201 store idx 202 -label L5183 -load 203 __for_idx_231 +label L5136 +load 203 __for_idx_230 iconst 204 1 add 205 203 204 -store __for_idx_231 205 -jmp L5181 -label L5184 +store __for_idx_230 205 +jmp L5134 +label L5137 load 206 struct_tid load 207 struct_name call 208 pith_cstring_release void 1 207 @@ -82019,8 +81672,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 1 lt 7 5 6 -brif 7 L5201 L5202 -label L5201 +brif 7 L5154 L5155 +label L5154 strref 8 m18s315 strref 9 m18s325 call 10 checker_diagnostics_report_error void 2 8 9 @@ -82030,8 +81683,8 @@ load 13 types_TID_ERR load 14 inner_node call 15 pith_struct_release void 1 14 ret 13 -label L5202 -label L5200 +label L5155 +label L5153 load 16 inner_node load 17 node field 18 17 16 list children @@ -82047,8 +81700,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 L5204 L5205 -label L5204 +brif 26 L5157 L5158 +label L5157 strref 30 m18s315 strref 31 m18s325 call 32 checker_diagnostics_report_error void 2 30 31 @@ -82058,8 +81711,8 @@ load 35 types_TID_ERR load 36 inner_node call 37 pith_struct_release void 1 36 ret 35 -label L5205 -label L5203 +label L5158 +label L5156 load 38 node field 39 38 16 list children iconst 40 0 @@ -82069,14 +81722,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 L5207 L5208 -label L5207 +brif 45 L5160 L5161 +label L5160 load 46 types_TID_ERR load 47 inner_node call 48 pith_struct_release void 1 47 ret 46 -label L5208 -label L5206 +label L5161 +label L5159 load 49 inner_node call 50 checker_check_spawn_shared_collections void 1 49 load 51 inner @@ -82101,68 +81754,68 @@ load 3 call_node field 4 3 16 list children call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_232 6 -store __for_len_232 5 -store __for_iter_232 4 -label L5209 -load 7 __for_idx_232 -load 8 __for_len_232 +store __for_idx_231 6 +store __for_len_231 5 +store __for_iter_231 4 +label L5162 +load 7 __for_idx_231 +load 8 __for_len_231 lt 9 7 8 -brif 9 L5210 L5212 -label L5210 -load 10 __for_iter_232 -load 11 __for_idx_232 +brif 9 L5163 L5165 +label L5163 +load 10 __for_iter_231 +load 11 __for_idx_231 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_232_child 12 -load 13 __for_idx_232 -store __loopvar_232_i 13 -load 14 __loopvar_232_i +store __loopvar_231_child 12 +load 13 __for_idx_231 +store __loopvar_231_i 13 +load 14 __loopvar_231_i iconst 15 0 eq 16 14 15 -brif 16 L5214 L5215 -label L5214 -jmp L5211 -label L5215 -label L5213 -load 17 __loopvar_232_child +brif 16 L5167 L5168 +label L5167 +jmp L5164 +label L5168 +label L5166 +load 17 __loopvar_231_child store expr_idx 17 load 18 arg_node -load 19 __loopvar_232_child +load 19 __loopvar_231_child 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_5219 22 +store __and_22_5172 22 load 23 arg_node field 24 23 0 string kind strref 25 m18s324 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __and_22_5219 26 -brif 26 L5219 L5220 -label L5219 +store __and_22_5172 26 +brif 26 L5172 L5173 +label L5172 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_5219 32 -label L5220 -load 33 __and_22_5219 -brif 33 L5217 L5218 -label L5217 +store __and_22_5172 32 +label L5173 +load 33 __and_22_5172 +brif 33 L5170 L5171 +label L5170 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 L5216 -label L5218 -label L5216 +jmp L5169 +label L5171 +label L5169 load 38 expr_idx call 39 checker_spawn_arg_shares_collection bool 1 38 -brif 39 L5222 L5223 -label L5222 +brif 39 L5175 L5176 +label L5175 load 40 kind load 41 expr_idx call 42 checker_c_get_expr_type int 1 41 @@ -82193,16 +81846,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 L5221 -label L5223 -label L5221 -label L5211 -load 69 __for_idx_232 +jmp L5174 +label L5176 +label L5174 +label L5164 +load 69 __for_idx_231 iconst 70 1 add 71 69 70 -store __for_idx_232 71 -jmp L5209 -label L5212 +store __for_idx_231 71 +jmp L5162 +label L5165 load 72 arg_node call 73 pith_struct_release void 1 72 load 74 kind @@ -82222,9 +81875,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_5227 7 +store __and_7_5180 7 iconst 8 0 -store __and_8_5227 8 +store __and_8_5180 8 load 9 node field 10 9 0 string kind strref 11 m18s319 @@ -82232,9 +81885,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_5227 12 -brif 12 L5227 L5228 -label L5227 +store __and_8_5180 12 +brif 12 L5180 L5181 +label L5180 load 16 node field 17 16 0 string kind strref 18 m18s318 @@ -82242,12 +81895,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_5227 19 -label L5228 -load 23 __and_8_5227 -store __and_7_5227 23 -brif 23 L5229 L5230 -label L5229 +store __and_8_5180 19 +label L5181 +load 23 __and_8_5180 +store __and_7_5180 23 +brif 23 L5182 L5183 +label L5182 load 24 node field 25 24 0 string kind strref 26 m18s317 @@ -82255,35 +81908,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_5227 27 -label L5230 -load 31 __and_7_5227 -brif 31 L5225 L5226 -label L5225 +store __and_7_5180 27 +label L5183 +load 31 __and_7_5180 +brif 31 L5178 L5179 +label L5178 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 L5226 -label L5224 +label L5179 +label L5177 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 L5232 L5233 -label L5232 +brif 41 L5185 L5186 +label L5185 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 L5233 -label L5231 +label L5186 +label L5184 load 47 kind load 48 tid call 49 types_get_type_info struct:TypeInfo 1 48 @@ -82292,33 +81945,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_5234 53 +store __or_53_5187 53 iconst 54 0 -store __or_54_5234 54 +store __or_54_5187 54 load 55 kind strref 56 m18s23 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -store __or_54_5234 57 -brif 57 L5235 L5234 -label L5234 +store __or_54_5187 57 +brif 57 L5188 L5187 +label L5187 load 59 kind strref 60 m18s21 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __or_54_5234 61 -label L5235 -load 63 __or_54_5234 -store __or_53_5234 63 -brif 63 L5237 L5236 -label L5236 +store __or_54_5187 61 +label L5188 +load 63 __or_54_5187 +store __or_53_5187 63 +brif 63 L5190 L5189 +label L5189 load 64 kind strref 65 m18s19 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 -store __or_53_5234 66 -label L5237 -load 68 __or_53_5234 +store __or_53_5187 66 +label L5190 +load 68 __or_53_5187 load 69 node call 70 pith_struct_release void 1 69 load 71 kind @@ -82341,8 +81994,8 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 1 lt 7 5 6 -brif 7 L5239 L5240 -label L5239 +brif 7 L5192 L5193 +label L5192 strref 8 m18s315 strref 9 m18s316 call 10 checker_diagnostics_report_error void 2 8 9 @@ -82352,8 +82005,8 @@ load 13 types_TID_ERR load 14 info call 15 pith_struct_release void 1 14 ret 13 -label L5240 -label L5238 +label L5193 +label L5191 load 16 node field 17 16 16 list children iconst 18 0 @@ -82363,14 +82016,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 L5242 L5243 -label L5242 +brif 23 L5195 L5196 +label L5195 load 24 types_TID_ERR load 25 info call 26 pith_struct_release void 1 25 ret 24 -label L5243 -label L5241 +label L5196 +label L5194 load 27 info load 28 inner call 29 types_get_type_info struct:TypeInfo 1 28 @@ -82381,15 +82034,15 @@ field 32 31 0 string kind strref 33 m18s27 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L5245 L5246 -label L5245 +brif 34 L5198 L5199 +label L5198 load 36 info field 37 36 64 int inner load 38 info call 39 pith_struct_release void 1 38 ret 37 -label L5246 -label L5244 +label L5199 +label L5197 strref 40 m18s315 strref 41 m18s314 load 42 inner @@ -82424,31 +82077,31 @@ field 8 7 0 string kind strref 9 m18s313 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L5248 L5249 -label L5248 +brif 10 L5201 L5202 +label L5201 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 L5249 -label L5247 +label L5202 +label L5200 load 17 decl field 18 17 0 string kind strref 19 m18s312 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L5251 L5252 -label L5251 +brif 20 L5204 L5205 +label L5204 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 L5252 -label L5250 +label L5205 +label L5203 load 27 types_TID_ERR load 28 decl call 29 pith_struct_release void 1 28 @@ -82512,8 +82165,8 @@ iconst 32 1 iconst 34 0 sub 33 34 32 neq 35 31 33 -brif 35 L5254 L5255 -label L5254 +brif 35 L5207 L5208 +label L5207 load 36 existing load 37 name call 38 pith_cstring_release void 1 37 @@ -82542,8 +82195,8 @@ call 60 pith_struct_release void 1 59 load 61 fname call 62 pith_cstring_release void 1 61 ret 36 -label L5255 -label L5253 +label L5208 +label L5206 load 63 generic_params load 64 decl call 65 checker_collect_generic_parameter_names list_string 1 64 @@ -82605,21 +82258,21 @@ load 111 decl field 112 111 16 list children call 113 pith_auto_len int 1 112 iconst 114 0 -store __for_idx_233 114 -store __for_len_233 113 -store __for_iter_233 112 -label L5256 -load 115 __for_idx_233 -load 116 __for_len_233 +store __for_idx_232 114 +store __for_len_232 113 +store __for_iter_232 112 +label L5209 +load 115 __for_idx_232 +load 116 __for_len_232 lt 117 115 116 -brif 117 L5257 L5259 -label L5257 -load 118 __for_iter_233 -load 119 __for_idx_233 +brif 117 L5210 L5212 +label L5210 +load 118 __for_iter_232 +load 119 __for_idx_232 call 120 pith_list_get_value unknown 2 118 119 -store __loopvar_233_child 120 +store __loopvar_232_child 120 load 121 cn -load 122 __loopvar_233_child +load 122 __loopvar_232_child call 123 ast_get_node struct:Node 1 122 call 124 pith_struct_release void 1 121 store cn 123 @@ -82628,8 +82281,8 @@ field 126 125 0 string kind strref 127 m18s311 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L5261 L5262 -label L5261 +brif 128 L5214 L5215 +label L5214 load 130 fname load 131 cn field 132 131 8 string value @@ -82662,8 +82315,8 @@ field 155 154 16 list children call 156 pith_list_len int 1 155 iconst 157 0 gt 158 156 157 -brif 158 L5264 L5265 -label L5264 +brif 158 L5217 L5218 +label L5217 load 159 cn field 160 159 16 list children iconst 161 0 @@ -82680,8 +82333,8 @@ field 170 169 16 list children call 171 pith_list_len int 1 170 iconst 172 1 gt 173 171 172 -brif 173 L5267 L5268 -label L5267 +brif 173 L5220 L5221 +label L5220 load 174 checker_struct_field_default_nodes load 175 inst_name strref 176 m18s124 @@ -82696,25 +82349,25 @@ iconst 184 1 call 185 pith_list_get_value_strict int 2 183 184 call 186 map_insert void 3 174 180 185 call 187 pith_cstring_release void 1 180 -jmp L5266 -label L5268 -label L5266 -jmp L5263 -label L5265 +jmp L5219 +label L5221 +label L5219 +jmp L5216 +label L5218 load 188 field_types load 189 types_TID_ERR call 190 pith_list_push_value void 2 188 189 -label L5263 -jmp L5260 -label L5262 -label L5260 -label L5258 -load 191 __for_idx_233 +label L5216 +jmp L5213 +label L5215 +label L5213 +label L5211 +load 191 __for_idx_232 iconst 192 1 add 193 191 192 -store __for_idx_233 193 -jmp L5256 -label L5259 +store __for_idx_232 193 +jmp L5209 +label L5212 load 194 tid load 195 inst_name load 196 field_names @@ -82829,8 +82482,8 @@ iconst 29 1 iconst 31 0 sub 30 31 29 neq 32 28 30 -brif 32 L5270 L5271 -label L5270 +brif 32 L5223 L5224 +label L5223 load 33 existing load 34 name call 35 pith_cstring_release void 1 34 @@ -82853,8 +82506,8 @@ call 51 pith_struct_release void 1 50 load 52 vtypes call 53 pith_list_release_handle void 1 52 ret 33 -label L5271 -label L5269 +label L5224 +label L5222 load 54 generic_params load 55 decl call 56 checker_collect_generic_parameter_names list_string 1 55 @@ -82890,21 +82543,21 @@ load 79 decl field 80 79 16 list children call 81 pith_auto_len int 1 80 iconst 82 0 -store __for_idx_234 82 -store __for_len_234 81 -store __for_iter_234 80 -label L5272 -load 83 __for_idx_234 -load 84 __for_len_234 +store __for_idx_233 82 +store __for_len_233 81 +store __for_iter_233 80 +label L5225 +load 83 __for_idx_233 +load 84 __for_len_233 lt 85 83 84 -brif 85 L5273 L5275 -label L5273 -load 86 __for_iter_234 -load 87 __for_idx_234 +brif 85 L5226 L5228 +label L5226 +load 86 __for_iter_233 +load 87 __for_idx_233 call 88 pith_list_get_value unknown 2 86 87 -store __loopvar_234_child 88 +store __loopvar_233_child 88 load 89 cn -load 90 __loopvar_234_child +load 90 __loopvar_233_child call 91 ast_get_node struct:Node 1 90 call 92 pith_struct_release void 1 89 store cn 91 @@ -82913,8 +82566,8 @@ field 94 93 0 string kind strref 95 m18s308 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -brif 96 L5277 L5278 -label L5277 +brif 96 L5230 L5231 +label L5230 load 98 variant_names load 99 cn field 100 99 8 string value @@ -82927,46 +82580,46 @@ load 105 cn field 106 105 16 list children call 107 pith_auto_len int 1 106 iconst 108 0 -store __for_idx_235 108 -store __for_len_235 107 -store __for_iter_235 106 -label L5279 -load 109 __for_idx_235 -load 110 __for_len_235 +store __for_idx_234 108 +store __for_len_234 107 +store __for_iter_234 106 +label L5232 +load 109 __for_idx_234 +load 110 __for_len_234 lt 111 109 110 -brif 111 L5280 L5282 -label L5280 -load 112 __for_iter_235 -load 113 __for_idx_235 +brif 111 L5233 L5235 +label L5233 +load 112 __for_iter_234 +load 113 __for_idx_234 call 114 pith_list_get_value unknown 2 112 113 -store __loopvar_235_vc 114 +store __loopvar_234_vc 114 load 115 vtypes -load 116 __loopvar_235_vc +load 116 __loopvar_234_vc load 117 generic_params load 118 type_args call 119 checker_resolve_type_with_substitution_map int 3 116 117 118 call 120 pith_list_push_value void 2 115 119 -label L5281 -load 121 __for_idx_235 +label L5234 +load 121 __for_idx_234 iconst 122 1 add 123 121 122 -store __for_idx_235 123 -jmp L5279 -label L5282 +store __for_idx_234 123 +jmp L5232 +label L5235 load 124 variant_types load 125 vtypes iconst 127 2 call 126 list_push_kind void 3 124 125 127 -jmp L5276 -label L5278 -label L5276 -label L5274 -load 128 __for_idx_234 +jmp L5229 +label L5231 +label L5229 +label L5227 +load 128 __for_idx_233 iconst 129 1 add 130 128 129 -store __for_idx_234 130 -jmp L5272 -label L5275 +store __for_idx_233 130 +jmp L5225 +label L5228 load 131 tid load 132 inst_name load 133 variant_names @@ -83029,122 +82682,122 @@ store bi 3 load 4 a load 5 b eq 6 4 5 -brif 6 L5284 L5285 -label L5284 +brif 6 L5237 L5238 +label L5237 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 L5285 -label L5283 +label L5238 +label L5236 load 12 a call 13 types_is_error_type bool 1 12 -brif 13 L5287 L5288 -label L5287 +brif 13 L5240 L5241 +label L5240 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 L5288 -label L5286 +label L5241 +label L5239 load 19 b call 20 types_is_error_type bool 1 19 -brif 20 L5290 L5291 -label L5290 +brif 20 L5243 L5244 +label L5243 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 L5291 -label L5289 +label L5244 +label L5242 load 26 a call 27 types_is_none_type bool 1 26 -brif 27 L5293 L5294 -label L5293 +brif 27 L5246 L5247 +label L5246 iconst 28 0 -store __and_28_5295 28 +store __and_28_5248 28 load 29 b iconst 30 0 gte 31 29 30 -store __and_28_5295 31 -brif 31 L5295 L5296 -label L5295 +store __and_28_5248 31 +brif 31 L5248 L5249 +label L5248 load 32 b call 33 types_get_type_info struct:TypeInfo 1 32 field 34 33 0 string kind strref 35 m18s30 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __and_28_5295 36 -label L5296 -load 38 __and_28_5295 +store __and_28_5248 36 +label L5249 +load 38 __and_28_5248 load 39 ai call 40 pith_struct_release void 1 39 load 41 bi call 42 pith_struct_release void 1 41 ret 38 -label L5294 -label L5292 +label L5247 +label L5245 load 43 b call 44 types_is_none_type bool 1 43 -brif 44 L5298 L5299 -label L5298 +brif 44 L5251 L5252 +label L5251 iconst 45 0 -store __and_45_5300 45 +store __and_45_5253 45 load 46 a iconst 47 0 gte 48 46 47 -store __and_45_5300 48 -brif 48 L5300 L5301 -label L5300 +store __and_45_5253 48 +brif 48 L5253 L5254 +label L5253 load 49 a call 50 types_get_type_info struct:TypeInfo 1 49 field 51 50 0 string kind strref 52 m18s30 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __and_45_5300 53 -label L5301 -load 55 __and_45_5300 +store __and_45_5253 53 +label L5254 +load 55 __and_45_5253 load 56 ai call 57 pith_struct_release void 1 56 load 58 bi call 59 pith_struct_release void 1 58 ret 55 -label L5299 -label L5297 +label L5252 +label L5250 load 60 a iconst 61 0 lt 62 60 61 -brif 62 L5303 L5304 -label L5303 +brif 62 L5256 L5257 +label L5256 iconst 63 0 load 64 ai call 65 pith_struct_release void 1 64 load 66 bi call 67 pith_struct_release void 1 66 ret 63 -label L5304 -label L5302 +label L5257 +label L5255 load 68 b iconst 69 0 lt 70 68 69 -brif 70 L5306 L5307 -label L5306 +brif 70 L5259 L5260 +label L5259 iconst 71 0 load 72 ai call 73 pith_struct_release void 1 72 load 74 bi call 75 pith_struct_release void 1 74 ret 71 -label L5307 -label L5305 +label L5260 +label L5258 load 76 ai load 77 a call 78 types_get_type_info struct:TypeInfo 1 77 @@ -83160,15 +82813,15 @@ field 85 84 0 string kind strref 86 m18s32 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L5309 L5310 -label L5309 +brif 87 L5262 L5263 +label L5262 load 89 bi field 90 89 0 string kind strref 91 m18s32 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -brif 92 L5312 L5313 -label L5312 +brif 92 L5265 L5266 +label L5265 load 94 ai field 95 94 48 list param_types call 96 pith_list_len int 1 95 @@ -83176,70 +82829,70 @@ load 97 bi field 98 97 48 list param_types call 99 pith_list_len int 1 98 neq 100 96 99 -brif 100 L5315 L5316 -label L5315 +brif 100 L5268 L5269 +label L5268 iconst 101 0 load 102 ai call 103 pith_struct_release void 1 102 load 104 bi call 105 pith_struct_release void 1 104 ret 101 -label L5316 -label L5314 +label L5269 +label L5267 load 106 ai field 107 106 48 list param_types call 108 pith_auto_len int 1 107 iconst 109 0 -store __for_idx_236 109 -store __for_len_236 108 -store __for_iter_236 107 -label L5317 -load 110 __for_idx_236 -load 111 __for_len_236 +store __for_idx_235 109 +store __for_len_235 108 +store __for_iter_235 107 +label L5270 +load 110 __for_idx_235 +load 111 __for_len_235 lt 112 110 111 -brif 112 L5318 L5320 -label L5318 -load 113 __for_iter_236 -load 114 __for_idx_236 +brif 112 L5271 L5273 +label L5271 +load 113 __for_iter_235 +load 114 __for_idx_235 call 115 pith_list_get_value unknown 2 113 114 -store __loopvar_236_ap 115 -load 116 __for_idx_236 -store __loopvar_236_i 116 -load 117 __loopvar_236_i +store __loopvar_235_ap 115 +load 116 __for_idx_235 +store __loopvar_235_i 116 +load 117 __loopvar_235_i load 118 bi field 119 118 48 list param_types call 120 pith_list_len int 1 119 lt 121 117 120 -brif 121 L5322 L5323 -label L5322 -load 122 __loopvar_236_ap +brif 121 L5275 L5276 +label L5275 +load 122 __loopvar_235_ap load 123 bi field 124 123 48 list param_types -load 125 __loopvar_236_i +load 125 __loopvar_235_i call 126 pith_list_get_value_strict int 2 124 125 call 127 checker_types_structurally_equal bool 2 122 126 iconst 128 0 eq 129 127 128 -brif 129 L5325 L5326 -label L5325 +brif 129 L5278 L5279 +label L5278 iconst 130 0 load 131 ai call 132 pith_struct_release void 1 131 load 133 bi call 134 pith_struct_release void 1 133 ret 130 -label L5326 -label L5324 -jmp L5321 -label L5323 -label L5321 -label L5319 -load 135 __for_idx_236 +label L5279 +label L5277 +jmp L5274 +label L5276 +label L5274 +label L5272 +load 135 __for_idx_235 iconst 136 1 add 137 135 136 -store __for_idx_236 137 -jmp L5317 -label L5320 +store __for_idx_235 137 +jmp L5270 +label L5273 load 138 ai field 139 138 56 int return_type load 140 bi @@ -83247,41 +82900,41 @@ field 141 140 56 int return_type call 142 checker_types_structurally_equal bool 2 139 141 iconst 143 0 eq 144 142 143 -brif 144 L5328 L5329 -label L5328 +brif 144 L5281 L5282 +label L5281 iconst 145 0 load 146 ai call 147 pith_struct_release void 1 146 load 148 bi call 149 pith_struct_release void 1 148 ret 145 -label L5329 -label L5327 +label L5282 +label L5280 iconst 150 1 load 151 ai call 152 pith_struct_release void 1 151 load 153 bi call 154 pith_struct_release void 1 153 ret 150 -label L5313 -label L5311 -jmp L5308 -label L5310 -label L5308 +label L5266 +label L5264 +jmp L5261 +label L5263 +label L5261 load 155 ai field 156 155 0 string kind strref 157 m18s28 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -brif 158 L5331 L5332 -label L5331 +brif 158 L5284 L5285 +label L5284 load 160 bi field 161 160 0 string kind strref 162 m18s28 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L5334 L5335 -label L5334 +brif 163 L5287 L5288 +label L5287 load 165 ai field 166 165 88 list elements call 167 pith_list_len int 1 166 @@ -83289,95 +82942,95 @@ load 168 bi field 169 168 88 list elements call 170 pith_list_len int 1 169 neq 171 167 170 -brif 171 L5337 L5338 -label L5337 +brif 171 L5290 L5291 +label L5290 iconst 172 0 load 173 ai call 174 pith_struct_release void 1 173 load 175 bi call 176 pith_struct_release void 1 175 ret 172 -label L5338 -label L5336 +label L5291 +label L5289 load 177 ai field 178 177 88 list elements call 179 pith_auto_len int 1 178 iconst 180 0 -store __for_idx_237 180 -store __for_len_237 179 -store __for_iter_237 178 -label L5339 -load 181 __for_idx_237 -load 182 __for_len_237 +store __for_idx_236 180 +store __for_len_236 179 +store __for_iter_236 178 +label L5292 +load 181 __for_idx_236 +load 182 __for_len_236 lt 183 181 182 -brif 183 L5340 L5342 -label L5340 -load 184 __for_iter_237 -load 185 __for_idx_237 +brif 183 L5293 L5295 +label L5293 +load 184 __for_iter_236 +load 185 __for_idx_236 call 186 pith_list_get_value unknown 2 184 185 -store __loopvar_237_ae 186 -load 187 __for_idx_237 -store __loopvar_237_i 187 -load 188 __loopvar_237_i +store __loopvar_236_ae 186 +load 187 __for_idx_236 +store __loopvar_236_i 187 +load 188 __loopvar_236_i load 189 bi field 190 189 88 list elements call 191 pith_list_len int 1 190 lt 192 188 191 -brif 192 L5344 L5345 -label L5344 -load 193 __loopvar_237_ae +brif 192 L5297 L5298 +label L5297 +load 193 __loopvar_236_ae load 194 bi field 195 194 88 list elements -load 196 __loopvar_237_i +load 196 __loopvar_236_i call 197 pith_list_get_value_strict int 2 195 196 call 198 checker_types_structurally_equal bool 2 193 197 iconst 199 0 eq 200 198 199 -brif 200 L5347 L5348 -label L5347 +brif 200 L5300 L5301 +label L5300 iconst 201 0 load 202 ai call 203 pith_struct_release void 1 202 load 204 bi call 205 pith_struct_release void 1 204 ret 201 -label L5348 -label L5346 -jmp L5343 -label L5345 -label L5343 -label L5341 -load 206 __for_idx_237 +label L5301 +label L5299 +jmp L5296 +label L5298 +label L5296 +label L5294 +load 206 __for_idx_236 iconst 207 1 add 208 206 207 -store __for_idx_237 208 -jmp L5339 -label L5342 +store __for_idx_236 208 +jmp L5292 +label L5295 iconst 209 1 load 210 ai call 211 pith_struct_release void 1 210 load 212 bi call 213 pith_struct_release void 1 212 ret 209 -label L5335 -label L5333 -jmp L5330 -label L5332 -label L5330 +label L5288 +label L5286 +jmp L5283 +label L5285 +label L5283 load 214 ai field 215 214 0 string kind strref 216 m18s29 call 217 pith_cstring_eq bool 2 215 216 call 218 pith_cstring_release void 1 216 -brif 217 L5350 L5351 -label L5350 +brif 217 L5303 L5304 +label L5303 load 219 bi field 220 219 0 string kind strref 221 m18s29 call 222 pith_cstring_eq bool 2 220 221 call 223 pith_cstring_release void 1 221 -brif 222 L5353 L5354 -label L5353 +brif 222 L5306 L5307 +label L5306 load 224 ai field 225 224 64 int inner load 226 bi @@ -83385,16 +83038,16 @@ field 227 226 64 int inner call 228 checker_types_structurally_equal bool 2 225 227 iconst 229 0 eq 230 228 229 -brif 230 L5356 L5357 -label L5356 +brif 230 L5309 L5310 +label L5309 iconst 231 0 load 232 ai call 233 pith_struct_release void 1 232 load 234 bi call 235 pith_struct_release void 1 234 ret 231 -label L5357 -label L5355 +label L5310 +label L5308 load 236 ai field 237 236 80 int value_type load 238 bi @@ -83405,25 +83058,25 @@ call 242 pith_struct_release void 1 241 load 243 bi call 244 pith_struct_release void 1 243 ret 240 -label L5354 -label L5352 -jmp L5349 -label L5351 -label L5349 +label L5307 +label L5305 +jmp L5302 +label L5304 +label L5302 load 245 ai field 246 245 0 string kind strref 247 m18s30 call 248 pith_cstring_eq bool 2 246 247 call 249 pith_cstring_release void 1 247 -brif 248 L5359 L5360 -label L5359 +brif 248 L5312 L5313 +label L5312 load 250 bi field 251 250 0 string kind strref 252 m18s30 call 253 pith_cstring_eq bool 2 251 252 call 254 pith_cstring_release void 1 252 -brif 253 L5362 L5363 -label L5362 +brif 253 L5315 L5316 +label L5315 load 255 ai field 256 255 64 int inner load 257 bi @@ -83434,25 +83087,25 @@ call 261 pith_struct_release void 1 260 load 262 bi call 263 pith_struct_release void 1 262 ret 259 -label L5363 -label L5361 -jmp L5358 -label L5360 -label L5358 +label L5316 +label L5314 +jmp L5311 +label L5313 +label L5311 load 264 ai field 265 264 0 string kind strref 266 m18s23 call 267 pith_cstring_eq bool 2 265 266 call 268 pith_cstring_release void 1 266 -brif 267 L5365 L5366 -label L5365 +brif 267 L5318 L5319 +label L5318 load 269 bi field 270 269 0 string kind strref 271 m18s23 call 272 pith_cstring_eq bool 2 270 271 call 273 pith_cstring_release void 1 271 -brif 272 L5368 L5369 -label L5368 +brif 272 L5321 L5322 +label L5321 load 274 ai field 275 274 64 int inner load 276 bi @@ -83463,25 +83116,25 @@ call 280 pith_struct_release void 1 279 load 281 bi call 282 pith_struct_release void 1 281 ret 278 -label L5369 -label L5367 -jmp L5364 -label L5366 -label L5364 +label L5322 +label L5320 +jmp L5317 +label L5319 +label L5317 load 283 ai field 284 283 0 string kind strref 285 m18s21 call 286 pith_cstring_eq bool 2 284 285 call 287 pith_cstring_release void 1 285 -brif 286 L5371 L5372 -label L5371 +brif 286 L5324 L5325 +label L5324 load 288 bi field 289 288 0 string kind strref 290 m18s21 call 291 pith_cstring_eq bool 2 289 290 call 292 pith_cstring_release void 1 290 -brif 291 L5374 L5375 -label L5374 +brif 291 L5327 L5328 +label L5327 load 293 ai field 294 293 72 int key_type load 295 bi @@ -83489,16 +83142,16 @@ field 296 295 72 int key_type call 297 checker_types_structurally_equal bool 2 294 296 iconst 298 0 eq 299 297 298 -brif 299 L5377 L5378 -label L5377 +brif 299 L5330 L5331 +label L5330 iconst 300 0 load 301 ai call 302 pith_struct_release void 1 301 load 303 bi call 304 pith_struct_release void 1 303 ret 300 -label L5378 -label L5376 +label L5331 +label L5329 load 305 ai field 306 305 80 int value_type load 307 bi @@ -83509,25 +83162,25 @@ call 311 pith_struct_release void 1 310 load 312 bi call 313 pith_struct_release void 1 312 ret 309 -label L5375 -label L5373 -jmp L5370 -label L5372 -label L5370 +label L5328 +label L5326 +jmp L5323 +label L5325 +label L5323 load 314 ai field 315 314 0 string kind strref 316 m18s19 call 317 pith_cstring_eq bool 2 315 316 call 318 pith_cstring_release void 1 316 -brif 317 L5380 L5381 -label L5380 +brif 317 L5333 L5334 +label L5333 load 319 bi field 320 319 0 string kind strref 321 m18s19 call 322 pith_cstring_eq bool 2 320 321 call 323 pith_cstring_release void 1 321 -brif 322 L5383 L5384 -label L5383 +brif 322 L5336 L5337 +label L5336 load 324 ai field 325 324 64 int inner load 326 bi @@ -83538,25 +83191,25 @@ call 330 pith_struct_release void 1 329 load 331 bi call 332 pith_struct_release void 1 331 ret 328 -label L5384 -label L5382 -jmp L5379 -label L5381 -label L5379 +label L5337 +label L5335 +jmp L5332 +label L5334 +label L5332 load 333 ai field 334 333 0 string kind strref 335 m18s27 call 336 pith_cstring_eq bool 2 334 335 call 337 pith_cstring_release void 1 335 -brif 336 L5386 L5387 -label L5386 +brif 336 L5339 L5340 +label L5339 load 338 bi field 339 338 0 string kind strref 340 m18s27 call 341 pith_cstring_eq bool 2 339 340 call 342 pith_cstring_release void 1 340 -brif 341 L5389 L5390 -label L5389 +brif 341 L5342 L5343 +label L5342 load 343 ai field 344 343 64 int inner load 345 bi @@ -83567,25 +83220,25 @@ call 349 pith_struct_release void 1 348 load 350 bi call 351 pith_struct_release void 1 350 ret 347 -label L5390 -label L5388 -jmp L5385 -label L5387 -label L5385 +label L5343 +label L5341 +jmp L5338 +label L5340 +label L5338 load 352 ai field 353 352 0 string kind strref 354 m18s25 call 355 pith_cstring_eq bool 2 353 354 call 356 pith_cstring_release void 1 354 -brif 355 L5392 L5393 -label L5392 +brif 355 L5345 L5346 +label L5345 load 357 bi field 358 357 0 string kind strref 359 m18s25 call 360 pith_cstring_eq bool 2 358 359 call 361 pith_cstring_release void 1 359 -brif 360 L5395 L5396 -label L5395 +brif 360 L5348 L5349 +label L5348 load 362 ai field 363 362 64 int inner load 364 bi @@ -83596,25 +83249,25 @@ call 368 pith_struct_release void 1 367 load 369 bi call 370 pith_struct_release void 1 369 ret 366 -label L5396 -label L5394 -jmp L5391 -label L5393 -label L5391 +label L5349 +label L5347 +jmp L5344 +label L5346 +label L5344 load 371 ai field 372 371 0 string kind strref 373 m18s35 call 374 pith_cstring_eq bool 2 372 373 call 375 pith_cstring_release void 1 373 -brif 374 L5398 L5399 -label L5398 +brif 374 L5351 L5352 +label L5351 load 376 bi field 377 376 0 string kind strref 378 m18s35 call 379 pith_cstring_eq bool 2 377 378 call 380 pith_cstring_release void 1 378 -brif 379 L5401 L5402 -label L5401 +brif 379 L5354 L5355 +label L5354 load 381 ai field 382 381 16 list_string fields call 383 pith_list_len int 1 382 @@ -83622,106 +83275,106 @@ load 384 bi field 385 384 16 list_string fields call 386 pith_list_len int 1 385 neq 387 383 386 -brif 387 L5404 L5405 -label L5404 +brif 387 L5357 L5358 +label L5357 iconst 388 0 load 389 ai call 390 pith_struct_release void 1 389 load 391 bi call 392 pith_struct_release void 1 391 ret 388 -label L5405 -label L5403 +label L5358 +label L5356 load 393 ai field 394 393 16 list_string fields call 395 pith_auto_len int 1 394 iconst 396 0 -store __for_idx_238 396 -store __for_len_238 395 -store __for_iter_238 394 -label L5406 -load 397 __for_idx_238 -load 398 __for_len_238 +store __for_idx_237 396 +store __for_len_237 395 +store __for_iter_237 394 +label L5359 +load 397 __for_idx_237 +load 398 __for_len_237 lt 399 397 398 -brif 399 L5407 L5409 -label L5407 -load 400 __for_iter_238 -load 401 __for_idx_238 +brif 399 L5360 L5362 +label L5360 +load 400 __for_iter_237 +load 401 __for_idx_237 call 402 pith_list_get_value_unchecked string 2 400 401 -store __loopvar_238_field_name 402 -load 403 __for_idx_238 -store __loopvar_238_i 403 -load 404 __loopvar_238_field_name +store __loopvar_237_field_name 402 +load 403 __for_idx_237 +store __loopvar_237_i 403 +load 404 __loopvar_237_field_name load 405 bi field 406 405 16 list_string fields -load 407 __loopvar_238_i +load 407 __loopvar_237_i call 408 pith_list_get_value_strict string 2 406 407 call 410 pith_cstring_eq bool 2 404 408 iconst 411 1 sub 409 411 410 -brif 409 L5411 L5412 -label L5411 +brif 409 L5364 L5365 +label L5364 iconst 412 0 load 413 ai call 414 pith_struct_release void 1 413 load 415 bi call 416 pith_struct_release void 1 415 ret 412 -label L5412 -label L5410 +label L5365 +label L5363 load 417 ai field 418 417 24 list field_types -load 419 __loopvar_238_i +load 419 __loopvar_237_i call 420 pith_list_get_value_strict int 2 418 419 load 421 bi field 422 421 24 list field_types -load 423 __loopvar_238_i +load 423 __loopvar_237_i call 424 pith_list_get_value_strict int 2 422 423 call 425 checker_types_structurally_equal bool 2 420 424 iconst 426 0 eq 427 425 426 -brif 427 L5414 L5415 -label L5414 +brif 427 L5367 L5368 +label L5367 iconst 428 0 load 429 ai call 430 pith_struct_release void 1 429 load 431 bi call 432 pith_struct_release void 1 431 ret 428 -label L5415 -label L5413 -label L5408 -load 433 __for_idx_238 +label L5368 +label L5366 +label L5361 +load 433 __for_idx_237 iconst 434 1 add 435 433 434 -store __for_idx_238 435 -jmp L5406 -label L5409 +store __for_idx_237 435 +jmp L5359 +label L5362 iconst 436 1 load 437 ai call 438 pith_struct_release void 1 437 load 439 bi call 440 pith_struct_release void 1 439 ret 436 -label L5402 -label L5400 -jmp L5397 -label L5399 -label L5397 +label L5355 +label L5353 +jmp L5350 +label L5352 +label L5350 load 441 ai field 442 441 0 string kind strref 443 m18s34 call 444 pith_cstring_eq bool 2 442 443 call 445 pith_cstring_release void 1 443 -brif 444 L5417 L5418 -label L5417 +brif 444 L5370 L5371 +label L5370 load 446 bi field 447 446 0 string kind strref 448 m18s34 call 449 pith_cstring_eq bool 2 447 448 call 450 pith_cstring_release void 1 448 -brif 449 L5420 L5421 -label L5420 +brif 449 L5373 L5374 +label L5373 load 451 ai field 452 451 96 list_string variants call 453 pith_list_len int 1 452 @@ -83729,140 +83382,140 @@ load 454 bi field 455 454 96 list_string variants call 456 pith_list_len int 1 455 neq 457 453 456 -brif 457 L5423 L5424 -label L5423 +brif 457 L5376 L5377 +label L5376 iconst 458 0 load 459 ai call 460 pith_struct_release void 1 459 load 461 bi call 462 pith_struct_release void 1 461 ret 458 -label L5424 -label L5422 +label L5377 +label L5375 load 463 ai field 464 463 96 list_string variants call 465 pith_auto_len int 1 464 iconst 466 0 -store __for_idx_239 466 -store __for_len_239 465 -store __for_iter_239 464 -label L5425 -load 467 __for_idx_239 -load 468 __for_len_239 +store __for_idx_238 466 +store __for_len_238 465 +store __for_iter_238 464 +label L5378 +load 467 __for_idx_238 +load 468 __for_len_238 lt 469 467 468 -brif 469 L5426 L5428 -label L5426 -load 470 __for_iter_239 -load 471 __for_idx_239 +brif 469 L5379 L5381 +label L5379 +load 470 __for_iter_238 +load 471 __for_idx_238 call 472 pith_list_get_value_unchecked string 2 470 471 -store __loopvar_239_variant_name 472 -load 473 __for_idx_239 -store __loopvar_239_i 473 -load 474 __loopvar_239_variant_name +store __loopvar_238_variant_name 472 +load 473 __for_idx_238 +store __loopvar_238_i 473 +load 474 __loopvar_238_variant_name load 475 bi field 476 475 96 list_string variants -load 477 __loopvar_239_i +load 477 __loopvar_238_i call 478 pith_list_get_value_strict string 2 476 477 call 480 pith_cstring_eq bool 2 474 478 iconst 481 1 sub 479 481 480 -brif 479 L5430 L5431 -label L5430 +brif 479 L5383 L5384 +label L5383 iconst 482 0 load 483 ai call 484 pith_struct_release void 1 483 load 485 bi call 486 pith_struct_release void 1 485 ret 482 -label L5431 -label L5429 +label L5384 +label L5382 load 487 ai field 488 487 104 list variant_types -load 489 __loopvar_239_i +load 489 __loopvar_238_i call 490 pith_list_get_value_strict list 2 488 489 call 491 pith_list_len int 1 490 load 492 bi field 493 492 104 list variant_types -load 494 __loopvar_239_i +load 494 __loopvar_238_i call 495 pith_list_get_value_strict list 2 493 494 call 496 pith_list_len int 1 495 neq 497 491 496 -brif 497 L5433 L5434 -label L5433 +brif 497 L5386 L5387 +label L5386 iconst 498 0 load 499 ai call 500 pith_struct_release void 1 499 load 501 bi call 502 pith_struct_release void 1 501 ret 498 -label L5434 -label L5432 +label L5387 +label L5385 load 503 ai field 504 503 104 list variant_types -load 505 __loopvar_239_i +load 505 __loopvar_238_i call 506 pith_list_get_value_strict list 2 504 505 call 507 pith_auto_len int 1 506 iconst 508 0 -store __for_idx_240 508 -store __for_len_240 507 -store __for_iter_240 506 -label L5435 -load 509 __for_idx_240 -load 510 __for_len_240 +store __for_idx_239 508 +store __for_len_239 507 +store __for_iter_239 506 +label L5388 +load 509 __for_idx_239 +load 510 __for_len_239 lt 511 509 510 -brif 511 L5436 L5438 -label L5436 -load 512 __for_iter_240 -load 513 __for_idx_240 +brif 511 L5389 L5391 +label L5389 +load 512 __for_iter_239 +load 513 __for_idx_239 call 514 pith_list_get_value unknown 2 512 513 -store __loopvar_240_field_type 514 -load 515 __for_idx_240 -store __loopvar_240_j 515 -load 516 __loopvar_240_field_type +store __loopvar_239_field_type 514 +load 515 __for_idx_239 +store __loopvar_239_j 515 +load 516 __loopvar_239_field_type load 517 bi field 518 517 104 list variant_types -load 519 __loopvar_239_i +load 519 __loopvar_238_i call 520 pith_list_get_value_strict list 2 518 519 -load 521 __loopvar_240_j +load 521 __loopvar_239_j call 522 pith_list_get_value_strict int 2 520 521 call 523 checker_types_structurally_equal bool 2 516 522 iconst 524 0 eq 525 523 524 -brif 525 L5440 L5441 -label L5440 +brif 525 L5393 L5394 +label L5393 iconst 526 0 load 527 ai call 528 pith_struct_release void 1 527 load 529 bi call 530 pith_struct_release void 1 529 ret 526 -label L5441 -label L5439 -label L5437 -load 531 __for_idx_240 +label L5394 +label L5392 +label L5390 +load 531 __for_idx_239 iconst 532 1 add 533 531 532 -store __for_idx_240 533 -jmp L5435 -label L5438 -label L5427 -load 534 __for_idx_239 +store __for_idx_239 533 +jmp L5388 +label L5391 +label L5380 +load 534 __for_idx_238 iconst 535 1 add 536 534 535 -store __for_idx_239 536 -jmp L5425 -label L5428 +store __for_idx_238 536 +jmp L5378 +label L5381 iconst 537 1 load 538 ai call 539 pith_struct_release void 1 538 load 540 bi call 541 pith_struct_release void 1 540 ret 537 -label L5421 -label L5419 -jmp L5416 -label L5418 -label L5416 +label L5374 +label L5372 +jmp L5369 +label L5371 +label L5369 iconst 542 0 load 543 ai call 544 pith_struct_release void 1 543 @@ -83882,12 +83535,12 @@ param expected load 2 actual load 3 expected eq 4 2 3 -brif 4 L5443 L5444 -label L5443 +brif 4 L5396 L5397 +label L5396 iconst 5 1 ret 5 -label L5444 -label L5442 +label L5397 +label L5395 load 6 actual load 7 expected call 8 checker_types_structurally_equal bool 2 6 7 @@ -84529,20 +84182,20 @@ store items 13 load 16 items call 17 pith_auto_len int 1 16 iconst 18 0 -store __for_idx_241 18 -store __for_len_241 17 -store __for_iter_241 16 +store __for_idx_240 18 +store __for_len_240 17 +store __for_iter_240 16 label L3 -load 19 __for_idx_241 -load 20 __for_len_241 +load 19 __for_idx_240 +load 20 __for_len_240 lt 21 19 20 brif 21 L4 L6 label L4 -load 22 __for_iter_241 -load 23 __for_idx_241 +load 22 __for_iter_240 +load 23 __for_idx_240 call 24 pith_list_get_value_unchecked string 2 22 23 -store __loopvar_241_item 24 -load 25 __loopvar_241_item +store __loopvar_240_item 24 +load 25 __loopvar_240_item load 26 name call 27 pith_cstring_eq bool 2 25 26 brif 27 L8 L9 @@ -84554,10 +84207,10 @@ ret 28 label L9 label L7 label L5 -load 31 __for_idx_241 +load 31 __for_idx_240 iconst 32 1 add 33 31 32 -store __for_idx_241 33 +store __for_idx_240 33 jmp L3 label L6 iconst 34 0 @@ -87629,27 +87282,27 @@ store copy 3 load 5 lines call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_242 7 -store __for_len_242 6 -store __for_iter_242 5 +store __for_idx_241 7 +store __for_len_241 6 +store __for_iter_241 5 label L19 -load 8 __for_idx_242 -load 9 __for_len_242 +load 8 __for_idx_241 +load 9 __for_len_241 lt 10 8 9 brif 10 L20 L22 label L20 -load 11 __for_iter_242 -load 12 __for_idx_242 +load 11 __for_iter_241 +load 12 __for_idx_241 call 13 pith_list_get_value_unchecked string 2 11 12 -store __loopvar_242_line 13 +store __loopvar_241_line 13 load 14 copy -load 15 __loopvar_242_line +load 15 __loopvar_241_line call 16 pith_list_push_value void 2 14 15 label L21 -load 17 __for_idx_242 +load 17 __for_idx_241 iconst 18 1 add 19 17 18 -store __for_idx_242 19 +store __for_idx_241 19 jmp L19 label L22 load 20 copy @@ -87739,27 +87392,27 @@ store updated 3 load 6 lines call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_243 8 -store __for_len_243 7 -store __for_iter_243 6 +store __for_idx_242 8 +store __for_len_242 7 +store __for_iter_242 6 label L23 -load 9 __for_idx_243 -load 10 __for_len_243 +load 9 __for_idx_242 +load 10 __for_len_242 lt 11 9 10 brif 11 L24 L26 label L24 -load 12 __for_iter_243 -load 13 __for_idx_243 +load 12 __for_iter_242 +load 13 __for_idx_242 call 14 pith_list_get_value_unchecked string 2 12 13 -store __loopvar_243_line 14 +store __loopvar_242_line 14 load 15 updated -load 16 __loopvar_243_line +load 16 __loopvar_242_line call 17 pith_list_push_value void 2 15 16 label L25 -load 18 __for_idx_243 +load 18 __for_idx_242 iconst 19 1 add 20 18 19 -store __for_idx_243 20 +store __for_idx_242 20 jmp L23 label L26 load 21 updated @@ -87855,23 +87508,23 @@ func ir_builder_ir_emit_string_table 0 void load 0 ir_builder_ir_strings call 1 pith_auto_len int 1 0 iconst 2 0 -store __for_idx_244 2 -store __for_len_244 1 -store __for_iter_244 0 +store __for_idx_243 2 +store __for_len_243 1 +store __for_iter_243 0 label L30 -load 3 __for_idx_244 -load 4 __for_len_244 +load 3 __for_idx_243 +load 4 __for_len_243 lt 5 3 4 brif 5 L31 L33 label L31 -load 6 __for_iter_244 -load 7 __for_idx_244 +load 6 __for_iter_243 +load 7 __for_idx_243 call 8 pith_list_get_value_unchecked string 2 6 7 -store __loopvar_244_value 8 -load 9 __for_idx_244 -store __loopvar_244_i 9 +store __loopvar_243_value 8 +load 9 __for_idx_243 +store __loopvar_243_i 9 strref 10 m21s3 -load 11 __loopvar_244_i +load 11 __loopvar_243_i call 12 ir_builder_ir_string_symbol_name string 1 11 concat 13 10 12 call 14 pith_cstring_release void 1 10 @@ -87885,7 +87538,7 @@ call 21 chr string 1 20 concat 22 17 21 call 23 pith_cstring_release void 1 17 call 24 pith_cstring_release void 1 21 -load 25 __loopvar_244_value +load 25 __loopvar_243_value concat 26 22 25 call 27 pith_cstring_release void 1 22 iconst 28 34 @@ -87896,10 +87549,10 @@ call 32 pith_cstring_release void 1 29 call 33 ir_builder_ir_emit void 1 30 call 34 pith_cstring_release void 1 30 label L32 -load 35 __for_idx_244 +load 35 __for_idx_243 iconst 36 1 add 37 35 36 -store __for_idx_244 37 +store __for_idx_243 37 jmp L30 label L33 iconst 38 0 @@ -88584,330 +88237,331 @@ string m22s617 "': another impl block already declares it" string m22s618 "' on '" string m22s619 "duplicate method '" string m22s620 "E263" -string m22s621 "iface" -string m22s622 "inherent" -string m22s623 "assoc_type" -string m22s624 "' is a builtin type name and cannot be used as an enum name" -string m22s625 "E250" -string m22s626 "' must be " -string m22s627 "default for field '" -string m22s628 "' is a builtin type name and cannot be used as a struct name" -string m22s629 "' must be an optional struct type (T?)" -string m22s630 "weak field '" -string m22s631 "E249" -string m22s632 "parameter requires a type annotation" -string m22s633 "type_alias" -string m22s634 "interface_decl" -string m22s635 "unknown generic type: " -string m22s636 "Channel expects 1 type argument, got " -string m22s637 "Task expects 1 type argument, got " -string m22s638 "Map expects 2 type arguments, got " -string m22s639 "Set expects 1 type argument, got " -string m22s640 "List expects 1 type argument, got " -string m22s641 "type nesting too deep" -string m22s642 "E233" -string m22s643 "import it from the module that defines it" -string m22s644 "' is not declared by module '" -string m22s645 "E246" -string m22s646 "*" -string m22s647 "none" -string m22s648 "" -string m22s649 "fn" -string m22s650 "TypeInfo(" -string m22s651 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" -string m22s652 "name" -string m22s653 ", name: " -string m22s654 "fields" -string m22s655 ", fields: " -string m22s656 "field_types" -string m22s657 ", field_types: " -string m22s658 "field_pub" -string m22s659 ", field_pub: " -string m22s660 "field_mut" -string m22s661 ", field_mut: " -string m22s662 "param_types" -string m22s663 ", param_types: " -string m22s664 "return_type" -string m22s665 ", return_type: " -string m22s666 "inner" -string m22s667 ", inner: " -string m22s668 "key_type" -string m22s669 ", key_type: " -string m22s670 "value_type" -string m22s671 ", value_type: " -string m22s672 "elements" -string m22s673 ", elements: " -string m22s674 "variants" -string m22s675 ", variants: " -string m22s676 "variant_types" -string m22s677 ", variant_types: " -string m22s678 "pith_semaphore_release" -string m22s679 "pith_semaphore_acquire" -string m22s680 "opaque:Semaphore" -string m22s681 "pith_waitgroup_wait" -string m22s682 "pith_waitgroup_done" -string m22s683 "pith_waitgroup_add" -string m22s684 "opaque:WaitGroup" -string m22s685 "pith_mutex_unlock" -string m22s686 "pith_mutex_lock" -string m22s687 "opaque:Mutex" -string m22s688 "pith_atomic_int_compare_set" -string m22s689 "pith_atomic_int_set" -string m22s690 "pith_atomic_int_get" -string m22s691 "opaque:AtomicInt" -string m22s692 "pith_task_detach" -string m22s693 "pith_task_is_done" -string m22s694 "pith_channel_is_closed" -string m22s695 "pith_channel_close" -string m22s696 "pith_channel_try_recv" -string m22s697 "pith_channel_recv" -string m22s698 "pith_channel_try_send" -string m22s699 "pith_channel_send" -string m22s700 "pith_channel_cap" -string m22s701 "pith_channel_len" -string m22s702 "identity" -string m22s703 "int_to_string" -string m22s704 "bool_to_string" -string m22s705 "float_to_string" -string m22s706 "task:" -string m22s707 "channel:" -string m22s708 "list:" -string m22s709 "list_string" -string m22s710 "set_int" -string m22s711 "map_int" -string m22s712 "int" -string m22s713 "float" -string m22s714 "bool" -string m22s715 "bytes" -string m22s716 "string" -string m22s717 "set_remove" -string m22s718 "set_remove_int" -string m22s719 "set_clear" -string m22s720 "set_is_empty" -string m22s721 "set_contains" -string m22s722 "set_contains_int" -string m22s723 "set_add" -string m22s724 "set_add_int" -string m22s725 "set_len" -string m22s726 "map_get_opt" -string m22s727 "map_get_ikey_opt" -string m22s728 "map_get_default" -string m22s729 "map_get_default_ikey" -string m22s730 "map_take" -string m22s731 "map_take_ikey" -string m22s732 "map_remove" -string m22s733 "map_remove_ikey" -string m22s734 "map_insert" -string m22s735 "map_insert_ikey" -string m22s736 "map_contains_ikey" -string m22s737 "map_values" -string m22s738 "map_keys" -string m22s739 "map_keys_ikey" -string m22s740 "map_clear" -string m22s741 "map_is_empty" -string m22s742 "map_len" -string m22s743 "pith_list_last_opt" -string m22s744 "pith_list_first_opt" -string m22s745 "pith_list_get_opt" -string m22s746 "list_clear" -string m22s747 "list_reverse" -string m22s748 "list_join" -string m22s749 "list_sort_copy" -string m22s750 "list_sort_strings_copy" -string m22s751 "list_slice_copy" -string m22s752 "list_insert" -string m22s753 "pith_list_len" -string m22s754 "bytes_to_string_utf8" -string m22s755 "bytes_concat" -string m22s756 "bytes_slice" -string m22s757 "bytes_is_empty" -string m22s758 "bytes_len" -string m22s759 "pith_cstring_char_at_opt" -string m22s760 "string_is_empty" -string m22s761 "string_len" -string m22s762 "pith_cstring_pad_right" -string m22s763 "pith_cstring_pad_left" -string m22s764 "pith_int_to_float" -string m22s765 "pith_float_to_int" -string m22s766 "pith_cstring_eq" -string m22s767 "__str_eq" -string m22s768 "pith_closure_get_env" -string m22s769 "__closure_get_env" -string m22s770 "pith_closure_set_env" -string m22s771 "__closure_set_env" -string m22s772 "pith_struct_alloc" -string m22s773 "__struct_alloc" -string m22s774 "pith_set_to_list_int_handle" -string m22s775 "__set_to_list_int" -string m22s776 "pith_set_to_list_cstr" -string m22s777 "__set_to_list" -string m22s778 "pith_set_new_int" -string m22s779 "__set_new_int" -string m22s780 "pith_set_new_default" -string m22s781 "__set_new" -string m22s782 "pith_cstring_release" -string m22s783 "__cstring_release" -string m22s784 "pith_cstring_retain" -string m22s785 "__cstring_retain" -string m22s786 "pith_map_new_int_cstr_val" -string m22s787 "__map_new_int_str_val" -string m22s788 "pith_map_new_cstr_val" -string m22s789 "__map_new_str_val" -string m22s790 "pith_map_new_int" -string m22s791 "__map_new_int" -string m22s792 "pith_map_new_default" -string m22s793 "__map_new" -string m22s794 "pith_list_push_value" -string m22s795 "__list_push" -string m22s796 "pith_list_new_set" -string m22s797 "__list_new_set" -string m22s798 "pith_list_new_closure" -string m22s799 "__list_new_closure" -string m22s800 "pith_list_new_bytes" -string m22s801 "__list_new_bytes" -string m22s802 "pith_list_new_struct" -string m22s803 "__list_new_struct" -string m22s804 "pith_list_new_nested_map" -string m22s805 "__list_new_map" -string m22s806 "pith_list_new_nested_list" -string m22s807 "__list_new_list" -string m22s808 "pith_list_new_cstr" -string m22s809 "__list_new_str" -string m22s810 "pith_list_new_default" -string m22s811 "__list_new" -string m22s812 "pith_list_get_value_unchecked" -string m22s813 "__list_get_unchecked" -string m22s814 "pith_list_get_value_strict" -string m22s815 "__list_get_strict" -string m22s816 "pith_list_get_value" -string m22s817 "__index" -string m22s818 "__list_get" -string m22s819 "pith_list_sort_strings" -string m22s820 "sort_strings" -string m22s821 "pith_list_set_value" -string m22s822 "pith_list_pop" -string m22s823 "pop" -string m22s824 "pith_cstring_is_empty" -string m22s825 "pith_cstring_reverse" -string m22s826 "pith_cstring_chars" -string m22s827 "pith_cstring_char_at_strict" -string m22s828 "char_at_strict" -string m22s829 "pith_cstring_char_at" -string m22s830 "char_at" -string m22s831 "pith_cstring_last_index_of" -string m22s832 "string_last_index_of" -string m22s833 "pith_cstring_index_of" -string m22s834 "string_index_of" -string m22s835 "pith_cstring_repeat" -string m22s836 "pith_cstring_replace" -string m22s837 "pith_cstring_to_lower" -string m22s838 "pith_cstring_to_upper" -string m22s839 "pith_string_split_to_list" -string m22s840 "pith_cstring_trim" -string m22s841 "pith_cstring_ends_with" -string m22s842 "pith_cstring_starts_with" -string m22s843 "pith_cstring_substring" -string m22s844 "pith_cstring_contains" -string m22s845 "string_contains" -string m22s846 "pith_auto_len" -string m22s847 "pith_await" -string m22s848 "pith_spawn" -string m22s849 "pith_print_cstr" -string m22s850 "print" -string m22s851 "parse_int" -string m22s852 "result_bool" -string m22s853 "result_int" -string m22s854 "parse_float" -string m22s855 "term_read,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_sign_rsa_pkcs1_sha256_pkcs8,crypto_sign_ed25519_pkcs8,crypto_sign_ecdsa_p256_sha256_pkcs8,crypto_blake2b,crypto_argon2id,zstd_compress,zstd_decompress" -string m22s856 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" -string m22s857 "write_file,append_file,write_file_bytes,append_file_bytes" -string m22s858 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" -string m22s859 "trim,substring,to_upper,to_lower,reverse,replace,repeat,pad_left,pad_right,char_at,join,list_join,list_join_int,read_file,env,chr" -string m22s860 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list_reverse,map_insert,map_insert_ikey,map_remove,map_remove_ikey,map_clear,set_add,set_add_int,set_remove,set_remove_int,set_clear,detach,lock,unlock,done,wait,acquire,release,store" -string m22s861 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" -string m22s862 "sort_strings,zip,enumerate,toml_keys" -string m22s863 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m22s864 "term_read,bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_sign_rsa_pkcs1_sha256_pkcs8,crypto_sign_ed25519_pkcs8,crypto_sign_ecdsa_p256_sha256_pkcs8,crypto_blake2b,crypto_argon2id,zstd_compress,zstd_decompress" -string m22s865 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" -string m22s866 "term_size,term_write,abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,os_pid,signal_notify,signal_wait,signal_raise,tcp_shutdown,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" -string m22s867 "term_is_tty,term_raw_enter,term_restore,file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" -string m22s868 "pow,sqrt,floor,ceil,round,to_float,get_float,float_from_bits" -string m22s869 "not_op" -string m22s870 "!" -string m22s871 "integer" -string m22s872 "str_lit" -string m22s873 "unknown" -string m22s874 "closure" -string m22s875 "struct:" -string m22s876 "opaque:" -string m22s877 "void" -string m22s878 "Set[UInt64]" -string m22s879 "Set[UInt32]" -string m22s880 "Set[UInt16]" -string m22s881 "Set[UInt8]" -string m22s882 "Set[Int64]" -string m22s883 "Set[Int32]" -string m22s884 "Set[Int16]" -string m22s885 "Set[Int8]" -string m22s886 "Set[UInt]" -string m22s887 "Set[Int]" -string m22s888 "Map[Int, " -string m22s889 "Map[Int," -string m22s890 "List[String]" -string m22s891 "parse_int failed" -string m22s892 "file_open_read failed" -string m22s893 "file_open_write failed" -string m22s894 "file_open_append failed" -string m22s895 "byte_buffer_write failed" -string m22s896 "byte_buffer_write_string_utf8 failed" -string m22s897 "byte_buffer_write_byte failed" -string m22s898 "file_write failed" -string m22s899 "file_write_bytes failed" -string m22s900 "tcp_connect failed" -string m22s901 "tcp_listen failed" -string m22s902 "tcp_accept failed" -string m22s903 "tcp_write failed" -string m22s904 "tcp_write_bytes failed" -string m22s905 "process_spawn failed" -string m22s906 "process_spawn_argv failed" -string m22s907 "process_output_argv failed" -string m22s908 "process_write failed" -string m22s909 "process_write_bytes failed" -string m22s910 "crypto_x25519_keygen failed" -string m22s911 "write_file failed" -string m22s912 "append_file failed" -string m22s913 "write_file_bytes failed" -string m22s914 "append_file_bytes failed" -string m22s915 "read_file failed" -string m22s916 "exec_output failed" -string m22s917 "dns_resolve failed" -string m22s918 "bytes_to_string_utf8 failed" -string m22s919 "bytes_substring_utf8 failed" -string m22s920 "file_read failed" -string m22s921 "tcp_read failed" -string m22s922 "process_read failed" -string m22s923 "process_read_err failed" -string m22s924 "read_file_bytes failed" -string m22s925 "b64_decode failed" -string m22s926 "from_hex failed" -string m22s927 "file_read_bytes failed" -string m22s928 "tcp_read_bytes failed" -string m22s929 "process_read_bytes failed" -string m22s930 "process_read_err_bytes failed" -string m22s931 "crypto_x25519_public_key failed" -string m22s932 "crypto_x25519_shared_secret failed" -string m22s933 "crypto_aes_128_gcm_seal failed" -string m22s934 "crypto_aes_128_gcm_open failed" -string m22s935 "crypto_chacha20_poly1305_seal failed" -string m22s936 "crypto_chacha20_poly1305_open failed" -string m22s937 "crypto_sign_rsa_pss_sha256_pkcs8 failed" -string m22s938 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" -string m22s939 "crypto_sign_ed25519_pkcs8 failed" -string m22s940 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" -string m22s941 "crypto_blake2b failed" -string m22s942 "crypto_argon2id failed" -string m22s943 "zstd_compress failed" -string m22s944 "zstd_decompress failed" +string m22s621 "#" +string m22s622 "iface" +string m22s623 "inherent" +string m22s624 "assoc_type" +string m22s625 "' is a builtin type name and cannot be used as an enum name" +string m22s626 "E250" +string m22s627 "' must be " +string m22s628 "default for field '" +string m22s629 "' is a builtin type name and cannot be used as a struct name" +string m22s630 "' must be an optional struct type (T?)" +string m22s631 "weak field '" +string m22s632 "E249" +string m22s633 "parameter requires a type annotation" +string m22s634 "type_alias" +string m22s635 "interface_decl" +string m22s636 "unknown generic type: " +string m22s637 "Channel expects 1 type argument, got " +string m22s638 "Task expects 1 type argument, got " +string m22s639 "Map expects 2 type arguments, got " +string m22s640 "Set expects 1 type argument, got " +string m22s641 "List expects 1 type argument, got " +string m22s642 "type nesting too deep" +string m22s643 "E233" +string m22s644 "import it from the module that defines it" +string m22s645 "' is not declared by module '" +string m22s646 "E246" +string m22s647 "*" +string m22s648 "none" +string m22s649 "" +string m22s650 "fn" +string m22s651 "TypeInfo(" +string m22s652 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" +string m22s653 "name" +string m22s654 ", name: " +string m22s655 "fields" +string m22s656 ", fields: " +string m22s657 "field_types" +string m22s658 ", field_types: " +string m22s659 "field_pub" +string m22s660 ", field_pub: " +string m22s661 "field_mut" +string m22s662 ", field_mut: " +string m22s663 "param_types" +string m22s664 ", param_types: " +string m22s665 "return_type" +string m22s666 ", return_type: " +string m22s667 "inner" +string m22s668 ", inner: " +string m22s669 "key_type" +string m22s670 ", key_type: " +string m22s671 "value_type" +string m22s672 ", value_type: " +string m22s673 "elements" +string m22s674 ", elements: " +string m22s675 "variants" +string m22s676 ", variants: " +string m22s677 "variant_types" +string m22s678 ", variant_types: " +string m22s679 "pith_semaphore_release" +string m22s680 "pith_semaphore_acquire" +string m22s681 "opaque:Semaphore" +string m22s682 "pith_waitgroup_wait" +string m22s683 "pith_waitgroup_done" +string m22s684 "pith_waitgroup_add" +string m22s685 "opaque:WaitGroup" +string m22s686 "pith_mutex_unlock" +string m22s687 "pith_mutex_lock" +string m22s688 "opaque:Mutex" +string m22s689 "pith_atomic_int_compare_set" +string m22s690 "pith_atomic_int_set" +string m22s691 "pith_atomic_int_get" +string m22s692 "opaque:AtomicInt" +string m22s693 "pith_task_detach" +string m22s694 "pith_task_is_done" +string m22s695 "pith_channel_is_closed" +string m22s696 "pith_channel_close" +string m22s697 "pith_channel_try_recv" +string m22s698 "pith_channel_recv" +string m22s699 "pith_channel_try_send" +string m22s700 "pith_channel_send" +string m22s701 "pith_channel_cap" +string m22s702 "pith_channel_len" +string m22s703 "identity" +string m22s704 "int_to_string" +string m22s705 "bool_to_string" +string m22s706 "float_to_string" +string m22s707 "task:" +string m22s708 "channel:" +string m22s709 "list:" +string m22s710 "list_string" +string m22s711 "set_int" +string m22s712 "map_int" +string m22s713 "int" +string m22s714 "float" +string m22s715 "bool" +string m22s716 "bytes" +string m22s717 "string" +string m22s718 "set_remove" +string m22s719 "set_remove_int" +string m22s720 "set_clear" +string m22s721 "set_is_empty" +string m22s722 "set_contains" +string m22s723 "set_contains_int" +string m22s724 "set_add" +string m22s725 "set_add_int" +string m22s726 "set_len" +string m22s727 "map_get_opt" +string m22s728 "map_get_ikey_opt" +string m22s729 "map_get_default" +string m22s730 "map_get_default_ikey" +string m22s731 "map_take" +string m22s732 "map_take_ikey" +string m22s733 "map_remove" +string m22s734 "map_remove_ikey" +string m22s735 "map_insert" +string m22s736 "map_insert_ikey" +string m22s737 "map_contains_ikey" +string m22s738 "map_values" +string m22s739 "map_keys" +string m22s740 "map_keys_ikey" +string m22s741 "map_clear" +string m22s742 "map_is_empty" +string m22s743 "map_len" +string m22s744 "pith_list_last_opt" +string m22s745 "pith_list_first_opt" +string m22s746 "pith_list_get_opt" +string m22s747 "list_clear" +string m22s748 "list_reverse" +string m22s749 "list_join" +string m22s750 "list_sort_copy" +string m22s751 "list_sort_strings_copy" +string m22s752 "list_slice_copy" +string m22s753 "list_insert" +string m22s754 "pith_list_len" +string m22s755 "bytes_to_string_utf8" +string m22s756 "bytes_concat" +string m22s757 "bytes_slice" +string m22s758 "bytes_is_empty" +string m22s759 "bytes_len" +string m22s760 "pith_cstring_char_at_opt" +string m22s761 "string_is_empty" +string m22s762 "string_len" +string m22s763 "pith_cstring_pad_right" +string m22s764 "pith_cstring_pad_left" +string m22s765 "pith_int_to_float" +string m22s766 "pith_float_to_int" +string m22s767 "pith_cstring_eq" +string m22s768 "__str_eq" +string m22s769 "pith_closure_get_env" +string m22s770 "__closure_get_env" +string m22s771 "pith_closure_set_env" +string m22s772 "__closure_set_env" +string m22s773 "pith_struct_alloc" +string m22s774 "__struct_alloc" +string m22s775 "pith_set_to_list_int_handle" +string m22s776 "__set_to_list_int" +string m22s777 "pith_set_to_list_cstr" +string m22s778 "__set_to_list" +string m22s779 "pith_set_new_int" +string m22s780 "__set_new_int" +string m22s781 "pith_set_new_default" +string m22s782 "__set_new" +string m22s783 "pith_cstring_release" +string m22s784 "__cstring_release" +string m22s785 "pith_cstring_retain" +string m22s786 "__cstring_retain" +string m22s787 "pith_map_new_int_cstr_val" +string m22s788 "__map_new_int_str_val" +string m22s789 "pith_map_new_cstr_val" +string m22s790 "__map_new_str_val" +string m22s791 "pith_map_new_int" +string m22s792 "__map_new_int" +string m22s793 "pith_map_new_default" +string m22s794 "__map_new" +string m22s795 "pith_list_push_value" +string m22s796 "__list_push" +string m22s797 "pith_list_new_set" +string m22s798 "__list_new_set" +string m22s799 "pith_list_new_closure" +string m22s800 "__list_new_closure" +string m22s801 "pith_list_new_bytes" +string m22s802 "__list_new_bytes" +string m22s803 "pith_list_new_struct" +string m22s804 "__list_new_struct" +string m22s805 "pith_list_new_nested_map" +string m22s806 "__list_new_map" +string m22s807 "pith_list_new_nested_list" +string m22s808 "__list_new_list" +string m22s809 "pith_list_new_cstr" +string m22s810 "__list_new_str" +string m22s811 "pith_list_new_default" +string m22s812 "__list_new" +string m22s813 "pith_list_get_value_unchecked" +string m22s814 "__list_get_unchecked" +string m22s815 "pith_list_get_value_strict" +string m22s816 "__list_get_strict" +string m22s817 "pith_list_get_value" +string m22s818 "__index" +string m22s819 "__list_get" +string m22s820 "pith_list_sort_strings" +string m22s821 "sort_strings" +string m22s822 "pith_list_set_value" +string m22s823 "pith_list_pop" +string m22s824 "pop" +string m22s825 "pith_cstring_is_empty" +string m22s826 "pith_cstring_reverse" +string m22s827 "pith_cstring_chars" +string m22s828 "pith_cstring_char_at_strict" +string m22s829 "char_at_strict" +string m22s830 "pith_cstring_char_at" +string m22s831 "char_at" +string m22s832 "pith_cstring_last_index_of" +string m22s833 "string_last_index_of" +string m22s834 "pith_cstring_index_of" +string m22s835 "string_index_of" +string m22s836 "pith_cstring_repeat" +string m22s837 "pith_cstring_replace" +string m22s838 "pith_cstring_to_lower" +string m22s839 "pith_cstring_to_upper" +string m22s840 "pith_string_split_to_list" +string m22s841 "pith_cstring_trim" +string m22s842 "pith_cstring_ends_with" +string m22s843 "pith_cstring_starts_with" +string m22s844 "pith_cstring_substring" +string m22s845 "pith_cstring_contains" +string m22s846 "string_contains" +string m22s847 "pith_auto_len" +string m22s848 "pith_await" +string m22s849 "pith_spawn" +string m22s850 "pith_print_cstr" +string m22s851 "print" +string m22s852 "parse_int" +string m22s853 "result_bool" +string m22s854 "result_int" +string m22s855 "parse_float" +string m22s856 "term_read,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_sign_rsa_pkcs1_sha256_pkcs8,crypto_sign_ed25519_pkcs8,crypto_sign_ecdsa_p256_sha256_pkcs8,crypto_blake2b,crypto_argon2id,zstd_compress,zstd_decompress" +string m22s857 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" +string m22s858 "write_file,append_file,write_file_bytes,append_file_bytes" +string m22s859 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" +string m22s860 "trim,substring,to_upper,to_lower,reverse,replace,repeat,pad_left,pad_right,char_at,join,list_join,list_join_int,read_file,env,chr" +string m22s861 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list_reverse,map_insert,map_insert_ikey,map_remove,map_remove_ikey,map_clear,set_add,set_add_int,set_remove,set_remove_int,set_clear,detach,lock,unlock,done,wait,acquire,release,store" +string m22s862 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" +string m22s863 "sort_strings,zip,enumerate,toml_keys" +string m22s864 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" +string m22s865 "term_read,bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_sign_rsa_pkcs1_sha256_pkcs8,crypto_sign_ed25519_pkcs8,crypto_sign_ecdsa_p256_sha256_pkcs8,crypto_blake2b,crypto_argon2id,zstd_compress,zstd_decompress" +string m22s866 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" +string m22s867 "term_size,term_write,abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,os_pid,signal_notify,signal_wait,signal_raise,tcp_shutdown,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" +string m22s868 "term_is_tty,term_raw_enter,term_restore,file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" +string m22s869 "pow,sqrt,floor,ceil,round,to_float,get_float,float_from_bits" +string m22s870 "not_op" +string m22s871 "!" +string m22s872 "integer" +string m22s873 "str_lit" +string m22s874 "unknown" +string m22s875 "closure" +string m22s876 "struct:" +string m22s877 "opaque:" +string m22s878 "void" +string m22s879 "Set[UInt64]" +string m22s880 "Set[UInt32]" +string m22s881 "Set[UInt16]" +string m22s882 "Set[UInt8]" +string m22s883 "Set[Int64]" +string m22s884 "Set[Int32]" +string m22s885 "Set[Int16]" +string m22s886 "Set[Int8]" +string m22s887 "Set[UInt]" +string m22s888 "Set[Int]" +string m22s889 "Map[Int, " +string m22s890 "Map[Int," +string m22s891 "List[String]" +string m22s892 "parse_int failed" +string m22s893 "file_open_read failed" +string m22s894 "file_open_write failed" +string m22s895 "file_open_append failed" +string m22s896 "byte_buffer_write failed" +string m22s897 "byte_buffer_write_string_utf8 failed" +string m22s898 "byte_buffer_write_byte failed" +string m22s899 "file_write failed" +string m22s900 "file_write_bytes failed" +string m22s901 "tcp_connect failed" +string m22s902 "tcp_listen failed" +string m22s903 "tcp_accept failed" +string m22s904 "tcp_write failed" +string m22s905 "tcp_write_bytes failed" +string m22s906 "process_spawn failed" +string m22s907 "process_spawn_argv failed" +string m22s908 "process_output_argv failed" +string m22s909 "process_write failed" +string m22s910 "process_write_bytes failed" +string m22s911 "crypto_x25519_keygen failed" +string m22s912 "write_file failed" +string m22s913 "append_file failed" +string m22s914 "write_file_bytes failed" +string m22s915 "append_file_bytes failed" +string m22s916 "read_file failed" +string m22s917 "exec_output failed" +string m22s918 "dns_resolve failed" +string m22s919 "bytes_to_string_utf8 failed" +string m22s920 "bytes_substring_utf8 failed" +string m22s921 "file_read failed" +string m22s922 "tcp_read failed" +string m22s923 "process_read failed" +string m22s924 "process_read_err failed" +string m22s925 "read_file_bytes failed" +string m22s926 "b64_decode failed" +string m22s927 "from_hex failed" +string m22s928 "file_read_bytes failed" +string m22s929 "tcp_read_bytes failed" +string m22s930 "process_read_bytes failed" +string m22s931 "process_read_err_bytes failed" +string m22s932 "crypto_x25519_public_key failed" +string m22s933 "crypto_x25519_shared_secret failed" +string m22s934 "crypto_aes_128_gcm_seal failed" +string m22s935 "crypto_aes_128_gcm_open failed" +string m22s936 "crypto_chacha20_poly1305_seal failed" +string m22s937 "crypto_chacha20_poly1305_open failed" +string m22s938 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m22s939 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" +string m22s940 "crypto_sign_ed25519_pkcs8 failed" +string m22s941 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" +string m22s942 "crypto_blake2b failed" +string m22s943 "crypto_argon2id failed" +string m22s944 "zstd_compress failed" +string m22s945 "zstd_decompress failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -89137,7 +88791,7 @@ jmp L0 label L2 label L0 load 18 resolved -strref 19 m22s876 +strref 19 m22s877 call 20 pith_cstring_starts_with bool 2 18 19 call 21 pith_cstring_release void 1 19 brif 20 L4 L5 @@ -89159,7 +88813,7 @@ call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 brif 31 L7 L8 label L7 -strref 33 m22s716 +strref 33 m22s717 load 34 resolved call 35 pith_cstring_release void 1 34 load 36 base @@ -89173,7 +88827,7 @@ call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 brif 40 L10 L11 label L10 -strref 42 m22s715 +strref 42 m22s716 load 43 resolved call 44 pith_cstring_release void 1 43 load 45 base @@ -89187,7 +88841,7 @@ call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 brif 49 L13 L14 label L13 -strref 51 m22s714 +strref 51 m22s715 load 52 resolved call 53 pith_cstring_release void 1 52 load 54 base @@ -89201,7 +88855,7 @@ call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 brif 58 L16 L17 label L16 -strref 60 m22s712 +strref 60 m22s713 load 61 resolved call 62 pith_cstring_release void 1 61 load 63 base @@ -89215,7 +88869,7 @@ call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 brif 67 L19 L20 label L19 -strref 69 m22s713 +strref 69 m22s714 load 70 resolved call 71 pith_cstring_release void 1 70 load 72 base @@ -89224,12 +88878,12 @@ ret 69 label L20 label L18 load 74 resolved -strref 75 m22s890 +strref 75 m22s891 call 76 pith_cstring_contains bool 2 74 75 call 77 pith_cstring_release void 1 75 brif 76 L22 L23 label L22 -strref 78 m22s709 +strref 78 m22s710 load 79 resolved call 80 pith_cstring_release void 1 79 load 81 base @@ -89266,14 +88920,14 @@ label L24 iconst 98 0 store __or_98_32 98 load 99 resolved -strref 100 m22s889 +strref 100 m22s890 call 101 pith_cstring_contains bool 2 99 100 call 102 pith_cstring_release void 1 100 store __or_98_32 101 brif 101 L33 L32 label L32 load 103 resolved -strref 104 m22s888 +strref 104 m22s889 call 105 pith_cstring_contains bool 2 103 104 call 106 pith_cstring_release void 1 104 store __or_98_32 105 @@ -89281,7 +88935,7 @@ label L33 load 107 __or_98_32 brif 107 L30 L31 label L30 -strref 108 m22s711 +strref 108 m22s712 load 109 resolved call 110 pith_cstring_release void 1 109 load 111 base @@ -89334,14 +88988,14 @@ store __or_135_42 135 iconst 136 0 store __or_136_42 136 load 137 resolved -strref 138 m22s887 +strref 138 m22s888 call 139 pith_cstring_contains bool 2 137 138 call 140 pith_cstring_release void 1 138 store __or_136_42 139 brif 139 L43 L42 label L42 load 141 resolved -strref 142 m22s886 +strref 142 m22s887 call 143 pith_cstring_contains bool 2 141 142 call 144 pith_cstring_release void 1 142 store __or_136_42 143 @@ -89351,7 +89005,7 @@ store __or_135_42 145 brif 145 L45 L44 label L44 load 146 resolved -strref 147 m22s885 +strref 147 m22s886 call 148 pith_cstring_contains bool 2 146 147 call 149 pith_cstring_release void 1 147 store __or_135_42 148 @@ -89361,7 +89015,7 @@ store __or_134_42 150 brif 150 L47 L46 label L46 load 151 resolved -strref 152 m22s884 +strref 152 m22s885 call 153 pith_cstring_contains bool 2 151 152 call 154 pith_cstring_release void 1 152 store __or_134_42 153 @@ -89371,7 +89025,7 @@ store __or_133_42 155 brif 155 L49 L48 label L48 load 156 resolved -strref 157 m22s883 +strref 157 m22s884 call 158 pith_cstring_contains bool 2 156 157 call 159 pith_cstring_release void 1 157 store __or_133_42 158 @@ -89381,7 +89035,7 @@ store __or_132_42 160 brif 160 L51 L50 label L50 load 161 resolved -strref 162 m22s882 +strref 162 m22s883 call 163 pith_cstring_contains bool 2 161 162 call 164 pith_cstring_release void 1 162 store __or_132_42 163 @@ -89391,7 +89045,7 @@ store __or_131_42 165 brif 165 L53 L52 label L52 load 166 resolved -strref 167 m22s881 +strref 167 m22s882 call 168 pith_cstring_contains bool 2 166 167 call 169 pith_cstring_release void 1 167 store __or_131_42 168 @@ -89401,7 +89055,7 @@ store __or_130_42 170 brif 170 L55 L54 label L54 load 171 resolved -strref 172 m22s880 +strref 172 m22s881 call 173 pith_cstring_contains bool 2 171 172 call 174 pith_cstring_release void 1 172 store __or_130_42 173 @@ -89411,7 +89065,7 @@ store __or_129_42 175 brif 175 L57 L56 label L56 load 176 resolved -strref 177 m22s879 +strref 177 m22s880 call 178 pith_cstring_contains bool 2 176 177 call 179 pith_cstring_release void 1 177 store __or_129_42 178 @@ -89421,7 +89075,7 @@ store __or_128_42 180 brif 180 L59 L58 label L58 load 181 resolved -strref 182 m22s878 +strref 182 m22s879 call 183 pith_cstring_contains bool 2 181 182 call 184 pith_cstring_release void 1 182 store __or_128_42 183 @@ -89429,7 +89083,7 @@ label L59 load 185 __or_128_42 brif 185 L40 L41 label L40 -strref 186 m22s710 +strref 186 m22s711 load 187 resolved call 188 pith_cstring_release void 1 187 load 189 base @@ -89573,7 +89227,7 @@ iconst 6 0 eq 7 5 6 brif 7 L82 L83 label L82 -strref 8 m22s873 +strref 8 m22s874 load 9 resolved call 10 pith_cstring_release void 1 9 ret 8 @@ -89587,48 +89241,48 @@ call 15 ir_type_helpers_ir_resolve_type_hint_with_state string 3 12 13 14 call 16 pith_cstring_release void 1 11 store resolved 15 load 17 resolved -strref 18 m22s712 +strref 18 m22s713 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 brif 19 L85 L86 label L85 -strref 21 m22s712 +strref 21 m22s713 load 22 resolved call 23 pith_cstring_release void 1 22 ret 21 label L86 label L84 load 24 resolved -strref 25 m22s713 +strref 25 m22s714 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 brif 26 L88 L89 label L88 -strref 28 m22s713 +strref 28 m22s714 load 29 resolved call 30 pith_cstring_release void 1 29 ret 28 label L89 label L87 load 31 resolved -strref 32 m22s714 +strref 32 m22s715 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 brif 33 L91 L92 label L91 -strref 35 m22s714 +strref 35 m22s715 load 36 resolved call 37 pith_cstring_release void 1 36 ret 35 label L92 label L90 load 38 resolved -strref 39 m22s716 +strref 39 m22s717 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 brif 40 L94 L95 label L94 -strref 42 m22s716 +strref 42 m22s717 load 43 resolved call 44 pith_cstring_release void 1 43 ret 42 @@ -89647,12 +89301,12 @@ ret 49 label L98 label L96 load 52 resolved -strref 53 m22s709 +strref 53 m22s710 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 brif 54 L100 L101 label L100 -strref 56 m22s709 +strref 56 m22s710 load 57 resolved call 58 pith_cstring_release void 1 57 ret 56 @@ -89671,24 +89325,24 @@ ret 63 label L104 label L102 load 66 resolved -strref 67 m22s711 +strref 67 m22s712 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 brif 68 L106 L107 label L106 -strref 70 m22s711 +strref 70 m22s712 load 71 resolved call 72 pith_cstring_release void 1 71 ret 70 label L107 label L105 load 73 resolved -strref 74 m22s710 +strref 74 m22s711 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 brif 75 L109 L110 label L109 -strref 77 m22s710 +strref 77 m22s711 load 78 resolved call 79 pith_cstring_release void 1 78 ret 77 @@ -89707,12 +89361,12 @@ ret 84 label L113 label L111 load 87 resolved -strref 88 m22s877 +strref 88 m22s878 call 89 pith_cstring_eq bool 2 87 88 call 90 pith_cstring_release void 1 88 brif 89 L115 L116 label L115 -strref 91 m22s877 +strref 91 m22s878 load 92 resolved call 93 pith_cstring_release void 1 92 ret 91 @@ -89760,7 +89414,7 @@ label L125 load 115 __or_94_120 brif 115 L118 L119 label L118 -strref 116 m22s876 +strref 116 m22s877 load 117 resolved concat 118 116 117 call 119 pith_cstring_release void 1 116 @@ -89774,7 +89428,7 @@ load 123 resolved call 124 contains_key bool 2 122 123 brif 124 L127 L128 label L127 -strref 125 m22s875 +strref 125 m22s876 load 126 resolved concat 127 125 126 call 128 pith_cstring_release void 1 125 @@ -89836,7 +89490,7 @@ label L139 load 30 __and_19_138 brif 30 L136 L137 label L136 -strref 31 m22s709 +strref 31 m22s710 load 32 first call 33 pith_struct_release void 1 32 ret 31 @@ -89893,7 +89547,7 @@ label L150 load 65 __and_54_149 brif 65 L147 L148 label L147 -strref 66 m22s711 +strref 66 m22s712 load 67 first call 68 pith_struct_release void 1 67 ret 66 @@ -89950,7 +89604,7 @@ label L161 load 100 __and_89_160 brif 100 L158 L159 label L158 -strref 101 m22s710 +strref 101 m22s711 load 102 first call 103 pith_struct_release void 1 102 ret 101 @@ -90174,7 +89828,7 @@ label L194 load 114 __or_47_177 brif 114 L175 L176 label L175 -strref 115 m22s712 +strref 115 m22s713 load 116 info call 117 pith_struct_release void 1 116 load 118 elem_info @@ -90191,7 +89845,7 @@ call 125 pith_cstring_eq bool 2 123 124 call 126 pith_cstring_release void 1 124 brif 125 L196 L197 label L196 -strref 127 m22s713 +strref 127 m22s714 load 128 info call 129 pith_struct_release void 1 128 load 130 elem_info @@ -90208,7 +89862,7 @@ call 137 pith_cstring_eq bool 2 135 136 call 138 pith_cstring_release void 1 136 brif 137 L199 L200 label L199 -strref 139 m22s714 +strref 139 m22s715 load 140 info call 141 pith_struct_release void 1 140 load 142 elem_info @@ -90225,7 +89879,7 @@ call 149 pith_cstring_eq bool 2 147 148 call 150 pith_cstring_release void 1 148 brif 149 L202 L203 label L202 -strref 151 m22s716 +strref 151 m22s717 load 152 info call 153 pith_struct_release void 1 152 load 154 elem_info @@ -90242,7 +89896,7 @@ call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 brif 161 L205 L206 label L205 -strref 163 m22s715 +strref 163 m22s716 load 164 info call 165 pith_struct_release void 1 164 load 166 elem_info @@ -90295,7 +89949,7 @@ label L214 load 198 __and_187_213 brif 198 L211 L212 label L211 -strref 199 m22s709 +strref 199 m22s710 load 200 info call 201 pith_struct_release void 1 200 load 202 elem_info @@ -90465,7 +90119,7 @@ label L222 load 297 __and_223_221 brif 297 L219 L220 label L219 -strref 298 m22s711 +strref 298 m22s712 load 299 info call 300 pith_struct_release void 1 299 load 301 elem_info @@ -90635,7 +90289,7 @@ label L248 load 396 __and_322_247 brif 396 L245 L246 label L245 -strref 397 m22s710 +strref 397 m22s711 load 398 info call 399 pith_struct_release void 1 398 load 400 elem_info @@ -90716,7 +90370,7 @@ add 452 450 451 store vi 452 jmp L273 label L275 -strref 453 m22s712 +strref 453 m22s713 load 454 info call 455 pith_struct_release void 1 454 load 456 elem_info @@ -90786,7 +90440,7 @@ call 501 pith_cstring_eq bool 2 499 500 call 502 pith_cstring_release void 1 500 brif 501 L289 L290 label L289 -strref 503 m22s874 +strref 503 m22s875 load 504 info call 505 pith_struct_release void 1 504 load 506 elem_info @@ -90863,7 +90517,7 @@ label L294 jmp L291 label L293 label L291 -strref 29 m22s873 +strref 29 m22s874 load 30 info call 31 pith_struct_release void 1 30 load 32 kind @@ -90926,7 +90580,7 @@ label L303 jmp L300 label L302 label L300 -strref 29 m22s873 +strref 29 m22s874 load 30 info call 31 pith_struct_release void 1 30 load 32 kind @@ -91231,7 +90885,7 @@ iconst 30 0 gte 31 29 30 brif 31 L345 L346 label L345 -strref 32 m22s712 +strref 32 m22s713 ret 32 label L346 label L344 @@ -91264,7 +90918,7 @@ iconst 45 0 gte 46 44 45 brif 46 L355 L356 label L355 -strref 47 m22s716 +strref 47 m22s717 ret 47 label L356 label L354 @@ -91297,7 +90951,7 @@ iconst 60 0 gte 61 59 60 brif 61 L365 L366 label L365 -strref 62 m22s709 +strref 62 m22s710 ret 62 label L366 label L364 @@ -91363,7 +91017,7 @@ iconst 90 0 gte 91 89 90 brif 91 L385 L386 label L385 -strref 92 m22s711 +strref 92 m22s712 ret 92 label L386 label L384 @@ -91429,7 +91083,7 @@ iconst 120 0 gte 121 119 120 brif 121 L405 L406 label L405 -strref 122 m22s710 +strref 122 m22s711 ret 122 label L406 label L404 @@ -91495,7 +91149,7 @@ iconst 150 0 gte 151 149 150 brif 151 L425 L426 label L425 -strref 152 m22s714 +strref 152 m22s715 ret 152 label L426 label L424 @@ -91510,7 +91164,7 @@ load 1 fname call 2 ir_metadata_ir_is_float_returning_func bool 1 1 brif 2 L435 L436 label L435 -strref 3 m22s713 +strref 3 m22s714 ret 3 label L436 label L434 @@ -91518,7 +91172,7 @@ load 4 fname call 5 ir_metadata_ir_is_bool_returning_func bool 1 4 brif 5 L438 L439 label L438 -strref 6 m22s714 +strref 6 m22s715 ret 6 label L439 label L437 @@ -91526,7 +91180,7 @@ load 7 fname call 8 ir_metadata_ir_is_int_returning_func bool 1 7 brif 8 L441 L442 label L441 -strref 9 m22s712 +strref 9 m22s713 ret 9 label L442 label L440 @@ -91534,7 +91188,7 @@ load 10 fname call 11 ir_metadata_ir_is_string_returning_func bool 1 10 brif 11 L444 L445 label L444 -strref 12 m22s716 +strref 12 m22s717 ret 12 label L445 label L443 @@ -91542,7 +91196,7 @@ load 13 fname call 14 ir_metadata_ir_is_bytes_returning_func bool 1 13 brif 14 L447 L448 label L447 -strref 15 m22s715 +strref 15 m22s716 ret 15 label L448 label L446 @@ -91565,7 +91219,7 @@ load 4 fname call 5 ir_metadata_ir_is_list_string_returning_func bool 1 4 brif 5 L453 L454 label L453 -strref 6 m22s709 +strref 6 m22s710 ret 6 label L454 label L452 @@ -91592,7 +91246,7 @@ label L459 load 8 __or_1_458 brif 8 L456 L457 label L456 -strref 9 m22s716 +strref 9 m22s717 ret 9 label L457 label L455 @@ -91638,7 +91292,7 @@ label L468 load 31 __or_10_463 brif 31 L461 L462 label L461 -strref 32 m22s709 +strref 32 m22s710 ret 32 label L462 label L460 @@ -91660,7 +91314,7 @@ store __or_2_472 5 brif 5 L473 L472 label L472 load 7 obj_type -strref 8 m22s707 +strref 8 m22s708 call 9 pith_cstring_starts_with bool 2 7 8 call 10 pith_cstring_release void 1 8 store __or_2_472 9 @@ -91706,7 +91360,7 @@ label L484 load 31 __or_22_483 brif 31 L481 L482 label L481 -strref 32 m22s712 +strref 32 m22s713 ret 32 label L482 label L480 @@ -91752,7 +91406,7 @@ label L493 load 54 __or_33_488 brif 54 L486 L487 label L486 -strref 55 m22s714 +strref 55 m22s715 ret 55 label L487 label L485 @@ -91771,7 +91425,7 @@ store __or_57_497 60 brif 60 L498 L497 label L497 load 62 obj_type -strref 63 m22s706 +strref 63 m22s707 call 64 pith_cstring_starts_with bool 2 62 63 call 65 pith_cstring_release void 1 63 store __or_57_497 64 @@ -91789,7 +91443,7 @@ label L500 load 71 __and_56_497 brif 71 L495 L496 label L495 -strref 72 m22s714 +strref 72 m22s715 ret 72 label L496 label L494 @@ -91814,7 +91468,7 @@ store __or_79_506 82 brif 82 L507 L506 label L506 load 84 obj_type -strref 85 m22s709 +strref 85 m22s710 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 store __or_79_506 86 @@ -91824,7 +91478,7 @@ store __or_78_506 88 brif 88 L509 L508 label L508 load 89 obj_type -strref 90 m22s708 +strref 90 m22s709 call 91 pith_cstring_starts_with bool 2 89 90 call 92 pith_cstring_release void 1 90 store __or_78_506 91 @@ -91835,7 +91489,7 @@ label L505 load 94 __and_73_504 brif 94 L502 L503 label L502 -strref 95 m22s712 +strref 95 m22s713 ret 95 label L503 label L501 @@ -91858,12 +91512,12 @@ load 105 __or_96_513 brif 105 L511 L512 label L511 load 106 obj_type -strref 107 m22s709 +strref 107 m22s710 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 brif 108 L516 L517 label L516 -strref 110 m22s709 +strref 110 m22s710 ret 110 label L517 label L515 @@ -91877,7 +91531,7 @@ store __or_111_521 114 brif 114 L522 L521 label L521 load 116 obj_type -strref 117 m22s708 +strref 117 m22s709 call 118 pith_cstring_starts_with bool 2 116 117 call 119 pith_cstring_release void 1 117 store __or_111_521 118 @@ -91914,7 +91568,7 @@ store __or_4_526 7 brif 7 L527 L526 label L526 load 9 kind -strref 10 m22s712 +strref 10 m22s713 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 store __or_4_526 11 @@ -91924,7 +91578,7 @@ store __or_3_526 13 brif 13 L529 L528 label L528 load 14 kind -strref 15 m22s871 +strref 15 m22s872 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 store __or_3_526 16 @@ -91932,7 +91586,7 @@ label L529 load 18 __or_3_526 brif 18 L524 L525 label L524 -strref 19 m22s712 +strref 19 m22s713 load 20 first call 21 pith_struct_release void 1 20 ret 19 @@ -91948,7 +91602,7 @@ store __or_22_533 25 brif 25 L534 L533 label L533 load 27 kind -strref 28 m22s713 +strref 28 m22s714 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 store __or_22_533 29 @@ -91956,7 +91610,7 @@ label L534 load 31 __or_22_533 brif 31 L531 L532 label L531 -strref 32 m22s713 +strref 32 m22s714 load 33 first call 34 pith_struct_release void 1 33 ret 32 @@ -91972,7 +91626,7 @@ store __or_35_538 38 brif 38 L539 L538 label L538 load 40 kind -strref 41 m22s714 +strref 41 m22s715 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 store __or_35_538 42 @@ -91980,7 +91634,7 @@ label L539 load 44 __or_35_538 brif 44 L536 L537 label L536 -strref 45 m22s714 +strref 45 m22s715 load 46 first call 47 pith_struct_release void 1 46 ret 45 @@ -92000,7 +91654,7 @@ store __or_50_543 53 brif 53 L544 L543 label L543 load 55 kind -strref 56 m22s716 +strref 56 m22s717 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 store __or_50_543 57 @@ -92010,7 +91664,7 @@ store __or_49_543 59 brif 59 L546 L545 label L545 load 60 kind -strref 61 m22s872 +strref 61 m22s873 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 store __or_49_543 62 @@ -92028,7 +91682,7 @@ label L548 load 69 __or_48_543 brif 69 L541 L542 label L541 -strref 70 m22s716 +strref 70 m22s717 load 71 first call 72 pith_struct_release void 1 71 ret 70 @@ -92067,7 +91721,7 @@ brif 93 L559 L558 label L558 load 95 first field 96 95 0 string kind -strref 97 m22s716 +strref 97 m22s717 call 98 pith_cstring_eq bool 2 96 97 call 99 pith_cstring_release void 1 97 store __or_89_558 98 @@ -92075,7 +91729,7 @@ label L559 load 100 __or_89_558 brif 100 L556 L557 label L556 -strref 101 m22s709 +strref 101 m22s710 load 102 first call 103 pith_struct_release void 1 102 ret 101 @@ -92137,7 +91791,7 @@ brif 135 L573 L572 label L572 load 137 first field 138 137 0 string kind -strref 139 m22s712 +strref 139 m22s713 call 140 pith_cstring_eq bool 2 138 139 call 141 pith_cstring_release void 1 139 store __or_131_572 140 @@ -92148,7 +91802,7 @@ brif 142 L575 L574 label L574 load 143 first field 144 143 0 string kind -strref 145 m22s871 +strref 145 m22s872 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 store __or_130_572 146 @@ -92156,7 +91810,7 @@ label L575 load 148 __or_130_572 brif 148 L570 L571 label L570 -strref 149 m22s710 +strref 149 m22s711 load 150 first call 151 pith_struct_release void 1 150 ret 149 @@ -92208,7 +91862,7 @@ brif 6 L583 L582 label L582 load 8 node field 9 8 8 string value -strref 10 m22s870 +strref 10 m22s871 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 store __or_2_582 11 @@ -92219,7 +91873,7 @@ brif 13 L585 L584 label L584 load 14 node field 15 14 8 string value -strref 16 m22s869 +strref 16 m22s870 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 store __or_1_582 17 @@ -92227,11 +91881,11 @@ label L585 load 19 __or_1_582 brif 19 L580 L581 label L580 -strref 20 m22s714 +strref 20 m22s715 ret 20 label L581 label L579 -strref 21 m22s712 +strref 21 m22s713 ret 21 iconst 22 0 ret 22 @@ -93120,25 +92774,25 @@ store call_text 3 load 5 arg_regs call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_245 7 -store __for_len_245 6 -store __for_iter_245 5 +store __for_idx_244 7 +store __for_len_244 6 +store __for_iter_244 5 label L26 -load 8 __for_idx_245 -load 9 __for_len_245 +load 8 __for_idx_244 +load 9 __for_len_244 lt 10 8 9 brif 10 L27 L29 label L27 -load 11 __for_iter_245 -load 12 __for_idx_245 +load 11 __for_iter_244 +load 12 __for_idx_244 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_245_arg_reg 13 +store __loopvar_244_arg_reg 13 load 14 call_text load 15 call_text strref 16 m23s2 concat 17 15 16 call 18 pith_cstring_release void 1 16 -load 19 __loopvar_245_arg_reg +load 19 __loopvar_244_arg_reg call 20 int_to_string string 1 19 concat 21 17 20 call 22 pith_cstring_release void 1 17 @@ -93146,10 +92800,10 @@ call 23 pith_cstring_release void 1 20 call 24 pith_cstring_release void 1 14 store call_text 21 label L28 -load 25 __for_idx_245 +load 25 __for_idx_244 iconst 26 1 add 27 25 26 -store __for_idx_245 27 +store __for_idx_244 27 jmp L26 label L29 load 28 call_text @@ -93173,27 +92827,27 @@ store call_args 4 load 8 arg_regs call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_246 10 -store __for_len_246 9 -store __for_iter_246 8 +store __for_idx_245 10 +store __for_len_245 9 +store __for_iter_245 8 label L30 -load 11 __for_idx_246 -load 12 __for_len_246 +load 11 __for_idx_245 +load 12 __for_len_245 lt 13 11 12 brif 13 L31 L33 label L31 -load 14 __for_iter_246 -load 15 __for_idx_246 +load 14 __for_iter_245 +load 15 __for_idx_245 call 16 pith_list_get_value unknown 2 14 15 -store __loopvar_246_arg_reg 16 +store __loopvar_245_arg_reg 16 load 17 call_args -load 18 __loopvar_246_arg_reg +load 18 __loopvar_245_arg_reg call 19 pith_list_push_value void 2 17 18 label L32 -load 20 __for_idx_246 +load 20 __for_idx_245 iconst 21 1 add 22 20 21 -store __for_idx_246 22 +store __for_idx_245 22 jmp L30 label L33 load 23 call_args @@ -94065,25 +93719,25 @@ store suffix 18 load 20 arg_names call 21 pith_auto_len int 1 20 iconst 22 0 -store __for_idx_247 22 -store __for_len_247 21 -store __for_iter_247 20 +store __for_idx_246 22 +store __for_len_246 21 +store __for_iter_246 20 label L41 -load 23 __for_idx_247 -load 24 __for_len_247 +load 23 __for_idx_246 +load 24 __for_len_246 lt 25 23 24 brif 25 L42 L44 label L42 -load 26 __for_iter_247 -load 27 __for_idx_247 +load 26 __for_iter_246 +load 27 __for_idx_246 call 28 pith_list_get_value_unchecked string 2 26 27 -store __loopvar_247_an 28 +store __loopvar_246_an 28 load 29 suffix load 30 suffix strref 31 m24s25 concat 32 30 31 call 33 pith_cstring_release void 1 31 -load 34 __loopvar_247_an +load 34 __loopvar_246_an call 35 ir_method_tables_ir_sanitize_symbol string 1 34 concat 36 32 35 call 37 pith_cstring_release void 1 32 @@ -94091,10 +93745,10 @@ call 38 pith_cstring_release void 1 35 call 39 pith_cstring_release void 1 29 store suffix 36 label L43 -load 40 __for_idx_247 +load 40 __for_idx_246 iconst 41 1 add 42 40 41 -store __for_idx_247 42 +store __for_idx_246 42 jmp L41 label L44 load 43 full_name @@ -94569,28 +94223,28 @@ store encoded 3 load 5 items call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_248 7 -store __for_len_248 6 -store __for_iter_248 5 +store __for_idx_247 7 +store __for_len_247 6 +store __for_iter_247 5 label L0 -load 8 __for_idx_248 -load 9 __for_len_248 +load 8 __for_idx_247 +load 9 __for_len_247 lt 10 8 9 brif 10 L1 L3 label L1 -load 11 __for_iter_248 -load 12 __for_idx_248 +load 11 __for_iter_247 +load 12 __for_idx_247 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_248_item 13 +store __loopvar_247_item 13 load 14 encoded -load 15 __loopvar_248_item +load 15 __loopvar_247_item call 16 int_to_string string 1 15 call 17 pith_list_push_value_owned void 2 14 16 label L2 -load 18 __for_idx_248 +load 18 __for_idx_247 iconst 19 1 add 20 18 19 -store __for_idx_248 20 +store __for_idx_247 20 jmp L0 label L3 load 21 encoded @@ -94758,28 +94412,28 @@ store parts 17 load 20 parts call 21 pith_auto_len int 1 20 iconst 22 0 -store __for_idx_249 22 -store __for_len_249 21 -store __for_iter_249 20 +store __for_idx_248 22 +store __for_len_248 21 +store __for_iter_248 20 label L21 -load 23 __for_idx_249 -load 24 __for_len_249 +load 23 __for_idx_248 +load 24 __for_len_248 lt 25 23 24 brif 25 L22 L24 label L22 -load 26 __for_iter_249 -load 27 __for_idx_249 +load 26 __for_iter_248 +load 27 __for_idx_248 call 28 pith_list_get_value_unchecked string 2 26 27 -store __loopvar_249_part 28 +store __loopvar_248_part 28 load 29 decoded -load 30 __loopvar_249_part +load 30 __loopvar_248_part call 31 ir_utils_ir_parse_cached_int int 1 30 call 32 pith_list_push_value void 2 29 31 label L23 -load 33 __for_idx_249 +load 33 __for_idx_248 iconst 34 1 add 35 33 34 -store __for_idx_249 35 +store __for_idx_248 35 jmp L21 label L24 load 36 decoded @@ -94805,33 +94459,33 @@ load 5 src call 6 map_keys list_string 1 5 call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_250 8 -store __for_len_250 7 -store __for_iter_250 6 +store __for_idx_249 8 +store __for_len_249 7 +store __for_iter_249 6 label L25 -load 9 __for_idx_250 -load 10 __for_len_250 +load 9 __for_idx_249 +load 10 __for_len_249 lt 11 9 10 brif 11 L26 L28 label L26 -load 12 __for_iter_250 -load 13 __for_idx_250 +load 12 __for_iter_249 +load 13 __for_idx_249 call 14 pith_list_get_value_unchecked string 2 12 13 -store __loopvar_250_key 14 +store __loopvar_249_key 14 load 15 copy -load 16 __loopvar_250_key +load 16 __loopvar_249_key load 17 src -load 18 __loopvar_250_key +load 18 __loopvar_249_key call 19 map_get_strict int 2 17 18 call 20 map_insert void 3 15 16 19 label L27 -load 21 __for_idx_250 +load 21 __for_idx_249 iconst 22 1 add 23 21 22 -store __for_idx_250 23 +store __for_idx_249 23 jmp L25 label L28 -load 24 __for_iter_250 +load 24 __for_iter_249 call 25 pith_list_release_handle void 1 24 load 26 copy ret 26 @@ -94852,33 +94506,33 @@ load 5 src call 6 map_keys list_string 1 5 call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_251 8 -store __for_len_251 7 -store __for_iter_251 6 +store __for_idx_250 8 +store __for_len_250 7 +store __for_iter_250 6 label L29 -load 9 __for_idx_251 -load 10 __for_len_251 +load 9 __for_idx_250 +load 10 __for_len_250 lt 11 9 10 brif 11 L30 L32 label L30 -load 12 __for_iter_251 -load 13 __for_idx_251 +load 12 __for_iter_250 +load 13 __for_idx_250 call 14 pith_list_get_value_unchecked string 2 12 13 -store __loopvar_251_key 14 +store __loopvar_250_key 14 load 15 copy -load 16 __loopvar_251_key +load 16 __loopvar_250_key load 17 src -load 18 __loopvar_251_key +load 18 __loopvar_250_key call 19 map_get_strict string 2 17 18 call 20 map_insert void 3 15 16 19 label L31 -load 21 __for_idx_251 +load 21 __for_idx_250 iconst 22 1 add 23 21 22 -store __for_idx_251 23 +store __for_idx_250 23 jmp L29 label L32 -load 24 __for_iter_251 +load 24 __for_iter_250 call 25 pith_list_release_handle void 1 24 load 26 copy ret 26 @@ -95391,20 +95045,20 @@ load 1 node field 2 1 16 list children call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_252 4 -store __for_len_252 3 -store __for_iter_252 2 +store __for_idx_251 4 +store __for_len_251 3 +store __for_iter_251 2 label L2 -load 5 __for_idx_252 -load 6 __for_len_252 +load 5 __for_idx_251 +load 6 __for_len_251 lt 7 5 6 brif 7 L3 L5 label L3 -load 8 __for_iter_252 -load 9 __for_idx_252 +load 8 __for_iter_251 +load 9 __for_idx_251 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_252_child 10 -load 11 __loopvar_252_child +store __loopvar_251_child 10 +load 11 __loopvar_251_child call 12 ast_get_node struct:Node 1 11 field 13 12 0 string kind strref 14 m26s134 @@ -95417,10 +95071,10 @@ ret 17 label L8 label L6 label L4 -load 18 __for_idx_252 +load 18 __for_idx_251 iconst 19 1 add 20 18 19 -store __for_idx_252 20 +store __for_idx_251 20 jmp L2 label L5 iconst 21 0 @@ -95505,21 +95159,21 @@ load 9 node field 10 9 16 list children call 11 pith_auto_len int 1 10 iconst 12 0 -store __for_idx_253 12 -store __for_len_253 11 -store __for_iter_253 10 +store __for_idx_252 12 +store __for_len_252 11 +store __for_iter_252 10 label L15 -load 13 __for_idx_253 -load 14 __for_len_253 +load 13 __for_idx_252 +load 14 __for_len_252 lt 15 13 14 brif 15 L16 L18 label L16 -load 16 __for_iter_253 -load 17 __for_idx_253 +load 16 __for_iter_252 +load 17 __for_idx_252 call 18 pith_list_get_value unknown 2 16 17 -store __loopvar_253_child 18 +store __loopvar_252_child 18 load 19 cn -load 20 __loopvar_253_child +load 20 __loopvar_252_child call 21 ast_get_node struct:Node 1 20 call 22 pith_struct_release void 1 19 store cn 21 @@ -95553,10 +95207,10 @@ jmp L19 label L21 label L19 label L17 -load 41 __for_idx_253 +load 41 __for_idx_252 iconst 42 1 add 43 41 42 -store __for_idx_253 43 +store __for_idx_252 43 jmp L15 label L18 strref 44 m26s17 @@ -95852,28 +95506,28 @@ store suffix_parts 4 load 6 type_names call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_254 8 -store __for_len_254 7 -store __for_iter_254 6 +store __for_idx_253 8 +store __for_len_253 7 +store __for_iter_253 6 label L50 -load 9 __for_idx_254 -load 10 __for_len_254 +load 9 __for_idx_253 +load 10 __for_len_253 lt 11 9 10 brif 11 L51 L53 label L51 -load 12 __for_iter_254 -load 13 __for_idx_254 +load 12 __for_iter_253 +load 13 __for_idx_253 call 14 pith_list_get_value_unchecked string 2 12 13 -store __loopvar_254_type_name 14 +store __loopvar_253_type_name 14 load 15 suffix_parts -load 16 __loopvar_254_type_name +load 16 __loopvar_253_type_name call 17 ir_generics_ir_sanitize_symbol_part string 1 16 call 18 pith_list_push_value_owned void 2 15 17 label L52 -load 19 __for_idx_254 +load 19 __for_idx_253 iconst 20 1 add 21 19 20 -store __for_idx_254 21 +store __for_idx_253 21 jmp L50 label L53 load 22 name @@ -95904,31 +95558,31 @@ param struct_names load 5 generic_params call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_255 7 -store __for_len_255 6 -store __for_iter_255 5 +store __for_idx_254 7 +store __for_len_254 6 +store __for_iter_254 5 label L54 -load 8 __for_idx_255 -load 9 __for_len_255 +load 8 __for_idx_254 +load 9 __for_len_254 lt 10 8 9 brif 10 L55 L57 label L55 -load 11 __for_iter_255 -load 12 __for_idx_255 +load 11 __for_iter_254 +load 12 __for_idx_254 call 13 pith_list_get_value_unchecked string 2 11 12 -store __loopvar_255_generic_param 13 -load 14 __for_idx_255 -store __loopvar_255_i 14 +store __loopvar_254_generic_param 13 +load 14 __for_idx_254 +store __loopvar_254_i 14 iconst 15 0 store __and_15_61 15 -load 16 __loopvar_255_i +load 16 __loopvar_254_i load 17 concrete_types call 18 pith_list_len int 1 17 lt 19 16 18 store __and_15_61 19 brif 19 L61 L62 label L61 -load 20 __loopvar_255_generic_param +load 20 __loopvar_254_generic_param load 21 name call 22 pith_cstring_eq bool 2 20 21 store __and_15_61 22 @@ -95937,17 +95591,17 @@ load 23 __and_15_61 brif 23 L59 L60 label L59 load 24 concrete_types -load 25 __loopvar_255_i +load 25 __loopvar_254_i call 26 pith_list_get_value_strict string 2 24 25 call 27 pith_cstring_retain void 1 26 ret 26 label L60 label L58 label L56 -load 28 __for_idx_255 +load 28 __for_idx_254 iconst 29 1 add 30 28 29 -store __for_idx_255 30 +store __for_idx_254 30 jmp L54 label L57 load 31 name @@ -96393,21 +96047,21 @@ load 12 node field 13 12 16 list children call 14 pith_auto_len int 1 13 iconst 15 0 -store __for_idx_256 15 -store __for_len_256 14 -store __for_iter_256 13 +store __for_idx_255 15 +store __for_len_255 14 +store __for_iter_255 13 label L112 -load 16 __for_idx_256 -load 17 __for_len_256 +load 16 __for_idx_255 +load 17 __for_len_255 lt 18 16 17 brif 18 L113 L115 label L113 -load 19 __for_iter_256 -load 20 __for_idx_256 +load 19 __for_iter_255 +load 20 __for_idx_255 call 21 pith_list_get_value unknown 2 19 20 -store __loopvar_256_child 21 +store __loopvar_255_child 21 load 22 cn -load 23 __loopvar_256_child +load 23 __loopvar_255_child call 24 ast_get_node struct:Node 1 23 call 25 pith_struct_release void 1 22 store cn 24 @@ -96422,21 +96076,21 @@ load 31 cn field 32 31 16 list children call 33 pith_auto_len int 1 32 iconst 34 0 -store __for_idx_257 34 -store __for_len_257 33 -store __for_iter_257 32 +store __for_idx_256 34 +store __for_len_256 33 +store __for_iter_256 32 label L119 -load 35 __for_idx_257 -load 36 __for_len_257 +load 35 __for_idx_256 +load 36 __for_len_256 lt 37 35 36 brif 37 L120 L122 label L120 -load 38 __for_iter_257 -load 39 __for_idx_257 +load 38 __for_iter_256 +load 39 __for_idx_256 call 40 pith_list_get_value unknown 2 38 39 -store __loopvar_257_returns_child 40 +store __loopvar_256_returns_child 40 load 41 rn -load 42 __loopvar_257_returns_child +load 42 __loopvar_256_returns_child call 43 ast_get_node struct:Node 1 42 call 44 pith_struct_release void 1 41 store rn 43 @@ -96486,7 +96140,7 @@ label L131 load 70 __or_45_126 brif 70 L124 L125 label L124 -load 71 __loopvar_257_returns_child +load 71 __loopvar_256_returns_child load 72 generic_params load 73 concrete_types load 74 type_aliases @@ -96502,20 +96156,20 @@ ret 76 label L125 label L123 label L121 -load 83 __for_idx_257 +load 83 __for_idx_256 iconst 84 1 add 85 83 84 -store __for_idx_257 85 +store __for_idx_256 85 jmp L119 label L122 jmp L116 label L118 label L116 label L114 -load 86 __for_idx_256 +load 86 __for_idx_255 iconst 87 1 add 88 86 87 -store __for_idx_256 88 +store __for_idx_255 88 jmp L112 label L115 strref 89 m26s65 @@ -96556,21 +96210,21 @@ load 12 node field 13 12 16 list children call 14 pith_auto_len int 1 13 iconst 15 0 -store __for_idx_258 15 -store __for_len_258 14 -store __for_iter_258 13 +store __for_idx_257 15 +store __for_len_257 14 +store __for_iter_257 13 label L132 -load 16 __for_idx_258 -load 17 __for_len_258 +load 16 __for_idx_257 +load 17 __for_len_257 lt 18 16 17 brif 18 L133 L135 label L133 -load 19 __for_iter_258 -load 20 __for_idx_258 +load 19 __for_iter_257 +load 20 __for_idx_257 call 21 pith_list_get_value unknown 2 19 20 -store __loopvar_258_child 21 +store __loopvar_257_child 21 load 22 cn -load 23 __loopvar_258_child +load 23 __loopvar_257_child call 24 ast_get_node struct:Node 1 23 call 25 pith_struct_release void 1 22 store cn 24 @@ -96585,21 +96239,21 @@ load 31 cn field 32 31 16 list children call 33 pith_auto_len int 1 32 iconst 34 0 -store __for_idx_259 34 -store __for_len_259 33 -store __for_iter_259 32 +store __for_idx_258 34 +store __for_len_258 33 +store __for_iter_258 32 label L139 -load 35 __for_idx_259 -load 36 __for_len_259 +load 35 __for_idx_258 +load 36 __for_len_258 lt 37 35 36 brif 37 L140 L142 label L140 -load 38 __for_iter_259 -load 39 __for_idx_259 +load 38 __for_iter_258 +load 39 __for_idx_258 call 40 pith_list_get_value unknown 2 38 39 -store __loopvar_259_returns_child 40 +store __loopvar_258_returns_child 40 load 41 rn -load 42 __loopvar_259_returns_child +load 42 __loopvar_258_returns_child call 43 ast_get_node struct:Node 1 42 call 44 pith_struct_release void 1 41 store rn 43 @@ -96642,20 +96296,20 @@ ret 65 label L145 label L143 label L141 -load 72 __for_idx_259 +load 72 __for_idx_258 iconst 73 1 add 74 72 73 -store __for_idx_259 74 +store __for_idx_258 74 jmp L139 label L142 jmp L136 label L138 label L136 label L134 -load 75 __for_idx_258 +load 75 __for_idx_257 iconst 76 1 add 77 75 76 -store __for_idx_258 77 +store __for_idx_257 77 jmp L132 label L135 strref 78 m26s17 @@ -96700,21 +96354,21 @@ load 15 node field 16 15 16 list children call 17 pith_auto_len int 1 16 iconst 18 0 -store __for_idx_260 18 -store __for_len_260 17 -store __for_iter_260 16 +store __for_idx_259 18 +store __for_len_259 17 +store __for_iter_259 16 label L148 -load 19 __for_idx_260 -load 20 __for_len_260 +load 19 __for_idx_259 +load 20 __for_len_259 lt 21 19 20 brif 21 L149 L151 label L149 -load 22 __for_iter_260 -load 23 __for_idx_260 +load 22 __for_iter_259 +load 23 __for_idx_259 call 24 pith_list_get_value unknown 2 22 23 -store __loopvar_260_child 24 +store __loopvar_259_child 24 load 25 cn -load 26 __loopvar_260_child +load 26 __loopvar_259_child call 27 ast_get_node struct:Node 1 26 call 28 pith_struct_release void 1 25 store cn 27 @@ -96753,10 +96407,10 @@ jmp L152 label L154 label L152 label L150 -load 53 __for_idx_260 +load 53 __for_idx_259 iconst 54 1 add 55 53 54 -store __for_idx_260 55 +store __for_idx_259 55 jmp L148 label L151 load 56 param_types @@ -96933,22 +96587,22 @@ store encoded 19 load 21 arg_tids call 22 pith_auto_len int 1 21 iconst 23 0 -store __for_idx_261 23 -store __for_len_261 22 -store __for_iter_261 21 +store __for_idx_260 23 +store __for_len_260 22 +store __for_iter_260 21 label L167 -load 24 __for_idx_261 -load 25 __for_len_261 +load 24 __for_idx_260 +load 25 __for_len_260 lt 26 24 25 brif 26 L168 L170 label L168 -load 27 __for_iter_261 -load 28 __for_idx_261 +load 27 __for_iter_260 +load 28 __for_idx_260 call 29 pith_list_get_value unknown 2 27 28 -store __loopvar_261_tid 29 -load 30 __for_idx_261 -store __loopvar_261_i 30 -load 31 __loopvar_261_i +store __loopvar_260_tid 29 +load 30 __for_idx_260 +store __loopvar_260_i 30 +load 31 __loopvar_260_i iconst 32 0 gt 33 31 32 brif 33 L172 L173 @@ -96966,17 +96620,17 @@ label L173 label L171 load 41 encoded load 42 encoded -load 43 __loopvar_261_tid +load 43 __loopvar_260_tid call 44 int_to_string string 1 43 concat 45 42 44 call 46 pith_cstring_release void 1 44 call 47 pith_cstring_release void 1 41 store encoded 45 label L169 -load 48 __for_idx_261 +load 48 __for_idx_260 iconst 49 1 add 50 48 49 -store __for_idx_261 50 +store __for_idx_260 50 jmp L167 label L170 load 51 ir_generics_ir_generic_specialization_arg_tids @@ -97045,19 +96699,19 @@ call 35 pith_string_split_to_list list_string 2 32 34 call 36 pith_cstring_release void 1 34 call 37 pith_auto_len int 1 35 iconst 38 0 -store __for_idx_262 38 -store __for_len_262 37 -store __for_iter_262 35 +store __for_idx_261 38 +store __for_len_261 37 +store __for_iter_261 35 label L180 -load 39 __for_idx_262 -load 40 __for_len_262 +load 39 __for_idx_261 +load 40 __for_len_261 lt 41 39 40 brif 41 L181 L183 label L181 -load 42 __for_iter_262 -load 43 __for_idx_262 +load 42 __for_iter_261 +load 43 __for_idx_261 call 44 pith_list_get_value_unchecked string 2 42 43 -store __loopvar_262_part 44 +store __loopvar_261_part 44 iconst 45 0 store val 45 iconst 46 0 @@ -97066,14 +96720,14 @@ iconst 47 0 store i 47 iconst 48 0 store __and_48_187 48 -load 49 __loopvar_262_part +load 49 __loopvar_261_part call 50 string_len int 1 49 iconst 51 0 gt 52 50 51 store __and_48_187 52 brif 52 L187 L188 label L187 -load 53 __loopvar_262_part +load 53 __loopvar_261_part iconst 54 0 call 55 pith_cstring_byte_at int 2 53 54 iconst 56 45 @@ -97092,13 +96746,13 @@ label L186 label L184 label L189 load 61 i -load 62 __loopvar_262_part +load 62 __loopvar_261_part call 63 string_len int 1 62 lt 64 61 63 brif 64 L190 L191 label L190 load 65 c -load 66 __loopvar_262_part +load 66 __loopvar_261_part load 67 i call 68 pith_cstring_char_at_strict string 2 66 67 call 69 pith_cstring_release void 1 65 @@ -97153,13 +96807,13 @@ load 95 result load 96 val call 97 pith_list_push_value void 2 95 96 label L182 -load 98 __for_idx_262 +load 98 __for_idx_261 iconst 99 1 add 100 98 99 -store __for_idx_262 100 +store __for_idx_261 100 jmp L180 label L183 -load 101 __for_iter_262 +load 101 __for_iter_261 call 102 pith_list_release_handle void 1 101 load 103 result load 104 encoded @@ -101044,20 +100698,20 @@ load 1 target_info field 2 1 24 list field_types call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_263 4 -store __for_len_263 3 -store __for_iter_263 2 +store __for_idx_262 4 +store __for_len_262 3 +store __for_iter_262 2 label L335 -load 5 __for_idx_263 -load 6 __for_len_263 +load 5 __for_idx_262 +load 6 __for_len_262 lt 7 5 6 brif 7 L336 L338 label L336 -load 8 __for_iter_263 -load 9 __for_idx_263 +load 8 __for_iter_262 +load 9 __for_idx_262 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_263_field_tid 10 -load 11 __loopvar_263_field_tid +store __loopvar_262_field_tid 10 +load 11 __loopvar_262_field_tid call 12 ir_decode_calls_ir_optional_inner_tid int 1 11 iconst 13 0 gte 14 12 13 @@ -101068,10 +100722,10 @@ ret 15 label L341 label L339 label L337 -load 16 __for_idx_263 +load 16 __for_idx_262 iconst 17 1 add 18 16 17 -store __for_idx_263 18 +store __for_idx_262 18 jmp L335 label L338 iconst 19 0 @@ -101086,26 +100740,26 @@ load 2 target_info field 3 2 16 list_string fields call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_264 5 -store __for_len_264 4 -store __for_iter_264 3 +store __for_idx_263 5 +store __for_len_263 4 +store __for_iter_263 3 label L342 -load 6 __for_idx_264 -load 7 __for_len_264 +load 6 __for_idx_263 +load 7 __for_len_263 lt 8 6 7 brif 8 L343 L345 label L343 -load 9 __for_iter_264 -load 10 __for_idx_264 +load 9 __for_iter_263 +load 10 __for_idx_263 call 11 pith_list_get_value_unchecked string 2 9 10 -store __loopvar_264_field_name 11 +store __loopvar_263_field_name 11 load 12 struct_field_default_nodes load 13 target_info field 14 13 8 string name strref 15 m28s16 concat 16 14 15 call 17 pith_cstring_release void 1 15 -load 18 __loopvar_264_field_name +load 18 __loopvar_263_field_name concat 19 16 18 call 20 pith_cstring_release void 1 16 call 21 contains_key bool 2 12 19 @@ -101117,10 +100771,10 @@ ret 23 label L348 label L346 label L344 -load 24 __for_idx_264 +load 24 __for_idx_263 iconst 25 1 add 26 24 25 -store __for_idx_264 26 +store __for_idx_263 26 jmp L342 label L345 iconst 27 0 @@ -101134,20 +100788,20 @@ load 1 target_info field 2 1 24 list field_types call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_265 4 -store __for_len_265 3 -store __for_iter_265 2 +store __for_idx_264 4 +store __for_len_264 3 +store __for_iter_264 2 label L349 -load 5 __for_idx_265 -load 6 __for_len_265 +load 5 __for_idx_264 +load 6 __for_len_264 lt 7 5 6 brif 7 L350 L352 label L350 -load 8 __for_iter_265 -load 9 __for_idx_265 +load 8 __for_iter_264 +load 9 __for_idx_264 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_265_field_tid 10 -load 11 __loopvar_265_field_tid +store __loopvar_264_field_tid 10 +load 11 __loopvar_264_field_tid call 12 ir_decode_calls_ir_struct_decode_field_tid int 1 11 iconst 13 0 gte 14 12 13 @@ -101157,7 +100811,7 @@ iconst 15 1 ret 15 label L355 label L353 -load 16 __loopvar_265_field_tid +load 16 __loopvar_264_field_tid call 17 ir_decode_calls_ir_optional_inner_tid int 1 16 store optional_inner_tid 17 iconst 18 0 @@ -101182,10 +100836,10 @@ ret 27 label L358 label L356 label L351 -load 28 __for_idx_265 +load 28 __for_idx_264 iconst 29 1 add 30 28 29 -store __for_idx_265 30 +store __for_idx_264 30 jmp L349 label L352 iconst 31 0 @@ -101828,169 +101482,170 @@ string m29s605 "': another impl block already declares it" string m29s606 "' on '" string m29s607 "duplicate method '" string m29s608 "E263" -string m29s609 "iface" -string m29s610 "inherent" -string m29s611 "assoc_type" -string m29s612 "' is a builtin type name and cannot be used as an enum name" -string m29s613 "E250" -string m29s614 "' must be " -string m29s615 "default for field '" -string m29s616 "' is a builtin type name and cannot be used as a struct name" -string m29s617 "' must be an optional struct type (T?)" -string m29s618 "weak field '" -string m29s619 "E249" -string m29s620 "parameter requires a type annotation" -string m29s621 "type_alias" -string m29s622 "interface_decl" -string m29s623 "unknown generic type: " -string m29s624 "Channel expects 1 type argument, got " -string m29s625 "Task expects 1 type argument, got " -string m29s626 "Map expects 2 type arguments, got " -string m29s627 "Set expects 1 type argument, got " -string m29s628 "List expects 1 type argument, got " -string m29s629 "type nesting too deep" -string m29s630 "E233" -string m29s631 "import it from the module that defines it" -string m29s632 "' is not declared by module '" -string m29s633 "E246" -string m29s634 "*" -string m29s635 "L" -string m29s636 "string " -string m29s637 "__" -string m29s638 "s" -string m29s639 "m" -string m29s640 "IrBuilderSnapshot(" -string m29s641 "..." -string m29s642 "inext_reg,lines" -string m29s643 "next_reg" -string m29s644 "next_reg: " -string m29s645 "lines" -string m29s646 ", lines: " -string m29s647 "int" -string m29s648 "bool" -string m29s649 "not_op" -string m29s650 "!" -string m29s651 "set_int" -string m29s652 "integer" -string m29s653 "list_string" -string m29s654 "string" -string m29s655 "str_lit" -string m29s656 "float" -string m29s657 "list:" -string m29s658 "task:" -string m29s659 "channel:" -string m29s660 "bytes" -string m29s661 "map_int" -string m29s662 "unknown" -string m29s663 "closure" -string m29s664 "struct:" -string m29s665 "opaque:" -string m29s666 "void" -string m29s667 "Set[UInt64]" -string m29s668 "Set[UInt32]" -string m29s669 "Set[UInt16]" -string m29s670 "Set[UInt8]" -string m29s671 "Set[Int64]" -string m29s672 "Set[Int32]" -string m29s673 "Set[Int16]" -string m29s674 "Set[Int8]" -string m29s675 "Set[UInt]" -string m29s676 "Set[Int]" -string m29s677 "Map[Int, " -string m29s678 "Map[Int," -string m29s679 "List[String]" -string m29s680 "none" -string m29s681 "" -string m29s682 "fn" -string m29s683 "TypeInfo(" -string m29s684 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" -string m29s685 "kind" -string m29s686 "kind: " -string m29s687 "name" -string m29s688 ", name: " -string m29s689 "fields" -string m29s690 ", fields: " -string m29s691 "field_types" -string m29s692 ", field_types: " -string m29s693 "field_pub" -string m29s694 ", field_pub: " -string m29s695 "field_mut" -string m29s696 ", field_mut: " -string m29s697 "param_types" -string m29s698 ", param_types: " -string m29s699 "return_type" -string m29s700 ", return_type: " -string m29s701 "inner" -string m29s702 ", inner: " -string m29s703 "key_type" -string m29s704 ", key_type: " -string m29s705 "value_type" -string m29s706 ", value_type: " -string m29s707 "elements" -string m29s708 ", elements: " -string m29s709 "variants" -string m29s710 ", variants: " -string m29s711 "variant_types" -string m29s712 ", variant_types: " -string m29s713 "field " -string m29s714 "eq " -string m29s715 " 0" -string m29s716 "iconst " -string m29s717 " 0 bool is_ok" -string m29s718 "parse_int failed" -string m29s719 "file_open_read failed" -string m29s720 "file_open_write failed" -string m29s721 "file_open_append failed" -string m29s722 "byte_buffer_write failed" -string m29s723 "byte_buffer_write_string_utf8 failed" -string m29s724 "byte_buffer_write_byte failed" -string m29s725 "file_write failed" -string m29s726 "file_write_bytes failed" -string m29s727 "tcp_connect failed" -string m29s728 "tcp_listen failed" -string m29s729 "tcp_accept failed" -string m29s730 "tcp_write failed" -string m29s731 "tcp_write_bytes failed" -string m29s732 "process_spawn failed" -string m29s733 "process_spawn_argv failed" -string m29s734 "process_output_argv failed" -string m29s735 "process_write failed" -string m29s736 "process_write_bytes failed" -string m29s737 "crypto_x25519_keygen failed" -string m29s738 "write_file failed" -string m29s739 "append_file failed" -string m29s740 "write_file_bytes failed" -string m29s741 "append_file_bytes failed" -string m29s742 "read_file failed" -string m29s743 "exec_output failed" -string m29s744 "dns_resolve failed" -string m29s745 "bytes_to_string_utf8 failed" -string m29s746 "bytes_substring_utf8 failed" -string m29s747 "file_read failed" -string m29s748 "tcp_read failed" -string m29s749 "process_read failed" -string m29s750 "process_read_err failed" -string m29s751 "read_file_bytes failed" -string m29s752 "b64_decode failed" -string m29s753 "from_hex failed" -string m29s754 "file_read_bytes failed" -string m29s755 "tcp_read_bytes failed" -string m29s756 "process_read_bytes failed" -string m29s757 "process_read_err_bytes failed" -string m29s758 "crypto_x25519_public_key failed" -string m29s759 "crypto_x25519_shared_secret failed" -string m29s760 "crypto_aes_128_gcm_seal failed" -string m29s761 "crypto_aes_128_gcm_open failed" -string m29s762 "crypto_chacha20_poly1305_seal failed" -string m29s763 "crypto_chacha20_poly1305_open failed" -string m29s764 "crypto_sign_rsa_pss_sha256_pkcs8 failed" -string m29s765 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" -string m29s766 "crypto_sign_ed25519_pkcs8 failed" -string m29s767 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" -string m29s768 "crypto_blake2b failed" -string m29s769 "crypto_argon2id failed" -string m29s770 "zstd_compress failed" -string m29s771 "zstd_decompress failed" +string m29s609 "#" +string m29s610 "iface" +string m29s611 "inherent" +string m29s612 "assoc_type" +string m29s613 "' is a builtin type name and cannot be used as an enum name" +string m29s614 "E250" +string m29s615 "' must be " +string m29s616 "default for field '" +string m29s617 "' is a builtin type name and cannot be used as a struct name" +string m29s618 "' must be an optional struct type (T?)" +string m29s619 "weak field '" +string m29s620 "E249" +string m29s621 "parameter requires a type annotation" +string m29s622 "type_alias" +string m29s623 "interface_decl" +string m29s624 "unknown generic type: " +string m29s625 "Channel expects 1 type argument, got " +string m29s626 "Task expects 1 type argument, got " +string m29s627 "Map expects 2 type arguments, got " +string m29s628 "Set expects 1 type argument, got " +string m29s629 "List expects 1 type argument, got " +string m29s630 "type nesting too deep" +string m29s631 "E233" +string m29s632 "import it from the module that defines it" +string m29s633 "' is not declared by module '" +string m29s634 "E246" +string m29s635 "*" +string m29s636 "L" +string m29s637 "string " +string m29s638 "__" +string m29s639 "s" +string m29s640 "m" +string m29s641 "IrBuilderSnapshot(" +string m29s642 "..." +string m29s643 "inext_reg,lines" +string m29s644 "next_reg" +string m29s645 "next_reg: " +string m29s646 "lines" +string m29s647 ", lines: " +string m29s648 "int" +string m29s649 "bool" +string m29s650 "not_op" +string m29s651 "!" +string m29s652 "set_int" +string m29s653 "integer" +string m29s654 "list_string" +string m29s655 "string" +string m29s656 "str_lit" +string m29s657 "float" +string m29s658 "list:" +string m29s659 "task:" +string m29s660 "channel:" +string m29s661 "bytes" +string m29s662 "map_int" +string m29s663 "unknown" +string m29s664 "closure" +string m29s665 "struct:" +string m29s666 "opaque:" +string m29s667 "void" +string m29s668 "Set[UInt64]" +string m29s669 "Set[UInt32]" +string m29s670 "Set[UInt16]" +string m29s671 "Set[UInt8]" +string m29s672 "Set[Int64]" +string m29s673 "Set[Int32]" +string m29s674 "Set[Int16]" +string m29s675 "Set[Int8]" +string m29s676 "Set[UInt]" +string m29s677 "Set[Int]" +string m29s678 "Map[Int, " +string m29s679 "Map[Int," +string m29s680 "List[String]" +string m29s681 "none" +string m29s682 "" +string m29s683 "fn" +string m29s684 "TypeInfo(" +string m29s685 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" +string m29s686 "kind" +string m29s687 "kind: " +string m29s688 "name" +string m29s689 ", name: " +string m29s690 "fields" +string m29s691 ", fields: " +string m29s692 "field_types" +string m29s693 ", field_types: " +string m29s694 "field_pub" +string m29s695 ", field_pub: " +string m29s696 "field_mut" +string m29s697 ", field_mut: " +string m29s698 "param_types" +string m29s699 ", param_types: " +string m29s700 "return_type" +string m29s701 ", return_type: " +string m29s702 "inner" +string m29s703 ", inner: " +string m29s704 "key_type" +string m29s705 ", key_type: " +string m29s706 "value_type" +string m29s707 ", value_type: " +string m29s708 "elements" +string m29s709 ", elements: " +string m29s710 "variants" +string m29s711 ", variants: " +string m29s712 "variant_types" +string m29s713 ", variant_types: " +string m29s714 "field " +string m29s715 "eq " +string m29s716 " 0" +string m29s717 "iconst " +string m29s718 " 0 bool is_ok" +string m29s719 "parse_int failed" +string m29s720 "file_open_read failed" +string m29s721 "file_open_write failed" +string m29s722 "file_open_append failed" +string m29s723 "byte_buffer_write failed" +string m29s724 "byte_buffer_write_string_utf8 failed" +string m29s725 "byte_buffer_write_byte failed" +string m29s726 "file_write failed" +string m29s727 "file_write_bytes failed" +string m29s728 "tcp_connect failed" +string m29s729 "tcp_listen failed" +string m29s730 "tcp_accept failed" +string m29s731 "tcp_write failed" +string m29s732 "tcp_write_bytes failed" +string m29s733 "process_spawn failed" +string m29s734 "process_spawn_argv failed" +string m29s735 "process_output_argv failed" +string m29s736 "process_write failed" +string m29s737 "process_write_bytes failed" +string m29s738 "crypto_x25519_keygen failed" +string m29s739 "write_file failed" +string m29s740 "append_file failed" +string m29s741 "write_file_bytes failed" +string m29s742 "append_file_bytes failed" +string m29s743 "read_file failed" +string m29s744 "exec_output failed" +string m29s745 "dns_resolve failed" +string m29s746 "bytes_to_string_utf8 failed" +string m29s747 "bytes_substring_utf8 failed" +string m29s748 "file_read failed" +string m29s749 "tcp_read failed" +string m29s750 "process_read failed" +string m29s751 "process_read_err failed" +string m29s752 "read_file_bytes failed" +string m29s753 "b64_decode failed" +string m29s754 "from_hex failed" +string m29s755 "file_read_bytes failed" +string m29s756 "tcp_read_bytes failed" +string m29s757 "process_read_bytes failed" +string m29s758 "process_read_err_bytes failed" +string m29s759 "crypto_x25519_public_key failed" +string m29s760 "crypto_x25519_shared_secret failed" +string m29s761 "crypto_aes_128_gcm_seal failed" +string m29s762 "crypto_aes_128_gcm_open failed" +string m29s763 "crypto_chacha20_poly1305_seal failed" +string m29s764 "crypto_chacha20_poly1305_open failed" +string m29s765 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m29s766 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" +string m29s767 "crypto_sign_ed25519_pkcs8 failed" +string m29s768 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" +string m29s769 "crypto_blake2b failed" +string m29s770 "crypto_argon2id failed" +string m29s771 "zstd_compress failed" +string m29s772 "zstd_decompress failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -102225,20 +101880,20 @@ store offset 8 load 9 keys call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_266 11 -store __for_len_266 10 -store __for_iter_266 9 +store __for_idx_265 11 +store __for_len_265 10 +store __for_iter_265 9 label L0 -load 12 __for_idx_266 -load 13 __for_len_266 +load 12 __for_idx_265 +load 13 __for_len_265 lt 14 12 13 brif 14 L1 L3 label L1 -load 15 __for_iter_266 -load 16 __for_idx_266 +load 15 __for_iter_265 +load 16 __for_idx_265 call 17 pith_list_get_value_unchecked string 2 15 16 -store __loopvar_266_key 17 -load 18 __loopvar_266_key +store __loopvar_265_key 17 +load 18 __loopvar_265_key strref 19 m29s12 load 20 field_name concat 21 19 20 @@ -102248,7 +101903,7 @@ call 24 pith_cstring_release void 1 21 brif 23 L5 L6 label L5 load 25 struct_field_index_lookup -load 26 __loopvar_266_key +load 26 __loopvar_265_key call 27 map_get_strict string 2 25 26 call 28 ir_utils_ir_unpack_field_index int 1 27 iconst 29 8 @@ -102282,10 +101937,10 @@ jmp L2 label L6 label L4 label L2 -load 44 __for_idx_266 +load 44 __for_idx_265 iconst 45 1 add 46 44 45 -store __for_idx_266 46 +store __for_idx_265 46 jmp L0 label L3 load 47 matched @@ -102329,26 +101984,26 @@ store keys 9 iconst 11 0 store matched 11 load 12 field_kind -strref 13 m29s662 +strref 13 m29s663 call 14 pith_cstring_release void 1 12 store field_kind 13 load 15 keys call 16 pith_auto_len int 1 15 iconst 17 0 -store __for_idx_267 17 -store __for_len_267 16 -store __for_iter_267 15 +store __for_idx_266 17 +store __for_len_266 16 +store __for_iter_266 15 label L15 -load 18 __for_idx_267 -load 19 __for_len_267 +load 18 __for_idx_266 +load 19 __for_len_266 lt 20 18 19 brif 20 L16 L18 label L16 -load 21 __for_iter_267 -load 22 __for_idx_267 +load 21 __for_iter_266 +load 22 __for_idx_266 call 23 pith_list_get_value_unchecked string 2 21 22 -store __loopvar_267_key 23 -load 24 __loopvar_267_key +store __loopvar_266_key 23 +load 24 __loopvar_266_key strref 25 m29s12 load 26 field_name concat 27 25 26 @@ -102359,7 +102014,7 @@ brif 29 L20 L21 label L20 load 31 next_kind load 32 struct_field_lookup -load 33 __loopvar_267_key +load 33 __loopvar_266_key call 34 map_get_strict string 2 32 33 load 35 type_aliases load 36 struct_names @@ -102387,7 +102042,7 @@ iconst 51 1 sub 49 51 50 brif 49 L25 L26 label L25 -strref 52 m29s662 +strref 52 m29s663 load 53 keys call 54 pith_list_release_handle void 1 53 load 55 field_kind @@ -102401,10 +102056,10 @@ jmp L17 label L21 label L19 label L17 -load 59 __for_idx_267 +load 59 __for_idx_266 iconst 60 1 add 61 59 60 -store __for_idx_267 61 +store __for_idx_266 61 jmp L15 label L18 load 62 field_kind @@ -102451,7 +102106,7 @@ iconst 19 8 mul 20 18 19 store field_offset 20 load 21 field_kind -strref 22 m29s662 +strref 22 m29s663 call 23 pith_cstring_release void 1 21 store field_kind 22 load 24 field_kind_override @@ -102484,7 +102139,7 @@ store field_kind 41 jmp L30 label L34 label L30 -strref 43 m29s713 +strref 43 m29s714 load 44 result_reg call 45 int_to_string string 1 44 concat 46 43 45 @@ -102543,7 +102198,7 @@ load 93 struct_names call 94 ir_field_helpers_ir_unique_field_kind_with_state string 4 90 91 92 93 call 95 pith_cstring_release void 1 89 store unique_kind 94 -strref 96 m29s713 +strref 96 m29s714 load 97 result_reg call 98 int_to_string string 1 97 concat 99 96 98 @@ -102635,7 +102290,7 @@ brif 160 L47 L48 label L47 call 162 ir_builder_ir_reg int 0 store flag_r 162 -strref 163 m29s713 +strref 163 m29s714 load 164 flag_r call 165 int_to_string string 1 164 concat 166 163 165 @@ -102650,7 +102305,7 @@ call 174 int_to_string string 1 173 concat 175 170 174 call 176 pith_cstring_release void 1 170 call 177 pith_cstring_release void 1 174 -strref 178 m29s717 +strref 178 m29s718 concat 179 175 178 call 180 pith_cstring_release void 1 175 call 181 pith_cstring_release void 1 178 @@ -102658,19 +102313,19 @@ call 182 ir_builder_ir_emit void 1 179 call 183 pith_cstring_release void 1 179 call 184 ir_builder_ir_reg int 0 store zero_r 184 -strref 185 m29s716 +strref 185 m29s717 load 186 zero_r call 187 int_to_string string 1 186 concat 188 185 187 call 189 pith_cstring_release void 1 185 call 190 pith_cstring_release void 1 187 -strref 191 m29s715 +strref 191 m29s716 concat 192 188 191 call 193 pith_cstring_release void 1 188 call 194 pith_cstring_release void 1 191 call 195 ir_builder_ir_emit void 1 192 call 196 pith_cstring_release void 1 192 -strref 197 m29s714 +strref 197 m29s715 load 198 result_reg call 199 int_to_string string 1 198 concat 200 197 199 @@ -102701,7 +102356,7 @@ label L48 iconst 223 0 store offset 223 load 224 kind -strref 225 m29s648 +strref 225 m29s649 call 226 pith_cstring_release void 1 224 store kind 225 load 227 field_name @@ -102713,7 +102368,7 @@ label L50 iconst 231 8 store offset 231 load 232 kind -strref 233 m29s662 +strref 233 m29s663 call 234 pith_cstring_release void 1 232 store kind 233 jmp L49 @@ -102727,13 +102382,13 @@ label L52 iconst 239 16 store offset 239 load 240 kind -strref 241 m29s662 +strref 241 m29s663 call 242 pith_cstring_release void 1 240 store kind 241 jmp L49 label L53 label L49 -strref 243 m29s713 +strref 243 m29s714 load 244 result_reg call 245 int_to_string string 1 244 concat 246 243 245 @@ -102776,7 +102431,7 @@ call 282 pith_cstring_release void 1 279 label L46 jmp L35 label L39 -strref 283 m29s713 +strref 283 m29s714 load 284 result_reg call 285 int_to_string string 1 284 concat 286 283 285 @@ -102888,7 +102543,7 @@ load 46 field_index iconst 47 8 mul 48 46 47 store field_offset 48 -strref 49 m29s713 +strref 49 m29s714 load 50 result_reg call 51 int_to_string string 1 50 concat 52 49 51 @@ -103254,20 +102909,20 @@ param value load 2 items call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_268 4 -store __for_len_268 3 -store __for_iter_268 2 +store __for_idx_267 4 +store __for_len_267 3 +store __for_iter_267 2 label L0 -load 5 __for_idx_268 -load 6 __for_len_268 +load 5 __for_idx_267 +load 6 __for_len_267 lt 7 5 6 brif 7 L1 L3 label L1 -load 8 __for_iter_268 -load 9 __for_idx_268 +load 8 __for_iter_267 +load 9 __for_idx_267 call 10 pith_list_get_value_unchecked string 2 8 9 -store __loopvar_268_item 10 -load 11 __loopvar_268_item +store __loopvar_267_item 10 +load 11 __loopvar_267_item load 12 value call 13 pith_cstring_eq bool 2 11 12 brif 13 L5 L6 @@ -103277,10 +102932,10 @@ ret 14 label L6 label L4 label L2 -load 15 __for_idx_268 +load 15 __for_idx_267 iconst 16 1 add 17 15 16 -store __for_idx_268 17 +store __for_idx_267 17 jmp L0 label L3 iconst 18 0 @@ -103512,21 +103167,21 @@ load 2 node field 3 2 16 list children call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_269 5 -store __for_len_269 4 -store __for_iter_269 3 +store __for_idx_268 5 +store __for_len_268 4 +store __for_iter_268 3 label L30 -load 6 __for_idx_269 -load 7 __for_len_269 +load 6 __for_idx_268 +load 7 __for_len_268 lt 8 6 7 brif 8 L31 L33 label L31 -load 9 __for_iter_269 -load 10 __for_idx_269 +load 9 __for_iter_268 +load 10 __for_idx_268 call 11 pith_list_get_value unknown 2 9 10 -store __loopvar_269_child 11 +store __loopvar_268_child 11 load 12 kind -load 13 __loopvar_269_child +load 13 __loopvar_268_child call 14 ast_get_node struct:Node 1 13 field 15 14 0 string kind call 16 pith_cstring_retain void 1 15 @@ -103569,10 +103224,10 @@ ret 34 label L36 label L34 label L32 -load 37 __for_idx_269 +load 37 __for_idx_268 iconst 38 1 add 39 37 38 -store __for_idx_269 39 +store __for_idx_268 39 jmp L30 label L33 iconst 40 0 @@ -104203,29 +103858,29 @@ load 57 struct_field_index_lookup call 58 map_keys list_string 1 57 call 59 pith_auto_len int 1 58 iconst 60 0 -store __for_idx_270 60 -store __for_len_270 59 -store __for_iter_270 58 +store __for_idx_269 60 +store __for_len_269 59 +store __for_iter_269 58 label L22 -load 61 __for_idx_270 -load 62 __for_len_270 +load 61 __for_idx_269 +load 62 __for_len_269 lt 63 61 62 brif 63 L23 L25 label L23 -load 64 __for_iter_270 -load 65 __for_idx_270 +load 64 __for_iter_269 +load 65 __for_idx_269 call 66 pith_list_get_value_unchecked string 2 64 65 -store __loopvar_270_key 66 +store __loopvar_269_key 66 iconst 67 0 store __and_67_29 67 -load 68 __loopvar_270_key +load 68 __loopvar_269_key load 69 prefix call 70 pith_cstring_starts_with bool 2 68 69 store __and_67_29 70 brif 70 L29 L30 label L29 load 71 struct_field_index_lookup -load 72 __loopvar_270_key +load 72 __loopvar_269_key call 73 map_get_strict string 2 71 72 load 74 want call 75 pith_cstring_eq bool 2 73 74 @@ -104234,13 +103889,13 @@ label L30 load 76 __and_67_29 brif 76 L27 L28 label L27 -load 77 __loopvar_270_key +load 77 __loopvar_269_key load 78 prefix call 79 string_len int 1 78 -load 80 __loopvar_270_key +load 80 __loopvar_269_key call 81 string_len int 1 80 call 82 pith_cstring_substring string 3 77 79 81 -load 83 __for_iter_270 +load 83 __for_iter_269 call 84 pith_list_release_handle void 1 83 load 85 struct_info call 86 pith_struct_release void 1 85 @@ -104252,13 +103907,13 @@ ret 82 label L28 label L26 label L24 -load 91 __for_idx_270 +load 91 __for_idx_269 iconst 92 1 add 93 91 92 -store __for_idx_270 93 +store __for_idx_269 93 jmp L22 label L25 -load 94 __for_iter_270 +load 94 __for_iter_269 call 95 pith_list_release_handle void 1 94 strref 96 m31s31 load 97 struct_info @@ -104566,21 +104221,21 @@ load 32 decl field 33 32 16 list children call 34 pith_auto_len int 1 33 iconst 35 0 -store __for_idx_271 35 -store __for_len_271 34 -store __for_iter_271 33 +store __for_idx_270 35 +store __for_len_270 34 +store __for_iter_270 33 label L62 -load 36 __for_idx_271 -load 37 __for_len_271 +load 36 __for_idx_270 +load 37 __for_len_270 lt 38 36 37 brif 38 L63 L65 label L63 -load 39 __for_iter_271 -load 40 __for_idx_271 +load 39 __for_iter_270 +load 40 __for_idx_270 call 41 pith_list_get_value unknown 2 39 40 -store __loopvar_271_child 41 +store __loopvar_270_child 41 load 42 field_node -load 43 __loopvar_271_child +load 43 __loopvar_270_child call 44 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 43 call 45 pith_struct_release void 1 42 store field_node 44 @@ -104639,10 +104294,10 @@ iconst 82 1 add 83 81 82 store current_index 83 label L64 -load 84 __for_idx_271 +load 84 __for_idx_270 iconst 85 1 add 86 84 85 -store __for_idx_271 86 +store __for_idx_270 86 jmp L62 label L65 strref 87 m31s31 @@ -105585,155 +105240,156 @@ string m32s648 "': another impl block already declares it" string m32s649 "' on '" string m32s650 "duplicate method '" string m32s651 "E263" -string m32s652 "iface" -string m32s653 "inherent" -string m32s654 "assoc_type" -string m32s655 "' is a builtin type name and cannot be used as an enum name" -string m32s656 "E250" -string m32s657 "' must be " -string m32s658 "default for field '" -string m32s659 "' is a builtin type name and cannot be used as a struct name" -string m32s660 "' must be an optional struct type (T?)" -string m32s661 "weak field '" -string m32s662 "E249" -string m32s663 "parameter requires a type annotation" -string m32s664 "type_alias" -string m32s665 "interface_decl" -string m32s666 "unknown generic type: " -string m32s667 "Channel expects 1 type argument, got " -string m32s668 "Task expects 1 type argument, got " -string m32s669 "Map expects 2 type arguments, got " -string m32s670 "Set expects 1 type argument, got " -string m32s671 "List expects 1 type argument, got " -string m32s672 "type nesting too deep" -string m32s673 "E233" -string m32s674 "import it from the module that defines it" -string m32s675 "' is not declared by module '" -string m32s676 "E246" -string m32s677 "*" -string m32s678 "void" -string m32s679 "bytes" -string m32s680 "string" -string m32s681 "bool" -string m32s682 "float" -string m32s683 "int" -string m32s684 "closure" -string m32s685 "require_bool" -string m32s686 "require_int" -string m32s687 "require_string" -string m32s688 "require" -string m32s689 "std_json_scalar_has_bool" -string m32s690 "std_json_scalar_has_int" -string m32s691 "std_json_scalar_has_string" -string m32s692 "b" -string m32s693 "i" -string m32s694 "s" -string m32s695 "std_json_scan_required_bool_bytes" -string m32s696 "std_json_scan_required_int_bytes" -string m32s697 "std_json_scan_required_string_bytes" -string m32s698 "std_json_require_bool" -string m32s699 "std_json_require_int" -string m32s700 "std_json_require_string" -string m32s701 "object_require_bool" -string m32s702 "object_require_int" -string m32s703 "object_require_string" -string m32s704 "dotted_path" -string m32s705 "handle" -string m32s706 "decode_path" -string m32s707 "std_json_decode_path" -string m32s708 "input" -string m32s709 "std_json_decode" -string m32s710 "std_json_decode_text" -string m32s711 "decode_object" -string m32s712 "std_json_decode_object" -string m32s713 "decode_text_path" -string m32s714 "std_yaml_" -string m32s715 "std_toml_" -string m32s716 "cfg" -string m32s717 "std_config_decode" -string m32s718 "prefix" -string m32s719 "std_config_decode_prefix" -string m32s720 "std/config" -string m32s721 "std_config_require_bool" -string m32s722 "std_config_require_int" -string m32s723 "std_config_require" -string m32s724 "struct:" -string m32s725 "TypeInfo" -string m32s726 "get_type_info" -string m32s727 "ti_channel" -string m32s728 "ti_task" -string m32s729 "ti_set" -string m32s730 "ti_map" -string m32s731 "ti_list" -string m32s732 "ti_tuple" -string m32s733 "ti_result" -string m32s734 "ti_optional" -string m32s735 "ti_function" -string m32s736 "ti_enum" -string m32s737 "ti_struct" -string m32s738 "ti_primitive" -string m32s739 "Token" -string m32s740 "expect" -string m32s741 "advance_token" -string m32s742 "Node" -string m32s743 "get_node" -string m32s744 "set_int" -string m32s745 "map_int" -string m32s746 "list_string" -string m32s747 "parse_int failed" -string m32s748 "file_open_read failed" -string m32s749 "file_open_write failed" -string m32s750 "file_open_append failed" -string m32s751 "byte_buffer_write failed" -string m32s752 "byte_buffer_write_string_utf8 failed" -string m32s753 "byte_buffer_write_byte failed" -string m32s754 "file_write failed" -string m32s755 "file_write_bytes failed" -string m32s756 "tcp_connect failed" -string m32s757 "tcp_listen failed" -string m32s758 "tcp_accept failed" -string m32s759 "tcp_write failed" -string m32s760 "tcp_write_bytes failed" -string m32s761 "process_spawn failed" -string m32s762 "process_spawn_argv failed" -string m32s763 "process_output_argv failed" -string m32s764 "process_write failed" -string m32s765 "process_write_bytes failed" -string m32s766 "crypto_x25519_keygen failed" -string m32s767 "write_file failed" -string m32s768 "append_file failed" -string m32s769 "write_file_bytes failed" -string m32s770 "append_file_bytes failed" -string m32s771 "read_file failed" -string m32s772 "exec_output failed" -string m32s773 "dns_resolve failed" -string m32s774 "bytes_to_string_utf8 failed" -string m32s775 "bytes_substring_utf8 failed" -string m32s776 "file_read failed" -string m32s777 "tcp_read failed" -string m32s778 "process_read failed" -string m32s779 "process_read_err failed" -string m32s780 "read_file_bytes failed" -string m32s781 "b64_decode failed" -string m32s782 "from_hex failed" -string m32s783 "file_read_bytes failed" -string m32s784 "tcp_read_bytes failed" -string m32s785 "process_read_bytes failed" -string m32s786 "process_read_err_bytes failed" -string m32s787 "crypto_x25519_public_key failed" -string m32s788 "crypto_x25519_shared_secret failed" -string m32s789 "crypto_aes_128_gcm_seal failed" -string m32s790 "crypto_aes_128_gcm_open failed" -string m32s791 "crypto_chacha20_poly1305_seal failed" -string m32s792 "crypto_chacha20_poly1305_open failed" -string m32s793 "crypto_sign_rsa_pss_sha256_pkcs8 failed" -string m32s794 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" -string m32s795 "crypto_sign_ed25519_pkcs8 failed" -string m32s796 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" -string m32s797 "crypto_blake2b failed" -string m32s798 "crypto_argon2id failed" -string m32s799 "zstd_compress failed" -string m32s800 "zstd_decompress failed" +string m32s652 "#" +string m32s653 "iface" +string m32s654 "inherent" +string m32s655 "assoc_type" +string m32s656 "' is a builtin type name and cannot be used as an enum name" +string m32s657 "E250" +string m32s658 "' must be " +string m32s659 "default for field '" +string m32s660 "' is a builtin type name and cannot be used as a struct name" +string m32s661 "' must be an optional struct type (T?)" +string m32s662 "weak field '" +string m32s663 "E249" +string m32s664 "parameter requires a type annotation" +string m32s665 "type_alias" +string m32s666 "interface_decl" +string m32s667 "unknown generic type: " +string m32s668 "Channel expects 1 type argument, got " +string m32s669 "Task expects 1 type argument, got " +string m32s670 "Map expects 2 type arguments, got " +string m32s671 "Set expects 1 type argument, got " +string m32s672 "List expects 1 type argument, got " +string m32s673 "type nesting too deep" +string m32s674 "E233" +string m32s675 "import it from the module that defines it" +string m32s676 "' is not declared by module '" +string m32s677 "E246" +string m32s678 "*" +string m32s679 "void" +string m32s680 "bytes" +string m32s681 "string" +string m32s682 "bool" +string m32s683 "float" +string m32s684 "int" +string m32s685 "closure" +string m32s686 "require_bool" +string m32s687 "require_int" +string m32s688 "require_string" +string m32s689 "require" +string m32s690 "std_json_scalar_has_bool" +string m32s691 "std_json_scalar_has_int" +string m32s692 "std_json_scalar_has_string" +string m32s693 "b" +string m32s694 "i" +string m32s695 "s" +string m32s696 "std_json_scan_required_bool_bytes" +string m32s697 "std_json_scan_required_int_bytes" +string m32s698 "std_json_scan_required_string_bytes" +string m32s699 "std_json_require_bool" +string m32s700 "std_json_require_int" +string m32s701 "std_json_require_string" +string m32s702 "object_require_bool" +string m32s703 "object_require_int" +string m32s704 "object_require_string" +string m32s705 "dotted_path" +string m32s706 "handle" +string m32s707 "decode_path" +string m32s708 "std_json_decode_path" +string m32s709 "input" +string m32s710 "std_json_decode" +string m32s711 "std_json_decode_text" +string m32s712 "decode_object" +string m32s713 "std_json_decode_object" +string m32s714 "decode_text_path" +string m32s715 "std_yaml_" +string m32s716 "std_toml_" +string m32s717 "cfg" +string m32s718 "std_config_decode" +string m32s719 "prefix" +string m32s720 "std_config_decode_prefix" +string m32s721 "std/config" +string m32s722 "std_config_require_bool" +string m32s723 "std_config_require_int" +string m32s724 "std_config_require" +string m32s725 "struct:" +string m32s726 "TypeInfo" +string m32s727 "get_type_info" +string m32s728 "ti_channel" +string m32s729 "ti_task" +string m32s730 "ti_set" +string m32s731 "ti_map" +string m32s732 "ti_list" +string m32s733 "ti_tuple" +string m32s734 "ti_result" +string m32s735 "ti_optional" +string m32s736 "ti_function" +string m32s737 "ti_enum" +string m32s738 "ti_struct" +string m32s739 "ti_primitive" +string m32s740 "Token" +string m32s741 "expect" +string m32s742 "advance_token" +string m32s743 "Node" +string m32s744 "get_node" +string m32s745 "set_int" +string m32s746 "map_int" +string m32s747 "list_string" +string m32s748 "parse_int failed" +string m32s749 "file_open_read failed" +string m32s750 "file_open_write failed" +string m32s751 "file_open_append failed" +string m32s752 "byte_buffer_write failed" +string m32s753 "byte_buffer_write_string_utf8 failed" +string m32s754 "byte_buffer_write_byte failed" +string m32s755 "file_write failed" +string m32s756 "file_write_bytes failed" +string m32s757 "tcp_connect failed" +string m32s758 "tcp_listen failed" +string m32s759 "tcp_accept failed" +string m32s760 "tcp_write failed" +string m32s761 "tcp_write_bytes failed" +string m32s762 "process_spawn failed" +string m32s763 "process_spawn_argv failed" +string m32s764 "process_output_argv failed" +string m32s765 "process_write failed" +string m32s766 "process_write_bytes failed" +string m32s767 "crypto_x25519_keygen failed" +string m32s768 "write_file failed" +string m32s769 "append_file failed" +string m32s770 "write_file_bytes failed" +string m32s771 "append_file_bytes failed" +string m32s772 "read_file failed" +string m32s773 "exec_output failed" +string m32s774 "dns_resolve failed" +string m32s775 "bytes_to_string_utf8 failed" +string m32s776 "bytes_substring_utf8 failed" +string m32s777 "file_read failed" +string m32s778 "tcp_read failed" +string m32s779 "process_read failed" +string m32s780 "process_read_err failed" +string m32s781 "read_file_bytes failed" +string m32s782 "b64_decode failed" +string m32s783 "from_hex failed" +string m32s784 "file_read_bytes failed" +string m32s785 "tcp_read_bytes failed" +string m32s786 "process_read_bytes failed" +string m32s787 "process_read_err_bytes failed" +string m32s788 "crypto_x25519_public_key failed" +string m32s789 "crypto_x25519_shared_secret failed" +string m32s790 "crypto_aes_128_gcm_seal failed" +string m32s791 "crypto_aes_128_gcm_open failed" +string m32s792 "crypto_chacha20_poly1305_seal failed" +string m32s793 "crypto_chacha20_poly1305_open failed" +string m32s794 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m32s795 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" +string m32s796 "crypto_sign_ed25519_pkcs8 failed" +string m32s797 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" +string m32s798 "crypto_blake2b failed" +string m32s799 "crypto_argon2id failed" +string m32s800 "zstd_compress failed" +string m32s801 "zstd_decompress failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -106006,12 +105662,12 @@ param type_hint iconst 1 0 store base 1 load 2 type_hint -strref 3 m32s680 +strref 3 m32s681 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 brif 4 L7 L8 label L7 -strref 6 m32s680 +strref 6 m32s681 load 7 base call 8 pith_cstring_release void 1 7 ret 6 @@ -106027,7 +105683,7 @@ store __or_9_12 12 brif 12 L13 L12 label L12 load 14 type_hint -strref 15 m32s746 +strref 15 m32s747 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 store __or_9_12 16 @@ -106051,7 +105707,7 @@ store __or_22_17 25 brif 25 L18 L17 label L17 load 27 type_hint -strref 28 m32s745 +strref 28 m32s746 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 store __or_22_17 29 @@ -106075,7 +105731,7 @@ store __or_35_22 38 brif 38 L23 L22 label L22 load 40 type_hint -strref 41 m32s744 +strref 41 m32s745 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 store __or_35_22 42 @@ -106090,24 +105746,24 @@ ret 45 label L21 label L19 load 48 type_hint -strref 49 m32s679 +strref 49 m32s680 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 brif 50 L25 L26 label L25 -strref 52 m32s679 +strref 52 m32s680 load 53 base call 54 pith_cstring_release void 1 53 ret 52 label L26 label L24 load 55 type_hint -strref 56 m32s684 +strref 56 m32s685 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 brif 57 L28 L29 label L28 -strref 59 m32s684 +strref 59 m32s685 load 60 base call 61 pith_cstring_release void 1 60 ret 59 @@ -106126,7 +105782,7 @@ ret 66 label L32 label L30 load 69 type_hint -strref 70 m32s724 +strref 70 m32s725 call 71 pith_cstring_starts_with bool 2 69 70 call 72 pith_cstring_release void 1 70 brif 71 L34 L35 @@ -106206,26 +105862,26 @@ ret 4 label L47 label L45 load 6 fname -strref 7 m32s743 +strref 7 m32s744 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 brif 8 L49 L50 label L49 -strref 10 m32s742 +strref 10 m32s743 ret 10 label L50 label L48 iconst 11 0 store __or_11_54 11 load 12 fname -strref 13 m32s741 +strref 13 m32s742 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 store __or_11_54 14 brif 14 L55 L54 label L54 load 16 fname -strref 17 m32s740 +strref 17 m32s741 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 store __or_11_54 18 @@ -106233,7 +105889,7 @@ label L55 load 20 __or_11_54 brif 20 L52 L53 label L52 -strref 21 m32s739 +strref 21 m32s740 ret 21 label L53 label L51 @@ -106262,14 +105918,14 @@ store __or_32_59 32 iconst 33 0 store __or_33_59 33 load 34 fname -strref 35 m32s738 +strref 35 m32s739 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 store __or_33_59 36 brif 36 L60 L59 label L59 load 38 fname -strref 39 m32s737 +strref 39 m32s738 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 store __or_33_59 40 @@ -106279,7 +105935,7 @@ store __or_32_59 42 brif 42 L62 L61 label L61 load 43 fname -strref 44 m32s736 +strref 44 m32s737 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 store __or_32_59 45 @@ -106289,7 +105945,7 @@ store __or_31_59 47 brif 47 L64 L63 label L63 load 48 fname -strref 49 m32s735 +strref 49 m32s736 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 store __or_31_59 50 @@ -106299,7 +105955,7 @@ store __or_30_59 52 brif 52 L66 L65 label L65 load 53 fname -strref 54 m32s734 +strref 54 m32s735 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 store __or_30_59 55 @@ -106309,7 +105965,7 @@ store __or_29_59 57 brif 57 L68 L67 label L67 load 58 fname -strref 59 m32s733 +strref 59 m32s734 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 store __or_29_59 60 @@ -106319,7 +105975,7 @@ store __or_28_59 62 brif 62 L70 L69 label L69 load 63 fname -strref 64 m32s732 +strref 64 m32s733 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 store __or_28_59 65 @@ -106329,7 +105985,7 @@ store __or_27_59 67 brif 67 L72 L71 label L71 load 68 fname -strref 69 m32s731 +strref 69 m32s732 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 store __or_27_59 70 @@ -106339,7 +105995,7 @@ store __or_26_59 72 brif 72 L74 L73 label L73 load 73 fname -strref 74 m32s730 +strref 74 m32s731 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 store __or_26_59 75 @@ -106349,7 +106005,7 @@ store __or_25_59 77 brif 77 L76 L75 label L75 load 78 fname -strref 79 m32s729 +strref 79 m32s730 call 80 pith_cstring_eq bool 2 78 79 call 81 pith_cstring_release void 1 79 store __or_25_59 80 @@ -106359,7 +106015,7 @@ store __or_24_59 82 brif 82 L78 L77 label L77 load 83 fname -strref 84 m32s728 +strref 84 m32s729 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 store __or_24_59 85 @@ -106369,7 +106025,7 @@ store __or_23_59 87 brif 87 L80 L79 label L79 load 88 fname -strref 89 m32s727 +strref 89 m32s728 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 store __or_23_59 90 @@ -106379,7 +106035,7 @@ store __or_22_59 92 brif 92 L82 L81 label L81 load 93 fname -strref 94 m32s726 +strref 94 m32s727 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 store __or_22_59 95 @@ -106387,7 +106043,7 @@ label L82 load 97 __or_22_59 brif 97 L57 L58 label L57 -strref 98 m32s725 +strref 98 m32s726 ret 98 label L58 label L56 @@ -106540,25 +106196,25 @@ call 14 pith_string_split_to_list list_string 2 12 13 call 15 pith_cstring_release void 1 13 call 16 pith_auto_len int 1 14 iconst 17 0 -store __for_idx_272 17 -store __for_len_272 16 -store __for_iter_272 14 +store __for_idx_271 17 +store __for_len_271 16 +store __for_iter_271 14 label L92 -load 18 __for_idx_272 -load 19 __for_len_272 +load 18 __for_idx_271 +load 19 __for_len_271 lt 20 18 19 brif 20 L93 L95 label L93 -load 21 __for_iter_272 -load 22 __for_idx_272 +load 21 __for_iter_271 +load 22 __for_idx_271 call 23 pith_list_get_value_unchecked string 2 21 22 -store __loopvar_272_variant 23 +store __loopvar_271_variant 23 load 24 vkey load 25 ename strref 26 m32s80 concat 27 25 26 call 28 pith_cstring_release void 1 26 -load 29 __loopvar_272_variant +load 29 __loopvar_271_variant concat 30 27 29 call 31 pith_cstring_release void 1 27 call 32 pith_cstring_release void 1 24 @@ -106576,20 +106232,20 @@ call 40 pith_string_split_to_list list_string 2 38 39 call 41 pith_cstring_release void 1 39 call 42 pith_auto_len int 1 40 iconst 43 0 -store __for_idx_273 43 -store __for_len_273 42 -store __for_iter_273 40 +store __for_idx_272 43 +store __for_len_272 42 +store __for_iter_272 40 label L99 -load 44 __for_idx_273 -load 45 __for_len_273 +load 44 __for_idx_272 +load 45 __for_len_272 lt 46 44 45 brif 46 L100 L102 label L100 -load 47 __for_iter_273 -load 48 __for_idx_273 +load 47 __for_iter_272 +load 48 __for_idx_272 call 49 pith_list_get_value_unchecked string 2 47 48 -store __loopvar_273_pk 49 -load 50 __loopvar_273_pk +store __loopvar_272_pk 49 +load 50 __loopvar_272_pk call 51 ir_struct_registry_ir_rc_field_kind string 1 50 call 52 string_len int 1 51 call 53 pith_cstring_release void 1 51 @@ -106598,9 +106254,9 @@ gt 55 52 54 brif 55 L104 L105 label L104 iconst 56 1 -load 57 __for_iter_273 +load 57 __for_iter_272 call 58 pith_list_release_handle void 1 57 -load 59 __for_iter_272 +load 59 __for_iter_271 call 60 pith_list_release_handle void 1 59 load 61 vkey call 62 pith_cstring_release void 1 61 @@ -106608,25 +106264,25 @@ ret 56 label L105 label L103 label L101 -load 63 __for_idx_273 +load 63 __for_idx_272 iconst 64 1 add 65 63 64 -store __for_idx_273 65 +store __for_idx_272 65 jmp L99 label L102 -load 66 __for_iter_273 +load 66 __for_iter_272 call 67 pith_list_release_handle void 1 66 jmp L96 label L98 label L96 label L94 -load 68 __for_idx_272 +load 68 __for_idx_271 iconst 69 1 add 70 68 69 -store __for_idx_272 70 +store __for_idx_271 70 jmp L92 label L95 -load 71 __for_iter_272 +load 71 __for_iter_271 call 72 pith_list_release_handle void 1 71 iconst 73 0 load 74 vkey @@ -106792,7 +106448,7 @@ ret 10 label L126 label L124 load 11 ftype -strref 12 m32s724 +strref 12 m32s725 call 13 pith_cstring_starts_with bool 2 11 12 call 14 pith_cstring_release void 1 12 brif 13 L128 L129 @@ -107754,21 +107410,21 @@ call 28 pith_cstring_release void 1 24 load 29 field_regs call 30 pith_auto_len int 1 29 iconst 31 0 -store __for_idx_274 31 -store __for_len_274 30 -store __for_iter_274 29 +store __for_idx_273 31 +store __for_len_273 30 +store __for_iter_273 29 label L8 -load 32 __for_idx_274 -load 33 __for_len_274 +load 32 __for_idx_273 +load 33 __for_len_273 lt 34 32 33 brif 34 L9 L11 label L9 -load 35 __for_iter_274 -load 36 __for_idx_274 +load 35 __for_iter_273 +load 36 __for_idx_273 call 37 pith_list_get_value unknown 2 35 36 -store __loopvar_274_field_reg 37 -load 38 __for_idx_274 -store __loopvar_274_fi 38 +store __loopvar_273_field_reg 37 +load 38 __for_idx_273 +store __loopvar_273_fi 38 strref 39 m33s303 load 40 struct_r call 41 int_to_string string 1 40 @@ -107779,7 +107435,7 @@ strref 45 m33s2 concat 46 42 45 call 47 pith_cstring_release void 1 42 call 48 pith_cstring_release void 1 45 -load 49 __loopvar_274_fi +load 49 __loopvar_273_fi call 50 int_to_string string 1 49 concat 51 46 50 call 52 pith_cstring_release void 1 46 @@ -107788,7 +107444,7 @@ strref 54 m33s2 concat 55 51 54 call 56 pith_cstring_release void 1 51 call 57 pith_cstring_release void 1 54 -load 58 __loopvar_274_field_reg +load 58 __loopvar_273_field_reg call 59 int_to_string string 1 58 concat 60 55 59 call 61 pith_cstring_release void 1 55 @@ -107796,10 +107452,10 @@ call 62 pith_cstring_release void 1 59 call 63 ir_builder_ir_emit void 1 60 call 64 pith_cstring_release void 1 60 label L10 -load 65 __for_idx_274 +load 65 __for_idx_273 iconst 66 1 add 67 65 66 -store __for_idx_274 67 +store __for_idx_273 67 jmp L8 label L11 load 68 struct_r @@ -107858,21 +107514,21 @@ call 27 pith_cstring_release void 1 23 load 28 field_regs call 29 pith_auto_len int 1 28 iconst 30 0 -store __for_idx_275 30 -store __for_len_275 29 -store __for_iter_275 28 +store __for_idx_274 30 +store __for_len_274 29 +store __for_iter_274 28 label L12 -load 31 __for_idx_275 -load 32 __for_len_275 +load 31 __for_idx_274 +load 32 __for_len_274 lt 33 31 32 brif 33 L13 L15 label L13 -load 34 __for_iter_275 -load 35 __for_idx_275 +load 34 __for_iter_274 +load 35 __for_idx_274 call 36 pith_list_get_value unknown 2 34 35 -store __loopvar_275_field_reg 36 -load 37 __for_idx_275 -store __loopvar_275_fi 37 +store __loopvar_274_field_reg 36 +load 37 __for_idx_274 +store __loopvar_274_fi 37 strref 38 m33s303 load 39 struct_r call 40 int_to_string string 1 39 @@ -107883,7 +107539,7 @@ strref 44 m33s2 concat 45 41 44 call 46 pith_cstring_release void 1 41 call 47 pith_cstring_release void 1 44 -load 48 __loopvar_275_fi +load 48 __loopvar_274_fi call 49 int_to_string string 1 48 concat 50 45 49 call 51 pith_cstring_release void 1 45 @@ -107892,7 +107548,7 @@ strref 53 m33s2 concat 54 50 53 call 55 pith_cstring_release void 1 50 call 56 pith_cstring_release void 1 53 -load 57 __loopvar_275_field_reg +load 57 __loopvar_274_field_reg call 58 int_to_string string 1 57 concat 59 54 58 call 60 pith_cstring_release void 1 54 @@ -107900,10 +107556,10 @@ call 61 pith_cstring_release void 1 58 call 62 ir_builder_ir_emit void 1 59 call 63 pith_cstring_release void 1 59 label L14 -load 64 __for_idx_275 +load 64 __for_idx_274 iconst 65 1 add 66 64 65 -store __for_idx_275 66 +store __for_idx_274 66 jmp L12 label L15 load 67 struct_r @@ -109677,27 +109333,27 @@ store kids 41 load 44 kids call 45 pith_auto_len int 1 44 iconst 46 0 -store __for_idx_276 46 -store __for_len_276 45 -store __for_iter_276 44 +store __for_idx_275 46 +store __for_len_275 45 +store __for_iter_275 44 label L6 -load 47 __for_idx_276 -load 48 __for_len_276 +load 47 __for_idx_275 +load 48 __for_len_275 lt 49 47 48 brif 49 L7 L9 label L7 -load 50 __for_iter_276 -load 51 __for_idx_276 +load 50 __for_iter_275 +load 51 __for_idx_275 call 52 pith_list_get_value unknown 2 50 51 -store __loopvar_276_kid 52 +store __loopvar_275_kid 52 load 53 stack -load 54 __loopvar_276_kid +load 54 __loopvar_275_kid call 55 pith_list_push_value void 2 53 54 label L8 -load 56 __for_idx_276 +load 56 __for_idx_275 iconst 57 1 add 58 56 57 -store __for_idx_276 58 +store __for_idx_275 58 jmp L6 label L9 jmp L0 @@ -109728,28 +109384,28 @@ store nodes 1 load 2 ir_tree_cache_ir_string_node_cache_roots call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_277 4 -store __for_len_277 3 -store __for_iter_277 2 +store __for_idx_276 4 +store __for_len_276 3 +store __for_iter_276 2 label L10 -load 5 __for_idx_277 -load 6 __for_len_277 +load 5 __for_idx_276 +load 6 __for_len_276 lt 7 5 6 brif 7 L11 L13 label L11 -load 8 __for_iter_277 -load 9 __for_idx_277 +load 8 __for_iter_276 +load 9 __for_idx_276 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_277_cached_root 10 -load 11 __for_idx_277 -store __loopvar_277_i 11 -load 12 __loopvar_277_cached_root +store __loopvar_276_cached_root 10 +load 11 __for_idx_276 +store __loopvar_276_i 11 +load 12 __loopvar_276_cached_root load 13 root_idx eq 14 12 13 brif 14 L15 L16 label L15 load 15 ir_tree_cache_ir_string_node_cache_values -load 16 __loopvar_277_i +load 16 __loopvar_276_i call 17 pith_list_get_value_strict string 2 15 16 call 18 ir_utils_ir_decode_int_list list 1 17 load 19 nodes @@ -109758,10 +109414,10 @@ ret 18 label L16 label L14 label L12 -load 21 __for_idx_277 +load 21 __for_idx_276 iconst 22 1 add 23 21 22 -store __for_idx_277 23 +store __for_idx_276 23 jmp L10 label L13 load 24 nodes @@ -109818,28 +109474,28 @@ load 21 root field 22 21 16 list children call 23 pith_auto_len int 1 22 iconst 24 0 -store __for_idx_278 24 -store __for_len_278 23 -store __for_iter_278 22 +store __for_idx_277 24 +store __for_len_277 23 +store __for_iter_277 22 label L20 -load 25 __for_idx_278 -load 26 __for_len_278 +load 25 __for_idx_277 +load 26 __for_len_277 lt 27 25 26 brif 27 L21 L23 label L21 -load 28 __for_iter_278 -load 29 __for_idx_278 +load 28 __for_iter_277 +load 29 __for_idx_277 call 30 pith_list_get_value unknown 2 28 29 -store __loopvar_278_child 30 +store __loopvar_277_child 30 load 31 items -load 32 __loopvar_278_child +load 32 __loopvar_277_child call 33 ir_ast_helpers_ir_unwrap_pub_child int 1 32 call 34 pith_list_push_value void 2 31 33 label L22 -load 35 __for_idx_278 +load 35 __for_idx_277 iconst 36 1 add 37 35 36 -store __for_idx_278 37 +store __for_idx_277 37 jmp L20 label L23 load 38 ir_tree_cache_ir_root_items_cache @@ -110536,99 +110192,99 @@ string m36s648 "': another impl block already declares it" string m36s649 "' on '" string m36s650 "duplicate method '" string m36s651 "E263" -string m36s652 "iface" -string m36s653 "inherent" -string m36s654 "assoc_type" -string m36s655 "' is a builtin type name and cannot be used as an enum name" -string m36s656 "E250" -string m36s657 "' must be " -string m36s658 "default for field '" -string m36s659 "' is a builtin type name and cannot be used as a struct name" -string m36s660 "' must be an optional struct type (T?)" -string m36s661 "weak field '" -string m36s662 "E249" -string m36s663 "parameter requires a type annotation" -string m36s664 "type_alias" -string m36s665 "interface_decl" -string m36s666 "unknown generic type: " -string m36s667 "Channel expects 1 type argument, got " -string m36s668 "Task expects 1 type argument, got " -string m36s669 "Map expects 2 type arguments, got " -string m36s670 "Set expects 1 type argument, got " -string m36s671 "List expects 1 type argument, got " -string m36s672 "type nesting too deep" -string m36s673 "E233" -string m36s674 "import it from the module that defines it" -string m36s675 "' is not declared by module '" -string m36s676 "E246" -string m36s677 "*" -string m36s678 "call " -string m36s679 "tcp_read2" -string m36s680 "tcp_read" -string m36s681 "bool" -string m36s682 "result_bool" -string m36s683 "int" -string m36s684 "result_int" -string m36s685 "ResolvedCallee(" -string m36s686 "sname,bimported" -string m36s687 "name: " -string m36s688 "imported" -string m36s689 ", imported: " -string m36s690 "require_bool" -string m36s691 "require_int" -string m36s692 "require_string" -string m36s693 "require" -string m36s694 "std_json_scalar_has_bool" -string m36s695 "std_json_scalar_has_int" -string m36s696 "std_json_scalar_has_string" -string m36s697 "b" -string m36s698 "i" -string m36s699 "s" -string m36s700 "std_json_scan_required_bool_bytes" -string m36s701 "std_json_scan_required_int_bytes" -string m36s702 "std_json_scan_required_string_bytes" -string m36s703 "std_json_require_bool" -string m36s704 "std_json_require_int" -string m36s705 "std_json_require_string" -string m36s706 "object_require_bool" -string m36s707 "object_require_int" -string m36s708 "object_require_string" -string m36s709 "dotted_path" -string m36s710 "handle" -string m36s711 "decode_path" -string m36s712 "std_json_decode_path" -string m36s713 "input" -string m36s714 "std_json_decode" -string m36s715 "std_json_decode_text" -string m36s716 "decode_object" -string m36s717 "std_json_decode_object" -string m36s718 "decode_text_path" -string m36s719 "std_yaml_" -string m36s720 "std_toml_" -string m36s721 "cfg" -string m36s722 "std_config_decode" -string m36s723 "prefix" -string m36s724 "std_config_decode_prefix" -string m36s725 "std/config" -string m36s726 "string" -string m36s727 "std_config_require_bool" -string m36s728 "std_config_require_int" -string m36s729 "std_config_require" -string m36s730 "field " -string m36s731 "unknown" -string m36s732 "eq " -string m36s733 " 0" -string m36s734 "iconst " -string m36s735 " 0 bool is_ok" -string m36s736 "-" -string m36s737 "closure" -string m36s738 "set_int" -string m36s739 "map_int" -string m36s740 "list_string" -string m36s741 "__" -string m36s742 "std_config_" -string m36s743 "std_json_" -string m36s744 "#" +string m36s652 "#" +string m36s653 "iface" +string m36s654 "inherent" +string m36s655 "assoc_type" +string m36s656 "' is a builtin type name and cannot be used as an enum name" +string m36s657 "E250" +string m36s658 "' must be " +string m36s659 "default for field '" +string m36s660 "' is a builtin type name and cannot be used as a struct name" +string m36s661 "' must be an optional struct type (T?)" +string m36s662 "weak field '" +string m36s663 "E249" +string m36s664 "parameter requires a type annotation" +string m36s665 "type_alias" +string m36s666 "interface_decl" +string m36s667 "unknown generic type: " +string m36s668 "Channel expects 1 type argument, got " +string m36s669 "Task expects 1 type argument, got " +string m36s670 "Map expects 2 type arguments, got " +string m36s671 "Set expects 1 type argument, got " +string m36s672 "List expects 1 type argument, got " +string m36s673 "type nesting too deep" +string m36s674 "E233" +string m36s675 "import it from the module that defines it" +string m36s676 "' is not declared by module '" +string m36s677 "E246" +string m36s678 "*" +string m36s679 "call " +string m36s680 "tcp_read2" +string m36s681 "tcp_read" +string m36s682 "bool" +string m36s683 "result_bool" +string m36s684 "int" +string m36s685 "result_int" +string m36s686 "ResolvedCallee(" +string m36s687 "sname,bimported" +string m36s688 "name: " +string m36s689 "imported" +string m36s690 ", imported: " +string m36s691 "require_bool" +string m36s692 "require_int" +string m36s693 "require_string" +string m36s694 "require" +string m36s695 "std_json_scalar_has_bool" +string m36s696 "std_json_scalar_has_int" +string m36s697 "std_json_scalar_has_string" +string m36s698 "b" +string m36s699 "i" +string m36s700 "s" +string m36s701 "std_json_scan_required_bool_bytes" +string m36s702 "std_json_scan_required_int_bytes" +string m36s703 "std_json_scan_required_string_bytes" +string m36s704 "std_json_require_bool" +string m36s705 "std_json_require_int" +string m36s706 "std_json_require_string" +string m36s707 "object_require_bool" +string m36s708 "object_require_int" +string m36s709 "object_require_string" +string m36s710 "dotted_path" +string m36s711 "handle" +string m36s712 "decode_path" +string m36s713 "std_json_decode_path" +string m36s714 "input" +string m36s715 "std_json_decode" +string m36s716 "std_json_decode_text" +string m36s717 "decode_object" +string m36s718 "std_json_decode_object" +string m36s719 "decode_text_path" +string m36s720 "std_yaml_" +string m36s721 "std_toml_" +string m36s722 "cfg" +string m36s723 "std_config_decode" +string m36s724 "prefix" +string m36s725 "std_config_decode_prefix" +string m36s726 "std/config" +string m36s727 "string" +string m36s728 "std_config_require_bool" +string m36s729 "std_config_require_int" +string m36s730 "std_config_require" +string m36s731 "field " +string m36s732 "unknown" +string m36s733 "eq " +string m36s734 " 0" +string m36s735 "iconst " +string m36s736 " 0 bool is_ok" +string m36s737 "-" +string m36s738 "closure" +string m36s739 "set_int" +string m36s740 "map_int" +string m36s741 "list_string" +string m36s742 "__" +string m36s743 "std_config_" +string m36s744 "std_json_" string m36s745 " ok" string m36s746 " 8 " string m36s747 " failed" @@ -111022,7 +110678,7 @@ func ir_alias_registry_ir_record_global_type 2 void param name param global_type load 2 global_type -strref 3 m36s683 +strref 3 m36s684 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 brif 4 L1 L2 @@ -111034,7 +110690,7 @@ store ir_alias_registry_ir_global_int_names 8 jmp L0 label L2 load 9 global_type -strref 10 m36s726 +strref 10 m36s727 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 brif 11 L3 L4 @@ -111046,7 +110702,7 @@ store ir_alias_registry_ir_global_string_names 15 jmp L0 label L4 load 16 global_type -strref 17 m36s740 +strref 17 m36s741 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 brif 18 L5 L6 @@ -111070,7 +110726,7 @@ store ir_alias_registry_ir_global_list_names 29 jmp L0 label L8 load 30 global_type -strref 31 m36s739 +strref 31 m36s740 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 brif 32 L9 L10 @@ -111106,7 +110762,7 @@ store ir_alias_registry_ir_global_set_names 50 jmp L0 label L14 load 51 global_type -strref 52 m36s738 +strref 52 m36s739 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 brif 53 L15 L16 @@ -111118,7 +110774,7 @@ store ir_alias_registry_ir_global_set_int_names 57 jmp L0 label L16 load 58 global_type -strref 59 m36s681 +strref 59 m36s682 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 brif 60 L17 L18 @@ -111397,7 +111053,7 @@ call 130 pith_cstring_eq bool 2 128 129 call 131 pith_cstring_release void 1 129 brif 130 L55 L56 label L55 -strref 132 m36s737 +strref 132 m36s738 load 133 resolved call 134 pith_cstring_release void 1 133 load 135 tn @@ -111549,121 +111205,121 @@ load 4 ir_alias_registry_ir_module_aliases call 5 map_keys list_string 1 4 call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_279 7 -store __for_len_279 6 -store __for_iter_279 5 +store __for_idx_278 7 +store __for_len_278 6 +store __for_iter_278 5 label L70 -load 8 __for_idx_279 -load 9 __for_len_279 +load 8 __for_idx_278 +load 9 __for_len_278 lt 10 8 9 brif 10 L71 L73 label L71 -load 11 __for_iter_279 -load 12 __for_idx_279 +load 11 __for_iter_278 +load 12 __for_idx_278 call 13 pith_list_get_value_unchecked string 2 11 12 -store __loopvar_279_name 13 +store __loopvar_278_name 13 load 14 blocked -load 15 __loopvar_279_name +load 15 __loopvar_278_name iconst 16 1 call 17 map_insert void 3 14 15 16 label L72 -load 18 __for_idx_279 +load 18 __for_idx_278 iconst 19 1 add 20 18 19 -store __for_idx_279 20 +store __for_idx_278 20 jmp L70 label L73 -load 21 __for_iter_279 +load 21 __for_iter_278 call 22 pith_list_release_handle void 1 21 load 23 ir_alias_registry_ir_import_renames call 24 map_keys list_string 1 23 call 25 pith_auto_len int 1 24 iconst 26 0 -store __for_idx_280 26 -store __for_len_280 25 -store __for_iter_280 24 +store __for_idx_279 26 +store __for_len_279 25 +store __for_iter_279 24 label L74 -load 27 __for_idx_280 -load 28 __for_len_280 +load 27 __for_idx_279 +load 28 __for_len_279 lt 29 27 28 brif 29 L75 L77 label L75 -load 30 __for_iter_280 -load 31 __for_idx_280 +load 30 __for_iter_279 +load 31 __for_idx_279 call 32 pith_list_get_value_unchecked string 2 30 31 -store __loopvar_280_name 32 +store __loopvar_279_name 32 load 33 blocked -load 34 __loopvar_280_name +load 34 __loopvar_279_name iconst 35 1 call 36 map_insert void 3 33 34 35 label L76 -load 37 __for_idx_280 +load 37 __for_idx_279 iconst 38 1 add 39 37 38 -store __for_idx_280 39 +store __for_idx_279 39 jmp L74 label L77 -load 40 __for_iter_280 +load 40 __for_iter_279 call 41 pith_list_release_handle void 1 40 load 42 ir_struct_registry_ir_struct_names call 43 map_keys list_string 1 42 call 44 pith_auto_len int 1 43 iconst 45 0 -store __for_idx_281 45 -store __for_len_281 44 -store __for_iter_281 43 +store __for_idx_280 45 +store __for_len_280 44 +store __for_iter_280 43 label L78 -load 46 __for_idx_281 -load 47 __for_len_281 +load 46 __for_idx_280 +load 47 __for_len_280 lt 48 46 47 brif 48 L79 L81 label L79 -load 49 __for_iter_281 -load 50 __for_idx_281 +load 49 __for_iter_280 +load 50 __for_idx_280 call 51 pith_list_get_value_unchecked string 2 49 50 -store __loopvar_281_name 51 +store __loopvar_280_name 51 load 52 blocked -load 53 __loopvar_281_name +load 53 __loopvar_280_name iconst 54 1 call 55 map_insert void 3 52 53 54 label L80 -load 56 __for_idx_281 +load 56 __for_idx_280 iconst 57 1 add 58 56 57 -store __for_idx_281 58 +store __for_idx_280 58 jmp L78 label L81 -load 59 __for_iter_281 +load 59 __for_iter_280 call 60 pith_list_release_handle void 1 59 load 61 ir_method_tables_ir_func_returns call 62 map_keys list_string 1 61 call 63 pith_auto_len int 1 62 iconst 64 0 -store __for_idx_282 64 -store __for_len_282 63 -store __for_iter_282 62 +store __for_idx_281 64 +store __for_len_281 63 +store __for_iter_281 62 label L82 -load 65 __for_idx_282 -load 66 __for_len_282 +load 65 __for_idx_281 +load 66 __for_len_281 lt 67 65 66 brif 67 L83 L85 label L83 -load 68 __for_iter_282 -load 69 __for_idx_282 +load 68 __for_iter_281 +load 69 __for_idx_281 call 70 pith_list_get_value_unchecked string 2 68 69 -store __loopvar_282_name 70 +store __loopvar_281_name 70 load 71 blocked -load 72 __loopvar_282_name +load 72 __loopvar_281_name iconst 73 1 call 74 map_insert void 3 71 72 73 label L84 -load 75 __for_idx_282 +load 75 __for_idx_281 iconst 76 1 add 77 75 76 -store __for_idx_282 77 +store __for_idx_281 77 jmp L82 label L85 -load 78 __for_iter_282 +load 78 __for_iter_281 call 79 pith_list_release_handle void 1 78 load 80 blocked ret 80 @@ -111713,21 +111369,21 @@ load 3 root_idx call 4 ir_tree_cache_ir_root_items list 1 3 call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_283 6 -store __for_len_283 5 -store __for_iter_283 4 +store __for_idx_282 6 +store __for_len_282 5 +store __for_iter_282 4 label L86 -load 7 __for_idx_283 -load 8 __for_len_283 +load 7 __for_idx_282 +load 8 __for_len_282 lt 9 7 8 brif 9 L87 L89 label L87 -load 10 __for_iter_283 -load 11 __for_idx_283 +load 10 __for_iter_282 +load 11 __for_idx_282 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_283_item_idx 12 +store __loopvar_282_item_idx 12 load 13 node -load 14 __loopvar_283_item_idx +load 14 __loopvar_282_item_idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 @@ -111776,13 +111432,13 @@ jmp L90 label L94 label L90 label L88 -load 52 __for_idx_283 +load 52 __for_idx_282 iconst 53 1 add 54 52 53 -store __for_idx_283 54 +store __for_idx_282 54 jmp L86 label L89 -load 55 __for_iter_283 +load 55 __for_iter_282 call 56 pith_list_release_handle void 1 55 load 57 node call 58 pith_struct_release void 1 57 @@ -111808,21 +111464,21 @@ load 9 node field 10 9 16 list children call 11 pith_auto_len int 1 10 iconst 12 0 -store __for_idx_284 12 -store __for_len_284 11 -store __for_iter_284 10 +store __for_idx_283 12 +store __for_len_283 11 +store __for_iter_283 10 label L95 -load 13 __for_idx_284 -load 14 __for_len_284 +load 13 __for_idx_283 +load 14 __for_len_283 lt 15 13 14 brif 15 L96 L98 label L96 -load 16 __for_iter_284 -load 17 __for_idx_284 +load 16 __for_iter_283 +load 17 __for_idx_283 call 18 pith_list_get_value unknown 2 16 17 -store __loopvar_284_gc 18 +store __loopvar_283_gc 18 load 19 gcn -load 20 __loopvar_284_gc +load 20 __loopvar_283_gc call 21 ast_get_node struct:Node 1 20 call 22 pith_struct_release void 1 19 store gcn 21 @@ -111860,7 +111516,7 @@ load 41 __or_23_102 brif 41 L100 L101 label L100 load 42 kind -load 43 __loopvar_284_gc +load 43 __loopvar_283_gc call 44 ir_alias_registry_ir_resolve_type_node string 1 43 call 45 pith_cstring_release void 1 42 store kind 44 @@ -111877,7 +111533,7 @@ jmp L106 label L108 label L106 load 53 value_kind -load 54 __loopvar_284_gc +load 54 __loopvar_283_gc call 55 ir_alias_registry_ir_resolve_map_value_type_node string 1 54 call 56 pith_cstring_release void 1 53 store value_kind 55 @@ -111898,10 +111554,10 @@ jmp L99 label L101 label L99 label L97 -load 65 __for_idx_284 +load 65 __for_idx_283 iconst 66 1 add 67 65 66 -store __for_idx_284 67 +store __for_idx_283 67 jmp L95 label L98 load 68 gname @@ -112332,22 +111988,22 @@ store mod_path 24 load 27 parts call 28 pith_auto_len int 1 27 iconst 29 0 -store __for_idx_285 29 -store __for_len_285 28 -store __for_iter_285 27 +store __for_idx_284 29 +store __for_len_284 28 +store __for_iter_284 27 label L130 -load 30 __for_idx_285 -load 31 __for_len_285 +load 30 __for_idx_284 +load 31 __for_len_284 lt 32 30 31 brif 32 L131 L133 label L131 -load 33 __for_iter_285 -load 34 __for_idx_285 +load 33 __for_iter_284 +load 34 __for_idx_284 call 35 pith_list_get_value_unchecked string 2 33 34 -store __loopvar_285_iname 35 -load 36 __for_idx_285 -store __loopvar_285_i 36 -load 37 __loopvar_285_i +store __loopvar_284_iname 35 +load 36 __for_idx_284 +store __loopvar_284_i 36 +load 37 __loopvar_284_i iconst 38 0 eq 39 37 38 brif 39 L135 L136 @@ -112355,27 +112011,27 @@ label L135 jmp L132 label L136 label L134 -load 40 __loopvar_285_iname +load 40 __loopvar_284_iname call 41 string_len int 1 40 iconst 42 0 gt 43 41 42 brif 43 L138 L139 label L138 load 44 renamed -load 45 __loopvar_285_iname +load 45 __loopvar_284_iname call 46 pith_cstring_retain void 1 45 call 47 pith_cstring_release void 1 44 store renamed 45 iconst 48 0 store __or_48_143 48 load 49 mod_path -load 50 __loopvar_285_iname +load 50 __loopvar_284_iname call 51 ir_alias_registry_ir_import_declares_function bool 2 49 50 store __or_48_143 51 brif 51 L144 L143 label L143 load 52 mod_path -load 53 __loopvar_285_iname +load 53 __loopvar_284_iname call 54 ir_alias_registry_ir_import_declares_global bool 2 52 53 store __or_48_143 54 label L144 @@ -112384,7 +112040,7 @@ brif 55 L141 L142 label L141 load 56 renamed load 57 mod_path -load 58 __loopvar_285_iname +load 58 __loopvar_284_iname call 59 ir_names_ir_import_target_name string 2 57 58 call 60 pith_cstring_release void 1 56 store renamed 59 @@ -112392,17 +112048,17 @@ jmp L140 label L142 label L140 load 61 ir_alias_registry_ir_import_renames -load 62 __loopvar_285_iname +load 62 __loopvar_284_iname load 63 renamed call 64 map_insert void 3 61 62 63 jmp L137 label L139 label L137 label L132 -load 65 __for_idx_285 +load 65 __for_idx_284 iconst 66 1 add 67 65 66 -store __for_idx_285 67 +store __for_idx_284 67 jmp L130 label L133 load 68 parts @@ -114350,435 +114006,107 @@ param right_r param opt_tid iconst 5 0 store info 5 -iconst 6 0 -store inner_kind 6 -iconst 7 0 -store str_eq_name 7 -load 8 info -load 9 opt_tid -call 10 types_get_type_info struct:TypeInfo 1 9 -call 11 pith_struct_release void 1 8 -store info 10 -load 12 left_r +load 6 info +load 7 opt_tid +call 8 types_get_type_info struct:TypeInfo 1 7 +call 9 pith_struct_release void 1 6 +store info 8 +load 10 left_r +call 11 ir_optionals_ir_optional_flag_field int 1 10 +store lf 11 +load 12 right_r call 13 ir_optionals_ir_optional_flag_field int 1 12 -store lf 13 -load 14 right_r -call 15 ir_optionals_ir_optional_flag_field int 1 14 -store rf 15 -load 16 left_r -load 17 opt_tid -call 18 ir_optionals_ir_optional_value_field int 2 16 17 -store lv 18 -load 19 right_r -load 20 opt_tid -call 21 ir_optionals_ir_optional_value_field int 2 19 20 -store rv 21 -call 22 ir_builder_ir_reg int 0 -store flag_eq 22 -strref 23 m39s290 -load 24 flag_eq -call 25 int_to_string string 1 24 -concat 26 23 25 -call 27 pith_cstring_release void 1 23 -call 28 pith_cstring_release void 1 25 -strref 29 m39s2 -concat 30 26 29 -call 31 pith_cstring_release void 1 26 -call 32 pith_cstring_release void 1 29 -load 33 lf -call 34 int_to_string string 1 33 -concat 35 30 34 -call 36 pith_cstring_release void 1 30 -call 37 pith_cstring_release void 1 34 -strref 38 m39s2 -concat 39 35 38 -call 40 pith_cstring_release void 1 35 -call 41 pith_cstring_release void 1 38 -load 42 rf -call 43 int_to_string string 1 42 -concat 44 39 43 -call 45 pith_cstring_release void 1 39 -call 46 pith_cstring_release void 1 43 -call 47 ir_builder_ir_emit void 1 44 -call 48 pith_cstring_release void 1 44 -call 49 ir_builder_ir_reg int 0 -store val_eq 49 -load 50 inner_kind -load 51 info -field 52 51 64 int inner -call 53 ir_type_helpers_ir_type_from_tid string 1 52 -call 54 pith_cstring_release void 1 50 -store inner_kind 53 -load 55 inner_kind -strref 56 m39s84 -call 57 pith_cstring_eq bool 2 55 56 -call 58 pith_cstring_release void 1 56 -brif 57 L9 L10 -label L9 -load 59 str_eq_name -strref 60 m39s158 -call 61 ir_metadata_ir_runtime_call_name string 1 60 -call 62 pith_cstring_release void 1 60 -call 63 pith_cstring_release void 1 59 -store str_eq_name 61 -strref 64 m39s297 -load 65 val_eq -call 66 int_to_string string 1 65 -concat 67 64 66 -call 68 pith_cstring_release void 1 64 -call 69 pith_cstring_release void 1 66 -strref 70 m39s2 -concat 71 67 70 -call 72 pith_cstring_release void 1 67 +store rf 13 +load 14 left_r +load 15 opt_tid +call 16 ir_optionals_ir_optional_value_field int 2 14 15 +store lv 16 +load 17 right_r +load 18 opt_tid +call 19 ir_optionals_ir_optional_value_field int 2 17 18 +store rv 19 +call 20 ir_builder_ir_reg int 0 +store flag_eq 20 +strref 21 m39s290 +load 22 flag_eq +call 23 int_to_string string 1 22 +concat 24 21 23 +call 25 pith_cstring_release void 1 21 +call 26 pith_cstring_release void 1 23 +strref 27 m39s2 +concat 28 24 27 +call 29 pith_cstring_release void 1 24 +call 30 pith_cstring_release void 1 27 +load 31 lf +call 32 int_to_string string 1 31 +concat 33 28 32 +call 34 pith_cstring_release void 1 28 +call 35 pith_cstring_release void 1 32 +strref 36 m39s2 +concat 37 33 36 +call 38 pith_cstring_release void 1 33 +call 39 pith_cstring_release void 1 36 +load 40 rf +call 41 int_to_string string 1 40 +concat 42 37 41 +call 43 pith_cstring_release void 1 37 +call 44 pith_cstring_release void 1 41 +call 45 ir_builder_ir_emit void 1 42 +call 46 pith_cstring_release void 1 42 +load 47 info +field 48 47 64 int inner +call 49 ir_type_helpers_ir_type_from_tid string 1 48 +load 50 lv +load 51 rv +call 52 ir_optionals_ir_emit_inner_value_eq int 3 49 50 51 +call 53 pith_cstring_release void 1 49 +store val_eq 52 +call 54 ir_builder_ir_reg int 0 +store zero_r 54 +strref 55 m39s289 +load 56 zero_r +call 57 int_to_string string 1 56 +concat 58 55 57 +call 59 pith_cstring_release void 1 55 +call 60 pith_cstring_release void 1 57 +strref 61 m39s288 +concat 62 58 61 +call 63 pith_cstring_release void 1 58 +call 64 pith_cstring_release void 1 61 +call 65 ir_builder_ir_emit void 1 62 +call 66 pith_cstring_release void 1 62 +call 67 ir_builder_ir_reg int 0 +store both_none 67 +strref 68 m39s290 +load 69 both_none +call 70 int_to_string string 1 69 +concat 71 68 70 +call 72 pith_cstring_release void 1 68 call 73 pith_cstring_release void 1 70 -load 74 str_eq_name +strref 74 m39s2 concat 75 71 74 call 76 pith_cstring_release void 1 71 -strref 77 m39s412 -concat 78 75 77 -call 79 pith_cstring_release void 1 75 -call 80 pith_cstring_release void 1 77 -load 81 lv -call 82 int_to_string string 1 81 -concat 83 78 82 -call 84 pith_cstring_release void 1 78 -call 85 pith_cstring_release void 1 82 -strref 86 m39s2 -concat 87 83 86 -call 88 pith_cstring_release void 1 83 -call 89 pith_cstring_release void 1 86 -load 90 rv -call 91 int_to_string string 1 90 -concat 92 87 91 -call 93 pith_cstring_release void 1 87 -call 94 pith_cstring_release void 1 91 -call 95 ir_builder_ir_emit void 1 92 -call 96 pith_cstring_release void 1 92 -jmp L8 -label L10 -strref 97 m39s290 -load 98 val_eq -call 99 int_to_string string 1 98 -concat 100 97 99 -call 101 pith_cstring_release void 1 97 -call 102 pith_cstring_release void 1 99 -strref 103 m39s2 -concat 104 100 103 -call 105 pith_cstring_release void 1 100 -call 106 pith_cstring_release void 1 103 -load 107 lv -call 108 int_to_string string 1 107 -concat 109 104 108 -call 110 pith_cstring_release void 1 104 -call 111 pith_cstring_release void 1 108 -strref 112 m39s2 -concat 113 109 112 -call 114 pith_cstring_release void 1 109 -call 115 pith_cstring_release void 1 112 -load 116 rv -call 117 int_to_string string 1 116 -concat 118 113 117 -call 119 pith_cstring_release void 1 113 -call 120 pith_cstring_release void 1 117 -call 121 ir_builder_ir_emit void 1 118 -call 122 pith_cstring_release void 1 118 -label L8 -call 123 ir_builder_ir_reg int 0 -store zero_r 123 -strref 124 m39s289 -load 125 zero_r -call 126 int_to_string string 1 125 -concat 127 124 126 -call 128 pith_cstring_release void 1 124 -call 129 pith_cstring_release void 1 126 -strref 130 m39s288 -concat 131 127 130 -call 132 pith_cstring_release void 1 127 -call 133 pith_cstring_release void 1 130 -call 134 ir_builder_ir_emit void 1 131 -call 135 pith_cstring_release void 1 131 -call 136 ir_builder_ir_reg int 0 -store both_none 136 -strref 137 m39s290 -load 138 both_none -call 139 int_to_string string 1 138 -concat 140 137 139 -call 141 pith_cstring_release void 1 137 -call 142 pith_cstring_release void 1 139 -strref 143 m39s2 -concat 144 140 143 -call 145 pith_cstring_release void 1 140 -call 146 pith_cstring_release void 1 143 -load 147 lf -call 148 int_to_string string 1 147 -concat 149 144 148 -call 150 pith_cstring_release void 1 144 -call 151 pith_cstring_release void 1 148 -strref 152 m39s2 -concat 153 149 152 -call 154 pith_cstring_release void 1 149 -call 155 pith_cstring_release void 1 152 -load 156 zero_r -call 157 int_to_string string 1 156 -concat 158 153 157 -call 159 pith_cstring_release void 1 153 -call 160 pith_cstring_release void 1 157 -call 161 ir_builder_ir_emit void 1 158 -call 162 pith_cstring_release void 1 158 -call 163 ir_builder_ir_reg int 0 -store tail 163 -strref 164 m39s413 -load 165 tail -call 166 int_to_string string 1 165 -concat 167 164 166 -call 168 pith_cstring_release void 1 164 -call 169 pith_cstring_release void 1 166 -strref 170 m39s2 -concat 171 167 170 -call 172 pith_cstring_release void 1 167 -call 173 pith_cstring_release void 1 170 -load 174 both_none -call 175 int_to_string string 1 174 -concat 176 171 175 -call 177 pith_cstring_release void 1 171 -call 178 pith_cstring_release void 1 175 -strref 179 m39s2 -concat 180 176 179 -call 181 pith_cstring_release void 1 176 -call 182 pith_cstring_release void 1 179 -load 183 val_eq -call 184 int_to_string string 1 183 -concat 185 180 184 -call 186 pith_cstring_release void 1 180 -call 187 pith_cstring_release void 1 184 -call 188 ir_builder_ir_emit void 1 185 -call 189 pith_cstring_release void 1 185 -load 190 op -strref 191 m39s411 -call 192 pith_cstring_eq bool 2 190 191 -call 193 pith_cstring_release void 1 191 -brif 192 L12 L13 -label L12 -strref 194 m39s410 -load 195 result_reg -call 196 int_to_string string 1 195 -concat 197 194 196 -call 198 pith_cstring_release void 1 194 -call 199 pith_cstring_release void 1 196 -strref 200 m39s2 -concat 201 197 200 -call 202 pith_cstring_release void 1 197 -call 203 pith_cstring_release void 1 200 -load 204 flag_eq -call 205 int_to_string string 1 204 -concat 206 201 205 -call 207 pith_cstring_release void 1 201 -call 208 pith_cstring_release void 1 205 -strref 209 m39s2 -concat 210 206 209 -call 211 pith_cstring_release void 1 206 -call 212 pith_cstring_release void 1 209 -load 213 tail -call 214 int_to_string string 1 213 -concat 215 210 214 -call 216 pith_cstring_release void 1 210 -call 217 pith_cstring_release void 1 214 -call 218 ir_builder_ir_emit void 1 215 -call 219 pith_cstring_release void 1 215 -jmp L11 -label L13 -call 220 ir_builder_ir_reg int 0 -store eq_result 220 -strref 221 m39s410 -load 222 eq_result -call 223 int_to_string string 1 222 -concat 224 221 223 -call 225 pith_cstring_release void 1 221 -call 226 pith_cstring_release void 1 223 -strref 227 m39s2 -concat 228 224 227 -call 229 pith_cstring_release void 1 224 -call 230 pith_cstring_release void 1 227 -load 231 flag_eq -call 232 int_to_string string 1 231 -concat 233 228 232 -call 234 pith_cstring_release void 1 228 -call 235 pith_cstring_release void 1 232 -strref 236 m39s2 -concat 237 233 236 -call 238 pith_cstring_release void 1 233 -call 239 pith_cstring_release void 1 236 -load 240 tail -call 241 int_to_string string 1 240 -concat 242 237 241 -call 243 pith_cstring_release void 1 237 -call 244 pith_cstring_release void 1 241 -call 245 ir_builder_ir_emit void 1 242 -call 246 pith_cstring_release void 1 242 -call 247 ir_builder_ir_reg int 0 -store one_r 247 -strref 248 m39s289 -load 249 one_r -call 250 int_to_string string 1 249 -concat 251 248 250 -call 252 pith_cstring_release void 1 248 -call 253 pith_cstring_release void 1 250 -strref 254 m39s293 -concat 255 251 254 -call 256 pith_cstring_release void 1 251 -call 257 pith_cstring_release void 1 254 -call 258 ir_builder_ir_emit void 1 255 -call 259 pith_cstring_release void 1 255 -strref 260 m39s404 -load 261 result_reg -call 262 int_to_string string 1 261 -concat 263 260 262 -call 264 pith_cstring_release void 1 260 -call 265 pith_cstring_release void 1 262 -strref 266 m39s2 -concat 267 263 266 -call 268 pith_cstring_release void 1 263 -call 269 pith_cstring_release void 1 266 -load 270 eq_result -call 271 int_to_string string 1 270 -concat 272 267 271 -call 273 pith_cstring_release void 1 267 -call 274 pith_cstring_release void 1 271 -strref 275 m39s2 -concat 276 272 275 -call 277 pith_cstring_release void 1 272 -call 278 pith_cstring_release void 1 275 -load 279 one_r -call 280 int_to_string string 1 279 -concat 281 276 280 -call 282 pith_cstring_release void 1 276 -call 283 pith_cstring_release void 1 280 -call 284 ir_builder_ir_emit void 1 281 -call 285 pith_cstring_release void 1 281 -label L11 -load 286 info -call 287 pith_struct_release void 1 286 -load 288 inner_kind -call 289 pith_cstring_release void 1 288 -load 290 str_eq_name -call 291 pith_cstring_release void 1 290 -iconst 292 0 -ret 292 -endfunc -func ir_optionals_ir_emit_optional_plain_compare 5 void -param result_reg -param op -param opt_r -param plain_r -param opt_tid -iconst 5 0 -store info 5 -iconst 6 0 -store inner_kind 6 -iconst 7 0 -store str_eq_name 7 -load 8 info -load 9 opt_tid -call 10 types_get_type_info struct:TypeInfo 1 9 -call 11 pith_struct_release void 1 8 -store info 10 -load 12 opt_r -call 13 ir_optionals_ir_optional_flag_field int 1 12 -store flag 13 -load 14 opt_r -load 15 opt_tid -call 16 ir_optionals_ir_optional_value_field int 2 14 15 -store value 16 -call 17 ir_builder_ir_reg int 0 -store val_eq 17 -load 18 inner_kind -load 19 info -field 20 19 64 int inner -call 21 ir_type_helpers_ir_type_from_tid string 1 20 -call 22 pith_cstring_release void 1 18 -store inner_kind 21 -load 23 inner_kind -strref 24 m39s84 -call 25 pith_cstring_eq bool 2 23 24 -call 26 pith_cstring_release void 1 24 -brif 25 L15 L16 -label L15 -load 27 str_eq_name -strref 28 m39s158 -call 29 ir_metadata_ir_runtime_call_name string 1 28 -call 30 pith_cstring_release void 1 28 -call 31 pith_cstring_release void 1 27 -store str_eq_name 29 -strref 32 m39s297 -load 33 val_eq -call 34 int_to_string string 1 33 -concat 35 32 34 -call 36 pith_cstring_release void 1 32 -call 37 pith_cstring_release void 1 34 -strref 38 m39s2 -concat 39 35 38 -call 40 pith_cstring_release void 1 35 -call 41 pith_cstring_release void 1 38 -load 42 str_eq_name -concat 43 39 42 -call 44 pith_cstring_release void 1 39 -strref 45 m39s412 -concat 46 43 45 -call 47 pith_cstring_release void 1 43 -call 48 pith_cstring_release void 1 45 -load 49 value -call 50 int_to_string string 1 49 -concat 51 46 50 -call 52 pith_cstring_release void 1 46 -call 53 pith_cstring_release void 1 50 -strref 54 m39s2 -concat 55 51 54 -call 56 pith_cstring_release void 1 51 -call 57 pith_cstring_release void 1 54 -load 58 plain_r -call 59 int_to_string string 1 58 -concat 60 55 59 -call 61 pith_cstring_release void 1 55 -call 62 pith_cstring_release void 1 59 -call 63 ir_builder_ir_emit void 1 60 -call 64 pith_cstring_release void 1 60 -jmp L14 -label L16 -strref 65 m39s290 -load 66 val_eq -call 67 int_to_string string 1 66 -concat 68 65 67 -call 69 pith_cstring_release void 1 65 -call 70 pith_cstring_release void 1 67 -strref 71 m39s2 -concat 72 68 71 -call 73 pith_cstring_release void 1 68 -call 74 pith_cstring_release void 1 71 -load 75 value -call 76 int_to_string string 1 75 -concat 77 72 76 -call 78 pith_cstring_release void 1 72 -call 79 pith_cstring_release void 1 76 -strref 80 m39s2 -concat 81 77 80 -call 82 pith_cstring_release void 1 77 -call 83 pith_cstring_release void 1 80 -load 84 plain_r -call 85 int_to_string string 1 84 -concat 86 81 85 -call 87 pith_cstring_release void 1 81 -call 88 pith_cstring_release void 1 85 -call 89 ir_builder_ir_emit void 1 86 -call 90 pith_cstring_release void 1 86 -label L14 -load 91 op -strref 92 m39s411 -call 93 pith_cstring_eq bool 2 91 92 -call 94 pith_cstring_release void 1 92 -brif 93 L18 L19 -label L18 -strref 95 m39s410 -load 96 result_reg +call 77 pith_cstring_release void 1 74 +load 78 lf +call 79 int_to_string string 1 78 +concat 80 75 79 +call 81 pith_cstring_release void 1 75 +call 82 pith_cstring_release void 1 79 +strref 83 m39s2 +concat 84 80 83 +call 85 pith_cstring_release void 1 80 +call 86 pith_cstring_release void 1 83 +load 87 zero_r +call 88 int_to_string string 1 87 +concat 89 84 88 +call 90 pith_cstring_release void 1 84 +call 91 pith_cstring_release void 1 88 +call 92 ir_builder_ir_emit void 1 89 +call 93 pith_cstring_release void 1 89 +call 94 ir_builder_ir_reg int 0 +store tail 94 +strref 95 m39s413 +load 96 tail call 97 int_to_string string 1 96 concat 98 95 97 call 99 pith_cstring_release void 1 95 @@ -114787,7 +114115,7 @@ strref 101 m39s2 concat 102 98 101 call 103 pith_cstring_release void 1 98 call 104 pith_cstring_release void 1 101 -load 105 flag +load 105 both_none call 106 int_to_string string 1 105 concat 107 102 106 call 108 pith_cstring_release void 1 102 @@ -114803,85 +114131,255 @@ call 117 pith_cstring_release void 1 111 call 118 pith_cstring_release void 1 115 call 119 ir_builder_ir_emit void 1 116 call 120 pith_cstring_release void 1 116 -jmp L17 -label L19 -call 121 ir_builder_ir_reg int 0 -store eq_result 121 -strref 122 m39s410 -load 123 eq_result -call 124 int_to_string string 1 123 -concat 125 122 124 -call 126 pith_cstring_release void 1 122 -call 127 pith_cstring_release void 1 124 -strref 128 m39s2 -concat 129 125 128 -call 130 pith_cstring_release void 1 125 -call 131 pith_cstring_release void 1 128 -load 132 flag -call 133 int_to_string string 1 132 -concat 134 129 133 -call 135 pith_cstring_release void 1 129 -call 136 pith_cstring_release void 1 133 -strref 137 m39s2 -concat 138 134 137 -call 139 pith_cstring_release void 1 134 -call 140 pith_cstring_release void 1 137 -load 141 val_eq -call 142 int_to_string string 1 141 -concat 143 138 142 -call 144 pith_cstring_release void 1 138 -call 145 pith_cstring_release void 1 142 -call 146 ir_builder_ir_emit void 1 143 -call 147 pith_cstring_release void 1 143 -call 148 ir_builder_ir_reg int 0 -store one_r 148 -strref 149 m39s289 -load 150 one_r -call 151 int_to_string string 1 150 -concat 152 149 151 -call 153 pith_cstring_release void 1 149 -call 154 pith_cstring_release void 1 151 -strref 155 m39s293 -concat 156 152 155 -call 157 pith_cstring_release void 1 152 -call 158 pith_cstring_release void 1 155 -call 159 ir_builder_ir_emit void 1 156 -call 160 pith_cstring_release void 1 156 -strref 161 m39s404 -load 162 result_reg -call 163 int_to_string string 1 162 -concat 164 161 163 -call 165 pith_cstring_release void 1 161 -call 166 pith_cstring_release void 1 163 -strref 167 m39s2 -concat 168 164 167 -call 169 pith_cstring_release void 1 164 -call 170 pith_cstring_release void 1 167 -load 171 eq_result -call 172 int_to_string string 1 171 -concat 173 168 172 -call 174 pith_cstring_release void 1 168 -call 175 pith_cstring_release void 1 172 -strref 176 m39s2 -concat 177 173 176 -call 178 pith_cstring_release void 1 173 -call 179 pith_cstring_release void 1 176 -load 180 one_r -call 181 int_to_string string 1 180 -concat 182 177 181 -call 183 pith_cstring_release void 1 177 -call 184 pith_cstring_release void 1 181 -call 185 ir_builder_ir_emit void 1 182 -call 186 pith_cstring_release void 1 182 -label L17 -load 187 info -call 188 pith_struct_release void 1 187 -load 189 inner_kind -call 190 pith_cstring_release void 1 189 -load 191 str_eq_name -call 192 pith_cstring_release void 1 191 -iconst 193 0 -ret 193 +load 121 result_reg +load 122 op +load 123 flag_eq +load 124 tail +call 125 ir_optionals_ir_emit_guarded_eq void 4 121 122 123 124 +load 126 info +call 127 pith_struct_release void 1 126 +iconst 128 0 +ret 128 +endfunc +func ir_optionals_ir_emit_optional_plain_compare 5 void +param result_reg +param op +param opt_r +param plain_r +param opt_tid +iconst 5 0 +store info 5 +load 6 info +load 7 opt_tid +call 8 types_get_type_info struct:TypeInfo 1 7 +call 9 pith_struct_release void 1 6 +store info 8 +load 10 opt_r +call 11 ir_optionals_ir_optional_flag_field int 1 10 +store flag 11 +load 12 opt_r +load 13 opt_tid +call 14 ir_optionals_ir_optional_value_field int 2 12 13 +store value 14 +load 15 info +field 16 15 64 int inner +call 17 ir_type_helpers_ir_type_from_tid string 1 16 +load 18 value +load 19 plain_r +call 20 ir_optionals_ir_emit_inner_value_eq int 3 17 18 19 +call 21 pith_cstring_release void 1 17 +store val_eq 20 +load 22 result_reg +load 23 op +load 24 flag +load 25 val_eq +call 26 ir_optionals_ir_emit_guarded_eq void 4 22 23 24 25 +load 27 info +call 28 pith_struct_release void 1 27 +iconst 29 0 +ret 29 +endfunc +func ir_optionals_ir_emit_inner_value_eq 3 int +param inner_kind +param a_r +param b_r +iconst 3 0 +store str_eq_name 3 +call 4 ir_builder_ir_reg int 0 +store val_eq 4 +load 5 inner_kind +strref 6 m39s84 +call 7 pith_cstring_eq bool 2 5 6 +call 8 pith_cstring_release void 1 6 +brif 7 L9 L10 +label L9 +load 9 str_eq_name +strref 10 m39s158 +call 11 ir_metadata_ir_runtime_call_name string 1 10 +call 12 pith_cstring_release void 1 10 +call 13 pith_cstring_release void 1 9 +store str_eq_name 11 +strref 14 m39s297 +load 15 val_eq +call 16 int_to_string string 1 15 +concat 17 14 16 +call 18 pith_cstring_release void 1 14 +call 19 pith_cstring_release void 1 16 +strref 20 m39s2 +concat 21 17 20 +call 22 pith_cstring_release void 1 17 +call 23 pith_cstring_release void 1 20 +load 24 str_eq_name +concat 25 21 24 +call 26 pith_cstring_release void 1 21 +strref 27 m39s412 +concat 28 25 27 +call 29 pith_cstring_release void 1 25 +call 30 pith_cstring_release void 1 27 +load 31 a_r +call 32 int_to_string string 1 31 +concat 33 28 32 +call 34 pith_cstring_release void 1 28 +call 35 pith_cstring_release void 1 32 +strref 36 m39s2 +concat 37 33 36 +call 38 pith_cstring_release void 1 33 +call 39 pith_cstring_release void 1 36 +load 40 b_r +call 41 int_to_string string 1 40 +concat 42 37 41 +call 43 pith_cstring_release void 1 37 +call 44 pith_cstring_release void 1 41 +call 45 ir_builder_ir_emit void 1 42 +call 46 pith_cstring_release void 1 42 +jmp L8 +label L10 +strref 47 m39s290 +load 48 val_eq +call 49 int_to_string string 1 48 +concat 50 47 49 +call 51 pith_cstring_release void 1 47 +call 52 pith_cstring_release void 1 49 +strref 53 m39s2 +concat 54 50 53 +call 55 pith_cstring_release void 1 50 +call 56 pith_cstring_release void 1 53 +load 57 a_r +call 58 int_to_string string 1 57 +concat 59 54 58 +call 60 pith_cstring_release void 1 54 +call 61 pith_cstring_release void 1 58 +strref 62 m39s2 +concat 63 59 62 +call 64 pith_cstring_release void 1 59 +call 65 pith_cstring_release void 1 62 +load 66 b_r +call 67 int_to_string string 1 66 +concat 68 63 67 +call 69 pith_cstring_release void 1 63 +call 70 pith_cstring_release void 1 67 +call 71 ir_builder_ir_emit void 1 68 +call 72 pith_cstring_release void 1 68 +label L8 +load 73 val_eq +load 74 str_eq_name +call 75 pith_cstring_release void 1 74 +ret 73 +load 76 str_eq_name +call 77 pith_cstring_release void 1 76 +iconst 78 0 +ret 78 +endfunc +func ir_optionals_ir_emit_guarded_eq 4 void +param result_reg +param op +param guard_r +param val_eq_r +load 4 op +strref 5 m39s411 +call 6 pith_cstring_eq bool 2 4 5 +call 7 pith_cstring_release void 1 5 +brif 6 L12 L13 +label L12 +strref 8 m39s410 +load 9 result_reg +call 10 int_to_string string 1 9 +concat 11 8 10 +call 12 pith_cstring_release void 1 8 +call 13 pith_cstring_release void 1 10 +strref 14 m39s2 +concat 15 11 14 +call 16 pith_cstring_release void 1 11 +call 17 pith_cstring_release void 1 14 +load 18 guard_r +call 19 int_to_string string 1 18 +concat 20 15 19 +call 21 pith_cstring_release void 1 15 +call 22 pith_cstring_release void 1 19 +strref 23 m39s2 +concat 24 20 23 +call 25 pith_cstring_release void 1 20 +call 26 pith_cstring_release void 1 23 +load 27 val_eq_r +call 28 int_to_string string 1 27 +concat 29 24 28 +call 30 pith_cstring_release void 1 24 +call 31 pith_cstring_release void 1 28 +call 32 ir_builder_ir_emit void 1 29 +call 33 pith_cstring_release void 1 29 +jmp L11 +label L13 +call 34 ir_builder_ir_reg int 0 +store eq_result 34 +strref 35 m39s410 +load 36 eq_result +call 37 int_to_string string 1 36 +concat 38 35 37 +call 39 pith_cstring_release void 1 35 +call 40 pith_cstring_release void 1 37 +strref 41 m39s2 +concat 42 38 41 +call 43 pith_cstring_release void 1 38 +call 44 pith_cstring_release void 1 41 +load 45 guard_r +call 46 int_to_string string 1 45 +concat 47 42 46 +call 48 pith_cstring_release void 1 42 +call 49 pith_cstring_release void 1 46 +strref 50 m39s2 +concat 51 47 50 +call 52 pith_cstring_release void 1 47 +call 53 pith_cstring_release void 1 50 +load 54 val_eq_r +call 55 int_to_string string 1 54 +concat 56 51 55 +call 57 pith_cstring_release void 1 51 +call 58 pith_cstring_release void 1 55 +call 59 ir_builder_ir_emit void 1 56 +call 60 pith_cstring_release void 1 56 +call 61 ir_builder_ir_reg int 0 +store one_r 61 +strref 62 m39s289 +load 63 one_r +call 64 int_to_string string 1 63 +concat 65 62 64 +call 66 pith_cstring_release void 1 62 +call 67 pith_cstring_release void 1 64 +strref 68 m39s293 +concat 69 65 68 +call 70 pith_cstring_release void 1 65 +call 71 pith_cstring_release void 1 68 +call 72 ir_builder_ir_emit void 1 69 +call 73 pith_cstring_release void 1 69 +strref 74 m39s404 +load 75 result_reg +call 76 int_to_string string 1 75 +concat 77 74 76 +call 78 pith_cstring_release void 1 74 +call 79 pith_cstring_release void 1 76 +strref 80 m39s2 +concat 81 77 80 +call 82 pith_cstring_release void 1 77 +call 83 pith_cstring_release void 1 80 +load 84 eq_result +call 85 int_to_string string 1 84 +concat 86 81 85 +call 87 pith_cstring_release void 1 81 +call 88 pith_cstring_release void 1 85 +strref 89 m39s2 +concat 90 86 89 +call 91 pith_cstring_release void 1 86 +call 92 pith_cstring_release void 1 89 +load 93 one_r +call 94 int_to_string string 1 93 +concat 95 90 94 +call 96 pith_cstring_release void 1 90 +call 97 pith_cstring_release void 1 94 +call 98 ir_builder_ir_emit void 1 95 +call 99 pith_cstring_release void 1 95 +label L11 +iconst 100 0 +ret 100 endfunc func ir_optionals_ir_emit_call1_raw 4 void param result_reg @@ -116620,238 +116118,239 @@ string m41s617 "': another impl block already declares it" string m41s618 "' on '" string m41s619 "duplicate method '" string m41s620 "E263" -string m41s621 "iface" -string m41s622 "inherent" -string m41s623 "assoc_type" -string m41s624 "' is a builtin type name and cannot be used as an enum name" -string m41s625 "E250" -string m41s626 "' must be " -string m41s627 "default for field '" -string m41s628 "' is a builtin type name and cannot be used as a struct name" -string m41s629 "' must be an optional struct type (T?)" -string m41s630 "weak field '" -string m41s631 "E249" -string m41s632 "parameter requires a type annotation" -string m41s633 "type_alias" -string m41s634 "interface_decl" -string m41s635 "unknown generic type: " -string m41s636 "Channel expects 1 type argument, got " -string m41s637 "Task expects 1 type argument, got " -string m41s638 "Map expects 2 type arguments, got " -string m41s639 "Set expects 1 type argument, got " -string m41s640 "List expects 1 type argument, got " -string m41s641 "type nesting too deep" -string m41s642 "E233" -string m41s643 "import it from the module that defines it" -string m41s644 "' is not declared by module '" -string m41s645 "E246" -string m41s646 "*" -string m41s647 "none" -string m41s648 "" -string m41s649 "fn" -string m41s650 "TypeInfo(" -string m41s651 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" -string m41s652 "name" -string m41s653 ", name: " -string m41s654 "fields" -string m41s655 ", fields: " -string m41s656 "field_types" -string m41s657 ", field_types: " -string m41s658 "field_pub" -string m41s659 ", field_pub: " -string m41s660 "field_mut" -string m41s661 ", field_mut: " -string m41s662 "param_types" -string m41s663 ", param_types: " -string m41s664 "return_type" -string m41s665 ", return_type: " -string m41s666 "inner" -string m41s667 ", inner: " -string m41s668 "key_type" -string m41s669 ", key_type: " -string m41s670 "value_type" -string m41s671 ", value_type: " -string m41s672 "elements" -string m41s673 ", elements: " -string m41s674 "variants" -string m41s675 ", variants: " -string m41s676 "variant_types" -string m41s677 ", variant_types: " -string m41s678 "L" -string m41s679 "string " -string m41s680 "__" -string m41s681 "s" -string m41s682 "m" -string m41s683 "IrBuilderSnapshot(" -string m41s684 "inext_reg,lines" -string m41s685 "next_reg" -string m41s686 "next_reg: " -string m41s687 "lines" -string m41s688 ", lines: " -string m41s689 "label " -string m41s690 " 0" -string m41s691 "iconst " -string m41s692 " 1" -string m41s693 "fconst " -string m41s694 "strref " -string m41s695 "a" -string m41s696 "closure" -string m41s697 "bool" -string m41s698 "set_int" -string m41s699 "map_int" -string m41s700 "list_string" -string m41s701 "string" -string m41s702 "int" -string m41s703 " pith_struct_set_dtor void 2 " -string m41s704 "call " -string m41s705 " __opt_dtor_" -string m41s706 "funcref " -string m41s707 "neq " -string m41s708 " pith_struct_weak_load int 1 " -string m41s709 " 1 " -string m41s710 "sstore " -string m41s711 " 0 " -string m41s712 "__struct_alloc" -string m41s713 " 2" -string m41s714 "and " -string m41s715 "eq " -string m41s716 " bool 2 " -string m41s717 "__str_eq" -string m41s718 "or " -string m41s719 " value" -string m41s720 " 8 " -string m41s721 "field " -string m41s722 " 0 bool is_some" -string m41s723 "struct:" -string m41s724 "TypeInfo" -string m41s725 "get_type_info" -string m41s726 "ti_channel" -string m41s727 "ti_task" -string m41s728 "ti_set" -string m41s729 "ti_map" -string m41s730 "ti_list" -string m41s731 "ti_tuple" -string m41s732 "ti_result" -string m41s733 "ti_optional" -string m41s734 "ti_function" -string m41s735 "ti_enum" -string m41s736 "ti_struct" -string m41s737 "ti_primitive" -string m41s738 "Token" -string m41s739 "expect" -string m41s740 "advance_token" -string m41s741 "Node" -string m41s742 "get_node" -string m41s743 "bytes" -string m41s744 "void" -string m41s745 "pith_struct_weak_release" -string m41s746 "weak" -string m41s747 "pith_closure_release" -string m41s748 "pith_struct_release" -string m41s749 "pith_bytes_release" -string m41s750 "pith_set_release_handle" -string m41s751 "pith_map_release_handle" -string m41s752 "pith_list_release_handle" -string m41s753 "pith_cc_visit" -string m41s754 "pith_struct_weak_retain" -string m41s755 "pith_closure_retain" -string m41s756 "pith_struct_retain" -string m41s757 "pith_bytes_retain" -string m41s758 "pith_set_retain_handle" -string m41s759 "pith_map_retain_handle" -string m41s760 "pith_list_retain_handle" -string m41s761 "__cstring_release" -string m41s762 "__cstring_retain" -string m41s763 "not_op" -string m41s764 "!" -string m41s765 "integer" -string m41s766 "str_lit" -string m41s767 "float" -string m41s768 "list:" -string m41s769 "task:" -string m41s770 "channel:" -string m41s771 "unknown" -string m41s772 "opaque:" -string m41s773 "Set[UInt64]" -string m41s774 "Set[UInt32]" -string m41s775 "Set[UInt16]" -string m41s776 "Set[UInt8]" -string m41s777 "Set[Int64]" -string m41s778 "Set[Int32]" -string m41s779 "Set[Int16]" -string m41s780 "Set[Int8]" -string m41s781 "Set[UInt]" -string m41s782 "Set[Int]" -string m41s783 "Map[Int, " -string m41s784 "Map[Int," -string m41s785 "List[String]" -string m41s786 "load " -string m41s787 "store " -string m41s788 "jmp " -string m41s789 "brif " -string m41s790 "match" -string m41s791 "ifexpr" -string m41s792 " __payload" -string m41s793 " __t" -string m41s794 "lt " -string m41s795 "lte " -string m41s796 "incl" -string m41s797 "gte " -string m41s798 " 0 int __enum_tag" -string m41s799 "parse_int failed" -string m41s800 "file_open_read failed" -string m41s801 "file_open_write failed" -string m41s802 "file_open_append failed" -string m41s803 "byte_buffer_write failed" -string m41s804 "byte_buffer_write_string_utf8 failed" -string m41s805 "byte_buffer_write_byte failed" -string m41s806 "file_write failed" -string m41s807 "file_write_bytes failed" -string m41s808 "tcp_connect failed" -string m41s809 "tcp_listen failed" -string m41s810 "tcp_accept failed" -string m41s811 "tcp_write failed" -string m41s812 "tcp_write_bytes failed" -string m41s813 "process_spawn failed" -string m41s814 "process_spawn_argv failed" -string m41s815 "process_output_argv failed" -string m41s816 "process_write failed" -string m41s817 "process_write_bytes failed" -string m41s818 "crypto_x25519_keygen failed" -string m41s819 "write_file failed" -string m41s820 "append_file failed" -string m41s821 "write_file_bytes failed" -string m41s822 "append_file_bytes failed" -string m41s823 "read_file failed" -string m41s824 "exec_output failed" -string m41s825 "dns_resolve failed" -string m41s826 "bytes_to_string_utf8 failed" -string m41s827 "bytes_substring_utf8 failed" -string m41s828 "file_read failed" -string m41s829 "tcp_read failed" -string m41s830 "process_read failed" -string m41s831 "process_read_err failed" -string m41s832 "read_file_bytes failed" -string m41s833 "b64_decode failed" -string m41s834 "from_hex failed" -string m41s835 "file_read_bytes failed" -string m41s836 "tcp_read_bytes failed" -string m41s837 "process_read_bytes failed" -string m41s838 "process_read_err_bytes failed" -string m41s839 "crypto_x25519_public_key failed" -string m41s840 "crypto_x25519_shared_secret failed" -string m41s841 "crypto_aes_128_gcm_seal failed" -string m41s842 "crypto_aes_128_gcm_open failed" -string m41s843 "crypto_chacha20_poly1305_seal failed" -string m41s844 "crypto_chacha20_poly1305_open failed" -string m41s845 "crypto_sign_rsa_pss_sha256_pkcs8 failed" -string m41s846 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" -string m41s847 "crypto_sign_ed25519_pkcs8 failed" -string m41s848 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" -string m41s849 "crypto_blake2b failed" -string m41s850 "crypto_argon2id failed" -string m41s851 "zstd_compress failed" -string m41s852 "zstd_decompress failed" +string m41s621 "#" +string m41s622 "iface" +string m41s623 "inherent" +string m41s624 "assoc_type" +string m41s625 "' is a builtin type name and cannot be used as an enum name" +string m41s626 "E250" +string m41s627 "' must be " +string m41s628 "default for field '" +string m41s629 "' is a builtin type name and cannot be used as a struct name" +string m41s630 "' must be an optional struct type (T?)" +string m41s631 "weak field '" +string m41s632 "E249" +string m41s633 "parameter requires a type annotation" +string m41s634 "type_alias" +string m41s635 "interface_decl" +string m41s636 "unknown generic type: " +string m41s637 "Channel expects 1 type argument, got " +string m41s638 "Task expects 1 type argument, got " +string m41s639 "Map expects 2 type arguments, got " +string m41s640 "Set expects 1 type argument, got " +string m41s641 "List expects 1 type argument, got " +string m41s642 "type nesting too deep" +string m41s643 "E233" +string m41s644 "import it from the module that defines it" +string m41s645 "' is not declared by module '" +string m41s646 "E246" +string m41s647 "*" +string m41s648 "none" +string m41s649 "" +string m41s650 "fn" +string m41s651 "TypeInfo(" +string m41s652 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" +string m41s653 "name" +string m41s654 ", name: " +string m41s655 "fields" +string m41s656 ", fields: " +string m41s657 "field_types" +string m41s658 ", field_types: " +string m41s659 "field_pub" +string m41s660 ", field_pub: " +string m41s661 "field_mut" +string m41s662 ", field_mut: " +string m41s663 "param_types" +string m41s664 ", param_types: " +string m41s665 "return_type" +string m41s666 ", return_type: " +string m41s667 "inner" +string m41s668 ", inner: " +string m41s669 "key_type" +string m41s670 ", key_type: " +string m41s671 "value_type" +string m41s672 ", value_type: " +string m41s673 "elements" +string m41s674 ", elements: " +string m41s675 "variants" +string m41s676 ", variants: " +string m41s677 "variant_types" +string m41s678 ", variant_types: " +string m41s679 "L" +string m41s680 "string " +string m41s681 "__" +string m41s682 "s" +string m41s683 "m" +string m41s684 "IrBuilderSnapshot(" +string m41s685 "inext_reg,lines" +string m41s686 "next_reg" +string m41s687 "next_reg: " +string m41s688 "lines" +string m41s689 ", lines: " +string m41s690 "label " +string m41s691 " 0" +string m41s692 "iconst " +string m41s693 " 1" +string m41s694 "fconst " +string m41s695 "strref " +string m41s696 "a" +string m41s697 "closure" +string m41s698 "bool" +string m41s699 "set_int" +string m41s700 "map_int" +string m41s701 "list_string" +string m41s702 "string" +string m41s703 "int" +string m41s704 " pith_struct_set_dtor void 2 " +string m41s705 "call " +string m41s706 " __opt_dtor_" +string m41s707 "funcref " +string m41s708 "neq " +string m41s709 " pith_struct_weak_load int 1 " +string m41s710 " 1 " +string m41s711 "sstore " +string m41s712 " 0 " +string m41s713 "__struct_alloc" +string m41s714 " 2" +string m41s715 "and " +string m41s716 "eq " +string m41s717 " bool 2 " +string m41s718 "__str_eq" +string m41s719 "or " +string m41s720 " value" +string m41s721 " 8 " +string m41s722 "field " +string m41s723 " 0 bool is_some" +string m41s724 "struct:" +string m41s725 "TypeInfo" +string m41s726 "get_type_info" +string m41s727 "ti_channel" +string m41s728 "ti_task" +string m41s729 "ti_set" +string m41s730 "ti_map" +string m41s731 "ti_list" +string m41s732 "ti_tuple" +string m41s733 "ti_result" +string m41s734 "ti_optional" +string m41s735 "ti_function" +string m41s736 "ti_enum" +string m41s737 "ti_struct" +string m41s738 "ti_primitive" +string m41s739 "Token" +string m41s740 "expect" +string m41s741 "advance_token" +string m41s742 "Node" +string m41s743 "get_node" +string m41s744 "bytes" +string m41s745 "void" +string m41s746 "pith_struct_weak_release" +string m41s747 "weak" +string m41s748 "pith_closure_release" +string m41s749 "pith_struct_release" +string m41s750 "pith_bytes_release" +string m41s751 "pith_set_release_handle" +string m41s752 "pith_map_release_handle" +string m41s753 "pith_list_release_handle" +string m41s754 "pith_cc_visit" +string m41s755 "pith_struct_weak_retain" +string m41s756 "pith_closure_retain" +string m41s757 "pith_struct_retain" +string m41s758 "pith_bytes_retain" +string m41s759 "pith_set_retain_handle" +string m41s760 "pith_map_retain_handle" +string m41s761 "pith_list_retain_handle" +string m41s762 "__cstring_release" +string m41s763 "__cstring_retain" +string m41s764 "not_op" +string m41s765 "!" +string m41s766 "integer" +string m41s767 "str_lit" +string m41s768 "float" +string m41s769 "list:" +string m41s770 "task:" +string m41s771 "channel:" +string m41s772 "unknown" +string m41s773 "opaque:" +string m41s774 "Set[UInt64]" +string m41s775 "Set[UInt32]" +string m41s776 "Set[UInt16]" +string m41s777 "Set[UInt8]" +string m41s778 "Set[Int64]" +string m41s779 "Set[Int32]" +string m41s780 "Set[Int16]" +string m41s781 "Set[Int8]" +string m41s782 "Set[UInt]" +string m41s783 "Set[Int]" +string m41s784 "Map[Int, " +string m41s785 "Map[Int," +string m41s786 "List[String]" +string m41s787 "load " +string m41s788 "store " +string m41s789 "jmp " +string m41s790 "brif " +string m41s791 "match" +string m41s792 "ifexpr" +string m41s793 " __payload" +string m41s794 " __t" +string m41s795 "lt " +string m41s796 "lte " +string m41s797 "incl" +string m41s798 "gte " +string m41s799 " 0 int __enum_tag" +string m41s800 "parse_int failed" +string m41s801 "file_open_read failed" +string m41s802 "file_open_write failed" +string m41s803 "file_open_append failed" +string m41s804 "byte_buffer_write failed" +string m41s805 "byte_buffer_write_string_utf8 failed" +string m41s806 "byte_buffer_write_byte failed" +string m41s807 "file_write failed" +string m41s808 "file_write_bytes failed" +string m41s809 "tcp_connect failed" +string m41s810 "tcp_listen failed" +string m41s811 "tcp_accept failed" +string m41s812 "tcp_write failed" +string m41s813 "tcp_write_bytes failed" +string m41s814 "process_spawn failed" +string m41s815 "process_spawn_argv failed" +string m41s816 "process_output_argv failed" +string m41s817 "process_write failed" +string m41s818 "process_write_bytes failed" +string m41s819 "crypto_x25519_keygen failed" +string m41s820 "write_file failed" +string m41s821 "append_file failed" +string m41s822 "write_file_bytes failed" +string m41s823 "append_file_bytes failed" +string m41s824 "read_file failed" +string m41s825 "exec_output failed" +string m41s826 "dns_resolve failed" +string m41s827 "bytes_to_string_utf8 failed" +string m41s828 "bytes_substring_utf8 failed" +string m41s829 "file_read failed" +string m41s830 "tcp_read failed" +string m41s831 "process_read failed" +string m41s832 "process_read_err failed" +string m41s833 "read_file_bytes failed" +string m41s834 "b64_decode failed" +string m41s835 "from_hex failed" +string m41s836 "file_read_bytes failed" +string m41s837 "tcp_read_bytes failed" +string m41s838 "process_read_bytes failed" +string m41s839 "process_read_err_bytes failed" +string m41s840 "crypto_x25519_public_key failed" +string m41s841 "crypto_x25519_shared_secret failed" +string m41s842 "crypto_aes_128_gcm_seal failed" +string m41s843 "crypto_aes_128_gcm_open failed" +string m41s844 "crypto_chacha20_poly1305_seal failed" +string m41s845 "crypto_chacha20_poly1305_open failed" +string m41s846 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m41s847 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" +string m41s848 "crypto_sign_ed25519_pkcs8 failed" +string m41s849 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" +string m41s850 "crypto_blake2b failed" +string m41s851 "crypto_argon2id failed" +string m41s852 "zstd_compress failed" +string m41s853 "zstd_decompress failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -117283,7 +116782,7 @@ load 91 next_l call 92 ir_builder_ir_label string 0 call 93 pith_cstring_release void 1 91 store next_l 92 -strref 94 m41s789 +strref 94 m41s790 load 95 cond_r call 96 int_to_string string 1 95 concat 97 94 96 @@ -117323,7 +116822,7 @@ load 127 body_l call 128 ir_builder_ir_label string 0 call 129 pith_cstring_release void 1 127 store body_l 128 -strref 130 m41s789 +strref 130 m41s790 load 131 g_r call 132 int_to_string string 1 131 concat 133 130 132 @@ -117404,13 +116903,13 @@ brif 14 L24 L25 label L24 call 16 ir_builder_ir_reg int 0 store r 16 -strref 17 m41s691 +strref 17 m41s692 load 18 r call 19 int_to_string string 1 18 concat 20 17 19 call 21 pith_cstring_release void 1 17 call 22 pith_cstring_release void 1 19 -strref 23 m41s692 +strref 23 m41s693 concat 24 20 23 call 25 pith_cstring_release void 1 20 call 26 pith_cstring_release void 1 23 @@ -117466,13 +116965,13 @@ label L31 label L29 call 66 ir_builder_ir_reg int 0 store r 66 -strref 67 m41s691 +strref 67 m41s692 load 68 r call 69 int_to_string string 1 68 concat 70 67 69 call 71 pith_cstring_release void 1 67 call 72 pith_cstring_release void 1 69 -strref 73 m41s692 +strref 73 m41s693 concat 74 70 73 call 75 pith_cstring_release void 1 70 call 76 pith_cstring_release void 1 73 @@ -117504,13 +117003,13 @@ call 96 ir_optionals_ir_optional_flag_field int 1 95 store flag_r 96 call 97 ir_builder_ir_reg int 0 store zero_r 97 -strref 98 m41s691 +strref 98 m41s692 load 99 zero_r call 100 int_to_string string 1 99 concat 101 98 100 call 102 pith_cstring_release void 1 98 call 103 pith_cstring_release void 1 100 -strref 104 m41s690 +strref 104 m41s691 concat 105 101 104 call 106 pith_cstring_release void 1 101 call 107 pith_cstring_release void 1 104 @@ -117518,7 +117017,7 @@ call 108 ir_builder_ir_emit void 1 105 call 109 pith_cstring_release void 1 105 call 110 ir_builder_ir_reg int 0 store r 110 -strref 111 m41s715 +strref 111 m41s716 load 112 r call 113 int_to_string string 1 112 concat 114 111 113 @@ -117570,7 +117069,7 @@ call 154 ir_literals_ir_emit_int_literal int 1 153 store lit_r 154 call 155 ir_builder_ir_reg int 0 store r 155 -strref 156 m41s715 +strref 156 m41s716 load 157 r call 158 int_to_string string 1 157 concat 159 156 158 @@ -117622,7 +117121,7 @@ call 199 ir_literals_ir_emit_bool_literal int 1 198 store lit_r 199 call 200 ir_builder_ir_reg int 0 store r 200 -strref 201 m41s715 +strref 201 m41s716 load 202 r call 203 int_to_string string 1 202 concat 204 201 203 @@ -117674,7 +117173,7 @@ call 244 ir_literals_ir_emit_float_literal int 1 243 store lit_r 244 call 245 ir_builder_ir_reg int 0 store r 245 -strref 246 m41s715 +strref 246 m41s716 load 247 r call 248 int_to_string string 1 247 concat 249 246 248 @@ -117727,8 +117226,8 @@ store lit_r 289 call 290 ir_builder_ir_reg int 0 store r 290 load 291 r -strref 292 m41s717 -strref 293 m41s697 +strref 292 m41s718 +strref 293 m41s698 load 294 subj_r load 295 lit_r call 296 ir_call_emit_ir_emit_call2 void 5 291 292 293 294 295 @@ -117771,7 +117270,7 @@ call 324 pith_cstring_release void 1 320 store enum_name 323 call 325 ir_builder_ir_reg int 0 store lit_r 325 -strref 326 m41s691 +strref 326 m41s692 load 327 lit_r call 328 int_to_string string 1 327 concat 329 326 328 @@ -117796,7 +117295,7 @@ brif 346 L54 L55 label L54 call 347 ir_builder_ir_reg int 0 store tag_r 347 -strref 348 m41s721 +strref 348 m41s722 load 349 tag_r call 350 int_to_string string 1 349 concat 351 348 350 @@ -117811,13 +117310,13 @@ call 359 int_to_string string 1 358 concat 360 355 359 call 361 pith_cstring_release void 1 355 call 362 pith_cstring_release void 1 359 -strref 363 m41s798 +strref 363 m41s799 concat 364 360 363 call 365 pith_cstring_release void 1 360 call 366 pith_cstring_release void 1 363 call 367 ir_builder_ir_emit void 1 364 call 368 pith_cstring_release void 1 364 -strref 369 m41s715 +strref 369 m41s716 load 370 r call 371 int_to_string string 1 370 concat 372 369 371 @@ -117860,7 +117359,7 @@ call 408 pith_struct_release void 1 407 ret 398 label L55 label L53 -strref 409 m41s715 +strref 409 m41s716 load 410 r call 411 int_to_string string 1 410 concat 412 409 411 @@ -117900,13 +117399,13 @@ call 445 pith_struct_release void 1 444 ret 435 label L52 label L50 -strref 446 m41s691 +strref 446 m41s692 load 447 r call 448 int_to_string string 1 447 concat 449 446 448 call 450 pith_cstring_release void 1 446 call 451 pith_cstring_release void 1 448 -strref 452 m41s690 +strref 452 m41s691 concat 453 449 452 call 454 pith_cstring_release void 1 449 call 455 pith_cstring_release void 1 452 @@ -117951,7 +117450,7 @@ call 487 pith_struct_release void 1 485 store hi_r 486 call 488 ir_builder_ir_reg int 0 store lo_ok 488 -strref 489 m41s797 +strref 489 m41s798 load 490 lo_ok call 491 int_to_string string 1 490 concat 492 489 491 @@ -117981,12 +117480,12 @@ call 515 ir_builder_ir_reg int 0 store hi_ok 515 load 516 pat field 517 516 8 string value -strref 518 m41s796 +strref 518 m41s797 call 519 pith_cstring_eq bool 2 517 518 call 520 pith_cstring_release void 1 518 brif 519 L60 L61 label L60 -strref 521 m41s795 +strref 521 m41s796 load 522 hi_ok call 523 int_to_string string 1 522 concat 524 521 523 @@ -118014,7 +117513,7 @@ call 545 ir_builder_ir_emit void 1 542 call 546 pith_cstring_release void 1 542 jmp L59 label L61 -strref 547 m41s794 +strref 547 m41s795 load 548 hi_ok call 549 int_to_string string 1 548 concat 550 547 549 @@ -118043,7 +117542,7 @@ call 572 pith_cstring_release void 1 568 label L59 call 573 ir_builder_ir_reg int 0 store r 573 -strref 574 m41s714 +strref 574 m41s715 load 575 r call 576 int_to_string string 1 575 concat 577 574 576 @@ -118116,7 +117615,7 @@ call 633 ir_match_emit_ir_emit_match_cond int 2 631 632 store alt_r 633 call 634 ir_builder_ir_reg int 0 store or_r 634 -strref 635 m41s718 +strref 635 m41s719 load 636 or_r call 637 int_to_string string 1 636 concat 638 635 637 @@ -118180,13 +117679,13 @@ call 686 pith_list_release_handle void 1 681 store elems 685 call 687 ir_builder_ir_reg int 0 store acc_r 687 -strref 688 m41s691 +strref 688 m41s692 load 689 acc_r call 690 int_to_string string 1 689 concat 691 688 690 call 692 pith_cstring_release void 1 688 call 693 pith_cstring_release void 1 690 -strref 694 m41s692 +strref 694 m41s693 concat 695 691 694 call 696 pith_cstring_release void 1 691 call 697 pith_cstring_release void 1 694 @@ -118198,23 +117697,23 @@ load 701 pat field 702 701 16 list children call 703 pith_auto_len int 1 702 iconst 704 0 -store __for_idx_286 704 -store __for_len_286 703 -store __for_iter_286 702 +store __for_idx_285 704 +store __for_len_285 703 +store __for_iter_285 702 label L71 -load 705 __for_idx_286 -load 706 __for_len_286 +load 705 __for_idx_285 +load 706 __for_len_285 lt 707 705 706 brif 707 L72 L74 label L72 -load 708 __for_iter_286 -load 709 __for_idx_286 +load 708 __for_iter_285 +load 709 __for_idx_285 call 710 pith_list_get_value unknown 2 708 709 -store __loopvar_286_sub_idx 710 -load 711 __for_idx_286 -store __loopvar_286_i 711 +store __loopvar_285_sub_idx 710 +load 711 __for_idx_285 +store __loopvar_285_i 711 load 712 sub -load 713 __loopvar_286_sub_idx +load 713 __loopvar_285_sub_idx call 714 ast_get_node struct:Node 1 713 call 715 pith_struct_release void 1 712 store sub 714 @@ -118243,7 +117742,7 @@ label L77 label L75 call 728 ir_builder_ir_reg int 0 store elem_r 728 -strref 729 m41s721 +strref 729 m41s722 load 730 elem_r call 731 int_to_string string 1 730 concat 732 729 731 @@ -118262,7 +117761,7 @@ strref 744 m41s344 concat 745 741 744 call 746 pith_cstring_release void 1 741 call 747 pith_cstring_release void 1 744 -load 748 __loopvar_286_i +load 748 __loopvar_285_i iconst 749 8 mul 750 748 749 call 751 int_to_string string 1 750 @@ -118274,28 +117773,28 @@ concat 756 752 755 call 757 pith_cstring_release void 1 752 call 758 pith_cstring_release void 1 755 load 759 elems -load 760 __loopvar_286_i +load 760 __loopvar_285_i call 761 pith_list_get_value_strict string 2 759 760 concat 762 756 761 call 763 pith_cstring_release void 1 756 -strref 764 m41s793 +strref 764 m41s794 concat 765 762 764 call 766 pith_cstring_release void 1 762 call 767 pith_cstring_release void 1 764 -load 768 __loopvar_286_i +load 768 __loopvar_285_i call 769 int_to_string string 1 768 concat 770 765 769 call 771 pith_cstring_release void 1 765 call 772 pith_cstring_release void 1 769 call 773 ir_builder_ir_emit void 1 770 call 774 pith_cstring_release void 1 770 -load 775 __loopvar_286_sub_idx +load 775 __loopvar_285_sub_idx load 776 elem_r call 777 ir_match_emit_ir_emit_match_cond int 2 775 776 store sub_r 777 call 778 ir_builder_ir_reg int 0 store and_r 778 -strref 779 m41s714 +strref 779 m41s715 load 780 and_r call 781 int_to_string string 1 780 concat 782 779 781 @@ -118324,10 +117823,10 @@ call 804 pith_cstring_release void 1 800 load 805 and_r store out_r 805 label L73 -load 806 __for_idx_286 +load 806 __for_idx_285 iconst 807 1 add 808 806 807 -store __for_idx_286 808 +store __for_idx_285 808 jmp L71 label L74 load 809 out_r @@ -118346,13 +117845,13 @@ label L70 label L68 call 820 ir_builder_ir_reg int 0 store r 820 -strref 821 m41s691 +strref 821 m41s692 load 822 r call 823 int_to_string string 1 822 concat 824 821 823 call 825 pith_cstring_release void 1 821 call 826 pith_cstring_release void 1 823 -strref 827 m41s690 +strref 827 m41s691 concat 828 824 827 call 829 pith_cstring_release void 1 824 call 830 pith_cstring_release void 1 827 @@ -118436,7 +117935,7 @@ call 32 pith_list_push_value_owned void 2 26 31 jmp L83 label L85 load 33 out -strref 34 m41s771 +strref 34 m41s772 call 35 pith_list_push_value_owned void 2 33 34 label L83 load 36 i @@ -118545,7 +118044,7 @@ store __or_1_103 5 brif 5 L104 L103 label L103 load 6 kind -strref 7 m41s771 +strref 7 m41s772 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 store __or_1_103 8 @@ -118566,14 +118065,14 @@ store __or_14_108 14 iconst 15 0 store __or_15_108 15 load 16 kind -strref 17 m41s702 +strref 17 m41s703 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 store __or_15_108 18 brif 18 L109 L108 label L108 load 20 kind -strref 21 m41s767 +strref 21 m41s768 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 store __or_15_108 22 @@ -118583,7 +118082,7 @@ store __or_14_108 24 brif 24 L111 L110 label L110 load 25 kind -strref 26 m41s697 +strref 26 m41s698 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 store __or_14_108 27 @@ -118593,7 +118092,7 @@ store __or_13_108 29 brif 29 L113 L112 label L112 load 30 kind -strref 31 m41s701 +strref 31 m41s702 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 store __or_13_108 32 @@ -118603,7 +118102,7 @@ store __or_12_108 34 brif 34 L115 L114 label L114 load 35 kind -strref 36 m41s743 +strref 36 m41s744 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 store __or_12_108 37 @@ -118629,7 +118128,7 @@ store __or_43_119 46 brif 46 L120 L119 label L119 load 48 kind -strref 49 m41s696 +strref 49 m41s697 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 store __or_43_119 50 @@ -118679,7 +118178,7 @@ store __or_68_128 71 brif 71 L129 L128 label L128 load 73 kind -strref 74 m41s700 +strref 74 m41s701 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 store __or_68_128 75 @@ -118699,7 +118198,7 @@ store __or_66_128 82 brif 82 L133 L132 label L132 load 83 kind -strref 84 m41s699 +strref 84 m41s700 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 store __or_66_128 85 @@ -118719,7 +118218,7 @@ store __or_64_128 92 brif 92 L137 L136 label L136 load 93 kind -strref 94 m41s698 +strref 94 m41s699 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 store __or_64_128 95 @@ -118817,22 +118316,22 @@ load 28 info field 29 28 96 list_string variants call 30 pith_auto_len int 1 29 iconst 31 0 -store __for_idx_287 31 -store __for_len_287 30 -store __for_iter_287 29 +store __for_idx_286 31 +store __for_len_286 30 +store __for_iter_286 29 label L152 -load 32 __for_idx_287 -load 33 __for_len_287 +load 32 __for_idx_286 +load 33 __for_len_286 lt 34 32 33 brif 34 L153 L155 label L153 -load 35 __for_iter_287 -load 36 __for_idx_287 +load 35 __for_iter_286 +load 36 __for_idx_286 call 37 pith_list_get_value_unchecked string 2 35 36 -store __loopvar_287_v 37 +store __loopvar_286_v 37 iconst 38 0 store __and_38_159 38 -load 39 __loopvar_287_v +load 39 __loopvar_286_v load 40 variant_name call 41 pith_cstring_eq bool 2 39 40 store __and_38_159 41 @@ -118860,30 +118359,30 @@ load 54 vi call 55 pith_list_get_value_strict list 2 53 54 call 56 pith_auto_len int 1 55 iconst 57 0 -store __for_idx_288 57 -store __for_len_288 56 -store __for_iter_288 55 +store __for_idx_287 57 +store __for_len_287 56 +store __for_iter_287 55 label L164 -load 58 __for_idx_288 -load 59 __for_len_288 +load 58 __for_idx_287 +load 59 __for_len_287 lt 60 58 59 brif 60 L165 L167 label L165 -load 61 __for_iter_288 -load 62 __for_idx_288 +load 61 __for_iter_287 +load 62 __for_idx_287 call 63 pith_list_get_value unknown 2 61 62 -store __loopvar_288_ptid 63 +store __loopvar_287_ptid 63 load 64 out -load 65 __loopvar_288_ptid +load 65 __loopvar_287_ptid call 66 ir_type_helpers_ir_type_from_tid string 1 65 call 67 ir_struct_registry_ir_struct_base_name string 1 66 call 68 pith_cstring_release void 1 66 call 69 pith_list_push_value_owned void 2 64 67 label L166 -load 70 __for_idx_288 +load 70 __for_idx_287 iconst 71 1 add 72 70 71 -store __for_idx_288 72 +store __for_idx_287 72 jmp L164 label L167 jmp L161 @@ -118897,10 +118396,10 @@ iconst 74 1 add 75 73 74 store vi 75 label L154 -load 76 __for_idx_287 +load 76 __for_idx_286 iconst 77 1 add 78 76 77 -store __for_idx_287 78 +store __for_idx_286 78 jmp L152 label L155 load 79 out @@ -118927,20 +118426,20 @@ store needs_instance 5 load 6 kinds call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_289 8 -store __for_len_289 7 -store __for_iter_289 6 +store __for_idx_288 8 +store __for_len_288 7 +store __for_iter_288 6 label L168 -load 9 __for_idx_289 -load 10 __for_len_289 +load 9 __for_idx_288 +load 10 __for_len_288 lt 11 9 10 brif 11 L169 L171 label L169 -load 12 __for_iter_289 -load 13 __for_idx_289 +load 12 __for_iter_288 +load 13 __for_idx_288 call 14 pith_list_get_value_unchecked string 2 12 13 -store __loopvar_289_k 14 -load 15 __loopvar_289_k +store __loopvar_288_k 14 +load 15 __loopvar_288_k call 16 ir_match_emit_ir_payload_kind_is_unresolved bool 1 15 brif 16 L173 L174 label L173 @@ -118950,10 +118449,10 @@ jmp L172 label L174 label L172 label L170 -load 18 __for_idx_289 +load 18 __for_idx_288 iconst 19 1 add 20 18 19 -store __for_idx_289 20 +store __for_idx_288 20 jmp L168 label L171 load 21 needs_instance @@ -119000,31 +118499,31 @@ store out 48 load 50 kinds call 51 pith_auto_len int 1 50 iconst 52 0 -store __for_idx_290 52 -store __for_len_290 51 -store __for_iter_290 50 +store __for_idx_289 52 +store __for_len_289 51 +store __for_iter_289 50 label L181 -load 53 __for_idx_290 -load 54 __for_len_290 +load 53 __for_idx_289 +load 54 __for_len_289 lt 55 53 54 brif 55 L182 L184 label L182 -load 56 __for_iter_290 -load 57 __for_idx_290 +load 56 __for_iter_289 +load 57 __for_idx_289 call 58 pith_list_get_value_unchecked string 2 56 57 -store __loopvar_290_k 58 -load 59 __for_idx_290 -store __loopvar_290_i 59 +store __loopvar_289_k 58 +load 59 __for_idx_289 +store __loopvar_289_i 59 iconst 60 0 store __and_60_188 60 iconst 61 0 store __and_61_188 61 -load 62 __loopvar_290_k +load 62 __loopvar_289_k call 63 ir_match_emit_ir_payload_kind_is_unresolved bool 1 62 store __and_61_188 63 brif 63 L188 L189 label L188 -load 64 __loopvar_290_i +load 64 __loopvar_289_i load 65 concrete call 66 pith_list_len int 1 65 lt 67 64 66 @@ -119035,7 +118534,7 @@ store __and_60_188 68 brif 68 L190 L191 label L190 load 69 concrete -load 70 __loopvar_290_i +load 70 __loopvar_289_i call 71 pith_list_get_value_strict string 2 69 70 call 72 string_len int 1 71 iconst 73 0 @@ -119047,20 +118546,20 @@ brif 75 L186 L187 label L186 load 76 out load 77 concrete -load 78 __loopvar_290_i +load 78 __loopvar_289_i call 79 pith_list_get_value_strict string 2 77 78 call 80 pith_list_push_value void 2 76 79 jmp L185 label L187 load 81 out -load 82 __loopvar_290_k +load 82 __loopvar_289_k call 83 pith_list_push_value void 2 81 82 label L185 label L183 -load 84 __for_idx_290 +load 84 __for_idx_289 iconst 85 1 add 86 84 85 -store __for_idx_290 86 +store __for_idx_289 86 jmp L181 label L184 load 87 out @@ -119128,23 +118627,23 @@ load 27 pat field 28 27 16 list children call 29 pith_auto_len int 1 28 iconst 30 0 -store __for_idx_291 30 -store __for_len_291 29 -store __for_iter_291 28 +store __for_idx_290 30 +store __for_len_290 29 +store __for_iter_290 28 label L195 -load 31 __for_idx_291 -load 32 __for_len_291 +load 31 __for_idx_290 +load 32 __for_len_290 lt 33 31 32 brif 33 L196 L198 label L196 -load 34 __for_iter_291 -load 35 __for_idx_291 +load 34 __for_iter_290 +load 35 __for_idx_290 call 36 pith_list_get_value unknown 2 34 35 -store __loopvar_291_sub_idx 36 -load 37 __for_idx_291 -store __loopvar_291_i 37 +store __loopvar_290_sub_idx 36 +load 37 __for_idx_290 +store __loopvar_290_i 37 load 38 sub -load 39 __loopvar_291_sub_idx +load 39 __loopvar_290_sub_idx call 40 ast_get_node struct:Node 1 39 call 41 pith_struct_release void 1 38 store sub 40 @@ -119172,10 +118671,10 @@ jmp L197 label L201 label L199 load 54 kind -strref 55 m41s771 +strref 55 m41s772 call 56 pith_cstring_release void 1 54 store kind 55 -load 57 __loopvar_291_i +load 57 __loopvar_290_i load 58 kinds call 59 pith_list_len int 1 58 lt 60 57 59 @@ -119183,7 +118682,7 @@ brif 60 L205 L206 label L205 load 61 kind load 62 kinds -load 63 __loopvar_291_i +load 63 __loopvar_290_i call 64 pith_list_get_value_strict string 2 62 63 call 65 pith_cstring_retain void 1 64 call 66 pith_cstring_release void 1 61 @@ -119193,7 +118692,7 @@ label L206 label L204 call 67 ir_builder_ir_reg int 0 store slot_r 67 -strref 68 m41s721 +strref 68 m41s722 load 69 slot_r call 70 int_to_string string 1 69 concat 71 68 70 @@ -119212,7 +118711,7 @@ strref 83 m41s344 concat 84 80 83 call 85 pith_cstring_release void 1 80 call 86 pith_cstring_release void 1 83 -load 87 __loopvar_291_i +load 87 __loopvar_290_i iconst 88 1 add 89 87 88 iconst 90 8 @@ -119228,7 +118727,7 @@ call 99 pith_cstring_release void 1 96 load 100 kind concat 101 97 100 call 102 pith_cstring_release void 1 97 -strref 103 m41s792 +strref 103 m41s793 concat 104 101 103 call 105 pith_cstring_release void 1 101 call 106 pith_cstring_release void 1 103 @@ -119246,7 +118745,7 @@ label L208 load 115 sub call 116 ir_literals_ir_emit_int_literal int 1 115 store lit_r 116 -strref 117 m41s715 +strref 117 m41s716 load 118 cond_r call 119 int_to_string string 1 118 concat 120 117 119 @@ -119284,7 +118783,7 @@ label L210 load 148 sub call 149 ir_literals_ir_emit_bool_literal int 1 148 store lit_r 149 -strref 150 m41s715 +strref 150 m41s716 load 151 cond_r call 152 int_to_string string 1 151 concat 153 150 152 @@ -119322,7 +118821,7 @@ label L212 load 181 sub call 182 ir_literals_ir_emit_float_literal int 1 181 store lit_r 182 -strref 183 m41s715 +strref 183 m41s716 load 184 cond_r call 185 int_to_string string 1 184 concat 186 183 185 @@ -119361,8 +118860,8 @@ load 214 sub call 215 ir_literals_ir_emit_string_literal int 1 214 store lit_r 215 load 216 cond_r -strref 217 m41s717 -strref 218 m41s697 +strref 217 m41s718 +strref 218 m41s698 load 219 slot_r load 220 lit_r call 221 ir_call_emit_ir_emit_call2 void 5 216 217 218 219 220 @@ -119370,13 +118869,13 @@ call 222 pith_cstring_release void 1 217 call 223 pith_cstring_release void 1 218 jmp L207 label L215 -strref 224 m41s691 +strref 224 m41s692 load 225 cond_r call 226 int_to_string string 1 225 concat 227 224 226 call 228 pith_cstring_release void 1 224 call 229 pith_cstring_release void 1 226 -strref 230 m41s690 +strref 230 m41s691 concat 231 227 230 call 232 pith_cstring_release void 1 227 call 233 pith_cstring_release void 1 230 @@ -119385,7 +118884,7 @@ call 235 pith_cstring_release void 1 231 label L207 call 236 ir_builder_ir_reg int 0 store and_r 236 -strref 237 m41s714 +strref 237 m41s715 load 238 and_r call 239 int_to_string string 1 238 concat 240 237 239 @@ -119414,10 +118913,10 @@ call 262 pith_cstring_release void 1 258 load 263 and_r store acc_r 263 label L197 -load 264 __for_idx_291 +load 264 __for_idx_290 iconst 265 1 add 266 264 265 -store __for_idx_291 266 +store __for_idx_290 266 jmp L195 label L198 load 267 acc_r @@ -119437,6 +118936,91 @@ call 279 pith_cstring_release void 1 278 iconst 280 0 ret 280 endfunc +func ir_match_emit_ir_bind_owned_rc_payload 3 void +param name +param value_r +param kind +iconst 3 0 +store rc_kind 3 +load 4 rc_kind +load 5 kind +call 6 ir_struct_registry_ir_rc_kind string 1 5 +call 7 pith_cstring_release void 1 4 +store rc_kind 6 +load 8 rc_kind +call 9 string_len int 1 8 +iconst 10 0 +eq 11 9 10 +brif 11 L217 L218 +label L217 +load 12 rc_kind +call 13 pith_cstring_release void 1 12 +iconst 14 0 +ret 14 +label L218 +label L216 +load 15 ir_builder_ir_untracked_rc_binds +load 16 name +iconst 17 -1 +store __list_index_result_L222 17 +iconst 18 0 +store __list_index_i_L223 18 +call 19 pith_list_len int 1 15 +label L224 +load 20 __list_index_i_L223 +lt 21 20 19 +brif 21 L225 L228 +label L225 +call 22 pith_list_get_value string 2 15 20 +call 23 pith_cstring_eq bool 2 22 16 +brif 23 L226 L227 +label L226 +store __list_index_result_L222 20 +jmp L228 +label L227 +iconst 24 1 +add 25 20 24 +store __list_index_i_L223 25 +jmp L224 +label L228 +load 26 __list_index_result_L222 +iconst 27 0 +gte 28 26 27 +iconst 30 1 +sub 29 30 28 +brif 29 L220 L221 +label L220 +call 31 ir_builder_ir_reg int 0 +store old_r 31 +strref 32 m41s787 +load 33 old_r +call 34 int_to_string string 1 33 +concat 35 32 34 +call 36 pith_cstring_release void 1 32 +call 37 pith_cstring_release void 1 34 +strref 38 m41s344 +concat 39 35 38 +call 40 pith_cstring_release void 1 35 +call 41 pith_cstring_release void 1 38 +load 42 name +concat 43 39 42 +call 44 pith_cstring_release void 1 39 +call 45 ir_builder_ir_emit void 1 43 +call 46 pith_cstring_release void 1 43 +load 47 old_r +load 48 rc_kind +call 49 ir_ownership_ir_rc_release_reg void 2 47 48 +jmp L219 +label L221 +label L219 +load 50 value_r +load 51 rc_kind +call 52 ir_ownership_ir_rc_retain_reg void 2 50 51 +load 53 rc_kind +call 54 pith_cstring_release void 1 53 +iconst 55 0 +ret 55 +endfunc func ir_match_emit_ir_emit_match_bindings 3 void param pat_idx param subj_r @@ -119458,787 +119042,641 @@ store subj_info 9 iconst 10 0 store inner_kind 10 iconst 11 0 -store rc_kind 11 +store kinds 11 iconst 12 0 -store kinds 12 -iconst 13 0 -store kind 13 -load 14 pat -load 15 pat_idx -call 16 ast_get_node struct:Node 1 15 -call 17 pith_struct_release void 1 14 -store pat 16 -load 18 pat -field 19 18 0 string kind -strref 20 m41s106 -call 21 pith_cstring_eq bool 2 19 20 -call 22 pith_cstring_release void 1 20 -brif 21 L217 L218 -label L217 -load 23 done_l -call 24 ir_builder_ir_label string 0 -call 25 pith_cstring_release void 1 23 -store done_l 24 -iconst 26 0 -store k 26 -label L219 -load 27 k -load 28 pat -field 29 28 16 list children -call 30 pith_list_len int 1 29 -lt 31 27 30 -brif 31 L220 L221 -label L220 -load 32 pat -field 33 32 16 list children -load 34 k -call 35 pith_list_get_value_strict int 2 33 34 -load 36 subj_r -call 37 ir_match_emit_ir_emit_match_cond int 2 35 36 -store cond_r 37 -load 38 bind_l -call 39 ir_builder_ir_label string 0 -call 40 pith_cstring_release void 1 38 -store bind_l 39 -load 41 next_l -call 42 ir_builder_ir_label string 0 -call 43 pith_cstring_release void 1 41 -store next_l 42 -strref 44 m41s789 -load 45 cond_r -call 46 int_to_string string 1 45 -concat 47 44 46 -call 48 pith_cstring_release void 1 44 -call 49 pith_cstring_release void 1 46 -strref 50 m41s344 -concat 51 47 50 -call 52 pith_cstring_release void 1 47 -call 53 pith_cstring_release void 1 50 -load 54 bind_l -concat 55 51 54 -call 56 pith_cstring_release void 1 51 -strref 57 m41s344 -concat 58 55 57 -call 59 pith_cstring_release void 1 55 -call 60 pith_cstring_release void 1 57 -load 61 next_l -concat 62 58 61 -call 63 pith_cstring_release void 1 58 -call 64 ir_builder_ir_emit void 1 62 -call 65 pith_cstring_release void 1 62 -load 66 bind_l -call 67 ir_call_emit_ir_emit_label void 1 66 -load 68 pat -field 69 68 16 list children -load 70 k -call 71 pith_list_get_value_strict int 2 69 70 -load 72 subj_r -load 73 subj_type -call 74 ir_match_emit_ir_emit_match_bindings void 3 71 72 73 -strref 75 m41s788 -load 76 done_l -concat 77 75 76 -call 78 pith_cstring_release void 1 75 -call 79 ir_builder_ir_emit void 1 77 -call 80 pith_cstring_release void 1 77 -load 81 next_l -call 82 ir_call_emit_ir_emit_label void 1 81 -load 83 k -iconst 84 1 -add 85 83 84 -store k 85 -jmp L219 -label L221 -load 86 done_l -call 87 ir_call_emit_ir_emit_label void 1 86 -load 88 pat -call 89 pith_struct_release void 1 88 -load 90 done_l -call 91 pith_cstring_release void 1 90 -load 92 bind_l -call 93 pith_cstring_release void 1 92 -load 94 next_l -call 95 pith_cstring_release void 1 94 -load 96 elems -call 97 pith_list_release_handle void 1 96 -load 98 sub -call 99 pith_struct_release void 1 98 -load 100 subj_info -call 101 pith_struct_release void 1 100 -load 102 inner_kind -call 103 pith_cstring_release void 1 102 -load 104 rc_kind -call 105 pith_cstring_release void 1 104 -load 106 kinds -call 107 pith_list_release_handle void 1 106 -load 108 kind -call 109 pith_cstring_release void 1 108 -iconst 110 0 -ret 110 -label L218 -label L216 -load 111 pat -field 112 111 0 string kind -strref 113 m41s87 -call 114 pith_cstring_eq bool 2 112 113 -call 115 pith_cstring_release void 1 113 -brif 114 L223 L224 -label L223 -load 116 elems -load 117 pat -field 118 117 16 list children -call 119 pith_list_len int 1 118 -call 120 ir_match_emit_ir_match_tuple_element_kinds list_string 1 119 -call 121 pith_list_release_handle void 1 116 -store elems 120 -load 122 pat -field 123 122 16 list children -call 124 pith_auto_len int 1 123 -iconst 125 0 -store __for_idx_292 125 -store __for_len_292 124 -store __for_iter_292 123 -label L225 -load 126 __for_idx_292 -load 127 __for_len_292 -lt 128 126 127 -brif 128 L226 L228 -label L226 -load 129 __for_iter_292 -load 130 __for_idx_292 -call 131 pith_list_get_value unknown 2 129 130 -store __loopvar_292_sub_idx 131 -load 132 __for_idx_292 -store __loopvar_292_i 132 -load 133 sub -load 134 __loopvar_292_sub_idx -call 135 ast_get_node struct:Node 1 134 -call 136 pith_struct_release void 1 133 -store sub 135 -load 137 sub -field 138 137 0 string kind -strref 139 m41s86 -call 140 pith_cstring_eq bool 2 138 139 -call 141 pith_cstring_release void 1 139 -brif 140 L230 L231 +store kind 12 +load 13 pat +load 14 pat_idx +call 15 ast_get_node struct:Node 1 14 +call 16 pith_struct_release void 1 13 +store pat 15 +load 17 pat +field 18 17 0 string kind +strref 19 m41s106 +call 20 pith_cstring_eq bool 2 18 19 +call 21 pith_cstring_release void 1 19 +brif 20 L230 L231 label L230 -call 142 ir_builder_ir_reg int 0 -store elem_r 142 -strref 143 m41s721 -load 144 elem_r -call 145 int_to_string string 1 144 -concat 146 143 145 -call 147 pith_cstring_release void 1 143 -call 148 pith_cstring_release void 1 145 -strref 149 m41s344 -concat 150 146 149 -call 151 pith_cstring_release void 1 146 -call 152 pith_cstring_release void 1 149 -load 153 subj_r -call 154 int_to_string string 1 153 -concat 155 150 154 -call 156 pith_cstring_release void 1 150 -call 157 pith_cstring_release void 1 154 -strref 158 m41s344 -concat 159 155 158 -call 160 pith_cstring_release void 1 155 -call 161 pith_cstring_release void 1 158 -load 162 __loopvar_292_i -iconst 163 8 -mul 164 162 163 -call 165 int_to_string string 1 164 -concat 166 159 165 -call 167 pith_cstring_release void 1 159 -call 168 pith_cstring_release void 1 165 -strref 169 m41s344 -concat 170 166 169 -call 171 pith_cstring_release void 1 166 -call 172 pith_cstring_release void 1 169 -load 173 elems -load 174 __loopvar_292_i -call 175 pith_list_get_value_strict string 2 173 174 -concat 176 170 175 -call 177 pith_cstring_release void 1 170 -strref 178 m41s344 -concat 179 176 178 -call 180 pith_cstring_release void 1 176 -call 181 pith_cstring_release void 1 178 -load 182 sub -field 183 182 8 string value -concat 184 179 183 -call 185 pith_cstring_release void 1 179 -call 186 ir_builder_ir_emit void 1 184 -call 187 pith_cstring_release void 1 184 -load 188 ir_builder_ir_var_regs -load 189 sub -field 190 189 8 string value -load 191 elem_r -call 192 map_insert void 3 188 190 191 -load 193 elems -load 194 __loopvar_292_i -call 195 pith_list_get_value_strict string 2 193 194 -strref 196 m41s771 -call 198 pith_cstring_eq bool 2 195 196 -iconst 199 1 -sub 197 199 198 -call 200 pith_cstring_release void 1 196 -brif 197 L233 L234 +load 22 done_l +call 23 ir_builder_ir_label string 0 +call 24 pith_cstring_release void 1 22 +store done_l 23 +iconst 25 0 +store k 25 +label L232 +load 26 k +load 27 pat +field 28 27 16 list children +call 29 pith_list_len int 1 28 +lt 30 26 29 +brif 30 L233 L234 label L233 -load 201 ir_builder_ir_var_types -load 202 sub -field 203 202 8 string value -load 204 elems -load 205 __loopvar_292_i -call 206 pith_list_get_value_strict string 2 204 205 -call 207 map_insert void 3 201 203 206 +load 31 pat +field 32 31 16 list children +load 33 k +call 34 pith_list_get_value_strict int 2 32 33 +load 35 subj_r +call 36 ir_match_emit_ir_emit_match_cond int 2 34 35 +store cond_r 36 +load 37 bind_l +call 38 ir_builder_ir_label string 0 +call 39 pith_cstring_release void 1 37 +store bind_l 38 +load 40 next_l +call 41 ir_builder_ir_label string 0 +call 42 pith_cstring_release void 1 40 +store next_l 41 +strref 43 m41s790 +load 44 cond_r +call 45 int_to_string string 1 44 +concat 46 43 45 +call 47 pith_cstring_release void 1 43 +call 48 pith_cstring_release void 1 45 +strref 49 m41s344 +concat 50 46 49 +call 51 pith_cstring_release void 1 46 +call 52 pith_cstring_release void 1 49 +load 53 bind_l +concat 54 50 53 +call 55 pith_cstring_release void 1 50 +strref 56 m41s344 +concat 57 54 56 +call 58 pith_cstring_release void 1 54 +call 59 pith_cstring_release void 1 56 +load 60 next_l +concat 61 57 60 +call 62 pith_cstring_release void 1 57 +call 63 ir_builder_ir_emit void 1 61 +call 64 pith_cstring_release void 1 61 +load 65 bind_l +call 66 ir_call_emit_ir_emit_label void 1 65 +load 67 pat +field 68 67 16 list children +load 69 k +call 70 pith_list_get_value_strict int 2 68 69 +load 71 subj_r +load 72 subj_type +call 73 ir_match_emit_ir_emit_match_bindings void 3 70 71 72 +strref 74 m41s789 +load 75 done_l +concat 76 74 75 +call 77 pith_cstring_release void 1 74 +call 78 ir_builder_ir_emit void 1 76 +call 79 pith_cstring_release void 1 76 +load 80 next_l +call 81 ir_call_emit_ir_emit_label void 1 80 +load 82 k +iconst 83 1 +add 84 82 83 +store k 84 jmp L232 label L234 -label L232 -strref 208 m41s787 -load 209 sub -field 210 209 8 string value -concat 211 208 210 -call 212 pith_cstring_release void 1 208 -strref 213 m41s344 -concat 214 211 213 -call 215 pith_cstring_release void 1 211 -call 216 pith_cstring_release void 1 213 -load 217 elem_r -call 218 int_to_string string 1 217 -concat 219 214 218 -call 220 pith_cstring_release void 1 214 -call 221 pith_cstring_release void 1 218 -call 222 ir_builder_ir_emit void 1 219 -call 223 pith_cstring_release void 1 219 -jmp L229 +load 85 done_l +call 86 ir_call_emit_ir_emit_label void 1 85 +load 87 pat +call 88 pith_struct_release void 1 87 +load 89 done_l +call 90 pith_cstring_release void 1 89 +load 91 bind_l +call 92 pith_cstring_release void 1 91 +load 93 next_l +call 94 pith_cstring_release void 1 93 +load 95 elems +call 96 pith_list_release_handle void 1 95 +load 97 sub +call 98 pith_struct_release void 1 97 +load 99 subj_info +call 100 pith_struct_release void 1 99 +load 101 inner_kind +call 102 pith_cstring_release void 1 101 +load 103 kinds +call 104 pith_list_release_handle void 1 103 +load 105 kind +call 106 pith_cstring_release void 1 105 +iconst 107 0 +ret 107 label L231 label L229 -label L227 -load 224 __for_idx_292 -iconst 225 1 -add 226 224 225 -store __for_idx_292 226 -jmp L225 -label L228 -load 227 pat -call 228 pith_struct_release void 1 227 -load 229 done_l -call 230 pith_cstring_release void 1 229 -load 231 bind_l -call 232 pith_cstring_release void 1 231 -load 233 next_l -call 234 pith_cstring_release void 1 233 -load 235 elems -call 236 pith_list_release_handle void 1 235 -load 237 sub -call 238 pith_struct_release void 1 237 -load 239 subj_info -call 240 pith_struct_release void 1 239 -load 241 inner_kind -call 242 pith_cstring_release void 1 241 -load 243 rc_kind -call 244 pith_cstring_release void 1 243 -load 245 kinds -call 246 pith_list_release_handle void 1 245 -load 247 kind -call 248 pith_cstring_release void 1 247 -iconst 249 0 -ret 249 -label L224 -label L222 -load 250 pat -field 251 250 0 string kind -strref 252 m41s86 -call 253 pith_cstring_eq bool 2 251 252 -call 254 pith_cstring_release void 1 252 -brif 253 L236 L237 +load 108 pat +field 109 108 0 string kind +strref 110 m41s87 +call 111 pith_cstring_eq bool 2 109 110 +call 112 pith_cstring_release void 1 110 +brif 111 L236 L237 label L236 -load 255 subj_info -load 256 ir_match_emit_ir_match_subject_tid -call 257 types_get_type_info struct:TypeInfo 1 256 -call 258 pith_struct_release void 1 255 -store subj_info 257 -load 259 subj_info -field 260 259 0 string kind -strref 261 m41s21 -call 262 pith_cstring_eq bool 2 260 261 -call 263 pith_cstring_release void 1 261 -brif 262 L239 L240 +load 113 elems +load 114 pat +field 115 114 16 list children +call 116 pith_list_len int 1 115 +call 117 ir_match_emit_ir_match_tuple_element_kinds list_string 1 116 +call 118 pith_list_release_handle void 1 113 +store elems 117 +load 119 pat +field 120 119 16 list children +call 121 pith_auto_len int 1 120 +iconst 122 0 +store __for_idx_291 122 +store __for_len_291 121 +store __for_iter_291 120 +label L238 +load 123 __for_idx_291 +load 124 __for_len_291 +lt 125 123 124 +brif 125 L239 L241 label L239 -load 264 subj_r -load 265 ir_match_emit_ir_match_subject_tid -call 266 ir_optionals_ir_optional_value_field int 2 264 265 -store inner_r 266 -load 267 ir_builder_ir_var_regs -load 268 pat -field 269 268 8 string value -load 270 inner_r -call 271 map_insert void 3 267 269 270 -load 272 inner_kind -load 273 subj_info -field 274 273 64 int inner -call 275 ir_type_helpers_ir_type_from_tid string 1 274 -call 276 pith_cstring_release void 1 272 -store inner_kind 275 -load 277 inner_kind -call 278 string_len int 1 277 -iconst 279 0 -gt 280 278 279 -brif 280 L242 L243 -label L242 -load 281 ir_builder_ir_var_types -load 282 pat -field 283 282 8 string value -load 284 inner_kind -call 285 map_insert void 3 281 283 284 -jmp L241 +load 126 __for_iter_291 +load 127 __for_idx_291 +call 128 pith_list_get_value unknown 2 126 127 +store __loopvar_291_sub_idx 128 +load 129 __for_idx_291 +store __loopvar_291_i 129 +load 130 sub +load 131 __loopvar_291_sub_idx +call 132 ast_get_node struct:Node 1 131 +call 133 pith_struct_release void 1 130 +store sub 132 +load 134 sub +field 135 134 0 string kind +strref 136 m41s86 +call 137 pith_cstring_eq bool 2 135 136 +call 138 pith_cstring_release void 1 136 +brif 137 L243 L244 label L243 -label L241 -load 286 rc_kind -load 287 inner_kind -call 288 ir_struct_registry_ir_rc_kind string 1 287 -call 289 pith_cstring_release void 1 286 -store rc_kind 288 -load 290 rc_kind -call 291 string_len int 1 290 -iconst 292 0 -gt 293 291 292 -brif 293 L245 L246 +call 139 ir_builder_ir_reg int 0 +store elem_r 139 +strref 140 m41s722 +load 141 elem_r +call 142 int_to_string string 1 141 +concat 143 140 142 +call 144 pith_cstring_release void 1 140 +call 145 pith_cstring_release void 1 142 +strref 146 m41s344 +concat 147 143 146 +call 148 pith_cstring_release void 1 143 +call 149 pith_cstring_release void 1 146 +load 150 subj_r +call 151 int_to_string string 1 150 +concat 152 147 151 +call 153 pith_cstring_release void 1 147 +call 154 pith_cstring_release void 1 151 +strref 155 m41s344 +concat 156 152 155 +call 157 pith_cstring_release void 1 152 +call 158 pith_cstring_release void 1 155 +load 159 __loopvar_291_i +iconst 160 8 +mul 161 159 160 +call 162 int_to_string string 1 161 +concat 163 156 162 +call 164 pith_cstring_release void 1 156 +call 165 pith_cstring_release void 1 162 +strref 166 m41s344 +concat 167 163 166 +call 168 pith_cstring_release void 1 163 +call 169 pith_cstring_release void 1 166 +load 170 elems +load 171 __loopvar_291_i +call 172 pith_list_get_value_strict string 2 170 171 +concat 173 167 172 +call 174 pith_cstring_release void 1 167 +strref 175 m41s344 +concat 176 173 175 +call 177 pith_cstring_release void 1 173 +call 178 pith_cstring_release void 1 175 +load 179 sub +field 180 179 8 string value +concat 181 176 180 +call 182 pith_cstring_release void 1 176 +call 183 ir_builder_ir_emit void 1 181 +call 184 pith_cstring_release void 1 181 +load 185 ir_builder_ir_var_regs +load 186 sub +field 187 186 8 string value +load 188 elem_r +call 189 map_insert void 3 185 187 188 +load 190 elems +load 191 __loopvar_291_i +call 192 pith_list_get_value_strict string 2 190 191 +strref 193 m41s772 +call 195 pith_cstring_eq bool 2 192 193 +iconst 196 1 +sub 194 196 195 +call 197 pith_cstring_release void 1 193 +brif 194 L246 L247 +label L246 +load 198 ir_builder_ir_var_types +load 199 sub +field 200 199 8 string value +load 201 elems +load 202 __loopvar_291_i +call 203 pith_list_get_value_strict string 2 201 202 +call 204 map_insert void 3 198 200 203 +jmp L245 +label L247 label L245 -load 294 ir_builder_ir_untracked_rc_binds -load 295 pat -field 296 295 8 string value -iconst 297 -1 -store __list_index_result_L250 297 -iconst 298 0 -store __list_index_i_L251 298 -call 299 pith_list_len int 1 294 +strref 205 m41s788 +load 206 sub +field 207 206 8 string value +concat 208 205 207 +call 209 pith_cstring_release void 1 205 +strref 210 m41s344 +concat 211 208 210 +call 212 pith_cstring_release void 1 208 +call 213 pith_cstring_release void 1 210 +load 214 elem_r +call 215 int_to_string string 1 214 +concat 216 211 215 +call 217 pith_cstring_release void 1 211 +call 218 pith_cstring_release void 1 215 +call 219 ir_builder_ir_emit void 1 216 +call 220 pith_cstring_release void 1 216 +jmp L242 +label L244 +label L242 +label L240 +load 221 __for_idx_291 +iconst 222 1 +add 223 221 222 +store __for_idx_291 223 +jmp L238 +label L241 +load 224 pat +call 225 pith_struct_release void 1 224 +load 226 done_l +call 227 pith_cstring_release void 1 226 +load 228 bind_l +call 229 pith_cstring_release void 1 228 +load 230 next_l +call 231 pith_cstring_release void 1 230 +load 232 elems +call 233 pith_list_release_handle void 1 232 +load 234 sub +call 235 pith_struct_release void 1 234 +load 236 subj_info +call 237 pith_struct_release void 1 236 +load 238 inner_kind +call 239 pith_cstring_release void 1 238 +load 240 kinds +call 241 pith_list_release_handle void 1 240 +load 242 kind +call 243 pith_cstring_release void 1 242 +iconst 244 0 +ret 244 +label L237 +label L235 +load 245 pat +field 246 245 0 string kind +strref 247 m41s86 +call 248 pith_cstring_eq bool 2 246 247 +call 249 pith_cstring_release void 1 247 +brif 248 L249 L250 +label L249 +load 250 subj_info +load 251 ir_match_emit_ir_match_subject_tid +call 252 types_get_type_info struct:TypeInfo 1 251 +call 253 pith_struct_release void 1 250 +store subj_info 252 +load 254 subj_info +field 255 254 0 string kind +strref 256 m41s21 +call 257 pith_cstring_eq bool 2 255 256 +call 258 pith_cstring_release void 1 256 +brif 257 L252 L253 label L252 -load 300 __list_index_i_L251 -lt 301 300 299 -brif 301 L253 L256 -label L253 -call 302 pith_list_get_value string 2 294 300 -call 303 pith_cstring_eq bool 2 302 296 -brif 303 L254 L255 -label L254 -store __list_index_result_L250 300 -jmp L256 +load 259 subj_r +load 260 ir_match_emit_ir_match_subject_tid +call 261 ir_optionals_ir_optional_value_field int 2 259 260 +store inner_r 261 +load 262 ir_builder_ir_var_regs +load 263 pat +field 264 263 8 string value +load 265 inner_r +call 266 map_insert void 3 262 264 265 +load 267 inner_kind +load 268 subj_info +field 269 268 64 int inner +call 270 ir_type_helpers_ir_type_from_tid string 1 269 +call 271 pith_cstring_release void 1 267 +store inner_kind 270 +load 272 inner_kind +call 273 string_len int 1 272 +iconst 274 0 +gt 275 273 274 +brif 275 L255 L256 label L255 -iconst 304 1 -add 305 300 304 -store __list_index_i_L251 305 -jmp L252 +load 276 ir_builder_ir_var_types +load 277 pat +field 278 277 8 string value +load 279 inner_kind +call 280 map_insert void 3 276 278 279 +jmp L254 label L256 -load 306 __list_index_result_L250 -iconst 307 0 -gte 308 306 307 -iconst 310 1 -sub 309 310 308 -brif 309 L248 L249 -label L248 -call 311 ir_builder_ir_reg int 0 -store old_r 311 -strref 312 m41s786 -load 313 old_r -call 314 int_to_string string 1 313 -concat 315 312 314 -call 316 pith_cstring_release void 1 312 -call 317 pith_cstring_release void 1 314 -strref 318 m41s344 -concat 319 315 318 -call 320 pith_cstring_release void 1 315 -call 321 pith_cstring_release void 1 318 -load 322 pat -field 323 322 8 string value -concat 324 319 323 -call 325 pith_cstring_release void 1 319 -call 326 ir_builder_ir_emit void 1 324 -call 327 pith_cstring_release void 1 324 -load 328 old_r -load 329 rc_kind -call 330 ir_ownership_ir_rc_release_reg void 2 328 329 -jmp L247 -label L249 -label L247 -load 331 inner_r -load 332 rc_kind -call 333 ir_ownership_ir_rc_retain_reg void 2 331 332 -jmp L244 -label L246 -label L244 -strref 334 m41s787 -load 335 pat -field 336 335 8 string value -concat 337 334 336 -call 338 pith_cstring_release void 1 334 -strref 339 m41s344 -concat 340 337 339 -call 341 pith_cstring_release void 1 337 -call 342 pith_cstring_release void 1 339 -load 343 inner_r -call 344 int_to_string string 1 343 -concat 345 340 344 -call 346 pith_cstring_release void 1 340 -call 347 pith_cstring_release void 1 344 -call 348 ir_builder_ir_emit void 1 345 -call 349 pith_cstring_release void 1 345 -load 350 pat -call 351 pith_struct_release void 1 350 -load 352 done_l -call 353 pith_cstring_release void 1 352 -load 354 bind_l -call 355 pith_cstring_release void 1 354 -load 356 next_l -call 357 pith_cstring_release void 1 356 -load 358 elems -call 359 pith_list_release_handle void 1 358 -load 360 sub -call 361 pith_struct_release void 1 360 -load 362 subj_info -call 363 pith_struct_release void 1 362 -load 364 inner_kind -call 365 pith_cstring_release void 1 364 -load 366 rc_kind -call 367 pith_cstring_release void 1 366 -load 368 kinds -call 369 pith_list_release_handle void 1 368 -load 370 kind -call 371 pith_cstring_release void 1 370 -iconst 372 0 -ret 372 -label L240 -label L238 -load 373 ir_builder_ir_var_regs -load 374 pat -field 375 374 8 string value -load 376 subj_r -call 377 map_insert void 3 373 375 376 -load 378 subj_type -call 379 string_len int 1 378 -iconst 380 0 -gt 381 379 380 -brif 381 L258 L259 +label L254 +load 281 pat +field 282 281 8 string value +load 283 inner_r +load 284 inner_kind +call 285 ir_match_emit_ir_bind_owned_rc_payload void 3 282 283 284 +strref 286 m41s788 +load 287 pat +field 288 287 8 string value +concat 289 286 288 +call 290 pith_cstring_release void 1 286 +strref 291 m41s344 +concat 292 289 291 +call 293 pith_cstring_release void 1 289 +call 294 pith_cstring_release void 1 291 +load 295 inner_r +call 296 int_to_string string 1 295 +concat 297 292 296 +call 298 pith_cstring_release void 1 292 +call 299 pith_cstring_release void 1 296 +call 300 ir_builder_ir_emit void 1 297 +call 301 pith_cstring_release void 1 297 +load 302 pat +call 303 pith_struct_release void 1 302 +load 304 done_l +call 305 pith_cstring_release void 1 304 +load 306 bind_l +call 307 pith_cstring_release void 1 306 +load 308 next_l +call 309 pith_cstring_release void 1 308 +load 310 elems +call 311 pith_list_release_handle void 1 310 +load 312 sub +call 313 pith_struct_release void 1 312 +load 314 subj_info +call 315 pith_struct_release void 1 314 +load 316 inner_kind +call 317 pith_cstring_release void 1 316 +load 318 kinds +call 319 pith_list_release_handle void 1 318 +load 320 kind +call 321 pith_cstring_release void 1 320 +iconst 322 0 +ret 322 +label L253 +label L251 +load 323 ir_builder_ir_var_regs +load 324 pat +field 325 324 8 string value +load 326 subj_r +call 327 map_insert void 3 323 325 326 +load 328 subj_type +call 329 string_len int 1 328 +iconst 330 0 +gt 331 329 330 +brif 331 L258 L259 label L258 -load 382 ir_builder_ir_var_types -load 383 pat -field 384 383 8 string value -load 385 subj_type -call 386 map_insert void 3 382 384 385 +load 332 ir_builder_ir_var_types +load 333 pat +field 334 333 8 string value +load 335 subj_type +call 336 map_insert void 3 332 334 335 jmp L257 label L259 label L257 -strref 387 m41s787 -load 388 pat -field 389 388 8 string value -concat 390 387 389 -call 391 pith_cstring_release void 1 387 -strref 392 m41s344 -concat 393 390 392 -call 394 pith_cstring_release void 1 390 -call 395 pith_cstring_release void 1 392 -load 396 subj_r -call 397 int_to_string string 1 396 -concat 398 393 397 -call 399 pith_cstring_release void 1 393 -call 400 pith_cstring_release void 1 397 -call 401 ir_builder_ir_emit void 1 398 -call 402 pith_cstring_release void 1 398 -jmp L235 -label L237 -label L235 -iconst 403 0 -store __and_403_263 403 -load 404 pat -field 405 404 0 string kind -strref 406 m41s90 -call 407 pith_cstring_eq bool 2 405 406 -call 408 pith_cstring_release void 1 406 -store __and_403_263 407 -brif 407 L263 L264 +strref 337 m41s788 +load 338 pat +field 339 338 8 string value +concat 340 337 339 +call 341 pith_cstring_release void 1 337 +strref 342 m41s344 +concat 343 340 342 +call 344 pith_cstring_release void 1 340 +call 345 pith_cstring_release void 1 342 +load 346 subj_r +call 347 int_to_string string 1 346 +concat 348 343 347 +call 349 pith_cstring_release void 1 343 +call 350 pith_cstring_release void 1 347 +call 351 ir_builder_ir_emit void 1 348 +call 352 pith_cstring_release void 1 348 +jmp L248 +label L250 +label L248 +iconst 353 0 +store __and_353_263 353 +load 354 pat +field 355 354 0 string kind +strref 356 m41s90 +call 357 pith_cstring_eq bool 2 355 356 +call 358 pith_cstring_release void 1 356 +store __and_353_263 357 +brif 357 L263 L264 label L263 -load 409 pat -field 410 409 16 list children -call 411 pith_list_len int 1 410 -iconst 412 0 -gt 413 411 412 -store __and_403_263 413 +load 359 pat +field 360 359 16 list children +call 361 pith_list_len int 1 360 +iconst 362 0 +gt 363 361 362 +store __and_353_263 363 label L264 -load 414 __and_403_263 -brif 414 L261 L262 +load 364 __and_353_263 +brif 364 L261 L262 label L261 -load 415 kinds -call 416 pith_list_new_cstr list 0 -call 417 pith_list_release_handle void 1 415 -store kinds 416 -load 418 ir_struct_registry_ir_enum_payload_kinds -load 419 pat -field 420 419 8 string value -call 421 contains_key bool 2 418 420 -brif 421 L266 L267 +load 365 kinds +call 366 pith_list_new_cstr list 0 +call 367 pith_list_release_handle void 1 365 +store kinds 366 +load 368 ir_struct_registry_ir_enum_payload_kinds +load 369 pat +field 370 369 8 string value +call 371 contains_key bool 2 368 370 +brif 371 L266 L267 label L266 -load 422 kinds -load 423 pat -field 424 423 8 string value -load 425 ir_struct_registry_ir_enum_payload_kinds -load 426 pat -field 427 426 8 string value -call 428 map_get_strict string 2 425 427 -strref 429 m41s315 -call 430 pith_string_split_to_list list_string 2 428 429 -call 431 pith_cstring_release void 1 429 -call 432 ir_match_emit_ir_resolved_variant_kinds list_string 2 424 430 -call 433 pith_list_release_handle void 1 430 -call 434 pith_list_release_handle void 1 422 -store kinds 432 +load 372 kinds +load 373 pat +field 374 373 8 string value +load 375 ir_struct_registry_ir_enum_payload_kinds +load 376 pat +field 377 376 8 string value +call 378 map_get_strict string 2 375 377 +strref 379 m41s315 +call 380 pith_string_split_to_list list_string 2 378 379 +call 381 pith_cstring_release void 1 379 +call 382 ir_match_emit_ir_resolved_variant_kinds list_string 2 374 380 +call 383 pith_list_release_handle void 1 380 +call 384 pith_list_release_handle void 1 372 +store kinds 382 jmp L265 label L267 label L265 -load 435 pat -field 436 435 16 list children -call 437 pith_auto_len int 1 436 -iconst 438 0 -store __for_idx_293 438 -store __for_len_293 437 -store __for_iter_293 436 +load 385 pat +field 386 385 16 list children +call 387 pith_auto_len int 1 386 +iconst 388 0 +store __for_idx_292 388 +store __for_len_292 387 +store __for_iter_292 386 label L268 -load 439 __for_idx_293 -load 440 __for_len_293 -lt 441 439 440 -brif 441 L269 L271 +load 389 __for_idx_292 +load 390 __for_len_292 +lt 391 389 390 +brif 391 L269 L271 label L269 -load 442 __for_iter_293 -load 443 __for_idx_293 -call 444 pith_list_get_value unknown 2 442 443 -store __loopvar_293_sub_idx 444 -load 445 __for_idx_293 -store __loopvar_293_i 445 -load 446 sub -load 447 __loopvar_293_sub_idx -call 448 ast_get_node struct:Node 1 447 -call 449 pith_struct_release void 1 446 -store sub 448 -load 450 sub -field 451 450 0 string kind -strref 452 m41s86 -call 453 pith_cstring_eq bool 2 451 452 -call 454 pith_cstring_release void 1 452 -brif 453 L273 L274 +load 392 __for_iter_292 +load 393 __for_idx_292 +call 394 pith_list_get_value unknown 2 392 393 +store __loopvar_292_sub_idx 394 +load 395 __for_idx_292 +store __loopvar_292_i 395 +load 396 sub +load 397 __loopvar_292_sub_idx +call 398 ast_get_node struct:Node 1 397 +call 399 pith_struct_release void 1 396 +store sub 398 +load 400 sub +field 401 400 0 string kind +strref 402 m41s86 +call 403 pith_cstring_eq bool 2 401 402 +call 404 pith_cstring_release void 1 402 +brif 403 L273 L274 label L273 -load 455 kind -strref 456 m41s771 -call 457 pith_cstring_release void 1 455 -store kind 456 -load 458 __loopvar_293_i -load 459 kinds -call 460 pith_list_len int 1 459 -lt 461 458 460 -brif 461 L276 L277 +load 405 kind +strref 406 m41s772 +call 407 pith_cstring_release void 1 405 +store kind 406 +load 408 __loopvar_292_i +load 409 kinds +call 410 pith_list_len int 1 409 +lt 411 408 410 +brif 411 L276 L277 label L276 -load 462 kind -load 463 kinds -load 464 __loopvar_293_i -call 465 pith_list_get_value_strict string 2 463 464 -call 466 pith_cstring_retain void 1 465 -call 467 pith_cstring_release void 1 462 -store kind 465 +load 412 kind +load 413 kinds +load 414 __loopvar_292_i +call 415 pith_list_get_value_strict string 2 413 414 +call 416 pith_cstring_retain void 1 415 +call 417 pith_cstring_release void 1 412 +store kind 415 jmp L275 label L277 label L275 -call 468 ir_builder_ir_reg int 0 -store slot_r 468 -strref 469 m41s721 -load 470 slot_r -call 471 int_to_string string 1 470 -concat 472 469 471 -call 473 pith_cstring_release void 1 469 -call 474 pith_cstring_release void 1 471 -strref 475 m41s344 -concat 476 472 475 -call 477 pith_cstring_release void 1 472 -call 478 pith_cstring_release void 1 475 -load 479 subj_r -call 480 int_to_string string 1 479 -concat 481 476 480 -call 482 pith_cstring_release void 1 476 -call 483 pith_cstring_release void 1 480 -strref 484 m41s344 -concat 485 481 484 -call 486 pith_cstring_release void 1 481 -call 487 pith_cstring_release void 1 484 -load 488 __loopvar_293_i -iconst 489 1 -add 490 488 489 -iconst 491 8 -mul 492 490 491 -call 493 int_to_string string 1 492 -concat 494 485 493 -call 495 pith_cstring_release void 1 485 -call 496 pith_cstring_release void 1 493 -strref 497 m41s344 -concat 498 494 497 -call 499 pith_cstring_release void 1 494 -call 500 pith_cstring_release void 1 497 -load 501 kind -concat 502 498 501 -call 503 pith_cstring_release void 1 498 -strref 504 m41s344 -concat 505 502 504 -call 506 pith_cstring_release void 1 502 -call 507 pith_cstring_release void 1 504 -load 508 sub -field 509 508 8 string value -concat 510 505 509 -call 511 pith_cstring_release void 1 505 -call 512 ir_builder_ir_emit void 1 510 -call 513 pith_cstring_release void 1 510 -load 514 rc_kind -load 515 kind -call 516 ir_struct_registry_ir_rc_kind string 1 515 -call 517 pith_cstring_release void 1 514 -store rc_kind 516 -load 518 rc_kind -call 519 string_len int 1 518 -iconst 520 0 -gt 521 519 520 -brif 521 L279 L280 +call 418 ir_builder_ir_reg int 0 +store slot_r 418 +strref 419 m41s722 +load 420 slot_r +call 421 int_to_string string 1 420 +concat 422 419 421 +call 423 pith_cstring_release void 1 419 +call 424 pith_cstring_release void 1 421 +strref 425 m41s344 +concat 426 422 425 +call 427 pith_cstring_release void 1 422 +call 428 pith_cstring_release void 1 425 +load 429 subj_r +call 430 int_to_string string 1 429 +concat 431 426 430 +call 432 pith_cstring_release void 1 426 +call 433 pith_cstring_release void 1 430 +strref 434 m41s344 +concat 435 431 434 +call 436 pith_cstring_release void 1 431 +call 437 pith_cstring_release void 1 434 +load 438 __loopvar_292_i +iconst 439 1 +add 440 438 439 +iconst 441 8 +mul 442 440 441 +call 443 int_to_string string 1 442 +concat 444 435 443 +call 445 pith_cstring_release void 1 435 +call 446 pith_cstring_release void 1 443 +strref 447 m41s344 +concat 448 444 447 +call 449 pith_cstring_release void 1 444 +call 450 pith_cstring_release void 1 447 +load 451 kind +concat 452 448 451 +call 453 pith_cstring_release void 1 448 +strref 454 m41s344 +concat 455 452 454 +call 456 pith_cstring_release void 1 452 +call 457 pith_cstring_release void 1 454 +load 458 sub +field 459 458 8 string value +concat 460 455 459 +call 461 pith_cstring_release void 1 455 +call 462 ir_builder_ir_emit void 1 460 +call 463 pith_cstring_release void 1 460 +load 464 sub +field 465 464 8 string value +load 466 slot_r +load 467 kind +call 468 ir_match_emit_ir_bind_owned_rc_payload void 3 465 466 467 +load 469 ir_builder_ir_var_regs +load 470 sub +field 471 470 8 string value +load 472 slot_r +call 473 map_insert void 3 469 471 472 +load 474 kind +strref 475 m41s772 +call 477 pith_cstring_eq bool 2 474 475 +iconst 478 1 +sub 476 478 477 +call 479 pith_cstring_release void 1 475 +brif 476 L279 L280 label L279 -load 522 ir_builder_ir_untracked_rc_binds -load 523 sub -field 524 523 8 string value -iconst 525 -1 -store __list_index_result_L284 525 -iconst 526 0 -store __list_index_i_L285 526 -call 527 pith_list_len int 1 522 -label L286 -load 528 __list_index_i_L285 -lt 529 528 527 -brif 529 L287 L290 -label L287 -call 530 pith_list_get_value string 2 522 528 -call 531 pith_cstring_eq bool 2 530 524 -brif 531 L288 L289 -label L288 -store __list_index_result_L284 528 -jmp L290 -label L289 -iconst 532 1 -add 533 528 532 -store __list_index_i_L285 533 -jmp L286 -label L290 -load 534 __list_index_result_L284 -iconst 535 0 -gte 536 534 535 -iconst 538 1 -sub 537 538 536 -brif 537 L282 L283 -label L282 -call 539 ir_builder_ir_reg int 0 -store old_r 539 -strref 540 m41s786 -load 541 old_r -call 542 int_to_string string 1 541 -concat 543 540 542 -call 544 pith_cstring_release void 1 540 -call 545 pith_cstring_release void 1 542 -strref 546 m41s344 -concat 547 543 546 -call 548 pith_cstring_release void 1 543 -call 549 pith_cstring_release void 1 546 -load 550 sub -field 551 550 8 string value -concat 552 547 551 -call 553 pith_cstring_release void 1 547 -call 554 ir_builder_ir_emit void 1 552 -call 555 pith_cstring_release void 1 552 -load 556 old_r -load 557 rc_kind -call 558 ir_ownership_ir_rc_release_reg void 2 556 557 -jmp L281 -label L283 -label L281 -load 559 slot_r -load 560 rc_kind -call 561 ir_ownership_ir_rc_retain_reg void 2 559 560 +load 480 ir_builder_ir_var_types +load 481 sub +field 482 481 8 string value +load 483 kind +call 484 map_insert void 3 480 482 483 jmp L278 label L280 label L278 -load 562 ir_builder_ir_var_regs -load 563 sub -field 564 563 8 string value -load 565 slot_r -call 566 map_insert void 3 562 564 565 -load 567 kind -strref 568 m41s771 -call 570 pith_cstring_eq bool 2 567 568 -iconst 571 1 -sub 569 571 570 -call 572 pith_cstring_release void 1 568 -brif 569 L292 L293 -label L292 -load 573 ir_builder_ir_var_types -load 574 sub -field 575 574 8 string value -load 576 kind -call 577 map_insert void 3 573 575 576 -jmp L291 -label L293 -label L291 -strref 578 m41s787 -load 579 sub -field 580 579 8 string value -concat 581 578 580 -call 582 pith_cstring_release void 1 578 -strref 583 m41s344 -concat 584 581 583 -call 585 pith_cstring_release void 1 581 -call 586 pith_cstring_release void 1 583 -load 587 slot_r -call 588 int_to_string string 1 587 -concat 589 584 588 -call 590 pith_cstring_release void 1 584 -call 591 pith_cstring_release void 1 588 -call 592 ir_builder_ir_emit void 1 589 -call 593 pith_cstring_release void 1 589 +strref 485 m41s788 +load 486 sub +field 487 486 8 string value +concat 488 485 487 +call 489 pith_cstring_release void 1 485 +strref 490 m41s344 +concat 491 488 490 +call 492 pith_cstring_release void 1 488 +call 493 pith_cstring_release void 1 490 +load 494 slot_r +call 495 int_to_string string 1 494 +concat 496 491 495 +call 497 pith_cstring_release void 1 491 +call 498 pith_cstring_release void 1 495 +call 499 ir_builder_ir_emit void 1 496 +call 500 pith_cstring_release void 1 496 jmp L272 label L274 label L272 label L270 -load 594 __for_idx_293 -iconst 595 1 -add 596 594 595 -store __for_idx_293 596 +load 501 __for_idx_292 +iconst 502 1 +add 503 501 502 +store __for_idx_292 503 jmp L268 label L271 jmp L260 label L262 label L260 -load 597 pat -call 598 pith_struct_release void 1 597 -load 599 done_l -call 600 pith_cstring_release void 1 599 -load 601 bind_l -call 602 pith_cstring_release void 1 601 -load 603 next_l -call 604 pith_cstring_release void 1 603 -load 605 elems -call 606 pith_list_release_handle void 1 605 -load 607 sub -call 608 pith_struct_release void 1 607 -load 609 subj_info -call 610 pith_struct_release void 1 609 -load 611 inner_kind -call 612 pith_cstring_release void 1 611 -load 613 rc_kind -call 614 pith_cstring_release void 1 613 -load 615 kinds -call 616 pith_list_release_handle void 1 615 -load 617 kind -call 618 pith_cstring_release void 1 617 -iconst 619 0 -ret 619 +load 504 pat +call 505 pith_struct_release void 1 504 +load 506 done_l +call 507 pith_cstring_release void 1 506 +load 508 bind_l +call 509 pith_cstring_release void 1 508 +load 510 next_l +call 511 pith_cstring_release void 1 510 +load 512 elems +call 513 pith_list_release_handle void 1 512 +load 514 sub +call 515 pith_struct_release void 1 514 +load 516 subj_info +call 517 pith_struct_release void 1 516 +load 518 inner_kind +call 519 pith_cstring_release void 1 518 +load 520 kinds +call 521 pith_list_release_handle void 1 520 +load 522 kind +call 523 pith_cstring_release void 1 522 +iconst 524 0 +ret 524 endfunc func ir_match_emit_ir_emit_match_arm_body 4 void param body_idx @@ -120257,50 +119695,50 @@ field 10 9 0 string kind strref 11 m41s65 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L295 L296 -label L295 +brif 12 L282 L283 +label L282 load 14 body_idx call 15 emit_block int 1 14 load 16 body call 17 pith_struct_release void 1 16 iconst 18 0 ret 18 -label L296 -label L294 +label L283 +label L281 load 19 body_idx store expr_idx 19 iconst 20 0 -store __and_20_300 20 +store __and_20_287 20 load 21 body field 22 21 0 string kind strref 23 m41s66 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_300 24 -brif 24 L300 L301 -label L300 +store __and_20_287 24 +brif 24 L287 L288 +label L287 load 26 body field 27 26 16 list children call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_20_300 30 -label L301 -load 31 __and_20_300 -brif 31 L298 L299 -label L298 +store __and_20_287 30 +label L288 +load 31 __and_20_287 +brif 31 L285 L286 +label L285 load 32 body field 33 32 16 list children iconst 34 0 call 35 pith_list_get_value_strict int 2 33 34 store expr_idx 35 -jmp L297 -label L299 -label L297 +jmp L284 +label L286 +label L284 load 36 expr_idx call 37 emit_expr int 1 36 store val_r 37 -strref 38 m41s787 +strref 38 m41s788 load 39 result_temp concat 40 38 39 call 41 pith_cstring_release void 1 38 @@ -120340,7 +119778,7 @@ store body_l 7 iconst 8 0 store after_l 8 load 9 result_temp -strref 10 m41s791 +strref 10 m41s792 call 11 ir_builder_ir_new_temp_name string 1 10 call 12 pith_cstring_release void 1 10 call 13 pith_cstring_release void 1 9 @@ -120363,7 +119801,7 @@ load 25 next_l call 26 ir_builder_ir_label string 0 call 27 pith_cstring_release void 1 25 store next_l 26 -strref 28 m41s789 +strref 28 m41s790 load 29 cond_r call 30 int_to_string string 1 29 concat 31 28 30 @@ -120393,7 +119831,7 @@ iconst 54 1 call 55 pith_list_get_value_strict int 2 53 54 call 56 emit_expr int 1 55 store then_r 56 -strref 57 m41s787 +strref 57 m41s788 load 58 result_temp concat 59 57 58 call 60 pith_cstring_release void 1 57 @@ -120408,7 +119846,7 @@ call 68 pith_cstring_release void 1 62 call 69 pith_cstring_release void 1 66 call 70 ir_builder_ir_emit void 1 67 call 71 pith_cstring_release void 1 67 -strref 72 m41s788 +strref 72 m41s789 load 73 end_l concat 74 72 73 call 75 pith_cstring_release void 1 72 @@ -120418,7 +119856,7 @@ load 78 next_l call 79 ir_call_emit_ir_emit_label void 1 78 iconst 80 2 store i 80 -label L302 +label L289 load 81 i load 82 node field 83 82 16 list children @@ -120426,8 +119864,8 @@ call 84 pith_list_len int 1 83 iconst 85 1 sub 86 84 85 lt 87 81 86 -brif 87 L303 L304 -label L303 +brif 87 L290 L291 +label L290 load 88 branch load 89 node field 90 89 16 list children @@ -120450,7 +119888,7 @@ load 103 after_l call 104 ir_builder_ir_label string 0 call 105 pith_cstring_release void 1 103 store after_l 104 -strref 106 m41s789 +strref 106 m41s790 load 107 branch_cond_r call 108 int_to_string string 1 107 concat 109 106 108 @@ -120480,7 +119918,7 @@ iconst 132 1 call 133 pith_list_get_value_strict int 2 131 132 call 134 emit_expr int 1 133 store branch_r 134 -strref 135 m41s787 +strref 135 m41s788 load 136 result_temp concat 137 135 136 call 138 pith_cstring_release void 1 135 @@ -120495,7 +119933,7 @@ call 146 pith_cstring_release void 1 140 call 147 pith_cstring_release void 1 144 call 148 ir_builder_ir_emit void 1 145 call 149 pith_cstring_release void 1 145 -strref 150 m41s788 +strref 150 m41s789 load 151 end_l concat 152 150 151 call 153 pith_cstring_release void 1 150 @@ -120507,8 +119945,8 @@ load 158 i iconst 159 1 add 160 158 159 store i 160 -jmp L302 -label L304 +jmp L289 +label L291 load 161 node field 162 161 16 list children load 163 node @@ -120519,7 +119957,7 @@ sub 167 165 166 call 168 pith_list_get_value_strict int 2 162 167 call 169 emit_expr int 1 168 store else_r 169 -strref 170 m41s787 +strref 170 m41s788 load 171 result_temp concat 172 170 171 call 173 pith_cstring_release void 1 170 @@ -120538,7 +119976,7 @@ load 185 end_l call 186 ir_call_emit_ir_emit_label void 1 185 call 187 ir_builder_ir_reg int 0 store r 187 -strref 188 m41s786 +strref 188 m41s787 load 189 r call 190 int_to_string string 1 189 concat 191 188 190 @@ -120628,7 +120066,7 @@ call 27 pith_list_get_value_strict int 2 25 26 call 28 ir_alias_registry_ir_emission_tid int 1 27 store ir_match_emit_ir_match_subject_tid 28 load 29 result_temp -strref 30 m41s790 +strref 30 m41s791 call 31 ir_builder_ir_new_temp_name string 1 30 call 32 pith_cstring_release void 1 30 call 33 pith_cstring_release void 1 29 @@ -120639,14 +120077,14 @@ call 36 pith_cstring_release void 1 34 store end_l 35 iconst 37 1 store i 37 -label L305 +label L292 load 38 i load 39 node field 40 39 16 list children call 41 pith_list_len int 1 40 lt 42 38 41 -brif 42 L306 L307 -label L306 +brif 42 L293 L294 +label L293 load 43 arm load 44 node field 45 44 16 list children @@ -120670,14 +120108,14 @@ sub 59 57 58 store body_idx 59 iconst 60 1 store j 60 -label L308 +label L295 load 61 j load 62 arm field 63 62 16 list children call 64 pith_list_len int 1 63 lt 65 61 64 -brif 65 L309 L310 -label L309 +brif 65 L296 L297 +label L296 load 66 cn load 67 arm field 68 67 16 list children @@ -120691,37 +120129,37 @@ field 74 73 0 string kind strref 75 m41s116 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L312 L313 -label L312 +brif 76 L299 L300 +label L299 load 78 cn field 79 78 16 list children call 80 pith_list_len int 1 79 iconst 81 0 gt 82 80 81 -brif 82 L315 L316 -label L315 +brif 82 L302 L303 +label L302 load 83 cn field 84 83 16 list children iconst 85 0 call 86 pith_list_get_value_strict int 2 84 85 store guard_idx 86 -jmp L314 -label L316 -label L314 -jmp L311 -label L313 +jmp L301 +label L303 +label L301 +jmp L298 +label L300 load 87 arm field 88 87 16 list children load 89 j call 90 pith_list_get_value_strict int 2 88 89 store body_idx 90 -label L311 +label L298 load 91 j iconst 92 1 add 93 91 92 store j 93 -jmp L308 -label L310 +jmp L295 +label L297 load 94 pat_idx load 95 subj_r call 96 ir_match_emit_ir_emit_match_cond int 2 94 95 @@ -120734,7 +120172,7 @@ load 100 next_l call 101 ir_builder_ir_label string 0 call 102 pith_cstring_release void 1 100 store next_l 101 -strref 103 m41s789 +strref 103 m41s790 load 104 cond_r call 105 int_to_string string 1 104 concat 106 103 105 @@ -120765,8 +120203,8 @@ call 130 ir_match_emit_ir_emit_match_bindings void 3 127 128 129 load 131 guard_idx iconst 132 0 gte 133 131 132 -brif 133 L318 L319 -label L318 +brif 133 L305 L306 +label L305 load 134 guard_idx call 135 emit_expr int 1 134 store g_r 135 @@ -120774,7 +120212,7 @@ load 136 body_l call 137 ir_builder_ir_label string 0 call 138 pith_cstring_release void 1 136 store body_l 137 -strref 139 m41s789 +strref 139 m41s790 load 140 g_r call 141 int_to_string string 1 140 concat 142 139 141 @@ -120798,9 +120236,9 @@ call 159 ir_builder_ir_emit void 1 157 call 160 pith_cstring_release void 1 157 load 161 body_l call 162 ir_call_emit_ir_emit_label void 1 161 -jmp L317 -label L319 -label L317 +jmp L304 +label L306 +label L304 load 163 body_idx load 164 result_temp load 165 emit_expr @@ -120809,40 +120247,40 @@ call 167 ir_match_emit_ir_emit_match_arm_body void 4 163 164 165 166 load 168 ir_call_emit_ir_last_was_ret iconst 170 1 sub 169 170 168 -brif 169 L321 L322 -label L321 -strref 171 m41s788 +brif 169 L308 L309 +label L308 +strref 171 m41s789 load 172 end_l concat 173 171 172 call 174 pith_cstring_release void 1 171 call 175 ir_builder_ir_emit void 1 173 call 176 pith_cstring_release void 1 173 -jmp L320 -label L322 -label L320 +jmp L307 +label L309 +label L307 load 177 next_l call 178 ir_call_emit_ir_emit_label void 1 177 load 179 i iconst 180 1 add 181 179 180 store i 181 -jmp L305 -label L307 +jmp L292 +label L294 call 182 ir_builder_ir_reg int 0 store zero_r 182 -strref 183 m41s691 +strref 183 m41s692 load 184 zero_r call 185 int_to_string string 1 184 concat 186 183 185 call 187 pith_cstring_release void 1 183 call 188 pith_cstring_release void 1 185 -strref 189 m41s690 +strref 189 m41s691 concat 190 186 189 call 191 pith_cstring_release void 1 186 call 192 pith_cstring_release void 1 189 call 193 ir_builder_ir_emit void 1 190 call 194 pith_cstring_release void 1 190 -strref 195 m41s787 +strref 195 m41s788 load 196 result_temp concat 197 195 196 call 198 pith_cstring_release void 1 195 @@ -120861,7 +120299,7 @@ load 210 end_l call 211 ir_call_emit_ir_emit_label void 1 210 call 212 ir_builder_ir_reg int 0 store r 212 -strref 213 m41s786 +strref 213 m41s787 load 214 r call 215 int_to_string string 1 214 concat 216 213 215 @@ -120919,26 +120357,26 @@ load 1 ir_builder_ir_current_func_return_kind call 2 string_len int 1 1 iconst 3 0 eq 4 2 3 -brif 4 L324 L325 -label L324 +brif 4 L311 L312 +label L311 iconst 5 0 iconst 6 1 sub 7 5 6 ret 7 -label L325 -label L323 +label L312 +label L310 load 8 ir_builder_ir_current_func_return_kind -strref 9 m41s744 +strref 9 m41s745 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L327 L328 -label L327 +brif 10 L314 L315 +label L314 iconst 12 0 iconst 13 1 sub 14 12 13 ret 14 -label L328 -label L326 +label L315 +label L313 load 15 body_idx call 16 ir_match_emit_ir_unwrap_tail_match int 1 15 ret 16 @@ -120959,75 +120397,75 @@ field 7 6 0 string kind strref 8 m41s513 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L330 L331 -label L330 +brif 9 L317 L318 +label L317 load 11 idx load 12 n call 13 pith_struct_release void 1 12 ret 11 -label L331 -label L329 +label L318 +label L316 iconst 14 0 -store __or_14_335 14 +store __or_14_322 14 iconst 15 0 -store __or_15_335 15 +store __or_15_322 15 iconst 16 0 -store __or_16_335 16 +store __or_16_322 16 load 17 n field 18 17 0 string kind strref 19 m41s66 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_16_335 20 -brif 20 L336 L335 -label L335 +store __or_16_322 20 +brif 20 L323 L322 +label L322 load 22 n field 23 22 0 string kind strref 24 m41s65 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_16_335 25 -label L336 -load 27 __or_16_335 -store __or_15_335 27 -brif 27 L338 L337 -label L337 +store __or_16_322 25 +label L323 +load 27 __or_16_322 +store __or_15_322 27 +brif 27 L325 L324 +label L324 load 28 n field 29 28 0 string kind strref 30 m41s544 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_15_335 31 -label L338 -load 33 __or_15_335 -store __or_14_335 33 -brif 33 L340 L339 -label L339 +store __or_15_322 31 +label L325 +load 33 __or_15_322 +store __or_14_322 33 +brif 33 L327 L326 +label L326 load 34 n field 35 34 0 string kind strref 36 m41s543 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_14_335 37 -label L340 -load 39 __or_14_335 -brif 39 L333 L334 -label L333 +store __or_14_322 37 +label L327 +load 39 __or_14_322 +brif 39 L320 L321 +label L320 load 40 n field 41 40 16 list children call 42 pith_list_len int 1 41 iconst 43 0 eq 44 42 43 -brif 44 L342 L343 -label L342 +brif 44 L329 L330 +label L329 iconst 45 0 iconst 46 1 sub 47 45 46 load 48 n call 49 pith_struct_release void 1 48 ret 47 -label L343 -label L341 +label L330 +label L328 load 50 n field 51 50 16 list children load 52 n @@ -121040,8 +120478,8 @@ call 58 ir_match_emit_ir_unwrap_tail_match int 1 57 load 59 n call 60 pith_struct_release void 1 59 ret 58 -label L334 -label L332 +label L321 +label L319 iconst 61 0 iconst 62 1 sub 63 61 62 @@ -124146,400 +123584,401 @@ string m44s630 "': another impl block already declares it" string m44s631 "' on '" string m44s632 "duplicate method '" string m44s633 "E263" -string m44s634 "iface" -string m44s635 "inherent" -string m44s636 "assoc_type" -string m44s637 "' is a builtin type name and cannot be used as an enum name" -string m44s638 "E250" -string m44s639 "' must be " -string m44s640 "default for field '" -string m44s641 "' is a builtin type name and cannot be used as a struct name" -string m44s642 "' must be an optional struct type (T?)" -string m44s643 "weak field '" -string m44s644 "E249" -string m44s645 "parameter requires a type annotation" -string m44s646 "type_alias" -string m44s647 "interface_decl" -string m44s648 "unknown generic type: " -string m44s649 "Channel expects 1 type argument, got " -string m44s650 "Task expects 1 type argument, got " -string m44s651 "Map expects 2 type arguments, got " -string m44s652 "Set expects 1 type argument, got " -string m44s653 "List expects 1 type argument, got " -string m44s654 "type nesting too deep" -string m44s655 "E233" -string m44s656 "import it from the module that defines it" -string m44s657 "' is not declared by module '" -string m44s658 "E246" -string m44s659 "*" -string m44s660 "a" -string m44s661 "closure" -string m44s662 "bool" -string m44s663 "set_int" -string m44s664 "map_int" -string m44s665 "list_string" -string m44s666 "int" -string m44s667 "require_bool" -string m44s668 "require_int" -string m44s669 "require_string" -string m44s670 "require" -string m44s671 "std_json_scalar_has_bool" -string m44s672 "std_json_scalar_has_int" -string m44s673 "std_json_scalar_has_string" -string m44s674 "b" -string m44s675 "i" -string m44s676 "std_json_scan_required_bool_bytes" -string m44s677 "std_json_scan_required_int_bytes" -string m44s678 "std_json_scan_required_string_bytes" -string m44s679 "std_json_require_bool" -string m44s680 "std_json_require_int" -string m44s681 "std_json_require_string" -string m44s682 "object_require_bool" -string m44s683 "object_require_int" -string m44s684 "object_require_string" -string m44s685 "dotted_path" -string m44s686 "handle" -string m44s687 "decode_path" -string m44s688 "std_json_decode_path" -string m44s689 "input" -string m44s690 "std_json_decode" -string m44s691 "std_json_decode_text" -string m44s692 "decode_object" -string m44s693 "std_json_decode_object" -string m44s694 "decode_text_path" -string m44s695 "std_yaml_" -string m44s696 "std_toml_" -string m44s697 "cfg" -string m44s698 "std_config_decode" -string m44s699 "prefix" -string m44s700 "std_config_decode_prefix" -string m44s701 "std/config" -string m44s702 "std_config_require_bool" -string m44s703 "std_config_require_int" -string m44s704 "std_config_require" -string m44s705 "-" -string m44s706 "unknown" -string m44s707 "std_config_" -string m44s708 "std_json_" -string m44s709 "fn" -string m44s710 " pith_struct_set_dtor void 2 " -string m44s711 "call " -string m44s712 " __opt_dtor_" -string m44s713 "funcref " -string m44s714 " 1" -string m44s715 "iconst " -string m44s716 "neq " -string m44s717 " 0" -string m44s718 " pith_struct_weak_load int 1 " -string m44s719 " 1 " -string m44s720 "sstore " -string m44s721 " 0 " -string m44s722 "__struct_alloc" -string m44s723 " 2" -string m44s724 "and " -string m44s725 "eq " -string m44s726 " bool 2 " -string m44s727 "__str_eq" -string m44s728 "or " -string m44s729 " value" -string m44s730 " 8 " -string m44s731 "field " -string m44s732 " 0 bool is_some" -string m44s733 "void" -string m44s734 "pith_struct_weak_release" -string m44s735 "weak" -string m44s736 "pith_closure_release" -string m44s737 "pith_struct_release" -string m44s738 "pith_bytes_release" -string m44s739 "bytes" -string m44s740 "pith_set_release_handle" -string m44s741 "pith_map_release_handle" -string m44s742 "pith_list_release_handle" -string m44s743 "pith_cc_visit" -string m44s744 "pith_struct_weak_retain" -string m44s745 "pith_closure_retain" -string m44s746 "pith_struct_retain" -string m44s747 "pith_bytes_retain" -string m44s748 "pith_set_retain_handle" -string m44s749 "pith_map_retain_handle" -string m44s750 "pith_list_retain_handle" -string m44s751 "__cstring_release" -string m44s752 "__cstring_retain" -string m44s753 "load " -string m44s754 "label " -string m44s755 "store " -string m44s756 "brif " -string m44s757 "pith_cstring_eq" -string m44s758 "strref " -string m44s759 "pith_list_get_value_unchecked" -string m44s760 "lt " -string m44s761 "pith_auto_len" -string m44s762 "pith_string_split_to_list" -string m44s763 "jmp " -string m44s764 "add " -string m44s765 " ok" -string m44s766 " failed" -string m44s767 " 0 bool is_ok" -string m44s768 "sub " -string m44s769 "ret2 " -string m44s770 " pith_struct_release void 1 " -string m44s771 " 16 unknown err" -string m44s772 "ret " -string m44s773 "rreg_box" -string m44s774 "rcall " -string m44s775 "struct:" -string m44s776 "TypeInfo" -string m44s777 "get_type_info" -string m44s778 "ti_channel" -string m44s779 "ti_task" -string m44s780 "ti_set" -string m44s781 "ti_map" -string m44s782 "ti_list" -string m44s783 "ti_tuple" -string m44s784 "ti_result" -string m44s785 "ti_optional" -string m44s786 "ti_function" -string m44s787 "ti_enum" -string m44s788 "ti_struct" -string m44s789 "ti_primitive" -string m44s790 "Token" -string m44s791 "expect" -string m44s792 "advance_token" -string m44s793 "Node" -string m44s794 "get_node" -string m44s795 "endfunc" -string m44s796 " 2 " -string m44s797 "struct:tuple" -string m44s798 " 3" -string m44s799 " __dtor_" -string m44s800 "not_op" -string m44s801 "!" -string m44s802 "integer" -string m44s803 "float" -string m44s804 "list:" -string m44s805 "task:" -string m44s806 "channel:" -string m44s807 "opaque:" -string m44s808 "Set[UInt64]" -string m44s809 "Set[UInt32]" -string m44s810 "Set[UInt16]" -string m44s811 "Set[UInt8]" -string m44s812 "Set[Int64]" -string m44s813 "Set[Int32]" -string m44s814 "Set[Int16]" -string m44s815 "Set[Int8]" -string m44s816 "Set[UInt]" -string m44s817 "Set[Int]" -string m44s818 "Map[Int, " -string m44s819 "Map[Int," -string m44s820 "List[String]" -string m44s821 "none" -string m44s822 "" -string m44s823 "TypeInfo(" -string m44s824 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" -string m44s825 "name" -string m44s826 ", name: " -string m44s827 "fields" -string m44s828 ", fields: " -string m44s829 "field_types" -string m44s830 ", field_types: " -string m44s831 "field_pub" -string m44s832 ", field_pub: " -string m44s833 "field_mut" -string m44s834 ", field_mut: " -string m44s835 "param_types" -string m44s836 ", param_types: " -string m44s837 "return_type" -string m44s838 ", return_type: " -string m44s839 "inner" -string m44s840 ", inner: " -string m44s841 "key_type" -string m44s842 ", key_type: " -string m44s843 "value_type" -string m44s844 ", value_type: " -string m44s845 "elements" -string m44s846 ", elements: " -string m44s847 "variants" -string m44s848 ", variants: " -string m44s849 "variant_types" -string m44s850 ", variant_types: " -string m44s851 "from_json_file" -string m44s852 "from_json_file_typed_prefix" -string m44s853 "from_toml_file" -string m44s854 "from_toml_file_typed_prefix" -string m44s855 "from_json" -string m44s856 "from_json_typed_prefix" -string m44s857 "from_toml" -string m44s858 "from_toml_typed_prefix" -string m44s859 "pool_restore" -string m44s860 "object_require_object" -string m44s861 "json_file_parts_idx" -string m44s862 "json_file_parts_len" -string m44s863 "json_file_parts" -string m44s864 "json_file_current" -string m44s865 "require_object_handle" -string m44s866 "parse_file" -string m44s867 "pool_mark_array_len" -string m44s868 "pool_mark_node_id" -string m44s869 "json_decode_file_path" -string m44s870 "json_decode_file" -string m44s871 "json_parts_idx" -string m44s872 "json_parts_len" -string m44s873 "json_parts" -string m44s874 "json_current" -string m44s875 "parse" -string m44s876 "json_decode_path" -string m44s877 "json_decode_object" -string m44s878 " dotted_path" -string m44s879 " handle" -string m44s880 "parse_bytes_required" -string m44s881 "json_decode" -string m44s882 " input" -string m44s883 "json_object_default_field" -string m44s884 "json_object_optional_field" -string m44s885 "json_object_default_struct_field" -string m44s886 "json_object_optional_struct_field" -string m44s887 "object_has" -string m44s888 "json_nested_decode" -string m44s889 "std_bytes_from_string_utf8" -string m44s890 "json_decode_nested" -string m44s891 "json_default_field" -string m44s892 "json_optional_field" -string m44s893 "std_json_decode_scalars_bytes" -string m44s894 "pith_json_decode_missing_error" -string m44s895 "pith_json_fill_struct" -string m44s896 "pith_struct_set_dtor" -string m44s897 "require_table" -string m44s898 "handle_decode_file_parts_idx" -string m44s899 "handle_decode_file_parts_len" -string m44s900 "handle_decode_file_parts" -string m44s901 "handle_decode_file_current" -string m44s902 "parse_file_required" -string m44s903 "pool_mark_table_len" -string m44s904 "handle_decode_file_path" -string m44s905 "handle_decode_file" -string m44s906 "handle_decode_parts_idx" -string m44s907 "handle_decode_parts_len" -string m44s908 "handle_decode_parts" -string m44s909 "handle_decode_current" -string m44s910 "parse_required" -string m44s911 "handle_decode_path" -string m44s912 "handle_decode" -string m44s913 "handle_default_field" -string m44s914 "has" -string m44s915 "handle_optional_field" -string m44s916 "handle_default_struct_field" -string m44s917 "handle_optional_struct_field" -string m44s918 "config_loader_decode" -string m44s919 "config_decode" -string m44s920 "handle_decode_text_path" -string m44s921 "handle_decode_text" -string m44s922 "current" -string m44s923 "__for_idx_handle_path" -string m44s924 "__for_len_handle_path" -string m44s925 "__for_iter_handle_path" -string m44s926 "handle_spec_default_field" -string m44s927 "handle_spec_optional_field" -string m44s928 "handle_spec_default_struct_field" -string m44s929 "handle_spec_optional_struct_field" -string m44s930 "config_default_field" -string m44s931 "config_optional_field" -string m44s932 "config_default_struct_field" -string m44s933 "has_prefix" -string m44s934 "config_optional_struct_field" -string m44s935 " prefix" -string m44s936 " cfg" -string m44s937 "config_spec_default_field" -string m44s938 "std_config_has" -string m44s939 "config_spec_optional_field" -string m44s940 "config_spec_default_struct_field" -string m44s941 "std_config_has_prefix" -string m44s942 "config_spec_optional_struct_field" -string m44s943 "std_config_dotted_key" -string m44s944 "dotted_key" -string m44s945 "handle_nested_decode" -string m44s946 "handle_pool_array_mark" -string m44s947 "handle_pool_table_mark" -string m44s948 "handle_pool_node_mark" -string m44s949 "json_pool_array_mark" -string m44s950 "json_pool_node_mark" -string m44s951 "IrJsonPoolMark(" -string m44s952 "snode_id_var,sarray_len_var" -string m44s953 "node_id_var" -string m44s954 "node_id_var: " -string m44s955 "array_len_var" -string m44s956 ", array_len_var: " -string m44s957 "IrHandlePoolMark(" -string m44s958 "snode_id_var,stable_len_var,sarray_len_var" -string m44s959 "table_len_var" -string m44s960 ", table_len_var: " -string m44s961 "IrDecodeFieldBranch(" -string m44s962 "sfield_temp,spresent_l,smerge_l" -string m44s963 "field_temp" -string m44s964 "field_temp: " -string m44s965 "present_l" -string m44s966 ", present_l: " -string m44s967 "merge_l" -string m44s968 ", merge_l: " -string m44s969 "IrDecodeFieldValue(" -string m44s970 "bok,ivalue_r" -string m44s971 "ok: " -string m44s972 "value_r" -string m44s973 ", value_r: " -string m44s974 "parse_int failed" -string m44s975 "file_open_read failed" -string m44s976 "file_open_write failed" -string m44s977 "file_open_append failed" -string m44s978 "byte_buffer_write failed" -string m44s979 "byte_buffer_write_string_utf8 failed" -string m44s980 "byte_buffer_write_byte failed" -string m44s981 "file_write failed" -string m44s982 "file_write_bytes failed" -string m44s983 "tcp_connect failed" -string m44s984 "tcp_listen failed" -string m44s985 "tcp_accept failed" -string m44s986 "tcp_write failed" -string m44s987 "tcp_write_bytes failed" -string m44s988 "process_spawn failed" -string m44s989 "process_spawn_argv failed" -string m44s990 "process_output_argv failed" -string m44s991 "process_write failed" -string m44s992 "process_write_bytes failed" -string m44s993 "crypto_x25519_keygen failed" -string m44s994 "write_file failed" -string m44s995 "append_file failed" -string m44s996 "write_file_bytes failed" -string m44s997 "append_file_bytes failed" -string m44s998 "read_file failed" -string m44s999 "exec_output failed" -string m44s1000 "dns_resolve failed" -string m44s1001 "bytes_to_string_utf8 failed" -string m44s1002 "bytes_substring_utf8 failed" -string m44s1003 "file_read failed" -string m44s1004 "tcp_read failed" -string m44s1005 "process_read failed" -string m44s1006 "process_read_err failed" -string m44s1007 "read_file_bytes failed" -string m44s1008 "b64_decode failed" -string m44s1009 "from_hex failed" -string m44s1010 "file_read_bytes failed" -string m44s1011 "tcp_read_bytes failed" -string m44s1012 "process_read_bytes failed" -string m44s1013 "process_read_err_bytes failed" -string m44s1014 "crypto_x25519_public_key failed" -string m44s1015 "crypto_x25519_shared_secret failed" -string m44s1016 "crypto_aes_128_gcm_seal failed" -string m44s1017 "crypto_aes_128_gcm_open failed" -string m44s1018 "crypto_chacha20_poly1305_seal failed" -string m44s1019 "crypto_chacha20_poly1305_open failed" -string m44s1020 "crypto_sign_rsa_pss_sha256_pkcs8 failed" -string m44s1021 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" -string m44s1022 "crypto_sign_ed25519_pkcs8 failed" -string m44s1023 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" -string m44s1024 "crypto_blake2b failed" -string m44s1025 "crypto_argon2id failed" -string m44s1026 "zstd_compress failed" -string m44s1027 "zstd_decompress failed" +string m44s634 "#" +string m44s635 "iface" +string m44s636 "inherent" +string m44s637 "assoc_type" +string m44s638 "' is a builtin type name and cannot be used as an enum name" +string m44s639 "E250" +string m44s640 "' must be " +string m44s641 "default for field '" +string m44s642 "' is a builtin type name and cannot be used as a struct name" +string m44s643 "' must be an optional struct type (T?)" +string m44s644 "weak field '" +string m44s645 "E249" +string m44s646 "parameter requires a type annotation" +string m44s647 "type_alias" +string m44s648 "interface_decl" +string m44s649 "unknown generic type: " +string m44s650 "Channel expects 1 type argument, got " +string m44s651 "Task expects 1 type argument, got " +string m44s652 "Map expects 2 type arguments, got " +string m44s653 "Set expects 1 type argument, got " +string m44s654 "List expects 1 type argument, got " +string m44s655 "type nesting too deep" +string m44s656 "E233" +string m44s657 "import it from the module that defines it" +string m44s658 "' is not declared by module '" +string m44s659 "E246" +string m44s660 "*" +string m44s661 "a" +string m44s662 "closure" +string m44s663 "bool" +string m44s664 "set_int" +string m44s665 "map_int" +string m44s666 "list_string" +string m44s667 "int" +string m44s668 "require_bool" +string m44s669 "require_int" +string m44s670 "require_string" +string m44s671 "require" +string m44s672 "std_json_scalar_has_bool" +string m44s673 "std_json_scalar_has_int" +string m44s674 "std_json_scalar_has_string" +string m44s675 "b" +string m44s676 "i" +string m44s677 "std_json_scan_required_bool_bytes" +string m44s678 "std_json_scan_required_int_bytes" +string m44s679 "std_json_scan_required_string_bytes" +string m44s680 "std_json_require_bool" +string m44s681 "std_json_require_int" +string m44s682 "std_json_require_string" +string m44s683 "object_require_bool" +string m44s684 "object_require_int" +string m44s685 "object_require_string" +string m44s686 "dotted_path" +string m44s687 "handle" +string m44s688 "decode_path" +string m44s689 "std_json_decode_path" +string m44s690 "input" +string m44s691 "std_json_decode" +string m44s692 "std_json_decode_text" +string m44s693 "decode_object" +string m44s694 "std_json_decode_object" +string m44s695 "decode_text_path" +string m44s696 "std_yaml_" +string m44s697 "std_toml_" +string m44s698 "cfg" +string m44s699 "std_config_decode" +string m44s700 "prefix" +string m44s701 "std_config_decode_prefix" +string m44s702 "std/config" +string m44s703 "std_config_require_bool" +string m44s704 "std_config_require_int" +string m44s705 "std_config_require" +string m44s706 "-" +string m44s707 "unknown" +string m44s708 "std_config_" +string m44s709 "std_json_" +string m44s710 "fn" +string m44s711 " pith_struct_set_dtor void 2 " +string m44s712 "call " +string m44s713 " __opt_dtor_" +string m44s714 "funcref " +string m44s715 " 1" +string m44s716 "iconst " +string m44s717 "neq " +string m44s718 " 0" +string m44s719 " pith_struct_weak_load int 1 " +string m44s720 " 1 " +string m44s721 "sstore " +string m44s722 " 0 " +string m44s723 "__struct_alloc" +string m44s724 " 2" +string m44s725 "and " +string m44s726 "eq " +string m44s727 " bool 2 " +string m44s728 "__str_eq" +string m44s729 "or " +string m44s730 " value" +string m44s731 " 8 " +string m44s732 "field " +string m44s733 " 0 bool is_some" +string m44s734 "void" +string m44s735 "pith_struct_weak_release" +string m44s736 "weak" +string m44s737 "pith_closure_release" +string m44s738 "pith_struct_release" +string m44s739 "pith_bytes_release" +string m44s740 "bytes" +string m44s741 "pith_set_release_handle" +string m44s742 "pith_map_release_handle" +string m44s743 "pith_list_release_handle" +string m44s744 "pith_cc_visit" +string m44s745 "pith_struct_weak_retain" +string m44s746 "pith_closure_retain" +string m44s747 "pith_struct_retain" +string m44s748 "pith_bytes_retain" +string m44s749 "pith_set_retain_handle" +string m44s750 "pith_map_retain_handle" +string m44s751 "pith_list_retain_handle" +string m44s752 "__cstring_release" +string m44s753 "__cstring_retain" +string m44s754 "load " +string m44s755 "label " +string m44s756 "store " +string m44s757 "brif " +string m44s758 "pith_cstring_eq" +string m44s759 "strref " +string m44s760 "pith_list_get_value_unchecked" +string m44s761 "lt " +string m44s762 "pith_auto_len" +string m44s763 "pith_string_split_to_list" +string m44s764 "jmp " +string m44s765 "add " +string m44s766 " ok" +string m44s767 " failed" +string m44s768 " 0 bool is_ok" +string m44s769 "sub " +string m44s770 "ret2 " +string m44s771 " pith_struct_release void 1 " +string m44s772 " 16 unknown err" +string m44s773 "ret " +string m44s774 "rreg_box" +string m44s775 "rcall " +string m44s776 "struct:" +string m44s777 "TypeInfo" +string m44s778 "get_type_info" +string m44s779 "ti_channel" +string m44s780 "ti_task" +string m44s781 "ti_set" +string m44s782 "ti_map" +string m44s783 "ti_list" +string m44s784 "ti_tuple" +string m44s785 "ti_result" +string m44s786 "ti_optional" +string m44s787 "ti_function" +string m44s788 "ti_enum" +string m44s789 "ti_struct" +string m44s790 "ti_primitive" +string m44s791 "Token" +string m44s792 "expect" +string m44s793 "advance_token" +string m44s794 "Node" +string m44s795 "get_node" +string m44s796 "endfunc" +string m44s797 " 2 " +string m44s798 "struct:tuple" +string m44s799 " 3" +string m44s800 " __dtor_" +string m44s801 "not_op" +string m44s802 "!" +string m44s803 "integer" +string m44s804 "float" +string m44s805 "list:" +string m44s806 "task:" +string m44s807 "channel:" +string m44s808 "opaque:" +string m44s809 "Set[UInt64]" +string m44s810 "Set[UInt32]" +string m44s811 "Set[UInt16]" +string m44s812 "Set[UInt8]" +string m44s813 "Set[Int64]" +string m44s814 "Set[Int32]" +string m44s815 "Set[Int16]" +string m44s816 "Set[Int8]" +string m44s817 "Set[UInt]" +string m44s818 "Set[Int]" +string m44s819 "Map[Int, " +string m44s820 "Map[Int," +string m44s821 "List[String]" +string m44s822 "none" +string m44s823 "" +string m44s824 "TypeInfo(" +string m44s825 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" +string m44s826 "name" +string m44s827 ", name: " +string m44s828 "fields" +string m44s829 ", fields: " +string m44s830 "field_types" +string m44s831 ", field_types: " +string m44s832 "field_pub" +string m44s833 ", field_pub: " +string m44s834 "field_mut" +string m44s835 ", field_mut: " +string m44s836 "param_types" +string m44s837 ", param_types: " +string m44s838 "return_type" +string m44s839 ", return_type: " +string m44s840 "inner" +string m44s841 ", inner: " +string m44s842 "key_type" +string m44s843 ", key_type: " +string m44s844 "value_type" +string m44s845 ", value_type: " +string m44s846 "elements" +string m44s847 ", elements: " +string m44s848 "variants" +string m44s849 ", variants: " +string m44s850 "variant_types" +string m44s851 ", variant_types: " +string m44s852 "from_json_file" +string m44s853 "from_json_file_typed_prefix" +string m44s854 "from_toml_file" +string m44s855 "from_toml_file_typed_prefix" +string m44s856 "from_json" +string m44s857 "from_json_typed_prefix" +string m44s858 "from_toml" +string m44s859 "from_toml_typed_prefix" +string m44s860 "pool_restore" +string m44s861 "object_require_object" +string m44s862 "json_file_parts_idx" +string m44s863 "json_file_parts_len" +string m44s864 "json_file_parts" +string m44s865 "json_file_current" +string m44s866 "require_object_handle" +string m44s867 "parse_file" +string m44s868 "pool_mark_array_len" +string m44s869 "pool_mark_node_id" +string m44s870 "json_decode_file_path" +string m44s871 "json_decode_file" +string m44s872 "json_parts_idx" +string m44s873 "json_parts_len" +string m44s874 "json_parts" +string m44s875 "json_current" +string m44s876 "parse" +string m44s877 "json_decode_path" +string m44s878 "json_decode_object" +string m44s879 " dotted_path" +string m44s880 " handle" +string m44s881 "parse_bytes_required" +string m44s882 "json_decode" +string m44s883 " input" +string m44s884 "json_object_default_field" +string m44s885 "json_object_optional_field" +string m44s886 "json_object_default_struct_field" +string m44s887 "json_object_optional_struct_field" +string m44s888 "object_has" +string m44s889 "json_nested_decode" +string m44s890 "std_bytes_from_string_utf8" +string m44s891 "json_decode_nested" +string m44s892 "json_default_field" +string m44s893 "json_optional_field" +string m44s894 "std_json_decode_scalars_bytes" +string m44s895 "pith_json_decode_missing_error" +string m44s896 "pith_json_fill_struct" +string m44s897 "pith_struct_set_dtor" +string m44s898 "require_table" +string m44s899 "handle_decode_file_parts_idx" +string m44s900 "handle_decode_file_parts_len" +string m44s901 "handle_decode_file_parts" +string m44s902 "handle_decode_file_current" +string m44s903 "parse_file_required" +string m44s904 "pool_mark_table_len" +string m44s905 "handle_decode_file_path" +string m44s906 "handle_decode_file" +string m44s907 "handle_decode_parts_idx" +string m44s908 "handle_decode_parts_len" +string m44s909 "handle_decode_parts" +string m44s910 "handle_decode_current" +string m44s911 "parse_required" +string m44s912 "handle_decode_path" +string m44s913 "handle_decode" +string m44s914 "handle_default_field" +string m44s915 "has" +string m44s916 "handle_optional_field" +string m44s917 "handle_default_struct_field" +string m44s918 "handle_optional_struct_field" +string m44s919 "config_loader_decode" +string m44s920 "config_decode" +string m44s921 "handle_decode_text_path" +string m44s922 "handle_decode_text" +string m44s923 "current" +string m44s924 "__for_idx_handle_path" +string m44s925 "__for_len_handle_path" +string m44s926 "__for_iter_handle_path" +string m44s927 "handle_spec_default_field" +string m44s928 "handle_spec_optional_field" +string m44s929 "handle_spec_default_struct_field" +string m44s930 "handle_spec_optional_struct_field" +string m44s931 "config_default_field" +string m44s932 "config_optional_field" +string m44s933 "config_default_struct_field" +string m44s934 "has_prefix" +string m44s935 "config_optional_struct_field" +string m44s936 " prefix" +string m44s937 " cfg" +string m44s938 "config_spec_default_field" +string m44s939 "std_config_has" +string m44s940 "config_spec_optional_field" +string m44s941 "config_spec_default_struct_field" +string m44s942 "std_config_has_prefix" +string m44s943 "config_spec_optional_struct_field" +string m44s944 "std_config_dotted_key" +string m44s945 "dotted_key" +string m44s946 "handle_nested_decode" +string m44s947 "handle_pool_array_mark" +string m44s948 "handle_pool_table_mark" +string m44s949 "handle_pool_node_mark" +string m44s950 "json_pool_array_mark" +string m44s951 "json_pool_node_mark" +string m44s952 "IrJsonPoolMark(" +string m44s953 "snode_id_var,sarray_len_var" +string m44s954 "node_id_var" +string m44s955 "node_id_var: " +string m44s956 "array_len_var" +string m44s957 ", array_len_var: " +string m44s958 "IrHandlePoolMark(" +string m44s959 "snode_id_var,stable_len_var,sarray_len_var" +string m44s960 "table_len_var" +string m44s961 ", table_len_var: " +string m44s962 "IrDecodeFieldBranch(" +string m44s963 "sfield_temp,spresent_l,smerge_l" +string m44s964 "field_temp" +string m44s965 "field_temp: " +string m44s966 "present_l" +string m44s967 ", present_l: " +string m44s968 "merge_l" +string m44s969 ", merge_l: " +string m44s970 "IrDecodeFieldValue(" +string m44s971 "bok,ivalue_r" +string m44s972 "ok: " +string m44s973 "value_r" +string m44s974 ", value_r: " +string m44s975 "parse_int failed" +string m44s976 "file_open_read failed" +string m44s977 "file_open_write failed" +string m44s978 "file_open_append failed" +string m44s979 "byte_buffer_write failed" +string m44s980 "byte_buffer_write_string_utf8 failed" +string m44s981 "byte_buffer_write_byte failed" +string m44s982 "file_write failed" +string m44s983 "file_write_bytes failed" +string m44s984 "tcp_connect failed" +string m44s985 "tcp_listen failed" +string m44s986 "tcp_accept failed" +string m44s987 "tcp_write failed" +string m44s988 "tcp_write_bytes failed" +string m44s989 "process_spawn failed" +string m44s990 "process_spawn_argv failed" +string m44s991 "process_output_argv failed" +string m44s992 "process_write failed" +string m44s993 "process_write_bytes failed" +string m44s994 "crypto_x25519_keygen failed" +string m44s995 "write_file failed" +string m44s996 "append_file failed" +string m44s997 "write_file_bytes failed" +string m44s998 "append_file_bytes failed" +string m44s999 "read_file failed" +string m44s1000 "exec_output failed" +string m44s1001 "dns_resolve failed" +string m44s1002 "bytes_to_string_utf8 failed" +string m44s1003 "bytes_substring_utf8 failed" +string m44s1004 "file_read failed" +string m44s1005 "tcp_read failed" +string m44s1006 "process_read failed" +string m44s1007 "process_read_err failed" +string m44s1008 "read_file_bytes failed" +string m44s1009 "b64_decode failed" +string m44s1010 "from_hex failed" +string m44s1011 "file_read_bytes failed" +string m44s1012 "tcp_read_bytes failed" +string m44s1013 "process_read_bytes failed" +string m44s1014 "process_read_err_bytes failed" +string m44s1015 "crypto_x25519_public_key failed" +string m44s1016 "crypto_x25519_shared_secret failed" +string m44s1017 "crypto_aes_128_gcm_seal failed" +string m44s1018 "crypto_aes_128_gcm_open failed" +string m44s1019 "crypto_chacha20_poly1305_seal failed" +string m44s1020 "crypto_chacha20_poly1305_open failed" +string m44s1021 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m44s1022 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" +string m44s1023 "crypto_sign_ed25519_pkcs8 failed" +string m44s1024 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" +string m44s1025 "crypto_blake2b failed" +string m44s1026 "crypto_argon2id failed" +string m44s1027 "zstd_compress failed" +string m44s1028 "zstd_decompress failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -125155,22 +124594,22 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_294 11 -store __for_len_294 10 -store __for_iter_294 9 +store __for_idx_293 11 +store __for_len_293 10 +store __for_iter_293 9 label L31 -load 12 __for_idx_294 -load 13 __for_len_294 +load 12 __for_idx_293 +load 13 __for_len_293 lt 14 12 13 brif 14 L32 L34 label L32 -load 15 __for_iter_294 -load 16 __for_idx_294 +load 15 __for_iter_293 +load 16 __for_idx_293 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_294_child 17 -load 18 __for_idx_294 -store __loopvar_294_i 18 -load 19 __loopvar_294_i +store __loopvar_293_child 17 +load 18 __for_idx_293 +store __loopvar_293_i 18 +load 19 __loopvar_293_i load 20 start_idx lt 21 19 20 brif 21 L36 L37 @@ -125178,7 +124617,7 @@ label L36 jmp L33 label L37 label L35 -load 22 __loopvar_294_child +load 22 __loopvar_293_child call 23 ast_node_kind string 1 22 strref 24 m44s63 call 25 pith_cstring_eq bool 2 23 24 @@ -125187,7 +124626,7 @@ call 27 pith_cstring_release void 1 24 brif 25 L39 L40 label L39 load 28 cn -load 29 __loopvar_294_child +load 29 __loopvar_293_child call 30 ast_get_node struct:Node 1 29 call 31 pith_struct_release void 1 28 store cn 30 @@ -125211,15 +124650,15 @@ label L41 jmp L38 label L40 load 44 arg_regs -load 45 __loopvar_294_child +load 45 __loopvar_293_child call 46 emit_expr int 1 45 call 47 pith_list_push_value void 2 44 46 label L38 label L33 -load 48 __for_idx_294 +load 48 __for_idx_293 iconst 49 1 add 50 48 49 -store __for_idx_294 50 +store __for_idx_293 50 jmp L31 label L34 load 51 arg_regs @@ -125242,22 +124681,22 @@ load 3 node field 4 3 16 list children call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_295 6 -store __for_len_295 5 -store __for_iter_295 4 +store __for_idx_294 6 +store __for_len_294 5 +store __for_iter_294 4 label L44 -load 7 __for_idx_295 -load 8 __for_len_295 +load 7 __for_idx_294 +load 8 __for_len_294 lt 9 7 8 brif 9 L45 L47 label L45 -load 10 __for_iter_295 -load 11 __for_idx_295 +load 10 __for_iter_294 +load 11 __for_idx_294 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_295_child 12 -load 13 __for_idx_295 -store __loopvar_295_i 13 -load 14 __loopvar_295_i +store __loopvar_294_child 12 +load 13 __for_idx_294 +store __loopvar_294_i 13 +load 14 __loopvar_294_i load 15 start_idx lt 16 14 15 brif 16 L49 L50 @@ -125265,7 +124704,7 @@ label L49 jmp L46 label L50 label L48 -load 17 __loopvar_295_child +load 17 __loopvar_294_child call 18 ast_node_kind string 1 17 strref 19 m44s63 call 20 pith_cstring_eq bool 2 18 19 @@ -125274,7 +124713,7 @@ call 22 pith_cstring_release void 1 19 brif 20 L52 L53 label L52 load 23 cn -load 24 __loopvar_295_child +load 24 __loopvar_294_child call 25 ast_get_node struct:Node 1 24 call 26 pith_struct_release void 1 23 store cn 25 @@ -125297,15 +124736,15 @@ label L54 jmp L46 label L53 label L51 -load 38 __loopvar_295_child +load 38 __loopvar_294_child load 39 cn call 40 pith_struct_release void 1 39 ret 38 label L46 -load 41 __for_idx_295 +load 41 __for_idx_294 iconst 42 1 add 43 41 42 -store __for_idx_295 43 +store __for_idx_294 43 jmp L44 label L47 iconst 44 0 @@ -125327,8 +124766,8 @@ load 3 field_tid call 4 ir_result_abi_ir_emit_json_field_ok int 2 2 3 store ok_r 4 call 5 ir_builder_ir_reg int 0 -strref 6 m44s737 -strref 7 m44s733 +strref 6 m44s738 +strref 7 m44s734 load 8 result_r call 9 ir_call_emit_ir_emit_call1 void 4 5 6 7 8 call 10 pith_cstring_release void 1 6 @@ -125348,8 +124787,8 @@ call 5 ir_result_abi_ir_emit_result_value_field int 3 2 3 4 call 6 pith_cstring_release void 1 4 store ok_r 5 call 7 ir_builder_ir_reg int 0 -strref 8 m44s737 -strref 9 m44s733 +strref 8 m44s738 +strref 9 m44s734 load 10 result_r call 11 ir_call_emit_ir_emit_call1 void 4 7 8 9 10 call 12 pith_cstring_release void 1 8 @@ -125367,8 +124806,8 @@ load 3 type_name call 4 ir_alias_registry_ir_emit_result_ok_field_typed int 2 2 3 store ok_r 4 call 5 ir_builder_ir_reg int 0 -strref 6 m44s737 -strref 7 m44s733 +strref 6 m44s738 +strref 7 m44s734 load 8 result_r call 9 ir_call_emit_ir_emit_call1 void 4 5 6 7 8 call 10 pith_cstring_release void 1 6 @@ -125389,20 +124828,20 @@ call 4 ir_builder_ir_reg int 0 store node_r 4 load 5 node_r load 6 mark_node_id_name -strref 7 m44s666 +strref 7 m44s667 call 8 ir_call_emit_ir_emit_call0 void 3 5 6 7 call 9 pith_cstring_release void 1 7 load 10 node_var -strref 11 m44s950 +strref 11 m44s951 call 12 ir_builder_ir_new_temp_name string 1 11 call 13 pith_cstring_release void 1 11 call 14 pith_cstring_release void 1 10 store node_var 12 load 15 ir_builder_ir_var_types load 16 node_var -strref 17 m44s666 +strref 17 m44s667 call 18 pith_map_insert_cstr_owned void 3 15 16 17 -strref 19 m44s755 +strref 19 m44s756 load 20 node_var concat 21 19 20 call 22 pith_cstring_release void 1 19 @@ -125421,20 +124860,20 @@ call 34 ir_builder_ir_reg int 0 store array_r 34 load 35 array_r load 36 mark_array_len_name -strref 37 m44s666 +strref 37 m44s667 call 38 ir_call_emit_ir_emit_call0 void 3 35 36 37 call 39 pith_cstring_release void 1 37 load 40 array_var -strref 41 m44s949 +strref 41 m44s950 call 42 ir_builder_ir_new_temp_name string 1 41 call 43 pith_cstring_release void 1 41 call 44 pith_cstring_release void 1 40 store array_var 42 load 45 ir_builder_ir_var_types load 46 array_var -strref 47 m44s666 +strref 47 m44s667 call 48 pith_map_insert_cstr_owned void 3 45 46 47 -strref 49 m44s755 +strref 49 m44s756 load 50 array_var concat 51 49 50 call 52 pith_cstring_release void 1 49 @@ -125476,7 +124915,7 @@ param mark param restore_name call 2 ir_builder_ir_reg int 0 store node_r 2 -strref 3 m44s753 +strref 3 m44s754 load 4 node_r call 5 int_to_string string 1 4 concat 6 3 5 @@ -125494,7 +124933,7 @@ call 17 ir_builder_ir_emit void 1 15 call 18 pith_cstring_release void 1 15 call 19 ir_builder_ir_reg int 0 store array_r 19 -strref 20 m44s753 +strref 20 m44s754 load 21 array_r call 22 int_to_string string 1 21 concat 23 20 22 @@ -125512,7 +124951,7 @@ call 34 ir_builder_ir_emit void 1 32 call 35 pith_cstring_release void 1 32 call 36 ir_builder_ir_reg int 0 load 37 restore_name -strref 38 m44s733 +strref 38 m44s734 load 39 node_r load 40 array_r call 41 ir_call_emit_ir_emit_call2 void 5 36 37 38 39 40 @@ -125534,20 +124973,20 @@ call 6 ir_builder_ir_reg int 0 store node_r 6 load 7 node_r load 8 mark_node_id_name -strref 9 m44s666 +strref 9 m44s667 call 10 ir_call_emit_ir_emit_call0 void 3 7 8 9 call 11 pith_cstring_release void 1 9 load 12 node_var -strref 13 m44s948 +strref 13 m44s949 call 14 ir_builder_ir_new_temp_name string 1 13 call 15 pith_cstring_release void 1 13 call 16 pith_cstring_release void 1 12 store node_var 14 load 17 ir_builder_ir_var_types load 18 node_var -strref 19 m44s666 +strref 19 m44s667 call 20 pith_map_insert_cstr_owned void 3 17 18 19 -strref 21 m44s755 +strref 21 m44s756 load 22 node_var concat 23 21 22 call 24 pith_cstring_release void 1 21 @@ -125566,20 +125005,20 @@ call 36 ir_builder_ir_reg int 0 store table_r 36 load 37 table_r load 38 mark_table_len_name -strref 39 m44s666 +strref 39 m44s667 call 40 ir_call_emit_ir_emit_call0 void 3 37 38 39 call 41 pith_cstring_release void 1 39 load 42 table_var -strref 43 m44s947 +strref 43 m44s948 call 44 ir_builder_ir_new_temp_name string 1 43 call 45 pith_cstring_release void 1 43 call 46 pith_cstring_release void 1 42 store table_var 44 load 47 ir_builder_ir_var_types load 48 table_var -strref 49 m44s666 +strref 49 m44s667 call 50 pith_map_insert_cstr_owned void 3 47 48 49 -strref 51 m44s755 +strref 51 m44s756 load 52 table_var concat 53 51 52 call 54 pith_cstring_release void 1 51 @@ -125598,20 +125037,20 @@ call 66 ir_builder_ir_reg int 0 store array_r 66 load 67 array_r load 68 mark_array_len_name -strref 69 m44s666 +strref 69 m44s667 call 70 ir_call_emit_ir_emit_call0 void 3 67 68 69 call 71 pith_cstring_release void 1 69 load 72 array_var -strref 73 m44s946 +strref 73 m44s947 call 74 ir_builder_ir_new_temp_name string 1 73 call 75 pith_cstring_release void 1 73 call 76 pith_cstring_release void 1 72 store array_var 74 load 77 ir_builder_ir_var_types load 78 array_var -strref 79 m44s666 +strref 79 m44s667 call 80 pith_map_insert_cstr_owned void 3 77 78 79 -strref 81 m44s755 +strref 81 m44s756 load 82 array_var concat 83 81 82 call 84 pith_cstring_release void 1 81 @@ -125660,7 +125099,7 @@ param mark param restore_name call 2 ir_builder_ir_reg int 0 store node_r 2 -strref 3 m44s753 +strref 3 m44s754 load 4 node_r call 5 int_to_string string 1 4 concat 6 3 5 @@ -125678,7 +125117,7 @@ call 17 ir_builder_ir_emit void 1 15 call 18 pith_cstring_release void 1 15 call 19 ir_builder_ir_reg int 0 store table_r 19 -strref 20 m44s753 +strref 20 m44s754 load 21 table_r call 22 int_to_string string 1 21 concat 23 20 22 @@ -125696,7 +125135,7 @@ call 34 ir_builder_ir_emit void 1 32 call 35 pith_cstring_release void 1 32 call 36 ir_builder_ir_reg int 0 store array_r 36 -strref 37 m44s753 +strref 37 m44s754 load 38 array_r call 39 int_to_string string 1 38 concat 40 37 39 @@ -125714,7 +125153,7 @@ call 51 ir_builder_ir_emit void 1 49 call 52 pith_cstring_release void 1 49 call 53 ir_builder_ir_reg int 0 load 54 restore_name -strref 55 m44s733 +strref 55 m44s734 load 56 node_r load 57 table_r load 58 array_r @@ -125809,7 +125248,7 @@ call 45 pith_cstring_release void 1 42 load 46 child_handle_r call 47 ir_decode_emit_ir_emit_decode_result_call1 void 3 35 43 46 call 48 pith_cstring_release void 1 43 -strref 49 m44s755 +strref 49 m44s756 load 50 temp_name concat 51 49 50 call 52 pith_cstring_release void 1 49 @@ -125828,7 +125267,7 @@ load 64 done_l call 65 ir_call_emit_ir_emit_label void 1 64 call 66 ir_builder_ir_reg int 0 store result_r 66 -strref 67 m44s753 +strref 67 m44s754 load 68 result_r call 69 int_to_string string 1 68 concat 70 67 69 @@ -125865,10 +125304,10 @@ iconst 4 0 store decode_name 4 load 5 decode_name load 6 index_idx -strref 7 m44s692 +strref 7 m44s693 call 8 ir_alias_registry_ir_resolve_json_call_name string 2 6 7 call 9 pith_cstring_release void 1 7 -strref 10 m44s692 +strref 10 m44s693 call 11 ir_generics_ir_generic_preferred_name string 2 8 10 call 12 pith_cstring_release void 1 8 call 13 pith_cstring_release void 1 10 @@ -125878,11 +125317,11 @@ load 15 parent_handle_r load 16 key_r load 17 target_tid load 18 index_idx -strref 19 m44s860 +strref 19 m44s861 call 20 ir_alias_registry_ir_resolve_json_call_name string 2 18 19 call 21 pith_cstring_release void 1 19 load 22 decode_name -strref 23 m44s888 +strref 23 m44s889 call 24 ir_decode_emit_ir_emit_nested_decode_path int 6 15 16 17 20 22 23 call 25 pith_cstring_release void 1 20 call 26 pith_cstring_release void 1 23 @@ -125998,11 +125437,11 @@ load 15 handle_r load 16 key_r load 17 target_tid load 18 index_idx -strref 19 m44s897 +strref 19 m44s898 call 20 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 18 19 call 21 pith_cstring_release void 1 19 load 22 decode_name -strref 23 m44s945 +strref 23 m44s946 call 24 ir_decode_emit_ir_emit_nested_decode_path int 6 15 16 17 20 22 23 call 25 pith_cstring_release void 1 20 call 26 pith_cstring_release void 1 23 @@ -126032,11 +125471,11 @@ load 11 handle_r load 12 key_r load 13 target_tid load 14 module_path -strref 15 m44s897 +strref 15 m44s898 call 16 ir_generics_ir_resolve_generic_module_call_name string 2 14 15 call 17 pith_cstring_release void 1 15 load 18 decode_name -strref 19 m44s945 +strref 19 m44s946 call 20 ir_decode_emit_ir_emit_nested_decode_path int 6 11 12 13 16 18 19 call 21 pith_cstring_release void 1 16 call 22 pith_cstring_release void 1 19 @@ -126054,7 +125493,7 @@ param prefix_r param index_idx call 3 ir_builder_ir_reg int 0 store key_r 3 -strref 4 m44s758 +strref 4 m44s759 load 5 key_r call 6 int_to_string string 1 5 concat 7 4 6 @@ -126084,7 +125523,7 @@ call 25 ir_builder_ir_reg int 0 store full_key_r 25 load 26 full_key_r load 27 index_idx -strref 28 m44s944 +strref 28 m44s945 call 29 ir_alias_registry_ir_resolve_config_call_name string 2 27 28 call 30 pith_cstring_release void 1 28 strref 31 m44s24 @@ -126103,7 +125542,7 @@ param field_name param prefix_r call 2 ir_builder_ir_reg int 0 store key_r 2 -strref 3 m44s758 +strref 3 m44s759 load 4 key_r call 5 int_to_string string 1 4 concat 6 3 5 @@ -126132,7 +125571,7 @@ label L60 call 24 ir_builder_ir_reg int 0 store full_key_r 24 load 25 full_key_r -strref 26 m44s943 +strref 26 m44s944 strref 27 m44s24 load 28 prefix_r load 29 key_r @@ -126177,7 +125616,7 @@ load 20 ir_builder_ir_var_types load 21 field_temp load 22 temp_type call 23 map_insert void 3 20 21 22 -strref 24 m44s756 +strref 24 m44s757 load 25 has_r call 26 int_to_string string 1 25 concat 27 24 26 @@ -126236,7 +125675,7 @@ ret 74 endfunc func ir_decode_emit_ir_decode_field_present 1 void param branch -strref 1 m44s763 +strref 1 m44s764 load 2 branch field 3 2 16 string merge_l concat 4 1 3 @@ -126252,7 +125691,7 @@ endfunc func ir_decode_emit_ir_decode_field_store_and_merge 2 void param branch param value_r -strref 2 m44s755 +strref 2 m44s756 load 3 branch field 4 3 0 string field_temp concat 5 2 4 @@ -126268,7 +125707,7 @@ call 14 pith_cstring_release void 1 8 call 15 pith_cstring_release void 1 12 call 16 ir_builder_ir_emit void 1 13 call 17 pith_cstring_release void 1 13 -strref 18 m44s763 +strref 18 m44s764 load 19 branch field 20 19 16 string merge_l concat 21 18 20 @@ -126285,7 +125724,7 @@ field 2 1 16 string merge_l call 3 ir_call_emit_ir_emit_label void 1 2 call 4 ir_builder_ir_reg int 0 store loaded_r 4 -strref 5 m44s753 +strref 5 m44s754 load 6 loaded_r call 7 int_to_string string 1 6 concat 8 5 7 @@ -126369,8 +125808,8 @@ store branch 5 call 6 ir_builder_ir_reg int 0 store has_r 6 load 7 has_r -strref 8 m44s941 -strref 9 m44s662 +strref 8 m44s942 +strref 9 m44s663 load 10 cfg_r load 11 full_key_r call 12 ir_call_emit_ir_emit_call2 void 5 7 8 9 10 11 @@ -126378,7 +125817,7 @@ call 13 pith_cstring_release void 1 8 call 14 pith_cstring_release void 1 9 load 15 branch load 16 has_r -strref 17 m44s942 +strref 17 m44s943 strref 18 m44s45 call 19 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 16 17 18 call 20 pith_cstring_release void 1 17 @@ -126456,8 +125895,8 @@ label L66 call 24 ir_builder_ir_reg int 0 store has_r 24 load 25 has_r -strref 26 m44s941 -strref 27 m44s662 +strref 26 m44s942 +strref 27 m44s663 load 28 cfg_r load 29 full_key_r call 30 ir_call_emit_ir_emit_call2 void 5 25 26 27 28 29 @@ -126465,7 +125904,7 @@ call 31 pith_cstring_release void 1 26 call 32 pith_cstring_release void 1 27 load 33 branch load 34 has_r -strref 35 m44s940 +strref 35 m44s941 load 36 field_tid call 37 ir_type_helpers_ir_type_from_tid string 1 36 call 38 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 34 35 37 @@ -126545,8 +125984,8 @@ label L69 call 24 ir_builder_ir_reg int 0 store has_r 24 load 25 has_r -strref 26 m44s938 -strref 27 m44s662 +strref 26 m44s939 +strref 27 m44s663 load 28 cfg_r load 29 full_key_r call 30 ir_call_emit_ir_emit_call2 void 5 25 26 27 28 29 @@ -126554,7 +125993,7 @@ call 31 pith_cstring_release void 1 26 call 32 pith_cstring_release void 1 27 load 33 branch load 34 has_r -strref 35 m44s939 +strref 35 m44s940 strref 36 m44s45 call 37 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 34 35 36 call 38 pith_cstring_release void 1 35 @@ -126666,8 +126105,8 @@ label L75 call 45 ir_builder_ir_reg int 0 store has_r 45 load 46 has_r -strref 47 m44s938 -strref 48 m44s662 +strref 47 m44s939 +strref 48 m44s663 load 49 cfg_r load 50 full_key_r call 51 ir_call_emit_ir_emit_call2 void 5 46 47 48 49 50 @@ -126675,7 +126114,7 @@ call 52 pith_cstring_release void 1 47 call 53 pith_cstring_release void 1 48 load 54 branch load 55 has_r -strref 56 m44s937 +strref 56 m44s938 load 57 field_tid call 58 ir_type_helpers_ir_type_from_tid string 1 57 call 59 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 55 56 58 @@ -126869,13 +126308,13 @@ call 42 pith_struct_release void 1 39 store struct_info 41 call 43 ir_builder_ir_reg int 0 store cfg_r 43 -strref 44 m44s753 +strref 44 m44s754 load 45 cfg_r call 46 int_to_string string 1 45 concat 47 44 46 call 48 pith_cstring_release void 1 44 call 49 pith_cstring_release void 1 46 -strref 50 m44s936 +strref 50 m44s937 concat 51 47 50 call 52 pith_cstring_release void 1 47 call 53 pith_cstring_release void 1 50 @@ -126890,13 +126329,13 @@ brif 59 L97 L98 label L97 call 60 ir_builder_ir_reg int 0 store prefix_r 60 -strref 61 m44s753 +strref 61 m44s754 load 62 prefix_r call 63 int_to_string string 1 62 concat 64 61 63 call 65 pith_cstring_release void 1 61 call 66 pith_cstring_release void 1 63 -strref 67 m44s935 +strref 67 m44s936 concat 68 64 67 call 69 pith_cstring_release void 1 64 call 70 pith_cstring_release void 1 67 @@ -126979,7 +126418,7 @@ store i 127 jmp L99 label L101 load 128 field_regs -strref 129 m44s775 +strref 129 m44s776 load 130 struct_name concat 131 129 130 call 132 pith_cstring_release void 1 129 @@ -127019,22 +126458,22 @@ load 14 target_info field 15 14 16 list_string fields call 16 pith_auto_len int 1 15 iconst 17 0 -store __for_idx_296 17 -store __for_len_296 16 -store __for_iter_296 15 +store __for_idx_295 17 +store __for_len_295 16 +store __for_iter_295 15 label L105 -load 18 __for_idx_296 -load 19 __for_len_296 +load 18 __for_idx_295 +load 19 __for_len_295 lt 20 18 19 brif 20 L106 L108 label L106 -load 21 __for_iter_296 -load 22 __for_idx_296 +load 21 __for_iter_295 +load 22 __for_idx_295 call 23 pith_list_get_value_unchecked string 2 21 22 -store __loopvar_296_field_name 23 -load 24 __for_idx_296 -store __loopvar_296_i 24 -load 25 __loopvar_296_i +store __loopvar_295_field_name 23 +load 24 __for_idx_295 +store __loopvar_295_i 24 +load 25 __loopvar_295_i load 26 target_info field 27 26 24 list field_types call 28 pith_list_len int 1 27 @@ -127046,22 +126485,22 @@ label L111 label L109 load 30 target_info field 31 30 8 string name -load 32 __loopvar_296_i +load 32 __loopvar_295_i load 33 target_info field 34 33 24 list field_types -load 35 __loopvar_296_i +load 35 __loopvar_295_i call 36 pith_list_get_value_strict int 2 34 35 call 37 ir_alias_registry_ir_struct_field_tid_at int 3 31 32 36 store field_tid 37 load 38 target_info field 39 38 8 string name -load 40 __loopvar_296_field_name +load 40 __loopvar_295_field_name call 41 ir_struct_registry_ir_struct_field_default_node int 2 39 40 store default_idx 41 load 42 field_tid call 43 ir_decode_calls_ir_optional_inner_tid int 1 42 store optional_inner_tid 43 -load 44 __loopvar_296_field_name +load 44 __loopvar_295_field_name load 45 prefix_r load 46 index_idx call 47 ir_decode_emit_ir_emit_config_field_key int 3 44 45 46 @@ -127090,10 +126529,10 @@ call 59 ir_builder_ir_reg int 0 store has_r 59 load 60 has_r load 61 index_idx -strref 62 m44s933 +strref 62 m44s934 call 63 ir_alias_registry_ir_resolve_config_call_name string 2 61 62 call 64 pith_cstring_release void 1 62 -strref 65 m44s662 +strref 65 m44s663 load 66 cfg_r load 67 full_key_r call 68 ir_call_emit_ir_emit_call2 void 5 60 63 65 66 67 @@ -127101,7 +126540,7 @@ call 69 pith_cstring_release void 1 63 call 70 pith_cstring_release void 1 65 load 71 branch load 72 has_r -strref 73 m44s934 +strref 73 m44s935 strref 74 m44s45 call 75 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 72 73 74 call 76 pith_cstring_release void 1 73 @@ -127154,10 +126593,10 @@ call 112 ir_builder_ir_reg int 0 store has_r 112 load 113 has_r load 114 index_idx -strref 115 m44s933 +strref 115 m44s934 call 116 ir_alias_registry_ir_resolve_config_call_name string 2 114 115 call 117 pith_cstring_release void 1 115 -strref 118 m44s662 +strref 118 m44s663 load 119 cfg_r load 120 full_key_r call 121 ir_call_emit_ir_emit_call2 void 5 113 116 118 119 120 @@ -127165,7 +126604,7 @@ call 122 pith_cstring_release void 1 116 call 123 pith_cstring_release void 1 118 load 124 branch load 125 has_r -strref 126 m44s932 +strref 126 m44s933 load 127 field_tid call 128 ir_type_helpers_ir_type_from_tid string 1 127 call 129 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 125 126 128 @@ -127245,10 +126684,10 @@ call 185 ir_builder_ir_reg int 0 store has_r 185 load 186 has_r load 187 index_idx -strref 188 m44s914 +strref 188 m44s915 call 189 ir_alias_registry_ir_resolve_config_call_name string 2 187 188 call 190 pith_cstring_release void 1 188 -strref 191 m44s662 +strref 191 m44s663 load 192 cfg_r load 193 full_key_r call 194 ir_call_emit_ir_emit_call2 void 5 186 189 191 192 193 @@ -127256,7 +126695,7 @@ call 195 pith_cstring_release void 1 189 call 196 pith_cstring_release void 1 191 load 197 branch load 198 has_r -strref 199 m44s931 +strref 199 m44s932 strref 200 m44s45 call 201 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 198 199 200 call 202 pith_cstring_release void 1 199 @@ -127319,10 +126758,10 @@ call 245 ir_builder_ir_reg int 0 store has_r 245 load 246 has_r load 247 index_idx -strref 248 m44s914 +strref 248 m44s915 call 249 ir_alias_registry_ir_resolve_config_call_name string 2 247 248 call 250 pith_cstring_release void 1 248 -strref 251 m44s662 +strref 251 m44s663 load 252 cfg_r load 253 full_key_r call 254 ir_call_emit_ir_emit_call2 void 5 246 249 251 252 253 @@ -127330,7 +126769,7 @@ call 255 pith_cstring_release void 1 249 call 256 pith_cstring_release void 1 251 load 257 branch load 258 has_r -strref 259 m44s930 +strref 259 m44s931 load 260 field_tid call 261 ir_type_helpers_ir_type_from_tid string 1 260 call 262 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 258 259 261 @@ -127390,14 +126829,14 @@ load 309 field_tid call 310 ir_decode_emit_ir_take_json_ok int 2 308 309 call 311 pith_list_push_value void 2 307 310 label L107 -load 312 __for_idx_296 +load 312 __for_idx_295 iconst 313 1 add 314 312 313 -store __for_idx_296 314 +store __for_idx_295 314 jmp L105 label L108 load 315 field_regs -strref 316 m44s775 +strref 316 m44s776 load 317 target_info field 318 317 8 string name concat 319 316 318 @@ -127427,10 +126866,10 @@ call 7 ir_builder_ir_reg int 0 store has_r 7 load 8 has_r load 9 module_path -strref 10 m44s914 +strref 10 m44s915 call 11 ir_generics_ir_resolve_generic_module_call_name string 2 9 10 call 12 pith_cstring_release void 1 10 -strref 13 m44s662 +strref 13 m44s663 load 14 handle_r load 15 key_r call 16 ir_call_emit_ir_emit_call2 void 5 8 11 13 14 15 @@ -127438,7 +126877,7 @@ call 17 pith_cstring_release void 1 11 call 18 pith_cstring_release void 1 13 load 19 branch load 20 has_r -strref 21 m44s929 +strref 21 m44s930 strref 22 m44s45 call 23 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 20 21 22 call 24 pith_cstring_release void 1 21 @@ -127520,10 +126959,10 @@ call 26 ir_builder_ir_reg int 0 store has_r 26 load 27 has_r load 28 module_path -strref 29 m44s914 +strref 29 m44s915 call 30 ir_generics_ir_resolve_generic_module_call_name string 2 28 29 call 31 pith_cstring_release void 1 29 -strref 32 m44s662 +strref 32 m44s663 load 33 handle_r load 34 key_r call 35 ir_call_emit_ir_emit_call2 void 5 27 30 32 33 34 @@ -127531,7 +126970,7 @@ call 36 pith_cstring_release void 1 30 call 37 pith_cstring_release void 1 32 load 38 branch load 39 has_r -strref 40 m44s928 +strref 40 m44s929 load 41 field_tid call 42 ir_type_helpers_ir_type_from_tid string 1 41 call 43 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 39 40 42 @@ -127615,10 +127054,10 @@ call 26 ir_builder_ir_reg int 0 store has_r 26 load 27 has_r load 28 module_path -strref 29 m44s914 +strref 29 m44s915 call 30 ir_generics_ir_resolve_generic_module_call_name string 2 28 29 call 31 pith_cstring_release void 1 29 -strref 32 m44s662 +strref 32 m44s663 load 33 handle_r load 34 key_r call 35 ir_call_emit_ir_emit_call2 void 5 27 30 32 33 34 @@ -127626,7 +127065,7 @@ call 36 pith_cstring_release void 1 30 call 37 pith_cstring_release void 1 32 load 38 branch load 39 has_r -strref 40 m44s927 +strref 40 m44s928 strref 41 m44s45 call 42 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 39 40 41 call 43 pith_cstring_release void 1 40 @@ -127741,10 +127180,10 @@ call 47 ir_builder_ir_reg int 0 store has_r 47 load 48 has_r load 49 module_path -strref 50 m44s914 +strref 50 m44s915 call 51 ir_generics_ir_resolve_generic_module_call_name string 2 49 50 call 52 pith_cstring_release void 1 50 -strref 53 m44s662 +strref 53 m44s663 load 54 handle_r load 55 key_r call 56 ir_call_emit_ir_emit_call2 void 5 48 51 53 54 55 @@ -127752,7 +127191,7 @@ call 57 pith_cstring_release void 1 51 call 58 pith_cstring_release void 1 53 load 59 branch load 60 has_r -strref 61 m44s926 +strref 61 m44s927 load 62 field_tid call 63 ir_type_helpers_ir_type_from_tid string 1 62 call 64 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 60 61 63 @@ -127810,7 +127249,7 @@ param emit_value param emit_default_ret call 8 ir_builder_ir_reg int 0 store key_r 8 -strref 9 m44s758 +strref 9 m44s759 load 10 key_r call 11 int_to_string string 1 10 concat 12 9 11 @@ -127936,7 +127375,7 @@ label L162 label L160 call 22 ir_builder_ir_reg int 0 store handle_r 22 -strref 23 m44s753 +strref 23 m44s754 load 24 handle_r call 25 int_to_string string 1 24 concat 26 23 25 @@ -128022,7 +127461,7 @@ store i 89 jmp L163 label L165 load 90 field_regs -strref 91 m44s775 +strref 91 m44s776 load 92 struct_name concat 93 91 92 call 94 pith_cstring_release void 1 91 @@ -128045,7 +127484,7 @@ param emit_value param emit_default_ret load 5 struct_name load 6 module_path -strref 7 m44s686 +strref 7 m44s687 load 8 emit_expr load 9 emit_value load 10 emit_default_ret @@ -128062,13 +127501,13 @@ param emit_value param emit_default_ret call 5 ir_builder_ir_reg int 0 store handle_r 5 -strref 6 m44s753 +strref 6 m44s754 load 7 handle_r call 8 int_to_string string 1 7 concat 9 6 8 call 10 pith_cstring_release void 1 6 call 11 pith_cstring_release void 1 8 -strref 12 m44s879 +strref 12 m44s880 concat 13 9 12 call 14 pith_cstring_release void 1 9 call 15 pith_cstring_release void 1 12 @@ -128076,13 +127515,13 @@ call 16 ir_builder_ir_emit void 1 13 call 17 pith_cstring_release void 1 13 call 18 ir_builder_ir_reg int 0 store dotted_path_r 18 -strref 19 m44s753 +strref 19 m44s754 load 20 dotted_path_r call 21 int_to_string string 1 20 concat 22 19 21 call 23 pith_cstring_release void 1 19 call 24 pith_cstring_release void 1 21 -strref 25 m44s878 +strref 25 m44s879 concat 26 22 25 call 27 pith_cstring_release void 1 22 call 28 pith_cstring_release void 1 25 @@ -128091,13 +127530,13 @@ call 30 pith_cstring_release void 1 26 load 31 handle_r load 32 dotted_path_r load 33 module_path -strref 34 m44s897 +strref 34 m44s898 call 35 ir_generics_ir_resolve_generic_module_call_name string 2 33 34 call 36 pith_cstring_release void 1 34 -strref 37 m44s922 -strref 38 m44s925 -strref 39 m44s924 -strref 40 m44s923 +strref 37 m44s923 +strref 38 m44s926 +strref 39 m44s925 +strref 40 m44s924 call 41 ir_path_helpers_ir_emit_dotted_path_lookup_or_return int 7 31 32 35 37 38 39 40 call 42 pith_cstring_release void 1 35 call 43 pith_cstring_release void 1 37 @@ -128106,7 +127545,7 @@ call 45 pith_cstring_release void 1 39 call 46 pith_cstring_release void 1 40 load 47 struct_name load 48 module_path -strref 49 m44s922 +strref 49 m44s923 load 50 emit_expr load 51 emit_value load 52 emit_default_ret @@ -128132,20 +127571,20 @@ iconst 8 0 store decode_name 8 call 9 ir_builder_ir_reg int 0 store input_r 9 -strref 10 m44s753 +strref 10 m44s754 load 11 input_r call 12 int_to_string string 1 11 concat 13 10 12 call 14 pith_cstring_release void 1 10 call 15 pith_cstring_release void 1 12 -strref 16 m44s882 +strref 16 m44s883 concat 17 13 16 call 18 pith_cstring_release void 1 13 call 19 pith_cstring_release void 1 16 call 20 ir_builder_ir_emit void 1 17 call 21 pith_cstring_release void 1 17 load 22 temp_name -strref 23 m44s921 +strref 23 m44s922 call 24 ir_builder_ir_new_temp_name string 1 23 call 25 pith_cstring_release void 1 23 call 26 pith_cstring_release void 1 22 @@ -128160,15 +127599,15 @@ call 33 pith_cstring_release void 1 31 store done_l 32 load 34 mark load 35 module_path -strref 36 m44s868 +strref 36 m44s869 call 37 ir_generics_ir_resolve_generic_module_call_name string 2 35 36 call 38 pith_cstring_release void 1 36 load 39 module_path -strref 40 m44s903 +strref 40 m44s904 call 41 ir_generics_ir_resolve_generic_module_call_name string 2 39 40 call 42 pith_cstring_release void 1 40 load 43 module_path -strref 44 m44s867 +strref 44 m44s868 call 45 ir_generics_ir_resolve_generic_module_call_name string 2 43 44 call 46 pith_cstring_release void 1 44 call 47 ir_decode_emit_ir_emit_handle_pool_mark struct:IrHandlePoolMark 3 37 41 45 @@ -128181,7 +127620,7 @@ call 52 ir_builder_ir_reg int 0 store parse_result_r 52 load 53 parse_result_r load 54 module_path -strref 55 m44s910 +strref 55 m44s911 call 56 ir_generics_ir_resolve_generic_module_call_name string 2 54 55 call 57 pith_cstring_release void 1 55 load 58 input_r @@ -128216,7 +127655,7 @@ load 82 decode_result_r load 83 decode_name load 84 root_r call 85 ir_decode_emit_ir_emit_decode_result_call1 void 3 82 83 84 -strref 86 m44s755 +strref 86 m44s756 load 87 temp_name concat 88 86 87 call 89 pith_cstring_release void 1 86 @@ -128235,14 +127674,14 @@ load 101 done_l call 102 ir_call_emit_ir_emit_label void 1 101 load 103 mark load 104 module_path -strref 105 m44s859 +strref 105 m44s860 call 106 ir_generics_ir_resolve_generic_module_call_name string 2 104 105 call 107 pith_cstring_release void 1 105 call 108 ir_decode_emit_ir_emit_handle_pool_restore void 2 103 106 call 109 pith_cstring_release void 1 106 call 110 ir_builder_ir_reg int 0 store r 110 -strref 111 m44s753 +strref 111 m44s754 load 112 r call 113 int_to_string string 1 112 concat 114 111 113 @@ -128257,7 +127696,7 @@ concat 122 118 121 call 123 pith_cstring_release void 1 118 call 124 ir_builder_ir_emit void 1 122 call 125 pith_cstring_release void 1 122 -strref 126 m44s772 +strref 126 m44s773 load 127 r call 128 int_to_string string 1 127 concat 129 126 128 @@ -128265,7 +127704,7 @@ call 130 pith_cstring_release void 1 126 call 131 pith_cstring_release void 1 128 call 132 ir_builder_ir_emit void 1 129 call 133 pith_cstring_release void 1 129 -strref 134 m44s795 +strref 134 m44s796 call 135 ir_builder_ir_emit void 1 134 call 136 pith_cstring_release void 1 134 load 137 temp_name @@ -128298,20 +127737,20 @@ iconst 8 0 store decode_path_name 8 call 9 ir_builder_ir_reg int 0 store input_r 9 -strref 10 m44s753 +strref 10 m44s754 load 11 input_r call 12 int_to_string string 1 11 concat 13 10 12 call 14 pith_cstring_release void 1 10 call 15 pith_cstring_release void 1 12 -strref 16 m44s882 +strref 16 m44s883 concat 17 13 16 call 18 pith_cstring_release void 1 13 call 19 pith_cstring_release void 1 16 call 20 ir_builder_ir_emit void 1 17 call 21 pith_cstring_release void 1 17 load 22 temp_name -strref 23 m44s920 +strref 23 m44s921 call 24 ir_builder_ir_new_temp_name string 1 23 call 25 pith_cstring_release void 1 23 call 26 pith_cstring_release void 1 22 @@ -128326,15 +127765,15 @@ call 33 pith_cstring_release void 1 31 store done_l 32 load 34 mark load 35 module_path -strref 36 m44s868 +strref 36 m44s869 call 37 ir_generics_ir_resolve_generic_module_call_name string 2 35 36 call 38 pith_cstring_release void 1 36 load 39 module_path -strref 40 m44s903 +strref 40 m44s904 call 41 ir_generics_ir_resolve_generic_module_call_name string 2 39 40 call 42 pith_cstring_release void 1 40 load 43 module_path -strref 44 m44s867 +strref 44 m44s868 call 45 ir_generics_ir_resolve_generic_module_call_name string 2 43 44 call 46 pith_cstring_release void 1 44 call 47 ir_decode_emit_ir_emit_handle_pool_mark struct:IrHandlePoolMark 3 37 41 45 @@ -128347,7 +127786,7 @@ call 52 ir_builder_ir_reg int 0 store parse_result_r 52 load 53 parse_result_r load 54 module_path -strref 55 m44s910 +strref 55 m44s911 call 56 ir_generics_ir_resolve_generic_module_call_name string 2 54 55 call 57 pith_cstring_release void 1 55 load 58 input_r @@ -128364,13 +127803,13 @@ call 68 pith_cstring_release void 1 66 store root_r 67 call 69 ir_builder_ir_reg int 0 store path_r 69 -strref 70 m44s753 +strref 70 m44s754 load 71 path_r call 72 int_to_string string 1 71 concat 73 70 72 call 74 pith_cstring_release void 1 70 call 75 pith_cstring_release void 1 72 -strref 76 m44s878 +strref 76 m44s879 concat 77 73 76 call 78 pith_cstring_release void 1 73 call 79 pith_cstring_release void 1 76 @@ -128378,7 +127817,7 @@ call 80 ir_builder_ir_emit void 1 77 call 81 pith_cstring_release void 1 77 load 82 decode_path_base load 83 module_path -strref 84 m44s687 +strref 84 m44s688 call 85 ir_generics_ir_resolve_generic_module_call_name string 2 83 84 call 86 pith_cstring_release void 1 84 call 87 pith_cstring_release void 1 82 @@ -128397,7 +127836,7 @@ load 96 decode_path_name load 97 root_r load 98 path_r call 99 ir_decode_emit_ir_emit_decode_result_call2 void 4 95 96 97 98 -strref 100 m44s755 +strref 100 m44s756 load 101 temp_name concat 102 100 101 call 103 pith_cstring_release void 1 100 @@ -128416,14 +127855,14 @@ load 115 done_l call 116 ir_call_emit_ir_emit_label void 1 115 load 117 mark load 118 module_path -strref 119 m44s859 +strref 119 m44s860 call 120 ir_generics_ir_resolve_generic_module_call_name string 2 118 119 call 121 pith_cstring_release void 1 119 call 122 ir_decode_emit_ir_emit_handle_pool_restore void 2 117 120 call 123 pith_cstring_release void 1 120 call 124 ir_builder_ir_reg int 0 store r 124 -strref 125 m44s753 +strref 125 m44s754 load 126 r call 127 int_to_string string 1 126 concat 128 125 127 @@ -128438,7 +127877,7 @@ concat 136 132 135 call 137 pith_cstring_release void 1 132 call 138 ir_builder_ir_emit void 1 136 call 139 pith_cstring_release void 1 136 -strref 140 m44s772 +strref 140 m44s773 load 141 r call 142 int_to_string string 1 141 concat 143 140 142 @@ -128446,7 +127885,7 @@ call 144 pith_cstring_release void 1 140 call 145 pith_cstring_release void 1 142 call 146 ir_builder_ir_emit void 1 143 call 147 pith_cstring_release void 1 143 -strref 148 m44s795 +strref 148 m44s796 call 149 ir_builder_ir_emit void 1 148 call 150 pith_cstring_release void 1 148 load 151 temp_name @@ -128564,7 +128003,7 @@ call 68 types_get_type_info struct:TypeInfo 1 67 call 69 pith_struct_release void 1 66 store target_info 68 load 70 temp_name -strref 71 m44s919 +strref 71 m44s920 call 72 ir_builder_ir_new_temp_name string 1 71 call 73 pith_cstring_release void 1 71 call 74 pith_cstring_release void 1 70 @@ -128593,7 +128032,7 @@ load 94 done_l call 95 ir_call_emit_ir_emit_label void 1 94 call 96 ir_builder_ir_reg int 0 store r 96 -strref 97 m44s753 +strref 97 m44s754 load 98 r call 99 int_to_string string 1 98 concat 100 97 99 @@ -128732,7 +128171,7 @@ call 69 types_get_type_info struct:TypeInfo 1 68 call 70 pith_struct_release void 1 67 store target_info 69 load 71 temp_name -strref 72 m44s918 +strref 72 m44s919 call 73 ir_builder_ir_new_temp_name string 1 72 call 74 pith_cstring_release void 1 72 call 75 pith_cstring_release void 1 71 @@ -128783,7 +128222,7 @@ load 115 done_l call 116 ir_call_emit_ir_emit_label void 1 115 call 117 ir_builder_ir_reg int 0 store r 117 -strref 118 m44s753 +strref 118 m44s754 load 119 r call 120 int_to_string string 1 119 concat 121 118 120 @@ -128858,22 +128297,22 @@ load 13 target_info field 14 13 16 list_string fields call 15 pith_auto_len int 1 14 iconst 16 0 -store __for_idx_297 16 -store __for_len_297 15 -store __for_iter_297 14 +store __for_idx_296 16 +store __for_len_296 15 +store __for_iter_296 14 label L193 -load 17 __for_idx_297 -load 18 __for_len_297 +load 17 __for_idx_296 +load 18 __for_len_296 lt 19 17 18 brif 19 L194 L196 label L194 -load 20 __for_iter_297 -load 21 __for_idx_297 +load 20 __for_iter_296 +load 21 __for_idx_296 call 22 pith_list_get_value_unchecked string 2 20 21 -store __loopvar_297_field_name 22 -load 23 __for_idx_297 -store __loopvar_297_i 23 -load 24 __loopvar_297_i +store __loopvar_296_field_name 22 +load 23 __for_idx_296 +store __loopvar_296_i 23 +load 24 __loopvar_296_i load 25 target_info field 26 25 24 list field_types call 27 pith_list_len int 1 26 @@ -128885,16 +128324,16 @@ label L199 label L197 load 29 target_info field 30 29 8 string name -load 31 __loopvar_297_i +load 31 __loopvar_296_i load 32 target_info field 33 32 24 list field_types -load 34 __loopvar_297_i +load 34 __loopvar_296_i call 35 pith_list_get_value_strict int 2 33 34 call 36 ir_alias_registry_ir_struct_field_tid_at int 3 30 31 35 store field_tid 36 load 37 target_info field 38 37 8 string name -load 39 __loopvar_297_field_name +load 39 __loopvar_296_field_name call 40 ir_struct_registry_ir_struct_field_default_node int 2 38 39 store default_idx 40 load 41 field_tid @@ -128902,7 +128341,7 @@ call 42 ir_decode_calls_ir_optional_inner_tid int 1 41 store optional_inner_tid 42 call 43 ir_builder_ir_reg int 0 store key_r 43 -strref 44 m44s758 +strref 44 m44s759 load 45 key_r call 46 int_to_string string 1 45 concat 47 44 46 @@ -128912,7 +128351,7 @@ strref 50 m44s17 concat 51 47 50 call 52 pith_cstring_release void 1 47 call 53 pith_cstring_release void 1 50 -load 54 __loopvar_297_field_name +load 54 __loopvar_296_field_name call 55 ir_builder_ir_str string 1 54 concat 56 51 55 call 57 pith_cstring_release void 1 51 @@ -128943,10 +128382,10 @@ call 72 ir_builder_ir_reg int 0 store has_r 72 load 73 has_r load 74 index_idx -strref 75 m44s914 +strref 75 m44s915 call 76 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 74 75 call 77 pith_cstring_release void 1 75 -strref 78 m44s662 +strref 78 m44s663 load 79 handle_r load 80 key_r call 81 ir_call_emit_ir_emit_call2 void 5 73 76 78 79 80 @@ -128954,7 +128393,7 @@ call 82 pith_cstring_release void 1 76 call 83 pith_cstring_release void 1 78 load 84 branch load 85 has_r -strref 86 m44s917 +strref 86 m44s918 strref 87 m44s45 call 88 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 85 86 87 call 89 pith_cstring_release void 1 86 @@ -129007,10 +128446,10 @@ call 125 ir_builder_ir_reg int 0 store has_r 125 load 126 has_r load 127 index_idx -strref 128 m44s914 +strref 128 m44s915 call 129 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 127 128 call 130 pith_cstring_release void 1 128 -strref 131 m44s662 +strref 131 m44s663 load 132 handle_r load 133 key_r call 134 ir_call_emit_ir_emit_call2 void 5 126 129 131 132 133 @@ -129018,7 +128457,7 @@ call 135 pith_cstring_release void 1 129 call 136 pith_cstring_release void 1 131 load 137 branch load 138 has_r -strref 139 m44s916 +strref 139 m44s917 load 140 field_tid call 141 ir_type_helpers_ir_type_from_tid string 1 140 call 142 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 138 139 141 @@ -129098,10 +128537,10 @@ call 198 ir_builder_ir_reg int 0 store has_r 198 load 199 has_r load 200 index_idx -strref 201 m44s914 +strref 201 m44s915 call 202 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 200 201 call 203 pith_cstring_release void 1 201 -strref 204 m44s662 +strref 204 m44s663 load 205 handle_r load 206 key_r call 207 ir_call_emit_ir_emit_call2 void 5 199 202 204 205 206 @@ -129109,7 +128548,7 @@ call 208 pith_cstring_release void 1 202 call 209 pith_cstring_release void 1 204 load 210 branch load 211 has_r -strref 212 m44s915 +strref 212 m44s916 strref 213 m44s45 call 214 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 211 212 213 call 215 pith_cstring_release void 1 212 @@ -129172,10 +128611,10 @@ call 258 ir_builder_ir_reg int 0 store has_r 258 load 259 has_r load 260 index_idx -strref 261 m44s914 +strref 261 m44s915 call 262 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 260 261 call 263 pith_cstring_release void 1 261 -strref 264 m44s662 +strref 264 m44s663 load 265 handle_r load 266 key_r call 267 ir_call_emit_ir_emit_call2 void 5 259 262 264 265 266 @@ -129183,7 +128622,7 @@ call 268 pith_cstring_release void 1 262 call 269 pith_cstring_release void 1 264 load 270 branch load 271 has_r -strref 272 m44s913 +strref 272 m44s914 load 273 field_tid call 274 ir_type_helpers_ir_type_from_tid string 1 273 call 275 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 271 272 274 @@ -129243,14 +128682,14 @@ load 322 field_tid call 323 ir_decode_emit_ir_take_json_ok int 2 321 322 call 324 pith_list_push_value void 2 320 323 label L195 -load 325 __for_idx_297 +load 325 __for_idx_296 iconst 326 1 add 327 325 326 -store __for_idx_297 327 +store __for_idx_296 327 jmp L193 label L196 load 328 field_regs -strref 329 m44s775 +strref 329 m44s776 load 330 target_info field 331 330 8 string name concat 332 329 331 @@ -129343,7 +128782,7 @@ call 53 types_get_type_info struct:TypeInfo 1 52 call 54 pith_struct_release void 1 51 store target_info 53 load 55 temp_name -strref 56 m44s912 +strref 56 m44s913 call 57 ir_builder_ir_new_temp_name string 1 56 call 58 pith_cstring_release void 1 56 call 59 pith_cstring_release void 1 55 @@ -129377,21 +128816,21 @@ load 78 node field 79 78 16 list children iconst 80 0 call 81 pith_list_get_value_strict int 2 79 80 -strref 82 m44s868 +strref 82 m44s869 call 83 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 81 82 call 84 pith_cstring_release void 1 82 load 85 node field 86 85 16 list children iconst 87 0 call 88 pith_list_get_value_strict int 2 86 87 -strref 89 m44s903 +strref 89 m44s904 call 90 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 88 89 call 91 pith_cstring_release void 1 89 load 92 node field 93 92 16 list children iconst 94 0 call 95 pith_list_get_value_strict int 2 93 94 -strref 96 m44s867 +strref 96 m44s868 call 97 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 95 96 call 98 pith_cstring_release void 1 96 call 99 ir_decode_emit_ir_emit_handle_pool_mark struct:IrHandlePoolMark 3 83 90 97 @@ -129407,7 +128846,7 @@ load 106 node field 107 106 16 list children iconst 108 0 call 109 pith_list_get_value_strict int 2 107 108 -strref 110 m44s910 +strref 110 m44s911 call 111 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 109 110 call 112 pith_cstring_release void 1 110 load 113 handle_r @@ -129447,7 +128886,7 @@ load 140 node field 141 140 16 list children iconst 142 0 call 143 pith_list_get_value_strict int 2 141 142 -strref 144 m44s859 +strref 144 m44s860 call 145 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 143 144 call 146 pith_cstring_release void 1 144 call 147 ir_decode_emit_ir_emit_handle_pool_restore void 2 139 145 @@ -129457,7 +128896,7 @@ label L235 label L233 call 149 ir_builder_ir_reg int 0 store r 149 -strref 150 m44s753 +strref 150 m44s754 load 151 r call 152 int_to_string string 1 151 concat 153 150 152 @@ -129601,7 +129040,7 @@ call 76 types_get_type_info struct:TypeInfo 1 75 call 77 pith_struct_release void 1 74 store target_info 76 load 78 temp_name -strref 79 m44s911 +strref 79 m44s912 call 80 ir_builder_ir_new_temp_name string 1 79 call 81 pith_cstring_release void 1 79 call 82 pith_cstring_release void 1 78 @@ -129635,21 +129074,21 @@ load 101 node field 102 101 16 list children iconst 103 0 call 104 pith_list_get_value_strict int 2 102 103 -strref 105 m44s868 +strref 105 m44s869 call 106 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 104 105 call 107 pith_cstring_release void 1 105 load 108 node field 109 108 16 list children iconst 110 0 call 111 pith_list_get_value_strict int 2 109 110 -strref 112 m44s903 +strref 112 m44s904 call 113 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 111 112 call 114 pith_cstring_release void 1 112 load 115 node field 116 115 16 list children iconst 117 0 call 118 pith_list_get_value_strict int 2 116 117 -strref 119 m44s867 +strref 119 m44s868 call 120 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 118 119 call 121 pith_cstring_release void 1 119 call 122 ir_decode_emit_ir_emit_handle_pool_mark struct:IrHandlePoolMark 3 106 113 120 @@ -129665,7 +129104,7 @@ load 129 node field 130 129 16 list children iconst 131 0 call 132 pith_list_get_value_strict int 2 130 131 -strref 133 m44s910 +strref 133 m44s911 call 134 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 132 133 call 135 pith_cstring_release void 1 133 load 136 handle_r @@ -129685,44 +129124,44 @@ jmp L242 label L244 label L242 load 148 current_name -strref 149 m44s909 +strref 149 m44s910 call 150 ir_builder_ir_new_temp_name string 1 149 call 151 pith_cstring_release void 1 149 call 152 pith_cstring_release void 1 148 store current_name 150 load 153 parts_name -strref 154 m44s908 +strref 154 m44s909 call 155 ir_builder_ir_new_temp_name string 1 154 call 156 pith_cstring_release void 1 154 call 157 pith_cstring_release void 1 153 store parts_name 155 load 158 len_name -strref 159 m44s907 +strref 159 m44s908 call 160 ir_builder_ir_new_temp_name string 1 159 call 161 pith_cstring_release void 1 159 call 162 pith_cstring_release void 1 158 store len_name 160 load 163 idx_name -strref 164 m44s906 +strref 164 m44s907 call 165 ir_builder_ir_new_temp_name string 1 164 call 166 pith_cstring_release void 1 164 call 167 pith_cstring_release void 1 163 store idx_name 165 load 168 ir_builder_ir_var_types load 169 current_name -strref 170 m44s666 +strref 170 m44s667 call 171 pith_map_insert_cstr_owned void 3 168 169 170 load 172 ir_builder_ir_var_types load 173 parts_name -strref 174 m44s665 +strref 174 m44s666 call 175 pith_map_insert_cstr_owned void 3 172 173 174 load 176 ir_builder_ir_var_types load 177 len_name -strref 178 m44s666 +strref 178 m44s667 call 179 pith_map_insert_cstr_owned void 3 176 177 178 load 180 ir_builder_ir_var_types load 181 idx_name -strref 182 m44s666 +strref 182 m44s667 call 183 pith_map_insert_cstr_owned void 3 180 181 182 load 184 handle_r load 185 dotted_path_r @@ -129730,7 +129169,7 @@ load 186 node field 187 186 16 list children iconst 188 0 call 189 pith_list_get_value_strict int 2 187 188 -strref 190 m44s897 +strref 190 m44s898 call 191 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 189 190 call 192 pith_cstring_release void 1 190 strref 193 m44s192 @@ -129766,7 +129205,7 @@ load 219 node field 220 219 16 list children iconst 221 0 call 222 pith_list_get_value_strict int 2 220 221 -strref 223 m44s859 +strref 223 m44s860 call 224 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 222 223 call 225 pith_cstring_release void 1 223 call 226 ir_decode_emit_ir_emit_handle_pool_restore void 2 218 224 @@ -129776,7 +129215,7 @@ label L247 label L245 call 228 ir_builder_ir_reg int 0 store r 228 -strref 229 m44s753 +strref 229 m44s754 load 230 r call 231 int_to_string string 1 230 concat 232 229 231 @@ -129937,7 +129376,7 @@ call 76 types_get_type_info struct:TypeInfo 1 75 call 77 pith_struct_release void 1 74 store target_info 76 load 78 temp_name -strref 79 m44s905 +strref 79 m44s906 call 80 ir_builder_ir_new_temp_name string 1 79 call 81 pith_cstring_release void 1 79 call 82 pith_cstring_release void 1 78 @@ -129955,21 +129394,21 @@ load 91 node field 92 91 16 list children iconst 93 0 call 94 pith_list_get_value_strict int 2 92 93 -strref 95 m44s868 +strref 95 m44s869 call 96 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 94 95 call 97 pith_cstring_release void 1 95 load 98 node field 99 98 16 list children iconst 100 0 call 101 pith_list_get_value_strict int 2 99 100 -strref 102 m44s903 +strref 102 m44s904 call 103 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 101 102 call 104 pith_cstring_release void 1 102 load 105 node field 106 105 16 list children iconst 107 0 call 108 pith_list_get_value_strict int 2 106 107 -strref 109 m44s867 +strref 109 m44s868 call 110 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 108 109 call 111 pith_cstring_release void 1 109 call 112 ir_decode_emit_ir_emit_handle_pool_mark struct:IrHandlePoolMark 3 96 103 110 @@ -129985,7 +129424,7 @@ load 119 node field 120 119 16 list children iconst 121 0 call 122 pith_list_get_value_strict int 2 120 121 -strref 123 m44s902 +strref 123 m44s903 call 124 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 122 123 call 125 pith_cstring_release void 1 123 load 126 file_path_r @@ -130019,14 +129458,14 @@ load 152 node field 153 152 16 list children iconst 154 0 call 155 pith_list_get_value_strict int 2 153 154 -strref 156 m44s859 +strref 156 m44s860 call 157 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 155 156 call 158 pith_cstring_release void 1 156 call 159 ir_decode_emit_ir_emit_handle_pool_restore void 2 151 157 call 160 pith_cstring_release void 1 157 call 161 ir_builder_ir_reg int 0 store r 161 -strref 162 m44s753 +strref 162 m44s754 load 163 r call 164 int_to_string string 1 163 concat 165 162 164 @@ -130132,7 +129571,7 @@ call 249 types_get_type_info struct:TypeInfo 1 248 call 250 pith_struct_release void 1 247 store target_info 249 load 251 temp_name -strref 252 m44s904 +strref 252 m44s905 call 253 ir_builder_ir_new_temp_name string 1 252 call 254 pith_cstring_release void 1 252 call 255 pith_cstring_release void 1 251 @@ -130150,21 +129589,21 @@ load 264 node field 265 264 16 list children iconst 266 0 call 267 pith_list_get_value_strict int 2 265 266 -strref 268 m44s868 +strref 268 m44s869 call 269 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 267 268 call 270 pith_cstring_release void 1 268 load 271 node field 272 271 16 list children iconst 273 0 call 274 pith_list_get_value_strict int 2 272 273 -strref 275 m44s903 +strref 275 m44s904 call 276 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 274 275 call 277 pith_cstring_release void 1 275 load 278 node field 279 278 16 list children iconst 280 0 call 281 pith_list_get_value_strict int 2 279 280 -strref 282 m44s867 +strref 282 m44s868 call 283 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 281 282 call 284 pith_cstring_release void 1 282 call 285 ir_decode_emit_ir_emit_handle_pool_mark struct:IrHandlePoolMark 3 269 276 283 @@ -130180,7 +129619,7 @@ load 292 node field 293 292 16 list children iconst 294 0 call 295 pith_list_get_value_strict int 2 293 294 -strref 296 m44s902 +strref 296 m44s903 call 297 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 295 296 call 298 pith_cstring_release void 1 296 load 299 file_path_r @@ -130197,44 +129636,44 @@ call 309 pith_cstring_release void 1 307 call 310 ir_decode_emit_ir_take_result_ok int 2 306 308 store handle_r 310 load 311 current_name -strref 312 m44s901 +strref 312 m44s902 call 313 ir_builder_ir_new_temp_name string 1 312 call 314 pith_cstring_release void 1 312 call 315 pith_cstring_release void 1 311 store current_name 313 load 316 parts_name -strref 317 m44s900 +strref 317 m44s901 call 318 ir_builder_ir_new_temp_name string 1 317 call 319 pith_cstring_release void 1 317 call 320 pith_cstring_release void 1 316 store parts_name 318 load 321 len_name -strref 322 m44s899 +strref 322 m44s900 call 323 ir_builder_ir_new_temp_name string 1 322 call 324 pith_cstring_release void 1 322 call 325 pith_cstring_release void 1 321 store len_name 323 load 326 idx_name -strref 327 m44s898 +strref 327 m44s899 call 328 ir_builder_ir_new_temp_name string 1 327 call 329 pith_cstring_release void 1 327 call 330 pith_cstring_release void 1 326 store idx_name 328 load 331 ir_builder_ir_var_types load 332 current_name -strref 333 m44s666 +strref 333 m44s667 call 334 pith_map_insert_cstr_owned void 3 331 332 333 load 335 ir_builder_ir_var_types load 336 parts_name -strref 337 m44s665 +strref 337 m44s666 call 338 pith_map_insert_cstr_owned void 3 335 336 337 load 339 ir_builder_ir_var_types load 340 len_name -strref 341 m44s666 +strref 341 m44s667 call 342 pith_map_insert_cstr_owned void 3 339 340 341 load 343 ir_builder_ir_var_types load 344 idx_name -strref 345 m44s666 +strref 345 m44s667 call 346 pith_map_insert_cstr_owned void 3 343 344 345 load 347 handle_r load 348 dotted_path_r @@ -130242,7 +129681,7 @@ load 349 node field 350 349 16 list children iconst 351 0 call 352 pith_list_get_value_strict int 2 350 351 -strref 353 m44s897 +strref 353 m44s898 call 354 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 352 353 call 355 pith_cstring_release void 1 353 strref 356 m44s192 @@ -130275,14 +129714,14 @@ load 381 node field 382 381 16 list children iconst 383 0 call 384 pith_list_get_value_strict int 2 382 383 -strref 385 m44s859 +strref 385 m44s860 call 386 ir_alias_registry_ir_resolve_handle_decode_call_name string 2 384 385 call 387 pith_cstring_release void 1 385 call 388 ir_decode_emit_ir_emit_handle_pool_restore void 2 380 386 call 389 pith_cstring_release void 1 386 call 390 ir_builder_ir_reg int 0 store r 390 -strref 391 m44s753 +strref 391 m44s754 load 392 r call 393 int_to_string string 1 392 concat 394 391 393 @@ -130367,22 +129806,22 @@ load 14 target_info field 15 14 16 list_string fields call 16 pith_auto_len int 1 15 iconst 17 0 -store __for_idx_298 17 -store __for_len_298 16 -store __for_iter_298 15 +store __for_idx_297 17 +store __for_len_297 16 +store __for_iter_297 15 label L269 -load 18 __for_idx_298 -load 19 __for_len_298 +load 18 __for_idx_297 +load 19 __for_len_297 lt 20 18 19 brif 20 L270 L272 label L270 -load 21 __for_iter_298 -load 22 __for_idx_298 +load 21 __for_iter_297 +load 22 __for_idx_297 call 23 pith_list_get_value_unchecked string 2 21 22 -store __loopvar_298_field_name 23 -load 24 __for_idx_298 -store __loopvar_298_i 24 -load 25 __loopvar_298_i +store __loopvar_297_field_name 23 +load 24 __for_idx_297 +store __loopvar_297_i 24 +load 25 __loopvar_297_i load 26 target_info field 27 26 24 list field_types call 28 pith_list_len int 1 27 @@ -130395,10 +129834,10 @@ label L275 label L273 load 31 target_info field 32 31 8 string name -load 33 __loopvar_298_i +load 33 __loopvar_297_i load 34 target_info field 35 34 24 list field_types -load 36 __loopvar_298_i +load 36 __loopvar_297_i call 37 pith_list_get_value_strict int 2 35 36 call 38 ir_alias_registry_ir_struct_field_tid_at int 3 32 33 37 store field_tid 38 @@ -130414,7 +129853,7 @@ label L278 label L276 load 44 target_info field 45 44 8 string name -load 46 __loopvar_298_field_name +load 46 __loopvar_297_field_name call 47 ir_struct_registry_ir_struct_field_default_node int 2 45 46 iconst 48 0 gte 49 47 48 @@ -130437,10 +129876,10 @@ ret 57 label L284 label L282 label L271 -load 58 __for_idx_298 +load 58 __for_idx_297 iconst 59 1 add 60 58 59 -store __for_idx_298 60 +store __for_idx_297 60 jmp L269 label L272 iconst 61 1 @@ -130468,21 +129907,21 @@ load 9 decl field 10 9 16 list children call 11 pith_auto_len int 1 10 iconst 12 0 -store __for_idx_299 12 -store __for_len_299 11 -store __for_iter_299 10 +store __for_idx_298 12 +store __for_len_298 11 +store __for_iter_298 10 label L285 -load 13 __for_idx_299 -load 14 __for_len_299 +load 13 __for_idx_298 +load 14 __for_len_298 lt 15 13 14 brif 15 L286 L288 label L286 -load 16 __for_iter_299 -load 17 __for_idx_299 +load 16 __for_iter_298 +load 17 __for_idx_298 call 18 pith_list_get_value unknown 2 16 17 -store __loopvar_299_child 18 +store __loopvar_298_child 18 load 19 fnode -load 20 __loopvar_299_child +load 20 __loopvar_298_child call 21 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 20 call 22 pith_struct_release void 1 19 store fnode 21 @@ -130558,10 +129997,10 @@ jmp L289 label L291 label L289 label L287 -load 73 __for_idx_299 +load 73 __for_idx_298 iconst 74 1 add 75 73 74 -store __for_idx_299 75 +store __for_idx_298 75 jmp L285 label L288 load 76 spec @@ -130618,27 +130057,27 @@ load 1 target_info field 2 1 16 list_string fields call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_300 4 -store __for_len_300 3 -store __for_iter_300 2 +store __for_idx_299 4 +store __for_len_299 3 +store __for_iter_299 2 label L300 -load 5 __for_idx_300 -load 6 __for_len_300 +load 5 __for_idx_299 +load 6 __for_len_299 lt 7 5 6 brif 7 L301 L303 label L301 -load 8 __for_iter_300 -load 9 __for_idx_300 +load 8 __for_iter_299 +load 9 __for_idx_299 call 10 pith_list_get_value_unchecked string 2 8 9 -store __loopvar_300_field_name 10 -load 11 __for_idx_300 -store __loopvar_300_i 11 +store __loopvar_299_field_name 10 +load 11 __for_idx_299 +store __loopvar_299_i 11 load 12 target_info field 13 12 8 string name -load 14 __loopvar_300_i +load 14 __loopvar_299_i load 15 target_info field 16 15 24 list field_types -load 17 __loopvar_300_i +load 17 __loopvar_299_i call 18 pith_list_get_value_strict int 2 16 17 call 19 ir_alias_registry_ir_struct_field_tid_at int 3 13 14 18 store field_tid 19 @@ -130655,10 +130094,10 @@ ret 26 label L306 label L304 label L302 -load 27 __for_idx_300 +load 27 __for_idx_299 iconst 28 1 add 29 27 28 -store __for_idx_300 29 +store __for_idx_299 29 jmp L300 label L303 iconst 30 0 @@ -130678,7 +130117,7 @@ store err_l 4 iconst 5 0 store done_l 5 load 6 temp_name -strref 7 m44s881 +strref 7 m44s882 call 8 ir_builder_ir_new_temp_name string 1 7 call 9 pith_cstring_release void 1 7 call 10 pith_cstring_release void 1 6 @@ -130707,7 +130146,7 @@ call 27 ir_builder_ir_reg int 0 store struct_r 27 call 28 ir_builder_ir_reg int 0 store count_r 28 -strref 29 m44s715 +strref 29 m44s716 load 30 count_r call 31 int_to_string string 1 30 concat 32 29 31 @@ -130725,8 +130164,8 @@ call 43 pith_cstring_release void 1 40 call 44 ir_builder_ir_emit void 1 41 call 45 pith_cstring_release void 1 41 load 46 struct_r -strref 47 m44s722 -strref 48 m44s775 +strref 47 m44s723 +strref 48 m44s776 load 49 target_info field 50 49 8 string name concat 51 48 50 @@ -130741,13 +130180,13 @@ brif 58 L308 L309 label L308 call 59 ir_builder_ir_reg int 0 store dtor_r 59 -strref 60 m44s713 +strref 60 m44s714 load 61 dtor_r call 62 int_to_string string 1 61 concat 63 60 62 call 64 pith_cstring_release void 1 60 call 65 pith_cstring_release void 1 62 -strref 66 m44s799 +strref 66 m44s800 concat 67 63 66 call 68 pith_cstring_release void 1 63 call 69 pith_cstring_release void 1 66 @@ -130760,8 +130199,8 @@ call 75 pith_cstring_release void 1 72 call 76 ir_builder_ir_emit void 1 73 call 77 pith_cstring_release void 1 73 call 78 ir_builder_ir_reg int 0 -strref 79 m44s896 -strref 80 m44s733 +strref 79 m44s897 +strref 80 m44s734 iconst 81 2 strref 82 m44s17 load 83 struct_r @@ -130787,7 +130226,7 @@ label L309 label L307 call 101 ir_builder_ir_reg int 0 store spec_r 101 -strref 102 m44s758 +strref 102 m44s759 load 103 spec_r call 104 int_to_string string 1 103 concat 105 102 104 @@ -130814,8 +130253,8 @@ call 125 pith_cstring_release void 1 121 call 126 ir_builder_ir_reg int 0 store mask_r 126 load 127 mask_r -strref 128 m44s895 -strref 129 m44s666 +strref 128 m44s896 +strref 129 m44s667 iconst 130 3 strref 131 m44s17 load 132 input_r @@ -130847,7 +130286,7 @@ call 157 pith_cstring_release void 1 129 call 158 pith_cstring_release void 1 152 call 159 ir_builder_ir_reg int 0 store req_r 159 -strref 160 m44s715 +strref 160 m44s716 load 161 req_r call 162 int_to_string string 1 161 concat 163 160 162 @@ -130867,7 +130306,7 @@ call 176 ir_builder_ir_emit void 1 173 call 177 pith_cstring_release void 1 173 call 178 ir_builder_ir_reg int 0 store eq_r 178 -strref 179 m44s725 +strref 179 m44s726 load 180 eq_r call 181 int_to_string string 1 180 concat 182 179 181 @@ -130893,7 +130332,7 @@ call 201 pith_cstring_release void 1 195 call 202 pith_cstring_release void 1 199 call 203 ir_builder_ir_emit void 1 200 call 204 pith_cstring_release void 1 200 -strref 205 m44s756 +strref 205 m44s757 load 206 eq_r call 207 int_to_string string 1 206 concat 208 205 207 @@ -130918,8 +130357,8 @@ call 226 pith_cstring_release void 1 223 load 227 err_l call 228 ir_call_emit_ir_emit_label void 1 227 call 229 ir_builder_ir_reg int 0 -strref 230 m44s737 -strref 231 m44s733 +strref 230 m44s738 +strref 231 m44s734 load 232 struct_r call 233 ir_call_emit_ir_emit_call1 void 4 229 230 231 232 call 234 pith_cstring_release void 1 230 @@ -130927,7 +130366,7 @@ call 235 pith_cstring_release void 1 231 call 236 ir_builder_ir_reg int 0 store err_res_r 236 load 237 err_res_r -strref 238 m44s894 +strref 238 m44s895 strref 239 m44s45 iconst 240 2 strref 241 m44s17 @@ -130949,7 +130388,7 @@ call 256 ir_call_emit_ir_emit_call_text void 5 237 238 239 240 253 call 257 pith_cstring_release void 1 238 call 258 pith_cstring_release void 1 239 call 259 pith_cstring_release void 1 253 -strref 260 m44s755 +strref 260 m44s756 load 261 temp_name concat 262 260 261 call 263 pith_cstring_release void 1 260 @@ -130964,7 +130403,7 @@ call 271 pith_cstring_release void 1 265 call 272 pith_cstring_release void 1 269 call 273 ir_builder_ir_emit void 1 270 call 274 pith_cstring_release void 1 270 -strref 275 m44s763 +strref 275 m44s764 load 276 done_l concat 277 275 276 call 278 pith_cstring_release void 1 275 @@ -130972,7 +130411,7 @@ call 279 ir_builder_ir_emit void 1 277 call 280 pith_cstring_release void 1 277 load 281 ok_l call 282 ir_call_emit_ir_emit_label void 1 281 -strref 283 m44s755 +strref 283 m44s756 load 284 temp_name concat 285 283 284 call 286 pith_cstring_release void 1 283 @@ -130992,7 +130431,7 @@ load 299 done_l call 300 ir_call_emit_ir_emit_label void 1 299 call 301 ir_builder_ir_reg int 0 store r 301 -strref 302 m44s753 +strref 302 m44s754 load 303 r call 304 int_to_string string 1 303 concat 305 302 304 @@ -131068,7 +130507,7 @@ ret 14 label L312 label L310 load 27 temp_name -strref 28 m44s881 +strref 28 m44s882 call 29 ir_builder_ir_new_temp_name string 1 28 call 30 pith_cstring_release void 1 28 call 31 pith_cstring_release void 1 27 @@ -131084,7 +130523,7 @@ store done_l 37 call 39 ir_builder_ir_reg int 0 store scan_r 39 load 40 scan_r -strref 41 m44s893 +strref 41 m44s894 load 42 input_r call 43 ir_decode_emit_ir_emit_decode_result_call1 void 3 40 41 42 call 44 pith_cstring_release void 1 41 @@ -131106,22 +130545,22 @@ load 57 target_info field 58 57 16 list_string fields call 59 pith_auto_len int 1 58 iconst 60 0 -store __for_idx_301 60 -store __for_len_301 59 -store __for_iter_301 58 +store __for_idx_300 60 +store __for_len_300 59 +store __for_iter_300 58 label L313 -load 61 __for_idx_301 -load 62 __for_len_301 +load 61 __for_idx_300 +load 62 __for_len_300 lt 63 61 62 brif 63 L314 L316 label L314 -load 64 __for_iter_301 -load 65 __for_idx_301 +load 64 __for_iter_300 +load 65 __for_idx_300 call 66 pith_list_get_value_unchecked string 2 64 65 -store __loopvar_301_field_name 66 -load 67 __for_idx_301 -store __loopvar_301_i 67 -load 68 __loopvar_301_i +store __loopvar_300_field_name 66 +load 67 __for_idx_300 +store __loopvar_300_i 67 +load 68 __loopvar_300_i load 69 target_info field 70 69 24 list field_types call 71 pith_list_len int 1 70 @@ -131133,16 +130572,16 @@ label L319 label L317 load 73 target_info field 74 73 8 string name -load 75 __loopvar_301_i +load 75 __loopvar_300_i load 76 target_info field 77 76 24 list field_types -load 78 __loopvar_301_i +load 78 __loopvar_300_i call 79 pith_list_get_value_strict int 2 77 78 call 80 ir_alias_registry_ir_struct_field_tid_at int 3 74 75 79 store field_tid 80 load 81 target_info field 82 81 8 string name -load 83 __loopvar_301_field_name +load 83 __loopvar_300_field_name call 84 ir_struct_registry_ir_struct_field_default_node int 2 82 83 store default_idx 84 load 85 field_tid @@ -131186,7 +130625,7 @@ label L325 label L323 call 108 ir_builder_ir_reg int 0 store key_r 108 -strref 109 m44s758 +strref 109 m44s759 load 110 key_r call 111 int_to_string string 1 110 concat 112 109 111 @@ -131196,7 +130635,7 @@ strref 115 m44s17 concat 116 112 115 call 117 pith_cstring_release void 1 112 call 118 pith_cstring_release void 1 115 -load 119 __loopvar_301_field_name +load 119 __loopvar_300_field_name call 120 ir_builder_ir_str string 1 119 concat 121 116 120 call 122 pith_cstring_release void 1 116 @@ -131207,14 +130646,14 @@ call 126 ir_builder_ir_reg int 0 store has_r 126 load 127 has_r load 128 has_name -strref 129 m44s662 +strref 129 m44s663 load 130 fields_r load 131 key_r call 132 ir_call_emit_ir_emit_call2 void 5 127 128 129 130 131 call 133 pith_cstring_release void 1 129 load 134 branch load 135 has_r -strref 136 m44s892 +strref 136 m44s893 strref 137 m44s45 call 138 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 135 136 137 call 139 pith_cstring_release void 1 136 @@ -131286,7 +130725,7 @@ label L336 label L334 call 187 ir_builder_ir_reg int 0 store key_r 187 -strref 188 m44s758 +strref 188 m44s759 load 189 key_r call 190 int_to_string string 1 189 concat 191 188 190 @@ -131296,7 +130735,7 @@ strref 194 m44s17 concat 195 191 194 call 196 pith_cstring_release void 1 191 call 197 pith_cstring_release void 1 194 -load 198 __loopvar_301_field_name +load 198 __loopvar_300_field_name call 199 ir_builder_ir_str string 1 198 concat 200 195 199 call 201 pith_cstring_release void 1 195 @@ -131307,14 +130746,14 @@ call 205 ir_builder_ir_reg int 0 store has_r 205 load 206 has_r load 207 has_name -strref 208 m44s662 +strref 208 m44s663 load 209 fields_r load 210 key_r call 211 ir_call_emit_ir_emit_call2 void 5 206 207 208 209 210 call 212 pith_cstring_release void 1 208 load 213 branch load 214 has_r -strref 215 m44s891 +strref 215 m44s892 load 216 field_tid call 217 ir_type_helpers_ir_type_from_tid string 1 216 call 218 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 214 215 217 @@ -131353,7 +130792,7 @@ label L333 label L331 call 247 ir_builder_ir_reg int 0 store key_r 247 -strref 248 m44s758 +strref 248 m44s759 load 249 key_r call 250 int_to_string string 1 249 concat 251 248 250 @@ -131363,7 +130802,7 @@ strref 254 m44s17 concat 255 251 254 call 256 pith_cstring_release void 1 251 call 257 pith_cstring_release void 1 254 -load 258 __loopvar_301_field_name +load 258 __loopvar_300_field_name call 259 ir_builder_ir_str string 1 258 concat 260 255 259 call 261 pith_cstring_release void 1 255 @@ -131387,14 +130826,14 @@ load 277 field_tid call 278 ir_decode_emit_ir_take_json_ok int 2 276 277 call 279 pith_list_push_value void 2 275 278 label L315 -load 280 __for_idx_301 +load 280 __for_idx_300 iconst 281 1 add 282 280 281 -store __for_idx_301 282 +store __for_idx_300 282 jmp L313 label L316 load 283 field_regs -strref 284 m44s775 +strref 284 m44s776 load 285 target_info field 286 285 8 string name concat 287 284 286 @@ -131406,7 +130845,7 @@ load 292 done_l call 293 ir_call_emit_ir_emit_label void 1 292 call 294 ir_builder_ir_reg int 0 store r 294 -strref 295 m44s753 +strref 295 m44s754 load 296 r call 297 int_to_string string 1 296 concat 298 295 297 @@ -131472,22 +130911,22 @@ load 13 target_info field 14 13 16 list_string fields call 15 pith_auto_len int 1 14 iconst 16 0 -store __for_idx_302 16 -store __for_len_302 15 -store __for_iter_302 14 +store __for_idx_301 16 +store __for_len_301 15 +store __for_iter_301 14 label L337 -load 17 __for_idx_302 -load 18 __for_len_302 +load 17 __for_idx_301 +load 18 __for_len_301 lt 19 17 18 brif 19 L338 L340 label L338 -load 20 __for_iter_302 -load 21 __for_idx_302 +load 20 __for_iter_301 +load 21 __for_idx_301 call 22 pith_list_get_value_unchecked string 2 20 21 -store __loopvar_302_field_name 22 -load 23 __for_idx_302 -store __loopvar_302_i 23 -load 24 __loopvar_302_i +store __loopvar_301_field_name 22 +load 23 __for_idx_301 +store __loopvar_301_i 23 +load 24 __loopvar_301_i load 25 target_info field 26 25 24 list field_types call 27 pith_list_len int 1 26 @@ -131499,16 +130938,16 @@ label L343 label L341 load 29 target_info field 30 29 8 string name -load 31 __loopvar_302_i +load 31 __loopvar_301_i load 32 target_info field 33 32 24 list field_types -load 34 __loopvar_302_i +load 34 __loopvar_301_i call 35 pith_list_get_value_strict int 2 33 34 call 36 ir_alias_registry_ir_struct_field_tid_at int 3 30 31 35 store field_tid 36 load 37 target_info field 38 37 8 string name -load 39 __loopvar_302_field_name +load 39 __loopvar_301_field_name call 40 ir_struct_registry_ir_struct_field_default_node int 2 38 39 store default_idx 40 load 41 field_tid @@ -131516,7 +130955,7 @@ call 42 ir_decode_calls_ir_optional_inner_tid int 1 41 store optional_inner_tid 42 call 43 ir_builder_ir_reg int 0 store key_r 43 -strref 44 m44s758 +strref 44 m44s759 load 45 key_r call 46 int_to_string string 1 45 concat 47 44 46 @@ -131526,7 +130965,7 @@ strref 50 m44s17 concat 51 47 50 call 52 pith_cstring_release void 1 47 call 53 pith_cstring_release void 1 50 -load 54 __loopvar_302_field_name +load 54 __loopvar_301_field_name call 55 ir_builder_ir_str string 1 54 concat 56 51 55 call 57 pith_cstring_release void 1 51 @@ -131557,10 +130996,10 @@ call 72 ir_builder_ir_reg int 0 store has_r 72 load 73 has_r load 74 index_idx -strref 75 m44s887 +strref 75 m44s888 call 76 ir_alias_registry_ir_resolve_json_call_name string 2 74 75 call 77 pith_cstring_release void 1 75 -strref 78 m44s662 +strref 78 m44s663 load 79 handle_r load 80 key_r call 81 ir_call_emit_ir_emit_call2 void 5 73 76 78 79 80 @@ -131568,7 +131007,7 @@ call 82 pith_cstring_release void 1 76 call 83 pith_cstring_release void 1 78 load 84 branch load 85 has_r -strref 86 m44s886 +strref 86 m44s887 strref 87 m44s45 call 88 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 85 86 87 call 89 pith_cstring_release void 1 86 @@ -131621,10 +131060,10 @@ call 125 ir_builder_ir_reg int 0 store has_r 125 load 126 has_r load 127 index_idx -strref 128 m44s887 +strref 128 m44s888 call 129 ir_alias_registry_ir_resolve_json_call_name string 2 127 128 call 130 pith_cstring_release void 1 128 -strref 131 m44s662 +strref 131 m44s663 load 132 handle_r load 133 key_r call 134 ir_call_emit_ir_emit_call2 void 5 126 129 131 132 133 @@ -131632,7 +131071,7 @@ call 135 pith_cstring_release void 1 129 call 136 pith_cstring_release void 1 131 load 137 branch load 138 has_r -strref 139 m44s885 +strref 139 m44s886 load 140 field_tid call 141 ir_type_helpers_ir_type_from_tid string 1 140 call 142 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 138 139 141 @@ -131712,10 +131151,10 @@ call 198 ir_builder_ir_reg int 0 store has_r 198 load 199 has_r load 200 index_idx -strref 201 m44s887 +strref 201 m44s888 call 202 ir_alias_registry_ir_resolve_json_call_name string 2 200 201 call 203 pith_cstring_release void 1 201 -strref 204 m44s662 +strref 204 m44s663 load 205 handle_r load 206 key_r call 207 ir_call_emit_ir_emit_call2 void 5 199 202 204 205 206 @@ -131723,7 +131162,7 @@ call 208 pith_cstring_release void 1 202 call 209 pith_cstring_release void 1 204 load 210 branch load 211 has_r -strref 212 m44s884 +strref 212 m44s885 strref 213 m44s45 call 214 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 211 212 213 call 215 pith_cstring_release void 1 212 @@ -131786,10 +131225,10 @@ call 258 ir_builder_ir_reg int 0 store has_r 258 load 259 has_r load 260 index_idx -strref 261 m44s887 +strref 261 m44s888 call 262 ir_alias_registry_ir_resolve_json_call_name string 2 260 261 call 263 pith_cstring_release void 1 261 -strref 264 m44s662 +strref 264 m44s663 load 265 handle_r load 266 key_r call 267 ir_call_emit_ir_emit_call2 void 5 259 262 264 265 266 @@ -131797,7 +131236,7 @@ call 268 pith_cstring_release void 1 262 call 269 pith_cstring_release void 1 264 load 270 branch load 271 has_r -strref 272 m44s883 +strref 272 m44s884 load 273 field_tid call 274 ir_type_helpers_ir_type_from_tid string 1 273 call 275 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 271 272 274 @@ -131857,14 +131296,14 @@ load 322 field_tid call 323 ir_decode_emit_ir_take_json_ok int 2 321 322 call 324 pith_list_push_value void 2 320 323 label L339 -load 325 __for_idx_302 +load 325 __for_idx_301 iconst 326 1 add 327 325 326 -store __for_idx_302 327 +store __for_idx_301 327 jmp L337 label L340 load 328 field_regs -strref 329 m44s775 +strref 329 m44s776 load 330 target_info field 331 330 8 string name concat 332 329 331 @@ -132044,7 +131483,7 @@ load 106 has_nested_fields brif 106 L385 L386 label L385 load 107 temp_name -strref 108 m44s890 +strref 108 m44s891 call 109 ir_builder_ir_new_temp_name string 1 108 call 110 pith_cstring_release void 1 108 call 111 pith_cstring_release void 1 107 @@ -132062,14 +131501,14 @@ load 120 node field 121 120 16 list children iconst 122 0 call 123 pith_list_get_value_strict int 2 121 122 -strref 124 m44s868 +strref 124 m44s869 call 125 ir_alias_registry_ir_resolve_json_call_name string 2 123 124 call 126 pith_cstring_release void 1 124 load 127 node field 128 127 16 list children iconst 129 0 call 130 pith_list_get_value_strict int 2 128 129 -strref 131 m44s867 +strref 131 m44s868 call 132 ir_alias_registry_ir_resolve_json_call_name string 2 130 131 call 133 pith_cstring_release void 1 131 call 134 ir_decode_emit_ir_emit_json_pool_mark struct:IrJsonPoolMark 2 125 132 @@ -132089,10 +131528,10 @@ load 142 node field 143 142 16 list children iconst 144 0 call 145 pith_list_get_value_strict int 2 143 144 -strref 146 m44s875 +strref 146 m44s876 call 147 ir_alias_registry_ir_resolve_json_call_name string 2 145 146 call 148 pith_cstring_release void 1 146 -strref 149 m44s666 +strref 149 m44s667 load 150 input_r call 151 ir_call_emit_ir_emit_call1 void 4 141 147 149 150 call 152 pith_cstring_release void 1 147 @@ -132108,7 +131547,7 @@ load 157 node field 158 157 16 list children iconst 159 0 call 160 pith_list_get_value_strict int 2 158 159 -strref 161 m44s880 +strref 161 m44s881 call 162 ir_alias_registry_ir_resolve_json_call_name string 2 160 161 call 163 pith_cstring_release void 1 161 load 164 input_r @@ -132132,7 +131571,7 @@ load 178 node field 179 178 16 list children iconst 180 0 call 181 pith_list_get_value_strict int 2 179 180 -strref 182 m44s865 +strref 182 m44s866 call 183 ir_alias_registry_ir_resolve_json_call_name string 2 181 182 call 184 pith_cstring_release void 1 182 load 185 handle_r @@ -132166,7 +131605,7 @@ load 211 node field 212 211 16 list children iconst 213 0 call 214 pith_list_get_value_strict int 2 212 213 -strref 215 m44s859 +strref 215 m44s860 call 216 ir_alias_registry_ir_resolve_json_call_name string 2 214 215 call 217 pith_cstring_release void 1 215 call 218 ir_decode_emit_ir_emit_json_pool_restore void 2 210 216 @@ -132175,7 +131614,7 @@ load 220 fresh_bytes_input brif 220 L391 L392 label L391 load 221 input_r -strref 222 m44s739 +strref 222 m44s740 call 223 ir_ownership_ir_rc_release_reg void 2 221 222 call 224 pith_cstring_release void 1 222 jmp L390 @@ -132183,7 +131622,7 @@ label L392 label L390 call 225 ir_builder_ir_reg int 0 store r 225 -strref 226 m44s753 +strref 226 m44s754 load 227 r call 228 int_to_string string 1 227 concat 229 226 228 @@ -132224,8 +131663,8 @@ label L394 call 259 ir_builder_ir_reg int 0 store converted_r 259 load 260 converted_r -strref 261 m44s889 -strref 262 m44s739 +strref 261 m44s890 +strref 262 m44s740 load 263 input_r call 264 ir_call_emit_ir_emit_call1 void 4 260 261 262 263 call 265 pith_cstring_release void 1 261 @@ -132247,7 +131686,7 @@ load 273 owns_input brif 273 L400 L401 label L400 load 274 input_r -strref 275 m44s739 +strref 275 m44s740 call 276 ir_ownership_ir_rc_release_reg void 2 274 275 call 277 pith_cstring_release void 1 275 jmp L399 @@ -132308,7 +131747,7 @@ load 311 owns_input brif 311 L410 L411 label L410 load 312 input_r -strref 313 m44s739 +strref 313 m44s740 call 314 ir_ownership_ir_rc_release_reg void 2 312 313 call 315 pith_cstring_release void 1 313 jmp L409 @@ -132335,7 +131774,7 @@ ret 316 label L404 label L402 load 333 temp_name -strref 334 m44s881 +strref 334 m44s882 call 335 ir_builder_ir_new_temp_name string 1 334 call 336 pith_cstring_release void 1 334 call 337 pith_cstring_release void 1 333 @@ -132356,22 +131795,22 @@ load 348 target_info field 349 348 16 list_string fields call 350 pith_auto_len int 1 349 iconst 351 0 -store __for_idx_303 351 -store __for_len_303 350 -store __for_iter_303 349 +store __for_idx_302 351 +store __for_len_302 350 +store __for_iter_302 349 label L412 -load 352 __for_idx_303 -load 353 __for_len_303 +load 352 __for_idx_302 +load 353 __for_len_302 lt 354 352 353 brif 354 L413 L415 label L413 -load 355 __for_iter_303 -load 356 __for_idx_303 +load 355 __for_iter_302 +load 356 __for_idx_302 call 357 pith_list_get_value_unchecked string 2 355 356 -store __loopvar_303_field_name 357 -load 358 __for_idx_303 -store __loopvar_303_i 358 -load 359 __loopvar_303_i +store __loopvar_302_field_name 357 +load 358 __for_idx_302 +store __loopvar_302_i 358 +load 359 __loopvar_302_i load 360 target_info field 361 360 24 list field_types call 362 pith_list_len int 1 361 @@ -132383,7 +131822,7 @@ label L418 label L416 load 364 target_info field 365 364 24 list field_types -load 366 __loopvar_303_i +load 366 __loopvar_302_i call 367 pith_list_get_value_strict int 2 365 366 store field_tid 367 load 368 helper_name @@ -132402,7 +131841,7 @@ label L421 label L419 call 376 ir_builder_ir_reg int 0 store key_r 376 -strref 377 m44s758 +strref 377 m44s759 load 378 key_r call 379 int_to_string string 1 378 concat 380 377 379 @@ -132412,7 +131851,7 @@ strref 383 m44s17 concat 384 380 383 call 385 pith_cstring_release void 1 380 call 386 pith_cstring_release void 1 383 -load 387 __loopvar_303_field_name +load 387 __loopvar_302_field_name call 388 ir_builder_ir_str string 1 387 concat 389 384 388 call 390 pith_cstring_release void 1 384 @@ -132436,14 +131875,14 @@ load 406 field_tid call 407 ir_decode_emit_ir_take_json_ok int 2 405 406 call 408 pith_list_push_value void 2 404 407 label L414 -load 409 __for_idx_303 +load 409 __for_idx_302 iconst 410 1 add 411 409 410 -store __for_idx_303 411 +store __for_idx_302 411 jmp L412 label L415 load 412 field_regs -strref 413 m44s775 +strref 413 m44s776 load 414 target_info field 415 414 8 string name concat 416 413 415 @@ -132457,7 +131896,7 @@ load 423 owns_input brif 423 L423 L424 label L423 load 424 input_r -strref 425 m44s739 +strref 425 m44s740 call 426 ir_ownership_ir_rc_release_reg void 2 424 425 call 427 pith_cstring_release void 1 425 jmp L422 @@ -132465,7 +131904,7 @@ label L424 label L422 call 428 ir_builder_ir_reg int 0 store r 428 -strref 429 m44s753 +strref 429 m44s754 load 430 r call 431 int_to_string string 1 430 concat 432 429 431 @@ -132525,7 +131964,7 @@ param module_path iconst 4 0 store decode_name 4 load 5 decode_name -strref 6 m44s692 +strref 6 m44s693 call 7 ir_decode_emit_ir_json_generic_name string 1 6 call 8 pith_cstring_release void 1 6 call 9 pith_cstring_release void 1 5 @@ -132534,11 +131973,11 @@ load 10 parent_handle_r load 11 key_r load 12 target_tid load 13 module_path -strref 14 m44s860 +strref 14 m44s861 call 15 ir_generics_ir_resolve_generic_module_call_name string 2 13 14 call 16 pith_cstring_release void 1 14 load 17 decode_name -strref 18 m44s888 +strref 18 m44s889 call 19 ir_decode_emit_ir_emit_nested_decode_path int 6 10 11 12 15 17 18 call 20 pith_cstring_release void 1 15 call 21 pith_cstring_release void 1 18 @@ -132558,10 +131997,10 @@ call 3 ir_builder_ir_reg int 0 store has_r 3 load 4 has_r load 5 module_path -strref 6 m44s887 +strref 6 m44s888 call 7 ir_generics_ir_resolve_generic_module_call_name string 2 5 6 call 8 pith_cstring_release void 1 6 -strref 9 m44s662 +strref 9 m44s663 load 10 handle_r load 11 key_r call 12 ir_call_emit_ir_emit_call2 void 5 4 7 9 10 11 @@ -132624,7 +132063,7 @@ call 34 ir_decode_calls_ir_optional_inner_tid int 1 33 store optional_inner_tid 34 call 35 ir_builder_ir_reg int 0 store key_r 35 -strref 36 m44s758 +strref 36 m44s759 load 37 key_r call 38 int_to_string string 1 37 concat 39 36 38 @@ -132668,7 +132107,7 @@ call 67 ir_decode_emit_ir_emit_json_object_has int 3 64 65 66 store has_r 67 load 68 branch load 69 has_r -strref 70 m44s886 +strref 70 m44s887 strref 71 m44s45 call 72 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 69 70 71 call 73 pith_cstring_release void 1 70 @@ -132728,7 +132167,7 @@ call 115 ir_decode_emit_ir_emit_json_object_has int 3 112 113 114 store has_r 115 load 116 branch load 117 has_r -strref 118 m44s885 +strref 118 m44s886 load 119 field_tid call 120 ir_type_helpers_ir_type_from_tid string 1 119 call 121 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 117 118 120 @@ -132819,7 +132258,7 @@ call 186 ir_decode_emit_ir_emit_json_object_has int 3 183 184 185 store has_r 186 load 187 branch load 188 has_r -strref 189 m44s884 +strref 189 m44s885 strref 190 m44s45 call 191 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 188 189 190 call 192 pith_cstring_release void 1 189 @@ -132889,7 +132328,7 @@ call 241 ir_decode_emit_ir_emit_json_object_has int 3 238 239 240 store has_r 241 load 242 branch load 243 has_r -strref 244 m44s883 +strref 244 m44s884 load 245 field_tid call 246 ir_type_helpers_ir_type_from_tid string 1 245 call 247 ir_decode_emit_ir_begin_decode_field_branch struct:IrDecodeFieldBranch 3 243 244 246 @@ -132962,7 +132401,7 @@ store i 305 jmp L425 label L427 load 306 field_regs -strref 307 m44s775 +strref 307 m44s776 load 308 struct_name concat 309 307 308 call 310 pith_cstring_release void 1 307 @@ -133009,20 +132448,20 @@ label L454 label L452 call 17 ir_builder_ir_reg int 0 store handle_r 17 -strref 18 m44s753 +strref 18 m44s754 load 19 handle_r call 20 int_to_string string 1 19 concat 21 18 20 call 22 pith_cstring_release void 1 18 call 23 pith_cstring_release void 1 20 -strref 24 m44s879 +strref 24 m44s880 concat 25 21 24 call 26 pith_cstring_release void 1 21 call 27 pith_cstring_release void 1 24 call 28 ir_builder_ir_emit void 1 25 call 29 pith_cstring_release void 1 25 load 30 temp_name -strref 31 m44s877 +strref 31 m44s878 call 32 ir_builder_ir_new_temp_name string 1 31 call 33 pith_cstring_release void 1 31 call 34 pith_cstring_release void 1 30 @@ -133044,7 +132483,7 @@ load 47 emit_value call 48 ir_decode_emit_ir_emit_json_decode_object_value_specialized void 6 42 43 44 45 46 47 call 49 ir_builder_ir_reg int 0 store r 49 -strref 50 m44s753 +strref 50 m44s754 load 51 r call 52 int_to_string string 1 51 concat 53 50 52 @@ -133059,7 +132498,7 @@ concat 61 57 60 call 62 pith_cstring_release void 1 57 call 63 ir_builder_ir_emit void 1 61 call 64 pith_cstring_release void 1 61 -strref 65 m44s772 +strref 65 m44s773 load 66 r call 67 int_to_string string 1 66 concat 68 65 67 @@ -133067,7 +132506,7 @@ call 69 pith_cstring_release void 1 65 call 70 pith_cstring_release void 1 67 call 71 ir_builder_ir_emit void 1 68 call 72 pith_cstring_release void 1 68 -strref 73 m44s795 +strref 73 m44s796 call 74 ir_builder_ir_emit void 1 73 call 75 pith_cstring_release void 1 73 load 76 temp_name @@ -133109,20 +132548,20 @@ label L457 label L455 call 21 ir_builder_ir_reg int 0 store input_r 21 -strref 22 m44s753 +strref 22 m44s754 load 23 input_r call 24 int_to_string string 1 23 concat 25 22 24 call 26 pith_cstring_release void 1 22 call 27 pith_cstring_release void 1 24 -strref 28 m44s882 +strref 28 m44s883 concat 29 25 28 call 30 pith_cstring_release void 1 25 call 31 pith_cstring_release void 1 28 call 32 ir_builder_ir_emit void 1 29 call 33 pith_cstring_release void 1 29 load 34 temp_name -strref 35 m44s881 +strref 35 m44s882 call 36 ir_builder_ir_new_temp_name string 1 35 call 37 pith_cstring_release void 1 35 call 38 pith_cstring_release void 1 34 @@ -133137,11 +132576,11 @@ call 45 pith_cstring_release void 1 43 store done_l 44 load 46 mark load 47 module_path -strref 48 m44s868 +strref 48 m44s869 call 49 ir_generics_ir_resolve_generic_module_call_name string 2 47 48 call 50 pith_cstring_release void 1 48 load 51 module_path -strref 52 m44s867 +strref 52 m44s868 call 53 ir_generics_ir_resolve_generic_module_call_name string 2 51 52 call 54 pith_cstring_release void 1 52 call 55 ir_decode_emit_ir_emit_json_pool_mark struct:IrJsonPoolMark 2 49 53 @@ -133158,10 +132597,10 @@ call 61 ir_builder_ir_reg int 0 store parsed_r 61 load 62 parsed_r load 63 module_path -strref 64 m44s875 +strref 64 m44s876 call 65 ir_generics_ir_resolve_generic_module_call_name string 2 63 64 call 66 pith_cstring_release void 1 64 -strref 67 m44s666 +strref 67 m44s667 load 68 input_r call 69 ir_call_emit_ir_emit_call1 void 4 62 65 67 68 call 70 pith_cstring_release void 1 65 @@ -133174,7 +132613,7 @@ call 73 ir_builder_ir_reg int 0 store parse_result_r 73 load 74 parse_result_r load 75 module_path -strref 76 m44s880 +strref 76 m44s881 call 77 ir_generics_ir_resolve_generic_module_call_name string 2 75 76 call 78 pith_cstring_release void 1 76 load 79 input_r @@ -133193,7 +132632,7 @@ call 89 ir_builder_ir_reg int 0 store checked_r 89 load 90 checked_r load 91 module_path -strref 92 m44s865 +strref 92 m44s866 call 93 ir_generics_ir_resolve_generic_module_call_name string 2 91 92 call 94 pith_cstring_release void 1 92 load 95 handle_r @@ -133216,14 +132655,14 @@ load 110 emit_value call 111 ir_decode_emit_ir_emit_json_decode_object_value_specialized void 6 105 106 107 108 109 110 load 112 mark load 113 module_path -strref 114 m44s859 +strref 114 m44s860 call 115 ir_generics_ir_resolve_generic_module_call_name string 2 113 114 call 116 pith_cstring_release void 1 114 call 117 ir_decode_emit_ir_emit_json_pool_restore void 2 112 115 call 118 pith_cstring_release void 1 115 call 119 ir_builder_ir_reg int 0 store r 119 -strref 120 m44s753 +strref 120 m44s754 load 121 r call 122 int_to_string string 1 121 concat 123 120 122 @@ -133238,7 +132677,7 @@ concat 131 127 130 call 132 pith_cstring_release void 1 127 call 133 ir_builder_ir_emit void 1 131 call 134 pith_cstring_release void 1 131 -strref 135 m44s772 +strref 135 m44s773 load 136 r call 137 int_to_string string 1 136 concat 138 135 137 @@ -133246,7 +132685,7 @@ call 139 pith_cstring_release void 1 135 call 140 pith_cstring_release void 1 137 call 141 ir_builder_ir_emit void 1 138 call 142 pith_cstring_release void 1 138 -strref 143 m44s795 +strref 143 m44s796 call 144 ir_builder_ir_emit void 1 143 call 145 pith_cstring_release void 1 143 load 146 temp_name @@ -133301,13 +132740,13 @@ label L463 label L461 call 29 ir_builder_ir_reg int 0 store handle_r 29 -strref 30 m44s753 +strref 30 m44s754 load 31 handle_r call 32 int_to_string string 1 31 concat 33 30 32 call 34 pith_cstring_release void 1 30 call 35 pith_cstring_release void 1 32 -strref 36 m44s879 +strref 36 m44s880 concat 37 33 36 call 38 pith_cstring_release void 1 33 call 39 pith_cstring_release void 1 36 @@ -133317,14 +132756,14 @@ call 42 ir_builder_ir_reg int 0 store root_result_r 42 load 43 root_result_r load 44 module_path -strref 45 m44s865 +strref 45 m44s866 call 46 ir_generics_ir_resolve_generic_module_call_name string 2 44 45 call 47 pith_cstring_release void 1 45 load 48 handle_r call 49 ir_decode_emit_ir_emit_decode_result_call1 void 3 43 46 48 call 50 pith_cstring_release void 1 46 load 51 temp_name -strref 52 m44s876 +strref 52 m44s877 call 53 ir_builder_ir_new_temp_name string 1 52 call 54 pith_cstring_release void 1 52 call 55 pith_cstring_release void 1 51 @@ -133342,44 +132781,44 @@ load 64 temp_name load 65 done_l call 66 ir_result_flow_ir_emit_result_store_error_branch void 3 63 64 65 load 67 current_name -strref 68 m44s874 +strref 68 m44s875 call 69 ir_builder_ir_new_temp_name string 1 68 call 70 pith_cstring_release void 1 68 call 71 pith_cstring_release void 1 67 store current_name 69 load 72 parts_name -strref 73 m44s873 +strref 73 m44s874 call 74 ir_builder_ir_new_temp_name string 1 73 call 75 pith_cstring_release void 1 73 call 76 pith_cstring_release void 1 72 store parts_name 74 load 77 len_name -strref 78 m44s872 +strref 78 m44s873 call 79 ir_builder_ir_new_temp_name string 1 78 call 80 pith_cstring_release void 1 78 call 81 pith_cstring_release void 1 77 store len_name 79 load 82 idx_name -strref 83 m44s871 +strref 83 m44s872 call 84 ir_builder_ir_new_temp_name string 1 83 call 85 pith_cstring_release void 1 83 call 86 pith_cstring_release void 1 82 store idx_name 84 load 87 ir_builder_ir_var_types load 88 current_name -strref 89 m44s666 +strref 89 m44s667 call 90 pith_map_insert_cstr_owned void 3 87 88 89 load 91 ir_builder_ir_var_types load 92 parts_name -strref 93 m44s665 +strref 93 m44s666 call 94 pith_map_insert_cstr_owned void 3 91 92 93 load 95 ir_builder_ir_var_types load 96 len_name -strref 97 m44s666 +strref 97 m44s667 call 98 pith_map_insert_cstr_owned void 3 95 96 97 load 99 ir_builder_ir_var_types load 100 idx_name -strref 101 m44s666 +strref 101 m44s667 call 102 pith_map_insert_cstr_owned void 3 99 100 101 load 103 root_result_r iconst 104 0 @@ -133387,13 +132826,13 @@ call 105 ir_decode_emit_ir_take_result_ok int 2 103 104 store root_r 105 call 106 ir_builder_ir_reg int 0 store dotted_path_r 106 -strref 107 m44s753 +strref 107 m44s754 load 108 dotted_path_r call 109 int_to_string string 1 108 concat 110 107 109 call 111 pith_cstring_release void 1 107 call 112 pith_cstring_release void 1 109 -strref 113 m44s878 +strref 113 m44s879 concat 114 110 113 call 115 pith_cstring_release void 1 110 call 116 pith_cstring_release void 1 113 @@ -133402,7 +132841,7 @@ call 118 pith_cstring_release void 1 114 load 119 root_r load 120 dotted_path_r load 121 module_path -strref 122 m44s860 +strref 122 m44s861 call 123 ir_generics_ir_resolve_generic_module_call_name string 2 121 122 call 124 pith_cstring_release void 1 122 iconst 125 0 @@ -133424,7 +132863,7 @@ load 139 emit_value call 140 ir_decode_emit_ir_emit_json_decode_object_value_specialized void 6 134 135 136 137 138 139 call 141 ir_builder_ir_reg int 0 store r 141 -strref 142 m44s753 +strref 142 m44s754 load 143 r call 144 int_to_string string 1 143 concat 145 142 144 @@ -133439,7 +132878,7 @@ concat 153 149 152 call 154 pith_cstring_release void 1 149 call 155 ir_builder_ir_emit void 1 153 call 156 pith_cstring_release void 1 153 -strref 157 m44s772 +strref 157 m44s773 load 158 r call 159 int_to_string string 1 158 concat 160 157 159 @@ -133447,7 +132886,7 @@ call 161 pith_cstring_release void 1 157 call 162 pith_cstring_release void 1 159 call 163 ir_builder_ir_emit void 1 160 call 164 pith_cstring_release void 1 160 -strref 165 m44s795 +strref 165 m44s796 call 166 ir_builder_ir_emit void 1 165 call 167 pith_cstring_release void 1 165 load 168 temp_name @@ -133534,7 +132973,7 @@ call 47 types_get_type_info struct:TypeInfo 1 46 call 48 pith_struct_release void 1 45 store target_info 47 load 49 temp_name -strref 50 m44s877 +strref 50 m44s878 call 51 ir_builder_ir_new_temp_name string 1 50 call 52 pith_cstring_release void 1 50 call 53 pith_cstring_release void 1 49 @@ -133554,7 +132993,7 @@ load 63 node field 64 63 16 list children iconst 65 0 call 66 pith_list_get_value_strict int 2 64 65 -strref 67 m44s865 +strref 67 m44s866 call 68 ir_alias_registry_ir_resolve_json_call_name string 2 66 67 call 69 pith_cstring_release void 1 67 load 70 handle_r @@ -133585,7 +133024,7 @@ load 93 done_l call 94 ir_call_emit_ir_emit_label void 1 93 call 95 ir_builder_ir_reg int 0 store r 95 -strref 96 m44s753 +strref 96 m44s754 load 97 r call 98 int_to_string string 1 97 concat 99 96 98 @@ -133725,7 +133164,7 @@ call 76 types_get_type_info struct:TypeInfo 1 75 call 77 pith_struct_release void 1 74 store target_info 76 load 78 temp_name -strref 79 m44s876 +strref 79 m44s877 call 80 ir_builder_ir_new_temp_name string 1 79 call 81 pith_cstring_release void 1 79 call 82 pith_cstring_release void 1 78 @@ -133757,14 +133196,14 @@ load 100 node field 101 100 16 list children iconst 102 0 call 103 pith_list_get_value_strict int 2 101 102 -strref 104 m44s868 +strref 104 m44s869 call 105 ir_alias_registry_ir_resolve_json_call_name string 2 103 104 call 106 pith_cstring_release void 1 104 load 107 node field 108 107 16 list children iconst 109 0 call 110 pith_list_get_value_strict int 2 108 109 -strref 111 m44s867 +strref 111 m44s868 call 112 ir_alias_registry_ir_resolve_json_call_name string 2 110 111 call 113 pith_cstring_release void 1 111 call 114 ir_decode_emit_ir_emit_json_pool_mark struct:IrJsonPoolMark 2 105 112 @@ -133779,10 +133218,10 @@ load 120 node field 121 120 16 list children iconst 122 0 call 123 pith_list_get_value_strict int 2 121 122 -strref 124 m44s875 +strref 124 m44s876 call 125 ir_alias_registry_ir_resolve_json_call_name string 2 123 124 call 126 pith_cstring_release void 1 124 -strref 127 m44s666 +strref 127 m44s667 load 128 handle_r call 129 ir_call_emit_ir_emit_call1 void 4 119 125 127 128 call 130 pith_cstring_release void 1 125 @@ -133799,7 +133238,7 @@ load 135 node field 136 135 16 list children iconst 137 0 call 138 pith_list_get_value_strict int 2 136 137 -strref 139 m44s865 +strref 139 m44s866 call 140 ir_alias_registry_ir_resolve_json_call_name string 2 138 139 call 141 pith_cstring_release void 1 139 load 142 handle_r @@ -133810,44 +133249,44 @@ load 146 temp_name load 147 done_l call 148 ir_result_flow_ir_emit_result_store_error_branch void 3 145 146 147 load 149 current_name -strref 150 m44s874 +strref 150 m44s875 call 151 ir_builder_ir_new_temp_name string 1 150 call 152 pith_cstring_release void 1 150 call 153 pith_cstring_release void 1 149 store current_name 151 load 154 parts_name -strref 155 m44s873 +strref 155 m44s874 call 156 ir_builder_ir_new_temp_name string 1 155 call 157 pith_cstring_release void 1 155 call 158 pith_cstring_release void 1 154 store parts_name 156 load 159 len_name -strref 160 m44s872 +strref 160 m44s873 call 161 ir_builder_ir_new_temp_name string 1 160 call 162 pith_cstring_release void 1 160 call 163 pith_cstring_release void 1 159 store len_name 161 load 164 idx_name -strref 165 m44s871 +strref 165 m44s872 call 166 ir_builder_ir_new_temp_name string 1 165 call 167 pith_cstring_release void 1 165 call 168 pith_cstring_release void 1 164 store idx_name 166 load 169 ir_builder_ir_var_types load 170 current_name -strref 171 m44s666 +strref 171 m44s667 call 172 pith_map_insert_cstr_owned void 3 169 170 171 load 173 ir_builder_ir_var_types load 174 parts_name -strref 175 m44s665 +strref 175 m44s666 call 176 pith_map_insert_cstr_owned void 3 173 174 175 load 177 ir_builder_ir_var_types load 178 len_name -strref 179 m44s666 +strref 179 m44s667 call 180 pith_map_insert_cstr_owned void 3 177 178 179 load 181 ir_builder_ir_var_types load 182 idx_name -strref 183 m44s666 +strref 183 m44s667 call 184 pith_map_insert_cstr_owned void 3 181 182 183 load 185 root_result_r strref 186 m44s192 @@ -133861,7 +133300,7 @@ load 192 node field 193 192 16 list children iconst 194 0 call 195 pith_list_get_value_strict int 2 193 194 -strref 196 m44s860 +strref 196 m44s861 call 197 ir_alias_registry_ir_resolve_json_call_name string 2 195 196 call 198 pith_cstring_release void 1 196 strref 199 m44s192 @@ -133897,7 +133336,7 @@ load 225 node field 226 225 16 list children iconst 227 0 call 228 pith_list_get_value_strict int 2 226 227 -strref 229 m44s859 +strref 229 m44s860 call 230 ir_alias_registry_ir_resolve_json_call_name string 2 228 229 call 231 pith_cstring_release void 1 229 call 232 ir_decode_emit_ir_emit_json_pool_restore void 2 224 230 @@ -133907,7 +133346,7 @@ label L481 label L479 call 234 ir_builder_ir_reg int 0 store r 234 -strref 235 m44s753 +strref 235 m44s754 load 236 r call 237 int_to_string string 1 236 concat 238 235 237 @@ -134068,7 +133507,7 @@ call 76 types_get_type_info struct:TypeInfo 1 75 call 77 pith_struct_release void 1 74 store target_info 76 load 78 temp_name -strref 79 m44s870 +strref 79 m44s871 call 80 ir_builder_ir_new_temp_name string 1 79 call 81 pith_cstring_release void 1 79 call 82 pith_cstring_release void 1 78 @@ -134086,14 +133525,14 @@ load 91 node field 92 91 16 list children iconst 93 0 call 94 pith_list_get_value_strict int 2 92 93 -strref 95 m44s868 +strref 95 m44s869 call 96 ir_alias_registry_ir_resolve_json_call_name string 2 94 95 call 97 pith_cstring_release void 1 95 load 98 node field 99 98 16 list children iconst 100 0 call 101 pith_list_get_value_strict int 2 99 100 -strref 102 m44s867 +strref 102 m44s868 call 103 ir_alias_registry_ir_resolve_json_call_name string 2 101 102 call 104 pith_cstring_release void 1 102 call 105 ir_decode_emit_ir_emit_json_pool_mark struct:IrJsonPoolMark 2 96 103 @@ -134108,10 +133547,10 @@ load 111 node field 112 111 16 list children iconst 113 0 call 114 pith_list_get_value_strict int 2 112 113 -strref 115 m44s866 +strref 115 m44s867 call 116 ir_alias_registry_ir_resolve_json_call_name string 2 114 115 call 117 pith_cstring_release void 1 115 -strref 118 m44s666 +strref 118 m44s667 load 119 file_path_r call 120 ir_call_emit_ir_emit_call1 void 4 110 116 118 119 call 121 pith_cstring_release void 1 116 @@ -134123,7 +133562,7 @@ load 125 node field 126 125 16 list children iconst 127 0 call 128 pith_list_get_value_strict int 2 126 127 -strref 129 m44s865 +strref 129 m44s866 call 130 ir_alias_registry_ir_resolve_json_call_name string 2 128 129 call 131 pith_cstring_release void 1 129 load 132 parsed_r @@ -134157,14 +133596,14 @@ load 158 node field 159 158 16 list children iconst 160 0 call 161 pith_list_get_value_strict int 2 159 160 -strref 162 m44s859 +strref 162 m44s860 call 163 ir_alias_registry_ir_resolve_json_call_name string 2 161 162 call 164 pith_cstring_release void 1 162 call 165 ir_decode_emit_ir_emit_json_pool_restore void 2 157 163 call 166 pith_cstring_release void 1 163 call 167 ir_builder_ir_reg int 0 store r 167 -strref 168 m44s753 +strref 168 m44s754 load 169 r call 170 int_to_string string 1 169 concat 171 168 170 @@ -134270,7 +133709,7 @@ call 255 types_get_type_info struct:TypeInfo 1 254 call 256 pith_struct_release void 1 253 store target_info 255 load 257 temp_name -strref 258 m44s869 +strref 258 m44s870 call 259 ir_builder_ir_new_temp_name string 1 258 call 260 pith_cstring_release void 1 258 call 261 pith_cstring_release void 1 257 @@ -134288,14 +133727,14 @@ load 270 node field 271 270 16 list children iconst 272 0 call 273 pith_list_get_value_strict int 2 271 272 -strref 274 m44s868 +strref 274 m44s869 call 275 ir_alias_registry_ir_resolve_json_call_name string 2 273 274 call 276 pith_cstring_release void 1 274 load 277 node field 278 277 16 list children iconst 279 0 call 280 pith_list_get_value_strict int 2 278 279 -strref 281 m44s867 +strref 281 m44s868 call 282 ir_alias_registry_ir_resolve_json_call_name string 2 280 281 call 283 pith_cstring_release void 1 281 call 284 ir_decode_emit_ir_emit_json_pool_mark struct:IrJsonPoolMark 2 275 282 @@ -134310,10 +133749,10 @@ load 290 node field 291 290 16 list children iconst 292 0 call 293 pith_list_get_value_strict int 2 291 292 -strref 294 m44s866 +strref 294 m44s867 call 295 ir_alias_registry_ir_resolve_json_call_name string 2 293 294 call 296 pith_cstring_release void 1 294 -strref 297 m44s666 +strref 297 m44s667 load 298 file_path_r call 299 ir_call_emit_ir_emit_call1 void 4 289 295 297 298 call 300 pith_cstring_release void 1 295 @@ -134325,7 +133764,7 @@ load 304 node field 305 304 16 list children iconst 306 0 call 307 pith_list_get_value_strict int 2 305 306 -strref 308 m44s865 +strref 308 m44s866 call 309 ir_alias_registry_ir_resolve_json_call_name string 2 307 308 call 310 pith_cstring_release void 1 308 load 311 parsed_r @@ -134336,44 +133775,44 @@ load 315 temp_name load 316 done_l call 317 ir_result_flow_ir_emit_result_store_error_branch void 3 314 315 316 load 318 current_name -strref 319 m44s864 +strref 319 m44s865 call 320 ir_builder_ir_new_temp_name string 1 319 call 321 pith_cstring_release void 1 319 call 322 pith_cstring_release void 1 318 store current_name 320 load 323 parts_name -strref 324 m44s863 +strref 324 m44s864 call 325 ir_builder_ir_new_temp_name string 1 324 call 326 pith_cstring_release void 1 324 call 327 pith_cstring_release void 1 323 store parts_name 325 load 328 len_name -strref 329 m44s862 +strref 329 m44s863 call 330 ir_builder_ir_new_temp_name string 1 329 call 331 pith_cstring_release void 1 329 call 332 pith_cstring_release void 1 328 store len_name 330 load 333 idx_name -strref 334 m44s861 +strref 334 m44s862 call 335 ir_builder_ir_new_temp_name string 1 334 call 336 pith_cstring_release void 1 334 call 337 pith_cstring_release void 1 333 store idx_name 335 load 338 ir_builder_ir_var_types load 339 current_name -strref 340 m44s666 +strref 340 m44s667 call 341 pith_map_insert_cstr_owned void 3 338 339 340 load 342 ir_builder_ir_var_types load 343 parts_name -strref 344 m44s665 +strref 344 m44s666 call 345 pith_map_insert_cstr_owned void 3 342 343 344 load 346 ir_builder_ir_var_types load 347 len_name -strref 348 m44s666 +strref 348 m44s667 call 349 pith_map_insert_cstr_owned void 3 346 347 348 load 350 ir_builder_ir_var_types load 351 idx_name -strref 352 m44s666 +strref 352 m44s667 call 353 pith_map_insert_cstr_owned void 3 350 351 352 load 354 root_result_r strref 355 m44s192 @@ -134387,7 +133826,7 @@ load 361 node field 362 361 16 list children iconst 363 0 call 364 pith_list_get_value_strict int 2 362 363 -strref 365 m44s860 +strref 365 m44s861 call 366 ir_alias_registry_ir_resolve_json_call_name string 2 364 365 call 367 pith_cstring_release void 1 365 strref 368 m44s192 @@ -134420,14 +133859,14 @@ load 393 node field 394 393 16 list children iconst 395 0 call 396 pith_list_get_value_strict int 2 394 395 -strref 397 m44s859 +strref 397 m44s860 call 398 ir_alias_registry_ir_resolve_json_call_name string 2 396 397 call 399 pith_cstring_release void 1 397 call 400 ir_decode_emit_ir_emit_json_pool_restore void 2 392 398 call 401 pith_cstring_release void 1 398 call 402 ir_builder_ir_reg int 0 store r 402 -strref 403 m44s753 +strref 403 m44s754 load 404 r call 405 int_to_string string 1 404 concat 406 403 405 @@ -134527,7 +133966,7 @@ brif 27 L504 L505 label L504 load 29 idx load 30 node -strref 31 m44s853 +strref 31 m44s854 load 32 emit_expr load 33 emit_value call 34 ir_decode_emit_ir_emit_config_file_decode_call int 5 29 30 31 32 33 @@ -134543,7 +133982,7 @@ brif 38 L507 L508 label L507 load 40 idx load 41 node -strref 42 m44s851 +strref 42 m44s852 load 43 emit_expr load 44 emit_value call 45 ir_decode_emit_ir_emit_config_file_decode_call int 5 40 41 42 43 44 @@ -134552,14 +133991,14 @@ ret 45 label L508 label L506 load 47 callee_idx -strref 48 m44s858 +strref 48 m44s859 call 49 ir_alias_registry_ir_is_config_file_decode_callee bool 2 47 48 call 50 pith_cstring_release void 1 48 brif 49 L510 L511 label L510 load 51 idx load 52 node -strref 53 m44s857 +strref 53 m44s858 iconst 54 1 load 55 emit_expr load 56 emit_value @@ -134569,14 +134008,14 @@ ret 57 label L511 label L509 load 59 callee_idx -strref 60 m44s856 +strref 60 m44s857 call 61 ir_alias_registry_ir_is_config_file_decode_callee bool 2 59 60 call 62 pith_cstring_release void 1 60 brif 61 L513 L514 label L513 load 63 idx load 64 node -strref 65 m44s855 +strref 65 m44s856 iconst 66 1 load 67 emit_expr load 68 emit_value @@ -134586,14 +134025,14 @@ ret 69 label L514 label L512 load 71 callee_idx -strref 72 m44s854 +strref 72 m44s855 call 73 ir_alias_registry_ir_is_config_file_decode_callee bool 2 71 72 call 74 pith_cstring_release void 1 72 brif 73 L516 L517 label L516 load 75 idx load 76 node -strref 77 m44s853 +strref 77 m44s854 iconst 78 1 load 79 emit_expr load 80 emit_value @@ -134603,14 +134042,14 @@ ret 81 label L517 label L515 load 83 callee_idx -strref 84 m44s852 +strref 84 m44s853 call 85 ir_alias_registry_ir_is_config_file_decode_callee bool 2 83 84 call 86 pith_cstring_release void 1 84 brif 85 L519 L520 label L519 load 87 idx load 88 node -strref 89 m44s851 +strref 89 m44s852 iconst 90 1 load 91 emit_expr load 92 emit_value @@ -135210,27 +134649,27 @@ store copy 3 load 5 names call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_304 7 -store __for_len_304 6 -store __for_iter_304 5 +store __for_idx_303 7 +store __for_len_303 6 +store __for_iter_303 5 label L0 -load 8 __for_idx_304 -load 9 __for_len_304 +load 8 __for_idx_303 +load 9 __for_len_303 lt 10 8 9 brif 10 L1 L3 label L1 -load 11 __for_iter_304 -load 12 __for_idx_304 +load 11 __for_iter_303 +load 12 __for_idx_303 call 13 pith_list_get_value_unchecked string 2 11 12 -store __loopvar_304_name 13 +store __loopvar_303_name 13 load 14 copy -load 15 __loopvar_304_name +load 15 __loopvar_303_name call 16 pith_list_push_value void 2 14 15 label L2 -load 17 __for_idx_304 +load 17 __for_idx_303 iconst 18 1 add 19 17 18 -store __for_idx_304 19 +store __for_idx_303 19 jmp L0 label L3 load 20 copy @@ -135476,21 +134915,21 @@ load 143 node field 144 143 16 list children call 145 pith_auto_len int 1 144 iconst 146 0 -store __for_idx_305 146 -store __for_len_305 145 -store __for_iter_305 144 +store __for_idx_304 146 +store __for_len_304 145 +store __for_iter_304 144 label L30 -load 147 __for_idx_305 -load 148 __for_len_305 +load 147 __for_idx_304 +load 148 __for_len_304 lt 149 147 148 brif 149 L31 L33 label L31 -load 150 __for_iter_305 -load 151 __for_idx_305 +load 150 __for_iter_304 +load 151 __for_idx_304 call 152 pith_list_get_value unknown 2 150 151 -store __loopvar_305_child 152 +store __loopvar_304_child 152 load 153 cn -load 154 __loopvar_305_child +load 154 __loopvar_304_child call 155 ast_get_node struct:Node 1 154 call 156 pith_struct_release void 1 153 store cn 155 @@ -135509,10 +134948,10 @@ jmp L34 label L36 label L34 label L32 -load 166 __for_idx_305 +load 166 __for_idx_304 iconst 167 1 add 168 166 167 -store __for_idx_305 168 +store __for_idx_304 168 jmp L30 label L33 load 169 updated_free @@ -135524,21 +134963,21 @@ load 173 node field 174 173 16 list children call 175 pith_auto_len int 1 174 iconst 176 0 -store __for_idx_306 176 -store __for_len_306 175 -store __for_iter_306 174 +store __for_idx_305 176 +store __for_len_305 175 +store __for_iter_305 174 label L37 -load 177 __for_idx_306 -load 178 __for_len_306 +load 177 __for_idx_305 +load 178 __for_len_305 lt 179 177 178 brif 179 L38 L40 label L38 -load 180 __for_iter_306 -load 181 __for_idx_306 +load 180 __for_iter_305 +load 181 __for_idx_305 call 182 pith_list_get_value unknown 2 180 181 -store __loopvar_306_child 182 +store __loopvar_305_child 182 load 183 cn -load 184 __loopvar_306_child +load 184 __loopvar_305_child call 185 ast_get_node struct:Node 1 184 call 186 pith_struct_release void 1 183 store cn 185 @@ -135563,7 +135002,7 @@ load 198 __or_187_44 brif 198 L42 L43 label L42 load 199 updated_free -load 200 __loopvar_306_child +load 200 __loopvar_305_child load 201 inner_bound load 202 updated_free load 203 blocked_names @@ -135575,10 +135014,10 @@ jmp L41 label L43 label L41 label L39 -load 207 __for_idx_306 +load 207 __for_idx_305 iconst 208 1 add 209 207 208 -store __for_idx_306 209 +store __for_idx_305 209 jmp L37 label L40 load 210 updated_free @@ -135635,21 +135074,21 @@ load 247 node field 248 247 16 list children call 249 pith_auto_len int 1 248 iconst 250 0 -store __for_idx_307 250 -store __for_len_307 249 -store __for_iter_307 248 +store __for_idx_306 250 +store __for_len_306 249 +store __for_iter_306 248 label L51 -load 251 __for_idx_307 -load 252 __for_len_307 +load 251 __for_idx_306 +load 252 __for_len_306 lt 253 251 252 brif 253 L52 L54 label L52 -load 254 __for_iter_307 -load 255 __for_idx_307 +load 254 __for_iter_306 +load 255 __for_idx_306 call 256 pith_list_get_value unknown 2 254 255 -store __loopvar_307_child 256 +store __loopvar_306_child 256 load 257 updated_free -load 258 __loopvar_307_child +load 258 __loopvar_306_child load 259 scoped_bound load 260 updated_free load 261 blocked_names @@ -135658,7 +135097,7 @@ call 263 ir_capture_ir_find_free_vars_walk list_string 5 258 259 260 261 262 call 264 pith_list_release_handle void 1 257 store updated_free 263 load 265 child_node -load 266 __loopvar_307_child +load 266 __loopvar_306_child call 267 ast_get_node struct:Node 1 266 call 268 pith_struct_release void 1 265 store child_node 267 @@ -135701,10 +135140,10 @@ jmp L55 label L57 label L55 label L53 -load 290 __for_idx_307 +load 290 __for_idx_306 iconst 291 1 add 292 290 291 -store __for_idx_307 292 +store __for_idx_306 292 jmp L51 label L54 load 293 updated_free @@ -135736,21 +135175,21 @@ load 314 node field 315 314 16 list children call 316 pith_auto_len int 1 315 iconst 317 0 -store __for_idx_308 317 -store __for_len_308 316 -store __for_iter_308 315 +store __for_idx_307 317 +store __for_len_307 316 +store __for_iter_307 315 label L63 -load 318 __for_idx_308 -load 319 __for_len_308 +load 318 __for_idx_307 +load 319 __for_len_307 lt 320 318 319 brif 320 L64 L66 label L64 -load 321 __for_iter_308 -load 322 __for_idx_308 +load 321 __for_iter_307 +load 322 __for_idx_307 call 323 pith_list_get_value unknown 2 321 322 -store __loopvar_308_child 323 +store __loopvar_307_child 323 load 324 updated_free -load 325 __loopvar_308_child +load 325 __loopvar_307_child load 326 bound load 327 updated_free load 328 blocked_names @@ -135759,10 +135198,10 @@ call 330 ir_capture_ir_find_free_vars_walk list_string 5 325 326 327 328 329 call 331 pith_list_release_handle void 1 324 store updated_free 330 label L65 -load 332 __for_idx_308 +load 332 __for_idx_307 iconst 333 1 add 334 332 333 -store __for_idx_308 334 +store __for_idx_307 334 jmp L63 label L66 load 335 updated_free @@ -136313,21 +135752,21 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_309 11 -store __for_len_309 10 -store __for_iter_309 9 +store __for_idx_308 11 +store __for_len_308 10 +store __for_iter_308 9 label L25 -load 12 __for_idx_309 -load 13 __for_len_309 +load 12 __for_idx_308 +load 13 __for_len_308 lt 14 12 13 brif 14 L26 L28 label L26 -load 15 __for_iter_309 -load 16 __for_idx_309 +load 15 __for_iter_308 +load 16 __for_idx_308 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_309_child 17 +store __loopvar_308_child 17 load 18 cn -load 19 __loopvar_309_child +load 19 __loopvar_308_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 @@ -136396,7 +135835,7 @@ label L39 load 60 __and_22_32 brif 60 L30 L31 label L30 -load 61 __loopvar_309_child +load 61 __loopvar_308_child store cond_idx 61 jmp L29 label L31 @@ -136420,16 +135859,16 @@ label L43 load 73 __or_62_42 brif 73 L40 L41 label L40 -load 74 __loopvar_309_child +load 74 __loopvar_308_child store body_idx 74 jmp L29 label L41 label L29 label L27 -load 75 __for_idx_309 +load 75 __for_idx_308 iconst 76 1 add 77 75 76 -store __for_idx_309 77 +store __for_idx_308 77 jmp L25 label L28 load 78 cond_idx @@ -136598,21 +136037,21 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_310 11 -store __for_len_310 10 -store __for_iter_310 9 +store __for_idx_309 11 +store __for_len_309 10 +store __for_iter_309 9 label L55 -load 12 __for_idx_310 -load 13 __for_len_310 +load 12 __for_idx_309 +load 13 __for_len_309 lt 14 12 13 brif 14 L56 L58 label L56 -load 15 __for_iter_310 -load 16 __for_idx_310 +load 15 __for_iter_309 +load 16 __for_idx_309 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_310_child 17 +store __loopvar_309_child 17 load 18 cn -load 19 __loopvar_310_child +load 19 __loopvar_309_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 @@ -136649,18 +136088,18 @@ label L65 load 40 __or_22_62 brif 40 L60 L61 label L60 -load 41 __loopvar_310_child +load 41 __loopvar_309_child store type_idx 41 jmp L59 label L61 -load 42 __loopvar_310_child +load 42 __loopvar_309_child store val_idx 42 label L59 label L57 -load 43 __for_idx_310 +load 43 __for_idx_309 iconst 44 1 add 45 43 44 -store __for_idx_310 45 +store __for_idx_309 45 jmp L55 label L58 load 46 node @@ -141268,154 +140707,155 @@ string m50s617 "': another impl block already declares it" string m50s618 "' on '" string m50s619 "duplicate method '" string m50s620 "E263" -string m50s621 "iface" -string m50s622 "inherent" -string m50s623 "assoc_type" -string m50s624 "' is a builtin type name and cannot be used as an enum name" -string m50s625 "E250" -string m50s626 "' must be " -string m50s627 "default for field '" -string m50s628 "' is a builtin type name and cannot be used as a struct name" -string m50s629 "' must be an optional struct type (T?)" -string m50s630 "weak field '" -string m50s631 "E249" -string m50s632 "parameter requires a type annotation" -string m50s633 "type_alias" -string m50s634 "interface_decl" -string m50s635 "unknown generic type: " -string m50s636 "Channel expects 1 type argument, got " -string m50s637 "Task expects 1 type argument, got " -string m50s638 "Map expects 2 type arguments, got " -string m50s639 "Set expects 1 type argument, got " -string m50s640 "List expects 1 type argument, got " -string m50s641 "type nesting too deep" -string m50s642 "E233" -string m50s643 "import it from the module that defines it" -string m50s644 "' is not declared by module '" -string m50s645 "E246" -string m50s646 "*" -string m50s647 "none" -string m50s648 "" -string m50s649 "fn" -string m50s650 "TypeInfo(" -string m50s651 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" -string m50s652 "name" -string m50s653 ", name: " -string m50s654 "fields" -string m50s655 ", fields: " -string m50s656 "field_types" -string m50s657 ", field_types: " -string m50s658 "field_pub" -string m50s659 ", field_pub: " -string m50s660 "field_mut" -string m50s661 ", field_mut: " -string m50s662 "param_types" -string m50s663 ", param_types: " -string m50s664 "return_type" -string m50s665 ", return_type: " -string m50s666 "inner" -string m50s667 ", inner: " -string m50s668 "key_type" -string m50s669 ", key_type: " -string m50s670 "value_type" -string m50s671 ", value_type: " -string m50s672 "elements" -string m50s673 ", elements: " -string m50s674 "variants" -string m50s675 ", variants: " -string m50s676 "variant_types" -string m50s677 ", variant_types: " -string m50s678 "-" -string m50s679 "unknown" -string m50s680 "closure" -string m50s681 "set_int" -string m50s682 "int" -string m50s683 "map_int" -string m50s684 "list_string" -string m50s685 "string" -string m50s686 "__" -string m50s687 "std_config_" -string m50s688 "std_json_" -string m50s689 "bool" -string m50s690 "not_op" -string m50s691 "!" -string m50s692 "integer" -string m50s693 "str_lit" -string m50s694 "float" -string m50s695 "list:" -string m50s696 "task:" -string m50s697 "channel:" -string m50s698 "bytes" -string m50s699 "struct:" -string m50s700 "opaque:" -string m50s701 "void" -string m50s702 "Set[UInt64]" -string m50s703 "Set[UInt32]" -string m50s704 "Set[UInt16]" -string m50s705 "Set[UInt8]" -string m50s706 "Set[Int64]" -string m50s707 "Set[Int32]" -string m50s708 "Set[Int16]" -string m50s709 "Set[Int8]" -string m50s710 "Set[UInt]" -string m50s711 "Set[Int]" -string m50s712 "Map[Int, " -string m50s713 "Map[Int," -string m50s714 "List[String]" -string m50s715 "parse_int failed" -string m50s716 "file_open_read failed" -string m50s717 "file_open_write failed" -string m50s718 "file_open_append failed" -string m50s719 "byte_buffer_write failed" -string m50s720 "byte_buffer_write_string_utf8 failed" -string m50s721 "byte_buffer_write_byte failed" -string m50s722 "file_write failed" -string m50s723 "file_write_bytes failed" -string m50s724 "tcp_connect failed" -string m50s725 "tcp_listen failed" -string m50s726 "tcp_accept failed" -string m50s727 "tcp_write failed" -string m50s728 "tcp_write_bytes failed" -string m50s729 "process_spawn failed" -string m50s730 "process_spawn_argv failed" -string m50s731 "process_output_argv failed" -string m50s732 "process_write failed" -string m50s733 "process_write_bytes failed" -string m50s734 "crypto_x25519_keygen failed" -string m50s735 "write_file failed" -string m50s736 "append_file failed" -string m50s737 "write_file_bytes failed" -string m50s738 "append_file_bytes failed" -string m50s739 "read_file failed" -string m50s740 "exec_output failed" -string m50s741 "dns_resolve failed" -string m50s742 "bytes_to_string_utf8 failed" -string m50s743 "bytes_substring_utf8 failed" -string m50s744 "file_read failed" -string m50s745 "tcp_read failed" -string m50s746 "process_read failed" -string m50s747 "process_read_err failed" -string m50s748 "read_file_bytes failed" -string m50s749 "b64_decode failed" -string m50s750 "from_hex failed" -string m50s751 "file_read_bytes failed" -string m50s752 "tcp_read_bytes failed" -string m50s753 "process_read_bytes failed" -string m50s754 "process_read_err_bytes failed" -string m50s755 "crypto_x25519_public_key failed" -string m50s756 "crypto_x25519_shared_secret failed" -string m50s757 "crypto_aes_128_gcm_seal failed" -string m50s758 "crypto_aes_128_gcm_open failed" -string m50s759 "crypto_chacha20_poly1305_seal failed" -string m50s760 "crypto_chacha20_poly1305_open failed" -string m50s761 "crypto_sign_rsa_pss_sha256_pkcs8 failed" -string m50s762 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" -string m50s763 "crypto_sign_ed25519_pkcs8 failed" -string m50s764 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" -string m50s765 "crypto_blake2b failed" -string m50s766 "crypto_argon2id failed" -string m50s767 "zstd_compress failed" -string m50s768 "zstd_decompress failed" +string m50s621 "#" +string m50s622 "iface" +string m50s623 "inherent" +string m50s624 "assoc_type" +string m50s625 "' is a builtin type name and cannot be used as an enum name" +string m50s626 "E250" +string m50s627 "' must be " +string m50s628 "default for field '" +string m50s629 "' is a builtin type name and cannot be used as a struct name" +string m50s630 "' must be an optional struct type (T?)" +string m50s631 "weak field '" +string m50s632 "E249" +string m50s633 "parameter requires a type annotation" +string m50s634 "type_alias" +string m50s635 "interface_decl" +string m50s636 "unknown generic type: " +string m50s637 "Channel expects 1 type argument, got " +string m50s638 "Task expects 1 type argument, got " +string m50s639 "Map expects 2 type arguments, got " +string m50s640 "Set expects 1 type argument, got " +string m50s641 "List expects 1 type argument, got " +string m50s642 "type nesting too deep" +string m50s643 "E233" +string m50s644 "import it from the module that defines it" +string m50s645 "' is not declared by module '" +string m50s646 "E246" +string m50s647 "*" +string m50s648 "none" +string m50s649 "" +string m50s650 "fn" +string m50s651 "TypeInfo(" +string m50s652 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" +string m50s653 "name" +string m50s654 ", name: " +string m50s655 "fields" +string m50s656 ", fields: " +string m50s657 "field_types" +string m50s658 ", field_types: " +string m50s659 "field_pub" +string m50s660 ", field_pub: " +string m50s661 "field_mut" +string m50s662 ", field_mut: " +string m50s663 "param_types" +string m50s664 ", param_types: " +string m50s665 "return_type" +string m50s666 ", return_type: " +string m50s667 "inner" +string m50s668 ", inner: " +string m50s669 "key_type" +string m50s670 ", key_type: " +string m50s671 "value_type" +string m50s672 ", value_type: " +string m50s673 "elements" +string m50s674 ", elements: " +string m50s675 "variants" +string m50s676 ", variants: " +string m50s677 "variant_types" +string m50s678 ", variant_types: " +string m50s679 "-" +string m50s680 "unknown" +string m50s681 "closure" +string m50s682 "set_int" +string m50s683 "int" +string m50s684 "map_int" +string m50s685 "list_string" +string m50s686 "string" +string m50s687 "__" +string m50s688 "std_config_" +string m50s689 "std_json_" +string m50s690 "bool" +string m50s691 "not_op" +string m50s692 "!" +string m50s693 "integer" +string m50s694 "str_lit" +string m50s695 "float" +string m50s696 "list:" +string m50s697 "task:" +string m50s698 "channel:" +string m50s699 "bytes" +string m50s700 "struct:" +string m50s701 "opaque:" +string m50s702 "void" +string m50s703 "Set[UInt64]" +string m50s704 "Set[UInt32]" +string m50s705 "Set[UInt16]" +string m50s706 "Set[UInt8]" +string m50s707 "Set[Int64]" +string m50s708 "Set[Int32]" +string m50s709 "Set[Int16]" +string m50s710 "Set[Int8]" +string m50s711 "Set[UInt]" +string m50s712 "Set[Int]" +string m50s713 "Map[Int, " +string m50s714 "Map[Int," +string m50s715 "List[String]" +string m50s716 "parse_int failed" +string m50s717 "file_open_read failed" +string m50s718 "file_open_write failed" +string m50s719 "file_open_append failed" +string m50s720 "byte_buffer_write failed" +string m50s721 "byte_buffer_write_string_utf8 failed" +string m50s722 "byte_buffer_write_byte failed" +string m50s723 "file_write failed" +string m50s724 "file_write_bytes failed" +string m50s725 "tcp_connect failed" +string m50s726 "tcp_listen failed" +string m50s727 "tcp_accept failed" +string m50s728 "tcp_write failed" +string m50s729 "tcp_write_bytes failed" +string m50s730 "process_spawn failed" +string m50s731 "process_spawn_argv failed" +string m50s732 "process_output_argv failed" +string m50s733 "process_write failed" +string m50s734 "process_write_bytes failed" +string m50s735 "crypto_x25519_keygen failed" +string m50s736 "write_file failed" +string m50s737 "append_file failed" +string m50s738 "write_file_bytes failed" +string m50s739 "append_file_bytes failed" +string m50s740 "read_file failed" +string m50s741 "exec_output failed" +string m50s742 "dns_resolve failed" +string m50s743 "bytes_to_string_utf8 failed" +string m50s744 "bytes_substring_utf8 failed" +string m50s745 "file_read failed" +string m50s746 "tcp_read failed" +string m50s747 "process_read failed" +string m50s748 "process_read_err failed" +string m50s749 "read_file_bytes failed" +string m50s750 "b64_decode failed" +string m50s751 "from_hex failed" +string m50s752 "file_read_bytes failed" +string m50s753 "tcp_read_bytes failed" +string m50s754 "process_read_bytes failed" +string m50s755 "process_read_err_bytes failed" +string m50s756 "crypto_x25519_public_key failed" +string m50s757 "crypto_x25519_shared_secret failed" +string m50s758 "crypto_aes_128_gcm_seal failed" +string m50s759 "crypto_aes_128_gcm_open failed" +string m50s760 "crypto_chacha20_poly1305_seal failed" +string m50s761 "crypto_chacha20_poly1305_open failed" +string m50s762 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m50s763 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" +string m50s764 "crypto_sign_ed25519_pkcs8 failed" +string m50s765 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" +string m50s766 "crypto_blake2b failed" +string m50s767 "crypto_argon2id failed" +string m50s768 "zstd_compress failed" +string m50s769 "zstd_decompress failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -141724,26 +141164,26 @@ label L12 load 30 generic_params call 31 pith_auto_len int 1 30 iconst 32 0 -store __for_idx_311 32 -store __for_len_311 31 -store __for_iter_311 30 +store __for_idx_310 32 +store __for_len_310 31 +store __for_iter_310 30 label L14 -load 33 __for_idx_311 -load 34 __for_len_311 +load 33 __for_idx_310 +load 34 __for_len_310 lt 35 33 34 brif 35 L15 L17 label L15 -load 36 __for_iter_311 -load 37 __for_idx_311 +load 36 __for_iter_310 +load 37 __for_idx_310 call 38 pith_list_get_value_unchecked string 2 36 37 -store __loopvar_311_gp 38 -load 39 __loopvar_311_gp +store __loopvar_310_gp 38 +load 39 __loopvar_310_gp load 40 node field 41 40 8 string value call 42 pith_cstring_eq bool 2 39 41 brif 42 L19 L20 label L19 -load 43 __loopvar_311_gp +load 43 __loopvar_310_gp load 44 actual_tid call 45 ir_generic_infer_ir_bind_inferred_generic_runtime_type bool 2 43 44 load 46 node @@ -141756,10 +141196,10 @@ ret 45 label L20 label L18 label L16 -load 52 __for_idx_311 +load 52 __for_idx_310 iconst 53 1 add 54 52 53 -store __for_idx_311 54 +store __for_idx_310 54 jmp L14 label L17 iconst 55 1 @@ -142256,32 +141696,32 @@ load 399 node field 400 399 16 list children call 401 pith_auto_len int 1 400 iconst 402 0 -store __for_idx_312 402 -store __for_len_312 401 -store __for_iter_312 400 +store __for_idx_311 402 +store __for_len_311 401 +store __for_iter_311 400 label L97 -load 403 __for_idx_312 -load 404 __for_len_312 +load 403 __for_idx_311 +load 404 __for_len_311 lt 405 403 404 brif 405 L98 L100 label L98 -load 406 __for_iter_312 -load 407 __for_idx_312 +load 406 __for_iter_311 +load 407 __for_idx_311 call 408 pith_list_get_value unknown 2 406 407 -store __loopvar_312_child 408 -load 409 __for_idx_312 -store __loopvar_312_i 409 -load 410 __loopvar_312_i +store __loopvar_311_child 408 +load 409 __for_idx_311 +store __loopvar_311_i 409 +load 410 __loopvar_311_i load 411 actual_info field 412 411 88 list elements call 413 pith_list_len int 1 412 lt 414 410 413 brif 414 L102 L103 label L102 -load 415 __loopvar_312_child +load 415 __loopvar_311_child load 416 actual_info field 417 416 88 list elements -load 418 __loopvar_312_i +load 418 __loopvar_311_i call 419 pith_list_get_value_strict int 2 417 418 load 420 generic_params call 421 ir_generic_infer_ir_infer_generic_runtime_types_from_node bool 3 415 419 420 @@ -142303,10 +141743,10 @@ jmp L101 label L103 label L101 label L99 -load 431 __for_idx_312 +load 431 __for_idx_311 iconst 432 1 add 433 431 432 -store __for_idx_312 433 +store __for_idx_311 433 jmp L97 label L100 jmp L94 @@ -142342,21 +141782,21 @@ load 452 node field 453 452 16 list children call 454 pith_auto_len int 1 453 iconst 455 0 -store __for_idx_313 455 -store __for_len_313 454 -store __for_iter_313 453 +store __for_idx_312 455 +store __for_len_312 454 +store __for_iter_312 453 label L113 -load 456 __for_idx_313 -load 457 __for_len_313 +load 456 __for_idx_312 +load 457 __for_len_312 lt 458 456 457 brif 458 L114 L116 label L114 -load 459 __for_iter_313 -load 460 __for_idx_313 +load 459 __for_iter_312 +load 460 __for_idx_312 call 461 pith_list_get_value unknown 2 459 460 -store __loopvar_313_child 461 +store __loopvar_312_child 461 load 462 cn -load 463 __loopvar_313_child +load 463 __loopvar_312_child call 464 ast_get_node struct:Node 1 463 call 465 pith_struct_release void 1 462 store cn 464 @@ -142445,10 +141885,10 @@ ret 517 label L127 label L117 label L115 -load 524 __for_idx_313 +load 524 __for_idx_312 iconst 525 1 add 526 524 525 -store __for_idx_313 526 +store __for_idx_312 526 jmp L113 label L116 jmp L110 @@ -142542,21 +141982,21 @@ load 41 decl_node field 42 41 16 list children call 43 pith_auto_len int 1 42 iconst 44 0 -store __for_idx_314 44 -store __for_len_314 43 -store __for_iter_314 42 +store __for_idx_313 44 +store __for_len_313 43 +store __for_iter_313 42 label L133 -load 45 __for_idx_314 -load 46 __for_len_314 +load 45 __for_idx_313 +load 46 __for_len_313 lt 47 45 46 brif 47 L134 L136 label L134 -load 48 __for_iter_314 -load 49 __for_idx_314 +load 48 __for_iter_313 +load 49 __for_idx_313 call 50 pith_list_get_value unknown 2 48 49 -store __loopvar_314_child 50 +store __loopvar_313_child 50 load 51 cn -load 52 __loopvar_314_child +load 52 __loopvar_313_child call 53 ast_get_node struct:Node 1 52 call 54 pith_struct_release void 1 51 store cn 53 @@ -142592,10 +142032,10 @@ jmp L137 label L139 label L137 label L135 -load 76 __for_idx_314 +load 76 __for_idx_313 iconst 77 1 add 78 76 77 -store __for_idx_314 78 +store __for_idx_313 78 jmp L133 label L136 load 79 arg_tids @@ -142606,22 +142046,22 @@ load 82 node field 83 82 16 list children call 84 pith_auto_len int 1 83 iconst 85 0 -store __for_idx_315 85 -store __for_len_315 84 -store __for_iter_315 83 +store __for_idx_314 85 +store __for_len_314 84 +store __for_iter_314 83 label L143 -load 86 __for_idx_315 -load 87 __for_len_315 +load 86 __for_idx_314 +load 87 __for_len_314 lt 88 86 87 brif 88 L144 L146 label L144 -load 89 __for_iter_315 -load 90 __for_idx_315 +load 89 __for_iter_314 +load 90 __for_idx_314 call 91 pith_list_get_value unknown 2 89 90 -store __loopvar_315_child 91 -load 92 __for_idx_315 -store __loopvar_315_i 92 -load 93 __loopvar_315_i +store __loopvar_314_child 91 +load 92 __for_idx_314 +store __loopvar_314_i 92 +load 93 __loopvar_314_i iconst 94 0 eq 95 93 94 brif 95 L148 L149 @@ -142629,9 +142069,9 @@ label L148 jmp L145 label L149 label L147 -load 96 __loopvar_315_child +load 96 __loopvar_314_child store expr_idx 96 -load 97 __loopvar_315_child +load 97 __loopvar_314_child call 98 ast_node_kind string 1 97 strref 99 m50s42 call 100 pith_cstring_eq bool 2 98 99 @@ -142640,7 +142080,7 @@ call 102 pith_cstring_release void 1 99 brif 100 L151 L152 label L151 load 103 cn -load 104 __loopvar_315_child +load 104 __loopvar_314_child call 105 ast_get_node struct:Node 1 104 call 106 pith_struct_release void 1 103 store cn 105 @@ -142667,10 +142107,10 @@ load 117 expr_idx call 118 checker_c_get_expr_type int 1 117 call 119 pith_list_push_value void 2 116 118 label L145 -load 120 __for_idx_315 +load 120 __for_idx_314 iconst 121 1 add 122 120 121 -store __for_idx_315 122 +store __for_idx_314 122 jmp L143 label L146 call 123 pith_map_new_cstr_val map 0 @@ -142732,40 +142172,40 @@ store concrete_types 157 load 159 generic_params call 160 pith_auto_len int 1 159 iconst 161 0 -store __for_idx_316 161 -store __for_len_316 160 -store __for_iter_316 159 +store __for_idx_315 161 +store __for_len_315 160 +store __for_iter_315 159 label L164 -load 162 __for_idx_316 -load 163 __for_len_316 +load 162 __for_idx_315 +load 163 __for_len_315 lt 164 162 163 brif 164 L165 L167 label L165 -load 165 __for_iter_316 -load 166 __for_idx_316 +load 165 __for_iter_315 +load 166 __for_idx_315 call 167 pith_list_get_value_unchecked string 2 165 166 -store __loopvar_316_gp 167 +store __loopvar_315_gp 167 load 168 ir_generic_infer_ir_generic_infer_subst -load 169 __loopvar_316_gp +load 169 __loopvar_315_gp call 170 contains_key bool 2 168 169 brif 170 L169 L170 label L169 load 171 concrete_types load 172 ir_generic_infer_ir_generic_infer_subst -load 173 __loopvar_316_gp +load 173 __loopvar_315_gp call 174 map_get_strict string 2 172 173 call 175 pith_list_push_value void 2 171 174 jmp L168 label L170 load 176 concrete_types -strref 177 m50s679 +strref 177 m50s680 call 178 pith_list_push_value_owned void 2 176 177 label L168 label L166 -load 179 __for_idx_316 +load 179 __for_idx_315 iconst 180 1 add 181 179 180 -store __for_idx_316 181 +store __for_idx_315 181 jmp L164 label L167 load 182 concrete_types @@ -142824,21 +142264,21 @@ load 14 decl_node field 15 14 16 list children call 16 pith_auto_len int 1 15 iconst 17 0 -store __for_idx_317 17 -store __for_len_317 16 -store __for_iter_317 15 +store __for_idx_316 17 +store __for_len_316 16 +store __for_iter_316 15 label L171 -load 18 __for_idx_317 -load 19 __for_len_317 +load 18 __for_idx_316 +load 19 __for_len_316 lt 20 18 19 brif 20 L172 L174 label L172 -load 21 __for_iter_317 -load 22 __for_idx_317 +load 21 __for_iter_316 +load 22 __for_idx_316 call 23 pith_list_get_value unknown 2 21 22 -store __loopvar_317_child 23 +store __loopvar_316_child 23 load 24 cn -load 25 __loopvar_317_child +load 25 __loopvar_316_child call 26 ast_get_node struct:Node 1 25 call 27 pith_struct_release void 1 24 store cn 26 @@ -142891,21 +142331,21 @@ load 60 cn field 61 60 16 list children call 62 pith_auto_len int 1 61 iconst 63 0 -store __for_idx_318 63 -store __for_len_318 62 -store __for_iter_318 61 +store __for_idx_317 63 +store __for_len_317 62 +store __for_iter_317 61 label L184 -load 64 __for_idx_318 -load 65 __for_len_318 +load 64 __for_idx_317 +load 65 __for_len_317 lt 66 64 65 brif 66 L185 L187 label L185 -load 67 __for_iter_318 -load 68 __for_idx_318 +load 67 __for_iter_317 +load 68 __for_idx_317 call 69 pith_list_get_value unknown 2 67 68 -store __loopvar_318_bound_idx 69 +store __loopvar_317_bound_idx 69 load 70 bound_node -load 71 __loopvar_318_bound_idx +load 71 __loopvar_317_bound_idx call 72 ast_get_node struct:Node 1 71 call 73 pith_struct_release void 1 70 store bound_node 72 @@ -142976,20 +142416,20 @@ store is_gp 119 load 120 generic_params call 121 pith_auto_len int 1 120 iconst 122 0 -store __for_idx_319 122 -store __for_len_319 121 -store __for_iter_319 120 +store __for_idx_318 122 +store __for_len_318 121 +store __for_iter_318 120 label L196 -load 123 __for_idx_319 -load 124 __for_len_319 +load 123 __for_idx_318 +load 124 __for_len_318 lt 125 123 124 brif 125 L197 L199 label L197 -load 126 __for_iter_319 -load 127 __for_idx_319 +load 126 __for_iter_318 +load 127 __for_idx_318 call 128 pith_list_get_value_unchecked string 2 126 127 -store __loopvar_319_gp 128 -load 129 __loopvar_319_gp +store __loopvar_318_gp 128 +load 129 __loopvar_318_gp load 130 ban call 131 pith_cstring_eq bool 2 129 130 brif 131 L201 L202 @@ -143000,10 +142440,10 @@ jmp L200 label L202 label L200 label L198 -load 133 __for_idx_319 +load 133 __for_idx_318 iconst 134 1 add 135 133 134 -store __for_idx_319 135 +store __for_idx_318 135 jmp L196 label L199 iconst 136 0 @@ -143050,10 +142490,10 @@ jmp L188 label L190 label L188 label L186 -load 157 __for_idx_318 +load 157 __for_idx_317 iconst 158 1 add 159 157 158 -store __for_idx_318 159 +store __for_idx_317 159 jmp L184 label L187 jmp L178 @@ -143063,10 +142503,10 @@ jmp L175 label L177 label L175 label L173 -load 160 __for_idx_317 +load 160 __for_idx_316 iconst 161 1 add 162 160 161 -store __for_idx_317 162 +store __for_idx_316 162 jmp L171 label L174 load 163 cn @@ -143829,256 +143269,256 @@ string m51s617 "': another impl block already declares it" string m51s618 "' on '" string m51s619 "duplicate method '" string m51s620 "E263" -string m51s621 "iface" -string m51s622 "inherent" -string m51s623 "assoc_type" -string m51s624 "' is a builtin type name and cannot be used as an enum name" -string m51s625 "E250" -string m51s626 "' must be " -string m51s627 "default for field '" -string m51s628 "' is a builtin type name and cannot be used as a struct name" -string m51s629 "' must be an optional struct type (T?)" -string m51s630 "weak field '" -string m51s631 "E249" -string m51s632 "parameter requires a type annotation" -string m51s633 "type_alias" -string m51s634 "interface_decl" -string m51s635 "unknown generic type: " -string m51s636 "Channel expects 1 type argument, got " -string m51s637 "Task expects 1 type argument, got " -string m51s638 "Map expects 2 type arguments, got " -string m51s639 "Set expects 1 type argument, got " -string m51s640 "List expects 1 type argument, got " -string m51s641 "type nesting too deep" -string m51s642 "E233" -string m51s643 "import it from the module that defines it" -string m51s644 "' is not declared by module '" -string m51s645 "E246" -string m51s646 "*" -string m51s647 "none" -string m51s648 "" -string m51s649 "fn" -string m51s650 "TypeInfo(" -string m51s651 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" -string m51s652 "name" -string m51s653 ", name: " -string m51s654 "fields" -string m51s655 ", fields: " -string m51s656 "field_types" -string m51s657 ", field_types: " -string m51s658 "field_pub" -string m51s659 ", field_pub: " -string m51s660 "field_mut" -string m51s661 ", field_mut: " -string m51s662 "param_types" -string m51s663 ", param_types: " -string m51s664 "return_type" -string m51s665 ", return_type: " -string m51s666 "inner" -string m51s667 ", inner: " -string m51s668 "key_type" -string m51s669 ", key_type: " -string m51s670 "value_type" -string m51s671 ", value_type: " -string m51s672 "elements" -string m51s673 ", elements: " -string m51s674 "variants" -string m51s675 ", variants: " -string m51s676 "variant_types" -string m51s677 ", variant_types: " -string m51s678 "pith_semaphore_release" -string m51s679 "pith_semaphore_acquire" -string m51s680 "opaque:Semaphore" -string m51s681 "pith_waitgroup_wait" -string m51s682 "pith_waitgroup_done" -string m51s683 "pith_waitgroup_add" -string m51s684 "opaque:WaitGroup" -string m51s685 "pith_mutex_unlock" -string m51s686 "pith_mutex_lock" -string m51s687 "opaque:Mutex" -string m51s688 "pith_atomic_int_compare_set" -string m51s689 "pith_atomic_int_set" -string m51s690 "pith_atomic_int_get" -string m51s691 "opaque:AtomicInt" -string m51s692 "pith_task_detach" -string m51s693 "pith_task_is_done" -string m51s694 "pith_channel_is_closed" -string m51s695 "pith_channel_close" -string m51s696 "pith_channel_try_recv" -string m51s697 "pith_channel_recv" -string m51s698 "pith_channel_try_send" -string m51s699 "pith_channel_send" -string m51s700 "pith_channel_cap" -string m51s701 "pith_channel_len" -string m51s702 "identity" -string m51s703 "int_to_string" -string m51s704 "bool_to_string" -string m51s705 "float_to_string" -string m51s706 "task:" -string m51s707 "channel:" -string m51s708 "list:" -string m51s709 "list_string" -string m51s710 "set_int" -string m51s711 "map_int" -string m51s712 "int" -string m51s713 "float" -string m51s714 "bool" -string m51s715 "bytes" -string m51s716 "string" -string m51s717 "set_remove" -string m51s718 "set_remove_int" -string m51s719 "set_clear" -string m51s720 "set_is_empty" -string m51s721 "set_contains" -string m51s722 "set_contains_int" -string m51s723 "set_add" -string m51s724 "set_add_int" -string m51s725 "set_len" -string m51s726 "map_get_opt" -string m51s727 "map_get_ikey_opt" -string m51s728 "map_get_default" -string m51s729 "map_get_default_ikey" -string m51s730 "map_take" -string m51s731 "map_take_ikey" -string m51s732 "map_remove" -string m51s733 "map_remove_ikey" -string m51s734 "map_insert" -string m51s735 "map_insert_ikey" -string m51s736 "map_contains_ikey" -string m51s737 "map_values" -string m51s738 "map_keys" -string m51s739 "map_keys_ikey" -string m51s740 "map_clear" -string m51s741 "map_is_empty" -string m51s742 "map_len" -string m51s743 "pith_list_last_opt" -string m51s744 "pith_list_first_opt" -string m51s745 "pith_list_get_opt" -string m51s746 "list_clear" -string m51s747 "list_reverse" -string m51s748 "list_join" -string m51s749 "list_sort_copy" -string m51s750 "list_sort_strings_copy" -string m51s751 "list_slice_copy" -string m51s752 "list_insert" -string m51s753 "pith_list_len" -string m51s754 "bytes_to_string_utf8" -string m51s755 "bytes_concat" -string m51s756 "bytes_slice" -string m51s757 "bytes_is_empty" -string m51s758 "bytes_len" -string m51s759 "pith_cstring_char_at_opt" -string m51s760 "string_is_empty" -string m51s761 "string_len" -string m51s762 "pith_cstring_pad_right" -string m51s763 "pith_cstring_pad_left" -string m51s764 "pith_int_to_float" -string m51s765 "pith_float_to_int" -string m51s766 "pith_cstring_eq" -string m51s767 "__str_eq" -string m51s768 "pith_closure_get_env" -string m51s769 "__closure_get_env" -string m51s770 "pith_closure_set_env" -string m51s771 "__closure_set_env" -string m51s772 "pith_struct_alloc" -string m51s773 "__struct_alloc" -string m51s774 "pith_set_to_list_int_handle" -string m51s775 "__set_to_list_int" -string m51s776 "pith_set_to_list_cstr" -string m51s777 "__set_to_list" -string m51s778 "pith_set_new_int" -string m51s779 "__set_new_int" -string m51s780 "pith_set_new_default" -string m51s781 "__set_new" -string m51s782 "pith_cstring_release" -string m51s783 "__cstring_release" -string m51s784 "pith_cstring_retain" -string m51s785 "__cstring_retain" -string m51s786 "pith_map_new_int_cstr_val" -string m51s787 "__map_new_int_str_val" -string m51s788 "pith_map_new_cstr_val" -string m51s789 "__map_new_str_val" -string m51s790 "pith_map_new_int" -string m51s791 "__map_new_int" -string m51s792 "pith_map_new_default" -string m51s793 "__map_new" -string m51s794 "pith_list_push_value" -string m51s795 "__list_push" -string m51s796 "pith_list_new_set" -string m51s797 "__list_new_set" -string m51s798 "pith_list_new_closure" -string m51s799 "__list_new_closure" -string m51s800 "pith_list_new_bytes" -string m51s801 "__list_new_bytes" -string m51s802 "pith_list_new_struct" -string m51s803 "__list_new_struct" -string m51s804 "pith_list_new_nested_map" -string m51s805 "__list_new_map" -string m51s806 "pith_list_new_nested_list" -string m51s807 "__list_new_list" -string m51s808 "pith_list_new_cstr" -string m51s809 "__list_new_str" -string m51s810 "pith_list_new_default" -string m51s811 "__list_new" -string m51s812 "pith_list_get_value_unchecked" -string m51s813 "__list_get_unchecked" -string m51s814 "pith_list_get_value_strict" -string m51s815 "__list_get_strict" -string m51s816 "pith_list_get_value" -string m51s817 "__index" -string m51s818 "__list_get" -string m51s819 "pith_list_sort_strings" -string m51s820 "sort_strings" -string m51s821 "pith_list_set_value" -string m51s822 "pith_list_pop" -string m51s823 "pop" -string m51s824 "pith_cstring_is_empty" -string m51s825 "pith_cstring_reverse" -string m51s826 "pith_cstring_chars" -string m51s827 "pith_cstring_char_at_strict" -string m51s828 "char_at_strict" -string m51s829 "pith_cstring_char_at" -string m51s830 "char_at" -string m51s831 "pith_cstring_last_index_of" -string m51s832 "string_last_index_of" -string m51s833 "pith_cstring_index_of" -string m51s834 "string_index_of" -string m51s835 "pith_cstring_repeat" -string m51s836 "pith_cstring_replace" -string m51s837 "pith_cstring_to_lower" -string m51s838 "pith_cstring_to_upper" -string m51s839 "pith_string_split_to_list" -string m51s840 "pith_cstring_trim" -string m51s841 "pith_cstring_ends_with" -string m51s842 "pith_cstring_starts_with" -string m51s843 "pith_cstring_substring" -string m51s844 "pith_cstring_contains" -string m51s845 "string_contains" -string m51s846 "pith_auto_len" -string m51s847 "pith_await" -string m51s848 "pith_spawn" -string m51s849 "pith_print_cstr" -string m51s850 "print" -string m51s851 "parse_int" -string m51s852 "result_bool" -string m51s853 "result_int" -string m51s854 "parse_float" -string m51s855 "term_read,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_sign_rsa_pkcs1_sha256_pkcs8,crypto_sign_ed25519_pkcs8,crypto_sign_ecdsa_p256_sha256_pkcs8,crypto_blake2b,crypto_argon2id,zstd_compress,zstd_decompress" -string m51s856 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" -string m51s857 "write_file,append_file,write_file_bytes,append_file_bytes" -string m51s858 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" -string m51s859 "trim,substring,to_upper,to_lower,reverse,replace,repeat,pad_left,pad_right,char_at,join,list_join,list_join_int,read_file,env,chr" -string m51s860 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list_reverse,map_insert,map_insert_ikey,map_remove,map_remove_ikey,map_clear,set_add,set_add_int,set_remove,set_remove_int,set_clear,detach,lock,unlock,done,wait,acquire,release,store" -string m51s861 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" -string m51s862 "sort_strings,zip,enumerate,toml_keys" -string m51s863 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" -string m51s864 "term_read,bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_sign_rsa_pkcs1_sha256_pkcs8,crypto_sign_ed25519_pkcs8,crypto_sign_ecdsa_p256_sha256_pkcs8,crypto_blake2b,crypto_argon2id,zstd_compress,zstd_decompress" -string m51s865 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" -string m51s866 "term_size,term_write,abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,os_pid,signal_notify,signal_wait,signal_raise,tcp_shutdown,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" -string m51s867 "term_is_tty,term_raw_enter,term_restore,file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" -string m51s868 "pow,sqrt,floor,ceil,round,to_float,get_float,float_from_bits" -string m51s869 "unknown" -string m51s870 "#" +string m51s621 "#" +string m51s622 "iface" +string m51s623 "inherent" +string m51s624 "assoc_type" +string m51s625 "' is a builtin type name and cannot be used as an enum name" +string m51s626 "E250" +string m51s627 "' must be " +string m51s628 "default for field '" +string m51s629 "' is a builtin type name and cannot be used as a struct name" +string m51s630 "' must be an optional struct type (T?)" +string m51s631 "weak field '" +string m51s632 "E249" +string m51s633 "parameter requires a type annotation" +string m51s634 "type_alias" +string m51s635 "interface_decl" +string m51s636 "unknown generic type: " +string m51s637 "Channel expects 1 type argument, got " +string m51s638 "Task expects 1 type argument, got " +string m51s639 "Map expects 2 type arguments, got " +string m51s640 "Set expects 1 type argument, got " +string m51s641 "List expects 1 type argument, got " +string m51s642 "type nesting too deep" +string m51s643 "E233" +string m51s644 "import it from the module that defines it" +string m51s645 "' is not declared by module '" +string m51s646 "E246" +string m51s647 "*" +string m51s648 "none" +string m51s649 "" +string m51s650 "fn" +string m51s651 "TypeInfo(" +string m51s652 "skind,sname,fields,field_types,field_pub,field_mut,param_types,ireturn_type,iinner,ikey_type,ivalue_type,elements,variants,variant_types" +string m51s653 "name" +string m51s654 ", name: " +string m51s655 "fields" +string m51s656 ", fields: " +string m51s657 "field_types" +string m51s658 ", field_types: " +string m51s659 "field_pub" +string m51s660 ", field_pub: " +string m51s661 "field_mut" +string m51s662 ", field_mut: " +string m51s663 "param_types" +string m51s664 ", param_types: " +string m51s665 "return_type" +string m51s666 ", return_type: " +string m51s667 "inner" +string m51s668 ", inner: " +string m51s669 "key_type" +string m51s670 ", key_type: " +string m51s671 "value_type" +string m51s672 ", value_type: " +string m51s673 "elements" +string m51s674 ", elements: " +string m51s675 "variants" +string m51s676 ", variants: " +string m51s677 "variant_types" +string m51s678 ", variant_types: " +string m51s679 "pith_semaphore_release" +string m51s680 "pith_semaphore_acquire" +string m51s681 "opaque:Semaphore" +string m51s682 "pith_waitgroup_wait" +string m51s683 "pith_waitgroup_done" +string m51s684 "pith_waitgroup_add" +string m51s685 "opaque:WaitGroup" +string m51s686 "pith_mutex_unlock" +string m51s687 "pith_mutex_lock" +string m51s688 "opaque:Mutex" +string m51s689 "pith_atomic_int_compare_set" +string m51s690 "pith_atomic_int_set" +string m51s691 "pith_atomic_int_get" +string m51s692 "opaque:AtomicInt" +string m51s693 "pith_task_detach" +string m51s694 "pith_task_is_done" +string m51s695 "pith_channel_is_closed" +string m51s696 "pith_channel_close" +string m51s697 "pith_channel_try_recv" +string m51s698 "pith_channel_recv" +string m51s699 "pith_channel_try_send" +string m51s700 "pith_channel_send" +string m51s701 "pith_channel_cap" +string m51s702 "pith_channel_len" +string m51s703 "identity" +string m51s704 "int_to_string" +string m51s705 "bool_to_string" +string m51s706 "float_to_string" +string m51s707 "task:" +string m51s708 "channel:" +string m51s709 "list:" +string m51s710 "list_string" +string m51s711 "set_int" +string m51s712 "map_int" +string m51s713 "int" +string m51s714 "float" +string m51s715 "bool" +string m51s716 "bytes" +string m51s717 "string" +string m51s718 "set_remove" +string m51s719 "set_remove_int" +string m51s720 "set_clear" +string m51s721 "set_is_empty" +string m51s722 "set_contains" +string m51s723 "set_contains_int" +string m51s724 "set_add" +string m51s725 "set_add_int" +string m51s726 "set_len" +string m51s727 "map_get_opt" +string m51s728 "map_get_ikey_opt" +string m51s729 "map_get_default" +string m51s730 "map_get_default_ikey" +string m51s731 "map_take" +string m51s732 "map_take_ikey" +string m51s733 "map_remove" +string m51s734 "map_remove_ikey" +string m51s735 "map_insert" +string m51s736 "map_insert_ikey" +string m51s737 "map_contains_ikey" +string m51s738 "map_values" +string m51s739 "map_keys" +string m51s740 "map_keys_ikey" +string m51s741 "map_clear" +string m51s742 "map_is_empty" +string m51s743 "map_len" +string m51s744 "pith_list_last_opt" +string m51s745 "pith_list_first_opt" +string m51s746 "pith_list_get_opt" +string m51s747 "list_clear" +string m51s748 "list_reverse" +string m51s749 "list_join" +string m51s750 "list_sort_copy" +string m51s751 "list_sort_strings_copy" +string m51s752 "list_slice_copy" +string m51s753 "list_insert" +string m51s754 "pith_list_len" +string m51s755 "bytes_to_string_utf8" +string m51s756 "bytes_concat" +string m51s757 "bytes_slice" +string m51s758 "bytes_is_empty" +string m51s759 "bytes_len" +string m51s760 "pith_cstring_char_at_opt" +string m51s761 "string_is_empty" +string m51s762 "string_len" +string m51s763 "pith_cstring_pad_right" +string m51s764 "pith_cstring_pad_left" +string m51s765 "pith_int_to_float" +string m51s766 "pith_float_to_int" +string m51s767 "pith_cstring_eq" +string m51s768 "__str_eq" +string m51s769 "pith_closure_get_env" +string m51s770 "__closure_get_env" +string m51s771 "pith_closure_set_env" +string m51s772 "__closure_set_env" +string m51s773 "pith_struct_alloc" +string m51s774 "__struct_alloc" +string m51s775 "pith_set_to_list_int_handle" +string m51s776 "__set_to_list_int" +string m51s777 "pith_set_to_list_cstr" +string m51s778 "__set_to_list" +string m51s779 "pith_set_new_int" +string m51s780 "__set_new_int" +string m51s781 "pith_set_new_default" +string m51s782 "__set_new" +string m51s783 "pith_cstring_release" +string m51s784 "__cstring_release" +string m51s785 "pith_cstring_retain" +string m51s786 "__cstring_retain" +string m51s787 "pith_map_new_int_cstr_val" +string m51s788 "__map_new_int_str_val" +string m51s789 "pith_map_new_cstr_val" +string m51s790 "__map_new_str_val" +string m51s791 "pith_map_new_int" +string m51s792 "__map_new_int" +string m51s793 "pith_map_new_default" +string m51s794 "__map_new" +string m51s795 "pith_list_push_value" +string m51s796 "__list_push" +string m51s797 "pith_list_new_set" +string m51s798 "__list_new_set" +string m51s799 "pith_list_new_closure" +string m51s800 "__list_new_closure" +string m51s801 "pith_list_new_bytes" +string m51s802 "__list_new_bytes" +string m51s803 "pith_list_new_struct" +string m51s804 "__list_new_struct" +string m51s805 "pith_list_new_nested_map" +string m51s806 "__list_new_map" +string m51s807 "pith_list_new_nested_list" +string m51s808 "__list_new_list" +string m51s809 "pith_list_new_cstr" +string m51s810 "__list_new_str" +string m51s811 "pith_list_new_default" +string m51s812 "__list_new" +string m51s813 "pith_list_get_value_unchecked" +string m51s814 "__list_get_unchecked" +string m51s815 "pith_list_get_value_strict" +string m51s816 "__list_get_strict" +string m51s817 "pith_list_get_value" +string m51s818 "__index" +string m51s819 "__list_get" +string m51s820 "pith_list_sort_strings" +string m51s821 "sort_strings" +string m51s822 "pith_list_set_value" +string m51s823 "pith_list_pop" +string m51s824 "pop" +string m51s825 "pith_cstring_is_empty" +string m51s826 "pith_cstring_reverse" +string m51s827 "pith_cstring_chars" +string m51s828 "pith_cstring_char_at_strict" +string m51s829 "char_at_strict" +string m51s830 "pith_cstring_char_at" +string m51s831 "char_at" +string m51s832 "pith_cstring_last_index_of" +string m51s833 "string_last_index_of" +string m51s834 "pith_cstring_index_of" +string m51s835 "string_index_of" +string m51s836 "pith_cstring_repeat" +string m51s837 "pith_cstring_replace" +string m51s838 "pith_cstring_to_lower" +string m51s839 "pith_cstring_to_upper" +string m51s840 "pith_string_split_to_list" +string m51s841 "pith_cstring_trim" +string m51s842 "pith_cstring_ends_with" +string m51s843 "pith_cstring_starts_with" +string m51s844 "pith_cstring_substring" +string m51s845 "pith_cstring_contains" +string m51s846 "string_contains" +string m51s847 "pith_auto_len" +string m51s848 "pith_await" +string m51s849 "pith_spawn" +string m51s850 "pith_print_cstr" +string m51s851 "print" +string m51s852 "parse_int" +string m51s853 "result_bool" +string m51s854 "result_int" +string m51s855 "parse_float" +string m51s856 "term_read,read_file_bytes,b64_decode,from_hex,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_sign_rsa_pkcs1_sha256_pkcs8,crypto_sign_ed25519_pkcs8,crypto_sign_ecdsa_p256_sha256_pkcs8,crypto_blake2b,crypto_argon2id,zstd_compress,zstd_decompress" +string m51s857 "read_file,exec_output,dns_resolve,bytes_to_string_utf8,bytes_substring_utf8,file_read,tcp_read,process_read,process_read_err" +string m51s858 "write_file,append_file,write_file_bytes,append_file_bytes" +string m51s859 "file_open_read,file_open_write,file_open_append,byte_buffer_write,byte_buffer_write_string_utf8,byte_buffer_write_byte,file_write,file_write_bytes,tcp_connect,tcp_listen,tcp_accept,tcp_write,tcp_write_bytes,process_spawn,process_spawn_argv,process_output_argv,process_write,process_write_bytes,crypto_x25519_keygen,crypto_p256_keygen" +string m51s860 "trim,substring,to_upper,to_lower,reverse,replace,repeat,pad_left,pad_right,char_at,join,list_join,list_join_int,read_file,env,chr" +string m51s861 "reverse,clear,push,remove,insert,add,list_remove,list_clear,list_reverse,map_insert,map_insert_ikey,map_remove,map_remove_ikey,map_clear,set_add,set_add_int,set_remove,set_remove_int,set_clear,detach,lock,unlock,done,wait,acquire,release,store" +string m51s862 "contains,starts_with,ends_with,is_empty,string_contains,string_is_empty,contains_key,map_contains_key,map_contains_ikey,map_is_empty,set_contains,set_contains_int,set_is_empty,send,try_send,close,is_closed,is_done" +string m51s863 "sort_strings,zip,enumerate,toml_keys" +string m51s864 "args,range,repeat_val,zeros,sort,sort_desc,reversed,take,drop,slice,unique,without,intersection,difference,flatten,chunks" +string m51s865 "term_read,bytes_from_string_utf8,read_file_bytes,file_read_bytes,tcp_read_bytes,process_read_bytes,process_read_err_bytes,byte_buffer_bytes,b64_decode,from_hex,bytes_slice,bytes_concat,secure_random_bytes,crypto_x25519_public_key,crypto_x25519_shared_secret,crypto_aes_128_gcm_seal,crypto_aes_128_gcm_open,crypto_chacha20_poly1305_seal,crypto_chacha20_poly1305_open,crypto_sign_rsa_pss_sha256_pkcs8,crypto_sign_rsa_pkcs1_sha256_pkcs8,crypto_sign_ed25519_pkcs8,crypto_sign_ecdsa_p256_sha256_pkcs8,crypto_blake2b,crypto_argon2id,zstd_compress,zstd_decompress" +string m51s866 "sha256,hex_encode,hex_decode,to_hex,b64_encode,chr,read_file,env,os_getcwd,os_temp_dir,os_home_dir,os_cert_roots_pem,scheme,host,query,fragment,decode,exec_output,type_of,get_string" +string m51s867 "term_size,term_write,abs,min,max,clamp,len,fnv1a,ord,exec,fs_file_size,byte_buffer_len,byte_buffer_get,crypto_x25519_keygen,crypto_p256_keygen,os_pid,signal_notify,signal_wait,signal_raise,tcp_shutdown,UInt,Int8,Int16,Int32,Int64,UInt8,UInt16,UInt32,UInt64,float_to_bits" +string m51s868 "term_is_tty,term_raw_enter,term_restore,file_exists,dir_exists,fs_remove_dir,fs_remove_tree,os_chdir,os_set_env,os_unset_env,get_bool,object_has,has,crypto_constant_time_eq,crypto_verify_ed25519,crypto_verify_ecdsa_p256_sha256_asn1,crypto_verify_ecdsa_p384_sha384_asn1,crypto_verify_rsa_pkcs1_sha256,crypto_verify_rsa_pkcs1_sha384,crypto_verify_rsa_pss_sha256,byte_buffer_set" +string m51s869 "pow,sqrt,floor,ceil,round,to_float,get_float,float_from_bits" +string m51s870 "unknown" string m51s871 "-" string m51s872 "closure" string m51s873 "__" @@ -145445,21 +144885,21 @@ load 26 decl field 27 26 16 list children call 28 pith_auto_len int 1 27 iconst 29 0 -store __for_idx_320 29 -store __for_len_320 28 -store __for_iter_320 27 +store __for_idx_319 29 +store __for_len_319 28 +store __for_iter_319 27 label L15 -load 30 __for_idx_320 -load 31 __for_len_320 +load 30 __for_idx_319 +load 31 __for_len_319 lt 32 30 31 brif 32 L16 L18 label L16 -load 33 __for_iter_320 -load 34 __for_idx_320 +load 33 __for_iter_319 +load 34 __for_idx_319 call 35 pith_list_get_value unknown 2 33 34 -store __loopvar_320_child 35 +store __loopvar_319_child 35 load 36 field_node -load 37 __loopvar_320_child +load 37 __loopvar_319_child call 38 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 37 call 39 pith_struct_release void 1 36 store field_node 38 @@ -145576,10 +145016,10 @@ jmp L19 label L21 label L19 label L17 -load 112 __for_idx_320 +load 112 __for_idx_319 iconst 113 1 add 114 112 113 -store __for_idx_320 114 +store __for_idx_319 114 jmp L15 label L18 strref 115 m51s83 @@ -146440,21 +145880,21 @@ load 31 decl_node field 32 31 16 list children call 33 pith_auto_len int 1 32 iconst 34 0 -store __for_idx_321 34 -store __for_len_321 33 -store __for_iter_321 32 +store __for_idx_320 34 +store __for_len_320 33 +store __for_iter_320 32 label L115 -load 35 __for_idx_321 -load 36 __for_len_321 +load 35 __for_idx_320 +load 36 __for_len_320 lt 37 35 36 brif 37 L116 L118 label L116 -load 38 __for_iter_321 -load 39 __for_idx_321 +load 38 __for_iter_320 +load 39 __for_idx_320 call 40 pith_list_get_value unknown 2 38 39 -store __loopvar_321_child 40 +store __loopvar_320_child 40 load 41 returns_node -load 42 __loopvar_321_child +load 42 __loopvar_320_child call 43 ast_get_node struct:Node 1 42 call 44 pith_struct_release void 1 41 store returns_node 43 @@ -146474,21 +145914,21 @@ load 52 returns_node field 53 52 16 list children call 54 pith_auto_len int 1 53 iconst 55 0 -store __for_idx_322 55 -store __for_len_322 54 -store __for_iter_322 53 +store __for_idx_321 55 +store __for_len_321 54 +store __for_iter_321 53 label L122 -load 56 __for_idx_322 -load 57 __for_len_322 +load 56 __for_idx_321 +load 57 __for_len_321 lt 58 56 57 brif 58 L123 L125 label L123 -load 59 __for_iter_322 -load 60 __for_idx_322 +load 59 __for_iter_321 +load 60 __for_idx_321 call 61 pith_list_get_value unknown 2 59 60 -store __loopvar_322_type_idx 61 +store __loopvar_321_type_idx 61 load 62 type_node -load 63 __loopvar_322_type_idx +load 63 __loopvar_321_type_idx call 64 ast_get_node struct:Node 1 63 call 65 pith_struct_release void 1 62 store type_node 64 @@ -146543,17 +145983,17 @@ jmp L126 label L128 label L126 label L124 -load 100 __for_idx_322 +load 100 __for_idx_321 iconst 101 1 add 102 100 101 -store __for_idx_322 102 +store __for_idx_321 102 jmp L122 label L125 label L117 -load 103 __for_idx_321 +load 103 __for_idx_320 iconst 104 1 add 105 103 104 -store __for_idx_321 105 +store __for_idx_320 105 jmp L115 label L118 strref 106 m51s83 @@ -146619,7 +146059,7 @@ call 22 pith_cstring_release void 1 20 call 23 pith_cstring_release void 1 18 store field_kind 21 load 24 field_kind -strref 25 m51s869 +strref 25 m51s870 call 27 pith_cstring_eq bool 2 24 25 iconst 28 1 sub 26 28 27 @@ -147179,7 +146619,7 @@ eq 10 8 9 brif 10 L181 L182 label L181 load 11 field_kind -strref 12 m51s869 +strref 12 m51s870 call 13 pith_cstring_release void 1 11 store field_kind 12 jmp L180 @@ -147249,29 +146689,29 @@ store nodes 4 load 6 nodes call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_323 8 -store __for_len_323 7 -store __for_iter_323 6 +store __for_idx_322 8 +store __for_len_322 7 +store __for_iter_322 6 label L183 -load 9 __for_idx_323 -load 10 __for_len_323 +load 9 __for_idx_322 +load 10 __for_len_322 lt 11 9 10 brif 11 L184 L186 label L184 -load 12 __for_iter_323 -load 13 __for_idx_323 +load 12 __for_iter_322 +load 13 __for_idx_322 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_323_node_idx 14 -load 15 __loopvar_323_node_idx +store __loopvar_322_node_idx 14 +load 15 __loopvar_322_node_idx call 16 ast_get_node struct:Node 1 15 field 17 16 8 string value call 18 ir_builder_ir_str string 1 17 call 19 pith_cstring_release void 1 18 label L185 -load 20 __for_idx_323 +load 20 __for_idx_322 iconst 21 1 add 22 20 21 -store __for_idx_323 22 +store __for_idx_322 22 jmp L183 label L186 load 23 nodes @@ -147358,21 +146798,21 @@ load 28 decl field 29 28 16 list children call 30 pith_auto_len int 1 29 iconst 31 0 -store __for_idx_324 31 -store __for_len_324 30 -store __for_iter_324 29 +store __for_idx_323 31 +store __for_len_323 30 +store __for_iter_323 29 label L193 -load 32 __for_idx_324 -load 33 __for_len_324 +load 32 __for_idx_323 +load 33 __for_len_323 lt 34 32 33 brif 34 L194 L196 label L194 -load 35 __for_iter_324 -load 36 __for_idx_324 +load 35 __for_iter_323 +load 36 __for_idx_323 call 37 pith_list_get_value unknown 2 35 36 -store __loopvar_324_child 37 +store __loopvar_323_child 37 load 38 field_node -load 39 __loopvar_324_child +load 39 __loopvar_323_child call 40 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 39 call 41 pith_struct_release void 1 38 store field_node 40 @@ -147410,10 +146850,10 @@ ret 57 label L202 label L200 label L195 -load 65 __for_idx_324 +load 65 __for_idx_323 iconst 66 1 add 67 65 66 -store __for_idx_324 67 +store __for_idx_323 67 jmp L193 label L196 iconst 68 0 @@ -147454,7 +146894,7 @@ brif 10 L207 L206 label L206 load 12 vnode field 13 12 0 string kind -strref 14 m51s647 +strref 14 m51s648 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 store __or_6_206 15 @@ -147563,21 +147003,21 @@ load 4 root_idx call 5 ir_tree_cache_ir_root_items list 1 4 call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_325 7 -store __for_len_325 6 -store __for_iter_325 5 +store __for_idx_324 7 +store __for_len_324 6 +store __for_iter_324 5 label L211 -load 8 __for_idx_325 -load 9 __for_len_325 +load 8 __for_idx_324 +load 9 __for_len_324 lt 10 8 9 brif 10 L212 L214 label L212 -load 11 __for_iter_325 -load 12 __for_idx_325 +load 11 __for_iter_324 +load 12 __for_idx_324 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_325_item_idx 13 +store __loopvar_324_item_idx 13 load 14 actual -load 15 __loopvar_325_item_idx +load 15 __loopvar_324_item_idx call 16 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 15 call 17 pith_struct_release void 1 14 store actual 16 @@ -147628,21 +147068,21 @@ load 52 actual field 53 52 16 list children call 54 pith_auto_len int 1 53 iconst 55 0 -store __for_idx_326 55 -store __for_len_326 54 -store __for_iter_326 53 +store __for_idx_325 55 +store __for_len_325 54 +store __for_iter_325 53 label L220 -load 56 __for_idx_326 -load 57 __for_len_326 +load 56 __for_idx_325 +load 57 __for_len_325 lt 58 56 57 brif 58 L221 L223 label L221 -load 59 __for_iter_326 -load 60 __for_idx_326 +load 59 __for_iter_325 +load 60 __for_idx_325 call 61 pith_list_get_value unknown 2 59 60 -store __loopvar_326_child 61 +store __loopvar_325_child 61 load 62 field_node -load 63 __loopvar_326_child +load 63 __loopvar_325_child call 64 ast_get_node struct:Node 1 63 call 65 pith_struct_release void 1 62 store field_node 64 @@ -147691,23 +147131,23 @@ jmp L224 label L226 label L224 label L222 -load 98 __for_idx_326 +load 98 __for_idx_325 iconst 99 1 add 100 98 99 -store __for_idx_326 100 +store __for_idx_325 100 jmp L220 label L223 jmp L215 label L217 label L215 label L213 -load 101 __for_idx_325 +load 101 __for_idx_324 iconst 102 1 add 103 101 102 -store __for_idx_325 103 +store __for_idx_324 103 jmp L211 label L214 -load 104 __for_iter_325 +load 104 __for_iter_324 call 105 pith_list_release_handle void 1 104 load 106 actual call 107 pith_struct_release void 1 106 @@ -147890,25 +147330,25 @@ call 14 pith_string_split_to_list list_string 2 12 13 call 15 pith_cstring_release void 1 13 call 16 pith_auto_len int 1 14 iconst 17 0 -store __for_idx_327 17 -store __for_len_327 16 -store __for_iter_327 14 +store __for_idx_326 17 +store __for_len_326 16 +store __for_iter_326 14 label L249 -load 18 __for_idx_327 -load 19 __for_len_327 +load 18 __for_idx_326 +load 19 __for_len_326 lt 20 18 19 brif 20 L250 L252 label L250 -load 21 __for_iter_327 -load 22 __for_idx_327 +load 21 __for_iter_326 +load 22 __for_idx_326 call 23 pith_list_get_value_unchecked string 2 21 22 -store __loopvar_327_variant 23 +store __loopvar_326_variant 23 load 24 vkey load 25 ename strref 26 m51s26 concat 27 25 26 call 28 pith_cstring_release void 1 26 -load 29 __loopvar_327_variant +load 29 __loopvar_326_variant concat 30 27 29 call 31 pith_cstring_release void 1 27 call 32 pith_cstring_release void 1 24 @@ -147926,29 +147366,29 @@ call 40 pith_string_split_to_list list_string 2 38 39 call 41 pith_cstring_release void 1 39 call 42 pith_auto_len int 1 40 iconst 43 0 -store __for_idx_328 43 -store __for_len_328 42 -store __for_iter_328 40 +store __for_idx_327 43 +store __for_len_327 42 +store __for_iter_327 40 label L256 -load 44 __for_idx_328 -load 45 __for_len_328 +load 44 __for_idx_327 +load 45 __for_len_327 lt 46 44 45 brif 46 L257 L259 label L257 -load 47 __for_iter_328 -load 48 __for_idx_328 +load 47 __for_iter_327 +load 48 __for_idx_327 call 49 pith_list_get_value_unchecked string 2 47 48 -store __loopvar_328_pk 49 -load 50 __loopvar_328_pk +store __loopvar_327_pk 49 +load 50 __loopvar_327_pk call 51 ir_struct_registry_ir_rc_field_kind string 1 50 call 52 ir_emitter_core_ir_trace_kind_enabled bool 1 51 call 53 pith_cstring_release void 1 51 brif 52 L261 L262 label L261 iconst 54 1 -load 55 __for_iter_328 +load 55 __for_iter_327 call 56 pith_list_release_handle void 1 55 -load 57 __for_iter_327 +load 57 __for_iter_326 call 58 pith_list_release_handle void 1 57 load 59 vkey call 60 pith_cstring_release void 1 59 @@ -147956,25 +147396,25 @@ ret 54 label L262 label L260 label L258 -load 61 __for_idx_328 +load 61 __for_idx_327 iconst 62 1 add 63 61 62 -store __for_idx_328 63 +store __for_idx_327 63 jmp L256 label L259 -load 64 __for_iter_328 +load 64 __for_iter_327 call 65 pith_list_release_handle void 1 64 jmp L253 label L255 label L253 label L251 -load 66 __for_idx_327 +load 66 __for_idx_326 iconst 67 1 add 68 66 67 -store __for_idx_327 68 +store __for_idx_326 68 jmp L249 label L252 -load 69 __for_iter_327 +load 69 __for_iter_326 call 70 pith_list_release_handle void 1 69 iconst 71 0 load 72 vkey @@ -148166,7 +147606,7 @@ jmp L284 label L286 label L284 load 22 val_type -strref 23 m51s716 +strref 23 m51s717 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 brif 24 L290 L291 @@ -148184,7 +147624,7 @@ ret 30 label L294 label L292 load 33 target_type -strref 34 m51s711 +strref 34 m51s712 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 brif 35 L296 L297 @@ -148390,7 +147830,7 @@ brif 15 L333 L332 label L332 load 17 node field 18 17 0 string kind -strref 19 m51s716 +strref 19 m51s717 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 store __or_11_332 20 @@ -148848,7 +148288,7 @@ brif 331 L398 L399 label L398 load 333 idx call 334 ir_emitter_core_ir_infer_type string 1 333 -strref 335 m51s716 +strref 335 m51s717 call 336 pith_cstring_eq bool 2 334 335 call 337 pith_cstring_release void 1 334 call 338 pith_cstring_release void 1 335 @@ -148938,7 +148378,7 @@ store __or_372_408 388 brif 388 L413 L412 label L412 load 389 expr_kind -strref 390 m51s715 +strref 390 m51s716 call 391 pith_cstring_eq bool 2 389 390 call 392 pith_cstring_release void 1 390 store __or_372_408 391 @@ -149240,7 +148680,7 @@ store __or_52_456 62 brif 62 L459 L458 label L458 load 63 mname -strref 64 m51s830 +strref 64 m51s831 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 store __or_52_456 65 @@ -149253,7 +148693,7 @@ ret 68 label L455 label L453 load 69 mname -strref 70 m51s823 +strref 70 m51s824 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 brif 71 L461 L462 @@ -150152,7 +149592,7 @@ brif 367 L587 L586 label L586 load 369 a field 370 369 0 string kind -strref 371 m51s647 +strref 371 m51s648 call 372 pith_cstring_eq bool 2 370 371 call 373 pith_cstring_release void 1 371 store __or_363_586 372 @@ -150171,7 +149611,7 @@ brif 379 L589 L588 label L588 load 381 b field 382 381 0 string kind -strref 383 m51s647 +strref 383 m51s648 call 384 pith_cstring_eq bool 2 382 383 call 385 pith_cstring_release void 1 383 store __or_375_588 384 @@ -150283,20 +149723,20 @@ load 21 node field 22 21 16 list children call 23 pith_auto_len int 1 22 iconst 24 0 -store __for_idx_329 24 -store __for_len_329 23 -store __for_iter_329 22 +store __for_idx_328 24 +store __for_len_328 23 +store __for_iter_328 22 label L601 -load 25 __for_idx_329 -load 26 __for_len_329 +load 25 __for_idx_328 +load 26 __for_len_328 lt 27 25 26 brif 27 L602 L604 label L602 -load 28 __for_iter_329 -load 29 __for_idx_329 +load 28 __for_iter_328 +load 29 __for_idx_328 call 30 pith_list_get_value unknown 2 28 29 -store __loopvar_329_child_idx 30 -load 31 __loopvar_329_child_idx +store __loopvar_328_child_idx 30 +load 31 __loopvar_328_child_idx load 32 name call 33 ir_emitter_core_ir_subtree_mentions_ident bool 2 31 32 brif 33 L606 L607 @@ -150308,10 +149748,10 @@ ret 34 label L607 label L605 label L603 -load 37 __for_idx_329 +load 37 __for_idx_328 iconst 38 1 add 39 37 38 -store __for_idx_329 39 +store __for_idx_328 39 jmp L601 label L604 iconst 40 0 @@ -150339,21 +149779,21 @@ load 7 node field 8 7 16 list children call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_330 10 -store __for_len_330 9 -store __for_iter_330 8 +store __for_idx_329 10 +store __for_len_329 9 +store __for_iter_329 8 label L608 -load 11 __for_idx_330 -load 12 __for_len_330 +load 11 __for_idx_329 +load 12 __for_len_329 lt 13 11 12 brif 13 L609 L611 label L609 -load 14 __for_iter_330 -load 15 __for_idx_330 +load 14 __for_iter_329 +load 15 __for_idx_329 call 16 pith_list_get_value unknown 2 14 15 -store __loopvar_330_child 16 +store __loopvar_329_child 16 load 17 cn -load 18 __loopvar_330_child +load 18 __loopvar_329_child call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 17 store cn 19 @@ -150383,37 +149823,37 @@ jmp L612 label L614 label L612 label L610 -load 34 __for_idx_330 +load 34 __for_idx_329 iconst 35 1 add 36 34 35 -store __for_idx_330 36 +store __for_idx_329 36 jmp L608 label L611 load 37 node field 38 37 16 list children call 39 pith_auto_len int 1 38 iconst 40 0 -store __for_idx_331 40 -store __for_len_331 39 -store __for_iter_331 38 +store __for_idx_330 40 +store __for_len_330 39 +store __for_iter_330 38 label L617 -load 41 __for_idx_331 -load 42 __for_len_331 +load 41 __for_idx_330 +load 42 __for_len_330 lt 43 41 42 brif 43 L618 L620 label L618 -load 44 __for_iter_331 -load 45 __for_idx_331 +load 44 __for_iter_330 +load 45 __for_idx_330 call 46 pith_list_get_value unknown 2 44 45 -store __loopvar_331_child 46 -load 47 __for_idx_331 -store __loopvar_331_i 47 +store __loopvar_330_child 46 +load 47 __for_idx_330 +store __loopvar_330_i 47 load 48 cn -load 49 __loopvar_331_child +load 49 __loopvar_330_child call 50 ast_get_node struct:Node 1 49 call 51 pith_struct_release void 1 48 store cn 50 -load 52 __loopvar_331_i +load 52 __loopvar_330_i iconst 53 0 eq 54 52 53 brif 54 L622 L623 @@ -150456,7 +149896,7 @@ sub 76 78 77 call 79 pith_cstring_release void 1 75 brif 76 L630 L631 label L630 -load 80 __loopvar_331_child +load 80 __loopvar_330_child load 81 name load 82 is_result call 83 ir_emitter_core_ir_tuple_uses_all_safe bool 3 80 81 82 @@ -150479,7 +149919,7 @@ label L631 label L629 jmp L621 label L623 -load 93 __loopvar_331_child +load 93 __loopvar_330_child store expr_idx 93 load 94 arg_name strref 95 m51s83 @@ -150575,7 +150015,7 @@ ret 144 label L651 label L649 load 151 node -load 152 __loopvar_331_i +load 152 __loopvar_330_i iconst 153 1 sub 154 152 153 load 155 arg_name @@ -150620,10 +150060,10 @@ label L643 label L641 label L621 label L619 -load 180 __for_idx_331 +load 180 __for_idx_330 iconst 181 1 add 182 180 181 -store __for_idx_331 182 +store __for_idx_330 182 jmp L617 label L620 iconst 183 1 @@ -150879,21 +150319,21 @@ load 10 ir_emitter_core_ir_tuple_walk_root call 11 ir_tree_cache_ir_root_items list 1 10 call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_332 13 -store __for_len_332 12 -store __for_iter_332 11 +store __for_idx_331 13 +store __for_len_331 12 +store __for_iter_331 11 label L691 -load 14 __for_idx_332 -load 15 __for_len_332 +load 14 __for_idx_331 +load 15 __for_len_331 lt 16 14 15 brif 16 L692 L694 label L692 -load 17 __for_iter_332 -load 18 __for_idx_332 +load 17 __for_iter_331 +load 18 __for_idx_331 call 19 pith_list_get_value unknown 2 17 18 -store __loopvar_332_item_idx 19 +store __loopvar_331_item_idx 19 load 20 item -load 21 __loopvar_332_item_idx +load 21 __loopvar_331_item_idx call 22 ast_get_node struct:Node 1 21 call 23 pith_struct_release void 1 20 store item 22 @@ -150914,8 +150354,8 @@ label L699 load 32 __and_24_698 brif 32 L696 L697 label L696 -load 33 __loopvar_332_item_idx -load 34 __for_iter_332 +load 33 __loopvar_331_item_idx +load 34 __for_iter_331 call 35 pith_list_release_handle void 1 34 load 36 item call 37 pith_struct_release void 1 36 @@ -150923,13 +150363,13 @@ ret 33 label L697 label L695 label L693 -load 38 __for_idx_332 +load 38 __for_idx_331 iconst 39 1 add 40 38 39 -store __for_idx_332 40 +store __for_idx_331 40 jmp L691 label L694 -load 41 __for_iter_332 +load 41 __for_iter_331 call 42 pith_list_release_handle void 1 41 iconst 43 0 iconst 44 1 @@ -150961,21 +150401,21 @@ load 10 decl field 11 10 16 list children call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_333 13 -store __for_len_333 12 -store __for_iter_333 11 +store __for_idx_332 13 +store __for_len_332 12 +store __for_iter_332 11 label L700 -load 14 __for_idx_333 -load 15 __for_len_333 +load 14 __for_idx_332 +load 15 __for_len_332 lt 16 14 15 brif 16 L701 L703 label L701 -load 17 __for_iter_333 -load 18 __for_idx_333 +load 17 __for_iter_332 +load 18 __for_idx_332 call 19 pith_list_get_value unknown 2 17 18 -store __loopvar_333_child 19 +store __loopvar_332_child 19 load 20 cn -load 21 __loopvar_333_child +load 21 __loopvar_332_child call 22 ast_get_node struct:Node 1 21 call 23 pith_struct_release void 1 20 store cn 22 @@ -151051,10 +150491,10 @@ jmp L704 label L706 label L704 label L702 -load 70 __for_idx_333 +load 70 __for_idx_332 iconst 71 1 add 72 70 71 -store __for_idx_333 72 +store __for_idx_332 72 jmp L700 label L703 strref 73 m51s83 @@ -151085,21 +150525,21 @@ load 7 decl field 8 7 16 list children call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_334 10 -store __for_len_334 9 -store __for_iter_334 8 +store __for_idx_333 10 +store __for_len_333 9 +store __for_iter_333 8 label L718 -load 11 __for_idx_334 -load 12 __for_len_334 +load 11 __for_idx_333 +load 12 __for_len_333 lt 13 11 12 brif 13 L719 L721 label L719 -load 14 __for_iter_334 -load 15 __for_idx_334 +load 14 __for_iter_333 +load 15 __for_idx_333 call 16 pith_list_get_value unknown 2 14 15 -store __loopvar_334_child 16 +store __loopvar_333_child 16 load 17 cn -load 18 __loopvar_334_child +load 18 __loopvar_333_child call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 17 store cn 19 @@ -151135,10 +150575,10 @@ ret 36 label L724 label L722 label L720 -load 41 __for_idx_334 +load 41 __for_idx_333 iconst 42 1 add 43 41 42 -store __for_idx_334 43 +store __for_idx_333 43 jmp L718 label L721 iconst 44 0 @@ -151399,21 +150839,21 @@ load 156 node field 157 156 16 list children call 158 pith_auto_len int 1 157 iconst 159 0 -store __for_idx_335 159 -store __for_len_335 158 -store __for_iter_335 157 +store __for_idx_334 159 +store __for_len_334 158 +store __for_iter_334 157 label L764 -load 160 __for_idx_335 -load 161 __for_len_335 +load 160 __for_idx_334 +load 161 __for_len_334 lt 162 160 161 brif 162 L765 L767 label L765 -load 163 __for_iter_335 -load 164 __for_idx_335 +load 163 __for_iter_334 +load 164 __for_idx_334 call 165 pith_list_get_value unknown 2 163 164 -store __loopvar_335_child_idx 165 +store __loopvar_334_child_idx 165 load 166 child -load 167 __loopvar_335_child_idx +load 167 __loopvar_334_child_idx call 168 ast_get_node struct:Node 1 167 call 169 pith_struct_release void 1 166 store child 168 @@ -151456,7 +150896,7 @@ label L775 label L773 jmp L768 label L770 -load 194 __loopvar_335_child_idx +load 194 __loopvar_334_child_idx load 195 name load 196 is_result call 197 ir_emitter_core_ir_tuple_uses_all_safe bool 3 194 195 196 @@ -151476,10 +150916,10 @@ label L778 label L776 label L768 label L766 -load 207 __for_idx_335 +load 207 __for_idx_334 iconst 208 1 add 209 207 208 -store __for_idx_335 209 +store __for_idx_334 209 jmp L764 label L767 iconst 210 1 @@ -151537,7 +150977,7 @@ call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 17 store name 20 load 23 kind -strref 24 m51s716 +strref 24 m51s717 call 25 pith_cstring_release void 1 23 store kind 24 load 26 i @@ -152030,21 +151470,21 @@ store rel_l 6 load 7 ir_emitter_core_ir_tuple_cascade_sigs call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_336 9 -store __for_len_336 8 -store __for_iter_336 7 +store __for_idx_335 9 +store __for_len_335 8 +store __for_iter_335 7 label L849 -load 10 __for_idx_336 -load 11 __for_len_336 +load 10 __for_idx_335 +load 11 __for_len_335 lt 12 10 11 brif 12 L850 L852 label L850 -load 13 __for_iter_336 -load 14 __for_idx_336 +load 13 __for_iter_335 +load 14 __for_idx_335 call 15 pith_list_get_value_unchecked string 2 13 14 -store __loopvar_336_sig 15 +store __loopvar_335_sig 15 load 16 ok_kind -load 17 __loopvar_336_sig +load 17 __loopvar_335_sig iconst 18 0 call 19 pith_cstring_char_at_strict string 2 17 18 call 20 ir_emitter_core_ir_tuple_dtor_code_kind string 1 19 @@ -152052,7 +151492,7 @@ call 21 pith_cstring_release void 1 19 call 22 pith_cstring_release void 1 16 store ok_kind 20 load 23 err_kind -load 24 __loopvar_336_sig +load 24 __loopvar_335_sig iconst 25 1 iconst 26 2 call 27 pith_cstring_substring string 3 24 25 26 @@ -152060,7 +151500,7 @@ call 28 ir_emitter_core_ir_tuple_dtor_code_kind string 1 27 call 29 pith_cstring_release void 1 27 call 30 pith_cstring_release void 1 23 store err_kind 28 -load 31 __loopvar_336_sig +load 31 __loopvar_335_sig call 32 ir_emitter_core_ir_tuple_cascade_helper_name string 1 31 iconst 33 1 strref 34 m51s876 @@ -152344,10 +151784,10 @@ strref 289 m51s924 call 290 ir_builder_ir_emit void 1 289 call 291 pith_cstring_release void 1 289 label L851 -load 292 __for_idx_336 +load 292 __for_idx_335 iconst 293 1 add 294 292 293 -store __for_idx_336 294 +store __for_idx_335 294 jmp L849 label L852 load 295 ok_kind @@ -152390,7 +151830,7 @@ call 12 pith_cstring_retain void 1 11 call 13 pith_cstring_release void 1 8 store name 11 load 14 kind -strref 15 m51s716 +strref 15 m51s717 call 16 pith_cstring_release void 1 14 store kind 15 load 17 i @@ -152861,21 +152301,21 @@ load 42 decl field 43 42 16 list children call 44 pith_auto_len int 1 43 iconst 45 0 -store __for_idx_337 45 -store __for_len_337 44 -store __for_iter_337 43 +store __for_idx_336 45 +store __for_len_336 44 +store __for_iter_336 43 label L931 -load 46 __for_idx_337 -load 47 __for_len_337 +load 46 __for_idx_336 +load 47 __for_len_336 lt 48 46 47 brif 48 L932 L934 label L932 -load 49 __for_iter_337 -load 50 __for_idx_337 +load 49 __for_iter_336 +load 50 __for_idx_336 call 51 pith_list_get_value unknown 2 49 50 -store __loopvar_337_child 51 +store __loopvar_336_child 51 load 52 fnode -load 53 __loopvar_337_child +load 53 __loopvar_336_child call 54 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 53 call 55 pith_struct_release void 1 52 store fnode 54 @@ -152972,10 +152412,10 @@ jmp L935 label L937 label L935 label L933 -load 114 __for_idx_337 +load 114 __for_idx_336 iconst 115 1 add 116 114 115 -store __for_idx_337 116 +store __for_idx_336 116 jmp L931 label L934 strref 117 m51s83 @@ -152999,6 +152439,146 @@ call 133 pith_struct_release void 1 132 iconst 134 0 ret 134 endfunc +func ir_emitter_core_ir_prepass_track_or_poison 4 void +param name +param kind +param names +param poisoned +load 4 kind +call 5 string_len int 1 4 +iconst 6 0 +gt 7 5 6 +brif 7 L951 L952 +label L951 +load 8 names +load 9 name +iconst 10 -1 +store __list_index_result_L956 10 +iconst 11 0 +store __list_index_i_L957 11 +call 12 pith_list_len int 1 8 +label L958 +load 13 __list_index_i_L957 +lt 14 13 12 +brif 14 L959 L962 +label L959 +call 15 pith_list_get_value string 2 8 13 +call 16 pith_cstring_eq bool 2 15 9 +brif 16 L960 L961 +label L960 +store __list_index_result_L956 13 +jmp L962 +label L961 +iconst 17 1 +add 18 13 17 +store __list_index_i_L957 18 +jmp L958 +label L962 +load 19 __list_index_result_L956 +iconst 20 0 +gte 21 19 20 +brif 21 L954 L955 +label L954 +iconst 22 0 +store __and_22_966 22 +load 23 name +call 24 ir_emitter_core_ir_rc_local_kind string 1 23 +load 25 kind +call 27 pith_cstring_eq bool 2 24 25 +iconst 28 1 +sub 26 28 27 +call 29 pith_cstring_release void 1 24 +store __and_22_966 26 +brif 26 L966 L967 +label L966 +load 30 poisoned +load 31 name +iconst 32 -1 +store __list_index_result_L968 32 +iconst 33 0 +store __list_index_i_L969 33 +call 34 pith_list_len int 1 30 +label L970 +load 35 __list_index_i_L969 +lt 36 35 34 +brif 36 L971 L974 +label L971 +call 37 pith_list_get_value string 2 30 35 +call 38 pith_cstring_eq bool 2 37 31 +brif 38 L972 L973 +label L972 +store __list_index_result_L968 35 +jmp L974 +label L973 +iconst 39 1 +add 40 35 39 +store __list_index_i_L969 40 +jmp L970 +label L974 +load 41 __list_index_result_L968 +iconst 42 0 +gte 43 41 42 +iconst 45 1 +sub 44 45 43 +store __and_22_966 44 +label L967 +load 46 __and_22_966 +brif 46 L964 L965 +label L964 +load 47 poisoned +load 48 name +call 49 pith_list_push_value void 2 47 48 +jmp L963 +label L965 +label L963 +jmp L953 +label L955 +load 50 name +load 51 kind +call 52 ir_emitter_core_ir_rc_track_local void 2 50 51 +label L953 +jmp L950 +label L952 +load 53 poisoned +load 54 name +iconst 55 -1 +store __list_index_result_L977 55 +iconst 56 0 +store __list_index_i_L978 56 +call 57 pith_list_len int 1 53 +label L979 +load 58 __list_index_i_L978 +lt 59 58 57 +brif 59 L980 L983 +label L980 +call 60 pith_list_get_value string 2 53 58 +call 61 pith_cstring_eq bool 2 60 54 +brif 61 L981 L982 +label L981 +store __list_index_result_L977 58 +jmp L983 +label L982 +iconst 62 1 +add 63 58 62 +store __list_index_i_L978 63 +jmp L979 +label L983 +load 64 __list_index_result_L977 +iconst 65 0 +gte 66 64 65 +iconst 68 1 +sub 67 68 66 +brif 67 L975 L976 +label L975 +load 69 poisoned +load 70 name +call 71 pith_list_push_value void 2 69 70 +jmp L950 +label L976 +label L950 +iconst 72 0 +ret 72 +endfunc func ir_emitter_core_ir_collect_string_bind_names 3 void param idx param names @@ -153027,8 +152607,8 @@ store node 13 load 15 node field 16 15 0 string kind call 17 ir_ast_helpers_ir_is_binding_kind bool 1 16 -brif 17 L951 L952 -label L951 +brif 17 L985 L986 +label L985 load 18 parts load 19 node call 20 ir_control_helpers_ir_collect_bind_parts struct:IrBindParts 1 19 @@ -153039,8 +152619,8 @@ field 23 22 0 string name call 24 string_len int 1 23 iconst 25 0 gt 26 24 25 -brif 26 L954 L955 -label L954 +brif 26 L988 L989 +label L988 load 27 kind strref 28 m51s83 call 29 pith_cstring_release void 1 27 @@ -153050,14 +152630,14 @@ field 31 30 8 string value strref 32 m51s576 call 33 pith_cstring_contains bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L957 L958 -label L957 +brif 33 L991 L992 +label L991 load 35 kind strref 36 m51s1033 call 37 pith_cstring_release void 1 35 store kind 36 -jmp L956 -label L958 +jmp L990 +label L992 load 38 kind load 39 parts load 40 names @@ -153068,421 +152648,155 @@ call 44 ir_struct_registry_ir_rc_kind string 1 42 call 45 pith_cstring_release void 1 42 call 46 pith_cstring_release void 1 38 store kind 44 -label L956 -load 47 kind -call 48 string_len int 1 47 -iconst 49 0 -gt 50 48 49 -brif 50 L960 L961 -label L960 -load 51 names -load 52 parts -field 53 52 0 string name -iconst 54 -1 -store __list_index_result_L965 54 -iconst 55 0 -store __list_index_i_L966 55 -call 56 pith_list_len int 1 51 -label L967 -load 57 __list_index_i_L966 -lt 58 57 56 -brif 58 L968 L971 -label L968 -call 59 pith_list_get_value string 2 51 57 -call 60 pith_cstring_eq bool 2 59 53 -brif 60 L969 L970 -label L969 -store __list_index_result_L965 57 -jmp L971 -label L970 -iconst 61 1 -add 62 57 61 -store __list_index_i_L966 62 -jmp L967 -label L971 -load 63 __list_index_result_L965 -iconst 64 0 -gte 65 63 64 -brif 65 L963 L964 -label L963 -iconst 66 0 -store __and_66_975 66 -load 67 parts -field 68 67 0 string name -call 69 ir_emitter_core_ir_rc_local_kind string 1 68 -load 70 kind -call 72 pith_cstring_eq bool 2 69 70 -iconst 73 1 -sub 71 73 72 -call 74 pith_cstring_release void 1 69 -store __and_66_975 71 -brif 71 L975 L976 -label L975 -load 75 poisoned -load 76 parts -field 77 76 0 string name -iconst 78 -1 -store __list_index_result_L977 78 -iconst 79 0 -store __list_index_i_L978 79 -call 80 pith_list_len int 1 75 -label L979 -load 81 __list_index_i_L978 -lt 82 81 80 -brif 82 L980 L983 -label L980 -call 83 pith_list_get_value string 2 75 81 -call 84 pith_cstring_eq bool 2 83 77 -brif 84 L981 L982 -label L981 -store __list_index_result_L977 81 -jmp L983 -label L982 -iconst 85 1 -add 86 81 85 -store __list_index_i_L978 86 -jmp L979 -label L983 -load 87 __list_index_result_L977 -iconst 88 0 -gte 89 87 88 -iconst 91 1 -sub 90 91 89 -store __and_66_975 90 -label L976 -load 92 __and_66_975 -brif 92 L973 L974 -label L973 -load 93 poisoned -load 94 parts -field 95 94 0 string name -call 96 pith_list_push_value void 2 93 95 -jmp L972 -label L974 -label L972 -jmp L962 -label L964 -load 97 parts -field 98 97 0 string name -load 99 kind -call 100 ir_emitter_core_ir_rc_track_local void 2 98 99 -label L962 -iconst 101 0 -store __and_101_987 101 -load 102 kind -strref 103 m51s23 -call 104 pith_cstring_eq bool 2 102 103 -call 105 pith_cstring_release void 1 103 -store __and_101_987 104 -brif 104 L987 L988 +label L990 +load 47 parts +field 48 47 0 string name +load 49 kind +load 50 names +load 51 poisoned +call 52 ir_emitter_core_ir_prepass_track_or_poison void 4 48 49 50 51 +iconst 53 0 +store __and_53_996 53 +load 54 kind +strref 55 m51s23 +call 56 pith_cstring_eq bool 2 54 55 +call 57 pith_cstring_release void 1 55 +store __and_53_996 56 +brif 56 L996 L997 +label L996 +load 58 parts +field 59 58 8 int val_idx +iconst 60 0 +gte 61 59 60 +store __and_53_996 61 +label L997 +load 62 __and_53_996 +brif 62 L994 L995 +label L994 +load 63 parts +field 64 63 0 string name +load 65 parts +field 66 65 8 int val_idx +call 67 ir_emitter_core_ir_tuple_record_tid void 2 64 66 +jmp L993 +label L995 +label L993 +jmp L987 +label L989 label L987 -load 106 parts -field 107 106 8 int val_idx -iconst 108 0 -gte 109 107 108 -store __and_101_987 109 -label L988 -load 110 __and_101_987 -brif 110 L985 L986 -label L985 -load 111 parts -field 112 111 0 string name -load 113 parts -field 114 113 8 int val_idx -call 115 ir_emitter_core_ir_tuple_record_tid void 2 112 114 jmp L984 label L986 label L984 -jmp L959 -label L961 -load 116 poisoned -load 117 parts -field 118 117 0 string name -iconst 119 -1 -store __list_index_result_L991 119 -iconst 120 0 -store __list_index_i_L992 120 -call 121 pith_list_len int 1 116 -label L993 -load 122 __list_index_i_L992 -lt 123 122 121 -brif 123 L994 L997 -label L994 -call 124 pith_list_get_value string 2 116 122 -call 125 pith_cstring_eq bool 2 124 118 -brif 125 L995 L996 -label L995 -store __list_index_result_L991 122 -jmp L997 -label L996 -iconst 126 1 -add 127 122 126 -store __list_index_i_L992 127 -jmp L993 -label L997 -load 128 __list_index_result_L991 -iconst 129 0 -gte 130 128 129 -iconst 132 1 -sub 131 132 130 -brif 131 L989 L990 -label L989 -load 133 poisoned -load 134 parts -field 135 134 0 string name -call 136 pith_list_push_value void 2 133 135 -jmp L959 -label L990 -label L959 -jmp L953 -label L955 -label L953 -jmp L950 -label L952 -label L950 -iconst 137 0 -store __and_137_1001 137 -load 138 node -field 139 138 0 string kind -strref 140 m51s513 -call 141 pith_cstring_eq bool 2 139 140 -call 142 pith_cstring_release void 1 140 -store __and_137_1001 141 -brif 141 L1001 L1002 +iconst 68 0 +store __and_68_1001 68 +load 69 node +field 70 69 0 string kind +strref 71 m51s513 +call 72 pith_cstring_eq bool 2 70 71 +call 73 pith_cstring_release void 1 71 +store __and_68_1001 72 +brif 72 L1001 L1002 label L1001 -load 143 node -field 144 143 16 list children -call 145 pith_list_len int 1 144 -iconst 146 1 -gt 147 145 146 -store __and_137_1001 147 +load 74 node +field 75 74 16 list children +call 76 pith_list_len int 1 75 +iconst 77 1 +gt 78 76 77 +store __and_68_1001 78 label L1002 -load 148 __and_137_1001 -brif 148 L999 L1000 +load 79 __and_68_1001 +brif 79 L999 L1000 label L999 -load 149 node -field 150 149 16 list children -iconst 151 0 -call 152 pith_list_get_value_strict int 2 150 151 -call 153 ir_alias_registry_ir_emission_tid int 1 152 -store subj_tid 153 -iconst 154 0 -store __and_154_1006 154 -load 155 subj_tid -iconst 156 0 -gte 157 155 156 -store __and_154_1006 157 -brif 157 L1006 L1007 +load 80 node +field 81 80 16 list children +iconst 82 0 +call 83 pith_list_get_value_strict int 2 81 82 +call 84 ir_alias_registry_ir_emission_tid int 1 83 +store subj_tid 84 +iconst 85 0 +store __and_85_1006 85 +load 86 subj_tid +iconst 87 0 +gte 88 86 87 +store __and_85_1006 88 +brif 88 L1006 L1007 label L1006 -load 158 subj_tid -call 159 types_get_type_info struct:TypeInfo 1 158 -field 160 159 0 string kind -strref 161 m51s21 -call 162 pith_cstring_eq bool 2 160 161 -call 163 pith_cstring_release void 1 161 -store __and_154_1006 162 +load 89 subj_tid +call 90 types_get_type_info struct:TypeInfo 1 89 +field 91 90 0 string kind +strref 92 m51s21 +call 93 pith_cstring_eq bool 2 91 92 +call 94 pith_cstring_release void 1 92 +store __and_85_1006 93 label L1007 -load 164 __and_154_1006 -brif 164 L1004 L1005 +load 95 __and_85_1006 +brif 95 L1004 L1005 label L1004 -load 165 payload_kind -load 166 subj_tid -call 167 types_get_type_info struct:TypeInfo 1 166 -field 168 167 64 int inner -call 169 ir_type_helpers_ir_type_from_tid string 1 168 -call 170 ir_struct_registry_ir_rc_kind string 1 169 -call 171 pith_cstring_release void 1 169 -call 172 pith_cstring_release void 1 165 -store payload_kind 170 -iconst 173 1 -store ai 173 +load 96 payload_kind +load 97 subj_tid +call 98 types_get_type_info struct:TypeInfo 1 97 +field 99 98 64 int inner +call 100 ir_type_helpers_ir_type_from_tid string 1 99 +call 101 ir_struct_registry_ir_rc_kind string 1 100 +call 102 pith_cstring_release void 1 100 +call 103 pith_cstring_release void 1 96 +store payload_kind 101 +iconst 104 1 +store ai 104 label L1008 -load 174 ai -load 175 node -field 176 175 16 list children -call 177 pith_list_len int 1 176 -lt 178 174 177 -brif 178 L1009 L1010 +load 105 ai +load 106 node +field 107 106 16 list children +call 108 pith_list_len int 1 107 +lt 109 105 108 +brif 109 L1009 L1010 label L1009 -load 179 arm -load 180 node -field 181 180 16 list children -load 182 ai -call 183 pith_list_get_value_strict int 2 181 182 -call 184 ast_get_node struct:Node 1 183 -call 185 pith_struct_release void 1 179 -store arm 184 -load 186 arm -field 187 186 16 list children -call 188 pith_list_len int 1 187 -iconst 189 0 -gt 190 188 189 -brif 190 L1012 L1013 +load 110 arm +load 111 node +field 112 111 16 list children +load 113 ai +call 114 pith_list_get_value_strict int 2 112 113 +call 115 ast_get_node struct:Node 1 114 +call 116 pith_struct_release void 1 110 +store arm 115 +load 117 arm +field 118 117 16 list children +call 119 pith_list_len int 1 118 +iconst 120 0 +gt 121 119 120 +brif 121 L1012 L1013 label L1012 -load 191 pn -load 192 arm -field 193 192 16 list children -iconst 194 0 -call 195 pith_list_get_value_strict int 2 193 194 -call 196 ast_get_node struct:Node 1 195 -call 197 pith_struct_release void 1 191 -store pn 196 -load 198 pn -field 199 198 0 string kind -strref 200 m51s86 -call 201 pith_cstring_eq bool 2 199 200 -call 202 pith_cstring_release void 1 200 -brif 201 L1015 L1016 +load 122 pn +load 123 arm +field 124 123 16 list children +iconst 125 0 +call 126 pith_list_get_value_strict int 2 124 125 +call 127 ast_get_node struct:Node 1 126 +call 128 pith_struct_release void 1 122 +store pn 127 +load 129 pn +field 130 129 0 string kind +strref 131 m51s86 +call 132 pith_cstring_eq bool 2 130 131 +call 133 pith_cstring_release void 1 131 +brif 132 L1015 L1016 label L1015 -load 203 payload_kind -call 204 string_len int 1 203 -iconst 205 0 -gt 206 204 205 -brif 206 L1018 L1019 -label L1018 -load 207 names -load 208 pn -field 209 208 8 string value -iconst 210 -1 -store __list_index_result_L1023 210 -iconst 211 0 -store __list_index_i_L1024 211 -call 212 pith_list_len int 1 207 -label L1025 -load 213 __list_index_i_L1024 -lt 214 213 212 -brif 214 L1026 L1029 -label L1026 -call 215 pith_list_get_value string 2 207 213 -call 216 pith_cstring_eq bool 2 215 209 -brif 216 L1027 L1028 -label L1027 -store __list_index_result_L1023 213 -jmp L1029 -label L1028 -iconst 217 1 -add 218 213 217 -store __list_index_i_L1024 218 -jmp L1025 -label L1029 -load 219 __list_index_result_L1023 -iconst 220 0 -gte 221 219 220 -brif 221 L1021 L1022 -label L1021 -iconst 222 0 -store __and_222_1033 222 -load 223 pn -field 224 223 8 string value -call 225 ir_emitter_core_ir_rc_local_kind string 1 224 -load 226 payload_kind -call 228 pith_cstring_eq bool 2 225 226 -iconst 229 1 -sub 227 229 228 -call 230 pith_cstring_release void 1 225 -store __and_222_1033 227 -brif 227 L1033 L1034 -label L1033 -load 231 poisoned -load 232 pn -field 233 232 8 string value -iconst 234 -1 -store __list_index_result_L1035 234 -iconst 235 0 -store __list_index_i_L1036 235 -call 236 pith_list_len int 1 231 -label L1037 -load 237 __list_index_i_L1036 -lt 238 237 236 -brif 238 L1038 L1041 -label L1038 -call 239 pith_list_get_value string 2 231 237 -call 240 pith_cstring_eq bool 2 239 233 -brif 240 L1039 L1040 -label L1039 -store __list_index_result_L1035 237 -jmp L1041 -label L1040 -iconst 241 1 -add 242 237 241 -store __list_index_i_L1036 242 -jmp L1037 -label L1041 -load 243 __list_index_result_L1035 -iconst 244 0 -gte 245 243 244 -iconst 247 1 -sub 246 247 245 -store __and_222_1033 246 -label L1034 -load 248 __and_222_1033 -brif 248 L1031 L1032 -label L1031 -load 249 poisoned -load 250 pn -field 251 250 8 string value -call 252 pith_list_push_value void 2 249 251 -jmp L1030 -label L1032 -label L1030 -jmp L1020 -label L1022 -load 253 pn -field 254 253 8 string value -load 255 payload_kind -call 256 ir_emitter_core_ir_rc_track_local void 2 254 255 -label L1020 -jmp L1017 -label L1019 -load 257 poisoned -load 258 pn -field 259 258 8 string value -iconst 260 -1 -store __list_index_result_L1044 260 -iconst 261 0 -store __list_index_i_L1045 261 -call 262 pith_list_len int 1 257 -label L1046 -load 263 __list_index_i_L1045 -lt 264 263 262 -brif 264 L1047 L1050 -label L1047 -call 265 pith_list_get_value string 2 257 263 -call 266 pith_cstring_eq bool 2 265 259 -brif 266 L1048 L1049 -label L1048 -store __list_index_result_L1044 263 -jmp L1050 -label L1049 -iconst 267 1 -add 268 263 267 -store __list_index_i_L1045 268 -jmp L1046 -label L1050 -load 269 __list_index_result_L1044 -iconst 270 0 -gte 271 269 270 -iconst 273 1 -sub 272 273 271 -brif 272 L1042 L1043 -label L1042 -load 274 poisoned -load 275 pn -field 276 275 8 string value -call 277 pith_list_push_value void 2 274 276 -jmp L1017 -label L1043 -label L1017 +load 134 pn +field 135 134 8 string value +load 136 payload_kind +load 137 names +load 138 poisoned +call 139 ir_emitter_core_ir_prepass_track_or_poison void 4 135 136 137 138 jmp L1014 label L1016 label L1014 jmp L1011 label L1013 label L1011 -load 278 ai -iconst 279 1 -add 280 278 279 -store ai 280 +load 140 ai +iconst 141 1 +add 142 140 141 +store ai 142 jmp L1008 label L1010 jmp L1003 @@ -153491,298 +152805,165 @@ label L1003 jmp L998 label L1000 label L998 -iconst 281 0 -store __and_281_1054 281 -load 282 node -field 283 282 0 string kind -strref 284 m51s90 -call 285 pith_cstring_eq bool 2 283 284 -call 286 pith_cstring_release void 1 284 -store __and_281_1054 285 -brif 285 L1054 L1055 -label L1054 -load 287 node -field 288 287 16 list children -call 289 pith_list_len int 1 288 -iconst 290 0 -gt 291 289 290 -store __and_281_1054 291 -label L1055 -load 292 __and_281_1054 -brif 292 L1052 L1053 -label L1052 -load 293 variant_kinds -call 294 pith_list_new_cstr list 0 -call 295 pith_list_release_handle void 1 293 -store variant_kinds 294 -load 296 ir_struct_registry_ir_enum_payload_kinds -load 297 node -field 298 297 8 string value -call 299 contains_key bool 2 296 298 -brif 299 L1057 L1058 -label L1057 -load 300 variant_kinds -load 301 ir_struct_registry_ir_enum_payload_kinds -load 302 node -field 303 302 8 string value -call 304 map_get_strict string 2 301 303 -strref 305 m51s315 -call 306 pith_string_split_to_list list_string 2 304 305 -call 307 pith_cstring_release void 1 305 -call 308 pith_list_release_handle void 1 300 -store variant_kinds 306 -jmp L1056 -label L1058 -label L1056 -load 309 node -field 310 309 16 list children -call 311 pith_auto_len int 1 310 -iconst 312 0 -store __for_idx_338 312 -store __for_len_338 311 -store __for_iter_338 310 -label L1059 -load 313 __for_idx_338 -load 314 __for_len_338 -lt 315 313 314 -brif 315 L1060 L1062 -label L1060 -load 316 __for_iter_338 -load 317 __for_idx_338 -call 318 pith_list_get_value unknown 2 316 317 -store __loopvar_338_sub_idx 318 -load 319 __for_idx_338 -store __loopvar_338_pi 319 -load 320 sub -load 321 __loopvar_338_sub_idx -call 322 ast_get_node struct:Node 1 321 -call 323 pith_struct_release void 1 320 -store sub 322 -load 324 sub -field 325 324 0 string kind -strref 326 m51s86 -call 327 pith_cstring_eq bool 2 325 326 -call 328 pith_cstring_release void 1 326 -brif 327 L1064 L1065 -label L1064 -load 329 payload_kind -strref 330 m51s83 -call 331 pith_cstring_release void 1 329 -store payload_kind 330 -load 332 __loopvar_338_pi -load 333 variant_kinds -call 334 pith_list_len int 1 333 -lt 335 332 334 -brif 335 L1067 L1068 -label L1067 -load 336 payload_kind -load 337 variant_kinds -load 338 __loopvar_338_pi -call 339 pith_list_get_value_strict string 2 337 338 -call 340 ir_struct_registry_ir_rc_kind string 1 339 -call 341 pith_cstring_release void 1 336 -store payload_kind 340 -jmp L1066 -label L1068 -label L1066 -load 342 payload_kind -call 343 string_len int 1 342 -iconst 344 0 -gt 345 343 344 -brif 345 L1070 L1071 -label L1070 -load 346 names -load 347 sub -field 348 347 8 string value -iconst 349 -1 -store __list_index_result_L1075 349 -iconst 350 0 -store __list_index_i_L1076 350 -call 351 pith_list_len int 1 346 -label L1077 -load 352 __list_index_i_L1076 -lt 353 352 351 -brif 353 L1078 L1081 -label L1078 -call 354 pith_list_get_value string 2 346 352 -call 355 pith_cstring_eq bool 2 354 348 -brif 355 L1079 L1080 -label L1079 -store __list_index_result_L1075 352 -jmp L1081 -label L1080 -iconst 356 1 -add 357 352 356 -store __list_index_i_L1076 357 -jmp L1077 -label L1081 -load 358 __list_index_result_L1075 -iconst 359 0 -gte 360 358 359 -brif 360 L1073 L1074 -label L1073 -iconst 361 0 -store __and_361_1085 361 -load 362 sub -field 363 362 8 string value -call 364 ir_emitter_core_ir_rc_local_kind string 1 363 -load 365 payload_kind -call 367 pith_cstring_eq bool 2 364 365 -iconst 368 1 -sub 366 368 367 -call 369 pith_cstring_release void 1 364 -store __and_361_1085 366 -brif 366 L1085 L1086 -label L1085 -load 370 poisoned -load 371 sub -field 372 371 8 string value -iconst 373 -1 -store __list_index_result_L1087 373 -iconst 374 0 -store __list_index_i_L1088 374 -call 375 pith_list_len int 1 370 -label L1089 -load 376 __list_index_i_L1088 -lt 377 376 375 -brif 377 L1090 L1093 -label L1090 -call 378 pith_list_get_value string 2 370 376 -call 379 pith_cstring_eq bool 2 378 372 -brif 379 L1091 L1092 -label L1091 -store __list_index_result_L1087 376 -jmp L1093 -label L1092 -iconst 380 1 -add 381 376 380 -store __list_index_i_L1088 381 -jmp L1089 -label L1093 -load 382 __list_index_result_L1087 -iconst 383 0 -gte 384 382 383 -iconst 386 1 -sub 385 386 384 -store __and_361_1085 385 -label L1086 -load 387 __and_361_1085 -brif 387 L1083 L1084 -label L1083 -load 388 poisoned -load 389 sub -field 390 389 8 string value -call 391 pith_list_push_value void 2 388 390 -jmp L1082 -label L1084 -label L1082 -jmp L1072 -label L1074 -load 392 sub -field 393 392 8 string value -load 394 payload_kind -call 395 ir_emitter_core_ir_rc_track_local void 2 393 394 -label L1072 -jmp L1069 -label L1071 -load 396 poisoned -load 397 sub -field 398 397 8 string value -iconst 399 -1 -store __list_index_result_L1096 399 -iconst 400 0 -store __list_index_i_L1097 400 -call 401 pith_list_len int 1 396 -label L1098 -load 402 __list_index_i_L1097 -lt 403 402 401 -brif 403 L1099 L1102 -label L1099 -call 404 pith_list_get_value string 2 396 402 -call 405 pith_cstring_eq bool 2 404 398 -brif 405 L1100 L1101 -label L1100 -store __list_index_result_L1096 402 -jmp L1102 -label L1101 -iconst 406 1 -add 407 402 406 -store __list_index_i_L1097 407 -jmp L1098 -label L1102 -load 408 __list_index_result_L1096 -iconst 409 0 -gte 410 408 409 -iconst 412 1 -sub 411 412 410 -brif 411 L1094 L1095 -label L1094 -load 413 poisoned -load 414 sub -field 415 414 8 string value -call 416 pith_list_push_value void 2 413 415 -jmp L1069 -label L1095 -label L1069 -jmp L1063 -label L1065 -label L1063 -label L1061 -load 417 __for_idx_338 -iconst 418 1 -add 419 417 418 -store __for_idx_338 419 -jmp L1059 -label L1062 -jmp L1051 -label L1053 -label L1051 -load 420 node -field 421 420 16 list children -call 422 pith_auto_len int 1 421 -iconst 423 0 -store __for_idx_339 423 -store __for_len_339 422 -store __for_iter_339 421 -label L1103 -load 424 __for_idx_339 -load 425 __for_len_339 -lt 426 424 425 -brif 426 L1104 L1106 -label L1104 -load 427 __for_iter_339 -load 428 __for_idx_339 -call 429 pith_list_get_value unknown 2 427 428 -store __loopvar_339_child 429 -load 430 __loopvar_339_child -load 431 names -load 432 poisoned -call 433 ir_emitter_core_ir_collect_string_bind_names void 3 430 431 432 -label L1105 -load 434 __for_idx_339 -iconst 435 1 -add 436 434 435 -store __for_idx_339 436 -jmp L1103 -label L1106 -load 437 node -call 438 pith_struct_release void 1 437 -load 439 parts -call 440 pith_struct_release void 1 439 -load 441 kind -call 442 pith_cstring_release void 1 441 -load 443 payload_kind -call 444 pith_cstring_release void 1 443 -load 445 arm -call 446 pith_struct_release void 1 445 -load 447 pn -call 448 pith_struct_release void 1 447 -load 449 variant_kinds -call 450 pith_list_release_handle void 1 449 -load 451 sub -call 452 pith_struct_release void 1 451 -iconst 453 0 -ret 453 +iconst 143 0 +store __and_143_1020 143 +load 144 node +field 145 144 0 string kind +strref 146 m51s90 +call 147 pith_cstring_eq bool 2 145 146 +call 148 pith_cstring_release void 1 146 +store __and_143_1020 147 +brif 147 L1020 L1021 +label L1020 +load 149 node +field 150 149 16 list children +call 151 pith_list_len int 1 150 +iconst 152 0 +gt 153 151 152 +store __and_143_1020 153 +label L1021 +load 154 __and_143_1020 +brif 154 L1018 L1019 +label L1018 +load 155 variant_kinds +call 156 pith_list_new_cstr list 0 +call 157 pith_list_release_handle void 1 155 +store variant_kinds 156 +load 158 ir_struct_registry_ir_enum_payload_kinds +load 159 node +field 160 159 8 string value +call 161 contains_key bool 2 158 160 +brif 161 L1023 L1024 +label L1023 +load 162 variant_kinds +load 163 ir_struct_registry_ir_enum_payload_kinds +load 164 node +field 165 164 8 string value +call 166 map_get_strict string 2 163 165 +strref 167 m51s315 +call 168 pith_string_split_to_list list_string 2 166 167 +call 169 pith_cstring_release void 1 167 +call 170 pith_list_release_handle void 1 162 +store variant_kinds 168 +jmp L1022 +label L1024 +label L1022 +load 171 node +field 172 171 16 list children +call 173 pith_auto_len int 1 172 +iconst 174 0 +store __for_idx_337 174 +store __for_len_337 173 +store __for_iter_337 172 +label L1025 +load 175 __for_idx_337 +load 176 __for_len_337 +lt 177 175 176 +brif 177 L1026 L1028 +label L1026 +load 178 __for_iter_337 +load 179 __for_idx_337 +call 180 pith_list_get_value unknown 2 178 179 +store __loopvar_337_sub_idx 180 +load 181 __for_idx_337 +store __loopvar_337_pi 181 +load 182 sub +load 183 __loopvar_337_sub_idx +call 184 ast_get_node struct:Node 1 183 +call 185 pith_struct_release void 1 182 +store sub 184 +load 186 sub +field 187 186 0 string kind +strref 188 m51s86 +call 189 pith_cstring_eq bool 2 187 188 +call 190 pith_cstring_release void 1 188 +brif 189 L1030 L1031 +label L1030 +load 191 payload_kind +strref 192 m51s83 +call 193 pith_cstring_release void 1 191 +store payload_kind 192 +load 194 __loopvar_337_pi +load 195 variant_kinds +call 196 pith_list_len int 1 195 +lt 197 194 196 +brif 197 L1033 L1034 +label L1033 +load 198 payload_kind +load 199 variant_kinds +load 200 __loopvar_337_pi +call 201 pith_list_get_value_strict string 2 199 200 +call 202 ir_struct_registry_ir_rc_kind string 1 201 +call 203 pith_cstring_release void 1 198 +store payload_kind 202 +jmp L1032 +label L1034 +label L1032 +load 204 sub +field 205 204 8 string value +load 206 payload_kind +load 207 names +load 208 poisoned +call 209 ir_emitter_core_ir_prepass_track_or_poison void 4 205 206 207 208 +jmp L1029 +label L1031 +label L1029 +label L1027 +load 210 __for_idx_337 +iconst 211 1 +add 212 210 211 +store __for_idx_337 212 +jmp L1025 +label L1028 +jmp L1017 +label L1019 +label L1017 +load 213 node +field 214 213 16 list children +call 215 pith_auto_len int 1 214 +iconst 216 0 +store __for_idx_338 216 +store __for_len_338 215 +store __for_iter_338 214 +label L1035 +load 217 __for_idx_338 +load 218 __for_len_338 +lt 219 217 218 +brif 219 L1036 L1038 +label L1036 +load 220 __for_iter_338 +load 221 __for_idx_338 +call 222 pith_list_get_value unknown 2 220 221 +store __loopvar_338_child 222 +load 223 __loopvar_338_child +load 224 names +load 225 poisoned +call 226 ir_emitter_core_ir_collect_string_bind_names void 3 223 224 225 +label L1037 +load 227 __for_idx_338 +iconst 228 1 +add 229 227 228 +store __for_idx_338 229 +jmp L1035 +label L1038 +load 230 node +call 231 pith_struct_release void 1 230 +load 232 parts +call 233 pith_struct_release void 1 232 +load 234 kind +call 235 pith_cstring_release void 1 234 +load 236 payload_kind +call 237 pith_cstring_release void 1 236 +load 238 arm +call 239 pith_struct_release void 1 238 +load 240 pn +call 241 pith_struct_release void 1 240 +load 242 variant_kinds +call 243 pith_list_release_handle void 1 242 +load 244 sub +call 245 pith_struct_release void 1 244 +iconst 246 0 +ret 246 endfunc func ir_emitter_core_ir_collect_reassigned_string_params 2 void param idx @@ -153809,36 +152990,36 @@ field 14 13 0 string kind strref 15 m51s1256 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L1108 L1109 -label L1108 +brif 16 L1040 L1041 +label L1040 load 18 target load 19 node field 20 19 8 string value call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 18 store target 20 -jmp L1107 -label L1109 +jmp L1039 +label L1041 iconst 23 0 -store __and_23_1112 23 +store __and_23_1044 23 load 24 node field 25 24 0 string kind strref 26 m51s599 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_1112 27 -brif 27 L1112 L1113 -label L1112 +store __and_23_1044 27 +brif 27 L1044 L1045 +label L1044 load 29 node field 30 29 16 list children call 31 pith_list_len int 1 30 iconst 32 0 gt 33 31 32 -store __and_23_1112 33 -label L1113 -load 34 __and_23_1112 -brif 34 L1110 L1111 -label L1110 +store __and_23_1044 33 +label L1045 +load 34 __and_23_1044 +brif 34 L1042 L1043 +label L1042 load 35 tn load 36 node field 37 36 16 list children @@ -153852,68 +153033,68 @@ field 43 42 0 string kind strref 44 m51s37 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L1115 L1116 -label L1115 +brif 45 L1047 L1048 +label L1047 load 47 target load 48 tn field 49 48 8 string value call 50 pith_cstring_retain void 1 49 call 51 pith_cstring_release void 1 47 store target 49 -jmp L1114 -label L1116 -label L1114 -jmp L1107 -label L1111 -label L1107 +jmp L1046 +label L1048 +label L1046 +jmp L1039 +label L1043 +label L1039 iconst 52 0 -store __and_52_1120 52 +store __and_52_1052 52 load 53 target call 54 string_len int 1 53 iconst 55 0 gt 56 54 55 -store __and_52_1120 56 -brif 56 L1120 L1121 -label L1120 +store __and_52_1052 56 +brif 56 L1052 L1053 +label L1052 load 57 names load 58 target iconst 59 -1 -store __list_index_result_L1122 59 +store __list_index_result_L1054 59 iconst 60 0 -store __list_index_i_L1123 60 +store __list_index_i_L1055 60 call 61 pith_list_len int 1 57 -label L1124 -load 62 __list_index_i_L1123 +label L1056 +load 62 __list_index_i_L1055 lt 63 62 61 -brif 63 L1125 L1128 -label L1125 +brif 63 L1057 L1060 +label L1057 call 64 pith_list_get_value string 2 57 62 call 65 pith_cstring_eq bool 2 64 58 -brif 65 L1126 L1127 -label L1126 -store __list_index_result_L1122 62 -jmp L1128 -label L1127 +brif 65 L1058 L1059 +label L1058 +store __list_index_result_L1054 62 +jmp L1060 +label L1059 iconst 66 1 add 67 62 66 -store __list_index_i_L1123 67 -jmp L1124 -label L1128 -load 68 __list_index_result_L1122 +store __list_index_i_L1055 67 +jmp L1056 +label L1060 +load 68 __list_index_result_L1054 iconst 69 0 gte 70 68 69 iconst 72 1 sub 71 72 70 -store __and_52_1120 71 -label L1121 -load 73 __and_52_1120 -brif 73 L1118 L1119 -label L1118 +store __and_52_1052 71 +label L1053 +load 73 __and_52_1052 +brif 73 L1050 L1051 +label L1050 load 74 ir_builder_ir_var_regs load 75 target call 76 contains_key bool 2 74 75 -brif 76 L1130 L1131 -label L1130 +brif 76 L1062 L1063 +label L1062 load 77 kind load 78 target call 79 ir_emitter_core_ir_lookup_name_type string 1 78 @@ -153925,47 +153106,47 @@ load 83 kind call 84 string_len int 1 83 iconst 85 0 gt 86 84 85 -brif 86 L1133 L1134 -label L1133 +brif 86 L1065 L1066 +label L1065 load 87 target load 88 kind call 89 ir_emitter_core_ir_rc_track_local void 2 87 88 -jmp L1132 -label L1134 -label L1132 -jmp L1129 -label L1131 -label L1129 -jmp L1117 -label L1119 -label L1117 +jmp L1064 +label L1066 +label L1064 +jmp L1061 +label L1063 +label L1061 +jmp L1049 +label L1051 +label L1049 load 90 node field 91 90 16 list children call 92 pith_auto_len int 1 91 iconst 93 0 -store __for_idx_340 93 -store __for_len_340 92 -store __for_iter_340 91 -label L1135 -load 94 __for_idx_340 -load 95 __for_len_340 +store __for_idx_339 93 +store __for_len_339 92 +store __for_iter_339 91 +label L1067 +load 94 __for_idx_339 +load 95 __for_len_339 lt 96 94 95 -brif 96 L1136 L1138 -label L1136 -load 97 __for_iter_340 -load 98 __for_idx_340 +brif 96 L1068 L1070 +label L1068 +load 97 __for_iter_339 +load 98 __for_idx_339 call 99 pith_list_get_value unknown 2 97 98 -store __loopvar_340_child 99 -load 100 __loopvar_340_child +store __loopvar_339_child 99 +load 100 __loopvar_339_child load 101 names call 102 ir_emitter_core_ir_collect_reassigned_string_params void 2 100 101 -label L1137 -load 103 __for_idx_340 +label L1069 +load 103 __for_idx_339 iconst 104 1 add 105 103 104 -store __for_idx_340 105 -jmp L1135 -label L1138 +store __for_idx_339 105 +jmp L1067 +label L1070 load 106 node call 107 pith_struct_release void 1 106 load 108 target @@ -153994,8 +153175,8 @@ store poisoned 6 load 8 body_idx iconst 9 0 gte 10 8 9 -brif 10 L1140 L1141 -label L1140 +brif 10 L1072 L1073 +label L1072 load 11 body_idx load 12 ir_emitter_core_ir_string_locals call 13 ir_emitter_core_ir_collect_reassigned_string_params void 2 11 12 @@ -154003,15 +153184,15 @@ load 14 body_idx load 15 ir_emitter_core_ir_string_locals load 16 poisoned call 17 ir_emitter_core_ir_collect_string_bind_names void 3 14 15 16 -jmp L1139 -label L1141 -label L1139 +jmp L1071 +label L1073 +label L1071 load 18 poisoned call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L1143 L1144 -label L1143 +brif 21 L1075 L1076 +label L1075 load 22 kept call 23 pith_list_new_cstr list 0 call 24 pith_list_release_handle void 1 22 @@ -154022,46 +153203,46 @@ call 27 pith_list_release_handle void 1 25 store kept_kinds 26 iconst 28 0 store pi 28 -label L1145 +label L1077 load 29 pi load 30 ir_emitter_core_ir_string_locals call 31 pith_list_len int 1 30 lt 32 29 31 -brif 32 L1146 L1147 -label L1146 +brif 32 L1078 L1079 +label L1078 load 33 poisoned load 34 ir_emitter_core_ir_string_locals load 35 pi call 36 pith_list_get_value_strict string 2 34 35 iconst 37 -1 -store __list_index_result_L1151 37 +store __list_index_result_L1083 37 iconst 38 0 -store __list_index_i_L1152 38 +store __list_index_i_L1084 38 call 39 pith_list_len int 1 33 -label L1153 -load 40 __list_index_i_L1152 +label L1085 +load 40 __list_index_i_L1084 lt 41 40 39 -brif 41 L1154 L1157 -label L1154 +brif 41 L1086 L1089 +label L1086 call 42 pith_list_get_value string 2 33 40 call 43 pith_cstring_eq bool 2 42 36 -brif 43 L1155 L1156 -label L1155 -store __list_index_result_L1151 40 -jmp L1157 -label L1156 +brif 43 L1087 L1088 +label L1087 +store __list_index_result_L1083 40 +jmp L1089 +label L1088 iconst 44 1 add 45 40 44 -store __list_index_i_L1152 45 -jmp L1153 -label L1157 -load 46 __list_index_result_L1151 +store __list_index_i_L1084 45 +jmp L1085 +label L1089 +load 46 __list_index_result_L1083 iconst 47 0 gte 48 46 47 iconst 50 1 sub 49 50 48 -brif 49 L1149 L1150 -label L1149 +brif 49 L1081 L1082 +label L1081 load 51 kept load 52 ir_emitter_core_ir_string_locals load 53 pi @@ -154071,28 +153252,28 @@ load 56 pi load 57 ir_emitter_core_ir_rc_local_kinds call 58 pith_list_len int 1 57 lt 59 56 58 -brif 59 L1159 L1160 -label L1159 +brif 59 L1091 L1092 +label L1091 load 60 kept_kinds load 61 ir_emitter_core_ir_rc_local_kinds load 62 pi call 63 pith_list_get_value_strict string 2 61 62 call 64 pith_list_push_value void 2 60 63 -jmp L1158 -label L1160 +jmp L1090 +label L1092 load 65 kept_kinds -strref 66 m51s716 +strref 66 m51s717 call 67 pith_list_push_value_owned void 2 65 66 -label L1158 -jmp L1148 -label L1150 -label L1148 +label L1090 +jmp L1080 +label L1082 +label L1080 load 68 pi iconst 69 1 add 70 68 69 store pi 70 -jmp L1145 -label L1147 +jmp L1077 +label L1079 load 71 kept call 72 pith_list_retain_handle void 1 71 store ir_emitter_core_ir_string_locals 71 @@ -154102,20 +153283,20 @@ store ir_emitter_core_ir_rc_local_kinds 73 load 75 poisoned call 76 pith_list_retain_handle void 1 75 store ir_builder_ir_untracked_rc_binds 75 -jmp L1142 -label L1144 -label L1142 +jmp L1074 +label L1076 +label L1074 load 77 body_idx call 78 ir_emitter_core_ir_tuple_cascade_scan void 1 77 iconst 79 0 store i 79 -label L1161 +label L1093 load 80 i load 81 ir_emitter_core_ir_string_locals call 82 pith_list_len int 1 81 lt 83 80 82 -brif 83 L1162 L1163 -label L1162 +brif 83 L1094 L1095 +label L1094 load 84 name load 85 ir_emitter_core_ir_string_locals load 86 i @@ -154126,8 +153307,8 @@ store name 87 load 90 ir_builder_ir_var_regs load 91 name call 92 contains_key bool 2 90 91 -brif 92 L1165 L1166 -label L1165 +brif 92 L1097 L1098 +label L1097 call 93 ir_builder_ir_reg int 0 store r 93 load 94 r @@ -154138,8 +153319,8 @@ load 98 name call 99 ir_emitter_core_ir_rc_local_kind string 1 98 call 100 ir_ownership_ir_rc_retain_reg void 2 97 99 call 101 pith_cstring_release void 1 99 -jmp L1164 -label L1166 +jmp L1096 +label L1098 call 102 ir_builder_ir_reg int 0 store z 102 strref 103 m51s880 @@ -154157,13 +153338,13 @@ call 114 pith_cstring_release void 1 110 load 115 name load 116 z call 117 ir_emitter_core_ir_emit_name_store void 2 115 116 -label L1164 +label L1096 load 118 i iconst 119 1 add 120 118 119 store i 120 -jmp L1161 -label L1163 +jmp L1093 +label L1095 load 121 poisoned call 122 pith_list_release_handle void 1 121 load 123 kept @@ -154213,7 +153394,7 @@ call 7 ast_get_node struct:Node 1 6 call 8 pith_struct_release void 1 5 store index_node 7 iconst 9 0 -store __or_9_1170 9 +store __or_9_1102 9 load 10 index_node field 11 10 0 string kind strref 12 m51s35 @@ -154221,27 +153402,27 @@ call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_9_1170 13 -brif 13 L1171 L1170 -label L1170 +store __or_9_1102 13 +brif 13 L1103 L1102 +label L1102 load 17 index_node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 2 lt 21 19 20 -store __or_9_1170 21 -label L1171 -load 22 __or_9_1170 -brif 22 L1168 L1169 -label L1168 +store __or_9_1102 21 +label L1103 +load 22 __or_9_1102 +brif 22 L1100 L1101 +label L1100 iconst 23 0 load 24 index_node call 25 pith_struct_release void 1 24 load 26 base_node call 27 pith_struct_release void 1 26 ret 23 -label L1169 -label L1167 +label L1101 +label L1099 load 28 base_node load 29 index_node field 30 29 16 list children @@ -154251,7 +153432,7 @@ call 33 ast_get_node struct:Node 1 32 call 34 pith_struct_release void 1 28 store base_node 33 iconst 35 0 -store __or_35_1175 35 +store __or_35_1107 35 load 36 base_node field 37 36 0 string kind strref 38 m51s37 @@ -154259,43 +153440,43 @@ call 40 pith_cstring_eq bool 2 37 38 iconst 41 1 sub 39 41 40 call 42 pith_cstring_release void 1 38 -store __or_35_1175 39 -brif 39 L1176 L1175 -label L1175 +store __or_35_1107 39 +brif 39 L1108 L1107 +label L1107 load 43 base_node field 44 43 8 string value load 45 member_name call 47 pith_cstring_eq bool 2 44 45 iconst 48 1 sub 46 48 47 -store __or_35_1175 46 -label L1176 -load 49 __or_35_1175 -brif 49 L1173 L1174 -label L1173 +store __or_35_1107 46 +label L1108 +load 49 __or_35_1107 +brif 49 L1105 L1106 +label L1105 iconst 50 0 load 51 index_node call 52 pith_struct_release void 1 51 load 53 base_node call 54 pith_struct_release void 1 53 ret 50 -label L1174 -label L1172 +label L1106 +label L1104 load 55 ir_generics_ir_generic_decl_indices load 56 member_name call 57 contains_key bool 2 55 56 iconst 59 1 sub 58 59 57 -brif 58 L1178 L1179 -label L1178 +brif 58 L1110 L1111 +label L1110 iconst 60 0 load 61 index_node call 62 pith_struct_release void 1 61 load 63 base_node call 64 pith_struct_release void 1 63 ret 60 -label L1179 -label L1177 +label L1111 +label L1109 load 65 ir_generics_ir_generic_decl_indices load 66 member_name call 67 map_get_strict int 2 65 66 @@ -154328,41 +153509,41 @@ call 6 ir_method_tables_ir_declared_callable_ir_retkind string 1 5 call 7 pith_cstring_release void 1 3 store raw_kind 6 iconst 8 0 -store __or_8_1183 8 +store __or_8_1115 8 iconst 9 0 -store __or_9_1183 9 +store __or_9_1115 9 load 10 raw_kind strref 11 m51s23 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_1183 12 -brif 12 L1184 L1183 -label L1183 +store __or_9_1115 12 +brif 12 L1116 L1115 +label L1115 load 14 raw_kind -strref 15 m51s853 +strref 15 m51s854 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_1183 16 -label L1184 -load 18 __or_9_1183 -store __or_8_1183 18 -brif 18 L1186 L1185 -label L1185 +store __or_9_1115 16 +label L1116 +load 18 __or_9_1115 +store __or_8_1115 18 +brif 18 L1118 L1117 +label L1117 load 19 raw_kind -strref 20 m51s852 +strref 20 m51s853 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_1183 21 -label L1186 -load 23 __or_8_1183 -brif 23 L1181 L1182 -label L1181 +store __or_8_1115 21 +label L1118 +load 23 __or_8_1115 +brif 23 L1113 L1114 +label L1113 iconst 24 1 load 25 raw_kind call 26 pith_cstring_release void 1 25 ret 24 -label L1182 -label L1180 +label L1114 +label L1112 load 27 callee field 28 27 0 string name call 29 ir_metadata_ir_builtin_result_retkind string 1 28 @@ -154396,15 +153577,15 @@ func ir_emitter_core_ir_emit_call_arg 1 int param expr_idx load 1 expr_idx call 2 checker_c_argument_widens_to_optional bool 1 1 -brif 2 L1188 L1189 -label L1188 +brif 2 L1120 L1121 +label L1120 load 3 expr_idx strref 4 m51s23 call 5 ir_emitter_core_ir_emit_value_for_target int 2 3 4 call 6 pith_cstring_release void 1 4 ret 5 -label L1189 -label L1187 +label L1121 +label L1119 load 7 expr_idx call 8 ir_emitter_core_ir_expr int 1 7 ret 8 @@ -154414,18 +153595,18 @@ endfunc func ir_emitter_core_ir_arg_release_is_skipped 1 bool param expr_idx iconst 1 0 -store __and_1_1190 1 +store __and_1_1122 1 load 2 expr_idx iconst 3 0 gte 4 2 3 -store __and_1_1190 4 -brif 4 L1190 L1191 -label L1190 +store __and_1_1122 4 +brif 4 L1122 L1123 +label L1122 load 5 expr_idx call 6 checker_c_argument_widens_to_optional bool 1 5 -store __and_1_1190 6 -label L1191 -load 7 __and_1_1190 +store __and_1_1122 6 +label L1123 +load 7 __and_1_1122 ret 7 iconst 8 0 ret 8 @@ -154447,31 +153628,31 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_341 11 -store __for_len_341 10 -store __for_iter_341 9 -label L1192 -load 12 __for_idx_341 -load 13 __for_len_341 +store __for_idx_340 11 +store __for_len_340 10 +store __for_iter_340 9 +label L1124 +load 12 __for_idx_340 +load 13 __for_len_340 lt 14 12 13 -brif 14 L1193 L1195 -label L1193 -load 15 __for_iter_341 -load 16 __for_idx_341 +brif 14 L1125 L1127 +label L1125 +load 15 __for_iter_340 +load 16 __for_idx_340 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_341_child 17 -load 18 __for_idx_341 -store __loopvar_341_i 18 -load 19 __loopvar_341_i +store __loopvar_340_child 17 +load 18 __for_idx_340 +store __loopvar_340_i 18 +load 19 __loopvar_340_i load 20 start_idx lt 21 19 20 -brif 21 L1197 L1198 -label L1197 -jmp L1194 -label L1198 -label L1196 +brif 21 L1129 L1130 +label L1129 +jmp L1126 +label L1130 +label L1128 load 22 child_kind -load 23 __loopvar_341_child +load 23 __loopvar_340_child call 24 ast_node_kind string 1 23 call 25 pith_cstring_release void 1 22 store child_kind 24 @@ -154479,10 +153660,10 @@ load 26 child_kind strref 27 m51s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L1200 L1201 -label L1200 +brif 28 L1132 L1133 +label L1132 load 30 cn -load 31 __loopvar_341_child +load 31 __loopvar_340_child call 32 ast_get_node struct:Node 1 31 call 33 pith_struct_release void 1 30 store cn 32 @@ -154491,8 +153672,8 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L1203 L1204 -label L1203 +brif 38 L1135 L1136 +label L1135 load 39 arg_regs load 40 cn field 41 40 16 list children @@ -154500,23 +153681,23 @@ iconst 42 0 call 43 pith_list_get_value_strict int 2 41 42 call 44 ir_emitter_core_ir_emit_call_arg int 1 43 call 45 pith_list_push_value void 2 39 44 -jmp L1202 -label L1204 -label L1202 -jmp L1199 -label L1201 +jmp L1134 +label L1136 +label L1134 +jmp L1131 +label L1133 load 46 arg_regs -load 47 __loopvar_341_child +load 47 __loopvar_340_child call 48 ir_emitter_core_ir_emit_call_arg int 1 47 call 49 pith_list_push_value void 2 46 48 -label L1199 -label L1194 -load 50 __for_idx_341 +label L1131 +label L1126 +load 50 __for_idx_340 iconst 51 1 add 52 50 51 -store __for_idx_341 52 -jmp L1192 -label L1195 +store __for_idx_340 52 +jmp L1124 +label L1127 load 53 arg_regs load 54 child_kind call 55 pith_cstring_release void 1 54 @@ -154539,82 +153720,82 @@ param skip_pos load 3 arg_regs call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_342 5 -store __for_len_342 4 -store __for_iter_342 3 -label L1205 -load 6 __for_idx_342 -load 7 __for_len_342 +store __for_idx_341 5 +store __for_len_341 4 +store __for_iter_341 3 +label L1137 +load 6 __for_idx_341 +load 7 __for_len_341 lt 8 6 7 -brif 8 L1206 L1208 -label L1206 -load 9 __for_iter_342 -load 10 __for_idx_342 +brif 8 L1138 L1140 +label L1138 +load 9 __for_iter_341 +load 10 __for_idx_341 call 11 pith_list_get_value unknown 2 9 10 -store __loopvar_342_reg 11 -load 12 __for_idx_342 -store __loopvar_342_i 12 -load 13 __loopvar_342_i +store __loopvar_341_reg 11 +load 12 __for_idx_341 +store __loopvar_341_i 12 +load 13 __loopvar_341_i load 14 skip_pos eq 15 13 14 -brif 15 L1210 L1211 -label L1210 -jmp L1207 -label L1211 -label L1209 +brif 15 L1142 L1143 +label L1142 +jmp L1139 +label L1143 +label L1141 load 16 node -load 17 __loopvar_342_i +load 17 __loopvar_341_i call 18 ir_emitter_core_ir_method_call_arg_expr int 2 16 17 store expr_idx 18 load 19 expr_idx iconst 20 0 lt 21 19 20 -brif 21 L1213 L1214 -label L1213 -jmp L1207 -label L1214 -label L1212 +brif 21 L1145 L1146 +label L1145 +jmp L1139 +label L1146 +label L1144 load 22 expr_idx call 23 ir_emitter_core_ir_arg_release_is_skipped bool 1 22 -brif 23 L1216 L1217 -label L1216 -jmp L1207 -label L1217 -label L1215 +brif 23 L1148 L1149 +label L1148 +jmp L1139 +label L1149 +label L1147 load 24 expr_idx -load 25 __loopvar_342_reg +load 25 __loopvar_341_reg load 26 expr_idx call 27 ir_emitter_core_ir_infer_type string 1 26 call 28 ir_emitter_core_ir_release_owned_string_operand void 3 24 25 27 call 29 pith_cstring_release void 1 27 -label L1207 -load 30 __for_idx_342 +label L1139 +load 30 __for_idx_341 iconst 31 1 add 32 30 31 -store __for_idx_342 32 -jmp L1205 -label L1208 +store __for_idx_341 32 +jmp L1137 +label L1140 iconst 33 0 ret 33 endfunc func ir_emitter_core_ir_method_result_retains_over_args 1 bool param emit_name iconst 1 0 -store __or_1_1218 1 +store __or_1_1150 1 load 2 emit_name -strref 3 m51s728 +strref 3 m51s729 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_1218 4 -brif 4 L1219 L1218 -label L1218 +store __or_1_1150 4 +brif 4 L1151 L1150 +label L1150 load 6 emit_name -strref 7 m51s729 +strref 7 m51s730 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_1218 8 -label L1219 -load 10 __or_1_1218 +store __or_1_1150 8 +label L1151 +load 10 __or_1_1150 ret 10 iconst 11 0 ret 11 @@ -154633,107 +153814,107 @@ load 6 node field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_343 9 -store __for_len_343 8 -store __for_iter_343 7 -label L1220 -load 10 __for_idx_343 -load 11 __for_len_343 +store __for_idx_342 9 +store __for_len_342 8 +store __for_iter_342 7 +label L1152 +load 10 __for_idx_342 +load 11 __for_len_342 lt 12 10 11 -brif 12 L1221 L1223 -label L1221 -load 13 __for_iter_343 -load 14 __for_idx_343 +brif 12 L1153 L1155 +label L1153 +load 13 __for_iter_342 +load 14 __for_idx_342 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_343_child 15 +store __loopvar_342_child 15 load 16 cn -load 17 __loopvar_343_child +load 17 __loopvar_342_child call 18 ast_get_node struct:Node 1 17 call 19 pith_struct_release void 1 16 store cn 18 iconst 20 0 -store __and_20_1227 20 +store __and_20_1159 20 load 21 cn field 22 21 0 string kind strref 23 m51s42 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_1227 24 -brif 24 L1227 L1228 -label L1227 +store __and_20_1159 24 +brif 24 L1159 L1160 +label L1159 load 26 cn field 27 26 8 string value call 28 string_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_20_1227 30 -label L1228 -load 31 __and_20_1227 -brif 31 L1225 L1226 -label L1225 +store __and_20_1159 30 +label L1160 +load 31 __and_20_1159 +brif 31 L1157 L1158 +label L1157 iconst 32 1 store has_named 32 -jmp L1224 -label L1226 -label L1224 -label L1222 -load 33 __for_idx_343 +jmp L1156 +label L1158 +label L1156 +label L1154 +load 33 __for_idx_342 iconst 34 1 add 35 33 34 -store __for_idx_343 35 -jmp L1220 -label L1223 +store __for_idx_342 35 +jmp L1152 +label L1155 iconst 36 0 store reg_i 36 load 37 node field 38 37 16 list children call 39 pith_auto_len int 1 38 iconst 40 0 -store __for_idx_344 40 -store __for_len_344 39 -store __for_iter_344 38 -label L1229 -load 41 __for_idx_344 -load 42 __for_len_344 +store __for_idx_343 40 +store __for_len_343 39 +store __for_iter_343 38 +label L1161 +load 41 __for_idx_343 +load 42 __for_len_343 lt 43 41 42 -brif 43 L1230 L1232 -label L1230 -load 44 __for_iter_344 -load 45 __for_idx_344 +brif 43 L1162 L1164 +label L1162 +load 44 __for_iter_343 +load 45 __for_idx_343 call 46 pith_list_get_value unknown 2 44 45 -store __loopvar_344_child 46 -load 47 __for_idx_344 -store __loopvar_344_i 47 -load 48 __loopvar_344_i +store __loopvar_343_child 46 +load 47 __for_idx_343 +store __loopvar_343_i 47 +load 48 __loopvar_343_i load 49 start_idx lt 50 48 49 -brif 50 L1234 L1235 -label L1234 -jmp L1231 -label L1235 -label L1233 +brif 50 L1166 L1167 +label L1166 +jmp L1163 +label L1167 +label L1165 load 51 reg_i load 52 arg_regs call 53 pith_list_len int 1 52 gte 54 51 53 -brif 54 L1237 L1238 -label L1237 +brif 54 L1169 L1170 +label L1169 load 55 cn call 56 pith_struct_release void 1 55 load 57 arg_name call 58 pith_cstring_release void 1 57 iconst 59 0 ret 59 -label L1238 -label L1236 -load 60 __loopvar_344_child +label L1170 +label L1168 +load 60 __loopvar_343_child store expr_idx 60 load 61 arg_name strref 62 m51s83 call 63 pith_cstring_release void 1 61 store arg_name 62 load 64 cn -load 65 __loopvar_344_child +load 65 __loopvar_343_child call 66 ast_get_node struct:Node 1 65 call 67 pith_struct_release void 1 64 store cn 66 @@ -154742,18 +153923,18 @@ field 69 68 0 string kind strref 70 m51s42 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -brif 71 L1240 L1241 -label L1240 +brif 71 L1172 L1173 +label L1172 load 73 cn field 74 73 16 list children call 75 pith_list_len int 1 74 iconst 76 0 eq 77 75 76 -brif 77 L1243 L1244 -label L1243 -jmp L1231 -label L1244 -label L1242 +brif 77 L1175 L1176 +label L1175 +jmp L1163 +label L1176 +label L1174 load 78 arg_name load 79 cn field 80 79 8 string value @@ -154765,15 +153946,15 @@ field 84 83 16 list children iconst 85 0 call 86 pith_list_get_value_strict int 2 84 85 store expr_idx 86 -jmp L1239 -label L1241 -label L1239 +jmp L1171 +label L1173 +label L1171 load 87 expr_idx call 88 ir_emitter_core_ir_arg_release_is_skipped bool 1 87 iconst 89 0 eq 90 88 89 -brif 90 L1246 L1247 -label L1246 +brif 90 L1178 L1179 +label L1178 load 91 expr_idx load 92 arg_regs load 93 reg_i @@ -154783,22 +153964,22 @@ call 96 ir_emitter_core_ir_infer_type string 1 95 call 97 ir_emitter_core_ir_release_owned_string_operand void 3 91 94 96 call 98 pith_cstring_release void 1 96 iconst 99 0 -store __or_99_1251 99 +store __or_99_1183 99 load 100 arg_name call 101 string_len int 1 100 iconst 102 0 gt 103 101 102 -store __or_99_1251 103 -brif 103 L1252 L1251 -label L1251 +store __or_99_1183 103 +brif 103 L1184 L1183 +label L1183 load 104 has_named iconst 106 1 sub 105 106 104 -store __or_99_1251 105 -label L1252 -load 107 __or_99_1251 -brif 107 L1249 L1250 -label L1249 +store __or_99_1183 105 +label L1184 +load 107 __or_99_1183 +brif 107 L1181 L1182 +label L1181 load 108 node load 109 reg_i load 110 arg_name @@ -154807,23 +153988,23 @@ load 112 arg_regs load 113 reg_i call 114 pith_list_get_value_strict int 2 112 113 call 115 ir_emitter_core_ir_release_fresh_optional_arg void 5 108 109 110 111 114 -jmp L1248 -label L1250 -label L1248 -jmp L1245 -label L1247 -label L1245 +jmp L1180 +label L1182 +label L1180 +jmp L1177 +label L1179 +label L1177 load 116 reg_i iconst 117 1 add 118 116 117 store reg_i 118 -label L1231 -load 119 __for_idx_344 +label L1163 +load 119 __for_idx_343 iconst 120 1 add 121 119 120 -store __for_idx_344 121 -jmp L1229 -label L1232 +store __for_idx_343 121 +jmp L1161 +label L1164 load 122 cn call 123 pith_struct_release void 1 122 load 124 arg_name @@ -154838,40 +154019,40 @@ param field_types load 3 ir_struct_registry_ir_struct_names load 4 name call 5 contains_key bool 2 3 4 -brif 5 L1254 L1255 -label L1254 +brif 5 L1186 L1187 +label L1186 iconst 6 0 ret 6 -label L1255 -label L1253 +label L1187 +label L1185 load 7 field_names call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_345 9 -store __for_len_345 8 -store __for_iter_345 7 -label L1256 -load 10 __for_idx_345 -load 11 __for_len_345 +store __for_idx_344 9 +store __for_len_344 8 +store __for_iter_344 7 +label L1188 +load 10 __for_idx_344 +load 11 __for_len_344 lt 12 10 11 -brif 12 L1257 L1259 -label L1257 -load 13 __for_iter_345 -load 14 __for_idx_345 +brif 12 L1189 L1191 +label L1189 +load 13 __for_iter_344 +load 14 __for_idx_344 call 15 pith_list_get_value_unchecked string 2 13 14 -store __loopvar_345_field_name 15 -load 16 __for_idx_345 -store __loopvar_345_i 16 +store __loopvar_344_field_name 15 +load 16 __for_idx_344 +store __loopvar_344_i 16 load 17 ir_struct_registry_ir_struct_field_lookup load 18 name strref 19 m51s26 concat 20 18 19 call 21 pith_cstring_release void 1 19 -load 22 __loopvar_345_field_name +load 22 __loopvar_344_field_name concat 23 20 22 call 24 pith_cstring_release void 1 20 load 25 field_types -load 26 __loopvar_345_i +load 26 __loopvar_344_i call 27 pith_list_get_value_strict string 2 25 26 call 28 map_insert void 3 17 23 27 call 29 pith_cstring_release void 1 23 @@ -154880,20 +154061,20 @@ load 31 name strref 32 m51s26 concat 33 31 32 call 34 pith_cstring_release void 1 32 -load 35 __loopvar_345_field_name +load 35 __loopvar_344_field_name concat 36 33 35 call 37 pith_cstring_release void 1 33 -load 38 __loopvar_345_i +load 38 __loopvar_344_i call 39 int_to_string string 1 38 call 40 pith_map_insert_cstr_owned void 3 30 36 39 call 41 pith_cstring_release void 1 36 -label L1258 -load 42 __for_idx_345 +label L1190 +load 42 __for_idx_344 iconst 43 1 add 44 42 43 -store __for_idx_345 44 -jmp L1256 -label L1259 +store __for_idx_344 44 +jmp L1188 +label L1191 load 45 ir_struct_registry_ir_struct_names load 46 name load 47 field_names @@ -154902,40 +154083,40 @@ call 49 map_insert void 3 45 46 48 load 50 ir_emitter_core_ir_local_struct_names load 51 name iconst 52 -1 -store __list_index_result_L1263 52 +store __list_index_result_L1195 52 iconst 53 0 -store __list_index_i_L1264 53 +store __list_index_i_L1196 53 call 54 pith_list_len int 1 50 -label L1265 -load 55 __list_index_i_L1264 +label L1197 +load 55 __list_index_i_L1196 lt 56 55 54 -brif 56 L1266 L1269 -label L1266 +brif 56 L1198 L1201 +label L1198 call 57 pith_list_get_value string 2 50 55 call 58 pith_cstring_eq bool 2 57 51 -brif 58 L1267 L1268 -label L1267 -store __list_index_result_L1263 55 -jmp L1269 -label L1268 +brif 58 L1199 L1200 +label L1199 +store __list_index_result_L1195 55 +jmp L1201 +label L1200 iconst 59 1 add 60 55 59 -store __list_index_i_L1264 60 -jmp L1265 -label L1269 -load 61 __list_index_result_L1263 +store __list_index_i_L1196 60 +jmp L1197 +label L1201 +load 61 __list_index_result_L1195 iconst 62 0 gte 63 61 62 iconst 65 1 sub 64 65 63 -brif 64 L1261 L1262 -label L1261 +brif 64 L1193 L1194 +label L1193 load 66 ir_emitter_core_ir_local_struct_names load 67 name call 68 pith_list_push_value void 2 66 67 -jmp L1260 -label L1262 -label L1260 +jmp L1192 +label L1194 +label L1192 strref 69 m51s1360 load 70 name concat 71 69 70 @@ -154960,45 +154141,45 @@ func ir_emitter_core_ir_substitute_type_name 1 string param name iconst 1 0 store i 1 -label L1270 +label L1202 load 2 i load 3 ir_emitter_core_ir_current_impl_subst_params call 4 pith_list_len int 1 3 lt 5 2 4 -brif 5 L1271 L1272 -label L1271 +brif 5 L1203 L1204 +label L1203 iconst 6 0 -store __and_6_1276 6 +store __and_6_1208 6 load 7 ir_emitter_core_ir_current_impl_subst_params load 8 i call 9 pith_list_get_value_strict string 2 7 8 load 10 name call 11 pith_cstring_eq bool 2 9 10 -store __and_6_1276 11 -brif 11 L1276 L1277 -label L1276 +store __and_6_1208 11 +brif 11 L1208 L1209 +label L1208 load 12 i load 13 ir_emitter_core_ir_current_impl_subst_args call 14 pith_list_len int 1 13 lt 15 12 14 -store __and_6_1276 15 -label L1277 -load 16 __and_6_1276 -brif 16 L1274 L1275 -label L1274 +store __and_6_1208 15 +label L1209 +load 16 __and_6_1208 +brif 16 L1206 L1207 +label L1206 load 17 ir_emitter_core_ir_current_impl_subst_args load 18 i call 19 pith_list_get_value_strict string 2 17 18 call 20 pith_cstring_retain void 1 19 ret 19 -label L1275 -label L1273 +label L1207 +label L1205 load 21 i iconst 22 1 add 23 21 22 store i 23 -jmp L1270 -label L1272 +jmp L1202 +label L1204 load 24 name call 25 pith_cstring_retain void 1 24 ret 24 @@ -155021,21 +154202,21 @@ load 7 node field 8 7 16 list children call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_346 10 -store __for_len_346 9 -store __for_iter_346 8 -label L1278 -load 11 __for_idx_346 -load 12 __for_len_346 +store __for_idx_345 10 +store __for_len_345 9 +store __for_iter_345 8 +label L1210 +load 11 __for_idx_345 +load 12 __for_len_345 lt 13 11 12 -brif 13 L1279 L1281 -label L1279 -load 14 __for_iter_346 -load 15 __for_idx_346 +brif 13 L1211 L1213 +label L1211 +load 14 __for_iter_345 +load 15 __for_idx_345 call 16 pith_list_get_value unknown 2 14 15 -store __loopvar_346_child 16 +store __loopvar_345_child 16 load 17 child_node -load 18 __loopvar_346_child +load 18 __loopvar_345_child call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 17 store child_node 19 @@ -155044,42 +154225,42 @@ field 22 21 0 string kind strref 23 m51s316 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L1283 L1284 -label L1283 +brif 24 L1215 L1216 +label L1215 load 26 impl_type load 27 child_node field 28 27 8 string value call 29 pith_cstring_retain void 1 28 call 30 pith_cstring_release void 1 26 store impl_type 28 -jmp L1282 -label L1284 +jmp L1214 +label L1216 load 31 child_node field 32 31 0 string kind strref 33 m51s611 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1285 L1286 -label L1285 +brif 34 L1217 L1218 +label L1217 load 36 child_node field 37 36 16 list children call 38 pith_auto_len int 1 37 iconst 39 0 -store __for_idx_347 39 -store __for_len_347 38 -store __for_iter_347 37 -label L1287 -load 40 __for_idx_347 -load 41 __for_len_347 +store __for_idx_346 39 +store __for_len_346 38 +store __for_iter_346 37 +label L1219 +load 40 __for_idx_346 +load 41 __for_len_346 lt 42 40 41 -brif 42 L1288 L1290 -label L1288 -load 43 __for_iter_347 -load 44 __for_idx_347 +brif 42 L1220 L1222 +label L1220 +load 43 __for_iter_346 +load 44 __for_idx_346 call 45 pith_list_get_value unknown 2 43 44 -store __loopvar_347_type_idx 45 +store __loopvar_346_type_idx 45 load 46 type_child -load 47 __loopvar_347_type_idx +load 47 __loopvar_346_type_idx call 48 ast_get_node struct:Node 1 47 call 49 pith_struct_release void 1 46 store type_child 48 @@ -155088,61 +154269,61 @@ field 51 50 0 string kind strref 52 m51s316 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L1292 L1293 -label L1292 +brif 53 L1224 L1225 +label L1224 load 55 impl_type load 56 type_child field 57 56 8 string value call 58 pith_cstring_retain void 1 57 call 59 pith_cstring_release void 1 55 store impl_type 57 -jmp L1291 -label L1293 -label L1291 -label L1289 -load 60 __for_idx_347 +jmp L1223 +label L1225 +label L1223 +label L1221 +load 60 __for_idx_346 iconst 61 1 add 62 60 61 -store __for_idx_347 62 -jmp L1287 -label L1290 -jmp L1282 -label L1286 +store __for_idx_346 62 +jmp L1219 +label L1222 +jmp L1214 +label L1218 iconst 63 0 -store __and_63_1296 63 +store __and_63_1228 63 load 64 child_node field 65 64 0 string kind strref 66 m51s336 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __and_63_1296 67 -brif 67 L1296 L1297 -label L1296 +store __and_63_1228 67 +brif 67 L1228 L1229 +label L1228 load 69 impl_type strref 70 m51s83 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -store __and_63_1296 71 -label L1297 -load 73 __and_63_1296 -brif 73 L1294 L1295 -label L1294 +store __and_63_1228 71 +label L1229 +load 73 __and_63_1228 +brif 73 L1226 L1227 +label L1226 load 74 impl_type load 75 child_node field 76 75 8 string value call 77 pith_cstring_retain void 1 76 call 78 pith_cstring_release void 1 74 store impl_type 76 -jmp L1282 -label L1295 -label L1282 -label L1280 -load 79 __for_idx_346 +jmp L1214 +label L1227 +label L1214 +label L1212 +load 79 __for_idx_345 iconst 80 1 add 81 79 80 -store __for_idx_346 81 -jmp L1278 -label L1281 +store __for_idx_345 81 +jmp L1210 +label L1213 load 82 impl_type load 83 child_node call 84 pith_struct_release void 1 83 @@ -155174,110 +154355,110 @@ load 7 node field 8 7 16 list children call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_348 10 -store __for_len_348 9 -store __for_iter_348 8 -label L1298 -load 11 __for_idx_348 -load 12 __for_len_348 +store __for_idx_347 10 +store __for_len_347 9 +store __for_iter_347 8 +label L1230 +load 11 __for_idx_347 +load 12 __for_len_347 lt 13 11 12 -brif 13 L1299 L1301 -label L1299 -load 14 __for_iter_348 -load 15 __for_idx_348 +brif 13 L1231 L1233 +label L1231 +load 14 __for_iter_347 +load 15 __for_idx_347 call 16 pith_list_get_value unknown 2 14 15 -store __loopvar_348_child 16 +store __loopvar_347_child 16 load 17 cn -load 18 __loopvar_348_child +load 18 __loopvar_347_child call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 17 store cn 19 iconst 21 0 -store __and_21_1305 21 +store __and_21_1237 21 load 22 cn field 23 22 0 string kind strref 24 m51s316 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_1305 25 -brif 25 L1305 L1306 -label L1305 +store __and_21_1237 25 +brif 25 L1237 L1238 +label L1237 load 27 first_type strref 28 m51s83 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __and_21_1305 29 -label L1306 -load 31 __and_21_1305 -brif 31 L1303 L1304 -label L1303 +store __and_21_1237 29 +label L1238 +load 31 __and_21_1237 +brif 31 L1235 L1236 +label L1235 load 32 first_type load 33 cn field 34 33 8 string value call 35 pith_cstring_retain void 1 34 call 36 pith_cstring_release void 1 32 store first_type 34 -jmp L1302 -label L1304 +jmp L1234 +label L1236 iconst 37 0 -store __and_37_1309 37 +store __and_37_1241 37 load 38 cn field 39 38 0 string kind strref 40 m51s336 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __and_37_1309 41 -brif 41 L1309 L1310 -label L1309 +store __and_37_1241 41 +brif 41 L1241 L1242 +label L1241 load 43 first_type strref 44 m51s83 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_37_1309 45 -label L1310 -load 47 __and_37_1309 -brif 47 L1307 L1308 -label L1307 +store __and_37_1241 45 +label L1242 +load 47 __and_37_1241 +brif 47 L1239 L1240 +label L1239 load 48 first_type load 49 cn field 50 49 8 string value call 51 pith_cstring_retain void 1 50 call 52 pith_cstring_release void 1 48 store first_type 50 -jmp L1302 -label L1308 +jmp L1234 +label L1240 load 53 cn field 54 53 0 string kind strref 55 m51s611 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L1311 L1312 -label L1311 +brif 56 L1243 L1244 +label L1243 iconst 58 1 store has_for 58 -jmp L1302 -label L1312 -label L1302 -label L1300 -load 59 __for_idx_348 +jmp L1234 +label L1244 +label L1234 +label L1232 +load 59 __for_idx_347 iconst 60 1 add 61 59 60 -store __for_idx_348 61 -jmp L1298 -label L1301 +store __for_idx_347 61 +jmp L1230 +label L1233 load 62 has_for iconst 63 0 eq 64 62 63 -brif 64 L1314 L1315 -label L1314 +brif 64 L1246 L1247 +label L1246 strref 65 m51s83 load 66 first_type call 67 pith_cstring_release void 1 66 load 68 cn call 69 pith_struct_release void 1 68 ret 65 -label L1315 -label L1313 +label L1247 +label L1245 load 70 first_type call 71 ir_method_tables_ir_strip_type_args string 1 70 load 72 first_type @@ -155301,55 +154482,55 @@ load 3 node field 4 3 16 list children call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_349 6 -store __for_len_349 5 -store __for_iter_349 4 -label L1316 -load 7 __for_idx_349 -load 8 __for_len_349 +store __for_idx_348 6 +store __for_len_348 5 +store __for_iter_348 4 +label L1248 +load 7 __for_idx_348 +load 8 __for_len_348 lt 9 7 8 -brif 9 L1317 L1319 -label L1317 -load 10 __for_iter_349 -load 11 __for_idx_349 +brif 9 L1249 L1251 +label L1249 +load 10 __for_iter_348 +load 11 __for_idx_348 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_349_child 12 +store __loopvar_348_child 12 load 13 mn -load 14 __loopvar_349_child +load 14 __loopvar_348_child call 15 ir_ast_helpers_ir_unwrap_pub_child int 1 14 call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 13 store mn 16 iconst 18 0 -store __and_18_1323 18 +store __and_18_1255 18 load 19 mn field 20 19 0 string kind call 21 ir_generics_ir_is_fn_decl_kind bool 1 20 -store __and_18_1323 21 -brif 21 L1323 L1324 -label L1323 +store __and_18_1255 21 +brif 21 L1255 L1256 +label L1255 load 22 mn field 23 22 8 string value load 24 method_name call 25 pith_cstring_eq bool 2 23 24 -store __and_18_1323 25 -label L1324 -load 26 __and_18_1323 -brif 26 L1321 L1322 -label L1321 +store __and_18_1255 25 +label L1256 +load 26 __and_18_1255 +brif 26 L1253 L1254 +label L1253 iconst 27 1 load 28 mn call 29 pith_struct_release void 1 28 ret 27 -label L1322 -label L1320 -label L1318 -load 30 __for_idx_349 +label L1254 +label L1252 +label L1250 +load 30 __for_idx_348 iconst 31 1 add 32 30 31 -store __for_idx_349 32 -jmp L1316 -label L1319 +store __for_idx_348 32 +jmp L1248 +label L1251 iconst 33 0 load 34 mn call 35 pith_struct_release void 1 34 @@ -155382,8 +154563,8 @@ load 12 iface_base call 13 string_len int 1 12 iconst 14 0 eq 15 13 14 -brif 15 L1326 L1327 -label L1326 +brif 15 L1258 L1259 +label L1258 load 16 result load 17 iface_base call 18 pith_cstring_release void 1 17 @@ -155392,15 +154573,15 @@ call 20 pith_struct_release void 1 19 load 21 mn call 22 pith_struct_release void 1 21 ret 16 -label L1327 -label L1325 +label L1259 +label L1257 load 23 ir_method_tables_ir_interface_decl_index load 24 iface_base call 25 contains_key bool 2 23 24 iconst 26 0 eq 27 25 26 -brif 27 L1329 L1330 -label L1329 +brif 27 L1261 L1262 +label L1261 load 28 result load 29 iface_base call 30 pith_cstring_release void 1 29 @@ -155409,8 +154590,8 @@ call 32 pith_struct_release void 1 31 load 33 mn call 34 pith_struct_release void 1 33 ret 28 -label L1330 -label L1328 +label L1262 +label L1260 load 35 iface_node load 36 ir_method_tables_ir_interface_decl_index load 37 iface_base @@ -155422,53 +154603,53 @@ load 41 iface_node field 42 41 16 list children call 43 pith_auto_len int 1 42 iconst 44 0 -store __for_idx_350 44 -store __for_len_350 43 -store __for_iter_350 42 -label L1331 -load 45 __for_idx_350 -load 46 __for_len_350 +store __for_idx_349 44 +store __for_len_349 43 +store __for_iter_349 42 +label L1263 +load 45 __for_idx_349 +load 46 __for_len_349 lt 47 45 46 -brif 47 L1332 L1334 -label L1332 -load 48 __for_iter_350 -load 49 __for_idx_350 +brif 47 L1264 L1266 +label L1264 +load 48 __for_iter_349 +load 49 __for_idx_349 call 50 pith_list_get_value unknown 2 48 49 -store __loopvar_350_member 50 +store __loopvar_349_member 50 load 51 mn -load 52 __loopvar_350_member +load 52 __loopvar_349_member call 53 ast_get_node struct:Node 1 52 call 54 pith_struct_release void 1 51 store mn 53 load 55 mn field 56 55 0 string kind call 57 ir_generics_ir_is_fn_decl_kind bool 1 56 -brif 57 L1336 L1337 -label L1336 +brif 57 L1268 L1269 +label L1268 load 58 node load 59 mn field 60 59 8 string value call 61 ir_emitter_core_ir_impl_defines_method bool 2 58 60 iconst 62 0 eq 63 61 62 -brif 63 L1339 L1340 -label L1339 +brif 63 L1271 L1272 +label L1271 load 64 result -load 65 __loopvar_350_member +load 65 __loopvar_349_member call 66 pith_list_push_value void 2 64 65 -jmp L1338 -label L1340 -label L1338 -jmp L1335 -label L1337 -label L1335 -label L1333 -load 67 __for_idx_350 +jmp L1270 +label L1272 +label L1270 +jmp L1267 +label L1269 +label L1267 +label L1265 +load 67 __for_idx_349 iconst 68 1 add 69 67 68 -store __for_idx_350 69 -jmp L1331 -label L1334 +store __for_idx_349 69 +jmp L1263 +label L1266 load 70 result load 71 iface_base call 72 pith_cstring_release void 1 71 @@ -155502,21 +154683,21 @@ load 5 root_idx call 6 ir_tree_cache_ir_root_items list 1 5 call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_351 8 -store __for_len_351 7 -store __for_iter_351 6 -label L1341 -load 9 __for_idx_351 -load 10 __for_len_351 +store __for_idx_350 8 +store __for_len_350 7 +store __for_iter_350 6 +label L1273 +load 9 __for_idx_350 +load 10 __for_len_350 lt 11 9 10 -brif 11 L1342 L1344 -label L1342 -load 12 __for_iter_351 -load 13 __for_idx_351 +brif 11 L1274 L1276 +label L1274 +load 12 __for_iter_350 +load 13 __for_idx_350 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_351_item_idx 14 +store __loopvar_350_item_idx 14 load 15 node -load 16 __loopvar_351_item_idx +load 16 __loopvar_350_item_idx call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store node 17 @@ -155527,24 +154708,24 @@ field 21 20 0 string kind strref 22 m51s602 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L1346 L1347 -label L1346 +brif 23 L1278 L1279 +label L1278 load 25 node field 26 25 16 list children iconst 27 0 call 28 pith_list_get_value_strict int 2 26 27 call 29 ast_get_node struct:Node 1 28 store actual 29 -jmp L1345 -label L1347 -label L1345 +jmp L1277 +label L1279 +label L1277 load 30 actual field 31 30 0 string kind strref 32 m51s613 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L1349 L1350 -label L1349 +brif 33 L1281 L1282 +label L1281 load 35 impl_type load 36 actual call 37 ir_emitter_core_ir_impl_target_type string 1 36 @@ -155554,8 +154735,8 @@ load 39 impl_type call 40 string_len int 1 39 iconst 41 0 gt 42 40 41 -brif 42 L1352 L1353 -label L1352 +brif 42 L1284 L1285 +label L1284 load 43 names call 44 pith_list_new_cstr list 0 call 45 pith_list_release_handle void 1 43 @@ -155564,21 +154745,21 @@ load 46 actual field 47 46 16 list children call 48 pith_auto_len int 1 47 iconst 49 0 -store __for_idx_352 49 -store __for_len_352 48 -store __for_iter_352 47 -label L1354 -load 50 __for_idx_352 -load 51 __for_len_352 +store __for_idx_351 49 +store __for_len_351 48 +store __for_iter_351 47 +label L1286 +load 50 __for_idx_351 +load 51 __for_len_351 lt 52 50 51 -brif 52 L1355 L1357 -label L1355 -load 53 __for_iter_352 -load 54 __for_idx_352 +brif 52 L1287 L1289 +label L1287 +load 53 __for_iter_351 +load 54 __for_idx_351 call 55 pith_list_get_value unknown 2 53 54 -store __loopvar_352_child 55 +store __loopvar_351_child 55 load 56 cn -load 57 __loopvar_352_child +load 57 __loopvar_351_child call 58 ast_get_node struct:Node 1 57 call 59 pith_struct_release void 1 56 store cn 58 @@ -155587,8 +154768,8 @@ field 61 60 0 string kind strref 62 m51s610 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L1359 L1360 -label L1359 +brif 63 L1291 L1292 +label L1291 load 65 ir_method_tables_ir_assoc_bindings load 66 impl_type strref 67 m51s26 @@ -155609,22 +154790,22 @@ load 81 names load 82 cn field 83 82 8 string value call 84 pith_list_push_value void 2 81 83 -jmp L1358 -label L1360 -label L1358 -label L1356 -load 85 __for_idx_352 +jmp L1290 +label L1292 +label L1290 +label L1288 +load 85 __for_idx_351 iconst 86 1 add 87 85 86 -store __for_idx_352 87 -jmp L1354 -label L1357 +store __for_idx_351 87 +jmp L1286 +label L1289 load 88 names call 89 pith_list_len int 1 88 iconst 90 0 gt 91 89 90 -brif 91 L1362 L1363 -label L1362 +brif 91 L1294 L1295 +label L1294 load 92 ir_method_tables_ir_type_assoc_names load 93 impl_type load 94 names @@ -155632,23 +154813,23 @@ strref 95 m51s315 call 96 list_join string 2 94 95 call 97 pith_cstring_release void 1 95 call 98 pith_map_insert_cstr_owned void 3 92 93 96 -jmp L1361 -label L1363 -label L1361 -jmp L1351 -label L1353 -label L1351 -jmp L1348 -label L1350 -label L1348 -label L1343 -load 99 __for_idx_351 +jmp L1293 +label L1295 +label L1293 +jmp L1283 +label L1285 +label L1283 +jmp L1280 +label L1282 +label L1280 +label L1275 +load 99 __for_idx_350 iconst 100 1 add 101 99 100 -store __for_idx_351 101 -jmp L1341 -label L1344 -load 102 __for_iter_351 +store __for_idx_350 101 +jmp L1273 +label L1276 +load 102 __for_iter_350 call 103 pith_list_release_handle void 1 102 load 104 node call 105 pith_struct_release void 1 104 @@ -155671,41 +154852,41 @@ load 3 root_idx call 4 ir_tree_cache_ir_root_items list 1 3 call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_353 6 -store __for_len_353 5 -store __for_iter_353 4 -label L1364 -load 7 __for_idx_353 -load 8 __for_len_353 +store __for_idx_352 6 +store __for_len_352 5 +store __for_iter_352 4 +label L1296 +load 7 __for_idx_352 +load 8 __for_len_352 lt 9 7 8 -brif 9 L1365 L1367 -label L1365 -load 10 __for_iter_353 -load 11 __for_idx_353 +brif 9 L1297 L1299 +label L1297 +load 10 __for_iter_352 +load 11 __for_idx_352 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_353_item_idx 12 +store __loopvar_352_item_idx 12 load 13 node -load 14 __loopvar_353_item_idx +load 14 __loopvar_352_item_idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 -load 17 __loopvar_353_item_idx +load 17 __loopvar_352_item_idx store actual_idx 17 load 18 node field 19 18 0 string kind strref 20 m51s602 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L1369 L1370 -label L1369 +brif 21 L1301 L1302 +label L1301 load 23 node field 24 23 16 list children iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 store actual_idx 26 -jmp L1368 -label L1370 -label L1368 +jmp L1300 +label L1302 +label L1300 load 27 actual load 28 actual_idx call 29 ast_get_node struct:Node 1 28 @@ -155713,27 +154894,27 @@ call 30 pith_struct_release void 1 27 store actual 29 load 31 actual field 32 31 0 string kind -strref 33 m51s634 +strref 33 m51s635 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1372 L1373 -label L1372 +brif 34 L1304 L1305 +label L1304 load 36 ir_method_tables_ir_interface_decl_index load 37 actual field 38 37 8 string value load 39 actual_idx call 40 map_insert void 3 36 38 39 -jmp L1371 -label L1373 -label L1371 -label L1366 -load 41 __for_idx_353 +jmp L1303 +label L1305 +label L1303 +label L1298 +load 41 __for_idx_352 iconst 42 1 add 43 41 42 -store __for_idx_353 43 -jmp L1364 -label L1367 -load 44 __for_iter_353 +store __for_idx_352 43 +jmp L1296 +label L1299 +load 44 __for_iter_352 call 45 pith_list_release_handle void 1 44 load 46 node call 47 pith_struct_release void 1 46 @@ -155754,20 +154935,20 @@ load 6 node field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_354 9 -store __for_len_354 8 -store __for_iter_354 7 -label L1374 -load 10 __for_idx_354 -load 11 __for_len_354 +store __for_idx_353 9 +store __for_len_353 8 +store __for_iter_353 7 +label L1306 +load 10 __for_idx_353 +load 11 __for_len_353 lt 12 10 11 -brif 12 L1375 L1377 -label L1375 -load 13 __for_iter_354 -load 14 __for_idx_354 +brif 12 L1307 L1309 +label L1307 +load 13 __for_iter_353 +load 14 __for_idx_353 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_354_child 15 -load 16 __loopvar_354_child +store __loopvar_353_child 15 +load 16 __loopvar_353_child call 17 ir_ast_helpers_ir_unwrap_pub_child int 1 16 store method_idx 17 load 18 child_node @@ -155780,49 +154961,49 @@ field 23 22 0 string kind strref 24 m51s601 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L1379 L1380 -label L1379 +brif 25 L1311 L1312 +label L1311 load 27 method_idx load 28 impl_type call 29 ir_emitter_core_ir_impl_func void 2 27 28 -jmp L1378 -label L1380 -label L1378 -label L1376 -load 30 __for_idx_354 +jmp L1310 +label L1312 +label L1310 +label L1308 +load 30 __for_idx_353 iconst 31 1 add 32 30 31 -store __for_idx_354 32 -jmp L1374 -label L1377 +store __for_idx_353 32 +jmp L1306 +label L1309 load 33 node call 34 ir_emitter_core_ir_inherited_default_indices list 1 33 call 35 pith_auto_len int 1 34 iconst 36 0 -store __for_idx_355 36 -store __for_len_355 35 -store __for_iter_355 34 -label L1381 -load 37 __for_idx_355 -load 38 __for_len_355 +store __for_idx_354 36 +store __for_len_354 35 +store __for_iter_354 34 +label L1313 +load 37 __for_idx_354 +load 38 __for_len_354 lt 39 37 38 -brif 39 L1382 L1384 -label L1382 -load 40 __for_iter_355 -load 41 __for_idx_355 +brif 39 L1314 L1316 +label L1314 +load 40 __for_iter_354 +load 41 __for_idx_354 call 42 pith_list_get_value unknown 2 40 41 -store __loopvar_355_default_idx 42 -load 43 __loopvar_355_default_idx +store __loopvar_354_default_idx 42 +load 43 __loopvar_354_default_idx load 44 impl_type call 45 ir_emitter_core_ir_impl_func void 2 43 44 -label L1383 -load 46 __for_idx_355 +label L1315 +load 46 __for_idx_354 iconst 47 1 add 48 46 47 -store __for_idx_355 48 -jmp L1381 -label L1384 -load 49 __for_iter_355 +store __for_idx_354 48 +jmp L1313 +label L1316 +load 49 __for_iter_354 call 50 pith_list_release_handle void 1 49 load 51 child_node call 52 pith_struct_release void 1 51 @@ -155850,8 +155031,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L1386 L1387 -label L1386 +brif 11 L1318 L1319 +label L1318 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -155868,8 +155049,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L1387 -label L1385 +label L1319 +label L1317 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -155885,8 +155066,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L1389 L1390 -label L1389 +brif 40 L1321 L1322 +label L1321 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -155903,8 +155084,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L1390 -label L1388 +label L1322 +label L1320 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -155913,44 +155094,44 @@ store instance_tids 57 load 60 instance_tids call 61 pith_auto_len int 1 60 iconst 62 0 -store __for_idx_356 62 -store __for_len_356 61 -store __for_iter_356 60 -label L1391 -load 63 __for_idx_356 -load 64 __for_len_356 +store __for_idx_355 62 +store __for_len_355 61 +store __for_iter_355 60 +label L1323 +load 63 __for_idx_355 +load 64 __for_len_355 lt 65 63 64 -brif 65 L1392 L1394 -label L1392 -load 66 __for_iter_356 -load 67 __for_idx_356 +brif 65 L1324 L1326 +label L1324 +load 66 __for_iter_355 +load 67 __for_idx_355 call 68 pith_list_get_value unknown 2 66 67 -store __loopvar_356_inst_tid 68 +store __loopvar_355_inst_tid 68 load 69 checker_struct_instance_base_name -load 70 __loopvar_356_inst_tid +load 70 __loopvar_355_inst_tid call 71 map_get_ikey_strict string 2 69 70 load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L1396 L1397 -label L1396 -jmp L1393 -label L1397 -label L1395 +brif 73 L1328 L1329 +label L1328 +jmp L1325 +label L1329 +label L1327 load 76 checker_struct_instance_type_args -load 77 __loopvar_356_inst_tid +load 77 __loopvar_355_inst_tid call 78 map_contains_ikey bool 2 76 77 iconst 80 1 sub 79 80 78 -brif 79 L1399 L1400 -label L1399 -jmp L1393 -label L1400 -label L1398 +brif 79 L1331 L1332 +label L1331 +jmp L1325 +label L1332 +label L1330 load 81 arg_tids load 82 checker_struct_instance_type_args -load 83 __loopvar_356_inst_tid +load 83 __loopvar_355_inst_tid call 84 map_get_ikey_strict string 2 82 83 call 85 checker_decode_tid_list list 1 84 call 86 pith_list_release_handle void 1 81 @@ -155962,32 +155143,32 @@ store arg_names 88 load 90 arg_tids call 91 pith_auto_len int 1 90 iconst 92 0 -store __for_idx_357 92 -store __for_len_357 91 -store __for_iter_357 90 -label L1401 -load 93 __for_idx_357 -load 94 __for_len_357 +store __for_idx_356 92 +store __for_len_356 91 +store __for_iter_356 90 +label L1333 +load 93 __for_idx_356 +load 94 __for_len_356 lt 95 93 94 -brif 95 L1402 L1404 -label L1402 -load 96 __for_iter_357 -load 97 __for_idx_357 +brif 95 L1334 L1336 +label L1334 +load 96 __for_iter_356 +load 97 __for_idx_356 call 98 pith_list_get_value unknown 2 96 97 -store __loopvar_357_at 98 +store __loopvar_356_at 98 load 99 arg_names -load 100 __loopvar_357_at +load 100 __loopvar_356_at call 101 ir_type_helpers_ir_type_from_tid string 1 100 call 102 pith_list_push_value_owned void 2 99 101 -label L1403 -load 103 __for_idx_357 +label L1335 +load 103 __for_idx_356 iconst 104 1 add 105 103 104 -store __for_idx_357 105 -jmp L1401 -label L1404 +store __for_idx_356 105 +jmp L1333 +label L1336 load 106 instance_type_name -load 107 __loopvar_356_inst_tid +load 107 __loopvar_355_inst_tid call 108 types_get_type_name string 1 107 call 109 pith_cstring_release void 1 106 store instance_type_name 108 @@ -155995,20 +155176,20 @@ load 110 impl_node field 111 110 16 list children call 112 pith_auto_len int 1 111 iconst 113 0 -store __for_idx_358 113 -store __for_len_358 112 -store __for_iter_358 111 -label L1405 -load 114 __for_idx_358 -load 115 __for_len_358 +store __for_idx_357 113 +store __for_len_357 112 +store __for_iter_357 111 +label L1337 +load 114 __for_idx_357 +load 115 __for_len_357 lt 116 114 115 -brif 116 L1406 L1408 -label L1406 -load 117 __for_iter_358 -load 118 __for_idx_358 +brif 116 L1338 L1340 +label L1338 +load 117 __for_iter_357 +load 118 __for_idx_357 call 119 pith_list_get_value unknown 2 117 118 -store __loopvar_358_child 119 -load 120 __loopvar_358_child +store __loopvar_357_child 119 +load 120 __loopvar_357_child call 121 ir_ast_helpers_ir_unwrap_pub_child int 1 120 store method_idx 121 load 122 child_node @@ -156021,31 +155202,31 @@ field 127 126 0 string kind strref 128 m51s601 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -brif 129 L1410 L1411 -label L1410 +brif 129 L1342 L1343 +label L1342 load 131 method_idx load 132 impl_type load 133 instance_type_name load 134 struct_params load 135 arg_names call 136 ir_emitter_core_ir_impl_func_specialized void 5 131 132 133 134 135 -jmp L1409 -label L1411 -label L1409 -label L1407 -load 137 __for_idx_358 +jmp L1341 +label L1343 +label L1341 +label L1339 +load 137 __for_idx_357 iconst 138 1 add 139 137 138 -store __for_idx_358 139 -jmp L1405 -label L1408 -label L1393 -load 140 __for_idx_356 +store __for_idx_357 139 +jmp L1337 +label L1340 +label L1325 +load 140 __for_idx_355 iconst 141 1 add 142 140 141 -store __for_idx_356 142 -jmp L1391 -label L1394 +store __for_idx_355 142 +jmp L1323 +label L1326 load 143 sdecl call 144 pith_struct_release void 1 143 load 145 struct_params @@ -156107,38 +155288,38 @@ store suffix 25 load 27 arg_names call 28 pith_auto_len int 1 27 iconst 29 0 -store __for_idx_359 29 -store __for_len_359 28 -store __for_iter_359 27 -label L1412 -load 30 __for_idx_359 -load 31 __for_len_359 +store __for_idx_358 29 +store __for_len_358 28 +store __for_iter_358 27 +label L1344 +load 30 __for_idx_358 +load 31 __for_len_358 lt 32 30 31 -brif 32 L1413 L1415 -label L1413 -load 33 __for_iter_359 -load 34 __for_idx_359 +brif 32 L1345 L1347 +label L1345 +load 33 __for_iter_358 +load 34 __for_idx_358 call 35 pith_list_get_value_unchecked string 2 33 34 -store __loopvar_359_an 35 +store __loopvar_358_an 35 load 36 suffix load 37 suffix strref 38 m51s80 concat 39 37 38 call 40 pith_cstring_release void 1 38 -load 41 __loopvar_359_an +load 41 __loopvar_358_an call 42 ir_method_tables_ir_sanitize_symbol string 1 41 concat 43 39 42 call 44 pith_cstring_release void 1 39 call 45 pith_cstring_release void 1 42 call 46 pith_cstring_release void 1 36 store suffix 43 -label L1414 -load 47 __for_idx_359 +label L1346 +load 47 __for_idx_358 iconst 48 1 add 49 47 48 -store __for_idx_359 49 -jmp L1412 -label L1415 +store __for_idx_358 49 +jmp L1344 +label L1347 load 50 full_name load 51 base_impl_type load 52 suffix @@ -156161,8 +155342,8 @@ store method_key 65 load 67 ir_method_tables_ir_impl_methods load 68 method_key call 69 contains_key bool 2 67 68 -brif 69 L1417 L1418 -label L1417 +brif 69 L1349 L1350 +label L1349 load 70 node call 71 pith_struct_release void 1 70 load 72 orig_name @@ -156185,8 +155366,8 @@ load 88 ret_type call 89 pith_cstring_release void 1 88 iconst 90 0 ret 90 -label L1418 -label L1416 +label L1350 +label L1348 load 91 ir_method_tables_ir_impl_methods load 92 method_key load 93 full_name @@ -156215,8 +155396,8 @@ store prefixed_full 110 load 113 ir_method_tables_ir_impl_methods load 114 base_key call 115 contains_key bool 2 113 114 -brif 115 L1420 L1421 -label L1420 +brif 115 L1352 L1353 +label L1352 load 116 base_sym load 117 ir_method_tables_ir_impl_methods load 118 base_key @@ -156225,23 +155406,23 @@ call 120 pith_cstring_retain void 1 119 call 121 pith_cstring_release void 1 116 store base_sym 119 iconst 122 0 -store __and_122_1425 122 +store __and_122_1357 122 load 123 base_sym call 124 string_len int 1 123 load 125 expected_base_sym call 126 string_len int 1 125 gt 127 124 126 -store __and_122_1425 127 -brif 127 L1425 L1426 -label L1425 +store __and_122_1357 127 +brif 127 L1357 L1358 +label L1357 load 128 base_sym load 129 expected_base_sym call 130 pith_cstring_ends_with bool 2 128 129 -store __and_122_1425 130 -label L1426 -load 131 __and_122_1425 -brif 131 L1423 L1424 -label L1423 +store __and_122_1357 130 +label L1358 +load 131 __and_122_1357 +brif 131 L1355 L1356 +label L1355 load 132 base_sym call 133 string_len int 1 132 load 134 expected_base_sym @@ -156258,12 +155439,12 @@ concat 143 141 142 call 144 pith_cstring_release void 1 141 call 145 pith_cstring_release void 1 137 store prefixed_full 143 -jmp L1422 -label L1424 -label L1422 -jmp L1419 -label L1421 -label L1419 +jmp L1354 +label L1356 +label L1354 +jmp L1351 +label L1353 +label L1351 load 146 ir_method_tables_ir_impl_method_specializations load 147 method_key load 148 prefixed_full @@ -156362,8 +155543,8 @@ field 2 1 8 string value strref 3 m51s343 call 4 pith_cstring_contains bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L1428 L1429 -label L1428 +brif 4 L1360 L1361 +label L1360 load 6 node field 7 6 8 string value iconst 8 0 @@ -156374,8 +155555,8 @@ call 12 pith_cstring_index_of int 2 10 11 call 13 pith_cstring_release void 1 11 call 14 pith_cstring_substring string 3 7 8 12 ret 14 -label L1429 -label L1427 +label L1361 +label L1359 load 15 node field 16 15 8 string value call 17 pith_cstring_retain void 1 16 @@ -156414,8 +155595,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L1431 L1432 -label L1431 +brif 23 L1363 L1364 +label L1363 load 24 type_node load 25 field_node field 26 25 16 list children @@ -156425,51 +155606,51 @@ call 29 ast_get_node struct:Node 1 28 call 30 pith_struct_release void 1 24 store type_node 29 iconst 31 0 -store __or_31_1436 31 +store __or_31_1368 31 iconst 32 0 -store __or_32_1436 32 +store __or_32_1368 32 iconst 33 0 -store __or_33_1436 33 +store __or_33_1368 33 load 34 type_node field 35 34 0 string kind strref 36 m51s316 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_33_1436 37 -brif 37 L1437 L1436 -label L1436 +store __or_33_1368 37 +brif 37 L1369 L1368 +label L1368 load 39 type_node field 40 39 0 string kind strref 41 m51s336 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_33_1436 42 -label L1437 -load 44 __or_33_1436 -store __or_32_1436 44 -brif 44 L1439 L1438 -label L1438 +store __or_33_1368 42 +label L1369 +load 44 __or_33_1368 +store __or_32_1368 44 +brif 44 L1371 L1370 +label L1370 load 45 type_node field 46 45 0 string kind strref 47 m51s317 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_32_1436 48 -label L1439 -load 50 __or_32_1436 -store __or_31_1436 50 -brif 50 L1441 L1440 -label L1440 +store __or_32_1368 48 +label L1371 +load 50 __or_32_1368 +store __or_31_1368 50 +brif 50 L1373 L1372 +label L1372 load 51 type_node field 52 51 0 string kind strref 53 m51s328 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_31_1436 54 -label L1441 -load 56 __or_31_1436 -brif 56 L1434 L1435 -label L1434 +store __or_31_1368 54 +label L1373 +load 56 __or_31_1368 +brif 56 L1366 L1367 +label L1366 load 57 ir_struct_registry_ir_struct_field_lookup load 58 struct_name strref 59 m51s26 @@ -156485,16 +155666,16 @@ call 68 pith_list_get_value_strict int 2 66 67 call 69 ir_alias_registry_ir_resolve_type_node string 1 68 call 70 pith_map_insert_cstr_owned void 3 57 63 69 call 71 pith_cstring_release void 1 63 -jmp L1433 -label L1435 -label L1433 +jmp L1365 +label L1367 +label L1365 load 72 field_node field 73 72 16 list children call 74 pith_list_len int 1 73 iconst 75 1 gt 76 74 75 -brif 76 L1443 L1444 -label L1443 +brif 76 L1375 L1376 +label L1375 load 77 ir_struct_registry_ir_struct_field_default_nodes load 78 struct_name strref 79 m51s26 @@ -156509,12 +155690,12 @@ iconst 87 1 call 88 pith_list_get_value_strict int 2 86 87 call 89 map_insert void 3 77 83 88 call 90 pith_cstring_release void 1 83 -jmp L1442 -label L1444 -label L1442 -jmp L1430 -label L1432 -label L1430 +jmp L1374 +label L1376 +label L1374 +jmp L1362 +label L1364 +label L1362 load 91 ir_struct_registry_ir_struct_field_index_lookup load 92 struct_name strref 93 m51s26 @@ -156569,21 +155750,21 @@ load 17 node field 18 17 16 list children call 19 pith_auto_len int 1 18 iconst 20 0 -store __for_idx_360 20 -store __for_len_360 19 -store __for_iter_360 18 -label L1445 -load 21 __for_idx_360 -load 22 __for_len_360 +store __for_idx_359 20 +store __for_len_359 19 +store __for_iter_359 18 +label L1377 +load 21 __for_idx_359 +load 22 __for_len_359 lt 23 21 22 -brif 23 L1446 L1448 -label L1446 -load 24 __for_iter_360 -load 25 __for_idx_360 +brif 23 L1378 L1380 +label L1378 +load 24 __for_iter_359 +load 25 __for_idx_359 call 26 pith_list_get_value unknown 2 24 25 -store __loopvar_360_child 26 +store __loopvar_359_child 26 load 27 field_node -load 28 __loopvar_360_child +load 28 __loopvar_359_child call 29 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 28 call 30 pith_struct_release void 1 27 store field_node 29 @@ -156592,8 +155773,8 @@ field 32 31 0 string kind strref 33 m51s29 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1450 L1451 -label L1450 +brif 34 L1382 L1383 +label L1382 load 36 field_names load 37 sname load 38 field_names @@ -156601,61 +155782,61 @@ load 39 field_node call 40 ir_emitter_core_ir_record_struct_field list_string 3 37 38 39 call 41 pith_list_release_handle void 1 36 store field_names 40 -jmp L1449 -label L1451 -label L1449 -label L1447 -load 42 __for_idx_360 +jmp L1381 +label L1383 +label L1381 +label L1379 +load 42 __for_idx_359 iconst 43 1 add 44 42 43 -store __for_idx_360 44 -jmp L1445 -label L1448 +store __for_idx_359 44 +jmp L1377 +label L1380 load 45 ir_struct_registry_ir_struct_names load 46 sname load 47 field_names call 48 pith_list_len int 1 47 call 49 map_insert void 3 45 46 48 load 50 emit_decl -brif 50 L1453 L1454 -label L1453 +brif 50 L1385 L1386 +label L1385 load 51 ir_emitter_core_ir_local_struct_names load 52 sname iconst 53 -1 -store __list_index_result_L1458 53 +store __list_index_result_L1390 53 iconst 54 0 -store __list_index_i_L1459 54 +store __list_index_i_L1391 54 call 55 pith_list_len int 1 51 -label L1460 -load 56 __list_index_i_L1459 +label L1392 +load 56 __list_index_i_L1391 lt 57 56 55 -brif 57 L1461 L1464 -label L1461 +brif 57 L1393 L1396 +label L1393 call 58 pith_list_get_value string 2 51 56 call 59 pith_cstring_eq bool 2 58 52 -brif 59 L1462 L1463 -label L1462 -store __list_index_result_L1458 56 -jmp L1464 -label L1463 +brif 59 L1394 L1395 +label L1394 +store __list_index_result_L1390 56 +jmp L1396 +label L1395 iconst 60 1 add 61 56 60 -store __list_index_i_L1459 61 -jmp L1460 -label L1464 -load 62 __list_index_result_L1458 +store __list_index_i_L1391 61 +jmp L1392 +label L1396 +load 62 __list_index_result_L1390 iconst 63 0 gte 64 62 63 iconst 66 1 sub 65 66 64 -brif 65 L1456 L1457 -label L1456 +brif 65 L1388 L1389 +label L1388 load 67 ir_emitter_core_ir_local_struct_names load 68 sname call 69 pith_list_push_value void 2 67 68 -jmp L1455 -label L1457 -label L1455 +jmp L1387 +label L1389 +label L1387 strref 70 m51s1360 load 71 sname concat 72 70 71 @@ -156673,9 +155854,9 @@ call 83 pith_cstring_release void 1 75 call 84 pith_cstring_release void 1 80 call 85 ir_builder_ir_emit void 1 82 call 86 pith_cstring_release void 1 82 -jmp L1452 -label L1454 -label L1452 +jmp L1384 +label L1386 +label L1384 load 87 sname call 88 pith_cstring_release void 1 87 load 89 field_names @@ -156712,21 +155893,21 @@ load 15 node field 16 15 16 list children call 17 pith_auto_len int 1 16 iconst 18 0 -store __for_idx_361 18 -store __for_len_361 17 -store __for_iter_361 16 -label L1465 -load 19 __for_idx_361 -load 20 __for_len_361 +store __for_idx_360 18 +store __for_len_360 17 +store __for_iter_360 16 +label L1397 +load 19 __for_idx_360 +load 20 __for_len_360 lt 21 19 20 -brif 21 L1466 L1468 -label L1466 -load 22 __for_iter_361 -load 23 __for_idx_361 +brif 21 L1398 L1400 +label L1398 +load 22 __for_iter_360 +load 23 __for_idx_360 call 24 pith_list_get_value unknown 2 22 23 -store __loopvar_361_child 24 +store __loopvar_360_child 24 load 25 variant_node -load 26 __loopvar_361_child +load 26 __loopvar_360_child call 27 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 26 call 28 pith_struct_release void 1 25 store variant_node 27 @@ -156735,8 +155916,8 @@ field 30 29 0 string kind strref 31 m51s25 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L1470 L1471 -label L1470 +brif 32 L1402 L1403 +label L1402 load 34 variant_names call 35 pith_list_len int 1 34 store variant_index 35 @@ -156774,8 +155955,8 @@ field 66 65 16 list children call 67 pith_list_len int 1 66 iconst 68 0 gt 69 67 68 -brif 69 L1473 L1474 -label L1473 +brif 69 L1405 L1406 +label L1405 load 70 kinds call 71 pith_list_new_cstr list 0 call 72 pith_list_release_handle void 1 70 @@ -156784,21 +155965,21 @@ load 73 variant_node field 74 73 16 list children call 75 pith_auto_len int 1 74 iconst 76 0 -store __for_idx_362 76 -store __for_len_362 75 -store __for_iter_362 74 -label L1475 -load 77 __for_idx_362 -load 78 __for_len_362 +store __for_idx_361 76 +store __for_len_361 75 +store __for_iter_361 74 +label L1407 +load 77 __for_idx_361 +load 78 __for_len_361 lt 79 77 78 -brif 79 L1476 L1478 -label L1476 -load 80 __for_iter_362 -load 81 __for_idx_362 +brif 79 L1408 L1410 +label L1408 +load 80 __for_iter_361 +load 81 __for_idx_361 call 82 pith_list_get_value unknown 2 80 81 -store __loopvar_362_type_idx 82 +store __loopvar_361_type_idx 82 load 83 kind -load 84 __loopvar_362_type_idx +load 84 __loopvar_361_type_idx call 85 ir_alias_registry_ir_resolve_type_node string 1 84 call 86 pith_cstring_release void 1 83 store kind 85 @@ -156806,25 +155987,25 @@ load 87 kind call 88 string_len int 1 87 iconst 89 0 eq 90 88 89 -brif 90 L1480 L1481 -label L1480 +brif 90 L1412 L1413 +label L1412 load 91 kind -strref 92 m51s869 +strref 92 m51s870 call 93 pith_cstring_release void 1 91 store kind 92 -jmp L1479 -label L1481 -label L1479 +jmp L1411 +label L1413 +label L1411 load 94 kinds load 95 kind call 96 pith_list_push_value void 2 94 95 -label L1477 -load 97 __for_idx_362 +label L1409 +load 97 __for_idx_361 iconst 98 1 add 99 97 98 -store __for_idx_362 99 -jmp L1475 -label L1478 +store __for_idx_361 99 +jmp L1407 +label L1410 load 100 ir_struct_registry_ir_enum_payload_kinds load 101 sname strref 102 m51s26 @@ -156844,19 +156025,19 @@ load 115 ir_struct_registry_ir_boxed_enums load 116 sname iconst 117 1 call 118 map_insert void 3 115 116 117 -jmp L1472 -label L1474 -label L1472 -jmp L1469 -label L1471 -label L1469 -label L1467 -load 119 __for_idx_361 +jmp L1404 +label L1406 +label L1404 +jmp L1401 +label L1403 +label L1401 +label L1399 +load 119 __for_idx_360 iconst 120 1 add 121 119 120 -store __for_idx_361 121 -jmp L1465 -label L1468 +store __for_idx_360 121 +jmp L1397 +label L1400 load 122 ir_struct_registry_ir_enum_variant_lists load 123 sname load 124 variant_names @@ -156870,8 +156051,8 @@ load 131 variant_names call 132 pith_list_len int 1 131 call 133 map_insert void 3 129 130 132 load 134 emit_decl -brif 134 L1483 L1484 -label L1483 +brif 134 L1415 L1416 +label L1415 strref 135 m51s1360 load 136 sname concat 137 135 136 @@ -156889,9 +156070,9 @@ call 148 pith_cstring_release void 1 140 call 149 pith_cstring_release void 1 145 call 150 ir_builder_ir_emit void 1 147 call 151 pith_cstring_release void 1 147 -jmp L1482 -label L1484 -label L1482 +jmp L1414 +label L1416 +label L1414 load 152 sname call 153 pith_cstring_release void 1 152 load 154 variant_names @@ -156914,84 +156095,84 @@ load 3 root_idx call 4 ir_tree_cache_ir_root_items list 1 3 call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_363 6 -store __for_len_363 5 -store __for_iter_363 4 -label L1485 -load 7 __for_idx_363 -load 8 __for_len_363 +store __for_idx_362 6 +store __for_len_362 5 +store __for_iter_362 4 +label L1417 +load 7 __for_idx_362 +load 8 __for_len_362 lt 9 7 8 -brif 9 L1486 L1488 -label L1486 -load 10 __for_iter_363 -load 11 __for_idx_363 +brif 9 L1418 L1420 +label L1418 +load 10 __for_iter_362 +load 11 __for_idx_362 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_363_item_idx 12 +store __loopvar_362_item_idx 12 load 13 cn -load 14 __loopvar_363_item_idx +load 14 __loopvar_362_item_idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store cn 15 iconst 17 0 -store __or_17_1492 17 +store __or_17_1424 17 load 18 cn field 19 18 0 string kind strref 20 m51s31 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_17_1492 21 -brif 21 L1493 L1492 -label L1492 +store __or_17_1424 21 +brif 21 L1425 L1424 +label L1424 load 23 cn field 24 23 0 string kind strref 25 m51s15 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_17_1492 26 -label L1493 -load 28 __or_17_1492 -brif 28 L1490 L1491 -label L1490 -load 29 __loopvar_363_item_idx +store __or_17_1424 26 +label L1425 +load 28 __or_17_1424 +brif 28 L1422 L1423 +label L1422 +load 29 __loopvar_362_item_idx load 30 cn load 31 emit_decl call 32 ir_emitter_core_ir_collect_struct_decl void 3 29 30 31 -jmp L1489 -label L1491 +jmp L1421 +label L1423 iconst 33 0 -store __or_33_1496 33 +store __or_33_1428 33 load 34 cn field 35 34 0 string kind strref 36 m51s30 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_33_1496 37 -brif 37 L1497 L1496 -label L1496 +store __or_33_1428 37 +brif 37 L1429 L1428 +label L1428 load 39 cn field 40 39 0 string kind strref 41 m51s14 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_33_1496 42 -label L1497 -load 44 __or_33_1496 -brif 44 L1494 L1495 -label L1494 +store __or_33_1428 42 +label L1429 +load 44 __or_33_1428 +brif 44 L1426 L1427 +label L1426 load 45 cn load 46 emit_decl call 47 ir_emitter_core_ir_collect_enum_decl void 2 45 46 -jmp L1489 -label L1495 -label L1489 -label L1487 -load 48 __for_idx_363 +jmp L1421 +label L1427 +label L1421 +label L1419 +load 48 __for_idx_362 iconst 49 1 add 50 48 49 -store __for_idx_363 50 -jmp L1485 -label L1488 -load 51 __for_iter_363 +store __for_idx_362 50 +jmp L1417 +label L1420 +load 51 __for_iter_362 call 52 pith_list_release_handle void 1 51 load 53 cn call 54 pith_struct_release void 1 53 @@ -157002,277 +156183,277 @@ func ir_emitter_core_ir_seed_global_types 0 void load 0 ir_alias_registry_ir_global_int_names call 1 pith_auto_len int 1 0 iconst 2 0 -store __for_idx_364 2 -store __for_len_364 1 -store __for_iter_364 0 -label L1498 -load 3 __for_idx_364 -load 4 __for_len_364 +store __for_idx_363 2 +store __for_len_363 1 +store __for_iter_363 0 +label L1430 +load 3 __for_idx_363 +load 4 __for_len_363 lt 5 3 4 -brif 5 L1499 L1501 -label L1499 -load 6 __for_iter_364 -load 7 __for_idx_364 +brif 5 L1431 L1433 +label L1431 +load 6 __for_iter_363 +load 7 __for_idx_363 call 8 pith_list_get_value_unchecked string 2 6 7 -store __loopvar_364_name 8 +store __loopvar_363_name 8 load 9 ir_builder_ir_var_types -load 10 __loopvar_364_name -strref 11 m51s712 +load 10 __loopvar_363_name +strref 11 m51s713 call 12 pith_map_insert_cstr_owned void 3 9 10 11 -label L1500 -load 13 __for_idx_364 +label L1432 +load 13 __for_idx_363 iconst 14 1 add 15 13 14 -store __for_idx_364 15 -jmp L1498 -label L1501 +store __for_idx_363 15 +jmp L1430 +label L1433 load 16 ir_alias_registry_ir_global_string_names call 17 pith_auto_len int 1 16 iconst 18 0 -store __for_idx_365 18 -store __for_len_365 17 -store __for_iter_365 16 -label L1502 -load 19 __for_idx_365 -load 20 __for_len_365 +store __for_idx_364 18 +store __for_len_364 17 +store __for_iter_364 16 +label L1434 +load 19 __for_idx_364 +load 20 __for_len_364 lt 21 19 20 -brif 21 L1503 L1505 -label L1503 -load 22 __for_iter_365 -load 23 __for_idx_365 +brif 21 L1435 L1437 +label L1435 +load 22 __for_iter_364 +load 23 __for_idx_364 call 24 pith_list_get_value_unchecked string 2 22 23 -store __loopvar_365_name 24 +store __loopvar_364_name 24 load 25 ir_builder_ir_var_types -load 26 __loopvar_365_name -strref 27 m51s716 +load 26 __loopvar_364_name +strref 27 m51s717 call 28 pith_map_insert_cstr_owned void 3 25 26 27 -label L1504 -load 29 __for_idx_365 +label L1436 +load 29 __for_idx_364 iconst 30 1 add 31 29 30 -store __for_idx_365 31 -jmp L1502 -label L1505 +store __for_idx_364 31 +jmp L1434 +label L1437 load 32 ir_alias_registry_ir_global_list_string_names call 33 pith_auto_len int 1 32 iconst 34 0 -store __for_idx_366 34 -store __for_len_366 33 -store __for_iter_366 32 -label L1506 -load 35 __for_idx_366 -load 36 __for_len_366 +store __for_idx_365 34 +store __for_len_365 33 +store __for_iter_365 32 +label L1438 +load 35 __for_idx_365 +load 36 __for_len_365 lt 37 35 36 -brif 37 L1507 L1509 -label L1507 -load 38 __for_iter_366 -load 39 __for_idx_366 +brif 37 L1439 L1441 +label L1439 +load 38 __for_iter_365 +load 39 __for_idx_365 call 40 pith_list_get_value_unchecked string 2 38 39 -store __loopvar_366_name 40 +store __loopvar_365_name 40 load 41 ir_builder_ir_var_types -load 42 __loopvar_366_name -strref 43 m51s709 +load 42 __loopvar_365_name +strref 43 m51s710 call 44 pith_map_insert_cstr_owned void 3 41 42 43 -label L1508 -load 45 __for_idx_366 +label L1440 +load 45 __for_idx_365 iconst 46 1 add 47 45 46 -store __for_idx_366 47 -jmp L1506 -label L1509 +store __for_idx_365 47 +jmp L1438 +label L1441 load 48 ir_alias_registry_ir_global_list_names call 49 pith_auto_len int 1 48 iconst 50 0 -store __for_idx_367 50 -store __for_len_367 49 -store __for_iter_367 48 -label L1510 -load 51 __for_idx_367 -load 52 __for_len_367 +store __for_idx_366 50 +store __for_len_366 49 +store __for_iter_366 48 +label L1442 +load 51 __for_idx_366 +load 52 __for_len_366 lt 53 51 52 -brif 53 L1511 L1513 -label L1511 -load 54 __for_iter_367 -load 55 __for_idx_367 +brif 53 L1443 L1445 +label L1443 +load 54 __for_iter_366 +load 55 __for_idx_366 call 56 pith_list_get_value_unchecked string 2 54 55 -store __loopvar_367_name 56 +store __loopvar_366_name 56 load 57 ir_builder_ir_var_types -load 58 __loopvar_367_name +load 58 __loopvar_366_name strref 59 m51s20 call 60 pith_map_insert_cstr_owned void 3 57 58 59 -label L1512 -load 61 __for_idx_367 +label L1444 +load 61 __for_idx_366 iconst 62 1 add 63 61 62 -store __for_idx_367 63 -jmp L1510 -label L1513 +store __for_idx_366 63 +jmp L1442 +label L1445 load 64 ir_alias_registry_ir_global_map_int_names call 65 pith_auto_len int 1 64 iconst 66 0 -store __for_idx_368 66 -store __for_len_368 65 -store __for_iter_368 64 -label L1514 -load 67 __for_idx_368 -load 68 __for_len_368 +store __for_idx_367 66 +store __for_len_367 65 +store __for_iter_367 64 +label L1446 +load 67 __for_idx_367 +load 68 __for_len_367 lt 69 67 68 -brif 69 L1515 L1517 -label L1515 -load 70 __for_iter_368 -load 71 __for_idx_368 +brif 69 L1447 L1449 +label L1447 +load 70 __for_iter_367 +load 71 __for_idx_367 call 72 pith_list_get_value_unchecked string 2 70 71 -store __loopvar_368_name 72 +store __loopvar_367_name 72 load 73 ir_builder_ir_var_types -load 74 __loopvar_368_name -strref 75 m51s711 +load 74 __loopvar_367_name +strref 75 m51s712 call 76 pith_map_insert_cstr_owned void 3 73 74 75 -label L1516 -load 77 __for_idx_368 +label L1448 +load 77 __for_idx_367 iconst 78 1 add 79 77 78 -store __for_idx_368 79 -jmp L1514 -label L1517 +store __for_idx_367 79 +jmp L1446 +label L1449 load 80 ir_alias_registry_ir_global_map_names call 81 pith_auto_len int 1 80 iconst 82 0 -store __for_idx_369 82 -store __for_len_369 81 -store __for_iter_369 80 -label L1518 -load 83 __for_idx_369 -load 84 __for_len_369 +store __for_idx_368 82 +store __for_len_368 81 +store __for_iter_368 80 +label L1450 +load 83 __for_idx_368 +load 84 __for_len_368 lt 85 83 84 -brif 85 L1519 L1521 -label L1519 -load 86 __for_iter_369 -load 87 __for_idx_369 +brif 85 L1451 L1453 +label L1451 +load 86 __for_iter_368 +load 87 __for_idx_368 call 88 pith_list_get_value_unchecked string 2 86 87 -store __loopvar_369_name 88 +store __loopvar_368_name 88 load 89 ir_builder_ir_var_types -load 90 __loopvar_369_name +load 90 __loopvar_368_name strref 91 m51s19 call 92 pith_map_insert_cstr_owned void 3 89 90 91 -label L1520 -load 93 __for_idx_369 +label L1452 +load 93 __for_idx_368 iconst 94 1 add 95 93 94 -store __for_idx_369 95 -jmp L1518 -label L1521 +store __for_idx_368 95 +jmp L1450 +label L1453 load 96 ir_alias_registry_ir_global_set_int_names call 97 pith_auto_len int 1 96 iconst 98 0 -store __for_idx_370 98 -store __for_len_370 97 -store __for_iter_370 96 -label L1522 -load 99 __for_idx_370 -load 100 __for_len_370 +store __for_idx_369 98 +store __for_len_369 97 +store __for_iter_369 96 +label L1454 +load 99 __for_idx_369 +load 100 __for_len_369 lt 101 99 100 -brif 101 L1523 L1525 -label L1523 -load 102 __for_iter_370 -load 103 __for_idx_370 +brif 101 L1455 L1457 +label L1455 +load 102 __for_iter_369 +load 103 __for_idx_369 call 104 pith_list_get_value_unchecked string 2 102 103 -store __loopvar_370_name 104 +store __loopvar_369_name 104 load 105 ir_builder_ir_var_types -load 106 __loopvar_370_name -strref 107 m51s710 +load 106 __loopvar_369_name +strref 107 m51s711 call 108 pith_map_insert_cstr_owned void 3 105 106 107 -label L1524 -load 109 __for_idx_370 +label L1456 +load 109 __for_idx_369 iconst 110 1 add 111 109 110 -store __for_idx_370 111 -jmp L1522 -label L1525 +store __for_idx_369 111 +jmp L1454 +label L1457 load 112 ir_alias_registry_ir_global_set_names call 113 pith_auto_len int 1 112 iconst 114 0 -store __for_idx_371 114 -store __for_len_371 113 -store __for_iter_371 112 -label L1526 -load 115 __for_idx_371 -load 116 __for_len_371 +store __for_idx_370 114 +store __for_len_370 113 +store __for_iter_370 112 +label L1458 +load 115 __for_idx_370 +load 116 __for_len_370 lt 117 115 116 -brif 117 L1527 L1529 -label L1527 -load 118 __for_iter_371 -load 119 __for_idx_371 +brif 117 L1459 L1461 +label L1459 +load 118 __for_iter_370 +load 119 __for_idx_370 call 120 pith_list_get_value_unchecked string 2 118 119 -store __loopvar_371_name 120 +store __loopvar_370_name 120 load 121 ir_builder_ir_var_types -load 122 __loopvar_371_name +load 122 __loopvar_370_name strref 123 m51s18 call 124 pith_map_insert_cstr_owned void 3 121 122 123 -label L1528 -load 125 __for_idx_371 +label L1460 +load 125 __for_idx_370 iconst 126 1 add 127 125 126 -store __for_idx_371 127 -jmp L1526 -label L1529 +store __for_idx_370 127 +jmp L1458 +label L1461 load 128 ir_alias_registry_ir_global_bool_names call 129 pith_auto_len int 1 128 iconst 130 0 -store __for_idx_372 130 -store __for_len_372 129 -store __for_iter_372 128 -label L1530 -load 131 __for_idx_372 -load 132 __for_len_372 +store __for_idx_371 130 +store __for_len_371 129 +store __for_iter_371 128 +label L1462 +load 131 __for_idx_371 +load 132 __for_len_371 lt 133 131 132 -brif 133 L1531 L1533 -label L1531 -load 134 __for_iter_372 -load 135 __for_idx_372 +brif 133 L1463 L1465 +label L1463 +load 134 __for_iter_371 +load 135 __for_idx_371 call 136 pith_list_get_value_unchecked string 2 134 135 -store __loopvar_372_name 136 +store __loopvar_371_name 136 load 137 ir_builder_ir_var_types -load 138 __loopvar_372_name -strref 139 m51s714 +load 138 __loopvar_371_name +strref 139 m51s715 call 140 pith_map_insert_cstr_owned void 3 137 138 139 -label L1532 -load 141 __for_idx_372 +label L1464 +load 141 __for_idx_371 iconst 142 1 add 143 141 142 -store __for_idx_372 143 -jmp L1530 -label L1533 +store __for_idx_371 143 +jmp L1462 +label L1465 load 144 ir_alias_registry_ir_global_map_value_types call 145 map_keys list_string 1 144 call 146 pith_auto_len int 1 145 iconst 147 0 -store __for_idx_373 147 -store __for_len_373 146 -store __for_iter_373 145 -label L1534 -load 148 __for_idx_373 -load 149 __for_len_373 +store __for_idx_372 147 +store __for_len_372 146 +store __for_iter_372 145 +label L1466 +load 148 __for_idx_372 +load 149 __for_len_372 lt 150 148 149 -brif 150 L1535 L1537 -label L1535 -load 151 __for_iter_373 -load 152 __for_idx_373 +brif 150 L1467 L1469 +label L1467 +load 151 __for_iter_372 +load 152 __for_idx_372 call 153 pith_list_get_value_unchecked string 2 151 152 -store __loopvar_373_name 153 +store __loopvar_372_name 153 load 154 ir_emitter_core_ir_map_value_types -load 155 __loopvar_373_name +load 155 __loopvar_372_name load 156 ir_alias_registry_ir_global_map_value_types -load 157 __loopvar_373_name +load 157 __loopvar_372_name call 158 map_get_strict string 2 156 157 call 159 map_insert void 3 154 155 158 -label L1536 -load 160 __for_idx_373 +label L1468 +load 160 __for_idx_372 iconst 161 1 add 162 160 161 -store __for_idx_373 162 -jmp L1534 -label L1537 -load 163 __for_iter_373 +store __for_idx_372 162 +jmp L1466 +label L1469 +load 163 __for_iter_372 call 164 pith_list_release_handle void 1 163 iconst 165 0 ret 165 @@ -157296,19 +156477,19 @@ strref 14 m51s12 call 15 pith_list_push_value void 2 1 14 call 16 pith_cstring_release void 1 14 call 17 pith_list_new_cstr list 0 -strref 18 m51s716 +strref 18 m51s717 call 19 pith_list_push_value void 2 17 18 call 20 pith_cstring_release void 1 18 -strref 21 m51s716 +strref 21 m51s717 call 22 pith_list_push_value void 2 17 21 call 23 pith_cstring_release void 1 21 strref 24 m51s20 call 25 pith_list_push_value void 2 17 24 call 26 pith_cstring_release void 1 24 -strref 27 m51s712 +strref 27 m51s713 call 28 pith_list_push_value void 2 17 27 call 29 pith_cstring_release void 1 27 -strref 30 m51s712 +strref 30 m51s713 call 31 pith_list_push_value void 2 17 30 call 32 pith_cstring_release void 1 30 call 33 ir_emitter_core_ir_register_struct_layout void 3 0 1 17 @@ -157330,16 +156511,16 @@ strref 48 m51s1358 call 49 pith_list_push_value void 2 38 48 call 50 pith_cstring_release void 1 48 call 51 pith_list_new_cstr list 0 -strref 52 m51s716 +strref 52 m51s717 call 53 pith_list_push_value void 2 51 52 call 54 pith_cstring_release void 1 52 -strref 55 m51s716 +strref 55 m51s717 call 56 pith_list_push_value void 2 51 55 call 57 pith_cstring_release void 1 55 -strref 58 m51s712 +strref 58 m51s713 call 59 pith_list_push_value void 2 51 58 call 60 pith_cstring_release void 1 58 -strref 61 m51s712 +strref 61 m51s713 call 62 pith_list_push_value void 2 51 61 call 63 pith_cstring_release void 1 61 call 64 ir_emitter_core_ir_register_struct_layout void 3 37 38 51 @@ -157351,53 +156532,53 @@ call 69 pith_list_new_cstr list 0 strref 70 m51s4 call 71 pith_list_push_value void 2 69 70 call 72 pith_cstring_release void 1 70 -strref 73 m51s652 +strref 73 m51s653 call 74 pith_list_push_value void 2 69 73 call 75 pith_cstring_release void 1 73 -strref 76 m51s654 +strref 76 m51s655 call 77 pith_list_push_value void 2 69 76 call 78 pith_cstring_release void 1 76 -strref 79 m51s656 +strref 79 m51s657 call 80 pith_list_push_value void 2 69 79 call 81 pith_cstring_release void 1 79 -strref 82 m51s658 +strref 82 m51s659 call 83 pith_list_push_value void 2 69 82 call 84 pith_cstring_release void 1 82 -strref 85 m51s660 +strref 85 m51s661 call 86 pith_list_push_value void 2 69 85 call 87 pith_cstring_release void 1 85 -strref 88 m51s662 +strref 88 m51s663 call 89 pith_list_push_value void 2 69 88 call 90 pith_cstring_release void 1 88 -strref 91 m51s664 +strref 91 m51s665 call 92 pith_list_push_value void 2 69 91 call 93 pith_cstring_release void 1 91 -strref 94 m51s666 +strref 94 m51s667 call 95 pith_list_push_value void 2 69 94 call 96 pith_cstring_release void 1 94 -strref 97 m51s668 +strref 97 m51s669 call 98 pith_list_push_value void 2 69 97 call 99 pith_cstring_release void 1 97 -strref 100 m51s670 +strref 100 m51s671 call 101 pith_list_push_value void 2 69 100 call 102 pith_cstring_release void 1 100 -strref 103 m51s672 +strref 103 m51s673 call 104 pith_list_push_value void 2 69 103 call 105 pith_cstring_release void 1 103 -strref 106 m51s674 +strref 106 m51s675 call 107 pith_list_push_value void 2 69 106 call 108 pith_cstring_release void 1 106 -strref 109 m51s676 +strref 109 m51s677 call 110 pith_list_push_value void 2 69 109 call 111 pith_cstring_release void 1 109 call 112 pith_list_new_cstr list 0 -strref 113 m51s716 +strref 113 m51s717 call 114 pith_list_push_value void 2 112 113 call 115 pith_cstring_release void 1 113 -strref 116 m51s716 +strref 116 m51s717 call 117 pith_list_push_value void 2 112 116 call 118 pith_cstring_release void 1 116 -strref 119 m51s709 +strref 119 m51s710 call 120 pith_list_push_value void 2 112 119 call 121 pith_cstring_release void 1 119 strref 122 m51s20 @@ -157412,22 +156593,22 @@ call 130 pith_cstring_release void 1 128 strref 131 m51s20 call 132 pith_list_push_value void 2 112 131 call 133 pith_cstring_release void 1 131 -strref 134 m51s712 +strref 134 m51s713 call 135 pith_list_push_value void 2 112 134 call 136 pith_cstring_release void 1 134 -strref 137 m51s712 +strref 137 m51s713 call 138 pith_list_push_value void 2 112 137 call 139 pith_cstring_release void 1 137 -strref 140 m51s712 +strref 140 m51s713 call 141 pith_list_push_value void 2 112 140 call 142 pith_cstring_release void 1 140 -strref 143 m51s712 +strref 143 m51s713 call 144 pith_list_push_value void 2 112 143 call 145 pith_cstring_release void 1 143 strref 146 m51s20 call 147 pith_list_push_value void 2 112 146 call 148 pith_cstring_release void 1 146 -strref 149 m51s709 +strref 149 m51s710 call 150 pith_list_push_value void 2 112 149 call 151 pith_cstring_release void 1 149 strref 152 m51s20 @@ -157461,25 +156642,25 @@ strref 179 m51s1352 call 180 pith_list_push_value void 2 160 179 call 181 pith_cstring_release void 1 179 call 182 pith_list_new_cstr list 0 -strref 183 m51s716 +strref 183 m51s717 call 184 pith_list_push_value void 2 182 183 call 185 pith_cstring_release void 1 183 -strref 186 m51s716 +strref 186 m51s717 call 187 pith_list_push_value void 2 182 186 call 188 pith_cstring_release void 1 186 -strref 189 m51s716 +strref 189 m51s717 call 190 pith_list_push_value void 2 182 189 call 191 pith_cstring_release void 1 189 -strref 192 m51s716 +strref 192 m51s717 call 193 pith_list_push_value void 2 182 192 call 194 pith_cstring_release void 1 192 -strref 195 m51s712 +strref 195 m51s713 call 196 pith_list_push_value void 2 182 195 call 197 pith_cstring_release void 1 195 -strref 198 m51s712 +strref 198 m51s713 call 199 pith_list_push_value void 2 182 198 call 200 pith_cstring_release void 1 198 -strref 201 m51s716 +strref 201 m51s717 call 202 pith_list_push_value void 2 182 201 call 203 pith_cstring_release void 1 201 call 204 ir_emitter_core_ir_register_struct_layout void 3 159 160 182 @@ -157507,25 +156688,25 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store node 8 iconst 10 0 -store __and_10_1541 10 +store __and_10_1473 10 load 11 node field 12 11 0 string kind strref 13 m51s44 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __and_10_1541 14 -brif 14 L1541 L1542 -label L1541 +store __and_10_1473 14 +brif 14 L1473 L1474 +label L1473 load 16 node field 17 16 16 list children call 18 pith_list_len int 1 17 iconst 19 0 gt 20 18 19 -store __and_10_1541 20 -label L1542 -load 21 __and_10_1541 -brif 21 L1539 L1540 -label L1539 +store __and_10_1473 20 +label L1474 +load 21 __and_10_1473 +brif 21 L1471 L1472 +label L1471 load 22 callee load 23 node field 24 23 16 list children @@ -157541,8 +156722,8 @@ call 32 string_len int 1 31 call 33 pith_cstring_release void 1 31 iconst 34 0 gt 35 32 34 -brif 35 L1544 L1545 -label L1544 +brif 35 L1476 L1477 +label L1476 strref 36 m51s83 load 37 node call 38 pith_struct_release void 1 37 @@ -157555,8 +156736,8 @@ call 44 pith_cstring_release void 1 43 load 45 emit_name call 46 pith_cstring_release void 1 45 ret 36 -label L1545 -label L1543 +label L1477 +label L1475 load 47 callee field 48 47 0 string name call 49 ir_metadata_ir_builtin_result_retkind string 1 48 @@ -157571,15 +156752,15 @@ call 57 pith_cstring_release void 1 56 load 58 emit_name call 59 pith_cstring_release void 1 58 ret 49 -label L1540 -label L1538 +label L1472 +label L1470 load 60 node field 61 60 0 string kind strref 62 m51s130 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L1547 L1548 -label L1547 +brif 63 L1479 L1480 +label L1479 load 65 alias_name load 66 idx call 67 ir_alias_registry_ir_resolve_module_alias_method_call_name string 1 66 @@ -157589,16 +156770,16 @@ load 69 alias_name call 70 string_len int 1 69 iconst 71 0 gt 72 70 71 -brif 72 L1550 L1551 -label L1550 +brif 72 L1482 L1483 +label L1482 load 73 alias_name call 74 ir_method_tables_ir_declared_callable_ir_retkind string 1 73 call 75 string_len int 1 74 call 76 pith_cstring_release void 1 74 iconst 77 0 gt 78 75 77 -brif 78 L1553 L1554 -label L1553 +brif 78 L1485 L1486 +label L1485 strref 79 m51s83 load 80 node call 81 pith_struct_release void 1 80 @@ -157611,8 +156792,8 @@ call 87 pith_cstring_release void 1 86 load 88 emit_name call 89 pith_cstring_release void 1 88 ret 79 -label L1554 -label L1552 +label L1486 +label L1484 load 90 alias_name call 91 ir_metadata_ir_builtin_result_retkind string 1 90 load 92 node @@ -157626,8 +156807,8 @@ call 99 pith_cstring_release void 1 98 load 100 emit_name call 101 pith_cstring_release void 1 100 ret 91 -label L1551 -label L1549 +label L1483 +label L1481 load 102 obj_type load 103 node call 104 ir_emitter_core_ir_method_receiver_type string 1 103 @@ -157648,8 +156829,8 @@ call 116 string_len int 1 115 call 117 pith_cstring_release void 1 115 iconst 118 0 gt 119 116 118 -brif 119 L1556 L1557 -label L1556 +brif 119 L1488 L1489 +label L1488 strref 120 m51s83 load 121 node call 122 pith_struct_release void 1 121 @@ -157662,8 +156843,8 @@ call 128 pith_cstring_release void 1 127 load 129 emit_name call 130 pith_cstring_release void 1 129 ret 120 -label L1557 -label L1555 +label L1489 +label L1487 load 131 emit_name call 132 ir_metadata_ir_builtin_result_retkind string 1 131 load 133 node @@ -157677,8 +156858,8 @@ call 140 pith_cstring_release void 1 139 load 141 emit_name call 142 pith_cstring_release void 1 141 ret 132 -label L1548 -label L1546 +label L1480 +label L1478 strref 143 m51s83 load 144 node call 145 pith_struct_release void 1 144 @@ -157728,33 +156909,33 @@ store legacy_kind 10 iconst 11 0 store result_kind 11 load 12 uses_result_abi -brif 12 L1559 L1560 -label L1559 +brif 12 L1491 L1492 +label L1491 load 13 node load 14 idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 iconst 17 0 -store __and_17_1564 17 +store __and_17_1496 17 load 18 node field 19 18 0 string kind strref 20 m51s44 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __and_17_1564 21 -brif 21 L1564 L1565 -label L1564 +store __and_17_1496 21 +brif 21 L1496 L1497 +label L1496 load 23 node field 24 23 16 list children call 25 pith_list_len int 1 24 iconst 26 0 gt 27 25 26 -store __and_17_1564 27 -label L1565 -load 28 __and_17_1564 -brif 28 L1562 L1563 -label L1562 +store __and_17_1496 27 +label L1497 +load 28 __and_17_1496 +brif 28 L1494 L1495 +label L1494 load 29 callee load 30 node field 31 30 16 list children @@ -157773,8 +156954,8 @@ load 41 declared_kind call 42 string_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L1567 L1568 -label L1567 +brif 44 L1499 L1500 +label L1499 load 45 declared_kind load 46 node call 47 pith_struct_release void 1 46 @@ -157795,18 +156976,18 @@ call 61 pith_cstring_release void 1 60 load 62 result_kind call 63 pith_cstring_release void 1 62 ret 45 -label L1568 -label L1566 -jmp L1561 -label L1563 -label L1561 +label L1500 +label L1498 +jmp L1493 +label L1495 +label L1493 load 64 node field 65 64 0 string kind strref 66 m51s130 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L1570 L1571 -label L1570 +brif 67 L1502 L1503 +label L1502 load 69 alias_name load 70 idx call 71 ir_alias_registry_ir_resolve_module_alias_method_call_name string 1 70 @@ -157816,8 +156997,8 @@ load 73 alias_name call 74 string_len int 1 73 iconst 75 0 gt 76 74 75 -brif 76 L1573 L1574 -label L1573 +brif 76 L1505 L1506 +label L1505 load 77 declared_kind load 78 alias_name call 79 ir_method_tables_ir_declared_callable_ir_retkind string 1 78 @@ -157827,8 +157008,8 @@ load 81 declared_kind call 82 string_len int 1 81 iconst 83 0 gt 84 82 83 -brif 84 L1576 L1577 -label L1576 +brif 84 L1508 L1509 +label L1508 load 85 declared_kind load 86 node call 87 pith_struct_release void 1 86 @@ -157849,11 +157030,11 @@ call 101 pith_cstring_release void 1 100 load 102 result_kind call 103 pith_cstring_release void 1 102 ret 85 -label L1577 -label L1575 -jmp L1572 -label L1574 -label L1572 +label L1509 +label L1507 +jmp L1504 +label L1506 +label L1504 load 104 obj_type load 105 node call 106 ir_emitter_core_ir_method_receiver_type string 1 105 @@ -157879,8 +157060,8 @@ load 122 impl_name call 123 string_len int 1 122 iconst 124 0 gt 125 123 124 -brif 125 L1579 L1580 -label L1579 +brif 125 L1511 L1512 +label L1511 load 126 declared_kind load 127 impl_name call 128 ir_method_tables_ir_declared_callable_ir_retkind string 1 127 @@ -157890,8 +157071,8 @@ load 130 declared_kind call 131 string_len int 1 130 iconst 132 0 gt 133 131 132 -brif 133 L1582 L1583 -label L1582 +brif 133 L1514 L1515 +label L1514 load 134 declared_kind load 135 node call 136 pith_struct_release void 1 135 @@ -157912,11 +157093,11 @@ call 150 pith_cstring_release void 1 149 load 151 result_kind call 152 pith_cstring_release void 1 151 ret 134 -label L1583 -label L1581 -jmp L1578 -label L1580 -label L1578 +label L1515 +label L1513 +jmp L1510 +label L1512 +label L1510 load 153 emit_name load 154 method_name load 155 obj_type @@ -157932,8 +157113,8 @@ load 162 declared_kind call 163 string_len int 1 162 iconst 164 0 gt 165 163 164 -brif 165 L1585 L1586 -label L1585 +brif 165 L1517 L1518 +label L1517 load 166 declared_kind load 167 node call 168 pith_struct_release void 1 167 @@ -157954,11 +157135,11 @@ call 182 pith_cstring_release void 1 181 load 183 result_kind call 184 pith_cstring_release void 1 183 ret 166 -label L1586 -label L1584 -jmp L1569 -label L1571 -label L1569 +label L1518 +label L1516 +jmp L1501 +label L1503 +label L1501 load 185 legacy_kind load 186 idx call 187 ir_emitter_core_ir_expr_legacy_result_kind string 1 186 @@ -157968,8 +157149,8 @@ load 189 legacy_kind call 190 string_len int 1 189 iconst 191 0 gt 192 190 191 -brif 192 L1588 L1589 -label L1588 +brif 192 L1520 L1521 +label L1520 load 193 legacy_kind load 194 node call 195 pith_struct_release void 1 194 @@ -157990,8 +157171,8 @@ call 209 pith_cstring_release void 1 208 load 210 result_kind call 211 pith_cstring_release void 1 210 ret 193 -label L1589 -label L1587 +label L1521 +label L1519 load 212 result_kind load 213 idx call 214 ir_type_helpers_ir_checked_result_kind string 1 213 @@ -158001,8 +157182,8 @@ load 216 result_kind call 217 string_len int 1 216 iconst 218 0 gt 219 217 218 -brif 219 L1591 L1592 -label L1591 +brif 219 L1523 L1524 +label L1523 load 220 result_kind load 221 node call 222 pith_struct_release void 1 221 @@ -158023,11 +157204,11 @@ call 236 pith_cstring_release void 1 235 load 237 legacy_kind call 238 pith_cstring_release void 1 237 ret 220 -label L1592 -label L1590 -jmp L1558 -label L1560 -label L1558 +label L1524 +label L1522 +jmp L1490 +label L1492 +label L1490 load 239 idx call 240 ir_emitter_core_ir_infer_type string 1 239 load 241 node @@ -158081,8 +157262,8 @@ param callee_name iconst 3 0 store declared_kind 3 load 4 uses_result_abi -brif 4 L1594 L1595 -label L1594 +brif 4 L1526 L1527 +label L1526 load 5 declared_kind load 6 callee_name call 7 ir_method_tables_ir_declared_callable_ir_retkind string 1 6 @@ -158092,15 +157273,15 @@ load 9 declared_kind call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -brif 12 L1597 L1598 -label L1597 +brif 12 L1529 L1530 +label L1529 load 13 declared_kind ret 13 -label L1598 -label L1596 -jmp L1593 -label L1595 -label L1593 +label L1530 +label L1528 +jmp L1525 +label L1527 +label L1525 load 14 idx load 15 uses_result_abi call 16 ir_emitter_core_ir_call_retkind string 2 14 15 @@ -158129,16 +157310,16 @@ load 8 struct_type call 9 string_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L1600 L1601 -label L1600 +brif 11 L1532 L1533 +label L1532 load 12 struct_type load 13 scalar_type call 14 pith_cstring_release void 1 13 load 15 collection_type call 16 pith_cstring_release void 1 15 ret 12 -label L1601 -label L1599 +label L1533 +label L1531 load 17 scalar_type load 18 fname call 19 ir_type_helpers_ir_known_scalar_return_type string 1 18 @@ -158148,16 +157329,16 @@ load 21 scalar_type call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L1603 L1604 -label L1603 +brif 24 L1535 L1536 +label L1535 load 25 scalar_type load 26 struct_type call 27 pith_cstring_release void 1 26 load 28 collection_type call 29 pith_cstring_release void 1 28 ret 25 -label L1604 -label L1602 +label L1536 +label L1534 load 30 collection_type load 31 fname call 32 ir_type_helpers_ir_known_collection_return_type string 1 31 @@ -158167,16 +157348,16 @@ load 34 collection_type call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L1606 L1607 -label L1606 +brif 37 L1538 L1539 +label L1538 load 38 collection_type load 39 struct_type call 40 pith_cstring_release void 1 39 load 41 scalar_type call 42 pith_cstring_release void 1 41 ret 38 -label L1607 -label L1605 +label L1539 +label L1537 load 43 fname call 44 ir_alias_registry_ir_declared_callable_return_type string 1 43 load 45 struct_type @@ -158212,8 +157393,8 @@ load 8 obj_type strref 9 m51s343 call 10 pith_cstring_contains bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L1609 L1610 -label L1609 +brif 10 L1541 L1542 +label L1541 load 12 base load 13 obj_type iconst 14 0 @@ -158227,87 +157408,87 @@ store base 19 load 21 ir_struct_registry_ir_struct_names load 22 base call 23 contains_key bool 2 21 22 -brif 23 L1612 L1613 -label L1612 +brif 23 L1544 L1545 +label L1544 load 24 obj_type load 25 base call 26 pith_cstring_retain void 1 25 call 27 pith_cstring_release void 1 24 store obj_type 25 -jmp L1611 -label L1613 -label L1611 -jmp L1608 -label L1610 -label L1608 +jmp L1543 +label L1545 +label L1543 +jmp L1540 +label L1542 +label L1540 load 28 obj_type call 29 string_len int 1 28 iconst 30 0 eq 31 29 30 -brif 31 L1615 L1616 -label L1615 +brif 31 L1547 L1548 +label L1547 load 32 recv load 33 recv_idx call 34 ast_get_node struct:Node 1 33 call 35 pith_struct_release void 1 32 store recv 34 iconst 36 0 -store __and_36_1620 36 +store __and_36_1552 36 load 37 recv field 38 37 0 string kind strref 39 m51s37 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_1620 40 -brif 40 L1620 L1621 -label L1620 +store __and_36_1552 40 +brif 40 L1552 L1553 +label L1552 load 42 ir_struct_registry_ir_struct_names load 43 recv field 44 43 8 string value call 45 contains_key bool 2 42 44 -store __and_36_1620 45 -label L1621 -load 46 __and_36_1620 -brif 46 L1618 L1619 -label L1618 +store __and_36_1552 45 +label L1553 +load 46 __and_36_1552 +brif 46 L1550 L1551 +label L1550 load 47 obj_type load 48 recv field 49 48 8 string value call 50 pith_cstring_retain void 1 49 call 51 pith_cstring_release void 1 47 store obj_type 49 -jmp L1617 -label L1619 +jmp L1549 +label L1551 iconst 52 0 -store __and_52_1624 52 +store __and_52_1556 52 load 53 recv field 54 53 0 string kind strref 55 m51s527 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __and_52_1624 56 -brif 56 L1624 L1625 -label L1624 +store __and_52_1556 56 +brif 56 L1556 L1557 +label L1556 load 58 ir_emitter_core_ir_current_impl_type call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -store __and_52_1624 61 -label L1625 -load 62 __and_52_1624 -brif 62 L1622 L1623 -label L1622 +store __and_52_1556 61 +label L1557 +load 62 __and_52_1556 +brif 62 L1554 L1555 +label L1554 load 63 obj_type load 64 ir_emitter_core_ir_current_impl_type call 65 pith_cstring_retain void 1 64 call 66 pith_cstring_release void 1 63 store obj_type 64 -jmp L1617 -label L1623 -label L1617 -jmp L1614 -label L1616 -label L1614 +jmp L1549 +label L1555 +label L1549 +jmp L1546 +label L1548 +label L1546 load 67 obj_type load 68 base call 69 pith_cstring_release void 1 68 @@ -158337,8 +157518,8 @@ store recv_tid 6 load 7 recv_tid iconst 8 0 lt 9 7 8 -brif 9 L1627 L1628 -label L1627 +brif 9 L1559 L1560 +label L1559 iconst 10 0 iconst 11 1 sub 12 10 11 @@ -158347,8 +157528,8 @@ call 14 pith_struct_release void 1 13 load 15 field_kind call 16 pith_cstring_release void 1 15 ret 12 -label L1628 -label L1626 +label L1560 +label L1558 load 17 recv_info load 18 recv_tid call 19 types_get_type_info struct:TypeInfo 1 18 @@ -158361,8 +157542,8 @@ call 25 pith_cstring_eq bool 2 22 23 iconst 26 1 sub 24 26 25 call 27 pith_cstring_release void 1 23 -brif 24 L1630 L1631 -label L1630 +brif 24 L1562 L1563 +label L1562 iconst 28 0 iconst 29 1 sub 30 28 29 @@ -158371,8 +157552,8 @@ call 32 pith_struct_release void 1 31 load 33 field_kind call 34 pith_cstring_release void 1 33 ret 30 -label L1631 -label L1629 +label L1563 +label L1561 iconst 35 0 iconst 36 1 sub 37 35 36 @@ -158381,56 +157562,56 @@ load 38 recv_info field 39 38 16 list_string fields call 40 pith_auto_len int 1 39 iconst 41 0 -store __for_idx_374 41 -store __for_len_374 40 -store __for_iter_374 39 -label L1632 -load 42 __for_idx_374 -load 43 __for_len_374 +store __for_idx_373 41 +store __for_len_373 40 +store __for_iter_373 39 +label L1564 +load 42 __for_idx_373 +load 43 __for_len_373 lt 44 42 43 -brif 44 L1633 L1635 -label L1633 -load 45 __for_iter_374 -load 46 __for_idx_374 +brif 44 L1565 L1567 +label L1565 +load 45 __for_iter_373 +load 46 __for_idx_373 call 47 pith_list_get_value_unchecked string 2 45 46 -store __loopvar_374_name 47 -load 48 __for_idx_374 -store __loopvar_374_i 48 -load 49 __loopvar_374_name +store __loopvar_373_name 47 +load 48 __for_idx_373 +store __loopvar_373_i 48 +load 49 __loopvar_373_name load 50 field_name call 51 pith_cstring_eq bool 2 49 50 -brif 51 L1637 L1638 -label L1637 -load 52 __loopvar_374_i +brif 51 L1569 L1570 +label L1569 +load 52 __loopvar_373_i store field_index 52 -jmp L1636 -label L1638 -label L1636 -label L1634 -load 53 __for_idx_374 +jmp L1568 +label L1570 +label L1568 +label L1566 +load 53 __for_idx_373 iconst 54 1 add 55 53 54 -store __for_idx_374 55 -jmp L1632 -label L1635 +store __for_idx_373 55 +jmp L1564 +label L1567 iconst 56 0 -store __or_56_1642 56 +store __or_56_1574 56 load 57 field_index iconst 58 0 lt 59 57 58 -store __or_56_1642 59 -brif 59 L1643 L1642 -label L1642 +store __or_56_1574 59 +brif 59 L1575 L1574 +label L1574 load 60 field_index load 61 recv_info field 62 61 24 list field_types call 63 pith_list_len int 1 62 gte 64 60 63 -store __or_56_1642 64 -label L1643 -load 65 __or_56_1642 -brif 65 L1640 L1641 -label L1640 +store __or_56_1574 64 +label L1575 +load 65 __or_56_1574 +brif 65 L1572 L1573 +label L1572 iconst 66 0 iconst 67 1 sub 68 66 67 @@ -158439,14 +157620,14 @@ call 70 pith_struct_release void 1 69 load 71 field_kind call 72 pith_cstring_release void 1 71 ret 68 -label L1641 -label L1639 +label L1573 +label L1571 load 73 recv_info field 74 73 8 string name load 75 field_name call 76 ir_emitter_core_ir_struct_field_is_weak bool 2 74 75 -brif 76 L1645 L1646 -label L1645 +brif 76 L1577 L1578 +label L1577 iconst 77 0 iconst 78 1 sub 79 77 78 @@ -158455,8 +157636,8 @@ call 81 pith_struct_release void 1 80 load 82 field_kind call 83 pith_cstring_release void 1 82 ret 79 -label L1646 -label L1644 +label L1578 +label L1576 load 84 field_index iconst 85 8 mul 86 84 85 @@ -158545,8 +157726,8 @@ load 11 impl_name call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L1648 L1649 -label L1648 +brif 14 L1580 L1581 +label L1580 load 15 declared load 16 impl_name call 17 ir_alias_registry_ir_declared_callable_return_type string 1 16 @@ -158556,8 +157737,8 @@ load 19 declared call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L1651 L1652 -label L1651 +brif 22 L1583 L1584 +label L1583 load 23 declared load 24 impl_name call 25 pith_cstring_release void 1 24 @@ -158566,16 +157747,16 @@ call 27 pith_cstring_release void 1 26 load 28 collection_type call 29 pith_cstring_release void 1 28 ret 23 -label L1652 -label L1650 -jmp L1647 -label L1649 -label L1647 +label L1584 +label L1582 +jmp L1579 +label L1581 +label L1579 load 30 meth call 31 ir_metadata_ir_is_bool_returning_method bool 1 30 -brif 31 L1654 L1655 -label L1654 -strref 32 m51s714 +brif 31 L1586 L1587 +label L1586 +strref 32 m51s715 load 33 impl_name call 34 pith_cstring_release void 1 33 load 35 declared @@ -158585,8 +157766,8 @@ call 38 pith_cstring_release void 1 37 load 39 collection_type call 40 pith_cstring_release void 1 39 ret 32 -label L1655 -label L1653 +label L1587 +label L1585 load 41 string_type load 42 meth call 43 ir_type_helpers_ir_known_string_method_return_type string 1 42 @@ -158596,8 +157777,8 @@ load 45 string_type call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L1657 L1658 -label L1657 +brif 48 L1589 L1590 +label L1589 load 49 string_type load 50 impl_name call 51 pith_cstring_release void 1 50 @@ -158606,15 +157787,15 @@ call 53 pith_cstring_release void 1 52 load 54 collection_type call 55 pith_cstring_release void 1 54 ret 49 -label L1658 -label L1656 +label L1590 +label L1588 load 56 meth strref 57 m51s282 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L1660 L1661 -label L1660 -strref 60 m51s713 +brif 58 L1592 L1593 +label L1592 +strref 60 m51s714 load 61 impl_name call 62 pith_cstring_release void 1 61 load 63 declared @@ -158624,27 +157805,27 @@ call 66 pith_cstring_release void 1 65 load 67 collection_type call 68 pith_cstring_release void 1 67 ret 60 -label L1661 -label L1659 +label L1593 +label L1591 iconst 69 0 -store __or_69_1665 69 +store __or_69_1597 69 load 70 meth strref 71 m51s214 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_69_1665 72 -brif 72 L1666 L1665 -label L1665 +store __or_69_1597 72 +brif 72 L1598 L1597 +label L1597 load 74 meth strref 75 m51s212 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -store __or_69_1665 76 -label L1666 -load 78 __or_69_1665 -brif 78 L1663 L1664 -label L1663 -strref 79 m51s712 +store __or_69_1597 76 +label L1598 +load 78 __or_69_1597 +brif 78 L1595 L1596 +label L1595 +strref 79 m51s713 load 80 impl_name call 81 pith_cstring_release void 1 80 load 82 declared @@ -158654,39 +157835,39 @@ call 85 pith_cstring_release void 1 84 load 86 collection_type call 87 pith_cstring_release void 1 86 ret 79 -label L1664 -label L1662 +label L1596 +label L1594 iconst 88 0 -store __and_88_1670 88 +store __and_88_1602 88 iconst 89 0 -store __or_89_1670 89 +store __or_89_1602 89 load 90 meth strref 91 m51s269 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -store __or_89_1670 92 -brif 92 L1671 L1670 -label L1670 +store __or_89_1602 92 +brif 92 L1603 L1602 +label L1602 load 94 meth strref 95 m51s297 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -store __or_89_1670 96 -label L1671 -load 98 __or_89_1670 -store __and_88_1670 98 -brif 98 L1672 L1673 -label L1672 +store __or_89_1602 96 +label L1603 +load 98 __or_89_1602 +store __and_88_1602 98 +brif 98 L1604 L1605 +label L1604 load 99 obj_type -strref 100 m51s715 +strref 100 m51s716 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __and_88_1670 101 -label L1673 -load 103 __and_88_1670 -brif 103 L1668 L1669 -label L1668 -strref 104 m51s715 +store __and_88_1602 101 +label L1605 +load 103 __and_88_1602 +brif 103 L1600 L1601 +label L1600 +strref 104 m51s716 load 105 impl_name call 106 pith_cstring_release void 1 105 load 107 declared @@ -158696,8 +157877,8 @@ call 110 pith_cstring_release void 1 109 load 111 collection_type call 112 pith_cstring_release void 1 111 ret 104 -label L1669 -label L1667 +label L1601 +label L1599 load 113 collection_type load 114 obj_type load 115 meth @@ -158708,8 +157889,8 @@ load 118 collection_type call 119 string_len int 1 118 iconst 120 0 gt 121 119 120 -brif 121 L1675 L1676 -label L1675 +brif 121 L1607 L1608 +label L1607 load 122 collection_type load 123 impl_name call 124 pith_cstring_release void 1 123 @@ -158718,8 +157899,8 @@ call 126 pith_cstring_release void 1 125 load 127 string_type call 128 pith_cstring_release void 1 127 ret 122 -label L1676 -label L1674 +label L1608 +label L1606 strref 129 m51s83 load 130 impl_name call 131 pith_cstring_release void 1 130 @@ -158756,96 +157937,96 @@ call 7 pith_cstring_retain void 1 6 call 8 pith_cstring_release void 1 4 store op 6 iconst 9 0 -store __or_9_1680 9 +store __or_9_1612 9 iconst 10 0 -store __or_10_1680 10 +store __or_10_1612 10 iconst 11 0 -store __or_11_1680 11 +store __or_11_1612 11 iconst 12 0 -store __or_12_1680 12 +store __or_12_1612 12 iconst 13 0 -store __or_13_1680 13 +store __or_13_1612 13 iconst 14 0 -store __or_14_1680 14 +store __or_14_1612 14 iconst 15 0 -store __or_15_1680 15 +store __or_15_1612 15 load 16 op strref 17 m51s479 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_15_1680 18 -brif 18 L1681 L1680 -label L1680 +store __or_15_1612 18 +brif 18 L1613 L1612 +label L1612 load 20 op strref 21 m51s477 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_15_1680 22 -label L1681 -load 24 __or_15_1680 -store __or_14_1680 24 -brif 24 L1683 L1682 -label L1682 +store __or_15_1612 22 +label L1613 +load 24 __or_15_1612 +store __or_14_1612 24 +brif 24 L1615 L1614 +label L1614 load 25 op strref 26 m51s475 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_14_1680 27 -label L1683 -load 29 __or_14_1680 -store __or_13_1680 29 -brif 29 L1685 L1684 -label L1684 +store __or_14_1612 27 +label L1615 +load 29 __or_14_1612 +store __or_13_1612 29 +brif 29 L1617 L1616 +label L1616 load 30 op strref 31 m51s472 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_13_1680 32 -label L1685 -load 34 __or_13_1680 -store __or_12_1680 34 -brif 34 L1687 L1686 -label L1686 +store __or_13_1612 32 +label L1617 +load 34 __or_13_1612 +store __or_12_1612 34 +brif 34 L1619 L1618 +label L1618 load 35 op strref 36 m51s469 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_12_1680 37 -label L1687 -load 39 __or_12_1680 -store __or_11_1680 39 -brif 39 L1689 L1688 -label L1688 +store __or_12_1612 37 +label L1619 +load 39 __or_12_1612 +store __or_11_1612 39 +brif 39 L1621 L1620 +label L1620 load 40 op strref 41 m51s466 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_11_1680 42 -label L1689 -load 44 __or_11_1680 -store __or_10_1680 44 -brif 44 L1691 L1690 -label L1690 +store __or_11_1612 42 +label L1621 +load 44 __or_11_1612 +store __or_10_1612 44 +brif 44 L1623 L1622 +label L1622 load 45 op strref 46 m51s463 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_10_1680 47 -label L1691 -load 49 __or_10_1680 -store __or_9_1680 49 -brif 49 L1693 L1692 -label L1692 +store __or_10_1612 47 +label L1623 +load 49 __or_10_1612 +store __or_9_1612 49 +brif 49 L1625 L1624 +label L1624 load 50 op strref 51 m51s461 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_9_1680 52 -label L1693 -load 54 __or_9_1680 -brif 54 L1678 L1679 -label L1678 -strref 55 m51s714 +store __or_9_1612 52 +label L1625 +load 54 __or_9_1612 +brif 54 L1610 L1611 +label L1610 +strref 55 m51s715 load 56 op call 57 pith_cstring_release void 1 56 load 58 lt @@ -158853,69 +158034,69 @@ call 59 pith_cstring_release void 1 58 load 60 rt call 61 pith_cstring_release void 1 60 ret 55 -label L1679 -label L1677 +label L1611 +label L1609 iconst 62 0 -store __or_62_1697 62 +store __or_62_1629 62 iconst 63 0 -store __or_63_1697 63 +store __or_63_1629 63 iconst 64 0 -store __or_64_1697 64 +store __or_64_1629 64 iconst 65 0 -store __or_65_1697 65 +store __or_65_1629 65 load 66 op strref 67 m51s242 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 -store __or_65_1697 68 -brif 68 L1698 L1697 -label L1697 +store __or_65_1629 68 +brif 68 L1630 L1629 +label L1629 load 70 op strref 71 m51s491 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_65_1697 72 -label L1698 -load 74 __or_65_1697 -store __or_64_1697 74 -brif 74 L1700 L1699 -label L1699 +store __or_65_1629 72 +label L1630 +load 74 __or_65_1629 +store __or_64_1629 74 +brif 74 L1632 L1631 +label L1631 load 75 op strref 76 m51s488 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_64_1697 77 -label L1700 -load 79 __or_64_1697 -store __or_63_1697 79 -brif 79 L1702 L1701 -label L1701 +store __or_64_1629 77 +label L1632 +load 79 __or_64_1629 +store __or_63_1629 79 +brif 79 L1634 L1633 +label L1633 load 80 op strref 81 m51s485 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __or_63_1697 82 -label L1702 -load 84 __or_63_1697 -store __or_62_1697 84 -brif 84 L1704 L1703 -label L1703 +store __or_63_1629 82 +label L1634 +load 84 __or_63_1629 +store __or_62_1629 84 +brif 84 L1636 L1635 +label L1635 load 85 op strref 86 m51s482 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_62_1697 87 -label L1704 -load 89 __or_62_1697 -brif 89 L1695 L1696 -label L1695 +store __or_62_1629 87 +label L1636 +load 89 __or_62_1629 +brif 89 L1627 L1628 +label L1627 load 90 node field 91 90 16 list children call 92 pith_list_len int 1 91 iconst 93 2 gte 94 92 93 -brif 94 L1706 L1707 -label L1706 +brif 94 L1638 L1639 +label L1638 load 95 lt load 96 node field 97 96 16 list children @@ -158933,24 +158114,24 @@ call 107 ir_emitter_core_ir_infer_type string 1 106 call 108 pith_cstring_release void 1 102 store rt 107 iconst 109 0 -store __or_109_1711 109 +store __or_109_1643 109 load 110 lt -strref 111 m51s713 +strref 111 m51s714 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -store __or_109_1711 112 -brif 112 L1712 L1711 -label L1711 +store __or_109_1643 112 +brif 112 L1644 L1643 +label L1643 load 114 rt -strref 115 m51s713 +strref 115 m51s714 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -store __or_109_1711 116 -label L1712 -load 118 __or_109_1711 -brif 118 L1709 L1710 -label L1709 -strref 119 m51s713 +store __or_109_1643 116 +label L1644 +load 118 __or_109_1643 +brif 118 L1641 L1642 +label L1641 +strref 119 m51s714 load 120 op call 121 pith_cstring_release void 1 120 load 122 lt @@ -158958,27 +158139,27 @@ call 123 pith_cstring_release void 1 122 load 124 rt call 125 pith_cstring_release void 1 124 ret 119 -label L1710 -label L1708 +label L1642 +label L1640 iconst 126 0 -store __or_126_1716 126 +store __or_126_1648 126 load 127 lt -strref 128 m51s716 +strref 128 m51s717 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -store __or_126_1716 129 -brif 129 L1717 L1716 -label L1716 +store __or_126_1648 129 +brif 129 L1649 L1648 +label L1648 load 131 rt -strref 132 m51s716 +strref 132 m51s717 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_126_1716 133 -label L1717 -load 135 __or_126_1716 -brif 135 L1714 L1715 -label L1714 -strref 136 m51s716 +store __or_126_1648 133 +label L1649 +load 135 __or_126_1648 +brif 135 L1646 L1647 +label L1646 +strref 136 m51s717 load 137 op call 138 pith_cstring_release void 1 137 load 139 lt @@ -158986,12 +158167,12 @@ call 140 pith_cstring_release void 1 139 load 141 rt call 142 pith_cstring_release void 1 141 ret 136 -label L1715 -label L1713 -jmp L1705 -label L1707 -label L1705 -strref 143 m51s712 +label L1647 +label L1645 +jmp L1637 +label L1639 +label L1637 +strref 143 m51s713 load 144 op call 145 pith_cstring_release void 1 144 load 146 lt @@ -158999,9 +158180,9 @@ call 147 pith_cstring_release void 1 146 load 148 rt call 149 pith_cstring_release void 1 148 ret 143 -label L1696 -label L1694 -strref 150 m51s712 +label L1628 +label L1626 +strref 150 m51s713 load 151 op call 152 pith_cstring_release void 1 151 load 153 lt @@ -159038,8 +158219,8 @@ load 10 checked_index call 11 string_len int 1 10 iconst 12 0 gt 13 11 12 -brif 13 L1719 L1720 -label L1719 +brif 13 L1651 L1652 +label L1651 load 14 checked_index load 15 coll_type call 16 pith_cstring_release void 1 15 @@ -159048,15 +158229,15 @@ call 18 pith_struct_release void 1 17 load 19 elem call 20 pith_cstring_release void 1 19 ret 14 -label L1720 -label L1718 +label L1652 +label L1650 load 21 node field 22 21 16 list children call 23 pith_list_len int 1 22 iconst 24 0 eq 25 23 24 -brif 25 L1722 L1723 -label L1722 +brif 25 L1654 L1655 +label L1654 strref 26 m51s83 load 27 checked_index call 28 pith_cstring_release void 1 27 @@ -159067,8 +158248,8 @@ call 32 pith_struct_release void 1 31 load 33 elem call 34 pith_cstring_release void 1 33 ret 26 -label L1723 -label L1721 +label L1655 +label L1653 load 35 coll_type load 36 node field 37 36 16 list children @@ -159078,12 +158259,12 @@ call 40 ir_emitter_core_ir_infer_type string 1 39 call 41 pith_cstring_release void 1 35 store coll_type 40 load 42 coll_type -strref 43 m51s716 +strref 43 m51s717 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L1725 L1726 -label L1725 -strref 46 m51s716 +brif 44 L1657 L1658 +label L1657 +strref 46 m51s717 load 47 checked_index call 48 pith_cstring_release void 1 47 load 49 coll_type @@ -159093,15 +158274,15 @@ call 52 pith_struct_release void 1 51 load 53 elem call 54 pith_cstring_release void 1 53 ret 46 -label L1726 -label L1724 +label L1658 +label L1656 load 55 coll_type -strref 56 m51s715 +strref 56 m51s716 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -brif 57 L1728 L1729 -label L1728 -strref 59 m51s712 +brif 57 L1660 L1661 +label L1660 +strref 59 m51s713 load 60 checked_index call 61 pith_cstring_release void 1 60 load 62 coll_type @@ -159111,15 +158292,15 @@ call 65 pith_struct_release void 1 64 load 66 elem call 67 pith_cstring_release void 1 66 ret 59 -label L1729 -label L1727 +label L1661 +label L1659 load 68 coll_type -strref 69 m51s709 +strref 69 m51s710 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -brif 70 L1731 L1732 -label L1731 -strref 72 m51s716 +brif 70 L1663 L1664 +label L1663 +strref 72 m51s717 load 73 checked_index call 74 pith_cstring_release void 1 73 load 75 coll_type @@ -159129,26 +158310,26 @@ call 78 pith_struct_release void 1 77 load 79 elem call 80 pith_cstring_release void 1 79 ret 72 -label L1732 -label L1730 +label L1664 +label L1662 iconst 81 0 -store __or_81_1736 81 +store __or_81_1668 81 load 82 coll_type strref 83 m51s19 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -store __or_81_1736 84 -brif 84 L1737 L1736 -label L1736 +store __or_81_1668 84 +brif 84 L1669 L1668 +label L1668 load 86 coll_type -strref 87 m51s711 +strref 87 m51s712 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 -store __or_81_1736 88 -label L1737 -load 90 __or_81_1736 -brif 90 L1734 L1735 -label L1734 +store __or_81_1668 88 +label L1669 +load 90 __or_81_1668 +brif 90 L1666 L1667 +label L1666 load 91 node field 92 91 16 list children iconst 93 0 @@ -159163,8 +158344,8 @@ call 101 pith_struct_release void 1 100 load 102 elem call 103 pith_cstring_release void 1 102 ret 95 -label L1735 -label L1733 +label L1667 +label L1665 load 104 coll_node load 105 node field 106 105 16 list children @@ -159178,8 +158359,8 @@ field 112 111 0 string kind strref 113 m51s37 call 114 pith_cstring_eq bool 2 112 113 call 115 pith_cstring_release void 1 113 -brif 114 L1739 L1740 -label L1739 +brif 114 L1671 L1672 +label L1671 load 116 elem load 117 coll_node field 118 117 8 string value @@ -159190,8 +158371,8 @@ load 121 elem call 122 string_len int 1 121 iconst 123 0 gt 124 122 123 -brif 124 L1742 L1743 -label L1742 +brif 124 L1674 L1675 +label L1674 load 125 elem load 126 checked_index call 127 pith_cstring_release void 1 126 @@ -159200,11 +158381,11 @@ call 129 pith_cstring_release void 1 128 load 130 coll_node call 131 pith_struct_release void 1 130 ret 125 -label L1743 -label L1741 -jmp L1738 -label L1740 -label L1738 +label L1675 +label L1673 +jmp L1670 +label L1672 +label L1670 strref 132 m51s83 load 133 checked_index call 134 pith_cstring_release void 1 133 @@ -159237,22 +158418,22 @@ store tn 3 iconst 4 0 store info 4 iconst 5 0 -store __or_5_1747 5 +store __or_5_1679 5 load 6 ir_alias_registry_ir_active_generic_params call 7 pith_list_len int 1 6 iconst 8 0 eq 9 7 8 -store __or_5_1747 9 -brif 9 L1748 L1747 -label L1747 +store __or_5_1679 9 +brif 9 L1680 L1679 +label L1679 load 10 ir_alias_registry_ir_active_generic_decl_idx iconst 11 0 lt 12 10 11 -store __or_5_1747 12 -label L1748 -load 13 __or_5_1747 -brif 13 L1745 L1746 -label L1745 +store __or_5_1679 12 +label L1680 +load 13 __or_5_1679 +brif 13 L1677 L1678 +label L1677 strref 14 m51s83 load 15 decl call 16 pith_struct_release void 1 15 @@ -159263,8 +158444,8 @@ call 20 pith_struct_release void 1 19 load 21 info call 22 pith_struct_release void 1 21 ret 14 -label L1746 -label L1744 +label L1678 +label L1676 load 23 decl load 24 ir_alias_registry_ir_active_generic_decl_idx call 25 ast_get_node struct:Node 1 24 @@ -159274,93 +158455,93 @@ load 27 decl field 28 27 16 list children call 29 pith_auto_len int 1 28 iconst 30 0 -store __for_idx_375 30 -store __for_len_375 29 -store __for_iter_375 28 -label L1749 -load 31 __for_idx_375 -load 32 __for_len_375 +store __for_idx_374 30 +store __for_len_374 29 +store __for_iter_374 28 +label L1681 +load 31 __for_idx_374 +load 32 __for_len_374 lt 33 31 32 -brif 33 L1750 L1752 -label L1750 -load 34 __for_iter_375 -load 35 __for_idx_375 +brif 33 L1682 L1684 +label L1682 +load 34 __for_iter_374 +load 35 __for_idx_374 call 36 pith_list_get_value unknown 2 34 35 -store __loopvar_375_child 36 +store __loopvar_374_child 36 load 37 cn -load 38 __loopvar_375_child +load 38 __loopvar_374_child call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store cn 39 iconst 41 0 -store __and_41_1756 41 +store __and_41_1688 41 load 42 cn field 43 42 0 string kind strref 44 m51s69 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_41_1756 45 -brif 45 L1756 L1757 -label L1756 +store __and_41_1688 45 +brif 45 L1688 L1689 +label L1688 load 47 cn field 48 47 8 string value load 49 name call 50 pith_cstring_eq bool 2 48 49 -store __and_41_1756 50 -label L1757 -load 51 __and_41_1756 -brif 51 L1754 L1755 -label L1754 +store __and_41_1688 50 +label L1689 +load 51 __and_41_1688 +brif 51 L1686 L1687 +label L1686 load 52 cn field 53 52 16 list children call 54 pith_auto_len int 1 53 iconst 55 0 -store __for_idx_376 55 -store __for_len_376 54 -store __for_iter_376 53 -label L1758 -load 56 __for_idx_376 -load 57 __for_len_376 +store __for_idx_375 55 +store __for_len_375 54 +store __for_iter_375 53 +label L1690 +load 56 __for_idx_375 +load 57 __for_len_375 lt 58 56 57 -brif 58 L1759 L1761 -label L1759 -load 59 __for_iter_376 -load 60 __for_idx_376 +brif 58 L1691 L1693 +label L1691 +load 59 __for_iter_375 +load 60 __for_idx_375 call 61 pith_list_get_value unknown 2 59 60 -store __loopvar_376_tc 61 +store __loopvar_375_tc 61 load 62 tn -load 63 __loopvar_376_tc +load 63 __loopvar_375_tc call 64 ast_get_node struct:Node 1 63 call 65 pith_struct_release void 1 62 store tn 64 iconst 66 0 -store __or_66_1765 66 +store __or_66_1697 66 load 67 tn field 68 67 0 string kind strref 69 m51s316 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -store __or_66_1765 70 -brif 70 L1766 L1765 -label L1765 +store __or_66_1697 70 +brif 70 L1698 L1697 +label L1697 load 72 tn field 73 72 0 string kind strref 74 m51s336 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 -store __or_66_1765 75 -label L1766 -load 77 __or_66_1765 -brif 77 L1763 L1764 -label L1763 -load 78 __loopvar_376_tc +store __or_66_1697 75 +label L1698 +load 77 __or_66_1697 +brif 77 L1695 L1696 +label L1695 +load 78 __loopvar_375_tc call 79 ir_emitter_core_ir_declared_type_node_tid int 1 78 store tid 79 load 80 tid iconst 81 0 gte 82 80 81 -brif 82 L1768 L1769 -label L1768 +brif 82 L1700 L1701 +label L1700 load 83 info load 84 tid call 85 types_get_type_info struct:TypeInfo 1 84 @@ -159371,8 +158552,8 @@ field 88 87 0 string kind strref 89 m51s20 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -brif 90 L1771 L1772 -label L1771 +brif 90 L1703 L1704 +label L1703 load 92 info field 93 92 64 int inner call 94 ir_type_helpers_ir_type_from_tid string 1 93 @@ -159385,11 +158566,11 @@ call 100 pith_struct_release void 1 99 load 101 info call 102 pith_struct_release void 1 101 ret 94 -label L1772 -label L1770 -jmp L1767 -label L1769 -label L1767 +label L1704 +label L1702 +jmp L1699 +label L1701 +label L1699 strref 103 m51s83 load 104 decl call 105 pith_struct_release void 1 104 @@ -159400,25 +158581,25 @@ call 109 pith_struct_release void 1 108 load 110 info call 111 pith_struct_release void 1 110 ret 103 -label L1764 -label L1762 -label L1760 -load 112 __for_idx_376 +label L1696 +label L1694 +label L1692 +load 112 __for_idx_375 iconst 113 1 add 114 112 113 -store __for_idx_376 114 -jmp L1758 -label L1761 -jmp L1753 -label L1755 -label L1753 -label L1751 -load 115 __for_idx_375 +store __for_idx_375 114 +jmp L1690 +label L1693 +jmp L1685 +label L1687 +label L1685 +label L1683 +load 115 __for_idx_374 iconst 116 1 add 117 115 116 -store __for_idx_375 117 -jmp L1749 -label L1752 +store __for_idx_374 117 +jmp L1681 +label L1684 strref 118 m51s83 load 119 decl call 120 pith_struct_release void 1 119 @@ -159452,16 +158633,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L1774 L1775 -label L1774 +brif 8 L1706 L1707 +label L1706 strref 9 m51s83 load 10 callee_node call 11 pith_struct_release void 1 10 load 12 callee call 13 pith_struct_release void 1 12 ret 9 -label L1775 -label L1773 +label L1707 +label L1705 load 14 callee_node load 15 node field 16 15 16 list children @@ -159471,24 +158652,24 @@ call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 14 store callee_node 19 iconst 21 0 -store __and_21_1779 21 +store __and_21_1711 21 load 22 callee_node field 23 22 0 string kind strref 24 m51s37 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_1779 25 -brif 25 L1779 L1780 -label L1779 +store __and_21_1711 25 +brif 25 L1711 L1712 +label L1711 load 27 ir_emitter_core_ir_closure_return_kinds load 28 callee_node field 29 28 8 string value call 30 contains_key bool 2 27 29 -store __and_21_1779 30 -label L1780 -load 31 __and_21_1779 -brif 31 L1777 L1778 -label L1777 +store __and_21_1711 30 +label L1712 +load 31 __and_21_1711 +brif 31 L1709 L1710 +label L1709 load 32 ir_emitter_core_ir_closure_return_kinds load 33 callee_node field 34 33 8 string value @@ -159499,8 +158680,8 @@ call 38 pith_struct_release void 1 37 load 39 callee call 40 pith_struct_release void 1 39 ret 35 -label L1778 -label L1776 +label L1710 +label L1708 load 41 callee load 42 node field 43 42 16 list children @@ -159514,16 +158695,16 @@ field 49 48 0 string name call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L1782 L1783 -label L1782 +brif 52 L1714 L1715 +label L1714 strref 53 m51s83 load 54 callee_node call 55 pith_struct_release void 1 54 load 56 callee call 57 pith_struct_release void 1 56 ret 53 -label L1783 -label L1781 +label L1715 +label L1713 load 58 callee field 59 58 0 string name call 60 ir_emitter_core_ir_known_callable_return_type string 1 59 @@ -159557,8 +158738,8 @@ load 9 alias_fname call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -brif 12 L1785 L1786 -label L1785 +brif 12 L1717 L1718 +label L1717 load 13 alias_fname call 14 ir_emitter_core_ir_known_callable_return_type string 1 13 load 15 alias_fname @@ -159568,8 +158749,8 @@ call 18 pith_cstring_release void 1 17 load 19 obj_type call 20 pith_cstring_release void 1 19 ret 14 -label L1786 -label L1784 +label L1718 +label L1716 load 21 mname load 22 idx call 23 ast_node_value string 1 22 @@ -159578,36 +158759,36 @@ call 25 pith_cstring_release void 1 23 call 26 pith_cstring_release void 1 21 store mname 24 iconst 27 0 -store __and_27_1790 27 +store __and_27_1722 27 load 28 node field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -store __and_27_1790 32 -brif 32 L1790 L1791 -label L1790 +store __and_27_1722 32 +brif 32 L1722 L1723 +label L1722 iconst 33 0 -store __or_33_1792 33 +store __or_33_1724 33 load 34 mname strref 35 m51s293 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_33_1792 36 -brif 36 L1793 L1792 -label L1792 +store __or_33_1724 36 +brif 36 L1725 L1724 +label L1724 load 38 mname strref 39 m51s6 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_33_1792 40 -label L1793 -load 42 __or_33_1792 -store __and_27_1790 42 -label L1791 -load 43 __and_27_1790 -brif 43 L1788 L1789 -label L1788 +store __or_33_1724 40 +label L1725 +load 42 __or_33_1724 +store __and_27_1722 42 +label L1723 +load 43 __and_27_1722 +brif 43 L1720 L1721 +label L1720 load 44 node field 45 44 16 list children iconst 46 0 @@ -159619,8 +158800,8 @@ store generic_recv_tid 49 load 51 generic_recv_tid iconst 52 0 gte 53 51 52 -brif 53 L1795 L1796 -label L1795 +brif 53 L1727 L1728 +label L1727 load 54 generic_recv_tid call 55 types_get_type_info struct:TypeInfo 1 54 field 56 55 64 int inner @@ -159632,11 +158813,11 @@ call 61 pith_cstring_release void 1 60 load 62 obj_type call 63 pith_cstring_release void 1 62 ret 57 -label L1796 -label L1794 -jmp L1787 -label L1789 -label L1787 +label L1728 +label L1726 +jmp L1719 +label L1721 +label L1719 load 64 obj_type strref 65 m51s83 call 66 pith_cstring_release void 1 64 @@ -159646,8 +158827,8 @@ field 68 67 16 list children call 69 pith_list_len int 1 68 iconst 70 0 gt 71 69 70 -brif 71 L1798 L1799 -label L1798 +brif 71 L1730 L1731 +label L1730 load 72 obj_type load 73 node field 74 73 16 list children @@ -159656,9 +158837,9 @@ call 76 pith_list_get_value_strict int 2 74 75 call 77 ir_emitter_core_ir_infer_type string 1 76 call 78 pith_cstring_release void 1 72 store obj_type 77 -jmp L1797 -label L1799 -label L1797 +jmp L1729 +label L1731 +label L1729 load 79 obj_type load 80 mname call 81 ir_emitter_core_ir_known_method_return_type string 2 79 80 @@ -159689,14 +158870,14 @@ store recv_tid 4 load 5 recv_tid iconst 6 0 lt 7 5 6 -brif 7 L1801 L1802 -label L1801 +brif 7 L1733 L1734 +label L1733 strref 8 m51s83 load 9 recv_info call 10 pith_struct_release void 1 9 ret 8 -label L1802 -label L1800 +label L1734 +label L1732 load 11 recv_info load 12 recv_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -159709,68 +158890,68 @@ 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 L1804 L1805 -label L1804 +brif 18 L1736 L1737 +label L1736 strref 22 m51s83 load 23 recv_info call 24 pith_struct_release void 1 23 ret 22 -label L1805 -label L1803 +label L1737 +label L1735 load 25 recv_info field 26 25 16 list_string fields call 27 pith_auto_len int 1 26 iconst 28 0 -store __for_idx_377 28 -store __for_len_377 27 -store __for_iter_377 26 -label L1806 -load 29 __for_idx_377 -load 30 __for_len_377 +store __for_idx_376 28 +store __for_len_376 27 +store __for_iter_376 26 +label L1738 +load 29 __for_idx_376 +load 30 __for_len_376 lt 31 29 30 -brif 31 L1807 L1809 -label L1807 -load 32 __for_iter_377 -load 33 __for_idx_377 +brif 31 L1739 L1741 +label L1739 +load 32 __for_iter_376 +load 33 __for_idx_376 call 34 pith_list_get_value_unchecked string 2 32 33 -store __loopvar_377_name 34 -load 35 __for_idx_377 -store __loopvar_377_i 35 +store __loopvar_376_name 34 +load 35 __for_idx_376 +store __loopvar_376_i 35 iconst 36 0 -store __and_36_1813 36 -load 37 __loopvar_377_name +store __and_36_1745 36 +load 37 __loopvar_376_name load 38 field_name call 39 pith_cstring_eq bool 2 37 38 -store __and_36_1813 39 -brif 39 L1813 L1814 -label L1813 -load 40 __loopvar_377_i +store __and_36_1745 39 +brif 39 L1745 L1746 +label L1745 +load 40 __loopvar_376_i load 41 recv_info field 42 41 24 list field_types call 43 pith_list_len int 1 42 lt 44 40 43 -store __and_36_1813 44 -label L1814 -load 45 __and_36_1813 -brif 45 L1811 L1812 -label L1811 +store __and_36_1745 44 +label L1746 +load 45 __and_36_1745 +brif 45 L1743 L1744 +label L1743 load 46 recv_info field 47 46 24 list field_types -load 48 __loopvar_377_i +load 48 __loopvar_376_i call 49 pith_list_get_value_strict int 2 47 48 call 50 ir_type_helpers_ir_type_from_tid string 1 49 load 51 recv_info call 52 pith_struct_release void 1 51 ret 50 -label L1812 -label L1810 -label L1808 -load 53 __for_idx_377 +label L1744 +label L1742 +label L1740 +load 53 __for_idx_376 iconst 54 1 add 55 53 54 -store __for_idx_377 55 -jmp L1806 -label L1809 +store __for_idx_376 55 +jmp L1738 +label L1741 strref 56 m51s83 load 57 recv_info call 58 pith_struct_release void 1 57 @@ -159797,8 +158978,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L1816 L1817 -label L1816 +brif 10 L1748 L1749 +label L1748 strref 11 m51s83 load 12 fname call 13 pith_cstring_release void 1 12 @@ -159811,8 +158992,8 @@ call 19 pith_cstring_release void 1 18 load 20 lookup_key call 21 pith_cstring_release void 1 20 ret 11 -label L1817 -label L1815 +label L1749 +label L1747 load 22 fname load 23 node field 24 23 8 string value @@ -159820,24 +159001,24 @@ call 25 pith_cstring_retain void 1 24 call 26 pith_cstring_release void 1 22 store fname 24 iconst 27 0 -store __or_27_1821 27 +store __or_27_1753 27 load 28 fname strref 29 m51s192 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_27_1821 30 -brif 30 L1822 L1821 -label L1821 +store __or_27_1753 30 +brif 30 L1754 L1753 +label L1753 load 32 fname strref 33 m51s191 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_27_1821 34 -label L1822 -load 36 __or_27_1821 -brif 36 L1819 L1820 -label L1819 -strref 37 m51s714 +store __or_27_1753 34 +label L1754 +load 36 __or_27_1753 +brif 36 L1751 L1752 +label L1751 +strref 37 m51s715 load 38 fname call 39 pith_cstring_release void 1 38 load 40 obj_info @@ -159849,14 +159030,14 @@ call 45 pith_cstring_release void 1 44 load 46 lookup_key call 47 pith_cstring_release void 1 46 ret 37 -label L1820 -label L1818 +label L1752 +label L1750 load 48 fname strref 49 m51s190 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -brif 50 L1824 L1825 -label L1824 +brif 50 L1756 L1757 +label L1756 load 52 node field 53 52 16 list children iconst 54 0 @@ -159866,8 +159047,8 @@ store obj_tid 56 load 57 obj_tid iconst 58 0 gte 59 57 58 -brif 59 L1827 L1828 -label L1827 +brif 59 L1759 L1760 +label L1759 load 60 obj_info load 61 obj_tid call 62 types_get_type_info struct:TypeInfo 1 61 @@ -159878,8 +159059,8 @@ field 65 64 0 string kind strref 66 m51s22 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L1830 L1831 -label L1830 +brif 67 L1762 L1763 +label L1762 load 69 obj_info field 70 69 64 int inner call 71 ir_type_helpers_ir_type_from_tid string 1 70 @@ -159894,20 +159075,20 @@ call 79 pith_cstring_release void 1 78 load 80 lookup_key call 81 pith_cstring_release void 1 80 ret 71 -label L1831 -label L1829 -jmp L1826 -label L1828 -label L1826 -jmp L1823 -label L1825 -label L1823 +label L1763 +label L1761 +jmp L1758 +label L1760 +label L1758 +jmp L1755 +label L1757 +label L1755 load 82 fname strref 83 m51s189 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -brif 84 L1833 L1834 -label L1833 +brif 84 L1765 L1766 +label L1765 load 86 node field 87 86 16 list children iconst 88 0 @@ -159917,8 +159098,8 @@ store obj_tid 90 load 91 obj_tid iconst 92 0 gte 93 91 92 -brif 93 L1836 L1837 -label L1836 +brif 93 L1768 L1769 +label L1768 load 94 obj_info load 95 obj_tid call 96 types_get_type_info struct:TypeInfo 1 95 @@ -159929,8 +159110,8 @@ field 99 98 0 string kind strref 100 m51s22 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -brif 101 L1839 L1840 -label L1839 +brif 101 L1771 L1772 +label L1771 load 103 obj_info field 104 103 80 int value_type call 105 ir_type_helpers_ir_type_from_tid string 1 104 @@ -159945,14 +159126,14 @@ call 113 pith_cstring_release void 1 112 load 114 lookup_key call 115 pith_cstring_release void 1 114 ret 105 -label L1840 -label L1838 -jmp L1835 -label L1837 -label L1835 -jmp L1832 -label L1834 -label L1832 +label L1772 +label L1770 +jmp L1767 +label L1769 +label L1767 +jmp L1764 +label L1766 +label L1764 load 116 concrete_field_type load 117 node field 118 117 16 list children @@ -159966,8 +159147,8 @@ load 124 concrete_field_type call 125 string_len int 1 124 iconst 126 0 gt 127 125 126 -brif 127 L1842 L1843 -label L1842 +brif 127 L1774 L1775 +label L1774 load 128 concrete_field_type load 129 fname call 130 pith_cstring_release void 1 129 @@ -159978,8 +159159,8 @@ call 134 pith_cstring_release void 1 133 load 135 lookup_key call 136 pith_cstring_release void 1 135 ret 128 -label L1843 -label L1841 +label L1775 +label L1773 load 137 obj_type load 138 node field 139 138 16 list children @@ -159992,8 +159173,8 @@ load 144 obj_type call 145 string_len int 1 144 iconst 146 0 eq 147 145 146 -brif 147 L1845 L1846 -label L1845 +brif 147 L1777 L1778 +label L1777 strref 148 m51s83 load 149 fname call 150 pith_cstring_release void 1 149 @@ -160006,8 +159187,8 @@ call 156 pith_cstring_release void 1 155 load 157 lookup_key call 158 pith_cstring_release void 1 157 ret 148 -label L1846 -label L1844 +label L1778 +label L1776 load 159 lookup_key load 160 obj_type strref 161 m51s26 @@ -160021,8 +159202,8 @@ store lookup_key 165 load 168 ir_struct_registry_ir_struct_field_lookup load 169 lookup_key call 170 contains_key bool 2 168 169 -brif 170 L1848 L1849 -label L1848 +brif 170 L1780 L1781 +label L1780 load 171 ir_struct_registry_ir_struct_field_lookup load 172 lookup_key call 173 map_get_strict string 2 171 172 @@ -160038,8 +159219,8 @@ call 182 pith_cstring_release void 1 181 load 183 lookup_key call 184 pith_cstring_release void 1 183 ret 173 -label L1849 -label L1847 +label L1781 +label L1779 strref 185 m51s83 load 186 fname call 187 pith_cstring_release void 1 186 @@ -160078,8 +159259,8 @@ store literal_type 4 load 5 idx iconst 6 0 lt 7 5 6 -brif 7 L1851 L1852 -label L1851 +brif 7 L1783 L1784 +label L1783 strref 8 m51s83 load 9 checked call 10 pith_cstring_release void 1 9 @@ -160090,8 +159271,8 @@ call 14 pith_cstring_release void 1 13 load 15 literal_type call 16 pith_cstring_release void 1 15 ret 8 -label L1852 -label L1850 +label L1784 +label L1782 load 17 checked load 18 idx call 19 ir_type_helpers_ir_checked_type string 1 18 @@ -160101,8 +159282,8 @@ load 21 checked call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L1854 L1855 -label L1854 +brif 24 L1786 L1787 +label L1786 load 25 checked load 26 node call 27 pith_struct_release void 1 26 @@ -160111,8 +159292,8 @@ call 29 pith_cstring_release void 1 28 load 30 literal_type call 31 pith_cstring_release void 1 30 ret 25 -label L1855 -label L1853 +label L1787 +label L1785 load 32 node load 33 idx call 34 ast_get_node struct:Node 1 33 @@ -160133,8 +159314,8 @@ load 45 literal_type call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L1857 L1858 -label L1857 +brif 48 L1789 L1790 +label L1789 load 49 literal_type load 50 checked call 51 pith_cstring_release void 1 50 @@ -160143,14 +159324,14 @@ call 53 pith_struct_release void 1 52 load 54 kind call 55 pith_cstring_release void 1 54 ret 49 -label L1858 -label L1856 +label L1790 +label L1788 load 56 kind strref 57 m51s37 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L1860 L1861 -label L1860 +brif 58 L1792 L1793 +label L1792 load 60 node field 61 60 8 string value call 62 ir_emitter_core_ir_lookup_name_type string 1 61 @@ -160163,20 +159344,20 @@ call 68 pith_cstring_release void 1 67 load 69 literal_type call 70 pith_cstring_release void 1 69 ret 62 -label L1861 -label L1859 +label L1793 +label L1791 load 71 kind strref 72 m51s527 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -brif 73 L1863 L1864 -label L1863 +brif 73 L1795 L1796 +label L1795 load 75 ir_emitter_core_ir_current_impl_type call 76 string_len int 1 75 iconst 77 0 gt 78 76 77 -brif 78 L1866 L1867 -label L1866 +brif 78 L1798 L1799 +label L1798 load 79 ir_emitter_core_ir_current_impl_type call 80 pith_cstring_retain void 1 79 load 81 checked @@ -160188,8 +159369,8 @@ call 86 pith_cstring_release void 1 85 load 87 literal_type call 88 pith_cstring_release void 1 87 ret 79 -label L1867 -label L1865 +label L1799 +label L1797 strref 89 m51s15 load 90 checked call 91 pith_cstring_release void 1 90 @@ -160200,27 +159381,27 @@ call 95 pith_cstring_release void 1 94 load 96 literal_type call 97 pith_cstring_release void 1 96 ret 89 -label L1864 -label L1862 +label L1796 +label L1794 iconst 98 0 -store __and_98_1871 98 +store __and_98_1803 98 load 99 kind strref 100 m51s524 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __and_98_1871 101 -brif 101 L1871 L1872 -label L1871 +store __and_98_1803 101 +brif 101 L1803 L1804 +label L1803 load 103 node field 104 103 16 list children call 105 pith_list_len int 1 104 iconst 106 0 gt 107 105 106 -store __and_98_1871 107 -label L1872 -load 108 __and_98_1871 -brif 108 L1869 L1870 -label L1869 +store __and_98_1803 107 +label L1804 +load 108 __and_98_1803 +brif 108 L1801 L1802 +label L1801 load 109 node field 110 109 16 list children iconst 111 0 @@ -160235,14 +159416,14 @@ call 119 pith_cstring_release void 1 118 load 120 literal_type call 121 pith_cstring_release void 1 120 ret 113 -label L1870 -label L1868 +label L1802 +label L1800 load 122 kind strref 123 m51s526 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L1874 L1875 -label L1874 +brif 124 L1806 L1807 +label L1806 load 126 node call 127 ir_emitter_core_ir_binary_expr_type string 1 126 load 128 checked @@ -160254,14 +159435,14 @@ call 133 pith_cstring_release void 1 132 load 134 literal_type call 135 pith_cstring_release void 1 134 ret 127 -label L1875 -label L1873 +label L1807 +label L1805 load 136 kind strref 137 m51s525 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 -brif 138 L1877 L1878 -label L1877 +brif 138 L1809 L1810 +label L1809 load 140 node call 141 ir_type_helpers_ir_unary_expr_type string 1 140 load 142 checked @@ -160273,14 +159454,14 @@ call 147 pith_cstring_release void 1 146 load 148 literal_type call 149 pith_cstring_release void 1 148 ret 141 -label L1878 -label L1876 +label L1810 +label L1808 load 150 kind strref 151 m51s44 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -brif 152 L1880 L1881 -label L1880 +brif 152 L1812 L1813 +label L1812 load 154 idx load 155 node call 156 ir_emitter_core_ir_call_expr_type string 2 154 155 @@ -160293,14 +159474,14 @@ call 162 pith_cstring_release void 1 161 load 163 literal_type call 164 pith_cstring_release void 1 163 ret 156 -label L1881 -label L1879 +label L1813 +label L1811 load 165 kind strref 166 m51s130 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L1883 L1884 -label L1883 +brif 167 L1815 L1816 +label L1815 load 169 idx load 170 node call 171 ir_emitter_core_ir_method_expr_type string 2 169 170 @@ -160313,14 +159494,14 @@ call 177 pith_cstring_release void 1 176 load 178 literal_type call 179 pith_cstring_release void 1 178 ret 171 -label L1884 -label L1882 +label L1816 +label L1814 load 180 kind strref 181 m51s36 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L1886 L1887 -label L1886 +brif 182 L1818 L1819 +label L1818 load 184 node call 185 ir_emitter_core_ir_field_expr_type string 1 184 load 186 checked @@ -160332,14 +159513,14 @@ call 191 pith_cstring_release void 1 190 load 192 literal_type call 193 pith_cstring_release void 1 192 ret 185 -label L1887 -label L1885 +label L1819 +label L1817 load 194 kind strref 195 m51s511 call 196 pith_cstring_eq bool 2 194 195 call 197 pith_cstring_release void 1 195 -brif 196 L1889 L1890 -label L1889 +brif 196 L1821 L1822 +label L1821 load 198 node field 199 198 8 string value call 200 ir_alias_registry_ir_resolve_type_hint string 1 199 @@ -160352,27 +159533,27 @@ call 206 pith_cstring_release void 1 205 load 207 literal_type call 208 pith_cstring_release void 1 207 ret 200 -label L1890 -label L1888 +label L1822 +label L1820 iconst 209 0 -store __and_209_1894 209 +store __and_209_1826 209 load 210 kind strref 211 m51s35 call 212 pith_cstring_eq bool 2 210 211 call 213 pith_cstring_release void 1 211 -store __and_209_1894 212 -brif 212 L1894 L1895 -label L1894 +store __and_209_1826 212 +brif 212 L1826 L1827 +label L1826 load 214 node field 215 214 16 list children call 216 pith_list_len int 1 215 iconst 217 0 gt 218 216 217 -store __and_209_1894 218 -label L1895 -load 219 __and_209_1894 -brif 219 L1892 L1893 -label L1892 +store __and_209_1826 218 +label L1827 +load 219 __and_209_1826 +brif 219 L1824 L1825 +label L1824 load 220 idx load 221 node call 222 ir_emitter_core_ir_index_expr_type string 2 220 221 @@ -160385,8 +159566,8 @@ call 228 pith_cstring_release void 1 227 load 229 literal_type call 230 pith_cstring_release void 1 229 ret 222 -label L1893 -label L1891 +label L1825 +label L1823 strref 231 m51s83 load 232 checked call 233 pith_cstring_release void 1 232 @@ -160446,15 +159627,15 @@ load 10 target_type strref 11 m51s23 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L1897 L1898 -label L1897 +brif 12 L1829 L1830 +label L1829 load 14 vn field 15 14 0 string kind strref 16 m51s494 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L1900 L1901 -label L1900 +brif 17 L1832 L1833 +label L1832 call 19 ir_optionals_ir_emit_optional_none_value int 0 load 20 vn call 21 pith_struct_release void 1 20 @@ -160465,8 +159646,8 @@ call 25 pith_cstring_release void 1 24 load 26 empty_init_call call 27 pith_cstring_release void 1 26 ret 19 -label L1901 -label L1899 +label L1833 +label L1831 load 28 val_idx call 29 ir_emitter_core_ir_expr int 1 28 store value_r 29 @@ -160476,57 +159657,57 @@ store actual_tid 31 load 32 actual_tid iconst 33 0 gte 34 32 33 -brif 34 L1903 L1904 -label L1903 +brif 34 L1835 L1836 +label L1835 load 35 actual_info load 36 actual_tid call 37 types_get_type_info struct:TypeInfo 1 36 call 38 pith_struct_release void 1 35 store actual_info 37 iconst 39 0 -store __or_39_1908 39 +store __or_39_1840 39 iconst 40 0 -store __or_40_1908 40 +store __or_40_1840 40 load 41 actual_info field 42 41 0 string kind strref 43 m51s21 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_40_1908 44 -brif 44 L1909 L1908 -label L1908 +store __or_40_1840 44 +brif 44 L1841 L1840 +label L1840 load 46 actual_info field 47 46 0 string kind strref 48 m51s22 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_40_1908 49 -label L1909 -load 51 __or_40_1908 -store __or_39_1908 51 -brif 51 L1911 L1910 -label L1910 +store __or_40_1840 49 +label L1841 +load 51 __or_40_1840 +store __or_39_1840 51 +brif 51 L1843 L1842 +label L1842 load 52 actual_info field 53 52 0 string kind strref 54 m51s23 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_39_1908 55 -label L1911 -load 57 __or_39_1908 -brif 57 L1906 L1907 -label L1906 +store __or_39_1840 55 +label L1843 +load 57 __or_39_1840 +brif 57 L1838 L1839 +label L1838 load 58 val_idx call 59 ir_emitter_core_ir_string_expr_is_borrowed bool 1 58 -brif 59 L1913 L1914 -label L1913 +brif 59 L1845 L1846 +label L1845 load 60 value_r strref 61 m51s23 call 62 ir_ownership_ir_rc_retain_reg void 2 60 61 call 63 pith_cstring_release void 1 61 -jmp L1912 -label L1914 -label L1912 +jmp L1844 +label L1846 +label L1844 load 64 value_r load 65 vn call 66 pith_struct_release void 1 65 @@ -160537,43 +159718,43 @@ call 70 pith_cstring_release void 1 69 load 71 empty_init_call call 72 pith_cstring_release void 1 71 ret 64 -label L1907 -label L1905 -jmp L1902 -label L1904 -label L1902 +label L1839 +label L1837 +jmp L1834 +label L1836 +label L1834 iconst 73 0 -store __and_73_1918 73 +store __and_73_1850 73 load 74 ir_emitter_core_ir_current_impl_subst_params call 75 pith_list_len int 1 74 iconst 76 0 gt 77 75 76 -store __and_73_1918 77 -brif 77 L1918 L1919 -label L1918 +store __and_73_1850 77 +brif 77 L1850 L1851 +label L1850 iconst 78 0 -store __or_78_1920 78 +store __or_78_1852 78 load 79 vn field 80 79 0 string kind strref 81 m51s130 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __or_78_1920 82 -brif 82 L1921 L1920 -label L1920 +store __or_78_1852 82 +brif 82 L1853 L1852 +label L1852 load 84 vn field 85 84 0 string kind strref 86 m51s44 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_78_1920 87 -label L1921 -load 89 __or_78_1920 -store __and_73_1918 89 -label L1919 -load 90 __and_73_1918 -brif 90 L1916 L1917 -label L1916 +store __or_78_1852 87 +label L1853 +load 89 __or_78_1852 +store __and_73_1850 89 +label L1851 +load 90 __and_73_1850 +brif 90 L1848 L1849 +label L1848 load 91 value_r load 92 vn call 93 pith_struct_release void 1 92 @@ -160584,8 +159765,8 @@ call 97 pith_cstring_release void 1 96 load 98 empty_init_call call 99 pith_cstring_release void 1 98 ret 91 -label L1917 -label L1915 +label L1849 +label L1847 load 100 payload_kind load 101 val_idx call 102 ir_emitter_core_ir_infer_type string 1 101 @@ -160594,81 +159775,81 @@ call 104 pith_cstring_release void 1 102 call 105 pith_cstring_release void 1 100 store payload_kind 103 iconst 106 0 -store __or_106_1925 106 +store __or_106_1857 106 iconst 107 0 -store __or_107_1925 107 +store __or_107_1857 107 iconst 108 0 -store __or_108_1925 108 +store __or_108_1857 108 iconst 109 0 -store __or_109_1925 109 +store __or_109_1857 109 iconst 110 0 -store __or_110_1925 110 +store __or_110_1857 110 load 111 payload_kind strref 112 m51s15 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_110_1925 113 -brif 113 L1926 L1925 -label L1925 +store __or_110_1857 113 +brif 113 L1858 L1857 +label L1857 load 115 payload_kind strref 116 m51s20 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __or_110_1925 117 -label L1926 -load 119 __or_110_1925 -store __or_109_1925 119 -brif 119 L1928 L1927 -label L1927 +store __or_110_1857 117 +label L1858 +load 119 __or_110_1857 +store __or_109_1857 119 +brif 119 L1860 L1859 +label L1859 load 120 payload_kind strref 121 m51s19 call 122 pith_cstring_eq bool 2 120 121 call 123 pith_cstring_release void 1 121 -store __or_109_1925 122 -label L1928 -load 124 __or_109_1925 -store __or_108_1925 124 -brif 124 L1930 L1929 -label L1929 +store __or_109_1857 122 +label L1860 +load 124 __or_109_1857 +store __or_108_1857 124 +brif 124 L1862 L1861 +label L1861 load 125 payload_kind strref 126 m51s18 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -store __or_108_1925 127 -label L1930 -load 129 __or_108_1925 -store __or_107_1925 129 -brif 129 L1932 L1931 -label L1931 +store __or_108_1857 127 +label L1862 +load 129 __or_108_1857 +store __or_107_1857 129 +brif 129 L1864 L1863 +label L1863 load 130 payload_kind -strref 131 m51s715 +strref 131 m51s716 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -store __or_107_1925 132 -label L1932 -load 134 __or_107_1925 -store __or_106_1925 134 -brif 134 L1934 L1933 -label L1933 +store __or_107_1857 132 +label L1864 +load 134 __or_107_1857 +store __or_106_1857 134 +brif 134 L1866 L1865 +label L1865 load 135 payload_kind strref 136 m51s872 call 137 pith_cstring_eq bool 2 135 136 call 138 pith_cstring_release void 1 136 -store __or_106_1925 137 -label L1934 -load 139 __or_106_1925 -brif 139 L1923 L1924 -label L1923 +store __or_106_1857 137 +label L1866 +load 139 __or_106_1857 +brif 139 L1855 L1856 +label L1855 load 140 val_idx call 141 ir_emitter_core_ir_string_expr_is_borrowed bool 1 140 -brif 141 L1936 L1937 -label L1936 +brif 141 L1868 L1869 +label L1868 load 142 value_r load 143 payload_kind call 144 ir_ownership_ir_rc_retain_reg void 2 142 143 -jmp L1935 -label L1937 -label L1935 +jmp L1867 +label L1869 +label L1867 load 145 value_r load 146 payload_kind call 147 ir_optionals_ir_emit_optional_owned_some int 2 145 146 @@ -160681,8 +159862,8 @@ call 153 pith_cstring_release void 1 152 load 154 empty_init_call call 155 pith_cstring_release void 1 154 ret 147 -label L1924 -label L1922 +label L1856 +label L1854 load 156 value_r call 157 ir_optionals_ir_emit_optional_some_value int 1 156 load 158 vn @@ -160694,36 +159875,36 @@ call 163 pith_cstring_release void 1 162 load 164 empty_init_call call 165 pith_cstring_release void 1 164 ret 157 -label L1898 -label L1896 +label L1830 +label L1828 iconst 166 0 -store __and_166_1941 166 +store __and_166_1873 166 load 167 vn field 168 167 0 string kind strref 169 m51s20 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 -store __and_166_1941 170 -brif 170 L1941 L1942 -label L1941 +store __and_166_1873 170 +brif 170 L1873 L1874 +label L1873 load 172 vn field 173 172 16 list children call 174 pith_list_len int 1 173 iconst 175 0 eq 176 174 175 -store __and_166_1941 176 -label L1942 -load 177 __and_166_1941 -brif 177 L1939 L1940 -label L1939 +store __and_166_1873 176 +label L1874 +load 177 __and_166_1873 +brif 177 L1871 L1872 +label L1871 load 178 val_idx call 179 ir_type_helpers_ir_checked_type string 1 178 strref 180 m51s20 call 181 pith_cstring_starts_with bool 2 179 180 call 182 pith_cstring_release void 1 180 call 183 pith_cstring_release void 1 179 -brif 181 L1944 L1945 -label L1944 +brif 181 L1876 L1877 +label L1876 load 184 val_idx call 185 ir_emitter_core_ir_expr int 1 184 load 186 vn @@ -160735,11 +159916,11 @@ call 191 pith_cstring_release void 1 190 load 192 empty_init_call call 193 pith_cstring_release void 1 192 ret 185 -label L1945 -label L1943 -jmp L1938 -label L1940 -label L1938 +label L1877 +label L1875 +jmp L1870 +label L1872 +label L1870 load 194 empty_init_call load 195 vn field 196 195 0 string kind @@ -160754,8 +159935,8 @@ load 203 empty_init_call call 204 string_len int 1 203 iconst 205 0 gt 206 204 205 -brif 206 L1947 L1948 -label L1947 +brif 206 L1879 L1880 +label L1879 call 207 ir_builder_ir_reg int 0 store r 207 load 208 r @@ -160774,8 +159955,8 @@ call 220 pith_cstring_release void 1 219 load 221 empty_init_call call 222 pith_cstring_release void 1 221 ret 214 -label L1948 -label L1946 +label L1880 +label L1878 load 223 val_idx call 224 ir_emitter_core_ir_expr int 1 223 load 225 vn @@ -160812,25 +159993,25 @@ load 7 checked call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L1950 L1951 -label L1950 +brif 10 L1882 L1883 +label L1882 load 11 checked ret 11 -label L1951 -label L1949 +label L1883 +label L1881 load 12 fallback_name call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L1953 L1954 -label L1953 +brif 15 L1885 L1886 +label L1885 load 16 fallback_name call 17 ir_emitter_core_ir_lookup_name_type string 1 16 load 18 checked call 19 pith_cstring_release void 1 18 ret 17 -label L1954 -label L1952 +label L1886 +label L1884 strref 20 m51s83 load 21 checked call 22 pith_cstring_release void 1 21 @@ -160867,8 +160048,8 @@ field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 0 eq 15 13 14 -brif 15 L1956 L1957 -label L1956 +brif 15 L1888 L1889 +label L1888 strref 16 m51s83 load 17 recv0 call 18 pith_struct_release void 1 17 @@ -160891,8 +160072,8 @@ call 34 pith_cstring_release void 1 33 load 35 field_key call 36 pith_cstring_release void 1 35 ret 16 -label L1957 -label L1955 +label L1889 +label L1887 load 37 recv0 load 38 node field 39 38 16 list children @@ -160902,24 +160083,24 @@ call 42 ast_get_node struct:Node 1 41 call 43 pith_struct_release void 1 37 store recv0 42 iconst 44 0 -store __and_44_1961 44 +store __and_44_1893 44 load 45 recv0 field 46 45 0 string kind strref 47 m51s527 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __and_44_1961 48 -brif 48 L1961 L1962 -label L1961 +store __and_44_1893 48 +brif 48 L1893 L1894 +label L1893 load 50 ir_emitter_core_ir_current_impl_type call 51 string_len int 1 50 iconst 52 0 gt 53 51 52 -store __and_44_1961 53 -label L1962 -load 54 __and_44_1961 -brif 54 L1959 L1960 -label L1959 +store __and_44_1893 53 +label L1894 +load 54 __and_44_1893 +brif 54 L1891 L1892 +label L1891 load 55 ir_emitter_core_ir_current_impl_type call 56 pith_cstring_retain void 1 55 load 57 recv0 @@ -160943,8 +160124,8 @@ call 74 pith_cstring_release void 1 73 load 75 field_key call 76 pith_cstring_release void 1 75 ret 55 -label L1960 -label L1958 +label L1892 +label L1890 load 77 node field 78 77 16 list children iconst 79 0 @@ -160954,33 +160135,33 @@ store recv_tid 81 load 82 recv_tid iconst 83 0 gte 84 82 83 -brif 84 L1964 L1965 -label L1964 +brif 84 L1896 L1897 +label L1896 load 85 recv_info load 86 recv_tid call 87 types_get_type_info struct:TypeInfo 1 86 call 88 pith_struct_release void 1 85 store recv_info 87 iconst 89 0 -store __and_89_1969 89 +store __and_89_1901 89 load 90 recv_info field 91 90 0 string kind strref 92 m51s16 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -store __and_89_1969 93 -brif 93 L1969 L1970 -label L1969 +store __and_89_1901 93 +brif 93 L1901 L1902 +label L1901 load 95 recv_info field 96 95 64 int inner iconst 97 0 gte 98 96 97 -store __and_89_1969 98 -label L1970 -load 99 __and_89_1969 -brif 99 L1967 L1968 -label L1967 -strref 100 m51s707 +store __and_89_1901 98 +label L1902 +load 99 __and_89_1901 +brif 99 L1899 L1900 +label L1899 +strref 100 m51s708 load 101 recv_info field 102 101 64 int inner call 103 ir_type_helpers_ir_type_from_tid string 1 102 @@ -161008,28 +160189,28 @@ call 124 pith_cstring_release void 1 123 load 125 field_key call 126 pith_cstring_release void 1 125 ret 104 -label L1968 -label L1966 +label L1900 +label L1898 iconst 127 0 -store __and_127_1974 127 +store __and_127_1906 127 load 128 recv_info field 129 128 0 string kind strref 130 m51s17 call 131 pith_cstring_eq bool 2 129 130 call 132 pith_cstring_release void 1 130 -store __and_127_1974 131 -brif 131 L1974 L1975 -label L1974 +store __and_127_1906 131 +brif 131 L1906 L1907 +label L1906 load 133 recv_info field 134 133 64 int inner iconst 135 0 gte 136 134 135 -store __and_127_1974 136 -label L1975 -load 137 __and_127_1974 -brif 137 L1972 L1973 -label L1972 -strref 138 m51s706 +store __and_127_1906 136 +label L1907 +load 137 __and_127_1906 +brif 137 L1904 L1905 +label L1904 +strref 138 m51s707 load 139 recv_info field 140 139 64 int inner call 141 ir_type_helpers_ir_type_from_tid string 1 140 @@ -161057,8 +160238,8 @@ call 162 pith_cstring_release void 1 161 load 163 field_key call 164 pith_cstring_release void 1 163 ret 142 -label L1973 -label L1971 +label L1905 +label L1903 load 165 known load 166 recv_tid call 167 ir_type_helpers_ir_type_from_tid string 1 166 @@ -161068,8 +160249,8 @@ load 169 known call 170 string_len int 1 169 iconst 171 0 gt 172 170 171 -brif 172 L1977 L1978 -label L1977 +brif 172 L1909 L1910 +label L1909 load 173 known call 174 ir_emitter_core_ir_substitute_type_name string 1 173 load 175 recv0 @@ -161093,11 +160274,11 @@ call 192 pith_cstring_release void 1 191 load 193 field_key call 194 pith_cstring_release void 1 193 ret 174 -label L1978 -label L1976 -jmp L1963 -label L1965 -label L1963 +label L1910 +label L1908 +jmp L1895 +label L1897 +label L1895 load 195 checked load 196 node field 197 196 16 list children @@ -161110,8 +160291,8 @@ load 202 checked call 203 string_len int 1 202 iconst 204 0 gt 205 203 204 -brif 205 L1980 L1981 -label L1980 +brif 205 L1912 L1913 +label L1912 load 206 checked call 207 ir_emitter_core_ir_substitute_type_name string 1 206 load 208 recv0 @@ -161135,8 +160316,8 @@ call 225 pith_cstring_release void 1 224 load 226 field_key call 227 pith_cstring_release void 1 226 ret 207 -label L1981 -label L1979 +label L1913 +label L1911 load 228 inferred load 229 node field 230 229 16 list children @@ -161149,8 +160330,8 @@ load 235 inferred call 236 string_len int 1 235 iconst 237 0 gt 238 236 237 -brif 238 L1983 L1984 -label L1983 +brif 238 L1915 L1916 +label L1915 load 239 inferred call 240 ir_emitter_core_ir_substitute_type_name string 1 239 load 241 recv0 @@ -161174,8 +160355,8 @@ call 258 pith_cstring_release void 1 257 load 259 field_key call 260 pith_cstring_release void 1 259 ret 240 -label L1984 -label L1982 +label L1916 +label L1914 load 261 recv_node load 262 node field 263 262 16 list children @@ -161185,37 +160366,37 @@ call 266 ast_get_node struct:Node 1 265 call 267 pith_struct_release void 1 261 store recv_node 266 iconst 268 0 -store __and_268_1988 268 +store __and_268_1920 268 iconst 269 0 -store __and_269_1988 269 +store __and_269_1920 269 load 270 recv_node field 271 270 0 string kind strref 272 m51s36 call 273 pith_cstring_eq bool 2 271 272 call 274 pith_cstring_release void 1 272 -store __and_269_1988 273 -brif 273 L1988 L1989 -label L1988 +store __and_269_1920 273 +brif 273 L1920 L1921 +label L1920 load 275 recv_node field 276 275 16 list children call 277 pith_list_len int 1 276 iconst 278 0 gt 279 277 278 -store __and_269_1988 279 -label L1989 -load 280 __and_269_1988 -store __and_268_1988 280 -brif 280 L1990 L1991 -label L1990 +store __and_269_1920 279 +label L1921 +load 280 __and_269_1920 +store __and_268_1920 280 +brif 280 L1922 L1923 +label L1922 load 281 ir_emitter_core_ir_current_impl_type call 282 string_len int 1 281 iconst 283 0 gt 284 282 283 -store __and_268_1988 284 -label L1991 -load 285 __and_268_1988 -brif 285 L1986 L1987 -label L1986 +store __and_268_1920 284 +label L1923 +load 285 __and_268_1920 +brif 285 L1918 L1919 +label L1918 load 286 inner load 287 recv_node field 288 287 16 list children @@ -161229,8 +160410,8 @@ field 294 293 0 string kind strref 295 m51s527 call 296 pith_cstring_eq bool 2 294 295 call 297 pith_cstring_release void 1 295 -brif 296 L1993 L1994 -label L1993 +brif 296 L1925 L1926 +label L1925 load 298 fname load 299 node field 300 299 16 list children @@ -161257,8 +160438,8 @@ store field_key 315 load 318 ir_struct_registry_ir_struct_field_lookup load 319 field_key call 320 contains_key bool 2 318 319 -brif 320 L1996 L1997 -label L1996 +brif 320 L1928 L1929 +label L1928 load 321 ir_struct_registry_ir_struct_field_lookup load 322 field_key call 323 map_get_strict string 2 321 322 @@ -161284,14 +160465,14 @@ call 342 pith_cstring_release void 1 341 load 343 field_key call 344 pith_cstring_release void 1 343 ret 324 -label L1997 -label L1995 -jmp L1992 -label L1994 -label L1992 -jmp L1985 -label L1987 -label L1985 +label L1929 +label L1927 +jmp L1924 +label L1926 +label L1924 +jmp L1917 +label L1919 +label L1917 strref 345 m51s83 load 346 recv0 call 347 pith_struct_release void 1 346 @@ -161353,8 +160534,8 @@ field 8 7 0 string kind strref 9 m51s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L1999 L2000 -label L1999 +brif 10 L1931 L1932 +label L1931 load 12 node field 13 12 8 string value call 14 ir_emitter_core_ir_name_is_weak_read bool 1 13 @@ -161363,8 +160544,8 @@ call 16 pith_struct_release void 1 15 load 17 recv_info call 18 pith_struct_release void 1 17 ret 14 -label L2000 -label L1998 +label L1932 +label L1930 load 19 node field 20 19 0 string kind strref 21 m51s36 @@ -161372,31 +160553,31 @@ call 23 pith_cstring_eq bool 2 20 21 iconst 24 1 sub 22 24 23 call 25 pith_cstring_release void 1 21 -brif 22 L2002 L2003 -label L2002 +brif 22 L1934 L1935 +label L1934 iconst 26 0 load 27 node call 28 pith_struct_release void 1 27 load 29 recv_info call 30 pith_struct_release void 1 29 ret 26 -label L2003 -label L2001 +label L1935 +label L1933 load 31 node field 32 31 16 list children call 33 pith_list_len int 1 32 iconst 34 0 eq 35 33 34 -brif 35 L2005 L2006 -label L2005 +brif 35 L1937 L1938 +label L1937 iconst 36 0 load 37 node call 38 pith_struct_release void 1 37 load 39 recv_info call 40 pith_struct_release void 1 39 ret 36 -label L2006 -label L2004 +label L1938 +label L1936 load 41 node field 42 41 16 list children iconst 43 0 @@ -161406,16 +160587,16 @@ store recv_tid 45 load 46 recv_tid iconst 47 0 lt 48 46 47 -brif 48 L2008 L2009 -label L2008 +brif 48 L1940 L1941 +label L1940 iconst 49 0 load 50 node call 51 pith_struct_release void 1 50 load 52 recv_info call 53 pith_struct_release void 1 52 ret 49 -label L2009 -label L2007 +label L1941 +label L1939 load 54 recv_info load 55 recv_tid call 56 types_get_type_info struct:TypeInfo 1 55 @@ -161428,16 +160609,16 @@ call 62 pith_cstring_eq bool 2 59 60 iconst 63 1 sub 61 63 62 call 64 pith_cstring_release void 1 60 -brif 61 L2011 L2012 -label L2011 +brif 61 L1943 L1944 +label L1943 iconst 65 0 load 66 node call 67 pith_struct_release void 1 66 load 68 recv_info call 69 pith_struct_release void 1 68 ret 65 -label L2012 -label L2010 +label L1944 +label L1942 load 70 recv_info field 71 70 8 string name load 72 idx @@ -161461,8 +160642,8 @@ param operand_idx param shell_r load 2 operand_idx call 3 ir_emitter_core_ir_node_is_weak_field_read bool 1 2 -brif 3 L2014 L2015 -label L2014 +brif 3 L1946 L1947 +label L1946 call 4 ir_builder_ir_reg int 0 strref 5 m51s946 strref 6 m51s876 @@ -161470,9 +160651,9 @@ load 7 shell_r call 8 ir_call_emit_ir_emit_call1 void 4 4 5 6 7 call 9 pith_cstring_release void 1 5 call 10 pith_cstring_release void 1 6 -jmp L2013 -label L2015 -label L2013 +jmp L1945 +label L1947 +label L1945 iconst 11 0 ret 11 endfunc @@ -161548,8 +160729,8 @@ load 56 opt_tid call 57 ir_optionals_ir_optional_value_field int 2 55 56 store decoded_r 57 load 58 weak_shell -brif 58 L2017 L2018 -label L2017 +brif 58 L1949 L1950 +label L1949 call 59 ir_builder_ir_reg int 0 strref 60 m51s946 strref 61 m51s876 @@ -161557,9 +160738,9 @@ load 62 recv_r call 63 ir_call_emit_ir_emit_call1 void 4 59 60 61 62 call 64 pith_cstring_release void 1 60 call 65 pith_cstring_release void 1 61 -jmp L2016 -label L2018 -label L2016 +jmp L1948 +label L1950 +label L1948 strref 66 m51s881 load 67 merge_l concat 68 66 67 @@ -161569,8 +160750,8 @@ call 71 pith_cstring_release void 1 68 load 72 none_l call 73 ir_call_emit_ir_emit_label void 1 72 load 74 weak_shell -brif 74 L2020 L2021 -label L2020 +brif 74 L1952 L1953 +label L1952 call 75 ir_builder_ir_reg int 0 strref 76 m51s946 strref 77 m51s876 @@ -161578,24 +160759,24 @@ load 78 recv_r call 79 ir_call_emit_ir_emit_call1 void 4 75 76 77 78 call 80 pith_cstring_release void 1 76 call 81 pith_cstring_release void 1 77 -jmp L2019 -label L2021 -label L2019 +jmp L1951 +label L1953 +label L1951 iconst 82 0 -store __and_82_2025 82 +store __and_82_1957 82 load 83 ir_emitter_core_ir_emit_tests -store __and_82_2025 83 -brif 83 L2025 L2026 -label L2025 +store __and_82_1957 83 +brif 83 L1957 L1958 +label L1957 load 84 ir_emitter_core_ir_emitting_test_func -store __and_82_2025 84 -label L2026 -load 85 __and_82_2025 -brif 85 L2023 L2024 -label L2023 +store __and_82_1957 84 +label L1958 +load 85 __and_82_1957 +brif 85 L1955 L1956 +label L1955 call 86 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L2022 -label L2024 +jmp L1954 +label L1956 iconst 87 1 call 88 ir_emitter_core_ir_defer_emit_to_function_frame void 1 87 strref 89 m51s83 @@ -161629,7 +160810,7 @@ iconst 114 1 call 115 ir_emitter_core_ir_emit_main_error_report void 2 113 114 load 116 err_r call 117 ir_emitter_core_ir_emit_ret_err_value void 1 116 -label L2022 +label L1954 load 118 merge_l call 119 ir_call_emit_ir_emit_label void 1 118 load 120 decoded_r @@ -161669,34 +160850,34 @@ load 7 node field 8 7 16 list children call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_378 10 -store __for_len_378 9 -store __for_iter_378 8 -label L2027 -load 11 __for_idx_378 -load 12 __for_len_378 +store __for_idx_377 10 +store __for_len_377 9 +store __for_iter_377 8 +label L1959 +load 11 __for_idx_377 +load 12 __for_len_377 lt 13 11 12 -brif 13 L2028 L2030 -label L2028 -load 14 __for_iter_378 -load 15 __for_idx_378 +brif 13 L1960 L1962 +label L1960 +load 14 __for_iter_377 +load 15 __for_idx_377 call 16 pith_list_get_value unknown 2 14 15 -store __loopvar_378_child 16 -load 17 __for_idx_378 -store __loopvar_378_i 17 -load 18 __loopvar_378_i +store __loopvar_377_child 16 +load 17 __for_idx_377 +store __loopvar_377_i 17 +load 18 __loopvar_377_i iconst 19 0 eq 20 18 19 -brif 20 L2032 L2033 -label L2032 +brif 20 L1964 L1965 +label L1964 load 21 regs -load 22 __loopvar_378_child +load 22 __loopvar_377_child call 23 ir_emitter_core_ir_expr int 1 22 call 24 pith_list_push_value void 2 21 23 -jmp L2031 -label L2033 +jmp L1963 +label L1965 load 25 child_kind -load 26 __loopvar_378_child +load 26 __loopvar_377_child call 27 ast_node_kind string 1 26 call 28 pith_cstring_release void 1 25 store child_kind 27 @@ -161704,10 +160885,10 @@ load 29 child_kind strref 30 m51s42 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L2035 L2036 -label L2035 +brif 31 L1967 L1968 +label L1967 load 33 cn -load 34 __loopvar_378_child +load 34 __loopvar_377_child call 35 ast_get_node struct:Node 1 34 call 36 pith_struct_release void 1 33 store cn 35 @@ -161716,8 +160897,8 @@ field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L2038 L2039 -label L2038 +brif 41 L1970 L1971 +label L1970 load 42 regs load 43 cn field 44 43 16 list children @@ -161725,24 +160906,24 @@ iconst 45 0 call 46 pith_list_get_value_strict int 2 44 45 call 47 ir_emitter_core_ir_emit_call_arg int 1 46 call 48 pith_list_push_value void 2 42 47 -jmp L2037 -label L2039 -label L2037 -jmp L2034 -label L2036 +jmp L1969 +label L1971 +label L1969 +jmp L1966 +label L1968 load 49 regs -load 50 __loopvar_378_child +load 50 __loopvar_377_child call 51 ir_emitter_core_ir_emit_call_arg int 1 50 call 52 pith_list_push_value void 2 49 51 -label L2034 -label L2031 -label L2029 -load 53 __for_idx_378 +label L1966 +label L1963 +label L1961 +load 53 __for_idx_377 iconst 54 1 add 55 53 54 -store __for_idx_378 55 -jmp L2027 -label L2030 +store __for_idx_377 55 +jmp L1959 +label L1962 load 56 regs load 57 child_kind call 58 pith_cstring_release void 1 57 @@ -161771,90 +160952,90 @@ call 6 pith_cstring_char_at_strict string 2 4 5 call 7 pith_cstring_release void 1 3 store c0 6 iconst 8 0 -store __or_8_2043 8 +store __or_8_1975 8 iconst 9 0 -store __or_9_2043 9 +store __or_9_1975 9 load 10 c0 strref 11 m51s1350 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_2043 12 -brif 12 L2044 L2043 -label L2043 +store __or_9_1975 12 +brif 12 L1976 L1975 +label L1975 load 14 c0 strref 15 m51s1349 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_2043 16 -label L2044 -load 18 __or_9_2043 -store __or_8_2043 18 -brif 18 L2046 L2045 -label L2045 +store __or_9_1975 16 +label L1976 +load 18 __or_9_1975 +store __or_8_1975 18 +brif 18 L1978 L1977 +label L1977 load 19 c0 strref 20 m51s1348 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_2043 21 -label L2046 -load 23 __or_8_2043 -brif 23 L2041 L2042 -label L2041 +store __or_8_1975 21 +label L1978 +load 23 __or_8_1975 +brif 23 L1973 L1974 +label L1973 iconst 24 1 store i 24 -jmp L2040 -label L2042 -label L2040 +jmp L1972 +label L1974 +label L1972 iconst 25 0 -store __and_25_2050 25 +store __and_25_1982 25 load 26 i load 27 spec call 28 string_len int 1 27 lt 29 26 28 -store __and_25_2050 29 -brif 29 L2050 L2051 -label L2050 +store __and_25_1982 29 +brif 29 L1982 L1983 +label L1982 load 30 spec load 31 i call 32 pith_cstring_byte_at int 2 30 31 iconst 33 48 eq 34 32 33 -store __and_25_2050 34 -label L2051 -load 35 __and_25_2050 -brif 35 L2048 L2049 -label L2048 +store __and_25_1982 34 +label L1983 +load 35 __and_25_1982 +brif 35 L1980 L1981 +label L1980 load 36 i iconst 37 1 add 38 36 37 store i 38 -jmp L2047 -label L2049 -label L2047 +jmp L1979 +label L1981 +label L1979 iconst 39 0 store w 39 iconst 40 0 store saw 40 -label L2052 +label L1984 iconst 41 0 -store __and_41_2055 41 +store __and_41_1987 41 load 42 i load 43 spec call 44 string_len int 1 43 lt 45 42 44 -store __and_41_2055 45 -brif 45 L2055 L2056 -label L2055 +store __and_41_1987 45 +brif 45 L1987 L1988 +label L1987 load 46 spec load 47 i call 48 pith_cstring_byte_at int 2 46 47 iconst 49 46 neq 50 48 49 -store __and_41_2055 50 -label L2056 -load 51 __and_41_2055 -brif 51 L2053 L2054 -label L2053 +store __and_41_1987 50 +label L1988 +load 51 __and_41_1987 +brif 51 L1985 L1986 +label L1985 load 52 w iconst 53 10 mul 54 52 53 @@ -161871,21 +161052,21 @@ load 62 i iconst 63 1 add 64 62 63 store i 64 -jmp L2052 -label L2054 +jmp L1984 +label L1986 load 65 saw iconst 67 1 sub 66 67 65 -brif 66 L2058 L2059 -label L2058 +brif 66 L1990 L1991 +label L1990 iconst 68 0 iconst 69 1 sub 70 68 69 load 71 c0 call 72 pith_cstring_release void 1 71 ret 70 -label L2059 -label L2057 +label L1991 +label L1989 load 73 w load 74 c0 call 75 pith_cstring_release void 1 74 @@ -161905,27 +161086,27 @@ store dot 3 load 5 dot iconst 6 0 lt 7 5 6 -brif 7 L2061 L2062 -label L2061 +brif 7 L1993 L1994 +label L1993 iconst 8 0 iconst 9 1 sub 10 8 9 ret 10 -label L2062 -label L2060 +label L1994 +label L1992 iconst 11 0 store p 11 load 12 dot iconst 13 1 add 14 12 13 store i 14 -label L2063 +label L1995 load 15 i load 16 spec call 17 string_len int 1 16 lt 18 15 17 -brif 18 L2064 L2065 -label L2064 +brif 18 L1996 L1997 +label L1996 load 19 p iconst 20 10 mul 21 19 20 @@ -161940,8 +161121,8 @@ load 28 i iconst 29 1 add 30 28 29 store i 30 -jmp L2063 -label L2065 +jmp L1995 +label L1997 load 31 p ret 31 iconst 32 0 @@ -161961,26 +161142,26 @@ load 7 c0 strref 8 m51s1350 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L2067 L2068 -label L2067 +brif 9 L1999 L2000 +label L1999 load 11 ir_emitter_core_ALIGN_LEFT_BYTE load 12 c0 call 13 pith_cstring_release void 1 12 ret 11 -label L2068 -label L2066 +label L2000 +label L1998 load 14 c0 strref 15 m51s1348 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L2070 L2071 -label L2070 +brif 16 L2002 L2003 +label L2002 load 18 ir_emitter_core_ALIGN_CENTER_BYTE load 19 c0 call 20 pith_cstring_release void 1 19 ret 18 -label L2071 -label L2069 +label L2003 +label L2001 load 21 ir_emitter_core_ALIGN_RIGHT_BYTE load 22 c0 call 23 pith_cstring_release void 1 22 @@ -162003,65 +161184,65 @@ call 6 pith_cstring_char_at_strict string 2 4 5 call 7 pith_cstring_release void 1 3 store c0 6 iconst 8 0 -store __or_8_2075 8 +store __or_8_2007 8 iconst 9 0 -store __or_9_2075 9 +store __or_9_2007 9 load 10 c0 strref 11 m51s1350 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_2075 12 -brif 12 L2076 L2075 -label L2075 +store __or_9_2007 12 +brif 12 L2008 L2007 +label L2007 load 14 c0 strref 15 m51s1349 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_2075 16 -label L2076 -load 18 __or_9_2075 -store __or_8_2075 18 -brif 18 L2078 L2077 -label L2077 +store __or_9_2007 16 +label L2008 +load 18 __or_9_2007 +store __or_8_2007 18 +brif 18 L2010 L2009 +label L2009 load 19 c0 strref 20 m51s1348 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_2075 21 -label L2078 -load 23 __or_8_2075 -brif 23 L2073 L2074 -label L2073 +store __or_8_2007 21 +label L2010 +load 23 __or_8_2007 +brif 23 L2005 L2006 +label L2005 iconst 24 1 store i 24 -jmp L2072 -label L2074 -label L2072 +jmp L2004 +label L2006 +label L2004 iconst 25 0 -store __and_25_2082 25 +store __and_25_2014 25 load 26 i load 27 spec call 28 string_len int 1 27 lt 29 26 28 -store __and_25_2082 29 -brif 29 L2082 L2083 -label L2082 +store __and_25_2014 29 +brif 29 L2014 L2015 +label L2014 load 30 spec load 31 i call 32 pith_cstring_byte_at int 2 30 31 iconst 33 48 eq 34 32 33 -store __and_25_2082 34 -label L2083 -load 35 __and_25_2082 -brif 35 L2080 L2081 -label L2080 +store __and_25_2014 34 +label L2015 +load 35 __and_25_2014 +brif 35 L2012 L2013 +label L2012 load 36 ir_emitter_core_FILL_ZERO_BYTE load 37 c0 call 38 pith_cstring_release void 1 37 ret 36 -label L2081 -label L2079 +label L2013 +label L2011 load 39 ir_emitter_core_FILL_SPACE_BYTE load 40 c0 call 41 pith_cstring_release void 1 40 @@ -162101,22 +161282,22 @@ iconst 19 1 sub 20 18 19 store str_r 20 iconst 21 0 -store __and_21_2087 21 +store __and_21_2019 21 load 22 prec iconst 23 0 gte 24 22 23 -store __and_21_2087 24 -brif 24 L2087 L2088 -label L2087 +store __and_21_2019 24 +brif 24 L2019 L2020 +label L2019 load 25 part_type -strref 26 m51s713 +strref 26 m51s714 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_21_2087 27 -label L2088 -load 29 __and_21_2087 -brif 29 L2085 L2086 -label L2085 +store __and_21_2019 27 +label L2020 +load 29 __and_21_2019 +brif 29 L2017 L2018 +label L2017 load 30 expr_idx call 31 ir_emitter_core_ir_expr int 1 30 store raw_r 31 @@ -162143,34 +161324,34 @@ call 50 ir_builder_ir_reg int 0 store str_r 50 load 51 str_r strref 52 m51s1347 -strref 53 m51s716 +strref 53 m51s717 load 54 raw_r load 55 prec_r call 56 ir_call_emit_ir_emit_call2 void 5 51 52 53 54 55 call 57 pith_cstring_release void 1 52 call 58 pith_cstring_release void 1 53 -jmp L2084 -label L2086 +jmp L2016 +label L2018 load 59 expr_idx call 60 ir_emitter_core_ir_string_interp_expr_part int 1 59 store str_r 60 -label L2084 +label L2016 load 61 spec call 62 ir_emitter_core_ir_interp_spec_width int 1 61 store width 62 load 63 width iconst 64 0 lte 65 63 64 -brif 65 L2090 L2091 -label L2090 +brif 65 L2022 L2023 +label L2022 load 66 str_r load 67 spec call 68 pith_cstring_release void 1 67 load 69 part_type call 70 pith_cstring_release void 1 69 ret 66 -label L2091 -label L2089 +label L2023 +label L2021 call 71 ir_builder_ir_reg int 0 store w_r 71 strref 72 m51s880 @@ -162277,21 +161458,21 @@ call 169 pith_cstring_release void 1 166 call 170 ir_builder_ir_emit void 1 167 call 171 pith_cstring_release void 1 167 iconst 172 0 -store __or_172_2095 172 +store __or_172_2027 172 load 173 node field 174 173 16 list children iconst 175 0 call 176 pith_list_get_value_strict int 2 174 175 call 177 ir_emitter_core_ir_infer_type string 1 176 -strref 178 m51s716 +strref 178 m51s717 call 180 pith_cstring_eq bool 2 177 178 iconst 181 1 sub 179 181 180 call 182 pith_cstring_release void 1 177 call 183 pith_cstring_release void 1 178 -store __or_172_2095 179 -brif 179 L2096 L2095 -label L2095 +store __or_172_2027 179 +brif 179 L2028 L2027 +label L2027 load 184 node field 185 184 16 list children iconst 186 0 @@ -162299,16 +161480,16 @@ call 187 pith_list_get_value_strict int 2 185 186 call 188 ir_emitter_core_ir_string_expr_is_borrowed bool 1 187 iconst 190 1 sub 189 190 188 -store __or_172_2095 189 -label L2096 -load 191 __or_172_2095 -brif 191 L2093 L2094 -label L2093 +store __or_172_2027 189 +label L2028 +load 191 __or_172_2027 +brif 191 L2025 L2026 +label L2025 load 192 str_r call 193 ir_ownership_ir_string_release_reg void 1 192 -jmp L2092 -label L2094 -label L2092 +jmp L2024 +label L2026 +label L2024 load 194 padded_r load 195 spec call 196 pith_cstring_release void 1 195 @@ -162340,30 +161521,30 @@ call 9 ir_emitter_core_ir_infer_type string 1 8 call 10 pith_cstring_release void 1 7 store part_type 9 load 11 part_type -strref 12 m51s716 +strref 12 m51s717 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2098 L2099 -label L2098 +brif 13 L2030 L2031 +label L2030 load 15 part_r load 16 part_type call 17 pith_cstring_release void 1 16 load 18 part_info call 19 pith_struct_release void 1 18 ret 15 -label L2099 -label L2097 +label L2031 +label L2029 load 20 part_type -strref 21 m51s714 +strref 21 m51s715 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L2101 L2102 -label L2101 +brif 22 L2033 L2034 +label L2033 call 24 ir_builder_ir_reg int 0 store converted 24 load 25 converted -strref 26 m51s704 -strref 27 m51s716 +strref 26 m51s705 +strref 27 m51s717 load 28 part_r call 29 ir_call_emit_ir_emit_call1 void 4 25 26 27 28 call 30 pith_cstring_release void 1 26 @@ -162374,19 +161555,19 @@ call 34 pith_cstring_release void 1 33 load 35 part_info call 36 pith_struct_release void 1 35 ret 32 -label L2102 -label L2100 +label L2034 +label L2032 load 37 part_type -strref 38 m51s713 +strref 38 m51s714 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L2104 L2105 -label L2104 +brif 39 L2036 L2037 +label L2036 call 41 ir_builder_ir_reg int 0 store converted 41 load 42 converted -strref 43 m51s705 -strref 44 m51s716 +strref 43 m51s706 +strref 44 m51s717 load 45 part_r call 46 ir_call_emit_ir_emit_call1 void 4 42 43 44 45 call 47 pith_cstring_release void 1 43 @@ -162397,19 +161578,19 @@ call 51 pith_cstring_release void 1 50 load 52 part_info call 53 pith_struct_release void 1 52 ret 49 -label L2105 -label L2103 +label L2037 +label L2035 load 54 part_type -strref 55 m51s712 +strref 55 m51s713 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L2107 L2108 -label L2107 +brif 56 L2039 L2040 +label L2039 call 58 ir_builder_ir_reg int 0 store converted 58 load 59 converted -strref 60 m51s703 -strref 61 m51s716 +strref 60 m51s704 +strref 61 m51s717 load 62 part_r call 63 ir_call_emit_ir_emit_call1 void 4 59 60 61 62 call 64 pith_cstring_release void 1 60 @@ -162420,13 +161601,13 @@ call 68 pith_cstring_release void 1 67 load 69 part_info call 70 pith_struct_release void 1 69 ret 66 -label L2108 -label L2106 +label L2040 +label L2038 load 71 part_tid iconst 72 0 gte 73 71 72 -brif 73 L2110 L2111 -label L2110 +brif 73 L2042 L2043 +label L2042 load 74 part_info load 75 part_tid call 76 types_get_type_info struct:TypeInfo 1 75 @@ -162437,8 +161618,8 @@ field 79 78 0 string kind strref 80 m51s22 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L2113 L2114 -label L2113 +brif 81 L2045 L2046 +label L2045 load 83 part_r load 84 part_tid call 85 ir_emitter_core_ir_emit_result_value_to_string int 2 83 84 @@ -162447,15 +161628,15 @@ call 87 pith_cstring_release void 1 86 load 88 part_info call 89 pith_struct_release void 1 88 ret 85 -label L2114 -label L2112 +label L2046 +label L2044 load 90 part_info field 91 90 0 string kind strref 92 m51s20 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -brif 93 L2116 L2117 -label L2116 +brif 93 L2048 L2049 +label L2048 load 95 part_r load 96 part_info field 97 96 64 int inner @@ -162468,15 +161649,15 @@ call 103 pith_cstring_release void 1 102 load 104 part_info call 105 pith_struct_release void 1 104 ret 100 -label L2117 -label L2115 +label L2049 +label L2047 load 106 part_info field 107 106 0 string kind strref 108 m51s19 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L2119 L2120 -label L2119 +brif 109 L2051 L2052 +label L2051 load 111 part_r load 112 part_info field 113 112 72 int key_type @@ -162492,19 +161673,19 @@ call 122 pith_cstring_release void 1 121 load 123 part_info call 124 pith_struct_release void 1 123 ret 118 -label L2120 -label L2118 +label L2052 +label L2050 load 125 part_info field 126 125 0 string kind strref 127 m51s18 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L2122 L2123 -label L2122 +brif 128 L2054 L2055 +label L2054 call 130 ir_builder_ir_reg int 0 store converted 130 load 131 converted -strref 132 m51s777 +strref 132 m51s778 strref 133 m51s20 load 134 part_r call 135 ir_call_emit_ir_emit_call1 void 4 131 132 133 134 @@ -162522,35 +161703,35 @@ call 146 pith_cstring_release void 1 145 load 147 part_info call 148 pith_struct_release void 1 147 ret 143 -label L2123 -label L2121 -jmp L2109 -label L2111 -label L2109 +label L2055 +label L2053 +jmp L2041 +label L2043 +label L2041 iconst 149 0 -store __and_149_2127 149 +store __and_149_2059 149 load 150 part_type call 151 string_len int 1 150 iconst 152 0 gt 153 151 152 -store __and_149_2127 153 -brif 153 L2127 L2128 -label L2127 +store __and_149_2059 153 +brif 153 L2059 L2060 +label L2059 load 154 ir_struct_registry_ir_struct_names load 155 part_type call 156 contains_key bool 2 154 155 -store __and_149_2127 156 -label L2128 -load 157 __and_149_2127 -brif 157 L2125 L2126 -label L2125 +store __and_149_2059 156 +label L2060 +load 157 __and_149_2059 +brif 157 L2057 L2058 +label L2057 load 158 ir_struct_registry_ir_boxed_enums load 159 part_type call 160 contains_key bool 2 158 159 iconst 162 1 sub 161 162 160 -brif 161 L2130 L2131 -label L2130 +brif 161 L2062 L2063 +label L2062 load 163 part_r load 164 part_type call 165 ir_emitter_core_ir_emit_display_struct int 2 163 164 @@ -162559,11 +161740,11 @@ call 167 pith_cstring_release void 1 166 load 168 part_info call 169 pith_struct_release void 1 168 ret 165 -label L2131 -label L2129 -jmp L2124 -label L2126 -label L2124 +label L2063 +label L2061 +jmp L2056 +label L2058 +label L2056 load 170 part_r load 171 part_type call 172 pith_cstring_release void 1 171 @@ -162580,35 +161761,35 @@ endfunc func ir_emitter_core_ir_display_kind_code 1 int param kind load 1 kind -strref 2 m51s713 +strref 2 m51s714 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2133 L2134 -label L2133 +brif 3 L2065 L2066 +label L2065 iconst 5 1 ret 5 -label L2134 -label L2132 +label L2066 +label L2064 load 6 kind -strref 7 m51s714 +strref 7 m51s715 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2136 L2137 -label L2136 +brif 8 L2068 L2069 +label L2068 iconst 10 2 ret 10 -label L2137 -label L2135 +label L2069 +label L2067 load 11 kind -strref 12 m51s716 +strref 12 m51s717 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2139 L2140 -label L2139 +brif 13 L2071 L2072 +label L2071 iconst 15 3 ret 15 -label L2140 -label L2138 +label L2072 +label L2070 iconst 16 0 ret 16 iconst 17 0 @@ -162647,15 +161828,15 @@ strref 25 m51s185 call 26 pith_cstring_release void 1 24 store sort_flag 25 load 27 sorted -brif 27 L2142 L2143 -label L2142 +brif 27 L2074 L2075 +label L2074 load 28 sort_flag strref 29 m51s184 call 30 pith_cstring_release void 1 28 store sort_flag 29 -jmp L2141 -label L2143 -label L2141 +jmp L2073 +label L2075 +label L2073 strref 31 m51s880 load 32 sort_r call 33 int_to_string string 1 32 @@ -162675,7 +161856,7 @@ call 46 ir_builder_ir_reg int 0 store r 46 load 47 r strref 48 m51s1345 -strref 49 m51s716 +strref 49 m51s717 load 50 list_r load 51 kind_r load 52 sort_r @@ -162739,7 +161920,7 @@ call 41 ir_builder_ir_reg int 0 store r 41 load 42 r strref 43 m51s1344 -strref 44 m51s716 +strref 44 m51s717 load 45 map_r load 46 kk_r load 47 vk_r @@ -162773,13 +161954,13 @@ load 12 show_name call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L2145 L2146 -label L2145 +brif 15 L2077 L2078 +label L2077 call 16 ir_builder_ir_reg int 0 store r 16 load 17 r load 18 show_name -strref 19 m51s716 +strref 19 m51s717 load 20 obj_r call 21 ir_call_emit_ir_emit_call1 void 4 17 18 19 20 call 22 pith_cstring_release void 1 19 @@ -162793,8 +161974,8 @@ call 29 pith_cstring_release void 1 28 load 30 label call 31 pith_cstring_release void 1 30 ret 23 -label L2146 -label L2144 +label L2078 +label L2076 call 32 ir_builder_ir_reg int 0 store acc_r 32 strref 33 m51s936 @@ -162823,12 +162004,12 @@ call 55 ir_struct_registry_ir_struct_field_count int 1 54 store total 55 iconst 56 0 store fi 56 -label L2147 +label L2079 load 57 fi load 58 total lt 59 57 58 -brif 59 L2148 L2149 -label L2148 +brif 59 L2080 L2081 +label L2080 load 60 field_name load 61 struct_name load 62 fi @@ -162851,8 +162032,8 @@ store label 73 load 76 fi iconst 77 0 gt 78 76 77 -brif 78 L2151 L2152 -label L2151 +brif 78 L2083 L2084 +label L2083 load 79 label strref 80 m51s70 load 81 field_name @@ -162864,9 +162045,9 @@ call 86 pith_cstring_release void 1 82 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 79 store label 85 -jmp L2150 -label L2152 -label L2150 +jmp L2082 +label L2084 +label L2082 call 89 ir_builder_ir_reg int 0 store label_r 89 strref 90 m51s936 @@ -162963,64 +162144,64 @@ call 178 pith_cstring_release void 1 175 load 179 field_r store text_r 179 load 180 field_kind -strref 181 m51s712 +strref 181 m51s713 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L2154 L2155 -label L2154 +brif 182 L2086 L2087 +label L2086 call 184 ir_builder_ir_reg int 0 store text_r 184 load 185 text_r -strref 186 m51s703 -strref 187 m51s716 +strref 186 m51s704 +strref 187 m51s717 load 188 field_r call 189 ir_call_emit_ir_emit_call1 void 4 185 186 187 188 call 190 pith_cstring_release void 1 186 call 191 pith_cstring_release void 1 187 -jmp L2153 -label L2155 +jmp L2085 +label L2087 load 192 field_kind -strref 193 m51s713 +strref 193 m51s714 call 194 pith_cstring_eq bool 2 192 193 call 195 pith_cstring_release void 1 193 -brif 194 L2156 L2157 -label L2156 +brif 194 L2088 L2089 +label L2088 call 196 ir_builder_ir_reg int 0 store text_r 196 load 197 text_r -strref 198 m51s705 -strref 199 m51s716 +strref 198 m51s706 +strref 199 m51s717 load 200 field_r call 201 ir_call_emit_ir_emit_call1 void 4 197 198 199 200 call 202 pith_cstring_release void 1 198 call 203 pith_cstring_release void 1 199 -jmp L2153 -label L2157 +jmp L2085 +label L2089 load 204 field_kind -strref 205 m51s714 +strref 205 m51s715 call 206 pith_cstring_eq bool 2 204 205 call 207 pith_cstring_release void 1 205 -brif 206 L2158 L2159 -label L2158 +brif 206 L2090 L2091 +label L2090 call 208 ir_builder_ir_reg int 0 store text_r 208 load 209 text_r -strref 210 m51s704 -strref 211 m51s716 +strref 210 m51s705 +strref 211 m51s717 load 212 field_r call 213 ir_call_emit_ir_emit_call1 void 4 209 210 211 212 call 214 pith_cstring_release void 1 210 call 215 pith_cstring_release void 1 211 -jmp L2153 -label L2159 +jmp L2085 +label L2091 load 216 field_kind -strref 217 m51s716 +strref 217 m51s717 call 219 pith_cstring_eq bool 2 216 217 iconst 220 1 sub 218 220 219 call 221 pith_cstring_release void 1 217 -brif 218 L2160 L2161 -label L2160 +brif 218 L2092 L2093 +label L2092 call 222 ir_builder_ir_reg int 0 store text_r 222 strref 223 m51s936 @@ -163041,9 +162222,9 @@ call 237 pith_cstring_release void 1 230 call 238 pith_cstring_release void 1 234 call 239 ir_builder_ir_emit void 1 236 call 240 pith_cstring_release void 1 236 -jmp L2153 -label L2161 -label L2153 +jmp L2085 +label L2093 +label L2085 call 241 ir_builder_ir_reg int 0 store next_acc 241 strref 242 m51s1269 @@ -163075,48 +162256,48 @@ call 267 pith_cstring_release void 1 263 load 268 with_label call 269 ir_ownership_ir_string_release_reg void 1 268 iconst 270 0 -store __or_270_2165 270 +store __or_270_2097 270 iconst 271 0 -store __or_271_2165 271 +store __or_271_2097 271 load 272 field_kind -strref 273 m51s712 +strref 273 m51s713 call 274 pith_cstring_eq bool 2 272 273 call 275 pith_cstring_release void 1 273 -store __or_271_2165 274 -brif 274 L2166 L2165 -label L2165 +store __or_271_2097 274 +brif 274 L2098 L2097 +label L2097 load 276 field_kind -strref 277 m51s713 +strref 277 m51s714 call 278 pith_cstring_eq bool 2 276 277 call 279 pith_cstring_release void 1 277 -store __or_271_2165 278 -label L2166 -load 280 __or_271_2165 -store __or_270_2165 280 -brif 280 L2168 L2167 -label L2167 +store __or_271_2097 278 +label L2098 +load 280 __or_271_2097 +store __or_270_2097 280 +brif 280 L2100 L2099 +label L2099 load 281 field_kind -strref 282 m51s714 +strref 282 m51s715 call 283 pith_cstring_eq bool 2 281 282 call 284 pith_cstring_release void 1 282 -store __or_270_2165 283 -label L2168 -load 285 __or_270_2165 -brif 285 L2163 L2164 -label L2163 +store __or_270_2097 283 +label L2100 +load 285 __or_270_2097 +brif 285 L2095 L2096 +label L2095 load 286 text_r call 287 ir_ownership_ir_string_release_reg void 1 286 -jmp L2162 -label L2164 -label L2162 +jmp L2094 +label L2096 +label L2094 load 288 next_acc store acc_r 288 load 289 fi iconst 290 1 add 291 289 290 store fi 291 -jmp L2147 -label L2149 +jmp L2079 +label L2081 call 292 ir_builder_ir_reg int 0 store close_r 292 strref 293 m51s936 @@ -163191,95 +162372,95 @@ endfunc func ir_emitter_core_ir_closure_capture_tag 1 int param kind load 1 kind -strref 2 m51s716 +strref 2 m51s717 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2170 L2171 -label L2170 +brif 3 L2102 L2103 +label L2102 iconst 5 1 ret 5 -label L2171 -label L2169 +label L2103 +label L2101 load 6 kind strref 7 m51s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2173 L2174 -label L2173 +brif 8 L2105 L2106 +label L2105 iconst 10 2 ret 10 -label L2174 -label L2172 +label L2106 +label L2104 load 11 kind strref 12 m51s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2176 L2177 -label L2176 +brif 13 L2108 L2109 +label L2108 iconst 15 3 ret 15 -label L2177 -label L2175 +label L2109 +label L2107 load 16 kind strref 17 m51s18 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2179 L2180 -label L2179 +brif 18 L2111 L2112 +label L2111 iconst 20 4 ret 20 -label L2180 -label L2178 +label L2112 +label L2110 load 21 kind -strref 22 m51s715 +strref 22 m51s716 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2182 L2183 -label L2182 +brif 23 L2114 L2115 +label L2114 iconst 25 5 ret 25 -label L2183 -label L2181 +label L2115 +label L2113 load 26 kind strref 27 m51s15 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2185 L2186 -label L2185 +brif 28 L2117 L2118 +label L2117 iconst 30 6 ret 30 -label L2186 -label L2184 +label L2118 +label L2116 load 31 kind strref 32 m51s23 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2188 L2189 -label L2188 +brif 33 L2120 L2121 +label L2120 iconst 35 6 ret 35 -label L2189 -label L2187 +label L2121 +label L2119 load 36 kind strref 37 m51s872 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L2191 L2192 -label L2191 +brif 38 L2123 L2124 +label L2123 iconst 40 7 ret 40 -label L2192 -label L2190 +label L2124 +label L2122 load 41 kind strref 42 m51s1033 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L2194 L2195 -label L2194 +brif 43 L2126 L2127 +label L2126 iconst 45 8 ret 45 -label L2195 -label L2193 +label L2127 +label L2125 iconst 46 0 ret 46 iconst 47 0 @@ -163293,25 +162474,25 @@ store cap_kind 2 load 3 captures call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_379 5 -store __for_len_379 4 -store __for_iter_379 3 -label L2196 -load 6 __for_idx_379 -load 7 __for_len_379 +store __for_idx_378 5 +store __for_len_378 4 +store __for_iter_378 3 +label L2128 +load 6 __for_idx_378 +load 7 __for_len_378 lt 8 6 7 -brif 8 L2197 L2199 -label L2197 -load 9 __for_iter_379 -load 10 __for_idx_379 +brif 8 L2129 L2131 +label L2129 +load 9 __for_iter_378 +load 10 __for_idx_378 call 11 pith_list_get_value_unchecked string 2 9 10 -store __loopvar_379_capture_name 11 -load 12 __for_idx_379 -store __loopvar_379_i 12 +store __loopvar_378_capture_name 11 +load 12 __for_idx_378 +store __loopvar_378_i 12 call 13 ir_builder_ir_reg int 0 store cap_val 13 load 14 cap_val -load 15 __loopvar_379_capture_name +load 15 __loopvar_378_capture_name call 16 ir_emitter_core_ir_emit_name_load void 2 14 15 call 17 ir_builder_ir_reg int 0 store slot 17 @@ -163325,7 +162506,7 @@ strref 24 m51s344 concat 25 21 24 call 26 pith_cstring_release void 1 21 call 27 pith_cstring_release void 1 24 -load 28 __loopvar_379_i +load 28 __loopvar_378_i call 29 int_to_string string 1 28 concat 30 25 29 call 31 pith_cstring_release void 1 25 @@ -163333,29 +162514,29 @@ call 32 pith_cstring_release void 1 29 call 33 ir_builder_ir_emit void 1 30 call 34 pith_cstring_release void 1 30 load 35 cap_kind -load 36 __loopvar_379_capture_name +load 36 __loopvar_378_capture_name call 37 ir_emitter_core_ir_lookup_name_type string 1 36 call 38 ir_struct_registry_ir_rc_kind string 1 37 call 39 pith_cstring_release void 1 37 call 40 pith_cstring_release void 1 35 store cap_kind 38 -load 41 __loopvar_379_capture_name +load 41 __loopvar_378_capture_name call 42 ir_emitter_core_ir_name_is_weak_read bool 1 41 -brif 42 L2201 L2202 -label L2201 +brif 42 L2133 L2134 +label L2133 load 43 cap_kind strref 44 m51s1033 call 45 pith_cstring_release void 1 43 store cap_kind 44 -jmp L2200 -label L2202 -label L2200 +jmp L2132 +label L2134 +label L2132 load 46 cap_kind call 47 string_len int 1 46 iconst 48 0 gt 49 47 48 -brif 49 L2204 L2205 -label L2204 +brif 49 L2136 L2137 +label L2136 load 50 cap_val load 51 cap_kind call 52 ir_ownership_ir_rc_retain_reg void 2 50 51 @@ -163420,10 +162601,10 @@ call 109 ir_call_emit_ir_emit_call_text void 5 72 73 74 75 106 call 110 pith_cstring_release void 1 73 call 111 pith_cstring_release void 1 74 call 112 pith_cstring_release void 1 106 -jmp L2203 -label L2205 +jmp L2135 +label L2137 call 113 ir_builder_ir_reg int 0 -strref 114 m51s771 +strref 114 m51s772 strref 115 m51s876 load 116 closure_r load 117 slot @@ -163431,14 +162612,14 @@ load 118 cap_val call 119 ir_call_emit_ir_emit_call3 void 6 113 114 115 116 117 118 call 120 pith_cstring_release void 1 114 call 121 pith_cstring_release void 1 115 -label L2203 -label L2198 -load 122 __for_idx_379 +label L2135 +label L2130 +load 122 __for_idx_378 iconst 123 1 add 124 122 123 -store __for_idx_379 124 -jmp L2196 -label L2199 +store __for_idx_378 124 +jmp L2128 +label L2131 load 125 cap_kind call 126 pith_cstring_release void 1 125 iconst 127 0 @@ -163468,21 +162649,21 @@ store closure_r 3 load 5 captures call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_380 7 -store __for_len_380 6 -store __for_iter_380 5 -label L2206 -load 8 __for_idx_380 -load 9 __for_len_380 +store __for_idx_379 7 +store __for_len_379 6 +store __for_iter_379 5 +label L2138 +load 8 __for_idx_379 +load 9 __for_len_379 lt 10 8 9 -brif 10 L2207 L2209 -label L2207 -load 11 __for_iter_380 -load 12 __for_idx_380 +brif 10 L2139 L2141 +label L2139 +load 11 __for_iter_379 +load 12 __for_idx_379 call 13 pith_list_get_value_unchecked string 2 11 12 -store __loopvar_380_capture_name 13 -load 14 __for_idx_380 -store __loopvar_380_i 14 +store __loopvar_379_capture_name 13 +load 14 __for_idx_379 +store __loopvar_379_i 14 call 15 ir_builder_ir_reg int 0 store cap_r 15 call 16 ir_builder_ir_reg int 0 @@ -163497,7 +162678,7 @@ strref 23 m51s344 concat 24 20 23 call 25 pith_cstring_release void 1 20 call 26 pith_cstring_release void 1 23 -load 27 __loopvar_380_i +load 27 __loopvar_379_i call 28 int_to_string string 1 27 concat 29 24 28 call 30 pith_cstring_release void 1 24 @@ -163505,19 +162686,19 @@ call 31 pith_cstring_release void 1 28 call 32 ir_builder_ir_emit void 1 29 call 33 pith_cstring_release void 1 29 load 34 cap_r -strref 35 m51s769 -strref 36 m51s869 +strref 35 m51s770 +strref 36 m51s870 load 37 closure_r load 38 slot_r call 39 ir_call_emit_ir_emit_call2 void 5 34 35 36 37 38 call 40 pith_cstring_release void 1 35 call 41 pith_cstring_release void 1 36 load 42 ir_builder_ir_var_regs -load 43 __loopvar_380_capture_name +load 43 __loopvar_379_capture_name load 44 cap_r call 45 map_insert void 3 42 43 44 strref 46 m51s878 -load 47 __loopvar_380_capture_name +load 47 __loopvar_379_capture_name concat 48 46 47 call 49 pith_cstring_release void 1 46 strref 50 m51s344 @@ -163531,13 +162712,13 @@ call 57 pith_cstring_release void 1 51 call 58 pith_cstring_release void 1 55 call 59 ir_builder_ir_emit void 1 56 call 60 pith_cstring_release void 1 56 -label L2208 -load 61 __for_idx_380 +label L2140 +load 61 __for_idx_379 iconst 62 1 add 63 61 62 -store __for_idx_380 63 -jmp L2206 -label L2209 +store __for_idx_379 63 +jmp L2138 +label L2141 iconst 64 0 ret 64 endfunc @@ -163558,29 +162739,29 @@ store bodies 6 load 9 lines call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_381 11 -store __for_len_381 10 -store __for_iter_381 9 -label L2210 -load 12 __for_idx_381 -load 13 __for_len_381 +store __for_idx_380 11 +store __for_len_380 10 +store __for_iter_380 9 +label L2142 +load 12 __for_idx_380 +load 13 __for_len_380 lt 14 12 13 -brif 14 L2211 L2213 -label L2211 -load 15 __for_iter_381 -load 16 __for_idx_381 +brif 14 L2143 L2145 +label L2143 +load 15 __for_iter_380 +load 16 __for_idx_380 call 17 pith_list_get_value_unchecked string 2 15 16 -store __loopvar_381_line 17 +store __loopvar_380_line 17 load 18 bodies -load 19 __loopvar_381_line +load 19 __loopvar_380_line call 20 pith_list_push_value void 2 18 19 -label L2212 -load 21 __for_idx_381 +label L2144 +load 21 __for_idx_380 iconst 22 1 add 23 21 22 -store __for_idx_381 23 -jmp L2210 -label L2213 +store __for_idx_380 23 +jmp L2142 +label L2145 load 24 bodies call 25 pith_list_retain_handle void 1 24 store ir_emitter_core_ir_lambda_bodies 24 @@ -163614,13 +162795,13 @@ param right_r param is_str_op param is_bytes_op load 5 is_str_op -brif 5 L2215 L2216 -label L2215 +brif 5 L2147 L2148 +label L2147 call 6 ir_builder_ir_reg int 0 store eq_r 6 load 7 eq_r -strref 8 m51s767 -strref 9 m51s714 +strref 8 m51s768 +strref 9 m51s715 load 10 left_r load 11 right_r call 12 ir_call_emit_ir_emit_call2 void 5 7 8 9 10 11 @@ -163668,16 +162849,16 @@ call 52 ir_builder_ir_emit void 1 49 call 53 pith_cstring_release void 1 49 iconst 54 0 ret 54 -label L2216 -label L2214 +label L2148 +label L2146 load 55 is_bytes_op -brif 55 L2218 L2219 -label L2218 +brif 55 L2150 L2151 +label L2150 call 56 ir_builder_ir_reg int 0 store eq_r 56 load 57 eq_r strref 58 m51s1328 -strref 59 m51s714 +strref 59 m51s715 load 60 left_r load 61 right_r call 62 ir_call_emit_ir_emit_call2 void 5 57 58 59 60 61 @@ -163725,8 +162906,8 @@ call 102 ir_builder_ir_emit void 1 99 call 103 pith_cstring_release void 1 99 iconst 104 0 ret 104 -label L2219 -label L2217 +label L2151 +label L2149 strref 105 m51s1091 load 106 result_reg call 107 int_to_string string 1 106 @@ -163768,7 +162949,7 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __or_7_2223 7 +store __or_7_2155 7 load 8 node field 9 8 0 string kind strref 10 m51s35 @@ -163776,53 +162957,53 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __or_7_2223 11 -brif 11 L2224 L2223 -label L2223 +store __or_7_2155 11 +brif 11 L2156 L2155 +label L2155 load 15 node field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 0 eq 19 17 18 -store __or_7_2223 19 -label L2224 -load 20 __or_7_2223 -brif 20 L2221 L2222 -label L2221 +store __or_7_2155 19 +label L2156 +load 20 __or_7_2155 +brif 20 L2153 L2154 +label L2153 iconst 21 0 load 22 node call 23 pith_struct_release void 1 22 load 24 obj_type call 25 pith_cstring_release void 1 24 ret 21 -label L2222 -label L2220 +label L2154 +label L2152 iconst 26 0 -store __or_26_2228 26 +store __or_26_2160 26 load 27 ir_alias_registry_ir_active_generic_params call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __or_26_2228 30 -brif 30 L2229 L2228 -label L2228 +store __or_26_2160 30 +brif 30 L2161 L2160 +label L2160 load 31 ir_emitter_core_ir_current_impl_subst_params call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -store __or_26_2228 34 -label L2229 -load 35 __or_26_2228 -brif 35 L2226 L2227 -label L2226 +store __or_26_2160 34 +label L2161 +load 35 __or_26_2160 +brif 35 L2158 L2159 +label L2158 iconst 36 0 load 37 node call 38 pith_struct_release void 1 37 load 39 obj_type call 40 pith_cstring_release void 1 39 ret 36 -label L2227 -label L2225 +label L2159 +label L2157 load 41 obj_type load 42 node field 43 42 16 list children @@ -163835,8 +163016,8 @@ load 48 obj_type call 49 string_len int 1 48 iconst 50 0 eq 51 49 50 -brif 51 L2231 L2232 -label L2231 +brif 51 L2163 L2164 +label L2163 load 52 obj_type load 53 node field 54 53 16 list children @@ -163845,11 +163026,11 @@ call 56 pith_list_get_value_strict int 2 54 55 call 57 ir_emitter_core_ir_infer_type string 1 56 call 58 pith_cstring_release void 1 52 store obj_type 57 -jmp L2230 -label L2232 -label L2230 +jmp L2162 +label L2164 +label L2162 load 59 obj_type -strref 60 m51s716 +strref 60 m51s717 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 load 63 node @@ -163867,45 +163048,45 @@ endfunc func ir_emitter_core_ir_binary_op_is_comparison 1 bool param simple_op iconst 1 0 -store __or_1_2233 1 +store __or_1_2165 1 iconst 2 0 -store __or_2_2233 2 +store __or_2_2165 2 iconst 3 0 -store __or_3_2233 3 +store __or_3_2165 3 load 4 simple_op strref 5 m51s475 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_2233 6 -brif 6 L2234 L2233 -label L2233 +store __or_3_2165 6 +brif 6 L2166 L2165 +label L2165 load 8 simple_op strref 9 m51s472 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_3_2233 10 -label L2234 -load 12 __or_3_2233 -store __or_2_2233 12 -brif 12 L2236 L2235 -label L2235 +store __or_3_2165 10 +label L2166 +load 12 __or_3_2165 +store __or_2_2165 12 +brif 12 L2168 L2167 +label L2167 load 13 simple_op strref 14 m51s469 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_2_2233 15 -label L2236 -load 17 __or_2_2233 -store __or_1_2233 17 -brif 17 L2238 L2237 -label L2237 +store __or_2_2165 15 +label L2168 +load 17 __or_2_2165 +store __or_1_2165 17 +brif 17 L2170 L2169 +label L2169 load 18 simple_op strref 19 m51s466 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_1_2233 20 -label L2238 -load 22 __or_1_2233 +store __or_1_2165 20 +label L2170 +load 22 __or_1_2165 ret 22 iconst 23 0 ret 23 @@ -163915,169 +163096,169 @@ param expr_idx param reg param expr_type iconst 3 0 -store arg_kind 3 +store arg_node 3 iconst 4 0 -store __and_4_2242 4 -load 5 expr_type -strref 6 m51s716 -call 7 pith_cstring_eq bool 2 5 6 -call 8 pith_cstring_release void 1 6 -store __and_4_2242 7 -brif 7 L2242 L2243 -label L2242 -load 9 expr_idx -call 10 ir_emitter_core_ir_string_expr_is_borrowed bool 1 9 -iconst 12 1 -sub 11 12 10 -store __and_4_2242 11 -label L2243 -load 13 __and_4_2242 -brif 13 L2240 L2241 -label L2240 -load 14 reg -call 15 ir_ownership_ir_string_release_reg void 1 14 -jmp L2239 -label L2241 -iconst 16 0 -store __and_16_2246 16 -load 17 expr_type -strref 18 m51s715 -call 19 pith_cstring_eq bool 2 17 18 -call 20 pith_cstring_release void 1 18 -store __and_16_2246 19 -brif 19 L2246 L2247 -label L2246 -load 21 expr_idx -call 22 ir_emitter_core_ir_string_expr_is_borrowed bool 1 21 -iconst 24 1 -sub 23 24 22 -store __and_16_2246 23 -label L2247 -load 25 __and_16_2246 -brif 25 L2244 L2245 -label L2244 -load 26 reg -strref 27 m51s715 -call 28 ir_ownership_ir_rc_release_reg void 2 26 27 -call 29 pith_cstring_release void 1 27 -jmp L2239 -label L2245 -load 30 expr_idx -call 31 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 30 -brif 31 L2248 L2249 -label L2248 -load 32 reg -call 33 ir_ownership_ir_string_release_reg void 1 32 -jmp L2239 -label L2249 -load 34 expr_idx -call 35 ir_emitter_core_ir_expr_is_transferred_call_temp bool 1 34 -brif 35 L2250 L2251 -label L2250 -load 36 reg -call 37 ir_ownership_ir_string_release_reg void 1 36 -jmp L2239 -label L2251 -load 38 arg_kind -load 39 expr_type -call 40 ir_struct_registry_ir_rc_kind string 1 39 -call 41 pith_cstring_release void 1 38 -store arg_kind 40 -iconst 42 0 -store __and_42_2255 42 +store arg_kind 4 +iconst 5 0 +store __and_5_2174 5 +load 6 expr_type +strref 7 m51s717 +call 8 pith_cstring_eq bool 2 6 7 +call 9 pith_cstring_release void 1 7 +store __and_5_2174 8 +brif 8 L2174 L2175 +label L2174 +load 10 expr_idx +call 11 ir_emitter_core_ir_string_expr_is_borrowed bool 1 10 +iconst 13 1 +sub 12 13 11 +store __and_5_2174 12 +label L2175 +load 14 __and_5_2174 +brif 14 L2172 L2173 +label L2172 +load 15 reg +call 16 ir_ownership_ir_string_release_reg void 1 15 +jmp L2171 +label L2173 +iconst 17 0 +store __and_17_2178 17 +load 18 expr_type +strref 19 m51s716 +call 20 pith_cstring_eq bool 2 18 19 +call 21 pith_cstring_release void 1 19 +store __and_17_2178 20 +brif 20 L2178 L2179 +label L2178 +load 22 expr_idx +call 23 ir_emitter_core_ir_string_expr_is_borrowed bool 1 22 +iconst 25 1 +sub 24 25 23 +store __and_17_2178 24 +label L2179 +load 26 __and_17_2178 +brif 26 L2176 L2177 +label L2176 +load 27 reg +strref 28 m51s716 +call 29 ir_ownership_ir_rc_release_reg void 2 27 28 +call 30 pith_cstring_release void 1 28 +jmp L2171 +label L2177 +load 31 expr_idx +call 32 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 31 +brif 32 L2180 L2181 +label L2180 +load 33 reg +call 34 ir_ownership_ir_string_release_reg void 1 33 +jmp L2171 +label L2181 +load 35 expr_idx +call 36 ir_emitter_core_ir_expr_is_transferred_call_temp bool 1 35 +brif 36 L2182 L2183 +label L2182 +load 37 reg +call 38 ir_ownership_ir_string_release_reg void 1 37 +jmp L2171 +label L2183 +load 39 arg_node +load 40 expr_idx +call 41 ast_get_node struct:Node 1 40 +call 42 pith_struct_release void 1 39 +store arg_node 41 load 43 arg_kind -call 44 string_len int 1 43 -iconst 45 0 -eq 46 44 45 -store __and_42_2255 46 -brif 46 L2255 L2256 -label L2255 +load 44 expr_type +call 45 ir_struct_registry_ir_rc_kind string 1 44 +call 46 pith_cstring_release void 1 43 +store arg_kind 45 iconst 47 0 -store __or_47_2257 47 -load 48 expr_idx -call 49 ast_get_node struct:Node 1 48 -field 50 49 0 string kind -strref 51 m51s512 -call 52 pith_cstring_eq bool 2 50 51 -call 53 pith_cstring_release void 1 51 -store __or_47_2257 52 -brif 52 L2258 L2257 -label L2257 -load 54 expr_idx -call 55 ir_emitter_core_ir_expr_is_named_function_value bool 1 54 -store __or_47_2257 55 -label L2258 -load 56 __or_47_2257 -store __and_42_2255 56 -label L2256 -load 57 __and_42_2255 -brif 57 L2253 L2254 -label L2253 -load 58 arg_kind -strref 59 m51s872 -call 60 pith_cstring_release void 1 58 -store arg_kind 59 -jmp L2252 -label L2254 -label L2252 -load 61 arg_kind -strref 62 m51s23 -call 63 pith_cstring_eq bool 2 61 62 +store __and_47_2187 47 +load 48 arg_kind +call 49 string_len int 1 48 +iconst 50 0 +eq 51 49 50 +store __and_47_2187 51 +brif 51 L2187 L2188 +label L2187 +iconst 52 0 +store __or_52_2189 52 +load 53 arg_node +field 54 53 0 string kind +strref 55 m51s512 +call 56 pith_cstring_eq bool 2 54 55 +call 57 pith_cstring_release void 1 55 +store __or_52_2189 56 +brif 56 L2190 L2189 +label L2189 +load 58 expr_idx +call 59 ir_emitter_core_ir_expr_is_named_function_value bool 1 58 +store __or_52_2189 59 +label L2190 +load 60 __or_52_2189 +store __and_47_2187 60 +label L2188 +load 61 __and_47_2187 +brif 61 L2185 L2186 +label L2185 +load 62 arg_kind +strref 63 m51s872 call 64 pith_cstring_release void 1 62 -brif 63 L2260 L2261 -label L2260 +store arg_kind 63 +jmp L2184 +label L2186 +label L2184 iconst 65 0 -store __and_65_2265 65 -load 66 expr_idx -call 67 ast_get_node struct:Node 1 66 -field 68 67 0 string kind -strref 69 m51s23 -call 70 pith_cstring_eq bool 2 68 69 -call 71 pith_cstring_release void 1 69 -store __and_65_2265 70 -brif 70 L2265 L2266 -label L2265 -load 72 expr_idx -call 73 ir_emitter_core_ir_string_expr_is_borrowed bool 1 72 -iconst 75 1 -sub 74 75 73 -store __and_65_2265 74 -label L2266 -load 76 __and_65_2265 -brif 76 L2263 L2264 -label L2263 -load 77 reg -strref 78 m51s23 -call 79 ir_ownership_ir_rc_release_reg void 2 77 78 -call 80 pith_cstring_release void 1 78 -jmp L2262 -label L2264 -label L2262 -jmp L2259 -label L2261 -iconst 81 0 -store __and_81_2269 81 -load 82 arg_kind -call 83 ir_emitter_core_ir_owned_arg_kind_releases bool 1 82 -store __and_81_2269 83 -brif 83 L2269 L2270 -label L2269 -load 84 expr_idx -call 85 ir_emitter_core_ir_string_expr_is_borrowed bool 1 84 -iconst 87 1 -sub 86 87 85 -store __and_81_2269 86 -label L2270 -load 88 __and_81_2269 -brif 88 L2267 L2268 -label L2267 -load 89 reg -load 90 arg_kind -call 91 ir_ownership_ir_rc_release_reg void 2 89 90 -jmp L2259 -label L2268 -label L2259 -label L2239 +store __and_65_2191 65 +load 66 arg_kind +strref 67 m51s23 +call 68 pith_cstring_eq bool 2 66 67 +call 69 pith_cstring_release void 1 67 +store __and_65_2191 68 +brif 68 L2191 L2192 +label L2191 +load 70 arg_node +field 71 70 0 string kind +strref 72 m51s23 +call 73 pith_cstring_eq bool 2 71 72 +call 74 pith_cstring_release void 1 72 +store __and_65_2191 73 +label L2192 +load 75 __and_65_2191 +store is_tuple_literal 75 +iconst 76 0 +store __and_76_2196 76 +iconst 77 0 +store __or_77_2196 77 +load 78 arg_kind +call 79 ir_emitter_core_ir_owned_arg_kind_releases bool 1 78 +store __or_77_2196 79 +brif 79 L2197 L2196 +label L2196 +load 80 is_tuple_literal +store __or_77_2196 80 +label L2197 +load 81 __or_77_2196 +store __and_76_2196 81 +brif 81 L2198 L2199 +label L2198 +load 82 expr_idx +call 83 ir_emitter_core_ir_string_expr_is_borrowed bool 1 82 +iconst 85 1 +sub 84 85 83 +store __and_76_2196 84 +label L2199 +load 86 __and_76_2196 +brif 86 L2194 L2195 +label L2194 +load 87 reg +load 88 arg_kind +call 89 ir_ownership_ir_rc_release_reg void 2 87 88 +jmp L2193 +label L2195 +label L2193 +label L2171 +load 90 arg_node +call 91 pith_struct_release void 1 90 load 92 arg_kind call 93 pith_cstring_release void 1 92 iconst 94 0 @@ -164086,55 +163267,55 @@ endfunc func ir_emitter_core_ir_owned_arg_kind_releases 1 bool param arg_kind iconst 1 0 -store __or_1_2274 1 +store __or_1_2203 1 load 2 arg_kind strref 3 m51s15 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_2274 4 -brif 4 L2275 L2274 -label L2274 +store __or_1_2203 4 +brif 4 L2204 L2203 +label L2203 load 6 arg_kind strref 7 m51s872 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_2274 8 -label L2275 -load 10 __or_1_2274 -brif 10 L2272 L2273 -label L2272 +store __or_1_2203 8 +label L2204 +load 10 __or_1_2203 +brif 10 L2201 L2202 +label L2201 iconst 11 1 ret 11 -label L2273 -label L2271 +label L2202 +label L2200 iconst 12 0 -store __or_12_2276 12 +store __or_12_2205 12 iconst 13 0 -store __or_13_2276 13 +store __or_13_2205 13 load 14 arg_kind strref 15 m51s20 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_13_2276 16 -brif 16 L2277 L2276 -label L2276 +store __or_13_2205 16 +brif 16 L2206 L2205 +label L2205 load 18 arg_kind strref 19 m51s19 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_13_2276 20 -label L2277 -load 22 __or_13_2276 -store __or_12_2276 22 -brif 22 L2279 L2278 -label L2278 +store __or_13_2205 20 +label L2206 +load 22 __or_13_2205 +store __or_12_2205 22 +brif 22 L2208 L2207 +label L2207 load 23 arg_kind strref 24 m51s18 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_12_2276 25 -label L2279 -load 27 __or_12_2276 +store __or_12_2205 25 +label L2208 +load 27 __or_12_2205 ret 27 iconst 28 0 ret 28 @@ -164157,7 +163338,7 @@ call 10 ast_get_node struct:Node 1 9 call 11 pith_struct_release void 1 8 store en 10 iconst 12 0 -store __and_12_2283 12 +store __and_12_2212 12 load 13 en field 14 13 0 string kind strref 15 m51s44 @@ -164165,9 +163346,9 @@ call 17 pith_cstring_eq bool 2 14 15 iconst 18 1 sub 16 18 17 call 19 pith_cstring_release void 1 15 -store __and_12_2283 16 -brif 16 L2283 L2284 -label L2283 +store __and_12_2212 16 +brif 16 L2212 L2213 +label L2212 load 20 en field 21 20 0 string kind strref 22 m51s130 @@ -164175,11 +163356,11 @@ call 24 pith_cstring_eq bool 2 21 22 iconst 25 1 sub 23 25 24 call 26 pith_cstring_release void 1 22 -store __and_12_2283 23 -label L2284 -load 27 __and_12_2283 -brif 27 L2281 L2282 -label L2281 +store __and_12_2212 23 +label L2213 +load 27 __and_12_2212 +brif 27 L2210 L2211 +label L2210 load 28 en call 29 pith_struct_release void 1 28 load 30 info @@ -164188,26 +163369,26 @@ load 32 sig call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L2282 -label L2280 +label L2211 +label L2209 iconst 35 0 -store __or_35_2288 35 +store __or_35_2217 35 load 36 ir_alias_registry_ir_active_generic_params call 37 pith_list_len int 1 36 iconst 38 0 gt 39 37 38 -store __or_35_2288 39 -brif 39 L2289 L2288 -label L2288 +store __or_35_2217 39 +brif 39 L2218 L2217 +label L2217 load 40 ir_emitter_core_ir_current_impl_subst_params call 41 pith_list_len int 1 40 iconst 42 0 gt 43 41 42 -store __or_35_2288 43 -label L2289 -load 44 __or_35_2288 -brif 44 L2286 L2287 -label L2286 +store __or_35_2217 43 +label L2218 +load 44 __or_35_2217 +brif 44 L2215 L2216 +label L2215 load 45 en call 46 pith_struct_release void 1 45 load 47 info @@ -164216,16 +163397,16 @@ load 49 sig call 50 pith_cstring_release void 1 49 iconst 51 0 ret 51 -label L2287 -label L2285 +label L2216 +label L2214 load 52 expr_idx call 53 checker_c_get_expr_type int 1 52 store tid 53 load 54 tid iconst 55 0 lt 56 54 55 -brif 56 L2291 L2292 -label L2291 +brif 56 L2220 L2221 +label L2220 load 57 en call 58 pith_struct_release void 1 57 load 59 info @@ -164234,8 +163415,8 @@ load 61 sig call 62 pith_cstring_release void 1 61 iconst 63 0 ret 63 -label L2292 -label L2290 +label L2221 +label L2219 load 64 info load 65 tid call 66 types_get_type_info struct:TypeInfo 1 65 @@ -164248,8 +163429,8 @@ call 72 pith_cstring_eq bool 2 69 70 iconst 73 1 sub 71 73 72 call 74 pith_cstring_release void 1 70 -brif 71 L2294 L2295 -label L2294 +brif 71 L2223 L2224 +label L2223 load 75 en call 76 pith_struct_release void 1 75 load 77 info @@ -164258,8 +163439,8 @@ load 79 sig call 80 pith_cstring_release void 1 79 iconst 81 0 ret 81 -label L2295 -label L2293 +label L2224 +label L2222 load 82 sig load 83 tid call 84 ir_emitter_core_ir_tuple_cascade_signature string 1 83 @@ -164275,8 +163456,8 @@ call 92 pith_cstring_release void 1 90 call 93 ir_emitter_core_ir_tuple_call_arg_is_borrow bool 4 86 87 88 91 iconst 95 1 sub 94 95 93 -brif 94 L2297 L2298 -label L2297 +brif 94 L2226 L2227 +label L2226 load 96 en call 97 pith_struct_release void 1 96 load 98 info @@ -164285,45 +163466,45 @@ load 100 sig call 101 pith_cstring_release void 1 100 iconst 102 0 ret 102 -label L2298 -label L2296 +label L2227 +label L2225 load 103 ir_emitter_core_ir_tuple_cascade_sigs load 104 sig iconst 105 -1 -store __list_index_result_L2302 105 +store __list_index_result_L2231 105 iconst 106 0 -store __list_index_i_L2303 106 +store __list_index_i_L2232 106 call 107 pith_list_len int 1 103 -label L2304 -load 108 __list_index_i_L2303 +label L2233 +load 108 __list_index_i_L2232 lt 109 108 107 -brif 109 L2305 L2308 -label L2305 +brif 109 L2234 L2237 +label L2234 call 110 pith_list_get_value string 2 103 108 call 111 pith_cstring_eq bool 2 110 104 -brif 111 L2306 L2307 -label L2306 -store __list_index_result_L2302 108 -jmp L2308 -label L2307 +brif 111 L2235 L2236 +label L2235 +store __list_index_result_L2231 108 +jmp L2237 +label L2236 iconst 112 1 add 113 108 112 -store __list_index_i_L2303 113 -jmp L2304 -label L2308 -load 114 __list_index_result_L2302 +store __list_index_i_L2232 113 +jmp L2233 +label L2237 +load 114 __list_index_result_L2231 iconst 115 0 gte 116 114 115 iconst 118 1 sub 117 118 116 -brif 117 L2300 L2301 -label L2300 +brif 117 L2229 L2230 +label L2229 load 119 ir_emitter_core_ir_tuple_cascade_sigs load 120 sig call 121 pith_list_push_value void 2 119 120 -jmp L2299 -label L2301 -label L2299 +jmp L2228 +label L2230 +label L2228 call 122 ir_builder_ir_reg int 0 load 123 sig call 124 ir_emitter_core_ir_tuple_cascade_helper_name string 1 123 @@ -164353,7 +163534,7 @@ 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_2312 7 +store __and_7_2241 7 load 8 node field 9 8 0 string kind strref 10 m51s44 @@ -164361,9 +163542,9 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __and_7_2312 11 -brif 11 L2312 L2313 -label L2312 +store __and_7_2241 11 +brif 11 L2241 L2242 +label L2241 load 15 node field 16 15 0 string kind strref 17 m51s130 @@ -164371,45 +163552,45 @@ call 19 pith_cstring_eq bool 2 16 17 iconst 20 1 sub 18 20 19 call 21 pith_cstring_release void 1 17 -store __and_7_2312 18 -label L2313 -load 22 __and_7_2312 -brif 22 L2310 L2311 -label L2310 +store __and_7_2241 18 +label L2242 +load 22 __and_7_2241 +brif 22 L2239 L2240 +label L2239 iconst 23 0 load 24 node call 25 pith_struct_release void 1 24 load 26 expr_type call 27 pith_cstring_release void 1 26 ret 23 -label L2311 -label L2309 +label L2240 +label L2238 iconst 28 0 -store __or_28_2317 28 +store __or_28_2246 28 load 29 ir_alias_registry_ir_active_generic_params call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -store __or_28_2317 32 -brif 32 L2318 L2317 -label L2317 +store __or_28_2246 32 +brif 32 L2247 L2246 +label L2246 load 33 ir_emitter_core_ir_current_impl_subst_params call 34 pith_list_len int 1 33 iconst 35 0 gt 36 34 35 -store __or_28_2317 36 -label L2318 -load 37 __or_28_2317 -brif 37 L2315 L2316 -label L2315 +store __or_28_2246 36 +label L2247 +load 37 __or_28_2246 +brif 37 L2244 L2245 +label L2244 iconst 38 0 load 39 node call 40 pith_struct_release void 1 39 load 41 expr_type call 42 pith_cstring_release void 1 41 ret 38 -label L2316 -label L2314 +label L2245 +label L2243 load 43 expr_type load 44 idx call 45 ir_type_helpers_ir_checked_type string 1 44 @@ -164419,18 +163600,18 @@ load 47 expr_type call 48 string_len int 1 47 iconst 49 0 eq 50 48 49 -brif 50 L2320 L2321 -label L2320 +brif 50 L2249 L2250 +label L2249 load 51 expr_type load 52 idx call 53 ir_emitter_core_ir_infer_type string 1 52 call 54 pith_cstring_release void 1 51 store expr_type 53 -jmp L2319 -label L2321 -label L2319 +jmp L2248 +label L2250 +label L2248 load 55 expr_type -strref 56 m51s716 +strref 56 m51s717 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 load 59 node @@ -164457,8 +163638,8 @@ store n 4 load 5 n iconst 6 3 lt 7 5 6 -brif 7 L2323 L2324 -label L2323 +brif 7 L2252 L2253 +label L2252 iconst 8 0 iconst 9 1 sub 10 8 9 @@ -164467,8 +163648,8 @@ call 12 pith_cstring_release void 1 11 load 13 e call 14 pith_cstring_release void 1 13 ret 10 -label L2324 -label L2322 +label L2253 +label L2251 load 15 n iconst 16 2 sub 17 15 16 @@ -164476,8 +163657,8 @@ store inner_len 17 load 18 inner_len iconst 19 1 eq 20 18 19 -brif 20 L2326 L2327 -label L2326 +brif 20 L2255 L2256 +label L2255 load 21 c load 22 raw iconst 23 1 @@ -164488,8 +163669,8 @@ load 26 c strref 27 m51s1335 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2329 L2330 -label L2329 +brif 28 L2258 L2259 +label L2258 iconst 30 0 iconst 31 1 sub 32 30 31 @@ -164498,8 +163679,8 @@ call 34 pith_cstring_release void 1 33 load 35 e call 36 pith_cstring_release void 1 35 ret 32 -label L2330 -label L2328 +label L2259 +label L2257 load 37 c call 38 ord int 1 37 load 39 c @@ -164507,26 +163688,26 @@ call 40 pith_cstring_release void 1 39 load 41 e call 42 pith_cstring_release void 1 41 ret 38 -label L2327 -label L2325 +label L2256 +label L2254 iconst 43 0 -store __and_43_2334 43 +store __and_43_2263 43 load 44 inner_len iconst 45 2 eq 46 44 45 -store __and_43_2334 46 -brif 46 L2334 L2335 -label L2334 +store __and_43_2263 46 +brif 46 L2263 L2264 +label L2263 load 47 raw iconst 48 1 call 49 pith_cstring_byte_at int 2 47 48 iconst 50 92 eq 51 49 50 -store __and_43_2334 51 -label L2335 -load 52 __and_43_2334 -brif 52 L2332 L2333 -label L2332 +store __and_43_2263 51 +label L2264 +load 52 __and_43_2263 +brif 52 L2261 L2262 +label L2261 load 53 e load 54 raw iconst 55 2 @@ -164537,103 +163718,103 @@ load 58 e strref 59 m51s1337 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L2337 L2338 -label L2337 +brif 60 L2266 L2267 +label L2266 iconst 62 10 load 63 c call 64 pith_cstring_release void 1 63 load 65 e call 66 pith_cstring_release void 1 65 ret 62 -label L2338 -label L2336 +label L2267 +label L2265 load 67 e strref 68 m51s1295 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L2340 L2341 -label L2340 +brif 69 L2269 L2270 +label L2269 iconst 71 9 load 72 c call 73 pith_cstring_release void 1 72 load 74 e call 75 pith_cstring_release void 1 74 ret 71 -label L2341 -label L2339 +label L2270 +label L2268 load 76 e strref 77 m51s1336 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 -brif 78 L2343 L2344 -label L2343 +brif 78 L2272 L2273 +label L2272 iconst 80 13 load 81 c call 82 pith_cstring_release void 1 81 load 83 e call 84 pith_cstring_release void 1 83 ret 80 -label L2344 -label L2342 +label L2273 +label L2271 load 85 e strref 86 m51s185 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L2346 L2347 -label L2346 +brif 87 L2275 L2276 +label L2275 iconst 89 0 load 90 c call 91 pith_cstring_release void 1 90 load 92 e call 93 pith_cstring_release void 1 92 ret 89 -label L2347 -label L2345 +label L2276 +label L2274 load 94 e strref 95 m51s1335 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -brif 96 L2349 L2350 -label L2349 +brif 96 L2278 L2279 +label L2278 iconst 98 92 load 99 c call 100 pith_cstring_release void 1 99 load 101 e call 102 pith_cstring_release void 1 101 ret 98 -label L2350 -label L2348 +label L2279 +label L2277 load 103 e strref 104 m51s1334 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L2352 L2353 -label L2352 +brif 105 L2281 L2282 +label L2281 iconst 107 34 load 108 c call 109 pith_cstring_release void 1 108 load 110 e call 111 pith_cstring_release void 1 110 ret 107 -label L2353 -label L2351 +label L2282 +label L2280 load 112 e strref 113 m51s97 call 114 pith_cstring_eq bool 2 112 113 call 115 pith_cstring_release void 1 113 -brif 114 L2355 L2356 -label L2355 +brif 114 L2284 L2285 +label L2284 iconst 116 39 load 117 c call 118 pith_cstring_release void 1 117 load 119 e call 120 pith_cstring_release void 1 119 ret 116 -label L2356 -label L2354 -jmp L2331 -label L2333 -label L2331 +label L2285 +label L2283 +jmp L2260 +label L2262 +label L2260 iconst 121 0 iconst 122 1 sub 123 121 122 @@ -164663,29 +163844,29 @@ call 6 ast_get_node struct:Node 1 5 call 7 pith_struct_release void 1 4 store node 6 iconst 8 0 -store __and_8_2360 8 +store __and_8_2289 8 load 9 node field 10 9 0 string kind strref 11 m51s35 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __and_8_2360 12 -brif 12 L2360 L2361 -label L2360 +store __and_8_2289 12 +brif 12 L2289 L2290 +label L2289 load 14 node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 2 gte 18 16 17 -store __and_8_2360 18 -label L2361 -load 19 __and_8_2360 -brif 19 L2358 L2359 -label L2358 +store __and_8_2289 18 +label L2290 +load 19 __and_8_2289 +brif 19 L2287 L2288 +label L2287 load 20 idx call 21 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 20 -brif 21 L2363 L2364 -label L2363 +brif 21 L2292 L2293 +label L2292 load 22 node field 23 22 16 list children iconst 24 0 @@ -164702,7 +163883,7 @@ call 32 ir_builder_ir_reg int 0 store r 32 load 33 r strref 34 m51s1333 -strref 35 m51s712 +strref 35 m51s713 load 36 obj_r load 37 idx_r call 38 ir_call_emit_ir_emit_call2 void 5 33 34 35 36 37 @@ -164716,8 +163897,8 @@ call 45 pith_struct_release void 1 44 load 46 arg call 47 pith_struct_release void 1 46 ret 41 -label L2364 -label L2362 +label L2293 +label L2291 iconst 48 0 iconst 49 1 sub 50 48 49 @@ -164728,41 +163909,41 @@ call 54 pith_struct_release void 1 53 load 55 arg call 56 pith_struct_release void 1 55 ret 50 -label L2359 -label L2357 +label L2288 +label L2286 iconst 57 0 -store __or_57_2368 57 +store __or_57_2297 57 iconst 58 0 -store __or_58_2368 58 +store __or_58_2297 58 load 59 node field 60 59 0 string kind strref 61 m51s529 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __or_58_2368 62 -brif 62 L2369 L2368 -label L2368 +store __or_58_2297 62 +brif 62 L2298 L2297 +label L2297 load 64 node field 65 64 0 string kind -strref 66 m51s716 +strref 66 m51s717 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __or_58_2368 67 -label L2369 -load 69 __or_58_2368 -store __or_57_2368 69 -brif 69 L2371 L2370 -label L2370 +store __or_58_2297 67 +label L2298 +load 69 __or_58_2297 +store __or_57_2297 69 +brif 69 L2300 L2299 +label L2299 load 70 node field 71 70 0 string kind strref 72 m51s1076 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -store __or_57_2368 73 -label L2371 -load 75 __or_57_2368 -brif 75 L2366 L2367 -label L2366 +store __or_57_2297 73 +label L2300 +load 75 __or_57_2297 +brif 75 L2295 L2296 +label L2295 load 76 node field 77 76 8 string value call 78 ir_emitter_core_ir_string_lit_single_byte int 1 77 @@ -164770,8 +163951,8 @@ store b 78 load 79 b iconst 80 0 gte 81 79 80 -brif 81 L2373 L2374 -label L2373 +brif 81 L2302 L2303 +label L2302 call 82 ir_builder_ir_reg int 0 store r 82 strref 83 m51s880 @@ -164799,8 +163980,8 @@ call 104 pith_struct_release void 1 103 load 105 arg call 106 pith_struct_release void 1 105 ret 100 -label L2374 -label L2372 +label L2303 +label L2301 iconst 107 0 iconst 108 1 sub 109 107 108 @@ -164811,28 +163992,28 @@ call 113 pith_struct_release void 1 112 load 114 arg call 115 pith_struct_release void 1 114 ret 109 -label L2367 -label L2365 +label L2296 +label L2294 iconst 116 0 -store __and_116_2378 116 +store __and_116_2307 116 load 117 node field 118 117 0 string kind strref 119 m51s44 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -store __and_116_2378 120 -brif 120 L2378 L2379 -label L2378 +store __and_116_2307 120 +brif 120 L2307 L2308 +label L2307 load 122 node field 123 122 16 list children call 124 pith_list_len int 1 123 iconst 125 2 gte 126 124 125 -store __and_116_2378 126 -label L2379 -load 127 __and_116_2378 -brif 127 L2376 L2377 -label L2376 +store __and_116_2307 126 +label L2308 +load 127 __and_116_2307 +brif 127 L2305 L2306 +label L2305 load 128 callee load 129 node field 130 129 16 list children @@ -164850,38 +164031,38 @@ call 140 ast_get_node struct:Node 1 139 call 141 pith_struct_release void 1 135 store arg 140 iconst 142 0 -store __and_142_2383 142 +store __and_142_2312 142 iconst 143 0 -store __and_143_2383 143 +store __and_143_2312 143 load 144 callee field 145 144 0 string kind strref 146 m51s37 call 147 pith_cstring_eq bool 2 145 146 call 148 pith_cstring_release void 1 146 -store __and_143_2383 147 -brif 147 L2383 L2384 -label L2383 +store __and_143_2312 147 +brif 147 L2312 L2313 +label L2312 load 149 callee field 150 149 8 string value strref 151 m51s1332 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -store __and_143_2383 152 -label L2384 -load 154 __and_143_2383 -store __and_142_2383 154 -brif 154 L2385 L2386 -label L2385 +store __and_143_2312 152 +label L2313 +load 154 __and_143_2312 +store __and_142_2312 154 +brif 154 L2314 L2315 +label L2314 load 155 arg field 156 155 0 string kind strref 157 m51s531 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -store __and_142_2383 158 -label L2386 -load 160 __and_142_2383 -brif 160 L2381 L2382 -label L2381 +store __and_142_2312 158 +label L2315 +load 160 __and_142_2312 +brif 160 L2310 L2311 +label L2310 call 161 ir_builder_ir_reg int 0 store r 161 strref 162 m51s880 @@ -164908,11 +164089,11 @@ call 182 pith_struct_release void 1 181 load 183 arg call 184 pith_struct_release void 1 183 ret 178 -label L2382 -label L2380 -jmp L2375 -label L2377 -label L2375 +label L2311 +label L2309 +jmp L2304 +label L2306 +label L2304 iconst 185 0 iconst 186 1 sub 187 185 186 @@ -164946,25 +164127,25 @@ call 6 ast_get_node struct:Node 1 5 call 7 pith_struct_release void 1 4 store node 6 iconst 8 0 -store __and_8_2390 8 +store __and_8_2319 8 load 9 node field 10 9 0 string kind strref 11 m51s35 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __and_8_2390 12 -brif 12 L2390 L2391 -label L2390 +store __and_8_2319 12 +brif 12 L2319 L2320 +label L2319 load 14 node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 2 gte 18 16 17 -store __and_8_2390 18 -label L2391 -load 19 __and_8_2390 -brif 19 L2388 L2389 -label L2388 +store __and_8_2319 18 +label L2320 +load 19 __and_8_2319 +brif 19 L2317 L2318 +label L2317 load 20 idx call 21 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 20 load 22 node @@ -164974,41 +164155,41 @@ call 25 pith_struct_release void 1 24 load 26 arg call 27 pith_struct_release void 1 26 ret 21 -label L2389 -label L2387 +label L2318 +label L2316 iconst 28 0 -store __or_28_2395 28 +store __or_28_2324 28 iconst 29 0 -store __or_29_2395 29 +store __or_29_2324 29 load 30 node field 31 30 0 string kind strref 32 m51s529 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __or_29_2395 33 -brif 33 L2396 L2395 -label L2395 +store __or_29_2324 33 +brif 33 L2325 L2324 +label L2324 load 35 node field 36 35 0 string kind -strref 37 m51s716 +strref 37 m51s717 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __or_29_2395 38 -label L2396 -load 40 __or_29_2395 -store __or_28_2395 40 -brif 40 L2398 L2397 -label L2397 +store __or_29_2324 38 +label L2325 +load 40 __or_29_2324 +store __or_28_2324 40 +brif 40 L2327 L2326 +label L2326 load 41 node field 42 41 0 string kind strref 43 m51s1076 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_28_2395 44 -label L2398 -load 46 __or_28_2395 -brif 46 L2393 L2394 -label L2393 +store __or_28_2324 44 +label L2327 +load 46 __or_28_2324 +brif 46 L2322 L2323 +label L2322 load 47 node field 48 47 8 string value call 49 ir_emitter_core_ir_string_lit_single_byte int 1 48 @@ -165021,28 +164202,28 @@ call 55 pith_struct_release void 1 54 load 56 arg call 57 pith_struct_release void 1 56 ret 51 -label L2394 -label L2392 +label L2323 +label L2321 iconst 58 0 -store __and_58_2402 58 +store __and_58_2331 58 load 59 node field 60 59 0 string kind strref 61 m51s44 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __and_58_2402 62 -brif 62 L2402 L2403 -label L2402 +store __and_58_2331 62 +brif 62 L2331 L2332 +label L2331 load 64 node field 65 64 16 list children call 66 pith_list_len int 1 65 iconst 67 2 gte 68 66 67 -store __and_58_2402 68 -label L2403 -load 69 __and_58_2402 -brif 69 L2400 L2401 -label L2400 +store __and_58_2331 68 +label L2332 +load 69 __and_58_2331 +brif 69 L2329 L2330 +label L2329 load 70 callee load 71 node field 72 71 16 list children @@ -165060,36 +164241,36 @@ call 82 ast_get_node struct:Node 1 81 call 83 pith_struct_release void 1 77 store arg 82 iconst 84 0 -store __and_84_2404 84 +store __and_84_2333 84 iconst 85 0 -store __and_85_2404 85 +store __and_85_2333 85 load 86 callee field 87 86 0 string kind strref 88 m51s37 call 89 pith_cstring_eq bool 2 87 88 call 90 pith_cstring_release void 1 88 -store __and_85_2404 89 -brif 89 L2404 L2405 -label L2404 +store __and_85_2333 89 +brif 89 L2333 L2334 +label L2333 load 91 callee field 92 91 8 string value strref 93 m51s1332 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -store __and_85_2404 94 -label L2405 -load 96 __and_85_2404 -store __and_84_2404 96 -brif 96 L2406 L2407 -label L2406 +store __and_85_2333 94 +label L2334 +load 96 __and_85_2333 +store __and_84_2333 96 +brif 96 L2335 L2336 +label L2335 load 97 arg field 98 97 0 string kind strref 99 m51s531 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_84_2404 100 -label L2407 -load 102 __and_84_2404 +store __and_84_2333 100 +label L2336 +load 102 __and_84_2333 load 103 node call 104 pith_struct_release void 1 103 load 105 callee @@ -165097,8 +164278,8 @@ call 106 pith_struct_release void 1 105 load 107 arg call 108 pith_struct_release void 1 107 ret 102 -label L2401 -label L2399 +label L2330 +label L2328 iconst 109 0 load 110 node call 111 pith_struct_release void 1 110 @@ -165140,7 +164321,7 @@ call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 11 store right 16 iconst 18 0 -store __and_18_2411 18 +store __and_18_2340 18 load 19 left field 20 19 0 string kind strref 21 m51s35 @@ -165148,9 +164329,9 @@ call 23 pith_cstring_eq bool 2 20 21 iconst 24 1 sub 22 24 23 call 25 pith_cstring_release void 1 21 -store __and_18_2411 22 -brif 22 L2411 L2412 -label L2411 +store __and_18_2340 22 +brif 22 L2340 L2341 +label L2340 load 26 right field 27 26 0 string kind strref 28 m51s35 @@ -165158,11 +164339,11 @@ call 30 pith_cstring_eq bool 2 27 28 iconst 31 1 sub 29 31 30 call 32 pith_cstring_release void 1 28 -store __and_18_2411 29 -label L2412 -load 33 __and_18_2411 -brif 33 L2409 L2410 -label L2409 +store __and_18_2340 29 +label L2341 +load 33 __and_18_2340 +brif 33 L2338 L2339 +label L2338 iconst 34 0 iconst 35 1 sub 36 34 35 @@ -165171,40 +164352,40 @@ call 38 pith_struct_release void 1 37 load 39 right call 40 pith_struct_release void 1 39 ret 36 -label L2410 -label L2408 +label L2339 +label L2337 iconst 41 0 -store __or_41_2416 41 +store __or_41_2345 41 load 42 node field 43 42 16 list children iconst 44 0 call 45 pith_list_get_value_strict int 2 43 44 call 46 ir_emitter_core_ir_infer_type string 1 45 -strref 47 m51s716 +strref 47 m51s717 call 49 pith_cstring_eq bool 2 46 47 iconst 50 1 sub 48 50 49 call 51 pith_cstring_release void 1 46 call 52 pith_cstring_release void 1 47 -store __or_41_2416 48 -brif 48 L2417 L2416 -label L2416 +store __or_41_2345 48 +brif 48 L2346 L2345 +label L2345 load 53 node field 54 53 16 list children iconst 55 1 call 56 pith_list_get_value_strict int 2 54 55 call 57 ir_emitter_core_ir_infer_type string 1 56 -strref 58 m51s716 +strref 58 m51s717 call 60 pith_cstring_eq bool 2 57 58 iconst 61 1 sub 59 61 60 call 62 pith_cstring_release void 1 57 call 63 pith_cstring_release void 1 58 -store __or_41_2416 59 -label L2417 -load 64 __or_41_2416 -brif 64 L2414 L2415 -label L2414 +store __or_41_2345 59 +label L2346 +load 64 __or_41_2345 +brif 64 L2343 L2344 +label L2343 iconst 65 0 iconst 66 1 sub 67 65 66 @@ -165213,10 +164394,10 @@ call 69 pith_struct_release void 1 68 load 70 right call 71 pith_struct_release void 1 70 ret 67 -label L2415 -label L2413 +label L2344 +label L2342 iconst 72 0 -store __or_72_2421 72 +store __or_72_2350 72 load 73 node field 74 73 16 list children iconst 75 0 @@ -165224,9 +164405,9 @@ call 76 pith_list_get_value_strict int 2 74 75 call 77 ir_emitter_core_ir_is_byte_operand bool 1 76 iconst 79 1 sub 78 79 77 -store __or_72_2421 78 -brif 78 L2422 L2421 -label L2421 +store __or_72_2350 78 +brif 78 L2351 L2350 +label L2350 load 80 node field 81 80 16 list children iconst 82 1 @@ -165234,11 +164415,11 @@ call 83 pith_list_get_value_strict int 2 81 82 call 84 ir_emitter_core_ir_is_byte_operand bool 1 83 iconst 86 1 sub 85 86 84 -store __or_72_2421 85 -label L2422 -load 87 __or_72_2421 -brif 87 L2419 L2420 -label L2419 +store __or_72_2350 85 +label L2351 +load 87 __or_72_2350 +brif 87 L2348 L2349 +label L2348 iconst 88 0 iconst 89 1 sub 90 88 89 @@ -165247,8 +164428,8 @@ call 92 pith_struct_release void 1 91 load 93 right call 94 pith_struct_release void 1 93 ret 90 -label L2420 -label L2418 +label L2349 +label L2347 load 95 node field 96 95 16 list children iconst 97 0 @@ -165267,8 +164448,8 @@ load 106 op strref 107 m51s479 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 -brif 108 L2424 L2425 -label L2424 +brif 108 L2353 L2354 +label L2353 strref 110 m51s887 load 111 r call 112 int_to_string string 1 111 @@ -165295,8 +164476,8 @@ call 132 pith_cstring_release void 1 126 call 133 pith_cstring_release void 1 130 call 134 ir_builder_ir_emit void 1 131 call 135 pith_cstring_release void 1 131 -jmp L2423 -label L2425 +jmp L2352 +label L2354 strref 136 m51s1091 load 137 r call 138 int_to_string string 1 137 @@ -165323,7 +164504,7 @@ call 158 pith_cstring_release void 1 152 call 159 pith_cstring_release void 1 156 call 160 ir_builder_ir_emit void 1 157 call 161 pith_cstring_release void 1 157 -label L2423 +label L2352 load 162 r load 163 left call 164 pith_struct_release void 1 163 @@ -165420,8 +164601,8 @@ load 68 op strref 69 m51s461 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -brif 70 L2427 L2428 -label L2427 +brif 70 L2356 L2357 +label L2356 strref 72 m51s882 load 73 left_r call 74 int_to_string string 1 73 @@ -165444,8 +164625,8 @@ concat 90 86 89 call 91 pith_cstring_release void 1 86 call 92 ir_builder_ir_emit void 1 90 call 93 pith_cstring_release void 1 90 -jmp L2426 -label L2428 +jmp L2355 +label L2357 strref 94 m51s882 load 95 left_r call 96 int_to_string string 1 95 @@ -165468,7 +164649,7 @@ concat 112 108 111 call 113 pith_cstring_release void 1 108 call 114 ir_builder_ir_emit void 1 112 call 115 pith_cstring_release void 1 112 -label L2426 +label L2355 strref 116 m51s1031 load 117 right_l concat 118 116 117 @@ -165551,16 +164732,16 @@ call 6 pith_cstring_eq bool 2 3 4 iconst 7 1 sub 5 7 6 call 8 pith_cstring_release void 1 4 -brif 5 L2430 L2431 -label L2430 +brif 5 L2359 L2360 +label L2359 iconst 9 1 iconst 11 0 sub 10 11 9 load 12 name call 13 pith_cstring_release void 1 12 ret 10 -label L2431 -label L2429 +label L2360 +label L2358 load 14 name load 15 operand_node field 16 15 8 string value @@ -165572,16 +164753,16 @@ load 20 name call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L2433 L2434 -label L2433 +brif 22 L2362 L2363 +label L2362 iconst 24 1 iconst 26 0 sub 25 26 24 load 27 name call 28 pith_cstring_release void 1 27 ret 25 -label L2434 -label L2432 +label L2363 +label L2361 load 29 ir_alias_registry_ir_active_param_optional_tids load 30 name call 31 map_get_strict int 2 29 30 @@ -165596,37 +164777,37 @@ endfunc func ir_emitter_core_ir_emit_binary_expr 1 int param node iconst 1 0 -store __or_1_2438 1 +store __or_1_2367 1 load 2 node field 3 2 8 string value strref 4 m51s479 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_1_2438 5 -brif 5 L2439 L2438 -label L2438 +store __or_1_2367 5 +brif 5 L2368 L2367 +label L2367 load 7 node field 8 7 8 string value strref 9 m51s477 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_1_2438 10 -label L2439 -load 12 __or_1_2438 -brif 12 L2436 L2437 -label L2436 +store __or_1_2367 10 +label L2368 +load 12 __or_1_2367 +brif 12 L2365 L2366 +label L2365 load 13 node call 14 ir_emitter_core_ir_try_emit_none_to_none_compare int 1 13 store both_none_r 14 load 15 both_none_r iconst 16 0 gte 17 15 16 -brif 17 L2441 L2442 -label L2441 +brif 17 L2370 L2371 +label L2370 load 18 both_none_r ret 18 -label L2442 -label L2440 +label L2371 +label L2369 load 19 node load 20 node field 21 20 8 string value @@ -165635,40 +164816,40 @@ store fast_r 22 load 23 fast_r iconst 24 0 gte 25 23 24 -brif 25 L2444 L2445 -label L2444 +brif 25 L2373 L2374 +label L2373 load 26 fast_r ret 26 -label L2445 -label L2443 -jmp L2435 -label L2437 -label L2435 +label L2374 +label L2372 +jmp L2364 +label L2366 +label L2364 iconst 27 0 -store __or_27_2449 27 +store __or_27_2378 27 load 28 node field 29 28 8 string value strref 30 m51s463 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_27_2449 31 -brif 31 L2450 L2449 -label L2449 +store __or_27_2378 31 +brif 31 L2379 L2378 +label L2378 load 33 node field 34 33 8 string value strref 35 m51s461 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_27_2449 36 -label L2450 -load 38 __or_27_2449 -brif 38 L2447 L2448 -label L2447 +store __or_27_2378 36 +label L2379 +load 38 __or_27_2378 +brif 38 L2376 L2377 +label L2376 load 39 node call 40 ir_emitter_core_ir_emit_short_circuit_logic int 1 39 ret 40 -label L2448 -label L2446 +label L2377 +label L2375 load 41 node field 42 41 16 list children iconst 43 0 @@ -165696,12 +164877,12 @@ store opt_r 60 load 61 opt_r iconst 62 0 gte 63 61 62 -brif 63 L2452 L2453 -label L2452 +brif 63 L2381 L2382 +label L2381 load 64 opt_r ret 64 -label L2453 -label L2451 +label L2382 +label L2380 load 65 node load 66 r load 67 left_r @@ -165715,38 +164896,38 @@ func ir_emitter_core_ir_emit_binary_operand 2 int param idx param op iconst 2 0 -store __or_2_2457 2 +store __or_2_2386 2 load 3 op strref 4 m51s479 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_2457 5 -brif 5 L2458 L2457 -label L2457 +store __or_2_2386 5 +brif 5 L2387 L2386 +label L2386 load 7 op strref 8 m51s477 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_2457 9 -label L2458 -load 11 __or_2_2457 -brif 11 L2455 L2456 -label L2455 +store __or_2_2386 9 +label L2387 +load 11 __or_2_2386 +brif 11 L2384 L2385 +label L2384 load 12 idx call 13 ast_node_kind string 1 12 strref 14 m51s494 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 13 call 17 pith_cstring_release void 1 14 -brif 15 L2460 L2461 -label L2460 +brif 15 L2389 L2390 +label L2389 call 18 ir_emitter_core_ir_emit_zero_value int 0 ret 18 -label L2461 -label L2459 -jmp L2454 -label L2456 -label L2454 +label L2390 +label L2388 +jmp L2383 +label L2385 +label L2383 load 19 idx call 20 ir_emitter_core_ir_expr int 1 19 ret 20 @@ -165760,14 +164941,14 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 2 lt 5 3 4 -brif 5 L2463 L2464 -label L2463 +brif 5 L2392 L2393 +label L2392 iconst 6 0 iconst 7 1 sub 8 6 7 ret 8 -label L2464 -label L2462 +label L2393 +label L2391 load 9 node field 10 9 16 list children iconst 11 0 @@ -165779,14 +164960,14 @@ iconst 17 1 sub 15 17 16 call 18 pith_cstring_release void 1 13 call 19 pith_cstring_release void 1 14 -brif 15 L2466 L2467 -label L2466 +brif 15 L2395 L2396 +label L2395 iconst 20 0 iconst 21 1 sub 22 20 21 ret 22 -label L2467 -label L2465 +label L2396 +label L2394 load 23 node field 24 23 16 list children iconst 25 1 @@ -165798,14 +164979,14 @@ iconst 31 1 sub 29 31 30 call 32 pith_cstring_release void 1 27 call 33 pith_cstring_release void 1 28 -brif 29 L2469 L2470 -label L2469 +brif 29 L2398 L2399 +label L2398 iconst 34 0 iconst 35 1 sub 36 34 35 ret 36 -label L2470 -label L2468 +label L2399 +label L2397 call 37 ir_builder_ir_reg int 0 store r 37 load 38 node @@ -165813,8 +164994,8 @@ field 39 38 8 string value strref 40 m51s479 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L2472 L2473 -label L2472 +brif 41 L2401 L2402 +label L2401 strref 43 m51s880 load 44 r call 45 int_to_string string 1 44 @@ -165827,8 +165008,8 @@ call 51 pith_cstring_release void 1 46 call 52 pith_cstring_release void 1 49 call 53 ir_builder_ir_emit void 1 50 call 54 pith_cstring_release void 1 50 -jmp L2471 -label L2473 +jmp L2400 +label L2402 strref 55 m51s880 load 56 r call 57 int_to_string string 1 56 @@ -165841,7 +165022,7 @@ call 63 pith_cstring_release void 1 58 call 64 pith_cstring_release void 1 61 call 65 ir_builder_ir_emit void 1 62 call 66 pith_cstring_release void 1 62 -label L2471 +label L2400 load 67 r ret 67 iconst 68 0 @@ -165911,43 +165092,43 @@ call 46 ast_get_node struct:Node 1 45 call 47 pith_struct_release void 1 41 store right_node 46 iconst 48 0 -store __or_48_2477 48 +store __or_48_2406 48 load 49 op strref 50 m51s479 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __or_48_2477 51 -brif 51 L2478 L2477 -label L2477 +store __or_48_2406 51 +brif 51 L2407 L2406 +label L2406 load 53 op strref 54 m51s477 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_48_2477 55 -label L2478 -load 57 __or_48_2477 -brif 57 L2475 L2476 -label L2475 +store __or_48_2406 55 +label L2407 +load 57 __or_48_2406 +brif 57 L2404 L2405 +label L2404 iconst 58 0 -store __and_58_2482 58 +store __and_58_2411 58 load 59 left_node field 60 59 0 string kind strref 61 m51s494 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __and_58_2482 62 -brif 62 L2482 L2483 -label L2482 +store __and_58_2411 62 +brif 62 L2411 L2412 +label L2411 load 64 right_info field 65 64 0 string kind strref 66 m51s21 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __and_58_2482 67 -label L2483 -load 69 __and_58_2482 -brif 69 L2480 L2481 -label L2480 +store __and_58_2411 67 +label L2412 +load 69 __and_58_2411 +brif 69 L2409 L2410 +label L2409 load 70 r load 71 op load 72 right_r @@ -165974,28 +165155,28 @@ call 92 pith_struct_release void 1 91 load 93 rg call 94 pith_struct_release void 1 93 ret 80 -label L2481 -label L2479 +label L2410 +label L2408 iconst 95 0 -store __and_95_2487 95 +store __and_95_2416 95 load 96 right_node field 97 96 0 string kind strref 98 m51s494 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __and_95_2487 99 -brif 99 L2487 L2488 -label L2487 +store __and_95_2416 99 +brif 99 L2416 L2417 +label L2416 load 101 left_info field 102 101 0 string kind strref 103 m51s21 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __and_95_2487 104 -label L2488 -load 106 __and_95_2487 -brif 106 L2485 L2486 -label L2485 +store __and_95_2416 104 +label L2417 +load 106 __and_95_2416 +brif 106 L2414 L2415 +label L2414 load 107 r load 108 op load 109 left_r @@ -166022,21 +165203,21 @@ call 129 pith_struct_release void 1 128 load 130 rg call 131 pith_struct_release void 1 130 ret 117 -label L2486 -label L2484 +label L2415 +label L2413 load 132 ir_emitter_core_ir_current_impl_subst_params call 133 pith_list_len int 1 132 iconst 134 0 gt 135 133 134 -brif 135 L2490 L2491 -label L2490 +brif 135 L2419 L2420 +label L2419 load 136 left_node field 137 136 0 string kind strref 138 m51s494 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L2493 L2494 -label L2493 +brif 139 L2422 L2423 +label L2422 load 141 r load 142 op load 143 right_r @@ -166057,15 +165238,15 @@ call 157 pith_struct_release void 1 156 load 158 rg call 159 pith_struct_release void 1 158 ret 145 -label L2494 -label L2492 +label L2423 +label L2421 load 160 right_node field 161 160 0 string kind strref 162 m51s494 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L2496 L2497 -label L2496 +brif 163 L2425 L2426 +label L2425 load 165 r load 166 op load 167 left_r @@ -166086,56 +165267,56 @@ call 181 pith_struct_release void 1 180 load 182 rg call 183 pith_struct_release void 1 182 ret 169 -label L2497 -label L2495 -jmp L2489 -label L2491 -label L2489 +label L2426 +label L2424 +jmp L2418 +label L2420 +label L2418 iconst 184 0 -store __and_184_2501 184 +store __and_184_2430 184 iconst 185 0 -store __and_185_2501 185 +store __and_185_2430 185 iconst 186 0 -store __and_186_2501 186 +store __and_186_2430 186 load 187 left_info field 188 187 0 string kind strref 189 m51s21 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -store __and_186_2501 190 -brif 190 L2501 L2502 -label L2501 +store __and_186_2430 190 +brif 190 L2430 L2431 +label L2430 load 192 right_info field 193 192 0 string kind strref 194 m51s21 call 195 pith_cstring_eq bool 2 193 194 call 196 pith_cstring_release void 1 194 -store __and_186_2501 195 -label L2502 -load 197 __and_186_2501 -store __and_185_2501 197 -brif 197 L2503 L2504 -label L2503 +store __and_186_2430 195 +label L2431 +load 197 __and_186_2430 +store __and_185_2430 197 +brif 197 L2432 L2433 +label L2432 load 198 left_info field 199 198 64 int inner iconst 200 0 gte 201 199 200 -store __and_185_2501 201 -label L2504 -load 202 __and_185_2501 -store __and_184_2501 202 -brif 202 L2505 L2506 -label L2505 +store __and_185_2430 201 +label L2433 +load 202 __and_185_2430 +store __and_184_2430 202 +brif 202 L2434 L2435 +label L2434 load 203 left_info field 204 203 64 int inner load 205 right_info field 206 205 64 int inner eq 207 204 206 -store __and_184_2501 207 -label L2506 -load 208 __and_184_2501 -brif 208 L2499 L2500 -label L2499 +store __and_184_2430 207 +label L2435 +load 208 __and_184_2430 +brif 208 L2428 L2429 +label L2428 load 209 r load 210 op load 211 left_r @@ -166158,14 +165339,14 @@ call 227 pith_struct_release void 1 226 load 228 rg call 229 pith_struct_release void 1 228 ret 215 -label L2500 -label L2498 +label L2429 +label L2427 load 230 ir_alias_registry_ir_active_param_optional_tids call 231 map_len int 1 230 iconst 232 0 gt 233 231 232 -brif 233 L2508 L2509 -label L2508 +brif 233 L2437 L2438 +label L2437 load 234 left_node call 235 ir_emitter_core_ir_generic_param_optional_tid int 1 234 store gen_left_tid 235 @@ -166173,21 +165354,21 @@ load 236 right_node call 237 ir_emitter_core_ir_generic_param_optional_tid int 1 236 store gen_right_tid 237 iconst 238 0 -store __and_238_2513 238 +store __and_238_2442 238 load 239 gen_left_tid iconst 240 0 gte 241 239 240 -store __and_238_2513 241 -brif 241 L2513 L2514 -label L2513 +store __and_238_2442 241 +brif 241 L2442 L2443 +label L2442 load 242 gen_right_tid iconst 243 0 gte 244 242 243 -store __and_238_2513 244 -label L2514 -load 245 __and_238_2513 -brif 245 L2511 L2512 -label L2511 +store __and_238_2442 244 +label L2443 +load 245 __and_238_2442 +brif 245 L2440 L2441 +label L2440 load 246 lg load 247 gen_left_tid call 248 types_get_type_info struct:TypeInfo 1 247 @@ -166199,24 +165380,24 @@ call 252 types_get_type_info struct:TypeInfo 1 251 call 253 pith_struct_release void 1 250 store rg 252 iconst 254 0 -store __and_254_2518 254 +store __and_254_2447 254 load 255 lg field 256 255 64 int inner iconst 257 0 gte 258 256 257 -store __and_254_2518 258 -brif 258 L2518 L2519 -label L2518 +store __and_254_2447 258 +brif 258 L2447 L2448 +label L2447 load 259 lg field 260 259 64 int inner load 261 rg field 262 261 64 int inner eq 263 260 262 -store __and_254_2518 263 -label L2519 -load 264 __and_254_2518 -brif 264 L2516 L2517 -label L2516 +store __and_254_2447 263 +label L2448 +load 264 __and_254_2447 +brif 264 L2445 L2446 +label L2445 load 265 r load 266 op load 267 left_r @@ -166239,29 +165420,29 @@ call 283 pith_struct_release void 1 282 load 284 rg call 285 pith_struct_release void 1 284 ret 271 -label L2517 -label L2515 -jmp L2510 -label L2512 -label L2510 +label L2446 +label L2444 +jmp L2439 +label L2441 +label L2439 iconst 286 0 -store __and_286_2523 286 +store __and_286_2452 286 load 287 gen_left_tid iconst 288 0 gte 289 287 288 -store __and_286_2523 289 -brif 289 L2523 L2524 -label L2523 +store __and_286_2452 289 +brif 289 L2452 L2453 +label L2452 load 290 right_node field 291 290 0 string kind strref 292 m51s494 call 293 pith_cstring_eq bool 2 291 292 call 294 pith_cstring_release void 1 292 -store __and_286_2523 293 -label L2524 -load 295 __and_286_2523 -brif 295 L2521 L2522 -label L2521 +store __and_286_2452 293 +label L2453 +load 295 __and_286_2452 +brif 295 L2450 L2451 +label L2450 load 296 r load 297 op load 298 left_r @@ -166282,26 +165463,26 @@ call 312 pith_struct_release void 1 311 load 313 rg call 314 pith_struct_release void 1 313 ret 300 -label L2522 -label L2520 +label L2451 +label L2449 iconst 315 0 -store __and_315_2528 315 +store __and_315_2457 315 load 316 gen_right_tid iconst 317 0 gte 318 316 317 -store __and_315_2528 318 -brif 318 L2528 L2529 -label L2528 +store __and_315_2457 318 +brif 318 L2457 L2458 +label L2457 load 319 left_node field 320 319 0 string kind strref 321 m51s494 call 322 pith_cstring_eq bool 2 320 321 call 323 pith_cstring_release void 1 321 -store __and_315_2528 322 -label L2529 -load 324 __and_315_2528 -brif 324 L2526 L2527 -label L2526 +store __and_315_2457 322 +label L2458 +load 324 __and_315_2457 +brif 324 L2455 L2456 +label L2455 load 325 r load 326 op load 327 right_r @@ -166322,278 +165503,242 @@ call 341 pith_struct_release void 1 340 load 342 rg call 343 pith_struct_release void 1 342 ret 329 -label L2527 -label L2525 -jmp L2507 -label L2509 -label L2507 +label L2456 +label L2454 +jmp L2436 +label L2438 +label L2436 iconst 344 0 -store __and_344_2533 344 +store __and_344_2462 344 iconst 345 0 -store __and_345_2533 345 -iconst 346 0 -store __and_346_2533 346 -iconst 347 0 -store __and_347_2533 347 -iconst 348 0 -store __and_348_2533 348 -iconst 349 0 -store __and_349_2533 349 -load 350 left_info -field 351 350 0 string kind -strref 352 m51s21 -call 353 pith_cstring_eq bool 2 351 352 -call 354 pith_cstring_release void 1 352 -store __and_349_2533 353 -brif 353 L2533 L2534 -label L2533 -load 355 left_info -field 356 355 64 int inner -iconst 357 0 -gte 358 356 357 -store __and_349_2533 358 -label L2534 -load 359 __and_349_2533 -store __and_348_2533 359 -brif 359 L2535 L2536 -label L2535 -load 360 right_tid -iconst 361 0 -gte 362 360 361 -store __and_348_2533 362 -label L2536 -load 363 __and_348_2533 -store __and_347_2533 363 -brif 363 L2537 L2538 -label L2537 -load 364 right_tid -load 365 types_TID_ERR -neq 366 364 365 -store __and_347_2533 366 -label L2538 -load 367 __and_347_2533 -store __and_346_2533 367 -brif 367 L2539 L2540 -label L2539 -load 368 right_tid -load 369 types_TID_NONE -neq 370 368 369 -store __and_346_2533 370 -label L2540 -load 371 __and_346_2533 -store __and_345_2533 371 -brif 371 L2541 L2542 -label L2541 -load 372 right_info -field 373 372 0 string kind -strref 374 m51s21 -call 376 pith_cstring_eq bool 2 373 374 -iconst 377 1 -sub 375 377 376 -call 378 pith_cstring_release void 1 374 -store __and_345_2533 375 -label L2542 -load 379 __and_345_2533 -store __and_344_2533 379 -brif 379 L2543 L2544 -label L2543 -load 380 right_node -call 381 ir_emitter_core_ir_generic_param_optional_tid int 1 380 -iconst 382 0 -lt 383 381 382 -store __and_344_2533 383 -label L2544 -load 384 __and_344_2533 -brif 384 L2531 L2532 -label L2531 -load 385 r -load 386 op -load 387 left_r -load 388 right_r -load 389 left_tid -call 390 ir_optionals_ir_emit_optional_plain_compare void 5 385 386 387 388 389 -load 391 node -field 392 391 16 list children -iconst 393 1 -call 394 pith_list_get_value_strict int 2 392 393 -load 395 right_r -load 396 node -field 397 396 16 list children -iconst 398 1 -call 399 pith_list_get_value_strict int 2 397 398 -call 400 ir_emitter_core_ir_infer_type string 1 399 -call 401 ir_emitter_core_ir_release_owned_string_operand void 3 394 395 400 -call 402 pith_cstring_release void 1 400 -load 403 r -load 404 op -call 405 pith_cstring_release void 1 404 -load 406 left_info -call 407 pith_struct_release void 1 406 -load 408 right_info -call 409 pith_struct_release void 1 408 -load 410 left_node -call 411 pith_struct_release void 1 410 -load 412 right_node -call 413 pith_struct_release void 1 412 -load 414 lg -call 415 pith_struct_release void 1 414 -load 416 rg -call 417 pith_struct_release void 1 416 -ret 403 -label L2532 -label L2530 -iconst 418 0 -store __and_418_2548 418 +store __and_345_2462 345 +load 346 left_info +field 347 346 0 string kind +strref 348 m51s21 +call 349 pith_cstring_eq bool 2 347 348 +call 350 pith_cstring_release void 1 348 +store __and_345_2462 349 +brif 349 L2462 L2463 +label L2462 +load 351 left_info +field 352 351 64 int inner +iconst 353 0 +gte 354 352 353 +store __and_345_2462 354 +label L2463 +load 355 __and_345_2462 +store __and_344_2462 355 +brif 355 L2464 L2465 +label L2464 +load 356 right_tid +load 357 right_info +load 358 right_node +call 359 ir_emitter_core_ir_plain_compare_operand_ok bool 3 356 357 358 +store __and_344_2462 359 +label L2465 +load 360 __and_344_2462 +brif 360 L2460 L2461 +label L2460 +load 361 r +load 362 op +load 363 left_r +load 364 right_r +load 365 left_tid +call 366 ir_optionals_ir_emit_optional_plain_compare void 5 361 362 363 364 365 +load 367 node +field 368 367 16 list children +iconst 369 1 +call 370 pith_list_get_value_strict int 2 368 369 +load 371 right_r +load 372 node +field 373 372 16 list children +iconst 374 1 +call 375 pith_list_get_value_strict int 2 373 374 +call 376 ir_emitter_core_ir_infer_type string 1 375 +call 377 ir_emitter_core_ir_release_owned_string_operand void 3 370 371 376 +call 378 pith_cstring_release void 1 376 +load 379 r +load 380 op +call 381 pith_cstring_release void 1 380 +load 382 left_info +call 383 pith_struct_release void 1 382 +load 384 right_info +call 385 pith_struct_release void 1 384 +load 386 left_node +call 387 pith_struct_release void 1 386 +load 388 right_node +call 389 pith_struct_release void 1 388 +load 390 lg +call 391 pith_struct_release void 1 390 +load 392 rg +call 393 pith_struct_release void 1 392 +ret 379 +label L2461 +label L2459 +iconst 394 0 +store __and_394_2469 394 +iconst 395 0 +store __and_395_2469 395 +load 396 right_info +field 397 396 0 string kind +strref 398 m51s21 +call 399 pith_cstring_eq bool 2 397 398 +call 400 pith_cstring_release void 1 398 +store __and_395_2469 399 +brif 399 L2469 L2470 +label L2469 +load 401 right_info +field 402 401 64 int inner +iconst 403 0 +gte 404 402 403 +store __and_395_2469 404 +label L2470 +load 405 __and_395_2469 +store __and_394_2469 405 +brif 405 L2471 L2472 +label L2471 +load 406 left_tid +load 407 left_info +load 408 left_node +call 409 ir_emitter_core_ir_plain_compare_operand_ok bool 3 406 407 408 +store __and_394_2469 409 +label L2472 +load 410 __and_394_2469 +brif 410 L2467 L2468 +label L2467 +load 411 r +load 412 op +load 413 right_r +load 414 left_r +load 415 right_tid +call 416 ir_optionals_ir_emit_optional_plain_compare void 5 411 412 413 414 415 +load 417 node +field 418 417 16 list children iconst 419 0 -store __and_419_2548 419 -iconst 420 0 -store __and_420_2548 420 -iconst 421 0 -store __and_421_2548 421 -iconst 422 0 -store __and_422_2548 422 -iconst 423 0 -store __and_423_2548 423 -load 424 right_info -field 425 424 0 string kind -strref 426 m51s21 -call 427 pith_cstring_eq bool 2 425 426 +call 420 pith_list_get_value_strict int 2 418 419 +load 421 left_r +load 422 node +field 423 422 16 list children +iconst 424 0 +call 425 pith_list_get_value_strict int 2 423 424 +call 426 ir_emitter_core_ir_infer_type string 1 425 +call 427 ir_emitter_core_ir_release_owned_string_operand void 3 420 421 426 call 428 pith_cstring_release void 1 426 -store __and_423_2548 427 -brif 427 L2548 L2549 -label L2548 -load 429 right_info -field 430 429 64 int inner -iconst 431 0 -gte 432 430 431 -store __and_423_2548 432 -label L2549 -load 433 __and_423_2548 -store __and_422_2548 433 -brif 433 L2550 L2551 -label L2550 -load 434 left_tid -iconst 435 0 -gte 436 434 435 -store __and_422_2548 436 -label L2551 -load 437 __and_422_2548 -store __and_421_2548 437 -brif 437 L2552 L2553 -label L2552 -load 438 left_tid -load 439 types_TID_ERR -neq 440 438 439 -store __and_421_2548 440 -label L2553 -load 441 __and_421_2548 -store __and_420_2548 441 -brif 441 L2554 L2555 -label L2554 -load 442 left_tid -load 443 types_TID_NONE -neq 444 442 443 -store __and_420_2548 444 -label L2555 -load 445 __and_420_2548 -store __and_419_2548 445 -brif 445 L2556 L2557 -label L2556 -load 446 left_info -field 447 446 0 string kind -strref 448 m51s21 -call 450 pith_cstring_eq bool 2 447 448 -iconst 451 1 -sub 449 451 450 -call 452 pith_cstring_release void 1 448 -store __and_419_2548 449 -label L2557 -load 453 __and_419_2548 -store __and_418_2548 453 -brif 453 L2558 L2559 -label L2558 -load 454 left_node -call 455 ir_emitter_core_ir_generic_param_optional_tid int 1 454 -iconst 456 0 -lt 457 455 456 -store __and_418_2548 457 -label L2559 -load 458 __and_418_2548 -brif 458 L2546 L2547 -label L2546 -load 459 r -load 460 op -load 461 right_r -load 462 left_r -load 463 right_tid -call 464 ir_optionals_ir_emit_optional_plain_compare void 5 459 460 461 462 463 -load 465 node -field 466 465 16 list children -iconst 467 0 -call 468 pith_list_get_value_strict int 2 466 467 -load 469 left_r -load 470 node -field 471 470 16 list children -iconst 472 0 -call 473 pith_list_get_value_strict int 2 471 472 -call 474 ir_emitter_core_ir_infer_type string 1 473 -call 475 ir_emitter_core_ir_release_owned_string_operand void 3 468 469 474 -call 476 pith_cstring_release void 1 474 -load 477 r -load 478 op -call 479 pith_cstring_release void 1 478 -load 480 left_info -call 481 pith_struct_release void 1 480 -load 482 right_info -call 483 pith_struct_release void 1 482 -load 484 left_node -call 485 pith_struct_release void 1 484 -load 486 right_node -call 487 pith_struct_release void 1 486 -load 488 lg -call 489 pith_struct_release void 1 488 -load 490 rg -call 491 pith_struct_release void 1 490 -ret 477 -label L2547 -label L2545 -jmp L2474 -label L2476 +load 429 r +load 430 op +call 431 pith_cstring_release void 1 430 +load 432 left_info +call 433 pith_struct_release void 1 432 +load 434 right_info +call 435 pith_struct_release void 1 434 +load 436 left_node +call 437 pith_struct_release void 1 436 +load 438 right_node +call 439 pith_struct_release void 1 438 +load 440 lg +call 441 pith_struct_release void 1 440 +load 442 rg +call 443 pith_struct_release void 1 442 +ret 429 +label L2468 +label L2466 +jmp L2403 +label L2405 +label L2403 +iconst 444 0 +iconst 445 1 +sub 446 444 445 +load 447 op +call 448 pith_cstring_release void 1 447 +load 449 left_info +call 450 pith_struct_release void 1 449 +load 451 right_info +call 452 pith_struct_release void 1 451 +load 453 left_node +call 454 pith_struct_release void 1 453 +load 455 right_node +call 456 pith_struct_release void 1 455 +load 457 lg +call 458 pith_struct_release void 1 457 +load 459 rg +call 460 pith_struct_release void 1 459 +ret 446 +load 461 op +call 462 pith_cstring_release void 1 461 +load 463 left_info +call 464 pith_struct_release void 1 463 +load 465 right_info +call 466 pith_struct_release void 1 465 +load 467 left_node +call 468 pith_struct_release void 1 467 +load 469 right_node +call 470 pith_struct_release void 1 469 +load 471 lg +call 472 pith_struct_release void 1 471 +load 473 rg +call 474 pith_struct_release void 1 473 +iconst 475 0 +ret 475 +endfunc +func ir_emitter_core_ir_plain_compare_operand_ok 3 bool +param tid +param info +param opnode +iconst 3 0 +store __and_3_2473 3 +iconst 4 0 +store __and_4_2473 4 +iconst 5 0 +store __and_5_2473 5 +iconst 6 0 +store __and_6_2473 6 +load 7 tid +iconst 8 0 +gte 9 7 8 +store __and_6_2473 9 +brif 9 L2473 L2474 +label L2473 +load 10 tid +load 11 types_TID_ERR +neq 12 10 11 +store __and_6_2473 12 label L2474 -iconst 492 0 -iconst 493 1 -sub 494 492 493 -load 495 op -call 496 pith_cstring_release void 1 495 -load 497 left_info -call 498 pith_struct_release void 1 497 -load 499 right_info -call 500 pith_struct_release void 1 499 -load 501 left_node -call 502 pith_struct_release void 1 501 -load 503 right_node -call 504 pith_struct_release void 1 503 -load 505 lg -call 506 pith_struct_release void 1 505 -load 507 rg -call 508 pith_struct_release void 1 507 -ret 494 -load 509 op -call 510 pith_cstring_release void 1 509 -load 511 left_info -call 512 pith_struct_release void 1 511 -load 513 right_info -call 514 pith_struct_release void 1 513 -load 515 left_node -call 516 pith_struct_release void 1 515 -load 517 right_node -call 518 pith_struct_release void 1 517 -load 519 lg -call 520 pith_struct_release void 1 519 -load 521 rg -call 522 pith_struct_release void 1 521 -iconst 523 0 -ret 523 +load 13 __and_6_2473 +store __and_5_2473 13 +brif 13 L2475 L2476 +label L2475 +load 14 tid +load 15 types_TID_NONE +neq 16 14 15 +store __and_5_2473 16 +label L2476 +load 17 __and_5_2473 +store __and_4_2473 17 +brif 17 L2477 L2478 +label L2477 +load 18 info +field 19 18 0 string kind +strref 20 m51s21 +call 22 pith_cstring_eq bool 2 19 20 +iconst 23 1 +sub 21 23 22 +call 24 pith_cstring_release void 1 20 +store __and_4_2473 21 +label L2478 +load 25 __and_4_2473 +store __and_3_2473 25 +brif 25 L2479 L2480 +label L2479 +load 26 opnode +call 27 ir_emitter_core_ir_generic_param_optional_tid int 1 26 +iconst 28 0 +lt 29 27 28 +store __and_3_2473 29 +label L2480 +load 30 __and_3_2473 +ret 30 +iconst 31 0 +ret 31 endfunc func ir_emitter_core_ir_emit_value_binary 4 int param node @@ -166631,69 +165776,69 @@ call 25 ir_emitter_core_ir_infer_type string 1 24 call 26 pith_cstring_release void 1 20 store right_type 25 iconst 27 0 -store __or_27_2560 27 +store __or_27_2481 27 load 28 left_type -strref 29 m51s716 +strref 29 m51s717 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_27_2560 30 -brif 30 L2561 L2560 -label L2560 +store __or_27_2481 30 +brif 30 L2482 L2481 +label L2481 load 32 right_type -strref 33 m51s716 +strref 33 m51s717 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_27_2560 34 -label L2561 -load 36 __or_27_2560 +store __or_27_2481 34 +label L2482 +load 36 __or_27_2481 store is_str_op 36 iconst 37 0 -store __and_37_2562 37 +store __and_37_2483 37 load 38 left_type -strref 39 m51s715 +strref 39 m51s716 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_37_2562 40 -brif 40 L2562 L2563 -label L2562 +store __and_37_2483 40 +brif 40 L2483 L2484 +label L2483 load 42 right_type -strref 43 m51s715 +strref 43 m51s716 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_37_2562 44 -label L2563 -load 46 __and_37_2562 +store __and_37_2483 44 +label L2484 +load 46 __and_37_2483 store is_bytes_op 46 iconst 47 0 -store __or_47_2564 47 +store __or_47_2485 47 load 48 left_type -strref 49 m51s713 +strref 49 m51s714 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -store __or_47_2564 50 -brif 50 L2565 L2564 -label L2564 +store __or_47_2485 50 +brif 50 L2486 L2485 +label L2485 load 52 right_type -strref 53 m51s713 +strref 53 m51s714 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_47_2564 54 -label L2565 -load 56 __or_47_2564 +store __or_47_2485 54 +label L2486 +load 56 __or_47_2485 store is_float_op 56 iconst 57 0 -store __and_57_2569 57 +store __and_57_2490 57 load 58 is_float_op -store __and_57_2569 58 -brif 58 L2569 L2570 -label L2569 +store __and_57_2490 58 +brif 58 L2490 L2491 +label L2490 load 59 op call 60 ir_operator_helpers_ir_is_float_arithmetic bool 1 59 -store __and_57_2569 60 -label L2570 -load 61 __and_57_2569 -brif 61 L2567 L2568 -label L2567 +store __and_57_2490 60 +label L2491 +load 61 __and_57_2490 +brif 61 L2488 L2489 +label L2488 load 62 r load 63 op load 64 left_r @@ -166709,23 +165854,23 @@ call 73 pith_cstring_release void 1 72 load 74 simple_op call 75 pith_cstring_release void 1 74 ret 67 -label L2568 -label L2566 +label L2489 +label L2487 iconst 76 0 -store __and_76_2574 76 +store __and_76_2495 76 load 77 op strref 78 m51s242 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __and_76_2574 79 -brif 79 L2574 L2575 -label L2574 +store __and_76_2495 79 +brif 79 L2495 L2496 +label L2495 load 81 is_str_op -store __and_76_2574 81 -label L2575 -load 82 __and_76_2574 -brif 82 L2572 L2573 -label L2572 +store __and_76_2495 81 +label L2496 +load 82 __and_76_2495 +brif 82 L2493 L2494 +label L2493 strref 83 m51s1269 load 84 r call 85 int_to_string string 1 84 @@ -166766,20 +165911,20 @@ call 119 pith_list_get_value_strict int 2 117 118 load 120 right_r load 121 right_type call 122 ir_emitter_core_ir_release_owned_string_operand void 3 119 120 121 -jmp L2571 -label L2573 +jmp L2492 +label L2494 load 123 op strref 124 m51s479 call 125 pith_cstring_eq bool 2 123 124 call 126 pith_cstring_release void 1 124 -brif 125 L2576 L2577 -label L2576 +brif 125 L2497 L2498 +label L2497 load 127 is_str_op -brif 127 L2579 L2580 -label L2579 +brif 127 L2500 L2501 +label L2500 load 128 r -strref 129 m51s767 -strref 130 m51s714 +strref 129 m51s768 +strref 130 m51s715 load 131 left_r load 132 right_r call 133 ir_call_emit_ir_emit_call2 void 5 128 129 130 131 132 @@ -166799,21 +165944,21 @@ call 146 pith_list_get_value_strict int 2 144 145 load 147 right_r load 148 right_type call 149 ir_emitter_core_ir_release_owned_string_operand void 3 146 147 148 -jmp L2578 -label L2580 +jmp L2499 +label L2501 load 150 is_bytes_op -brif 150 L2581 L2582 -label L2581 +brif 150 L2502 L2503 +label L2502 load 151 r strref 152 m51s1328 -strref 153 m51s714 +strref 153 m51s715 load 154 left_r load 155 right_r call 156 ir_call_emit_ir_emit_call2 void 5 151 152 153 154 155 call 157 pith_cstring_release void 1 152 call 158 pith_cstring_release void 1 153 -jmp L2578 -label L2582 +jmp L2499 +label L2503 load 159 node call 160 ir_struct_registry_ir_binary_enum_eq_name string 1 159 strref 161 m51s83 @@ -166822,8 +165967,8 @@ iconst 164 1 sub 162 164 163 call 165 pith_cstring_release void 1 160 call 166 pith_cstring_release void 1 161 -brif 162 L2583 L2584 -label L2583 +brif 162 L2504 L2505 +label L2504 load 167 r strref 168 m51s1215 load 169 node @@ -166831,29 +165976,29 @@ call 170 ir_struct_registry_ir_binary_enum_eq_name string 1 169 concat 171 168 170 call 172 pith_cstring_release void 1 168 call 173 pith_cstring_release void 1 170 -strref 174 m51s714 +strref 174 m51s715 load 175 left_r load 176 right_r call 177 ir_call_emit_ir_emit_call2 void 5 167 171 174 175 176 call 178 pith_cstring_release void 1 171 call 179 pith_cstring_release void 1 174 -jmp L2578 -label L2584 +jmp L2499 +label L2505 load 180 r strref 181 m51s479 load 182 left_r load 183 right_r call 184 ir_operator_helpers_ir_emit_simple_binary void 4 180 181 182 183 call 185 pith_cstring_release void 1 181 -label L2578 -jmp L2571 -label L2577 +label L2499 +jmp L2492 +label L2498 load 186 op strref 187 m51s477 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L2585 L2586 -label L2585 +brif 188 L2506 L2507 +label L2506 load 190 node call 191 ir_struct_registry_ir_binary_enum_eq_name string 1 190 strref 192 m51s83 @@ -166862,8 +166007,8 @@ iconst 195 1 sub 193 195 194 call 196 pith_cstring_release void 1 191 call 197 pith_cstring_release void 1 192 -brif 193 L2588 L2589 -label L2588 +brif 193 L2509 L2510 +label L2509 call 198 ir_builder_ir_reg int 0 store eq_r 198 load 199 eq_r @@ -166873,7 +166018,7 @@ call 202 ir_struct_registry_ir_binary_enum_eq_name string 1 201 concat 203 200 202 call 204 pith_cstring_release void 1 200 call 205 pith_cstring_release void 1 202 -strref 206 m51s714 +strref 206 m51s715 load 207 left_r load 208 right_r call 209 ir_call_emit_ir_emit_call2 void 5 199 203 206 207 208 @@ -166919,8 +166064,8 @@ call 247 pith_cstring_release void 1 241 call 248 pith_cstring_release void 1 245 call 249 ir_builder_ir_emit void 1 246 call 250 pith_cstring_release void 1 246 -jmp L2587 -label L2589 +jmp L2508 +label L2510 load 251 r load 252 left_r load 253 right_r @@ -166928,8 +166073,8 @@ load 254 is_str_op load 255 is_bytes_op call 256 ir_emitter_core_ir_emit_binary_neq void 5 251 252 253 254 255 load 257 is_str_op -brif 257 L2591 L2592 -label L2591 +brif 257 L2512 L2513 +label L2512 load 258 node field 259 258 16 list children iconst 260 0 @@ -166944,12 +166089,12 @@ call 268 pith_list_get_value_strict int 2 266 267 load 269 right_r load 270 right_type call 271 ir_emitter_core_ir_release_owned_string_operand void 3 268 269 270 -jmp L2590 -label L2592 -label L2590 -label L2587 -jmp L2571 -label L2586 +jmp L2511 +label L2513 +label L2511 +label L2508 +jmp L2492 +label L2507 load 272 simple_op load 273 op call 274 ir_operator_helpers_ir_binary_simple_ir_op string 1 273 @@ -166959,78 +166104,78 @@ load 276 simple_op call 277 string_len int 1 276 iconst 278 0 gt 279 277 278 -brif 279 L2594 L2595 -label L2594 +brif 279 L2515 L2516 +label L2515 iconst 280 0 -store __and_280_2599 280 +store __and_280_2520 280 load 281 is_str_op -store __and_280_2599 281 -brif 281 L2599 L2600 -label L2599 +store __and_280_2520 281 +brif 281 L2520 L2521 +label L2520 load 282 simple_op call 283 ir_emitter_core_ir_binary_op_is_comparison bool 1 282 -store __and_280_2599 283 -label L2600 -load 284 __and_280_2599 -brif 284 L2597 L2598 -label L2597 +store __and_280_2520 283 +label L2521 +load 284 __and_280_2520 +brif 284 L2518 L2519 +label L2518 load 285 simple_op strref 286 m51s475 call 287 pith_cstring_eq bool 2 285 286 call 288 pith_cstring_release void 1 286 -brif 287 L2602 L2603 -label L2602 +brif 287 L2523 L2524 +label L2523 load 289 r strref 290 m51s1331 -strref 291 m51s714 +strref 291 m51s715 load 292 left_r load 293 right_r call 294 ir_call_emit_ir_emit_call2 void 5 289 290 291 292 293 call 295 pith_cstring_release void 1 290 call 296 pith_cstring_release void 1 291 -jmp L2601 -label L2603 +jmp L2522 +label L2524 load 297 simple_op strref 298 m51s469 call 299 pith_cstring_eq bool 2 297 298 call 300 pith_cstring_release void 1 298 -brif 299 L2604 L2605 -label L2604 +brif 299 L2525 L2526 +label L2525 load 301 r strref 302 m51s1330 -strref 303 m51s714 +strref 303 m51s715 load 304 left_r load 305 right_r call 306 ir_call_emit_ir_emit_call2 void 5 301 302 303 304 305 call 307 pith_cstring_release void 1 302 call 308 pith_cstring_release void 1 303 -jmp L2601 -label L2605 +jmp L2522 +label L2526 load 309 simple_op strref 310 m51s472 call 311 pith_cstring_eq bool 2 309 310 call 312 pith_cstring_release void 1 310 -brif 311 L2606 L2607 -label L2606 +brif 311 L2527 L2528 +label L2527 load 313 r strref 314 m51s1331 -strref 315 m51s714 +strref 315 m51s715 load 316 right_r load 317 left_r call 318 ir_call_emit_ir_emit_call2 void 5 313 314 315 316 317 call 319 pith_cstring_release void 1 314 call 320 pith_cstring_release void 1 315 -jmp L2601 -label L2607 +jmp L2522 +label L2528 load 321 r strref 322 m51s1330 -strref 323 m51s714 +strref 323 m51s715 load 324 right_r load 325 left_r call 326 ir_call_emit_ir_emit_call2 void 5 321 322 323 324 325 call 327 pith_cstring_release void 1 322 call 328 pith_cstring_release void 1 323 -label L2601 +label L2522 load 329 node field 330 329 16 list children iconst 331 0 @@ -167045,16 +166190,16 @@ call 339 pith_list_get_value_strict int 2 337 338 load 340 right_r load 341 right_type call 342 ir_emitter_core_ir_release_owned_string_operand void 3 339 340 341 -jmp L2596 -label L2598 +jmp L2517 +label L2519 load 343 r load 344 simple_op load 345 left_r load 346 right_r call 347 ir_operator_helpers_ir_emit_simple_binary void 4 343 344 345 346 -label L2596 -jmp L2593 -label L2595 +label L2517 +jmp L2514 +label L2516 strref 348 m51s1329 load 349 r call 350 int_to_string string 1 349 @@ -167088,8 +166233,8 @@ call 377 pith_cstring_release void 1 371 call 378 pith_cstring_release void 1 375 call 379 ir_builder_ir_emit void 1 376 call 380 pith_cstring_release void 1 376 -label L2593 -label L2571 +label L2514 +label L2492 load 381 r load 382 op call 383 pith_cstring_release void 1 382 @@ -167130,7 +166275,7 @@ call 13 ir_builder_ir_reg int 0 store exit_r 13 load 14 exit_r strref 15 m51s1235 -strref 16 m51s869 +strref 16 m51s870 load 17 one_r call 18 ir_call_emit_ir_emit_call1 void 4 14 15 16 17 call 19 pith_cstring_release void 1 15 @@ -167175,14 +166320,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 load 6 child_idx lte 7 5 6 -brif 7 L2609 L2610 -label L2609 +brif 7 L2530 L2531 +label L2530 strref 8 m51s83 load 9 child_node call 10 pith_struct_release void 1 9 ret 8 -label L2610 -label L2608 +label L2531 +label L2529 load 11 node field 12 11 16 list children load 13 child_idx @@ -167194,33 +166339,33 @@ call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store child_node 17 iconst 19 0 -store __and_19_2614 19 +store __and_19_2535 19 load 20 child_node field 21 20 0 string kind strref 22 m51s42 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __and_19_2614 23 -brif 23 L2614 L2615 -label L2614 +store __and_19_2535 23 +brif 23 L2535 L2536 +label L2535 load 25 child_node field 26 25 16 list children call 27 pith_list_len int 1 26 iconst 28 0 gt 29 27 28 -store __and_19_2614 29 -label L2615 -load 30 __and_19_2614 -brif 30 L2612 L2613 -label L2612 +store __and_19_2535 29 +label L2536 +load 30 __and_19_2535 +brif 30 L2533 L2534 +label L2533 load 31 child_node field 32 31 16 list children iconst 33 0 call 34 pith_list_get_value_strict int 2 32 33 store expr_idx 34 -jmp L2611 -label L2613 -label L2611 +jmp L2532 +label L2534 +label L2532 load 35 expr_idx call 36 ir_emitter_core_ir_infer_type string 1 35 load 37 child_node @@ -167275,7 +166420,7 @@ call 35 ir_builder_ir_reg int 0 store assert_r 35 load 36 assert_r strref 37 m51s1308 -strref 38 m51s869 +strref 38 m51s870 load 39 arg_regs iconst 40 0 call 41 pith_list_get_value_strict int 2 39 40 @@ -167316,138 +166461,138 @@ func ir_emitter_core_ir_assert_eq_kind 2 string param left param right iconst 2 0 -store __or_2_2619 2 +store __or_2_2540 2 load 3 left -strref 4 m51s716 +strref 4 m51s717 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_2619 5 -brif 5 L2620 L2619 -label L2619 +store __or_2_2540 5 +brif 5 L2541 L2540 +label L2540 load 7 right -strref 8 m51s716 +strref 8 m51s717 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_2619 9 -label L2620 -load 11 __or_2_2619 -brif 11 L2617 L2618 -label L2617 -strref 12 m51s716 +store __or_2_2540 9 +label L2541 +load 11 __or_2_2540 +brif 11 L2538 L2539 +label L2538 +strref 12 m51s717 ret 12 -label L2618 -label L2616 +label L2539 +label L2537 iconst 13 0 -store __or_13_2624 13 +store __or_13_2545 13 load 14 left -strref 15 m51s715 +strref 15 m51s716 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_13_2624 16 -brif 16 L2625 L2624 -label L2624 +store __or_13_2545 16 +brif 16 L2546 L2545 +label L2545 load 18 right -strref 19 m51s715 +strref 19 m51s716 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_13_2624 20 -label L2625 -load 22 __or_13_2624 -brif 22 L2622 L2623 -label L2622 -strref 23 m51s715 +store __or_13_2545 20 +label L2546 +load 22 __or_13_2545 +brif 22 L2543 L2544 +label L2543 +strref 23 m51s716 ret 23 -label L2623 -label L2621 +label L2544 +label L2542 iconst 24 0 -store __or_24_2629 24 +store __or_24_2550 24 load 25 left -strref 26 m51s709 +strref 26 m51s710 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2629 27 -brif 27 L2630 L2629 -label L2629 +store __or_24_2550 27 +brif 27 L2551 L2550 +label L2550 load 29 right -strref 30 m51s709 +strref 30 m51s710 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_24_2629 31 -label L2630 -load 33 __or_24_2629 -brif 33 L2627 L2628 -label L2627 -strref 34 m51s709 +store __or_24_2550 31 +label L2551 +load 33 __or_24_2550 +brif 33 L2548 L2549 +label L2548 +strref 34 m51s710 ret 34 -label L2628 -label L2626 +label L2549 +label L2547 iconst 35 0 -store __or_35_2634 35 +store __or_35_2555 35 load 36 left strref 37 m51s20 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __or_35_2634 38 -brif 38 L2635 L2634 -label L2634 +store __or_35_2555 38 +brif 38 L2556 L2555 +label L2555 load 40 right strref 41 m51s20 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_35_2634 42 -label L2635 -load 44 __or_35_2634 -brif 44 L2632 L2633 -label L2632 +store __or_35_2555 42 +label L2556 +load 44 __or_35_2555 +brif 44 L2553 L2554 +label L2553 strref 45 m51s20 ret 45 -label L2633 -label L2631 +label L2554 +label L2552 iconst 46 0 -store __or_46_2639 46 +store __or_46_2560 46 load 47 left -strref 48 m51s713 +strref 48 m51s714 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_46_2639 49 -brif 49 L2640 L2639 -label L2639 +store __or_46_2560 49 +brif 49 L2561 L2560 +label L2560 load 51 right -strref 52 m51s713 +strref 52 m51s714 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_46_2639 53 -label L2640 -load 55 __or_46_2639 -brif 55 L2637 L2638 -label L2637 -strref 56 m51s713 +store __or_46_2560 53 +label L2561 +load 55 __or_46_2560 +brif 55 L2558 L2559 +label L2558 +strref 56 m51s714 ret 56 -label L2638 -label L2636 +label L2559 +label L2557 iconst 57 0 -store __or_57_2644 57 +store __or_57_2565 57 load 58 left -strref 59 m51s714 +strref 59 m51s715 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __or_57_2644 60 -brif 60 L2645 L2644 -label L2644 +store __or_57_2565 60 +brif 60 L2566 L2565 +label L2565 load 62 right -strref 63 m51s714 +strref 63 m51s715 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_57_2644 64 -label L2645 -load 66 __or_57_2644 -brif 66 L2642 L2643 -label L2642 -strref 67 m51s714 +store __or_57_2565 64 +label L2566 +load 66 __or_57_2565 +brif 66 L2563 L2564 +label L2563 +strref 67 m51s715 ret 67 -label L2643 -label L2641 -strref 68 m51s712 +label L2564 +label L2562 +strref 68 m51s713 ret 68 iconst 69 0 ret 69 @@ -167455,65 +166600,65 @@ endfunc func ir_emitter_core_ir_assert_eq_kind_code 1 int param kind load 1 kind -strref 2 m51s713 +strref 2 m51s714 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2647 L2648 -label L2647 +brif 3 L2568 L2569 +label L2568 iconst 5 1 ret 5 -label L2648 -label L2646 +label L2569 +label L2567 load 6 kind -strref 7 m51s716 +strref 7 m51s717 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2650 L2651 -label L2650 +brif 8 L2571 L2572 +label L2571 iconst 10 2 ret 10 -label L2651 -label L2649 +label L2572 +label L2570 load 11 kind -strref 12 m51s715 +strref 12 m51s716 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2653 L2654 -label L2653 +brif 13 L2574 L2575 +label L2574 iconst 15 3 ret 15 -label L2654 -label L2652 +label L2575 +label L2573 load 16 kind -strref 17 m51s714 +strref 17 m51s715 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2656 L2657 -label L2656 +brif 18 L2577 L2578 +label L2577 iconst 20 4 ret 20 -label L2657 -label L2655 +label L2578 +label L2576 load 21 kind strref 22 m51s20 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2659 L2660 -label L2659 +brif 23 L2580 L2581 +label L2580 iconst 25 5 ret 25 -label L2660 -label L2658 +label L2581 +label L2579 load 26 kind -strref 27 m51s709 +strref 27 m51s710 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2662 L2663 -label L2662 +brif 28 L2583 L2584 +label L2583 iconst 30 6 ret 30 -label L2663 -label L2661 +label L2584 +label L2582 iconst 31 0 ret 31 iconst 32 0 @@ -167546,14 +166691,14 @@ call 17 pith_cstring_release void 1 14 call 18 pith_cstring_release void 1 8 store kind 15 load 19 kind -strref 20 m51s716 +strref 20 m51s717 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L2665 L2666 -label L2665 +brif 21 L2586 L2587 +label L2586 load 23 cmp_r -strref 24 m51s767 -strref 25 m51s714 +strref 24 m51s768 +strref 25 m51s715 load 26 arg_regs iconst 27 0 call 28 pith_list_get_value_strict int 2 26 27 @@ -167563,17 +166708,17 @@ call 31 pith_list_get_value_strict int 2 29 30 call 32 ir_call_emit_ir_emit_call2 void 5 23 24 25 28 31 call 33 pith_cstring_release void 1 24 call 34 pith_cstring_release void 1 25 -jmp L2664 -label L2666 +jmp L2585 +label L2587 load 35 kind -strref 36 m51s715 +strref 36 m51s716 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -brif 37 L2667 L2668 -label L2667 +brif 37 L2588 L2589 +label L2588 load 39 cmp_r strref 40 m51s1328 -strref 41 m51s714 +strref 41 m51s715 load 42 arg_regs iconst 43 0 call 44 pith_list_get_value_strict int 2 42 43 @@ -167583,17 +166728,17 @@ call 47 pith_list_get_value_strict int 2 45 46 call 48 ir_call_emit_ir_emit_call2 void 5 39 40 41 44 47 call 49 pith_cstring_release void 1 40 call 50 pith_cstring_release void 1 41 -jmp L2664 -label L2668 +jmp L2585 +label L2589 load 51 kind -strref 52 m51s709 +strref 52 m51s710 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L2669 L2670 -label L2669 +brif 53 L2590 L2591 +label L2590 load 55 cmp_r strref 56 m51s1327 -strref 57 m51s714 +strref 57 m51s715 load 58 arg_regs iconst 59 0 call 60 pith_list_get_value_strict int 2 58 59 @@ -167603,17 +166748,17 @@ call 63 pith_list_get_value_strict int 2 61 62 call 64 ir_call_emit_ir_emit_call2 void 5 55 56 57 60 63 call 65 pith_cstring_release void 1 56 call 66 pith_cstring_release void 1 57 -jmp L2664 -label L2670 +jmp L2585 +label L2591 load 67 kind strref 68 m51s20 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L2671 L2672 -label L2671 +brif 69 L2592 L2593 +label L2592 load 71 cmp_r strref 72 m51s1326 -strref 73 m51s714 +strref 73 m51s715 load 74 arg_regs iconst 75 0 call 76 pith_list_get_value_strict int 2 74 75 @@ -167623,8 +166768,8 @@ call 79 pith_list_get_value_strict int 2 77 78 call 80 ir_call_emit_ir_emit_call2 void 5 71 72 73 76 79 call 81 pith_cstring_release void 1 72 call 82 pith_cstring_release void 1 73 -jmp L2664 -label L2672 +jmp L2585 +label L2593 load 83 cmp_r strref 84 m51s479 load 85 arg_regs @@ -167635,7 +166780,7 @@ iconst 89 1 call 90 pith_list_get_value_strict int 2 88 89 call 91 ir_operator_helpers_ir_emit_simple_binary void 4 83 84 87 90 call 92 pith_cstring_release void 1 84 -label L2664 +label L2585 load 93 ok_l call 94 ir_builder_ir_label string 0 call 95 pith_cstring_release void 1 93 @@ -167645,8 +166790,8 @@ call 97 ir_builder_ir_label string 0 call 98 pith_cstring_release void 1 96 store fail_l 97 load 99 want_equal -brif 99 L2674 L2675 -label L2674 +brif 99 L2595 L2596 +label L2595 strref 100 m51s882 load 101 cmp_r call 102 int_to_string string 1 101 @@ -167669,8 +166814,8 @@ concat 118 114 117 call 119 pith_cstring_release void 1 114 call 120 ir_builder_ir_emit void 1 118 call 121 pith_cstring_release void 1 118 -jmp L2673 -label L2675 +jmp L2594 +label L2596 strref 122 m51s882 load 123 cmp_r call 124 int_to_string string 1 123 @@ -167693,7 +166838,7 @@ concat 140 136 139 call 141 pith_cstring_release void 1 136 call 142 ir_builder_ir_emit void 1 140 call 143 pith_cstring_release void 1 140 -label L2673 +label L2594 load 144 fail_l call 145 ir_call_emit_ir_emit_label void 1 144 call 146 ir_builder_ir_reg int 0 @@ -167721,20 +166866,20 @@ strref 166 m51s1325 call 167 pith_cstring_release void 1 165 store reporter 166 load 168 want_equal -brif 168 L2677 L2678 -label L2677 +brif 168 L2598 L2599 +label L2598 load 169 reporter strref 170 m51s1324 call 171 pith_cstring_release void 1 169 store reporter 170 -jmp L2676 -label L2678 -label L2676 +jmp L2597 +label L2599 +label L2597 call 172 ir_builder_ir_reg int 0 store fail_r 172 load 173 fail_r load 174 reporter -strref 175 m51s869 +strref 175 m51s870 load 176 arg_regs iconst 177 0 call 178 pith_list_get_value_strict int 2 176 177 @@ -167808,8 +166953,8 @@ load 14 arg_regs call 15 pith_list_len int 1 14 iconst 16 2 lt 17 15 16 -brif 17 L2680 L2681 -label L2680 +brif 17 L2601 L2602 +label L2601 call 18 ir_result_abi_ir_zero_reg int 0 load 19 arg_regs call 20 pith_list_release_handle void 1 19 @@ -167824,8 +166969,8 @@ call 28 pith_list_release_handle void 1 27 load 29 decode_path_name call 30 pith_cstring_release void 1 29 ret 18 -label L2681 -label L2679 +label L2602 +label L2600 load 31 arg_regs iconst 32 0 call 33 pith_list_get_value_strict int 2 31 32 @@ -167878,16 +167023,16 @@ load 72 generic_ret_type call 73 string_len int 1 72 iconst 74 0 eq 75 73 74 -brif 75 L2683 L2684 -label L2683 +brif 75 L2604 L2605 +label L2604 load 76 generic_ret_type load 77 idx call 78 ir_emitter_core_ir_infer_type string 1 77 call 79 pith_cstring_release void 1 76 store generic_ret_type 78 -jmp L2682 -label L2684 -label L2682 +jmp L2603 +label L2605 +label L2603 load 80 concrete_types load 81 callee_node call 82 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 81 @@ -167897,8 +167042,8 @@ load 84 concrete_types call 85 pith_list_len int 1 84 iconst 86 0 eq 87 85 86 -brif 87 L2686 L2687 -label L2686 +brif 87 L2607 L2608 +label L2607 load 88 concrete_types strref 89 m51s1142 load 90 node @@ -167906,9 +167051,9 @@ call 91 ir_emitter_core_ir_infer_generic_concrete_types list_string 2 89 90 call 92 pith_cstring_release void 1 89 call 93 pith_list_release_handle void 1 88 store concrete_types 91 -jmp L2685 -label L2687 -label L2685 +jmp L2606 +label L2608 +label L2606 load 94 decode_path_name strref 95 m51s975 load 96 concrete_types @@ -167997,14 +167142,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 3 neq 6 4 5 -brif 6 L2689 L2690 -label L2689 +brif 6 L2610 L2611 +label L2610 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2690 -label L2688 +label L2611 +label L2609 load 10 idx load 11 node field 12 11 16 list children @@ -168028,15 +167173,15 @@ load 2 fn_idx call 3 ir_emitter_core_ir_string_expr_is_borrowed bool 1 2 iconst 5 1 sub 4 5 3 -brif 4 L2692 L2693 -label L2692 +brif 4 L2613 L2614 +label L2613 load 6 fn_r strref 7 m51s872 call 8 ir_ownership_ir_rc_release_reg void 2 6 7 call 9 pith_cstring_release void 1 7 -jmp L2691 -label L2693 -label L2691 +jmp L2612 +label L2614 +label L2612 iconst 10 0 ret 10 endfunc @@ -168092,15 +167237,15 @@ load 37 result_kind call 38 string_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L2695 L2696 -label L2695 +brif 40 L2616 L2617 +label L2616 load 41 result_kind strref 42 m51s20 call 43 pith_cstring_release void 1 41 store result_kind 42 -jmp L2694 -label L2696 -label L2694 +jmp L2615 +label L2617 +label L2615 load 44 elem_kind load 45 list_idx call 46 ir_type_helpers_ir_list_element_kind string 1 45 @@ -168122,16 +167267,16 @@ load 58 result_elem_kind call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L2698 L2699 -label L2698 +brif 61 L2619 L2620 +label L2619 load 62 result_elem_kind load 63 mapped_kind call 64 ir_struct_registry_ir_rc_kind string 1 63 call 65 pith_cstring_release void 1 62 store result_elem_kind 64 -jmp L2697 -label L2699 -label L2697 +jmp L2618 +label L2620 +label L2618 load 66 ctor load 67 result_elem_kind call 68 ir_emitter_core_ir_list_ctor_for_elem_kind string 1 67 @@ -168195,14 +167340,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 3 neq 6 4 5 -brif 6 L2701 L2702 -label L2701 +brif 6 L2622 L2623 +label L2622 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2702 -label L2700 +label L2623 +label L2621 load 10 idx load 11 node field 12 11 16 list children @@ -168267,29 +167412,29 @@ load 35 result_kind call 36 string_len int 1 35 iconst 37 0 eq 38 36 37 -brif 38 L2704 L2705 -label L2704 +brif 38 L2625 L2626 +label L2625 load 39 result_kind load 40 list_idx call 41 ir_emitter_core_ir_infer_type string 1 40 call 42 pith_cstring_release void 1 39 store result_kind 41 -jmp L2703 -label L2705 -label L2703 +jmp L2624 +label L2626 +label L2624 load 43 result_kind call 44 string_len int 1 43 iconst 45 0 eq 46 44 45 -brif 46 L2707 L2708 -label L2707 +brif 46 L2628 L2629 +label L2628 load 47 result_kind strref 48 m51s20 call 49 pith_cstring_release void 1 47 store result_kind 48 -jmp L2706 -label L2708 -label L2706 +jmp L2627 +label L2629 +label L2627 load 50 elem_kind load 51 list_idx call 52 ir_type_helpers_ir_list_element_kind string 1 51 @@ -168349,14 +167494,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 4 neq 6 4 5 -brif 6 L2710 L2711 -label L2710 +brif 6 L2631 L2632 +label L2631 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2711 -label L2709 +label L2632 +label L2630 load 10 idx load 11 node field 12 11 16 list children @@ -168456,29 +167601,29 @@ load 62 result_kind call 63 string_len int 1 62 iconst 64 0 eq 65 63 64 -brif 65 L2713 L2714 -label L2713 +brif 65 L2634 L2635 +label L2634 load 66 result_kind load 67 init_idx call 68 ir_emitter_core_ir_infer_type string 1 67 call 69 pith_cstring_release void 1 66 store result_kind 68 -jmp L2712 -label L2714 -label L2712 +jmp L2633 +label L2635 +label L2633 load 70 result_kind call 71 string_len int 1 70 iconst 72 0 eq 73 71 72 -brif 73 L2716 L2717 -label L2716 +brif 73 L2637 L2638 +label L2637 load 74 result_kind -strref 75 m51s869 +strref 75 m51s870 call 76 pith_cstring_release void 1 74 store result_kind 75 -jmp L2715 -label L2717 -label L2715 +jmp L2636 +label L2638 +label L2636 load 77 list_r load 78 reducer_name load 79 acc_name @@ -168526,38 +167671,38 @@ load 3 callee_name strref 4 m51s19 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L2719 L2720 -label L2719 +brif 5 L2640 L2641 +label L2640 load 7 idx load 8 node call 9 ir_emitter_core_ir_emit_list_map_call int 2 7 8 ret 9 -label L2720 -label L2718 +label L2641 +label L2639 load 10 callee_name strref 11 m51s267 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L2722 L2723 -label L2722 +brif 12 L2643 L2644 +label L2643 load 14 idx load 15 node call 16 ir_emitter_core_ir_emit_list_filter_call int 2 14 15 ret 16 -label L2723 -label L2721 +label L2644 +label L2642 load 17 callee_name strref 18 m51s266 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2725 L2726 -label L2725 +brif 19 L2646 L2647 +label L2646 load 21 idx load 22 node call 23 ir_emitter_core_ir_emit_list_reduce_call int 2 21 22 ret 23 -label L2726 -label L2724 +label L2647 +label L2645 iconst 24 1 iconst 26 0 sub 25 26 24 @@ -168589,14 +167734,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L2728 L2729 -label L2728 +brif 7 L2649 L2650 +label L2649 call 8 ir_list_helpers_ir_emit_list_missing_index_result int 0 load 9 elem_kind call 10 pith_cstring_release void 1 9 ret 8 -label L2729 -label L2727 +label L2650 +label L2648 load 11 node field 12 11 16 list children iconst 13 0 @@ -168618,18 +167763,18 @@ call 24 ir_type_helpers_ir_list_element_kind string 1 23 call 25 pith_cstring_release void 1 22 store elem_kind 24 load 26 obj_type -strref 27 m51s709 +strref 27 m51s710 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2731 L2732 -label L2731 +brif 28 L2652 L2653 +label L2652 load 30 elem_kind -strref 31 m51s716 +strref 31 m51s717 call 32 pith_cstring_release void 1 30 store elem_kind 31 -jmp L2730 -label L2732 -label L2730 +jmp L2651 +label L2653 +label L2651 load 33 list_r load 34 target_r load 35 elem_kind @@ -168892,31 +168037,31 @@ load 4 obj_type call 5 ir_list_helpers_ir_is_list_runtime_type bool 1 4 iconst 7 1 sub 6 7 5 -brif 6 L2734 L2735 -label L2734 +brif 6 L2655 L2656 +label L2655 iconst 8 1 iconst 10 0 sub 9 10 8 ret 9 -label L2735 -label L2733 +label L2656 +label L2654 load 11 mname strref 12 m51s252 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2737 L2738 -label L2737 +brif 13 L2658 L2659 +label L2658 load 15 node call 16 ir_emitter_core_ir_emit_list_is_empty_method int 1 15 ret 16 -label L2738 -label L2736 +label L2659 +label L2657 load 17 mname strref 18 m51s270 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2740 L2741 -label L2740 +brif 19 L2661 L2662 +label L2661 load 21 node load 22 obj_type call 23 ir_emitter_core_ir_emit_list_index_search int 2 21 22 @@ -168924,26 +168069,26 @@ store raw_idx_r 23 load 24 raw_idx_r call 25 ir_emitter_core_ir_emit_index_search_to_optional int 1 24 ret 25 -label L2741 -label L2739 +label L2662 +label L2660 load 26 mname strref 27 m51s250 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2743 L2744 -label L2743 +brif 28 L2664 L2665 +label L2664 load 30 node load 31 obj_type call 32 ir_emitter_core_ir_emit_list_contains_method int 2 30 31 ret 32 -label L2744 -label L2742 +label L2665 +label L2663 load 33 mname strref 34 m51s19 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L2746 L2747 -label L2746 +brif 35 L2667 L2668 +label L2667 load 37 idx load 38 node field 39 38 16 list children @@ -168954,14 +168099,14 @@ iconst 43 0 call 44 ir_emitter_core_ir_method_call_arg_expr int 2 42 43 call 45 ir_emitter_core_ir_emit_list_map_lowering int 3 37 41 44 ret 45 -label L2747 -label L2745 +label L2668 +label L2666 load 46 mname strref 47 m51s267 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -brif 48 L2749 L2750 -label L2749 +brif 48 L2670 L2671 +label L2670 load 50 idx load 51 node field 52 51 16 list children @@ -168972,14 +168117,14 @@ iconst 56 0 call 57 ir_emitter_core_ir_method_call_arg_expr int 2 55 56 call 58 ir_emitter_core_ir_emit_list_filter_lowering int 3 50 54 57 ret 58 -label L2750 -label L2748 +label L2671 +label L2669 load 59 mname strref 60 m51s266 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L2752 L2753 -label L2752 +brif 61 L2673 L2674 +label L2673 load 63 idx load 64 node field 65 64 16 list children @@ -168993,8 +168138,8 @@ iconst 72 1 call 73 ir_emitter_core_ir_method_call_arg_expr int 2 71 72 call 74 ir_emitter_core_ir_emit_list_reduce_lowering int 4 63 67 70 73 ret 74 -label L2753 -label L2751 +label L2674 +label L2672 iconst 75 1 iconst 77 0 sub 76 77 75 @@ -169007,25 +168152,25 @@ param idx param node param callee_idx iconst 3 0 -store __or_3_2757 3 +store __or_3_2678 3 load 4 callee_idx strref 5 m51s398 call 6 ir_alias_registry_ir_is_json_decode_callee bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_2757 6 -brif 6 L2758 L2757 -label L2757 +store __or_3_2678 6 +brif 6 L2679 L2678 +label L2678 load 8 callee_idx strref 9 m51s398 strref 10 m51s1138 call 11 ir_emitter_core_ir_is_local_generic_callee bool 3 8 9 10 call 12 pith_cstring_release void 1 9 call 13 pith_cstring_release void 1 10 -store __or_3_2757 11 -label L2758 -load 14 __or_3_2757 -brif 14 L2755 L2756 -label L2755 +store __or_3_2678 11 +label L2679 +load 14 __or_3_2678 +brif 14 L2676 L2677 +label L2676 load 15 idx load 16 node iconst 17 0 @@ -169035,28 +168180,28 @@ call 20 ir_decode_emit_ir_emit_json_decode_call int 5 15 16 17 18 19 call 21 pith_closure_release void 1 18 call 22 pith_closure_release void 1 19 ret 20 -label L2756 -label L2754 +label L2677 +label L2675 iconst 23 0 -store __or_23_2762 23 +store __or_23_2683 23 load 24 callee_idx strref 25 m51s397 call 26 ir_alias_registry_ir_is_json_decode_callee bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_23_2762 26 -brif 26 L2763 L2762 -label L2762 +store __or_23_2683 26 +brif 26 L2684 L2683 +label L2683 load 28 callee_idx strref 29 m51s397 strref 30 m51s1138 call 31 ir_emitter_core_ir_is_local_generic_callee bool 3 28 29 30 call 32 pith_cstring_release void 1 29 call 33 pith_cstring_release void 1 30 -store __or_23_2762 31 -label L2763 -load 34 __or_23_2762 -brif 34 L2760 L2761 -label L2760 +store __or_23_2683 31 +label L2684 +load 34 __or_23_2683 +brif 34 L2681 L2682 +label L2681 load 35 idx load 36 node iconst 37 1 @@ -169066,28 +168211,28 @@ call 40 ir_decode_emit_ir_emit_json_decode_call int 5 35 36 37 38 39 call 41 pith_closure_release void 1 38 call 42 pith_closure_release void 1 39 ret 40 -label L2761 -label L2759 +label L2682 +label L2680 iconst 43 0 -store __or_43_2767 43 +store __or_43_2688 43 load 44 callee_idx strref 45 m51s939 call 46 ir_alias_registry_ir_is_json_decode_callee bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __or_43_2767 46 -brif 46 L2768 L2767 -label L2767 +store __or_43_2688 46 +brif 46 L2689 L2688 +label L2688 load 48 callee_idx strref 49 m51s939 strref 50 m51s982 call 51 ir_emitter_core_ir_is_local_generic_callee bool 3 48 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 -store __or_43_2767 51 -label L2768 -load 54 __or_43_2767 -brif 54 L2765 L2766 -label L2765 +store __or_43_2688 51 +label L2689 +load 54 __or_43_2688 +brif 54 L2686 L2687 +label L2686 load 55 idx load 56 node closure_ref 57 ir_emitter_core___fnval_0 @@ -169096,28 +168241,28 @@ call 59 ir_decode_emit_ir_emit_json_decode_object_call int 4 55 56 57 58 call 60 pith_closure_release void 1 57 call 61 pith_closure_release void 1 58 ret 59 -label L2766 -label L2764 +label L2687 +label L2685 iconst 62 0 -store __or_62_2772 62 +store __or_62_2693 62 load 63 callee_idx strref 64 m51s975 call 65 ir_alias_registry_ir_is_json_decode_callee bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_62_2772 65 -brif 65 L2773 L2772 -label L2772 +store __or_62_2693 65 +brif 65 L2694 L2693 +label L2693 load 67 callee_idx strref 68 m51s975 strref 69 m51s982 call 70 ir_emitter_core_ir_is_local_generic_callee bool 3 67 68 69 call 71 pith_cstring_release void 1 68 call 72 pith_cstring_release void 1 69 -store __or_62_2772 70 -label L2773 -load 73 __or_62_2772 -brif 73 L2770 L2771 -label L2770 +store __or_62_2693 70 +label L2694 +load 73 __or_62_2693 +brif 73 L2691 L2692 +label L2691 load 74 idx load 75 node iconst 76 0 @@ -169127,28 +168272,28 @@ call 79 ir_decode_emit_ir_emit_json_decode_path_call int 5 74 75 76 77 78 call 80 pith_closure_release void 1 77 call 81 pith_closure_release void 1 78 ret 79 -label L2771 -label L2769 +label L2692 +label L2690 iconst 82 0 -store __or_82_2777 82 +store __or_82_2698 82 load 83 callee_idx strref 84 m51s1142 call 85 ir_alias_registry_ir_is_json_decode_callee bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __or_82_2777 85 -brif 85 L2778 L2777 -label L2777 +store __or_82_2698 85 +brif 85 L2699 L2698 +label L2698 load 87 callee_idx strref 88 m51s1142 strref 89 m51s1138 call 90 ir_emitter_core_ir_is_local_generic_callee bool 3 87 88 89 call 91 pith_cstring_release void 1 88 call 92 pith_cstring_release void 1 89 -store __or_82_2777 90 -label L2778 -load 93 __or_82_2777 -brif 93 L2775 L2776 -label L2775 +store __or_82_2698 90 +label L2699 +load 93 __or_82_2698 +brif 93 L2696 L2697 +label L2696 load 94 idx load 95 node iconst 96 1 @@ -169158,28 +168303,28 @@ call 99 ir_decode_emit_ir_emit_json_decode_path_call int 5 94 95 96 97 98 call 100 pith_closure_release void 1 97 call 101 pith_closure_release void 1 98 ret 99 -label L2776 -label L2774 +label L2697 +label L2695 iconst 102 0 -store __or_102_2782 102 +store __or_102_2703 102 load 103 callee_idx strref 104 m51s1313 call 105 ir_alias_registry_ir_is_json_decode_callee bool 2 103 104 call 106 pith_cstring_release void 1 104 -store __or_102_2782 105 -brif 105 L2783 L2782 -label L2782 +store __or_102_2703 105 +brif 105 L2704 L2703 +label L2703 load 107 callee_idx strref 108 m51s1313 strref 109 m51s1311 call 110 ir_emitter_core_ir_is_local_generic_callee bool 3 107 108 109 call 111 pith_cstring_release void 1 108 call 112 pith_cstring_release void 1 109 -store __or_102_2782 110 -label L2783 -load 113 __or_102_2782 -brif 113 L2780 L2781 -label L2780 +store __or_102_2703 110 +label L2704 +load 113 __or_102_2703 +brif 113 L2701 L2702 +label L2701 load 114 idx load 115 node iconst 116 0 @@ -169189,28 +168334,28 @@ call 119 ir_decode_emit_ir_emit_json_decode_file_call int 5 114 115 116 117 118 call 120 pith_closure_release void 1 117 call 121 pith_closure_release void 1 118 ret 119 -label L2781 -label L2779 +label L2702 +label L2700 iconst 122 0 -store __or_122_2787 122 +store __or_122_2708 122 load 123 callee_idx strref 124 m51s1312 call 125 ir_alias_registry_ir_is_json_decode_callee bool 2 123 124 call 126 pith_cstring_release void 1 124 -store __or_122_2787 125 -brif 125 L2788 L2787 -label L2787 +store __or_122_2708 125 +brif 125 L2709 L2708 +label L2708 load 127 callee_idx strref 128 m51s1312 strref 129 m51s1311 call 130 ir_emitter_core_ir_is_local_generic_callee bool 3 127 128 129 call 131 pith_cstring_release void 1 128 call 132 pith_cstring_release void 1 129 -store __or_122_2787 130 -label L2788 -load 133 __or_122_2787 -brif 133 L2785 L2786 -label L2785 +store __or_122_2708 130 +label L2709 +load 133 __or_122_2708 +brif 133 L2706 L2707 +label L2706 load 134 idx load 135 node iconst 136 1 @@ -169220,8 +168365,8 @@ call 139 ir_decode_emit_ir_emit_json_decode_file_call int 5 134 135 136 137 138 call 140 pith_closure_release void 1 137 call 141 pith_closure_release void 1 138 ret 139 -label L2786 -label L2784 +label L2707 +label L2705 iconst 142 0 iconst 143 1 sub 144 142 143 @@ -169235,25 +168380,25 @@ param node param callee_idx param callee_node iconst 4 0 -store __or_4_2792 4 +store __or_4_2713 4 load 5 callee_idx strref 6 m51s398 call 7 ir_alias_registry_ir_is_handle_decode_callee bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __or_4_2792 7 -brif 7 L2793 L2792 -label L2792 +store __or_4_2713 7 +brif 7 L2714 L2713 +label L2713 load 9 callee_idx strref 10 m51s398 strref 11 m51s982 call 12 ir_emitter_core_ir_is_local_generic_callee bool 3 9 10 11 call 13 pith_cstring_release void 1 10 call 14 pith_cstring_release void 1 11 -store __or_4_2792 12 -label L2793 -load 15 __or_4_2792 -brif 15 L2790 L2791 -label L2790 +store __or_4_2713 12 +label L2714 +load 15 __or_4_2713 +brif 15 L2711 L2712 +label L2711 load 16 idx load 17 node iconst 18 0 @@ -169263,28 +168408,28 @@ call 21 ir_decode_emit_ir_emit_handle_decode_call int 5 16 17 18 19 20 call 22 pith_closure_release void 1 19 call 23 pith_closure_release void 1 20 ret 21 -label L2791 -label L2789 +label L2712 +label L2710 iconst 24 0 -store __or_24_2797 24 +store __or_24_2718 24 load 25 callee_idx strref 26 m51s397 call 27 ir_alias_registry_ir_is_handle_decode_callee bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2797 27 -brif 27 L2798 L2797 -label L2797 +store __or_24_2718 27 +brif 27 L2719 L2718 +label L2718 load 29 callee_idx strref 30 m51s397 strref 31 m51s1138 call 32 ir_emitter_core_ir_is_local_generic_callee bool 3 29 30 31 call 33 pith_cstring_release void 1 30 call 34 pith_cstring_release void 1 31 -store __or_24_2797 32 -label L2798 -load 35 __or_24_2797 -brif 35 L2795 L2796 -label L2795 +store __or_24_2718 32 +label L2719 +load 35 __or_24_2718 +brif 35 L2716 L2717 +label L2716 load 36 idx load 37 node iconst 38 1 @@ -169294,14 +168439,14 @@ call 41 ir_decode_emit_ir_emit_handle_decode_call int 5 36 37 38 39 40 call 42 pith_closure_release void 1 39 call 43 pith_closure_release void 1 40 ret 41 -label L2796 -label L2794 +label L2717 +label L2715 load 44 callee_idx strref 45 m51s975 call 46 ir_alias_registry_ir_is_handle_decode_callee bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L2800 L2801 -label L2800 +brif 46 L2721 L2722 +label L2721 load 48 idx load 49 node iconst 50 0 @@ -169311,14 +168456,14 @@ call 53 ir_decode_emit_ir_emit_handle_decode_path_call int 5 48 49 50 51 52 call 54 pith_closure_release void 1 51 call 55 pith_closure_release void 1 52 ret 53 -label L2801 -label L2799 +label L2722 +label L2720 load 56 callee_idx strref 57 m51s1142 call 58 ir_alias_registry_ir_is_handle_decode_callee bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L2803 L2804 -label L2803 +brif 58 L2724 L2725 +label L2724 load 60 idx load 61 node iconst 62 1 @@ -169328,43 +168473,43 @@ call 65 ir_decode_emit_ir_emit_handle_decode_path_call int 5 60 61 62 63 64 call 66 pith_closure_release void 1 63 call 67 pith_closure_release void 1 64 ret 65 -label L2804 -label L2802 +label L2725 +label L2723 load 68 callee_idx strref 69 m51s1142 strref 70 m51s1138 call 71 ir_emitter_core_ir_is_local_generic_callee bool 3 68 69 70 call 72 pith_cstring_release void 1 69 call 73 pith_cstring_release void 1 70 -brif 71 L2806 L2807 -label L2806 +brif 71 L2727 L2728 +label L2727 load 74 idx load 75 node load 76 callee_node call 77 ir_emitter_core_ir_emit_local_handle_decode_text_path_call int 3 74 75 76 ret 77 -label L2807 -label L2805 +label L2728 +label L2726 iconst 78 0 -store __or_78_2811 78 +store __or_78_2732 78 load 79 callee_idx strref 80 m51s1313 call 81 ir_alias_registry_ir_is_handle_decode_callee bool 2 79 80 call 82 pith_cstring_release void 1 80 -store __or_78_2811 81 -brif 81 L2812 L2811 -label L2811 +store __or_78_2732 81 +brif 81 L2733 L2732 +label L2732 load 83 callee_idx strref 84 m51s1313 strref 85 m51s1311 call 86 ir_emitter_core_ir_is_local_generic_callee bool 3 83 84 85 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 85 -store __or_78_2811 86 -label L2812 -load 89 __or_78_2811 -brif 89 L2809 L2810 -label L2809 +store __or_78_2732 86 +label L2733 +load 89 __or_78_2732 +brif 89 L2730 L2731 +label L2730 load 90 idx load 91 node iconst 92 0 @@ -169374,28 +168519,28 @@ call 95 ir_decode_emit_ir_emit_handle_decode_file_call int 5 90 91 92 93 94 call 96 pith_closure_release void 1 93 call 97 pith_closure_release void 1 94 ret 95 -label L2810 -label L2808 +label L2731 +label L2729 iconst 98 0 -store __or_98_2816 98 +store __or_98_2737 98 load 99 callee_idx strref 100 m51s1312 call 101 ir_alias_registry_ir_is_handle_decode_callee bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __or_98_2816 101 -brif 101 L2817 L2816 -label L2816 +store __or_98_2737 101 +brif 101 L2738 L2737 +label L2737 load 103 callee_idx strref 104 m51s1312 strref 105 m51s1311 call 106 ir_emitter_core_ir_is_local_generic_callee bool 3 103 104 105 call 107 pith_cstring_release void 1 104 call 108 pith_cstring_release void 1 105 -store __or_98_2816 106 -label L2817 -load 109 __or_98_2816 -brif 109 L2814 L2815 -label L2814 +store __or_98_2737 106 +label L2738 +load 109 __or_98_2737 +brif 109 L2735 L2736 +label L2735 load 110 idx load 111 node iconst 112 1 @@ -169405,8 +168550,8 @@ call 115 ir_decode_emit_ir_emit_handle_decode_file_call int 5 110 111 112 113 11 call 116 pith_closure_release void 1 113 call 117 pith_closure_release void 1 114 ret 115 -label L2815 -label L2813 +label L2736 +label L2734 iconst 118 0 iconst 119 1 sub 120 118 119 @@ -169427,12 +168572,12 @@ store json_r 7 load 8 json_r iconst 9 0 gte 10 8 9 -brif 10 L2819 L2820 -label L2819 +brif 10 L2740 L2741 +label L2740 load 11 json_r ret 11 -label L2820 -label L2818 +label L2741 +label L2739 load 12 idx load 13 node load 14 callee_idx @@ -169445,12 +168590,12 @@ store config_r 17 load 20 config_r iconst 21 0 gte 22 20 21 -brif 22 L2822 L2823 -label L2822 +brif 22 L2743 L2744 +label L2743 load 23 config_r ret 23 -label L2823 -label L2821 +label L2744 +label L2742 load 24 idx load 25 node load 26 callee_idx @@ -169474,8 +168619,8 @@ store expr_tid 6 load 7 expr_tid iconst 8 0 lt 9 7 8 -brif 9 L2825 L2826 -label L2825 +brif 9 L2746 L2747 +label L2746 iconst 10 0 iconst 11 1 sub 12 10 11 @@ -169484,8 +168629,8 @@ call 14 pith_struct_release void 1 13 load 15 arg_nodes call 16 pith_list_release_handle void 1 15 ret 12 -label L2826 -label L2824 +label L2747 +label L2745 load 17 expr_info load 18 expr_tid call 19 types_get_type_info struct:TypeInfo 1 18 @@ -169498,8 +168643,8 @@ call 25 pith_cstring_eq bool 2 22 23 iconst 26 1 sub 24 26 25 call 27 pith_cstring_release void 1 23 -brif 24 L2828 L2829 -label L2828 +brif 24 L2749 L2750 +label L2749 iconst 28 0 iconst 29 1 sub 30 28 29 @@ -169508,22 +168653,22 @@ call 32 pith_struct_release void 1 31 load 33 arg_nodes call 34 pith_list_release_handle void 1 33 ret 30 -label L2829 -label L2827 +label L2750 +label L2748 iconst 35 0 -store __or_35_2833 35 +store __or_35_2754 35 load 36 callee_name call 37 ir_method_tables_ir_is_declared_callable bool 1 36 -store __or_35_2833 37 -brif 37 L2834 L2833 -label L2833 +store __or_35_2754 37 +brif 37 L2755 L2754 +label L2754 load 38 callee_name call 39 ir_emitter_core_ir_is_sync_primitive_name bool 1 38 -store __or_35_2833 39 -label L2834 -load 40 __or_35_2833 -brif 40 L2831 L2832 -label L2831 +store __or_35_2754 39 +label L2755 +load 40 __or_35_2754 +brif 40 L2752 L2753 +label L2752 iconst 41 0 iconst 42 1 sub 43 41 42 @@ -169532,16 +168677,16 @@ call 45 pith_struct_release void 1 44 load 46 arg_nodes call 47 pith_list_release_handle void 1 46 ret 43 -label L2832 -label L2830 +label L2753 +label L2751 load 48 callee_name call 49 ir_emitter_core_ir_lookup_name_type string 1 48 strref 50 m51s872 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 -brif 51 L2836 L2837 -label L2836 +brif 51 L2757 L2758 +label L2757 iconst 54 0 iconst 55 1 sub 56 54 55 @@ -169550,15 +168695,15 @@ call 58 pith_struct_release void 1 57 load 59 arg_nodes call 60 pith_list_release_handle void 1 59 ret 56 -label L2837 -label L2835 +label L2758 +label L2756 load 61 node field 62 61 16 list children call 63 pith_list_len int 1 62 iconst 64 0 gt 65 63 64 -brif 65 L2839 L2840 -label L2839 +brif 65 L2760 L2761 +label L2760 load 66 node field 67 66 16 list children iconst 68 0 @@ -169566,24 +168711,24 @@ call 69 pith_list_get_value_strict int 2 67 68 call 70 checker_c_get_expr_type int 1 69 store callee_tid 70 iconst 71 0 -store __and_71_2844 71 +store __and_71_2765 71 load 72 callee_tid iconst 73 0 gte 74 72 73 -store __and_71_2844 74 -brif 74 L2844 L2845 -label L2844 +store __and_71_2765 74 +brif 74 L2765 L2766 +label L2765 load 75 callee_tid call 76 types_get_type_info struct:TypeInfo 1 75 field 77 76 0 string kind strref 78 m51s24 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __and_71_2844 79 -label L2845 -load 81 __and_71_2844 -brif 81 L2842 L2843 -label L2842 +store __and_71_2765 79 +label L2766 +load 81 __and_71_2765 +brif 81 L2763 L2764 +label L2763 iconst 82 0 iconst 83 1 sub 84 82 83 @@ -169592,11 +168737,11 @@ call 86 pith_struct_release void 1 85 load 87 arg_nodes call 88 pith_list_release_handle void 1 87 ret 84 -label L2843 -label L2841 -jmp L2838 -label L2840 -label L2838 +label L2764 +label L2762 +jmp L2759 +label L2761 +label L2759 load 89 arg_nodes call 90 pith_list_new_default list 0 call 91 pith_list_release_handle void 1 89 @@ -169605,39 +168750,39 @@ load 92 node field 93 92 16 list children call 94 pith_auto_len int 1 93 iconst 95 0 -store __for_idx_382 95 -store __for_len_382 94 -store __for_iter_382 93 -label L2846 -load 96 __for_idx_382 -load 97 __for_len_382 +store __for_idx_381 95 +store __for_len_381 94 +store __for_iter_381 93 +label L2767 +load 96 __for_idx_381 +load 97 __for_len_381 lt 98 96 97 -brif 98 L2847 L2849 -label L2847 -load 99 __for_iter_382 -load 100 __for_idx_382 +brif 98 L2768 L2770 +label L2768 +load 99 __for_iter_381 +load 100 __for_idx_381 call 101 pith_list_get_value unknown 2 99 100 -store __loopvar_382_child 101 -load 102 __for_idx_382 -store __loopvar_382_i 102 -load 103 __loopvar_382_i +store __loopvar_381_child 101 +load 102 __for_idx_381 +store __loopvar_381_i 102 +load 103 __loopvar_381_i iconst 104 0 eq 105 103 104 -brif 105 L2851 L2852 -label L2851 -jmp L2848 -label L2852 -label L2850 +brif 105 L2772 L2773 +label L2772 +jmp L2769 +label L2773 +label L2771 load 106 arg_nodes -load 107 __loopvar_382_child +load 107 __loopvar_381_child call 108 pith_list_push_value void 2 106 107 -label L2848 -load 109 __for_idx_382 +label L2769 +load 109 __for_idx_381 iconst 110 1 add 111 109 110 -store __for_idx_382 111 -jmp L2846 -label L2849 +store __for_idx_381 111 +jmp L2767 +label L2770 load 112 expr_info field 113 112 8 string name load 114 arg_nodes @@ -169661,45 +168806,45 @@ param params param arg_names iconst 3 0 store i 3 -label L2853 +label L2774 load 4 i load 5 params call 6 pith_list_len int 1 5 lt 7 4 6 -brif 7 L2854 L2855 -label L2854 +brif 7 L2775 L2776 +label L2775 iconst 8 0 -store __and_8_2859 8 +store __and_8_2780 8 load 9 params load 10 i call 11 pith_list_get_value_strict string 2 9 10 load 12 base_ftype call 13 pith_cstring_eq bool 2 11 12 -store __and_8_2859 13 -brif 13 L2859 L2860 -label L2859 +store __and_8_2780 13 +brif 13 L2780 L2781 +label L2780 load 14 i load 15 arg_names call 16 pith_list_len int 1 15 lt 17 14 16 -store __and_8_2859 17 -label L2860 -load 18 __and_8_2859 -brif 18 L2857 L2858 -label L2857 +store __and_8_2780 17 +label L2781 +load 18 __and_8_2780 +brif 18 L2778 L2779 +label L2778 load 19 arg_names load 20 i call 21 pith_list_get_value_strict string 2 19 20 call 22 pith_cstring_retain void 1 21 ret 21 -label L2858 -label L2856 +label L2779 +label L2777 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L2853 -label L2855 +jmp L2774 +label L2776 load 26 base_ftype call 27 pith_cstring_retain void 1 26 ret 26 @@ -169719,12 +168864,12 @@ call 6 ir_struct_registry_ir_struct_field_count int 1 5 store count 6 iconst 7 0 store i 7 -label L2861 +label L2782 load 8 i load 9 count lt 10 8 9 -brif 10 L2862 L2863 -label L2862 +brif 10 L2783 L2784 +label L2783 load 11 fname load 12 base load 13 i @@ -169747,22 +168892,22 @@ call 27 string_len int 1 25 call 28 pith_cstring_release void 1 25 iconst 29 0 gt 30 27 29 -brif 30 L2865 L2866 -label L2865 +brif 30 L2786 L2787 +label L2786 iconst 31 1 load 32 fname call 33 pith_cstring_release void 1 32 load 34 base_ftype call 35 pith_cstring_release void 1 34 ret 31 -label L2866 -label L2864 +label L2787 +label L2785 load 36 i iconst 37 1 add 38 36 37 store i 38 -jmp L2861 -label L2863 +jmp L2782 +label L2784 iconst 39 0 load 40 fname call 41 pith_cstring_release void 1 40 @@ -169789,77 +168934,77 @@ load 6 callee_name call 7 contains_key bool 2 5 6 iconst 9 1 sub 8 9 7 -brif 8 L2868 L2869 -label L2868 +brif 8 L2789 L2790 +label L2789 load 10 cn call 11 pith_struct_release void 1 10 load 12 arg_kind call 13 pith_cstring_release void 1 12 iconst 14 0 ret 14 -label L2869 -label L2867 +label L2790 +label L2788 load 15 callee_name call 16 checker_has_generic_declaration bool 1 15 iconst 18 1 sub 17 18 16 -brif 17 L2871 L2872 -label L2871 +brif 17 L2792 L2793 +label L2792 load 19 cn call 20 pith_struct_release void 1 19 load 21 arg_kind call 22 pith_cstring_release void 1 21 iconst 23 0 ret 23 -label L2872 -label L2870 +label L2793 +label L2791 iconst 24 0 store reg_i 24 load 25 node field 26 25 16 list children call 27 pith_auto_len int 1 26 iconst 28 0 -store __for_idx_383 28 -store __for_len_383 27 -store __for_iter_383 26 -label L2873 -load 29 __for_idx_383 -load 30 __for_len_383 +store __for_idx_382 28 +store __for_len_382 27 +store __for_iter_382 26 +label L2794 +load 29 __for_idx_382 +load 30 __for_len_382 lt 31 29 30 -brif 31 L2874 L2876 -label L2874 -load 32 __for_iter_383 -load 33 __for_idx_383 +brif 31 L2795 L2797 +label L2795 +load 32 __for_iter_382 +load 33 __for_idx_382 call 34 pith_list_get_value unknown 2 32 33 -store __loopvar_383_child 34 -load 35 __for_idx_383 -store __loopvar_383_i 35 -load 36 __loopvar_383_i +store __loopvar_382_child 34 +load 35 __for_idx_382 +store __loopvar_382_i 35 +load 36 __loopvar_382_i iconst 37 0 eq 38 36 37 -brif 38 L2878 L2879 -label L2878 -jmp L2875 -label L2879 -label L2877 +brif 38 L2799 L2800 +label L2799 +jmp L2796 +label L2800 +label L2798 load 39 reg_i load 40 arg_regs call 41 pith_list_len int 1 40 gte 42 39 41 -brif 42 L2881 L2882 -label L2881 +brif 42 L2802 L2803 +label L2802 load 43 cn call 44 pith_struct_release void 1 43 load 45 arg_kind call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L2882 -label L2880 -load 48 __loopvar_383_child +label L2803 +label L2801 +load 48 __loopvar_382_child store expr_idx 48 load 49 cn -load 50 __loopvar_383_child +load 50 __loopvar_382_child call 51 ast_get_node struct:Node 1 50 call 52 pith_struct_release void 1 49 store cn 51 @@ -169868,30 +169013,30 @@ field 54 53 0 string kind strref 55 m51s42 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L2884 L2885 -label L2884 +brif 56 L2805 L2806 +label L2805 load 58 cn field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 eq 62 60 61 -brif 62 L2887 L2888 -label L2887 +brif 62 L2808 L2809 +label L2808 load 63 reg_i iconst 64 1 add 65 63 64 store reg_i 65 -jmp L2875 -label L2888 -label L2886 +jmp L2796 +label L2809 +label L2807 load 66 cn field 67 66 16 list children iconst 68 0 call 69 pith_list_get_value_strict int 2 67 68 store expr_idx 69 -jmp L2883 -label L2885 -label L2883 +jmp L2804 +label L2806 +label L2804 load 70 arg_kind load 71 expr_idx call 72 ir_emitter_core_ir_infer_type string 1 71 @@ -169900,40 +169045,40 @@ call 74 pith_cstring_release void 1 72 call 75 pith_cstring_release void 1 70 store arg_kind 73 iconst 76 0 -store __and_76_2892 76 +store __and_76_2813 76 load 77 arg_kind call 78 string_len int 1 77 iconst 79 0 gt 80 78 79 -store __and_76_2892 80 -brif 80 L2892 L2893 -label L2892 +store __and_76_2813 80 +brif 80 L2813 L2814 +label L2813 load 81 expr_idx call 82 ir_emitter_core_ir_string_expr_is_borrowed bool 1 81 -store __and_76_2892 82 -label L2893 -load 83 __and_76_2892 -brif 83 L2890 L2891 -label L2890 +store __and_76_2813 82 +label L2814 +load 83 __and_76_2813 +brif 83 L2811 L2812 +label L2811 load 84 arg_regs load 85 reg_i call 86 pith_list_get_value_strict int 2 84 85 load 87 arg_kind call 88 ir_ownership_ir_rc_retain_reg void 2 86 87 -jmp L2889 -label L2891 -label L2889 +jmp L2810 +label L2812 +label L2810 load 89 reg_i iconst 90 1 add 91 89 90 store reg_i 91 -label L2875 -load 92 __for_idx_383 +label L2796 +load 92 __for_idx_382 iconst 93 1 add 94 92 93 -store __for_idx_383 94 -jmp L2873 -label L2876 +store __for_idx_382 94 +jmp L2794 +label L2797 load 95 cn call 96 pith_struct_release void 1 95 load 97 arg_kind @@ -169954,8 +169099,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L2895 L2896 -label L2895 +brif 8 L2816 L2817 +label L2816 iconst 9 0 load 10 cn call 11 pith_struct_release void 1 10 @@ -169964,8 +169109,8 @@ call 13 pith_cstring_release void 1 12 load 14 bn call 15 pith_struct_release void 1 14 ret 9 -label L2896 -label L2894 +label L2817 +label L2815 load 16 cn load 17 node field 18 17 16 list children @@ -169983,36 +169128,36 @@ field 27 26 0 string kind strref 28 m51s37 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L2898 L2899 -label L2898 +brif 29 L2819 L2820 +label L2819 load 31 base load 32 cn field 33 32 8 string value call 34 pith_cstring_retain void 1 33 call 35 pith_cstring_release void 1 31 store base 33 -jmp L2897 -label L2899 +jmp L2818 +label L2820 iconst 36 0 -store __and_36_2902 36 +store __and_36_2823 36 load 37 cn field 38 37 0 string kind strref 39 m51s35 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_2902 40 -brif 40 L2902 L2903 -label L2902 +store __and_36_2823 40 +brif 40 L2823 L2824 +label L2823 load 42 cn field 43 42 16 list children call 44 pith_list_len int 1 43 iconst 45 2 gte 46 44 45 -store __and_36_2902 46 -label L2903 -load 47 __and_36_2902 -brif 47 L2900 L2901 -label L2900 +store __and_36_2823 46 +label L2824 +load 47 __and_36_2823 +brif 47 L2821 L2822 +label L2821 load 48 bn load 49 cn field 50 49 16 list children @@ -170026,26 +169171,26 @@ field 56 55 0 string kind strref 57 m51s37 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L2905 L2906 -label L2905 +brif 58 L2826 L2827 +label L2826 load 60 base load 61 bn field 62 61 8 string value call 63 pith_cstring_retain void 1 62 call 64 pith_cstring_release void 1 60 store base 62 -jmp L2904 -label L2906 -label L2904 -jmp L2897 -label L2901 -label L2897 +jmp L2825 +label L2827 +label L2825 +jmp L2818 +label L2822 +label L2818 load 65 base call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L2908 L2909 -label L2908 +brif 68 L2829 L2830 +label L2829 iconst 69 0 load 70 cn call 71 pith_struct_release void 1 70 @@ -170054,21 +169199,21 @@ call 73 pith_cstring_release void 1 72 load 74 bn call 75 pith_struct_release void 1 74 ret 69 -label L2909 -label L2907 +label L2830 +label L2828 iconst 76 0 -store __and_76_2910 76 +store __and_76_2831 76 load 77 ir_struct_registry_ir_struct_names load 78 base call 79 contains_key bool 2 77 78 -store __and_76_2910 79 -brif 79 L2910 L2911 -label L2910 +store __and_76_2831 79 +brif 79 L2831 L2832 +label L2831 load 80 base call 81 checker_has_generic_declaration bool 1 80 -store __and_76_2910 81 -label L2911 -load 82 __and_76_2910 +store __and_76_2831 81 +label L2832 +load 82 __and_76_2831 load 83 cn call 84 pith_struct_release void 1 83 load 85 base @@ -170115,8 +169260,8 @@ field 18 17 0 string kind strref 19 m51s37 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2913 L2914 -label L2913 +brif 20 L2834 L2835 +label L2834 load 22 node load 23 callee_node field 24 23 8 string value @@ -170136,10 +169281,10 @@ load 37 sym call 38 pith_cstring_release void 1 37 iconst 39 0 ret 39 -label L2914 -label L2912 +label L2835 +label L2833 iconst 40 0 -store __or_40_2918 40 +store __or_40_2839 40 load 41 callee_node field 42 41 0 string kind strref 43 m51s35 @@ -170147,19 +169292,19 @@ call 45 pith_cstring_eq bool 2 42 43 iconst 46 1 sub 44 46 45 call 47 pith_cstring_release void 1 43 -store __or_40_2918 44 -brif 44 L2919 L2918 -label L2918 +store __or_40_2839 44 +brif 44 L2840 L2839 +label L2839 load 48 callee_node field 49 48 16 list children call 50 pith_list_len int 1 49 iconst 51 2 lt 52 50 51 -store __or_40_2918 52 -label L2919 -load 53 __or_40_2918 -brif 53 L2916 L2917 -label L2916 +store __or_40_2839 52 +label L2840 +load 53 __or_40_2839 +brif 53 L2837 L2838 +label L2837 load 54 callee_node call 55 pith_struct_release void 1 54 load 56 base_node @@ -170174,8 +169319,8 @@ load 64 sym call 65 pith_cstring_release void 1 64 iconst 66 0 ret 66 -label L2917 -label L2915 +label L2838 +label L2836 load 67 base_node load 68 callee_node field 69 68 16 list children @@ -170191,8 +169336,8 @@ call 78 pith_cstring_eq bool 2 75 76 iconst 79 1 sub 77 79 78 call 80 pith_cstring_release void 1 76 -brif 77 L2921 L2922 -label L2921 +brif 77 L2842 L2843 +label L2842 load 81 callee_node call 82 pith_struct_release void 1 81 load 83 base_node @@ -170207,8 +169352,8 @@ load 91 sym call 92 pith_cstring_release void 1 91 iconst 93 0 ret 93 -label L2922 -label L2920 +label L2843 +label L2841 load 94 base load 95 base_node field 96 95 8 string value @@ -170220,8 +169365,8 @@ load 100 base call 101 contains_key bool 2 99 100 iconst 103 1 sub 102 103 101 -brif 102 L2924 L2925 -label L2924 +brif 102 L2845 L2846 +label L2845 load 104 callee_node call 105 pith_struct_release void 1 104 load 106 base_node @@ -170236,14 +169381,14 @@ load 114 sym call 115 pith_cstring_release void 1 114 iconst 116 0 ret 116 -label L2925 -label L2923 +label L2846 +label L2844 load 117 base call 118 checker_has_generic_declaration bool 1 117 iconst 120 1 sub 119 120 118 -brif 119 L2927 L2928 -label L2927 +brif 119 L2848 L2849 +label L2848 load 121 callee_node call 122 pith_struct_release void 1 121 load 123 base_node @@ -170258,8 +169403,8 @@ load 131 sym call 132 pith_cstring_release void 1 131 iconst 133 0 ret 133 -label L2928 -label L2926 +label L2849 +label L2847 load 134 arg_names load 135 callee_node call 136 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 135 @@ -170269,8 +169414,8 @@ load 138 arg_names call 139 pith_list_len int 1 138 iconst 140 0 eq 141 139 140 -brif 141 L2930 L2931 -label L2930 +brif 141 L2851 L2852 +label L2851 load 142 callee_node call 143 pith_struct_release void 1 142 load 144 base_node @@ -170285,8 +169430,8 @@ load 152 sym call 153 pith_cstring_release void 1 152 iconst 154 0 ret 154 -label L2931 -label L2929 +label L2852 +label L2850 load 155 params load 156 base call 157 checker_get_generic_declaration_index int 1 156 @@ -170301,8 +169446,8 @@ load 164 arg_names call 165 ir_emitter_core_ir_generic_instance_needs_dtor bool 3 162 163 164 iconst 167 1 sub 166 167 165 -brif 166 L2933 L2934 -label L2933 +brif 166 L2854 L2855 +label L2854 load 168 callee_node call 169 pith_struct_release void 1 168 load 170 base_node @@ -170317,8 +169462,8 @@ load 178 sym call 179 pith_cstring_release void 1 178 iconst 180 0 ret 180 -label L2934 -label L2932 +label L2855 +label L2853 load 181 node load 182 base load 183 params @@ -170432,35 +169577,35 @@ load 10 node field 11 10 16 list children call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_384 13 -store __for_len_384 12 -store __for_iter_384 11 -label L2935 -load 14 __for_idx_384 -load 15 __for_len_384 +store __for_idx_383 13 +store __for_len_383 12 +store __for_iter_383 11 +label L2856 +load 14 __for_idx_383 +load 15 __for_len_383 lt 16 14 15 -brif 16 L2936 L2938 -label L2936 -load 17 __for_iter_384 -load 18 __for_idx_384 +brif 16 L2857 L2859 +label L2857 +load 17 __for_iter_383 +load 18 __for_idx_383 call 19 pith_list_get_value unknown 2 17 18 -store __loopvar_384_child 19 -load 20 __for_idx_384 -store __loopvar_384_i 20 -load 21 __loopvar_384_i +store __loopvar_383_child 19 +load 20 __for_idx_383 +store __loopvar_383_i 20 +load 21 __loopvar_383_i iconst 22 0 eq 23 21 22 -brif 23 L2940 L2941 -label L2940 -jmp L2937 -label L2941 -label L2939 +brif 23 L2861 L2862 +label L2861 +jmp L2858 +label L2862 +label L2860 load 24 reg_i load 25 arg_regs call 26 pith_list_len int 1 25 gte 27 24 26 -brif 27 L2943 L2944 -label L2943 +brif 27 L2864 L2865 +label L2864 load 28 cn call 29 pith_struct_release void 1 28 load 30 fname @@ -170471,12 +169616,12 @@ load 34 fkind call 35 pith_cstring_release void 1 34 iconst 36 0 ret 36 -label L2944 -label L2942 -load 37 __loopvar_384_child +label L2865 +label L2863 +load 37 __loopvar_383_child store expr_idx 37 load 38 cn -load 39 __loopvar_384_child +load 39 __loopvar_383_child call 40 ast_get_node struct:Node 1 39 call 41 pith_struct_release void 1 38 store cn 40 @@ -170485,38 +169630,38 @@ field 43 42 0 string kind strref 44 m51s42 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L2946 L2947 -label L2946 +brif 45 L2867 L2868 +label L2867 load 47 cn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 eq 51 49 50 -brif 51 L2949 L2950 -label L2949 +brif 51 L2870 L2871 +label L2870 load 52 reg_i iconst 53 1 add 54 52 53 store reg_i 54 -jmp L2937 -label L2950 -label L2948 +jmp L2858 +label L2871 +label L2869 load 55 cn field 56 55 16 list children iconst 57 0 call 58 pith_list_get_value_strict int 2 56 57 store expr_idx 58 -jmp L2945 -label L2947 -label L2945 +jmp L2866 +label L2868 +label L2866 load 59 reg_i store field_pos 59 load 60 field_pos load 61 base call 62 ir_struct_registry_ir_struct_field_count int 1 61 lt 63 60 62 -brif 63 L2952 L2953 -label L2952 +brif 63 L2873 L2874 +label L2873 load 64 fname load 65 base load 66 field_pos @@ -170539,43 +169684,43 @@ call 80 pith_cstring_release void 1 78 call 81 pith_cstring_release void 1 74 store fkind 79 iconst 82 0 -store __and_82_2957 82 +store __and_82_2878 82 load 83 fkind call 84 string_len int 1 83 iconst 85 0 gt 86 84 85 -store __and_82_2957 86 -brif 86 L2957 L2958 -label L2957 +store __and_82_2878 86 +brif 86 L2878 L2879 +label L2878 load 87 expr_idx call 88 ir_emitter_core_ir_string_expr_is_borrowed bool 1 87 -store __and_82_2957 88 -label L2958 -load 89 __and_82_2957 -brif 89 L2955 L2956 -label L2955 +store __and_82_2878 88 +label L2879 +load 89 __and_82_2878 +brif 89 L2876 L2877 +label L2876 load 90 arg_regs load 91 reg_i call 92 pith_list_get_value_strict int 2 90 91 load 93 fkind call 94 ir_ownership_ir_rc_retain_reg void 2 92 93 -jmp L2954 -label L2956 -label L2954 -jmp L2951 -label L2953 -label L2951 +jmp L2875 +label L2877 +label L2875 +jmp L2872 +label L2874 +label L2872 load 95 reg_i iconst 96 1 add 97 95 96 store reg_i 97 -label L2937 -load 98 __for_idx_384 +label L2858 +load 98 __for_idx_383 iconst 99 1 add 100 98 99 -store __for_idx_384 100 -jmp L2935 -label L2938 +store __for_idx_383 100 +jmp L2856 +label L2859 load 101 cn call 102 pith_struct_release void 1 101 load 103 fname @@ -170606,22 +169751,22 @@ load 7 ir_emitter_core_ir_generic_dtor_base call 8 map_keys list_string 1 7 call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_385 10 -store __for_len_385 9 -store __for_iter_385 8 -label L2959 -load 11 __for_idx_385 -load 12 __for_len_385 +store __for_idx_384 10 +store __for_len_384 9 +store __for_iter_384 8 +label L2880 +load 11 __for_idx_384 +load 12 __for_len_384 lt 13 11 12 -brif 13 L2960 L2962 -label L2960 -load 14 __for_iter_385 -load 15 __for_idx_385 +brif 13 L2881 L2883 +label L2881 +load 14 __for_iter_384 +load 15 __for_idx_384 call 16 pith_list_get_value_unchecked string 2 14 15 -store __loopvar_385_sym 16 +store __loopvar_384_sym 16 load 17 base load 18 ir_emitter_core_ir_generic_dtor_base -load 19 __loopvar_385_sym +load 19 __loopvar_384_sym call 20 map_get_strict string 2 18 19 call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 17 @@ -170632,7 +169777,7 @@ call 25 pith_list_release_handle void 1 23 store arg_names 24 load 26 args_str load 27 ir_emitter_core_ir_generic_dtor_args -load 28 __loopvar_385_sym +load 28 __loopvar_384_sym call 29 map_get_strict string 2 27 28 call 30 pith_cstring_retain void 1 29 call 31 pith_cstring_release void 1 26 @@ -170641,8 +169786,8 @@ load 32 args_str call 33 string_len int 1 32 iconst 34 0 gt 35 33 34 -brif 35 L2964 L2965 -label L2964 +brif 35 L2885 L2886 +label L2885 load 36 arg_names load 37 args_str iconst 38 1 @@ -170651,9 +169796,9 @@ call 40 pith_string_split_to_list list_string 2 37 39 call 41 pith_cstring_release void 1 39 call 42 pith_list_release_handle void 1 36 store arg_names 40 -jmp L2963 -label L2965 -label L2963 +jmp L2884 +label L2886 +label L2884 load 43 params load 44 base call 45 checker_get_generic_declaration_index int 1 44 @@ -170663,7 +169808,7 @@ call 48 pith_struct_release void 1 46 call 49 pith_list_release_handle void 1 43 store params 47 strref 50 m51s1207 -load 51 __loopvar_385_sym +load 51 __loopvar_384_sym concat 52 50 51 call 53 pith_cstring_release void 1 50 iconst 54 1 @@ -170693,12 +169838,12 @@ call 76 ir_struct_registry_ir_struct_field_count int 1 75 store count 76 iconst 77 0 store i 77 -label L2966 +label L2887 load 78 i load 79 count lt 80 78 79 -brif 80 L2967 L2968 -label L2967 +brif 80 L2888 L2889 +label L2888 load 81 fname load 82 base load 83 i @@ -170724,8 +169869,8 @@ load 99 fkind call 100 string_len int 1 99 iconst 101 0 gt 102 100 101 -brif 102 L2970 L2971 -label L2970 +brif 102 L2891 L2892 +label L2891 call 103 ir_builder_ir_reg int 0 store fr 103 strref 104 m51s885 @@ -170766,15 +169911,15 @@ call 138 pith_cstring_release void 1 135 load 139 fr load 140 fkind call 141 ir_ownership_ir_rc_release_reg void 2 139 140 -jmp L2969 -label L2971 -label L2969 +jmp L2890 +label L2892 +label L2890 load 142 i iconst 143 1 add 144 142 143 store i 144 -jmp L2966 -label L2968 +jmp L2887 +label L2889 call 145 ir_builder_ir_reg int 0 store zr 145 strref 146 m51s880 @@ -170800,14 +169945,14 @@ call 165 pith_cstring_release void 1 161 strref 166 m51s924 call 167 ir_builder_ir_emit void 1 166 call 168 pith_cstring_release void 1 166 -label L2961 -load 169 __for_idx_385 +label L2882 +load 169 __for_idx_384 iconst 170 1 add 171 169 170 -store __for_idx_385 171 -jmp L2959 -label L2962 -load 172 __for_iter_385 +store __for_idx_384 171 +jmp L2880 +label L2883 +load 172 __for_iter_384 call 173 pith_list_release_handle void 1 172 load 174 base call 175 pith_cstring_release void 1 174 @@ -170847,8 +169992,8 @@ load 12 args_str call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L2973 L2974 -label L2973 +brif 15 L2894 L2895 +label L2894 load 16 arg_names load 17 args_str iconst 18 1 @@ -170857,9 +170002,9 @@ call 20 pith_string_split_to_list list_string 2 17 19 call 21 pith_cstring_release void 1 19 call 22 pith_list_release_handle void 1 16 store arg_names 20 -jmp L2972 -label L2974 -label L2972 +jmp L2893 +label L2895 +label L2893 load 23 arg_names load 24 args_str call 25 pith_cstring_release void 1 24 @@ -170910,12 +170055,12 @@ call 25 ir_struct_registry_ir_struct_field_count int 1 24 store count 25 iconst 26 0 store i 26 -label L2975 +label L2896 load 27 i load 28 count lt 29 27 28 -brif 29 L2976 L2977 -label L2976 +brif 29 L2897 L2898 +label L2897 load 30 fname load 31 base load 32 i @@ -170938,22 +170083,22 @@ call 46 pith_cstring_release void 1 44 call 47 pith_cstring_release void 1 40 store fkind 45 iconst 48 0 -store __and_48_2981 48 +store __and_48_2902 48 load 49 base load 50 fname call 51 ir_emitter_core_ir_struct_field_is_weak bool 2 49 50 iconst 53 1 sub 52 53 51 -store __and_48_2981 52 -brif 52 L2981 L2982 -label L2981 +store __and_48_2902 52 +brif 52 L2902 L2903 +label L2902 load 54 fkind call 55 ir_emitter_core_ir_trace_kind_enabled bool 1 54 -store __and_48_2981 55 -label L2982 -load 56 __and_48_2981 -brif 56 L2979 L2980 -label L2979 +store __and_48_2902 55 +label L2903 +load 56 __and_48_2902 +brif 56 L2900 L2901 +label L2900 iconst 57 1 load 58 base call 59 pith_cstring_release void 1 58 @@ -170968,14 +170113,14 @@ call 67 pith_cstring_release void 1 66 load 68 fkind call 69 pith_cstring_release void 1 68 ret 57 -label L2980 -label L2978 +label L2901 +label L2899 load 70 i iconst 71 1 add 72 70 71 store i 72 -jmp L2975 -label L2977 +jmp L2896 +label L2898 iconst 73 0 load 74 base call 75 pith_cstring_release void 1 74 @@ -171022,37 +170167,37 @@ load 6 ir_emitter_core_ir_generic_dtor_base call 7 map_keys list_string 1 6 call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_386 9 -store __for_len_386 8 -store __for_iter_386 7 -label L2983 -load 10 __for_idx_386 -load 11 __for_len_386 +store __for_idx_385 9 +store __for_len_385 8 +store __for_iter_385 7 +label L2904 +load 10 __for_idx_385 +load 11 __for_len_385 lt 12 10 11 -brif 12 L2984 L2986 -label L2984 -load 13 __for_iter_386 -load 14 __for_idx_386 +brif 12 L2905 L2907 +label L2905 +load 13 __for_iter_385 +load 14 __for_idx_385 call 15 pith_list_get_value_unchecked string 2 13 14 -store __loopvar_386_sym 15 -load 16 __loopvar_386_sym +store __loopvar_385_sym 15 +load 16 __loopvar_385_sym call 17 ir_emitter_core_ir_generic_instance_needs_tracer bool 1 16 iconst 19 1 sub 18 19 17 -brif 18 L2988 L2989 -label L2988 -jmp L2985 -label L2989 -label L2987 +brif 18 L2909 L2910 +label L2909 +jmp L2906 +label L2910 +label L2908 load 20 base load 21 ir_emitter_core_ir_generic_dtor_base -load 22 __loopvar_386_sym +load 22 __loopvar_385_sym call 23 map_get_strict string 2 21 22 call 24 pith_cstring_retain void 1 23 call 25 pith_cstring_release void 1 20 store base 23 load 26 arg_names -load 27 __loopvar_386_sym +load 27 __loopvar_385_sym call 28 ir_emitter_core_ir_generic_instance_arg_names list_string 1 27 call 29 pith_list_release_handle void 1 26 store arg_names 28 @@ -171065,7 +170210,7 @@ call 35 pith_struct_release void 1 33 call 36 pith_list_release_handle void 1 30 store params 34 strref 37 m51s1206 -load 38 __loopvar_386_sym +load 38 __loopvar_385_sym concat 39 37 38 call 40 pith_cstring_release void 1 37 iconst 41 1 @@ -171095,12 +170240,12 @@ call 63 ir_struct_registry_ir_struct_field_count int 1 62 store count 63 iconst 64 0 store i 64 -label L2990 +label L2911 load 65 i load 66 count lt 67 65 66 -brif 67 L2991 L2992 -label L2991 +brif 67 L2912 L2913 +label L2912 load 68 fname load 69 base load 70 i @@ -171123,22 +170268,22 @@ call 84 pith_cstring_release void 1 82 call 85 pith_cstring_release void 1 78 store fkind 83 iconst 86 0 -store __and_86_2996 86 +store __and_86_2917 86 load 87 base load 88 fname call 89 ir_emitter_core_ir_struct_field_is_weak bool 2 87 88 iconst 91 1 sub 90 91 89 -store __and_86_2996 90 -brif 90 L2996 L2997 -label L2996 +store __and_86_2917 90 +brif 90 L2917 L2918 +label L2917 load 92 fkind call 93 ir_emitter_core_ir_trace_kind_enabled bool 1 92 -store __and_86_2996 93 -label L2997 -load 94 __and_86_2996 -brif 94 L2994 L2995 -label L2994 +store __and_86_2917 93 +label L2918 +load 94 __and_86_2917 +brif 94 L2915 L2916 +label L2915 call 95 ir_builder_ir_reg int 0 store fr 95 strref 96 m51s885 @@ -171179,15 +170324,15 @@ call 130 pith_cstring_release void 1 127 load 131 fr load 132 fkind call 133 ir_ownership_ir_rc_visit_reg void 2 131 132 -jmp L2993 -label L2995 -label L2993 +jmp L2914 +label L2916 +label L2914 load 134 i iconst 135 1 add 136 134 135 store i 136 -jmp L2990 -label L2992 +jmp L2911 +label L2913 call 137 ir_builder_ir_reg int 0 store zr 137 strref 138 m51s880 @@ -171213,14 +170358,14 @@ call 157 pith_cstring_release void 1 153 strref 158 m51s924 call 159 ir_builder_ir_emit void 1 158 call 160 pith_cstring_release void 1 158 -label L2985 -load 161 __for_idx_386 +label L2906 +load 161 __for_idx_385 iconst 162 1 add 163 161 162 -store __for_idx_386 163 -jmp L2983 -label L2986 -load 164 __for_iter_386 +store __for_idx_385 163 +jmp L2904 +label L2907 +load 164 __for_iter_385 call 165 pith_list_release_handle void 1 164 load 166 base call 167 pith_cstring_release void 1 166 @@ -171251,8 +170396,8 @@ field 7 6 0 string name call 8 ir_generics_ir_is_generic_function_name bool 1 7 iconst 10 1 sub 9 10 8 -brif 9 L2999 L3000 -label L2999 +brif 9 L2920 L2921 +label L2920 load 11 callee call 12 pith_struct_retain void 1 11 load 13 generic_ret_type @@ -171260,8 +170405,8 @@ call 14 pith_cstring_release void 1 13 load 15 concrete_types call 16 pith_list_release_handle void 1 15 ret 11 -label L3000 -label L2998 +label L2921 +label L2919 load 17 generic_ret_type load 18 idx call 19 ir_type_helpers_ir_checked_type string 1 18 @@ -171271,16 +170416,16 @@ load 21 generic_ret_type call 22 string_len int 1 21 iconst 23 0 eq 24 22 23 -brif 24 L3002 L3003 -label L3002 +brif 24 L2923 L2924 +label L2923 load 25 generic_ret_type load 26 idx call 27 ir_emitter_core_ir_infer_type string 1 26 call 28 pith_cstring_release void 1 25 store generic_ret_type 27 -jmp L3001 -label L3003 -label L3001 +jmp L2922 +label L2924 +label L2922 load 29 concrete_types load 30 explicit_generic_types call 31 pith_list_retain_handle void 1 30 @@ -171290,8 +170435,8 @@ load 33 concrete_types call 34 pith_list_len int 1 33 iconst 35 0 eq 36 34 35 -brif 36 L3005 L3006 -label L3005 +brif 36 L2926 L2927 +label L2926 load 37 concrete_types load 38 callee field 39 38 0 string name @@ -171299,9 +170444,9 @@ load 40 node call 41 ir_emitter_core_ir_infer_generic_concrete_types list_string 2 39 40 call 42 pith_list_release_handle void 1 37 store concrete_types 41 -jmp L3004 -label L3006 -label L3004 +jmp L2925 +label L2927 +label L2925 load 43 callee field 44 43 0 string name load 45 concrete_types @@ -171379,18 +170524,18 @@ call 35 ir_type_helpers_ir_function_return_kind string 1 34 call 36 pith_cstring_release void 1 33 store ret_kind 35 load 37 ret_kind -strref 38 m51s869 +strref 38 m51s870 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L3008 L3009 -label L3008 +brif 39 L2929 L2930 +label L2929 load 41 ret_kind -strref 42 m51s712 +strref 42 m51s713 call 43 pith_cstring_release void 1 41 store ret_kind 42 -jmp L3007 -label L3009 -label L3007 +jmp L2928 +label L2930 +label L2928 call 44 ir_builder_ir_reg int 0 store r 44 load 45 r @@ -171431,24 +170576,24 @@ field 3 2 0 string kind strref 4 m51s37 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L3011 L3012 -label L3011 +brif 5 L2932 L2933 +label L2932 iconst 7 0 ret 7 -label L3012 -label L3010 +label L2933 +label L2931 load 8 callee_idx call 9 checker_c_get_expr_type int 1 8 store callee_tid 9 load 10 callee_tid iconst 11 0 lt 12 10 11 -brif 12 L3014 L3015 -label L3014 +brif 12 L2935 L2936 +label L2935 iconst 13 0 ret 13 -label L3015 -label L3013 +label L2936 +label L2934 load 14 callee_tid call 15 types_get_type_info struct:TypeInfo 1 14 field 16 15 0 string kind @@ -171485,8 +170630,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -brif 16 L3017 L3018 -label L3017 +brif 16 L2938 L2939 +label L2938 load 17 callee_node load 18 node field 19 18 16 list children @@ -171500,8 +170645,8 @@ field 25 24 0 string kind strref 26 m51s35 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L3020 L3021 -label L3020 +brif 27 L2941 L2942 +label L2941 load 29 idx load 30 node load 31 node @@ -171514,8 +170659,8 @@ store special_r 36 load 37 special_r iconst 38 0 gte 39 37 38 -brif 39 L3023 L3024 -label L3023 +brif 39 L2944 L2945 +label L2944 load 40 special_r load 41 explicit_generic_types call 42 pith_list_release_handle void 1 41 @@ -171532,24 +170677,24 @@ call 52 pith_list_release_handle void 1 51 load 53 ret_type call 54 pith_cstring_release void 1 53 ret 40 -label L3024 -label L3022 +label L2945 +label L2943 load 55 explicit_generic_types load 56 callee_node call 57 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 56 call 58 pith_list_release_handle void 1 55 store explicit_generic_types 57 -jmp L3019 -label L3021 -label L3019 +jmp L2940 +label L2942 +label L2940 load 59 node field 60 59 16 list children iconst 61 0 call 62 pith_list_get_value_strict int 2 60 61 load 63 callee_node call 64 ir_emitter_core_ir_callee_is_function_expr bool 2 62 63 -brif 64 L3026 L3027 -label L3026 +brif 64 L2947 L2948 +label L2947 load 65 idx load 66 node load 67 node @@ -171572,13 +170717,13 @@ call 83 pith_list_release_handle void 1 82 load 84 ret_type call 85 pith_cstring_release void 1 84 ret 71 -label L3027 -label L3025 -jmp L3016 -label L3018 -label L3016 +label L2948 +label L2946 +jmp L2937 +label L2939 +label L2937 load 86 callee -strref 87 m51s869 +strref 87 m51s870 iconst 88 0 iconst 90 2 call 89 pith_struct_alloc struct:ResolvedCallee 1 90 @@ -171593,8 +170738,8 @@ field 95 94 16 list children call 96 pith_list_len int 1 95 iconst 97 0 gt 98 96 97 -brif 98 L3029 L3030 -label L3029 +brif 98 L2950 L2951 +label L2950 load 99 callee load 100 node field 101 100 16 list children @@ -171608,10 +170753,10 @@ field 107 106 0 string name call 108 string_len int 1 107 iconst 109 0 eq 110 108 109 -brif 110 L3032 L3033 -label L3032 +brif 110 L2953 L2954 +label L2953 load 111 callee -strref 112 m51s869 +strref 112 m51s870 iconst 113 0 iconst 115 2 call 114 pith_struct_alloc struct:ResolvedCallee 1 115 @@ -171621,9 +170766,9 @@ funcref 116 ir_emitter_core___dtor_ResolvedCallee call 117 pith_struct_set_dtor void 2 114 116 call 118 pith_struct_release void 1 111 store callee 114 -jmp L3031 -label L3033 -label L3031 +jmp L2952 +label L2954 +label L2952 load 119 callee_n load 120 node field 121 120 16 list children @@ -171633,25 +170778,25 @@ call 124 ast_get_node struct:Node 1 123 call 125 pith_struct_release void 1 119 store callee_n 124 iconst 126 0 -store __and_126_3037 126 +store __and_126_2958 126 load 127 callee_n field 128 127 0 string kind strref 129 m51s37 call 130 pith_cstring_eq bool 2 128 129 call 131 pith_cstring_release void 1 129 -store __and_126_3037 130 -brif 130 L3037 L3038 -label L3037 +store __and_126_2958 130 +brif 130 L2958 L2959 +label L2958 load 132 callee field 133 132 0 string name call 134 ir_method_tables_ir_is_declared_callable bool 1 133 iconst 136 1 sub 135 136 134 -store __and_126_3037 135 -label L3038 -load 137 __and_126_3037 -brif 137 L3035 L3036 -label L3035 +store __and_126_2958 135 +label L2959 +load 137 __and_126_2958 +brif 137 L2956 L2957 +label L2956 load 138 loop_slot load 139 callee field 140 139 0 string name @@ -171662,8 +170807,8 @@ load 143 loop_slot call 144 string_len int 1 143 iconst 145 0 gt 146 144 145 -brif 146 L3040 L3041 -label L3040 +brif 146 L2961 L2962 +label L2961 load 147 callee load 148 loop_slot call 149 pith_cstring_retain void 1 148 @@ -171677,35 +170822,35 @@ funcref 154 ir_emitter_core___dtor_ResolvedCallee call 155 pith_struct_set_dtor void 2 152 154 call 156 pith_struct_release void 1 147 store callee 152 -jmp L3039 -label L3041 -label L3039 -jmp L3034 -label L3036 -label L3034 -jmp L3028 -label L3030 -label L3028 +jmp L2960 +label L2962 +label L2960 +jmp L2955 +label L2957 +label L2955 +jmp L2949 +label L2951 +label L2949 iconst 157 0 -store __and_157_3045 157 +store __and_157_2966 157 load 158 callee field 159 158 0 string name strref 160 m51s1309 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -store __and_157_3045 161 -brif 161 L3045 L3046 -label L3045 +store __and_157_2966 161 +brif 161 L2966 L2967 +label L2966 load 163 node field 164 163 16 list children call 165 pith_list_len int 1 164 iconst 166 2 gte 167 165 166 -store __and_157_3045 167 -label L3046 -load 168 __and_157_3045 -brif 168 L3043 L3044 -label L3043 +store __and_157_2966 167 +label L2967 +load 168 __and_157_2966 +brif 168 L2964 L2965 +label L2964 load 169 node field 170 169 16 list children iconst 171 1 @@ -171716,8 +170861,8 @@ store byte_r 174 load 175 byte_r iconst 176 0 gte 177 175 176 -brif 177 L3048 L3049 -label L3048 +brif 177 L2969 L2970 +label L2969 load 178 byte_r load 179 explicit_generic_types call 180 pith_list_release_handle void 1 179 @@ -171734,11 +170879,11 @@ call 190 pith_list_release_handle void 1 189 load 191 ret_type call 192 pith_cstring_release void 1 191 ret 178 -label L3049 -label L3047 -jmp L3042 -label L3044 -label L3042 +label L2970 +label L2968 +jmp L2963 +label L2965 +label L2963 load 193 idx load 194 node load 195 callee @@ -171748,8 +170893,8 @@ store higher_order_r 197 load 198 higher_order_r iconst 199 0 gte 200 198 199 -brif 200 L3051 L3052 -label L3051 +brif 200 L2972 L2973 +label L2972 load 201 higher_order_r load 202 explicit_generic_types call 203 pith_list_release_handle void 1 202 @@ -171766,8 +170911,8 @@ call 213 pith_list_release_handle void 1 212 load 214 ret_type call 215 pith_cstring_release void 1 214 ret 201 -label L3052 -label L3050 +label L2973 +label L2971 load 216 idx load 217 node load 218 callee @@ -171777,8 +170922,8 @@ store struct_r 220 load 221 struct_r iconst 222 0 gte 223 221 222 -brif 223 L3054 L3055 -label L3054 +brif 223 L2975 L2976 +label L2975 load 224 struct_r load 225 explicit_generic_types call 226 pith_list_release_handle void 1 225 @@ -171795,8 +170940,8 @@ call 236 pith_list_release_handle void 1 235 load 237 ret_type call 238 pith_cstring_release void 1 237 ret 224 -label L3055 -label L3053 +label L2976 +label L2974 load 239 callee load 240 idx load 241 node @@ -171812,24 +170957,24 @@ call 249 ir_emitter_core_ir_collect_call_arg_regs list 2 247 248 call 250 pith_list_release_handle void 1 246 store arg_regs 249 iconst 251 0 -store __and_251_3059 251 +store __and_251_2980 251 load 252 callee field 253 252 0 string name strref 254 m51s332 call 255 pith_cstring_eq bool 2 253 254 call 256 pith_cstring_release void 1 254 -store __and_251_3059 255 -brif 255 L3059 L3060 -label L3059 +store __and_251_2980 255 +brif 255 L2980 L2981 +label L2980 load 257 arg_regs call 258 pith_list_len int 1 257 iconst 259 0 eq 260 258 259 -store __and_251_3059 260 -label L3060 -load 261 __and_251_3059 -brif 261 L3057 L3058 -label L3057 +store __and_251_2980 260 +label L2981 +load 261 __and_251_2980 +brif 261 L2978 L2979 +label L2978 call 262 ir_builder_ir_reg int 0 store zero_r 262 strref 263 m51s880 @@ -171847,41 +170992,41 @@ call 274 pith_cstring_release void 1 270 load 275 arg_regs load 276 zero_r call 277 pith_list_push_value void 2 275 276 -jmp L3056 -label L3058 -label L3056 +jmp L2977 +label L2979 +label L2977 iconst 278 0 -store __and_278_3064 278 +store __and_278_2985 278 iconst 279 0 -store __and_279_3064 279 +store __and_279_2985 279 load 280 callee field 281 280 0 string name strref 282 m51s1308 call 283 pith_cstring_eq bool 2 281 282 call 284 pith_cstring_release void 1 282 -store __and_279_3064 283 -brif 283 L3064 L3065 -label L3064 +store __and_279_2985 283 +brif 283 L2985 L2986 +label L2985 load 285 arg_regs call 286 pith_list_len int 1 285 iconst 287 1 gte 288 286 287 -store __and_279_3064 288 -label L3065 -load 289 __and_279_3064 -store __and_278_3064 289 -brif 289 L3066 L3067 -label L3066 +store __and_279_2985 288 +label L2986 +load 289 __and_279_2985 +store __and_278_2985 289 +brif 289 L2987 L2988 +label L2987 strref 290 m51s1308 call 291 ir_method_tables_ir_is_declared_callable bool 1 290 call 292 pith_cstring_release void 1 290 iconst 294 1 sub 293 294 291 -store __and_278_3064 293 -label L3067 -load 295 __and_278_3064 -brif 295 L3062 L3063 -label L3062 +store __and_278_2985 293 +label L2988 +load 295 __and_278_2985 +brif 295 L2983 L2984 +label L2983 load 296 arg_regs call 297 ir_emitter_core_ir_emit_test_assert int 1 296 load 298 explicit_generic_types @@ -171899,40 +171044,40 @@ call 309 pith_list_release_handle void 1 308 load 310 ret_type call 311 pith_cstring_release void 1 310 ret 297 -label L3063 -label L3061 +label L2984 +label L2982 iconst 312 0 -store __and_312_3071 312 +store __and_312_2992 312 iconst 313 0 -store __and_313_3071 313 +store __and_313_2992 313 load 314 callee field 315 314 0 string name strref 316 m51s394 call 317 pith_cstring_eq bool 2 315 316 call 318 pith_cstring_release void 1 316 -store __and_313_3071 317 -brif 317 L3071 L3072 -label L3071 +store __and_313_2992 317 +brif 317 L2992 L2993 +label L2992 load 319 arg_regs call 320 pith_list_len int 1 319 iconst 321 2 gte 322 320 321 -store __and_313_3071 322 -label L3072 -load 323 __and_313_3071 -store __and_312_3071 323 -brif 323 L3073 L3074 -label L3073 +store __and_313_2992 322 +label L2993 +load 323 __and_313_2992 +store __and_312_2992 323 +brif 323 L2994 L2995 +label L2994 strref 324 m51s394 call 325 ir_method_tables_ir_is_declared_callable bool 1 324 call 326 pith_cstring_release void 1 324 iconst 328 1 sub 327 328 325 -store __and_312_3071 327 -label L3074 -load 329 __and_312_3071 -brif 329 L3069 L3070 -label L3069 +store __and_312_2992 327 +label L2995 +load 329 __and_312_2992 +brif 329 L2990 L2991 +label L2990 load 330 node load 331 arg_regs iconst 332 1 @@ -171952,40 +171097,40 @@ call 345 pith_list_release_handle void 1 344 load 346 ret_type call 347 pith_cstring_release void 1 346 ret 333 -label L3070 -label L3068 +label L2991 +label L2989 iconst 348 0 -store __and_348_3078 348 +store __and_348_2999 348 iconst 349 0 -store __and_349_3078 349 +store __and_349_2999 349 load 350 callee field 351 350 0 string name strref 352 m51s393 call 353 pith_cstring_eq bool 2 351 352 call 354 pith_cstring_release void 1 352 -store __and_349_3078 353 -brif 353 L3078 L3079 -label L3078 +store __and_349_2999 353 +brif 353 L2999 L3000 +label L2999 load 355 arg_regs call 356 pith_list_len int 1 355 iconst 357 2 gte 358 356 357 -store __and_349_3078 358 -label L3079 -load 359 __and_349_3078 -store __and_348_3078 359 -brif 359 L3080 L3081 -label L3080 +store __and_349_2999 358 +label L3000 +load 359 __and_349_2999 +store __and_348_2999 359 +brif 359 L3001 L3002 +label L3001 strref 360 m51s393 call 361 ir_method_tables_ir_is_declared_callable bool 1 360 call 362 pith_cstring_release void 1 360 iconst 364 1 sub 363 364 361 -store __and_348_3078 363 -label L3081 -load 365 __and_348_3078 -brif 365 L3076 L3077 -label L3076 +store __and_348_2999 363 +label L3002 +load 365 __and_348_2999 +brif 365 L2997 L2998 +label L2997 load 366 node load 367 arg_regs iconst 368 0 @@ -172005,8 +171150,8 @@ call 381 pith_list_release_handle void 1 380 load 382 ret_type call 383 pith_cstring_release void 1 382 ret 369 -label L3077 -label L3075 +label L2998 +label L2996 call 384 ir_builder_ir_reg int 0 store r 384 load 385 callee @@ -172025,8 +171170,8 @@ load 395 ir_result_abi_ir_result_reg_funcs load 396 callee field 397 396 0 string name call 398 contains_key bool 2 395 397 -brif 398 L3083 L3084 -label L3083 +brif 398 L3004 L3005 +label L3004 load 399 idx store ir_emitter_core_ir_rcall_current_idx 399 load 400 r @@ -172043,8 +171188,8 @@ iconst 409 0 iconst 410 1 sub 411 409 410 store ir_emitter_core_ir_rcall_current_idx 411 -jmp L3082 -label L3084 +jmp L3003 +label L3005 load 412 r load 413 callee field 414 413 0 string name @@ -172055,7 +171200,7 @@ load 418 arg_regs call 419 ir_call_helpers_ir_join_arg_regs string 1 418 call 420 ir_call_emit_ir_emit_call_text void 5 412 414 415 417 419 call 421 pith_cstring_release void 1 419 -label L3082 +label L3003 load 422 node load 423 ret_type load 424 r @@ -172065,65 +171210,65 @@ load 427 node call 428 ir_emitter_core_ir_is_generic_struct_construction_call bool 1 427 iconst 430 1 sub 429 430 428 -brif 429 L3086 L3087 -label L3086 +brif 429 L3007 L3008 +label L3007 load 431 node iconst 432 1 load 433 arg_regs call 434 ir_emitter_core_ir_release_owned_string_args void 3 431 432 433 -jmp L3085 -label L3087 -label L3085 +jmp L3006 +label L3008 +label L3006 iconst 435 0 -store __and_435_3091 435 +store __and_435_3012 435 iconst 436 0 -store __and_436_3091 436 +store __and_436_3012 436 load 437 uses_result_abi -store __and_436_3091 437 -brif 437 L3091 L3092 -label L3091 +store __and_436_3012 437 +brif 437 L3012 L3013 +label L3012 load 438 ret_type strref 439 m51s23 call 441 pith_cstring_eq bool 2 438 439 iconst 442 1 sub 440 442 441 call 443 pith_cstring_release void 1 439 -store __and_436_3091 440 -label L3092 -load 444 __and_436_3091 -store __and_435_3091 444 -brif 444 L3093 L3094 -label L3093 +store __and_436_3012 440 +label L3013 +load 444 __and_436_3012 +store __and_435_3012 444 +brif 444 L3014 L3015 +label L3014 load 445 idx call 446 ir_type_helpers_ir_checked_result_kind string 1 445 strref 447 m51s23 call 448 pith_cstring_eq bool 2 446 447 call 449 pith_cstring_release void 1 446 call 450 pith_cstring_release void 1 447 -store __and_435_3091 448 -label L3094 -load 451 __and_435_3091 -brif 451 L3089 L3090 -label L3089 +store __and_435_3012 448 +label L3015 +load 451 __and_435_3012 +brif 451 L3010 L3011 +label L3010 iconst 452 0 -store __and_452_3098 452 +store __and_452_3019 452 load 453 ret_type -strref 454 m51s713 +strref 454 m51s714 call 456 pith_cstring_eq bool 2 453 454 iconst 457 1 sub 455 457 456 call 458 pith_cstring_release void 1 454 -store __and_452_3098 455 -brif 455 L3098 L3099 -label L3098 +store __and_452_3019 455 +brif 455 L3019 L3020 +label L3019 load 459 idx load 460 ir_emitter_core_ir_rcall_defer_idx eq 461 459 460 -store __and_452_3098 461 -label L3099 -load 462 __and_452_3098 -brif 462 L3096 L3097 -label L3096 +store __and_452_3019 461 +label L3020 +load 462 __and_452_3019 +brif 462 L3017 L3018 +label L3017 load 463 r load 464 ret_type load 465 callee @@ -172144,8 +171289,8 @@ call 479 pith_list_release_handle void 1 478 load 480 ret_type call 481 pith_cstring_release void 1 480 ret 467 -label L3097 -label L3095 +label L3018 +label L3016 load 482 r load 483 ret_type load 484 callee @@ -172166,8 +171311,8 @@ call 498 pith_list_release_handle void 1 497 load 499 ret_type call 500 pith_cstring_release void 1 499 ret 486 -label L3090 -label L3088 +label L3011 +label L3009 load 501 r load 502 explicit_generic_types call 503 pith_list_release_handle void 1 502 @@ -172213,7 +171358,7 @@ store entry_kind 5 iconst 6 0 store kind_store 6 iconst 7 0 -store __or_7_3103 7 +store __or_7_3024 7 load 8 entry field 9 8 0 string kind strref 10 m51s63 @@ -172221,19 +171366,19 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __or_7_3103 11 -brif 11 L3104 L3103 -label L3103 +store __or_7_3024 11 +brif 11 L3025 L3024 +label L3024 load 15 entry field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 2 lt 19 17 18 -store __or_7_3103 19 -label L3104 -load 20 __or_7_3103 -brif 20 L3101 L3102 -label L3101 +store __or_7_3024 19 +label L3025 +load 20 __or_7_3024 +brif 20 L3022 L3023 +label L3022 load 21 store_name call 22 pith_cstring_release void 1 21 load 23 entry_kind @@ -172242,8 +171387,8 @@ load 25 kind_store call 26 pith_cstring_release void 1 25 iconst 27 0 ret 27 -label L3102 -label L3100 +label L3023 +label L3021 load 28 entry field 29 28 16 list children iconst 30 0 @@ -172258,19 +171403,19 @@ load 37 val_target call 38 ir_emitter_core_ir_emit_value_for_target int 2 36 37 store v_r 38 load 39 store_name -strref 40 m51s734 +strref 40 m51s735 call 41 pith_cstring_release void 1 39 store store_name 40 load 42 has_int_keys -brif 42 L3106 L3107 -label L3106 +brif 42 L3027 L3028 +label L3027 load 43 store_name -strref 44 m51s735 +strref 44 m51s736 call 45 pith_cstring_release void 1 43 store store_name 44 -jmp L3105 -label L3107 -label L3105 +jmp L3026 +label L3028 +label L3026 load 46 entry_kind load 47 val_target call 48 ir_struct_registry_ir_rc_kind string 1 47 @@ -172280,8 +171425,8 @@ load 50 val_target call 51 string_len int 1 50 iconst 52 0 eq 53 51 52 -brif 53 L3109 L3110 -label L3109 +brif 53 L3030 L3031 +label L3030 load 54 entry_kind load 55 entry field 56 55 16 list children @@ -172292,9 +171437,9 @@ call 60 ir_struct_registry_ir_rc_kind string 1 59 call 61 pith_cstring_release void 1 59 call 62 pith_cstring_release void 1 54 store entry_kind 60 -jmp L3108 -label L3110 -label L3108 +jmp L3029 +label L3031 +label L3029 load 63 entry field 64 63 16 list children iconst 65 1 @@ -172310,21 +171455,21 @@ call 73 ir_emitter_core_ir_map_kind_store_name string 2 71 72 call 74 pith_cstring_release void 1 70 store kind_store 73 iconst 75 0 -store __and_75_3114 75 +store __and_75_3035 75 load 76 kind_store call 77 string_len int 1 76 iconst 78 0 gt 79 77 78 -store __and_75_3114 79 -brif 79 L3114 L3115 -label L3114 +store __and_75_3035 79 +brif 79 L3035 L3036 +label L3035 load 80 entry_kind call 81 ir_emitter_core_ir_store_learns_kind bool 1 80 -store __and_75_3114 81 -label L3115 -load 82 __and_75_3114 -brif 82 L3112 L3113 -label L3112 +store __and_75_3035 81 +label L3036 +load 82 __and_75_3035 +brif 82 L3033 L3034 +label L3033 load 83 entry_kind call 84 ir_emitter_core_ir_emit_element_tag_const int 1 83 store tag_r 84 @@ -172345,8 +171490,8 @@ load 98 kind_store call 99 pith_cstring_release void 1 98 iconst 100 0 ret 100 -label L3113 -label L3111 +label L3034 +label L3032 call 101 ir_builder_ir_reg int 0 load 102 store_name strref 103 m51s876 @@ -172380,17 +171525,17 @@ call 7 ir_collection_helpers_ir_map_uses_int_keys bool 1 6 store has_int_keys 7 load 8 idx call 9 ir_type_helpers_ir_checked_type string 1 8 -strref 10 m51s711 +strref 10 m51s712 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 9 call 13 pith_cstring_release void 1 10 -brif 11 L3117 L3118 -label L3117 +brif 11 L3038 L3039 +label L3038 iconst 14 1 store has_int_keys 14 -jmp L3116 -label L3118 -label L3116 +jmp L3037 +label L3039 +label L3037 load 15 val_target strref 16 m51s83 call 17 pith_cstring_release void 1 15 @@ -172401,68 +171546,68 @@ store tid 19 load 20 tid iconst 21 0 gte 22 20 21 -brif 22 L3120 L3121 -label L3120 +brif 22 L3041 L3042 +label L3041 load 23 info load 24 tid call 25 types_get_type_info struct:TypeInfo 1 24 call 26 pith_struct_release void 1 23 store info 25 iconst 27 0 -store __and_27_3125 27 +store __and_27_3046 27 load 28 info field 29 28 0 string kind strref 30 m51s19 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __and_27_3125 31 -brif 31 L3125 L3126 -label L3125 +store __and_27_3046 31 +brif 31 L3046 L3047 +label L3046 load 33 info field 34 33 80 int value_type iconst 35 0 gte 36 34 35 -store __and_27_3125 36 -label L3126 -load 37 __and_27_3125 -brif 37 L3123 L3124 -label L3123 +store __and_27_3046 36 +label L3047 +load 37 __and_27_3046 +brif 37 L3044 L3045 +label L3044 load 38 val_target load 39 info field 40 39 80 int value_type call 41 ir_type_helpers_ir_type_from_tid string 1 40 call 42 pith_cstring_release void 1 38 store val_target 41 -jmp L3122 -label L3124 -label L3122 -jmp L3119 -label L3121 -label L3119 +jmp L3043 +label L3045 +label L3043 +jmp L3040 +label L3042 +label L3040 iconst 43 0 store val_is_string 43 load 44 val_target call 45 string_len int 1 44 iconst 46 0 gt 47 45 46 -brif 47 L3128 L3129 -label L3128 +brif 47 L3049 L3050 +label L3049 load 48 val_target call 49 ir_struct_registry_ir_rc_kind string 1 48 -strref 50 m51s716 +strref 50 m51s717 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 store val_is_string 51 -jmp L3127 -label L3129 +jmp L3048 +label L3050 load 54 node field 55 54 16 list children call 56 pith_list_len int 1 55 iconst 57 0 gt 58 56 57 -brif 58 L3130 L3131 -label L3130 +brif 58 L3051 L3052 +label L3051 load 59 entry0 load 60 node field 61 60 16 list children @@ -172472,113 +171617,113 @@ call 64 ast_get_node struct:Node 1 63 call 65 pith_struct_release void 1 59 store entry0 64 iconst 66 0 -store __and_66_3135 66 +store __and_66_3056 66 load 67 entry0 field 68 67 0 string kind strref 69 m51s63 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -store __and_66_3135 70 -brif 70 L3135 L3136 -label L3135 +store __and_66_3056 70 +brif 70 L3056 L3057 +label L3056 load 72 entry0 field 73 72 16 list children call 74 pith_list_len int 1 73 iconst 75 2 gte 76 74 75 -store __and_66_3135 76 -label L3136 -load 77 __and_66_3135 -brif 77 L3133 L3134 -label L3133 +store __and_66_3056 76 +label L3057 +load 77 __and_66_3056 +brif 77 L3054 L3055 +label L3054 load 78 entry0 field 79 78 16 list children iconst 80 1 call 81 pith_list_get_value_strict int 2 79 80 call 82 ir_emitter_core_ir_infer_type string 1 81 -strref 83 m51s716 +strref 83 m51s717 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 82 call 86 pith_cstring_release void 1 83 store val_is_string 84 -jmp L3132 -label L3134 -label L3132 -jmp L3127 -label L3131 -label L3127 +jmp L3053 +label L3055 +label L3053 +jmp L3048 +label L3052 +label L3048 load 87 has_int_keys -brif 87 L3138 L3139 -label L3138 +brif 87 L3059 L3060 +label L3059 load 88 val_is_string -brif 88 L3141 L3142 -label L3141 +brif 88 L3062 L3063 +label L3062 load 89 map_r -strref 90 m51s787 -strref 91 m51s711 +strref 90 m51s788 +strref 91 m51s712 call 92 ir_call_emit_ir_emit_call0 void 3 89 90 91 call 93 pith_cstring_release void 1 90 call 94 pith_cstring_release void 1 91 -jmp L3140 -label L3142 +jmp L3061 +label L3063 load 95 map_r -strref 96 m51s791 -strref 97 m51s711 +strref 96 m51s792 +strref 97 m51s712 call 98 ir_call_emit_ir_emit_call0 void 3 95 96 97 call 99 pith_cstring_release void 1 96 call 100 pith_cstring_release void 1 97 -label L3140 -jmp L3137 -label L3139 +label L3061 +jmp L3058 +label L3060 load 101 val_is_string -brif 101 L3143 L3144 -label L3143 +brif 101 L3064 L3065 +label L3064 load 102 map_r -strref 103 m51s789 +strref 103 m51s790 strref 104 m51s19 call 105 ir_call_emit_ir_emit_call0 void 3 102 103 104 call 106 pith_cstring_release void 1 103 call 107 pith_cstring_release void 1 104 -jmp L3137 -label L3144 +jmp L3058 +label L3065 load 108 map_r -strref 109 m51s793 +strref 109 m51s794 strref 110 m51s19 call 111 ir_call_emit_ir_emit_call0 void 3 108 109 110 call 112 pith_cstring_release void 1 109 call 113 pith_cstring_release void 1 110 -label L3137 +label L3058 load 114 node field 115 114 16 list children call 116 pith_auto_len int 1 115 iconst 117 0 -store __for_idx_387 117 -store __for_len_387 116 -store __for_iter_387 115 -label L3145 -load 118 __for_idx_387 -load 119 __for_len_387 +store __for_idx_386 117 +store __for_len_386 116 +store __for_iter_386 115 +label L3066 +load 118 __for_idx_386 +load 119 __for_len_386 lt 120 118 119 -brif 120 L3146 L3148 -label L3146 -load 121 __for_iter_387 -load 122 __for_idx_387 +brif 120 L3067 L3069 +label L3067 +load 121 __for_iter_386 +load 122 __for_idx_386 call 123 pith_list_get_value unknown 2 121 122 -store __loopvar_387_child 123 +store __loopvar_386_child 123 load 124 map_r load 125 has_int_keys -load 126 __loopvar_387_child +load 126 __loopvar_386_child call 127 ast_get_node struct:Node 1 126 load 128 val_target call 129 ir_emitter_core_ir_emit_map_entry_insert void 4 124 125 127 128 call 130 pith_struct_release void 1 127 -label L3147 -load 131 __for_idx_387 +label L3068 +load 131 __for_idx_386 iconst 132 1 add 133 131 132 -store __for_idx_387 133 -jmp L3145 -label L3148 +store __for_idx_386 133 +jmp L3066 +label L3069 load 134 map_r load 135 val_target call 136 pith_cstring_release void 1 135 @@ -172618,31 +171763,31 @@ call 13 ir_type_helpers_ir_checked_type string 1 12 call 14 pith_cstring_release void 1 11 store checked 13 iconst 15 0 -store __or_15_3152 15 +store __or_15_3073 15 load 16 checked -strref 17 m51s710 +strref 17 m51s711 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_15_3152 18 -brif 18 L3153 L3152 -label L3152 +store __or_15_3073 18 +brif 18 L3074 L3073 +label L3073 load 20 checked strref 21 m51s18 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_15_3152 22 -label L3153 -load 24 __or_15_3152 -brif 24 L3150 L3151 -label L3150 +store __or_15_3073 22 +label L3074 +load 24 __or_15_3073 +brif 24 L3071 L3072 +label L3071 load 25 literal_type load 26 checked call 27 pith_cstring_retain void 1 26 call 28 pith_cstring_release void 1 25 store literal_type 26 -jmp L3149 -label L3151 -label L3149 +jmp L3070 +label L3072 +label L3070 load 29 set_r load 30 literal_type call 31 ir_collection_helpers_ir_set_new_name string 1 30 @@ -172653,20 +171798,20 @@ load 35 node field 36 35 16 list children call 37 pith_auto_len int 1 36 iconst 38 0 -store __for_idx_388 38 -store __for_len_388 37 -store __for_iter_388 36 -label L3154 -load 39 __for_idx_388 -load 40 __for_len_388 +store __for_idx_387 38 +store __for_len_387 37 +store __for_iter_387 36 +label L3075 +load 39 __for_idx_387 +load 40 __for_len_387 lt 41 39 40 -brif 41 L3155 L3157 -label L3155 -load 42 __for_iter_388 -load 43 __for_idx_388 +brif 41 L3076 L3078 +label L3076 +load 42 __for_iter_387 +load 43 __for_idx_387 call 44 pith_list_get_value unknown 2 42 43 -store __loopvar_388_child 44 -load 45 __loopvar_388_child +store __loopvar_387_child 44 +load 45 __loopvar_387_child call 46 ir_emitter_core_ir_expr int 1 45 store elem_r 46 call 47 ir_builder_ir_reg int 0 @@ -172678,13 +171823,13 @@ load 52 elem_r call 53 ir_call_emit_ir_emit_call2 void 5 47 49 50 51 52 call 54 pith_cstring_release void 1 49 call 55 pith_cstring_release void 1 50 -label L3156 -load 56 __for_idx_388 +label L3077 +load 56 __for_idx_387 iconst 57 1 add 58 56 57 -store __for_idx_388 58 -jmp L3154 -label L3157 +store __for_idx_387 58 +jmp L3075 +label L3078 load 59 set_r load 60 literal_type call 61 pith_cstring_release void 1 60 @@ -172701,71 +171846,71 @@ endfunc func ir_emitter_core_ir_list_kind_store_name 1 string param emit_name iconst 1 0 -store __or_1_3161 1 +store __or_1_3082 1 iconst 2 0 -store __or_2_3161 2 +store __or_2_3082 2 load 3 emit_name strref 4 m51s276 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_3161 5 -brif 5 L3162 L3161 -label L3161 +store __or_2_3082 5 +brif 5 L3083 L3082 +label L3082 load 7 emit_name -strref 8 m51s794 +strref 8 m51s795 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_3161 9 -label L3162 -load 11 __or_2_3161 -store __or_1_3161 11 -brif 11 L3164 L3163 -label L3163 +store __or_2_3082 9 +label L3083 +load 11 __or_2_3082 +store __or_1_3082 11 +brif 11 L3085 L3084 +label L3084 load 12 emit_name -strref 13 m51s795 +strref 13 m51s796 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __or_1_3161 14 -label L3164 -load 16 __or_1_3161 -brif 16 L3159 L3160 -label L3159 +store __or_1_3082 14 +label L3085 +load 16 __or_1_3082 +brif 16 L3080 L3081 +label L3080 strref 17 m51s1307 ret 17 -label L3160 -label L3158 +label L3081 +label L3079 iconst 18 0 -store __or_18_3168 18 +store __or_18_3089 18 load 19 emit_name strref 20 m51s18 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_18_3168 21 -brif 21 L3169 L3168 -label L3168 +store __or_18_3089 21 +brif 21 L3090 L3089 +label L3089 load 23 emit_name -strref 24 m51s821 +strref 24 m51s822 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_18_3168 25 -label L3169 -load 27 __or_18_3168 -brif 27 L3166 L3167 -label L3166 +store __or_18_3089 25 +label L3090 +load 27 __or_18_3089 +brif 27 L3087 L3088 +label L3087 strref 28 m51s1306 ret 28 -label L3167 -label L3165 +label L3088 +label L3086 load 29 emit_name -strref 30 m51s752 +strref 30 m51s753 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L3171 L3172 -label L3171 +brif 31 L3092 L3093 +label L3092 strref 33 m51s1305 ret 33 -label L3172 -label L3170 +label L3093 +label L3091 strref 34 m51s83 ret 34 iconst 35 0 @@ -172774,75 +171919,75 @@ endfunc func ir_emitter_core_ir_element_tag_code 1 int param kind load 1 kind -strref 2 m51s716 +strref 2 m51s717 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3174 L3175 -label L3174 +brif 3 L3095 L3096 +label L3095 iconst 5 1 ret 5 -label L3175 -label L3173 +label L3096 +label L3094 load 6 kind strref 7 m51s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3177 L3178 -label L3177 +brif 8 L3098 L3099 +label L3098 iconst 10 2 ret 10 -label L3178 -label L3176 +label L3099 +label L3097 load 11 kind strref 12 m51s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3180 L3181 -label L3180 +brif 13 L3101 L3102 +label L3101 iconst 15 3 ret 15 -label L3181 -label L3179 +label L3102 +label L3100 load 16 kind strref 17 m51s15 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3183 L3184 -label L3183 +brif 18 L3104 L3105 +label L3104 iconst 20 4 ret 20 -label L3184 -label L3182 +label L3105 +label L3103 load 21 kind -strref 22 m51s715 +strref 22 m51s716 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3186 L3187 -label L3186 +brif 23 L3107 L3108 +label L3107 iconst 25 5 ret 25 -label L3187 -label L3185 +label L3108 +label L3106 load 26 kind strref 27 m51s872 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3189 L3190 -label L3189 +brif 28 L3110 L3111 +label L3110 iconst 30 6 ret 30 -label L3190 -label L3188 +label L3111 +label L3109 load 31 kind strref 32 m51s18 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3192 L3193 -label L3192 +brif 33 L3113 L3114 +label L3113 iconst 35 7 ret 35 -label L3193 -label L3191 +label L3114 +label L3112 iconst 36 0 ret 36 iconst 37 0 @@ -172851,67 +171996,67 @@ endfunc func ir_emitter_core_ir_store_learns_kind 1 bool param store_kind iconst 1 0 -store __or_1_3197 1 +store __or_1_3118 1 iconst 2 0 -store __or_2_3197 2 +store __or_2_3118 2 load 3 store_kind strref 4 m51s20 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_3197 5 -brif 5 L3198 L3197 -label L3197 +store __or_2_3118 5 +brif 5 L3119 L3118 +label L3118 load 7 store_kind strref 8 m51s19 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_3197 9 -label L3198 -load 11 __or_2_3197 -store __or_1_3197 11 -brif 11 L3200 L3199 -label L3199 +store __or_2_3118 9 +label L3119 +load 11 __or_2_3118 +store __or_1_3118 11 +brif 11 L3121 L3120 +label L3120 load 12 store_kind strref 13 m51s18 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __or_1_3197 14 -label L3200 -load 16 __or_1_3197 -brif 16 L3195 L3196 -label L3195 +store __or_1_3118 14 +label L3121 +load 16 __or_1_3118 +brif 16 L3116 L3117 +label L3116 iconst 17 1 ret 17 -label L3196 -label L3194 +label L3117 +label L3115 iconst 18 0 -store __or_18_3201 18 +store __or_18_3122 18 iconst 19 0 -store __or_19_3201 19 +store __or_19_3122 19 load 20 store_kind strref 21 m51s15 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_3201 22 -brif 22 L3202 L3201 -label L3201 +store __or_19_3122 22 +brif 22 L3123 L3122 +label L3122 load 24 store_kind -strref 25 m51s715 +strref 25 m51s716 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_3201 26 -label L3202 -load 28 __or_19_3201 -store __or_18_3201 28 -brif 28 L3204 L3203 -label L3203 +store __or_19_3122 26 +label L3123 +load 28 __or_19_3122 +store __or_18_3122 28 +brif 28 L3125 L3124 +label L3124 load 29 store_kind strref 30 m51s872 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_18_3201 31 -label L3204 -load 33 __or_18_3201 +store __or_18_3122 31 +label L3125 +load 33 __or_18_3122 ret 33 iconst 34 0 ret 34 @@ -172947,51 +172092,51 @@ func ir_emitter_core_ir_map_kind_store_name 2 string param emit_name param owned iconst 2 0 -store __or_2_3208 2 +store __or_2_3129 2 load 3 emit_name strref 4 m51s255 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_3208 5 -brif 5 L3209 L3208 -label L3208 +store __or_2_3129 5 +brif 5 L3130 L3129 +label L3129 load 7 emit_name -strref 8 m51s734 +strref 8 m51s735 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_3208 9 -label L3209 -load 11 __or_2_3208 -brif 11 L3206 L3207 -label L3206 +store __or_2_3129 9 +label L3130 +load 11 __or_2_3129 +brif 11 L3127 L3128 +label L3127 load 12 owned -brif 12 L3211 L3212 -label L3211 +brif 12 L3132 L3133 +label L3132 strref 13 m51s1304 ret 13 -label L3212 -label L3210 +label L3133 +label L3131 strref 14 m51s1303 ret 14 -label L3207 -label L3205 +label L3128 +label L3126 load 15 emit_name -strref 16 m51s735 +strref 16 m51s736 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3214 L3215 -label L3214 +brif 17 L3135 L3136 +label L3135 load 19 owned -brif 19 L3217 L3218 -label L3217 +brif 19 L3138 L3139 +label L3138 strref 20 m51s1302 ret 20 -label L3218 -label L3216 +label L3139 +label L3137 strref 21 m51s1301 ret 21 -label L3215 -label L3213 +label L3136 +label L3134 strref 22 m51s83 ret 22 iconst 23 0 @@ -173001,19 +172146,19 @@ func ir_emitter_core_ir_channel_send_needs_retain 2 bool param emit_name param store_kind iconst 2 0 -store __and_2_3219 2 +store __and_2_3140 2 load 3 emit_name call 4 ir_emitter_core_ir_is_channel_send_name bool 1 3 -store __and_2_3219 4 -brif 4 L3219 L3220 -label L3219 +store __and_2_3140 4 +brif 4 L3140 L3141 +label L3140 load 5 store_kind call 6 string_len int 1 5 iconst 7 0 gt 8 6 7 -store __and_2_3219 8 -label L3220 -load 9 __and_2_3219 +store __and_2_3140 8 +label L3141 +load 9 __and_2_3140 ret 9 iconst 10 0 ret 10 @@ -173021,77 +172166,77 @@ endfunc func ir_emitter_core_ir_container_store_takes_count 1 bool param store_kind iconst 1 0 -store __or_1_3224 1 +store __or_1_3145 1 load 2 store_kind -strref 3 m51s716 +strref 3 m51s717 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_3224 4 -brif 4 L3225 L3224 -label L3224 +store __or_1_3145 4 +brif 4 L3146 L3145 +label L3145 load 6 store_kind -strref 7 m51s715 +strref 7 m51s716 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_3224 8 -label L3225 -load 10 __or_1_3224 -brif 10 L3222 L3223 -label L3222 +store __or_1_3145 8 +label L3146 +load 10 __or_1_3145 +brif 10 L3143 L3144 +label L3143 iconst 11 1 ret 11 -label L3223 -label L3221 +label L3144 +label L3142 load 12 store_kind strref 13 m51s15 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L3227 L3228 -label L3227 +brif 14 L3148 L3149 +label L3148 iconst 16 1 ret 16 -label L3228 -label L3226 +label L3149 +label L3147 iconst 17 0 -store __or_17_3229 17 +store __or_17_3150 17 iconst 18 0 -store __or_18_3229 18 +store __or_18_3150 18 iconst 19 0 -store __or_19_3229 19 +store __or_19_3150 19 load 20 store_kind strref 21 m51s20 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_3229 22 -brif 22 L3230 L3229 -label L3229 +store __or_19_3150 22 +brif 22 L3151 L3150 +label L3150 load 24 store_kind strref 25 m51s19 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_3229 26 -label L3230 -load 28 __or_19_3229 -store __or_18_3229 28 -brif 28 L3232 L3231 -label L3231 +store __or_19_3150 26 +label L3151 +load 28 __or_19_3150 +store __or_18_3150 28 +brif 28 L3153 L3152 +label L3152 load 29 store_kind strref 30 m51s18 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_18_3229 31 -label L3232 -load 33 __or_18_3229 -store __or_17_3229 33 -brif 33 L3234 L3233 -label L3233 +store __or_18_3150 31 +label L3153 +load 33 __or_18_3150 +store __or_17_3150 33 +brif 33 L3155 L3154 +label L3154 load 34 store_kind strref 35 m51s872 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_17_3229 36 -label L3234 -load 38 __or_17_3229 +store __or_17_3150 36 +label L3155 +load 38 __or_17_3150 ret 38 iconst 39 0 ret 39 @@ -173099,103 +172244,103 @@ endfunc func ir_emitter_core_ir_owned_container_store_name 1 string param emit_name iconst 1 0 -store __or_1_3238 1 +store __or_1_3159 1 iconst 2 0 -store __or_2_3238 2 +store __or_2_3159 2 load 3 emit_name strref 4 m51s276 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_3238 5 -brif 5 L3239 L3238 -label L3238 +store __or_2_3159 5 +brif 5 L3160 L3159 +label L3159 load 7 emit_name -strref 8 m51s794 +strref 8 m51s795 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_3238 9 -label L3239 -load 11 __or_2_3238 -store __or_1_3238 11 -brif 11 L3241 L3240 -label L3240 +store __or_2_3159 9 +label L3160 +load 11 __or_2_3159 +store __or_1_3159 11 +brif 11 L3162 L3161 +label L3161 load 12 emit_name -strref 13 m51s795 +strref 13 m51s796 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __or_1_3238 14 -label L3241 -load 16 __or_1_3238 -brif 16 L3236 L3237 -label L3236 +store __or_1_3159 14 +label L3162 +load 16 __or_1_3159 +brif 16 L3157 L3158 +label L3157 strref 17 m51s1202 ret 17 -label L3237 -label L3235 +label L3158 +label L3156 iconst 18 0 -store __or_18_3245 18 +store __or_18_3166 18 load 19 emit_name strref 20 m51s18 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_18_3245 21 -brif 21 L3246 L3245 -label L3245 +store __or_18_3166 21 +brif 21 L3167 L3166 +label L3166 load 23 emit_name -strref 24 m51s821 +strref 24 m51s822 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_18_3245 25 -label L3246 -load 27 __or_18_3245 -brif 27 L3243 L3244 -label L3243 +store __or_18_3166 25 +label L3167 +load 27 __or_18_3166 +brif 27 L3164 L3165 +label L3164 strref 28 m51s1300 ret 28 -label L3244 -label L3242 +label L3165 +label L3163 iconst 29 0 -store __or_29_3250 29 +store __or_29_3171 29 load 30 emit_name strref 31 m51s255 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_29_3250 32 -brif 32 L3251 L3250 -label L3250 +store __or_29_3171 32 +brif 32 L3172 L3171 +label L3171 load 34 emit_name -strref 35 m51s734 +strref 35 m51s735 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_29_3250 36 -label L3251 -load 38 __or_29_3250 -brif 38 L3248 L3249 -label L3248 +store __or_29_3171 36 +label L3172 +load 38 __or_29_3171 +brif 38 L3169 L3170 +label L3169 strref 39 m51s1299 ret 39 -label L3249 -label L3247 +label L3170 +label L3168 load 40 emit_name -strref 41 m51s735 +strref 41 m51s736 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -brif 42 L3253 L3254 -label L3253 +brif 42 L3174 L3175 +label L3174 strref 44 m51s1298 ret 44 -label L3254 -label L3252 +label L3175 +label L3173 load 45 emit_name -strref 46 m51s752 +strref 46 m51s753 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -brif 47 L3256 L3257 -label L3256 +brif 47 L3177 L3178 +label L3177 strref 49 m51s1297 ret 49 -label L3257 -label L3255 +label L3178 +label L3176 strref 50 m51s83 ret 50 iconst 51 0 @@ -173204,76 +172349,76 @@ endfunc func ir_emitter_core_ir_list_ctor_for_elem_kind 1 string param elem_kind load 1 elem_kind -strref 2 m51s716 +strref 2 m51s717 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3259 L3260 -label L3259 -strref 5 m51s809 +brif 3 L3180 L3181 +label L3180 +strref 5 m51s810 ret 5 -label L3260 -label L3258 +label L3181 +label L3179 load 6 elem_kind strref 7 m51s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3262 L3263 -label L3262 -strref 10 m51s807 +brif 8 L3183 L3184 +label L3183 +strref 10 m51s808 ret 10 -label L3263 -label L3261 +label L3184 +label L3182 load 11 elem_kind strref 12 m51s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3265 L3266 -label L3265 -strref 15 m51s805 +brif 13 L3186 L3187 +label L3186 +strref 15 m51s806 ret 15 -label L3266 -label L3264 +label L3187 +label L3185 load 16 elem_kind strref 17 m51s15 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3268 L3269 -label L3268 -strref 20 m51s803 +brif 18 L3189 L3190 +label L3189 +strref 20 m51s804 ret 20 -label L3269 -label L3267 +label L3190 +label L3188 load 21 elem_kind -strref 22 m51s715 +strref 22 m51s716 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3271 L3272 -label L3271 -strref 25 m51s801 +brif 23 L3192 L3193 +label L3192 +strref 25 m51s802 ret 25 -label L3272 -label L3270 +label L3193 +label L3191 load 26 elem_kind strref 27 m51s872 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3274 L3275 -label L3274 -strref 30 m51s799 +brif 28 L3195 L3196 +label L3195 +strref 30 m51s800 ret 30 -label L3275 -label L3273 +label L3196 +label L3194 load 31 elem_kind strref 32 m51s18 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3277 L3278 -label L3277 -strref 35 m51s797 +brif 33 L3198 L3199 +label L3198 +strref 35 m51s798 ret 35 -label L3278 -label L3276 -strref 36 m51s811 +label L3199 +label L3197 +strref 36 m51s812 ret 36 iconst 37 0 ret 37 @@ -173303,32 +172448,32 @@ store tid 13 load 14 tid iconst 15 0 gte 16 14 15 -brif 16 L3280 L3281 -label L3280 +brif 16 L3201 L3202 +label L3201 load 17 info load 18 tid call 19 types_get_type_info struct:TypeInfo 1 18 call 20 pith_struct_release void 1 17 store info 19 iconst 21 0 -store __and_21_3285 21 +store __and_21_3206 21 load 22 info field 23 22 0 string kind strref 24 m51s20 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_3285 25 -brif 25 L3285 L3286 -label L3285 +store __and_21_3206 25 +brif 25 L3206 L3207 +label L3206 load 27 info field 28 27 64 int inner iconst 29 0 gte 30 28 29 -store __and_21_3285 30 -label L3286 -load 31 __and_21_3285 -brif 31 L3283 L3284 -label L3283 +store __and_21_3206 30 +label L3207 +load 31 __and_21_3206 +brif 31 L3204 L3205 +label L3204 load 32 elem_target load 33 info field 34 33 64 int inner @@ -173340,31 +172485,31 @@ load 38 elem_target call 39 ir_struct_registry_ir_rc_kind string 1 38 call 40 pith_cstring_release void 1 37 store elem_kind 39 -jmp L3282 -label L3284 -label L3282 -jmp L3279 -label L3281 -label L3279 +jmp L3203 +label L3205 +label L3203 +jmp L3200 +label L3202 +label L3200 iconst 41 0 -store __and_41_3290 41 +store __and_41_3211 41 load 42 elem_kind call 43 string_len int 1 42 iconst 44 0 eq 45 43 44 -store __and_41_3290 45 -brif 45 L3290 L3291 -label L3290 +store __and_41_3211 45 +brif 45 L3211 L3212 +label L3211 load 46 node field 47 46 16 list children call 48 pith_list_len int 1 47 iconst 49 0 gt 50 48 49 -store __and_41_3290 50 -label L3291 -load 51 __and_41_3290 -brif 51 L3288 L3289 -label L3288 +store __and_41_3211 50 +label L3212 +load 51 __and_41_3211 +brif 51 L3209 L3210 +label L3209 load 52 elem_kind load 53 node field 54 53 16 list children @@ -173375,9 +172520,9 @@ call 58 ir_struct_registry_ir_rc_kind string 1 57 call 59 pith_cstring_release void 1 57 call 60 pith_cstring_release void 1 52 store elem_kind 58 -jmp L3287 -label L3289 -label L3287 +jmp L3208 +label L3210 +label L3208 call 61 ir_builder_ir_reg int 0 store list_r 61 load 62 ctor @@ -173391,7 +172536,7 @@ strref 68 m51s20 call 69 ir_call_emit_ir_emit_call0 void 3 66 67 68 call 70 pith_cstring_release void 1 68 load 71 ctor -strref 72 m51s811 +strref 72 m51s812 call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 @@ -173401,25 +172546,25 @@ load 77 node field 78 77 16 list children call 79 pith_auto_len int 1 78 iconst 80 0 -store __for_idx_389 80 -store __for_len_389 79 -store __for_iter_389 78 -label L3292 -load 81 __for_idx_389 -load 82 __for_len_389 +store __for_idx_388 80 +store __for_len_388 79 +store __for_iter_388 78 +label L3213 +load 81 __for_idx_388 +load 82 __for_len_388 lt 83 81 82 -brif 83 L3293 L3295 -label L3293 -load 84 __for_iter_389 -load 85 __for_idx_389 +brif 83 L3214 L3216 +label L3214 +load 84 __for_iter_388 +load 85 __for_idx_388 call 86 pith_list_get_value unknown 2 84 85 -store __loopvar_389_child 86 -load 87 __loopvar_389_child +store __loopvar_388_child 86 +load 87 __loopvar_388_child load 88 elem_target call 89 ir_emitter_core_ir_emit_value_for_target int 2 87 88 store elem_r 89 call 90 ir_builder_ir_reg int 0 -strref 91 m51s795 +strref 91 m51s796 strref 92 m51s876 load 93 list_r load 94 elem_r @@ -173427,33 +172572,33 @@ call 95 ir_call_emit_ir_emit_call2 void 5 90 91 92 93 94 call 96 pith_cstring_release void 1 91 call 97 pith_cstring_release void 1 92 iconst 98 0 -store __and_98_3299 98 +store __and_98_3220 98 load 99 retaining -store __and_98_3299 99 -brif 99 L3299 L3300 -label L3299 -load 100 __loopvar_389_child +store __and_98_3220 99 +brif 99 L3220 L3221 +label L3220 +load 100 __loopvar_388_child call 101 ir_emitter_core_ir_string_expr_is_borrowed bool 1 100 iconst 103 1 sub 102 103 101 -store __and_98_3299 102 -label L3300 -load 104 __and_98_3299 -brif 104 L3297 L3298 -label L3297 +store __and_98_3220 102 +label L3221 +load 104 __and_98_3220 +brif 104 L3218 L3219 +label L3218 load 105 elem_r load 106 elem_kind call 107 ir_ownership_ir_rc_release_reg void 2 105 106 -jmp L3296 -label L3298 -label L3296 -label L3294 -load 108 __for_idx_389 +jmp L3217 +label L3219 +label L3217 +label L3215 +load 108 __for_idx_388 iconst 109 1 add 110 108 109 -store __for_idx_389 110 -jmp L3292 -label L3295 +store __for_idx_388 110 +jmp L3213 +label L3216 load 111 list_r load 112 elem_kind call 113 pith_cstring_release void 1 112 @@ -173484,30 +172629,30 @@ store tuple_kind 3 load 4 elem_regs call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_390 6 -store __for_len_390 5 -store __for_iter_390 4 -label L3301 -load 7 __for_idx_390 -load 8 __for_len_390 +store __for_idx_389 6 +store __for_len_389 5 +store __for_iter_389 4 +label L3222 +load 7 __for_idx_389 +load 8 __for_len_389 lt 9 7 8 -brif 9 L3302 L3304 -label L3302 -load 10 __for_iter_390 -load 11 __for_idx_390 +brif 9 L3223 L3225 +label L3223 +load 10 __for_iter_389 +load 11 __for_idx_389 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_390_elem_reg 12 -load 13 __for_idx_390 -store __loopvar_390_i 13 -load 14 __loopvar_390_i +store __loopvar_389_elem_reg 12 +load 13 __for_idx_389 +store __loopvar_389_i 13 +load 14 __loopvar_389_i load 15 elem_nodes call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L3306 L3307 -label L3306 +brif 17 L3227 L3228 +label L3227 load 18 tuple_kind load 19 elem_nodes -load 20 __loopvar_390_i +load 20 __loopvar_389_i call 21 pith_list_get_value_strict int 2 19 20 call 22 ir_emitter_core_ir_infer_type string 1 21 call 23 ir_struct_registry_ir_rc_kind string 1 22 @@ -173515,32 +172660,32 @@ call 24 pith_cstring_release void 1 22 call 25 pith_cstring_release void 1 18 store tuple_kind 23 iconst 26 0 -store __and_26_3311 26 +store __and_26_3232 26 load 27 tuple_kind call 28 string_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_26_3311 30 -brif 30 L3311 L3312 -label L3311 +store __and_26_3232 30 +brif 30 L3232 L3233 +label L3232 load 31 elem_nodes -load 32 __loopvar_390_i +load 32 __loopvar_389_i call 33 pith_list_get_value_strict int 2 31 32 call 34 ir_emitter_core_ir_string_expr_is_borrowed bool 1 33 -store __and_26_3311 34 -label L3312 -load 35 __and_26_3311 -brif 35 L3309 L3310 -label L3309 -load 36 __loopvar_390_elem_reg +store __and_26_3232 34 +label L3233 +load 35 __and_26_3232 +brif 35 L3230 L3231 +label L3230 +load 36 __loopvar_389_elem_reg load 37 tuple_kind call 38 ir_ownership_ir_rc_retain_reg void 2 36 37 -jmp L3308 -label L3310 -label L3308 -jmp L3305 -label L3307 -label L3305 +jmp L3229 +label L3231 +label L3229 +jmp L3226 +label L3228 +label L3226 strref 39 m51s1094 load 40 tuple_r call 41 int_to_string string 1 40 @@ -173551,7 +172696,7 @@ strref 45 m51s344 concat 46 42 45 call 47 pith_cstring_release void 1 42 call 48 pith_cstring_release void 1 45 -load 49 __loopvar_390_i +load 49 __loopvar_389_i call 50 int_to_string string 1 49 concat 51 46 50 call 52 pith_cstring_release void 1 46 @@ -173560,20 +172705,20 @@ strref 54 m51s344 concat 55 51 54 call 56 pith_cstring_release void 1 51 call 57 pith_cstring_release void 1 54 -load 58 __loopvar_390_elem_reg +load 58 __loopvar_389_elem_reg call 59 int_to_string string 1 58 concat 60 55 59 call 61 pith_cstring_release void 1 55 call 62 pith_cstring_release void 1 59 call 63 ir_builder_ir_emit void 1 60 call 64 pith_cstring_release void 1 60 -label L3303 -load 65 __for_idx_390 +label L3224 +load 65 __for_idx_389 iconst 66 1 add 67 65 66 -store __for_idx_390 67 -jmp L3301 -label L3304 +store __for_idx_389 67 +jmp L3222 +label L3225 load 68 tuple_kind call 69 pith_cstring_release void 1 68 iconst 70 0 @@ -173582,85 +172727,85 @@ endfunc func ir_emitter_core_ir_tuple_elem_code 1 string param kind load 1 kind -strref 2 m51s716 +strref 2 m51s717 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3314 L3315 -label L3314 +brif 3 L3235 L3236 +label L3235 strref 5 m51s951 ret 5 -label L3315 -label L3313 +label L3236 +label L3234 load 6 kind strref 7 m51s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3317 L3318 -label L3317 +brif 8 L3238 L3239 +label L3238 strref 10 m51s1296 ret 10 -label L3318 -label L3316 +label L3239 +label L3237 load 11 kind strref 12 m51s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3320 L3321 -label L3320 +brif 13 L3241 L3242 +label L3241 strref 15 m51s1069 ret 15 -label L3321 -label L3319 +label L3242 +label L3240 load 16 kind strref 17 m51s18 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3323 L3324 -label L3323 +brif 18 L3244 L3245 +label L3244 strref 20 m51s1295 ret 20 -label L3324 -label L3322 +label L3245 +label L3243 load 21 kind -strref 22 m51s715 +strref 22 m51s716 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3326 L3327 -label L3326 +brif 23 L3247 L3248 +label L3247 strref 25 m51s1125 ret 25 -label L3327 -label L3325 +label L3248 +label L3246 load 26 kind strref 27 m51s15 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3329 L3330 -label L3329 +brif 28 L3250 L3251 +label L3250 strref 30 m51s1294 ret 30 -label L3330 -label L3328 +label L3251 +label L3249 load 31 kind strref 32 m51s872 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3332 L3333 -label L3332 +brif 33 L3253 L3254 +label L3253 strref 35 m51s1293 ret 35 -label L3333 -label L3331 +label L3254 +label L3252 load 36 kind strref 37 m51s23 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L3335 L3336 -label L3335 +brif 38 L3256 L3257 +label L3256 strref 40 m51s1292 ret 40 -label L3336 -label L3334 +label L3257 +label L3255 strref 41 m51s185 ret 41 iconst 42 0 @@ -173672,82 +172817,82 @@ load 1 code strref 2 m51s951 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3338 L3339 -label L3338 -strref 5 m51s716 +brif 3 L3259 L3260 +label L3259 +strref 5 m51s717 ret 5 -label L3339 -label L3337 +label L3260 +label L3258 load 6 code strref 7 m51s1296 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3341 L3342 -label L3341 +brif 8 L3262 L3263 +label L3262 strref 10 m51s20 ret 10 -label L3342 -label L3340 +label L3263 +label L3261 load 11 code strref 12 m51s1069 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3344 L3345 -label L3344 +brif 13 L3265 L3266 +label L3265 strref 15 m51s19 ret 15 -label L3345 -label L3343 +label L3266 +label L3264 load 16 code strref 17 m51s1295 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3347 L3348 -label L3347 +brif 18 L3268 L3269 +label L3268 strref 20 m51s18 ret 20 -label L3348 -label L3346 +label L3269 +label L3267 load 21 code strref 22 m51s1125 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3350 L3351 -label L3350 -strref 25 m51s715 +brif 23 L3271 L3272 +label L3271 +strref 25 m51s716 ret 25 -label L3351 -label L3349 +label L3272 +label L3270 load 26 code strref 27 m51s1294 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3353 L3354 -label L3353 +brif 28 L3274 L3275 +label L3274 strref 30 m51s15 ret 30 -label L3354 -label L3352 +label L3275 +label L3273 load 31 code strref 32 m51s1293 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3356 L3357 -label L3356 +brif 33 L3277 L3278 +label L3277 strref 35 m51s872 ret 35 -label L3357 -label L3355 +label L3278 +label L3276 load 36 code strref 37 m51s1292 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L3359 L3360 -label L3359 +brif 38 L3280 L3281 +label L3280 strref 40 m51s23 ret 40 -label L3360 -label L3358 +label L3281 +label L3279 strref 41 m51s83 ret 41 iconst 42 0 @@ -173764,22 +172909,22 @@ store sig 3 load 5 elem_nodes call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_391 7 -store __for_len_391 6 -store __for_iter_391 5 -label L3361 -load 8 __for_idx_391 -load 9 __for_len_391 +store __for_idx_390 7 +store __for_len_390 6 +store __for_iter_390 5 +label L3282 +load 8 __for_idx_390 +load 9 __for_len_390 lt 10 8 9 -brif 10 L3362 L3364 -label L3362 -load 11 __for_iter_391 -load 12 __for_idx_391 +brif 10 L3283 L3285 +label L3283 +load 11 __for_iter_390 +load 12 __for_idx_390 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_391_child 13 +store __loopvar_390_child 13 load 14 sig load 15 sig -load 16 __loopvar_391_child +load 16 __loopvar_390_child call 17 ir_emitter_core_ir_infer_type string 1 16 call 18 ir_struct_registry_ir_rc_kind string 1 17 call 19 pith_cstring_release void 1 17 @@ -173789,13 +172934,13 @@ concat 22 15 20 call 23 pith_cstring_release void 1 20 call 24 pith_cstring_release void 1 14 store sig 22 -label L3363 -load 25 __for_idx_391 +label L3284 +load 25 __for_idx_390 iconst 26 1 add 27 25 26 -store __for_idx_391 27 -jmp L3361 -label L3364 +store __for_idx_390 27 +jmp L3282 +label L3285 load 28 sig ret 28 load 29 sig @@ -173826,30 +172971,30 @@ func ir_emitter_core_ir_tuple_sig_has_rc 1 bool param sig iconst 1 0 store i 1 -label L3365 +label L3286 load 2 i load 3 sig call 4 string_len int 1 3 lt 5 2 4 -brif 5 L3366 L3367 -label L3366 +brif 5 L3287 L3288 +label L3287 load 6 sig load 7 i call 8 pith_cstring_byte_at int 2 6 7 iconst 9 48 neq 10 8 9 -brif 10 L3369 L3370 -label L3369 +brif 10 L3290 L3291 +label L3290 iconst 11 1 ret 11 -label L3370 -label L3368 +label L3291 +label L3289 load 12 i iconst 13 1 add 14 12 13 store i 14 -jmp L3365 -label L3367 +jmp L3286 +label L3288 iconst 15 0 ret 15 iconst 16 0 @@ -173878,13 +173023,13 @@ func ir_emitter_core_ir_tuple_sig_has_trace 1 bool param sig iconst 1 0 store i 1 -label L3371 +label L3292 load 2 i load 3 sig call 4 string_len int 1 3 lt 5 2 4 -brif 5 L3372 L3373 -label L3372 +brif 5 L3293 L3294 +label L3293 load 6 sig load 7 i call 8 pith_cstring_char_at_strict string 2 6 7 @@ -173892,18 +173037,18 @@ call 9 ir_emitter_core_ir_tuple_dtor_code_kind string 1 8 call 10 pith_cstring_release void 1 8 call 11 ir_emitter_core_ir_trace_kind_enabled bool 1 9 call 12 pith_cstring_release void 1 9 -brif 11 L3375 L3376 -label L3375 +brif 11 L3296 L3297 +label L3296 iconst 13 1 ret 13 -label L3376 -label L3374 +label L3297 +label L3295 load 14 i iconst 15 1 add 16 14 15 store i 16 -jmp L3371 -label L3373 +jmp L3292 +label L3294 iconst 17 0 ret 17 iconst 18 0 @@ -173923,51 +173068,51 @@ load 7 sig call 8 ir_emitter_core_ir_tuple_sig_has_rc bool 1 7 iconst 10 1 sub 9 10 8 -brif 9 L3378 L3379 -label L3378 +brif 9 L3299 L3300 +label L3299 load 11 sig call 12 pith_cstring_release void 1 11 iconst 13 0 ret 13 -label L3379 -label L3377 +label L3300 +label L3298 load 14 ir_emitter_core_ir_tuple_dtor_sigs load 15 sig iconst 16 -1 -store __list_index_result_L3383 16 +store __list_index_result_L3304 16 iconst 17 0 -store __list_index_i_L3384 17 +store __list_index_i_L3305 17 call 18 pith_list_len int 1 14 -label L3385 -load 19 __list_index_i_L3384 +label L3306 +load 19 __list_index_i_L3305 lt 20 19 18 -brif 20 L3386 L3389 -label L3386 +brif 20 L3307 L3310 +label L3307 call 21 pith_list_get_value string 2 14 19 call 22 pith_cstring_eq bool 2 21 15 -brif 22 L3387 L3388 -label L3387 -store __list_index_result_L3383 19 -jmp L3389 -label L3388 +brif 22 L3308 L3309 +label L3308 +store __list_index_result_L3304 19 +jmp L3310 +label L3309 iconst 23 1 add 24 19 23 -store __list_index_i_L3384 24 -jmp L3385 -label L3389 -load 25 __list_index_result_L3383 +store __list_index_i_L3305 24 +jmp L3306 +label L3310 +load 25 __list_index_result_L3304 iconst 26 0 gte 27 25 26 iconst 29 1 sub 28 29 27 -brif 28 L3381 L3382 -label L3381 +brif 28 L3302 L3303 +label L3302 load 30 ir_emitter_core_ir_tuple_dtor_sigs load 31 sig call 32 pith_list_push_value void 2 30 31 -jmp L3380 -label L3382 -label L3380 +jmp L3301 +label L3303 +label L3301 call 33 ir_builder_ir_reg int 0 store fr 33 strref 34 m51s950 @@ -174035,21 +173180,21 @@ load 10 node field 11 10 16 list children call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_392 13 -store __for_len_392 12 -store __for_iter_392 11 -label L3390 -load 14 __for_idx_392 -load 15 __for_len_392 +store __for_idx_391 13 +store __for_len_391 12 +store __for_iter_391 11 +label L3311 +load 14 __for_idx_391 +load 15 __for_len_391 lt 16 14 15 -brif 16 L3391 L3393 -label L3391 -load 17 __for_iter_392 -load 18 __for_idx_392 +brif 16 L3312 L3314 +label L3312 +load 17 __for_iter_391 +load 18 __for_idx_391 call 19 pith_list_get_value unknown 2 17 18 -store __loopvar_392_child 19 +store __loopvar_391_child 19 load 20 cn -load 21 __loopvar_392_child +load 21 __loopvar_391_child call 22 ast_get_node struct:Node 1 21 call 23 pith_struct_release void 1 20 store cn 22 @@ -174058,28 +173203,28 @@ field 25 24 0 string kind strref 26 m51s494 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L3395 L3396 -label L3395 +brif 27 L3316 L3317 +label L3316 load 29 elem_regs call 30 ir_optionals_ir_emit_optional_none_value int 0 call 31 pith_list_push_value void 2 29 30 -jmp L3394 -label L3396 +jmp L3315 +label L3317 load 32 elem_regs -load 33 __loopvar_392_child +load 33 __loopvar_391_child call 34 ir_emitter_core_ir_expr int 1 33 call 35 pith_list_push_value void 2 32 34 -label L3394 +label L3315 load 36 elem_nodes -load 37 __loopvar_392_child +load 37 __loopvar_391_child call 38 pith_list_push_value void 2 36 37 -label L3392 -load 39 __for_idx_392 +label L3313 +load 39 __for_idx_391 iconst 40 1 add 41 39 40 -store __for_idx_392 41 -jmp L3390 -label L3393 +store __for_idx_391 41 +jmp L3311 +label L3314 call 42 ir_builder_ir_reg int 0 store r 42 call 43 ir_builder_ir_reg int 0 @@ -174103,7 +173248,7 @@ call 59 pith_cstring_release void 1 56 call 60 ir_builder_ir_emit void 1 57 call 61 pith_cstring_release void 1 57 load 62 r -strref 63 m51s773 +strref 63 m51s774 strref 64 m51s1204 load 65 nf call 66 ir_call_emit_ir_emit_call1 void 4 62 63 64 65 @@ -174158,8 +173303,8 @@ store max_count 2 load 3 ir_struct_registry_ir_enum_variant_lists load 4 enum_name call 5 contains_key bool 2 3 4 -brif 5 L3398 L3399 -label L3398 +brif 5 L3319 L3320 +label L3319 load 6 ir_struct_registry_ir_enum_variant_lists load 7 enum_name call 8 map_get_strict string 2 6 7 @@ -174168,25 +173313,25 @@ call 10 pith_string_split_to_list list_string 2 8 9 call 11 pith_cstring_release void 1 9 call 12 pith_auto_len int 1 10 iconst 13 0 -store __for_idx_393 13 -store __for_len_393 12 -store __for_iter_393 10 -label L3400 -load 14 __for_idx_393 -load 15 __for_len_393 +store __for_idx_392 13 +store __for_len_392 12 +store __for_iter_392 10 +label L3321 +load 14 __for_idx_392 +load 15 __for_len_392 lt 16 14 15 -brif 16 L3401 L3403 -label L3401 -load 17 __for_iter_393 -load 18 __for_idx_393 +brif 16 L3322 L3324 +label L3322 +load 17 __for_iter_392 +load 18 __for_idx_392 call 19 pith_list_get_value_unchecked string 2 17 18 -store __loopvar_393_vname 19 +store __loopvar_392_vname 19 load 20 vkey load 21 enum_name strref 22 m51s26 concat 23 21 22 call 24 pith_cstring_release void 1 22 -load 25 __loopvar_393_vname +load 25 __loopvar_392_vname concat 26 23 25 call 27 pith_cstring_release void 1 23 call 28 pith_cstring_release void 1 20 @@ -174194,8 +173339,8 @@ store vkey 26 load 29 ir_struct_registry_ir_enum_payload_kinds load 30 vkey call 31 contains_key bool 2 29 30 -brif 31 L3405 L3406 -label L3405 +brif 31 L3326 L3327 +label L3326 load 32 ir_struct_registry_ir_enum_payload_kinds load 33 vkey call 34 map_get_strict string 2 32 33 @@ -174208,28 +173353,28 @@ store count 38 load 40 count load 41 max_count gt 42 40 41 -brif 42 L3408 L3409 -label L3408 +brif 42 L3329 L3330 +label L3329 load 43 count store max_count 43 -jmp L3407 -label L3409 -label L3407 -jmp L3404 -label L3406 -label L3404 -label L3402 -load 44 __for_idx_393 +jmp L3328 +label L3330 +label L3328 +jmp L3325 +label L3327 +label L3325 +label L3323 +load 44 __for_idx_392 iconst 45 1 add 46 44 45 -store __for_idx_393 46 -jmp L3400 -label L3403 -load 47 __for_iter_393 +store __for_idx_392 46 +jmp L3321 +label L3324 +load 47 __for_iter_392 call 48 pith_list_release_handle void 1 47 -jmp L3397 -label L3399 -label L3397 +jmp L3318 +label L3320 +label L3318 load 49 max_count load 50 vkey call 51 pith_cstring_release void 1 50 @@ -174249,13 +173394,13 @@ store slots 4 load 5 payload_count load 6 slots gt 7 5 6 -brif 7 L3411 L3412 -label L3411 +brif 7 L3332 L3333 +label L3332 load 8 payload_count store slots 8 -jmp L3410 -label L3412 -label L3410 +jmp L3331 +label L3333 +label L3331 call 9 ir_builder_ir_reg int 0 store count_r 9 strref 10 m51s880 @@ -174280,7 +173425,7 @@ call 28 pith_cstring_release void 1 24 call 29 ir_builder_ir_reg int 0 store r 29 load 30 r -strref 31 m51s773 +strref 31 m51s774 strref 32 m51s931 load 33 enum_name concat 34 32 33 @@ -174349,8 +173494,8 @@ store kinds 7 load 9 ir_struct_registry_ir_enum_payload_kinds load 10 variant_key call 11 contains_key bool 2 9 10 -brif 11 L3414 L3415 -label L3414 +brif 11 L3335 L3336 +label L3335 load 12 kinds load 13 idx call 14 ir_alias_registry_ir_emission_tid int 1 13 @@ -174365,9 +173510,9 @@ call 22 ir_match_emit_ir_resolved_variant_kinds_for_tid list_string 3 14 15 20 call 23 pith_list_release_handle void 1 20 call 24 pith_list_release_handle void 1 12 store kinds 22 -jmp L3413 -label L3415 -label L3413 +jmp L3334 +label L3336 +label L3334 load 25 enum_name load 26 variant_key load 27 kinds @@ -174376,13 +173521,13 @@ call 29 ir_emitter_core_ir_emit_variant_alloc int 3 25 26 28 store r 29 iconst 30 0 store i 30 -label L3416 +label L3337 load 31 i load 32 kinds call 33 pith_list_len int 1 32 lt 34 31 33 -brif 34 L3417 L3418 -label L3417 +brif 34 L3338 L3339 +label L3338 load 35 node load 36 i call 37 ir_emitter_core_ir_method_call_arg_expr int 2 35 36 @@ -174390,8 +173535,8 @@ store arg_idx 37 load 38 arg_idx iconst 39 0 gte 40 38 39 -brif 40 L3420 L3421 -label L3420 +brif 40 L3341 L3342 +label L3341 load 41 arg_idx call 42 ir_emitter_core_ir_expr int 1 41 store arg_r 42 @@ -174403,27 +173548,27 @@ call 47 ir_struct_registry_ir_rc_kind string 1 46 call 48 pith_cstring_release void 1 43 store payload_kind 47 iconst 49 0 -store __and_49_3425 49 +store __and_49_3346 49 load 50 payload_kind call 51 string_len int 1 50 iconst 52 0 gt 53 51 52 -store __and_49_3425 53 -brif 53 L3425 L3426 -label L3425 +store __and_49_3346 53 +brif 53 L3346 L3347 +label L3346 load 54 arg_idx call 55 ir_emitter_core_ir_string_expr_is_borrowed bool 1 54 -store __and_49_3425 55 -label L3426 -load 56 __and_49_3425 -brif 56 L3423 L3424 -label L3423 +store __and_49_3346 55 +label L3347 +load 56 __and_49_3346 +brif 56 L3344 L3345 +label L3344 load 57 arg_r load 58 payload_kind call 59 ir_ownership_ir_rc_retain_reg void 2 57 58 -jmp L3422 -label L3424 -label L3422 +jmp L3343 +label L3345 +label L3343 strref 60 m51s1094 load 61 r call 62 int_to_string string 1 61 @@ -174452,15 +173597,15 @@ call 84 pith_cstring_release void 1 78 call 85 pith_cstring_release void 1 82 call 86 ir_builder_ir_emit void 1 83 call 87 pith_cstring_release void 1 83 -jmp L3419 -label L3421 -label L3419 +jmp L3340 +label L3342 +label L3340 load 88 i iconst 89 1 add 90 88 89 store i 90 -jmp L3416 -label L3418 +jmp L3337 +label L3339 load 91 r load 92 kinds call 93 pith_list_release_handle void 1 92 @@ -174498,8 +173643,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 eq 16 14 15 -brif 16 L3428 L3429 -label L3428 +brif 16 L3349 L3350 +label L3349 call 17 ir_builder_ir_reg int 0 store r 17 strref 18 m51s880 @@ -174526,8 +173671,8 @@ call 38 pith_cstring_release void 1 37 load 39 weak_struct call 40 pith_cstring_release void 1 39 ret 30 -label L3429 -label L3427 +label L3350 +label L3348 load 41 recv_node load 42 node field 43 42 16 list children @@ -174541,8 +173686,8 @@ field 49 48 0 string kind strref 50 m51s37 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L3431 L3432 -label L3431 +brif 51 L3352 L3353 +label L3352 load 53 lookup_key load 54 recv_node field 55 54 8 string value @@ -174557,27 +173702,27 @@ store lookup_key 60 load 63 ir_struct_registry_ir_struct_field_index_lookup load 64 lookup_key call 65 contains_key bool 2 63 64 -brif 65 L3434 L3435 -label L3434 +brif 65 L3355 L3356 +label L3355 load 66 ir_struct_registry_ir_struct_field_lookup load 67 lookup_key call 68 contains_key bool 2 66 67 -brif 68 L3437 L3438 -label L3437 +brif 68 L3358 L3359 +label L3358 load 69 ir_struct_registry_ir_struct_field_lookup load 70 lookup_key call 71 map_get_strict string 2 69 70 load 72 recv_node field 73 72 8 string value call 74 pith_cstring_eq bool 2 71 73 -brif 74 L3440 L3441 -label L3440 +brif 74 L3361 L3362 +label L3361 load 75 ir_struct_registry_ir_boxed_enums load 76 recv_node field 77 76 8 string value call 78 contains_key bool 2 75 77 -brif 78 L3443 L3444 -label L3443 +brif 78 L3364 L3365 +label L3364 load 79 recv_node field 80 79 8 string value load 81 lookup_key @@ -174594,8 +173739,8 @@ call 91 pith_cstring_release void 1 90 load 92 weak_struct call 93 pith_cstring_release void 1 92 ret 83 -label L3444 -label L3442 +label L3365 +label L3363 call 94 ir_builder_ir_reg int 0 store r 94 strref 95 m51s880 @@ -174627,17 +173772,17 @@ call 120 pith_cstring_release void 1 119 load 121 weak_struct call 122 pith_cstring_release void 1 121 ret 112 -label L3441 -label L3439 -jmp L3436 -label L3438 -label L3436 -jmp L3433 -label L3435 -label L3433 -jmp L3430 -label L3432 -label L3430 +label L3362 +label L3360 +jmp L3357 +label L3359 +label L3357 +jmp L3354 +label L3356 +label L3354 +jmp L3351 +label L3353 +label L3351 load 123 node field 124 123 16 list children iconst 125 0 @@ -174648,14 +173793,14 @@ store obj_r 127 load 128 obj_r iconst 129 0 lt 130 128 129 -brif 130 L3446 L3447 -label L3446 +brif 130 L3367 L3368 +label L3367 load 131 recv_idx call 132 ir_emitter_core_ir_expr int 1 131 store obj_r 132 -jmp L3445 -label L3447 -label L3445 +jmp L3366 +label L3368 +label L3366 call 133 ir_builder_ir_reg int 0 store r 133 load 134 r @@ -174663,8 +173808,8 @@ load 135 obj_r load 136 recv_idx load 137 fname call 138 ir_field_helpers_ir_emit_tuple_field_access bool 4 134 135 136 137 -brif 138 L3449 L3450 -label L3449 +brif 138 L3370 L3371 +label L3370 load 139 r load 140 fname call 141 pith_cstring_release void 1 140 @@ -174677,8 +173822,8 @@ call 147 pith_cstring_release void 1 146 load 148 weak_struct call 149 pith_cstring_release void 1 148 ret 139 -label L3450 -label L3448 +label L3371 +label L3369 load 150 lk load 151 recv_idx load 152 fname @@ -174690,8 +173835,8 @@ load 156 lk call 157 contains_key bool 2 155 156 iconst 159 1 sub 158 159 157 -brif 158 L3452 L3453 -label L3452 +brif 158 L3373 L3374 +label L3373 load 160 obj_r load 161 recv_idx load 162 fname @@ -174700,8 +173845,8 @@ store checked_r 163 load 164 checked_r iconst 165 0 gte 166 164 165 -brif 166 L3455 L3456 -label L3455 +brif 166 L3376 L3377 +label L3376 load 167 checked_r load 168 fname call 169 pith_cstring_release void 1 168 @@ -174714,11 +173859,11 @@ call 175 pith_cstring_release void 1 174 load 176 weak_struct call 177 pith_cstring_release void 1 176 ret 167 -label L3456 -label L3454 -jmp L3451 -label L3453 -label L3451 +label L3377 +label L3375 +jmp L3372 +label L3374 +label L3372 load 178 r load 179 obj_r load 180 lk @@ -174735,8 +173880,8 @@ call 190 string_len int 1 189 iconst 191 1 add 192 190 191 gt 193 188 192 -brif 193 L3458 L3459 -label L3458 +brif 193 L3379 L3380 +label L3379 load 194 weak_struct load 195 lk iconst 196 0 @@ -174753,8 +173898,8 @@ store weak_struct 204 load 206 weak_struct load 207 fname call 208 ir_emitter_core_ir_struct_field_is_weak bool 2 206 207 -brif 208 L3461 L3462 -label L3461 +brif 208 L3382 L3383 +label L3382 load 209 r call 210 ir_optionals_ir_emit_weak_read int 1 209 load 211 fname @@ -174768,11 +173913,11 @@ call 218 pith_cstring_release void 1 217 load 219 weak_struct call 220 pith_cstring_release void 1 219 ret 210 -label L3462 -label L3460 -jmp L3457 -label L3459 -label L3457 +label L3383 +label L3381 +jmp L3378 +label L3380 +label L3378 load 221 r load 222 fname call 223 pith_cstring_release void 1 222 @@ -174819,7 +173964,7 @@ call 15 pith_cstring_release void 1 11 call 16 ir_builder_ir_reg int 0 store result_r 16 load 17 result_r -strref 18 m51s773 +strref 18 m51s774 strref 19 m51s1204 load 20 count_r call 21 ir_call_emit_ir_emit_call1 void 4 17 18 19 20 @@ -174923,25 +174068,25 @@ store value 0 load 1 ir_emitter_core_ir_result_reg_flag iconst 2 0 lt 3 1 2 -brif 3 L3464 L3465 -label L3464 +brif 3 L3385 L3386 +label L3385 load 4 value strref 5 m51s1288 call 6 env_opt tuple 1 5 call 7 pith_cstring_release void 1 5 field 8 6 0 bool is_some -brif 8 L3466 L3467 -label L3466 +brif 8 L3387 L3388 +label L3387 field 9 6 8 string value call 10 pith_cstring_retain void 1 9 -store __unwrap_or_9_3466 9 -jmp L3468 -label L3467 +store __unwrap_or_9_3387 9 +jmp L3389 +label L3388 strref 11 m51s83 -store __unwrap_or_9_3466 11 -label L3468 +store __unwrap_or_9_3387 11 +label L3389 call 12 pith_struct_release void 1 6 -load 13 __unwrap_or_9_3466 +load 13 __unwrap_or_9_3387 call 14 pith_cstring_retain void 1 13 call 15 pith_cstring_release void 1 4 store value 13 @@ -174949,18 +174094,18 @@ load 16 value strref 17 m51s184 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3470 L3471 -label L3470 +brif 18 L3391 L3392 +label L3391 iconst 20 1 store ir_emitter_core_ir_result_reg_flag 20 -jmp L3469 -label L3471 +jmp L3390 +label L3392 iconst 21 0 store ir_emitter_core_ir_result_reg_flag 21 -label L3469 -jmp L3463 -label L3465 -label L3463 +label L3390 +jmp L3384 +label L3386 +label L3384 load 22 ir_emitter_core_ir_result_reg_flag iconst 23 1 eq 24 22 23 @@ -174981,46 +174126,46 @@ store ok_kind 3 call 4 ir_emitter_core_ir_result_reg_enabled bool 0 iconst 6 1 sub 5 6 4 -brif 5 L3473 L3474 -label L3473 +brif 5 L3394 L3395 +label L3394 load 7 ok_kind call 8 pith_cstring_release void 1 7 iconst 9 0 ret 9 -label L3474 -label L3472 +label L3395 +label L3393 load 10 name strref 11 m51s1213 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L3476 L3477 -label L3476 +brif 12 L3397 L3398 +label L3397 load 14 ok_kind call 15 pith_cstring_release void 1 14 iconst 16 0 ret 16 -label L3477 -label L3475 +label L3398 +label L3396 load 17 node call 18 ir_generics_ir_has_generic_params bool 1 17 -brif 18 L3479 L3480 -label L3479 +brif 18 L3400 L3401 +label L3400 load 19 ok_kind call 20 pith_cstring_release void 1 19 iconst 21 0 ret 21 -label L3480 -label L3478 +label L3401 +label L3399 iconst 22 0 -store __or_22_3484 22 +store __or_22_3405 22 load 23 ir_method_tables_ir_func_returns load 24 name call 25 contains_key bool 2 23 24 iconst 27 1 sub 26 27 25 -store __or_22_3484 26 -brif 26 L3485 L3484 -label L3484 +store __or_22_3405 26 +brif 26 L3406 L3405 +label L3405 load 28 ir_method_tables_ir_func_returns load 29 name call 30 map_get_strict string 2 28 29 @@ -175029,30 +174174,30 @@ call 33 pith_cstring_eq bool 2 30 31 iconst 34 1 sub 32 34 33 call 35 pith_cstring_release void 1 31 -store __or_22_3484 32 -label L3485 -load 36 __or_22_3484 -brif 36 L3482 L3483 -label L3482 +store __or_22_3405 32 +label L3406 +load 36 __or_22_3405 +brif 36 L3403 L3404 +label L3403 load 37 ok_kind call 38 pith_cstring_release void 1 37 iconst 39 0 ret 39 -label L3483 -label L3481 +label L3404 +label L3402 load 40 ir_result_abi_ir_func_result_ok_kinds load 41 name call 42 contains_key bool 2 40 41 iconst 44 1 sub 43 44 42 -brif 43 L3487 L3488 -label L3487 +brif 43 L3408 L3409 +label L3408 load 45 ok_kind call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L3488 -label L3486 +label L3409 +label L3407 load 48 ok_kind load 49 ir_result_abi_ir_func_result_ok_kinds load 50 name @@ -175064,48 +174209,48 @@ load 54 ok_kind call 55 ir_emitter_core_ir_result_reg_ok_kind_fits bool 1 54 iconst 57 1 sub 56 57 55 -brif 56 L3490 L3491 -label L3490 +brif 56 L3411 L3412 +label L3411 load 58 ok_kind call 59 pith_cstring_release void 1 58 iconst 60 0 ret 60 -label L3491 -label L3489 +label L3412 +label L3410 load 61 node field 62 61 16 list children call 63 pith_auto_len int 1 62 iconst 64 0 -store __for_idx_394 64 -store __for_len_394 63 -store __for_iter_394 62 -label L3492 -load 65 __for_idx_394 -load 66 __for_len_394 +store __for_idx_393 64 +store __for_len_393 63 +store __for_iter_393 62 +label L3413 +load 65 __for_idx_393 +load 66 __for_len_393 lt 67 65 66 -brif 67 L3493 L3495 -label L3493 -load 68 __for_iter_394 -load 69 __for_idx_394 +brif 67 L3414 L3416 +label L3414 +load 68 __for_iter_393 +load 69 __for_idx_393 call 70 pith_list_get_value unknown 2 68 69 -store __loopvar_394_child_idx 70 -load 71 __loopvar_394_child_idx +store __loopvar_393_child_idx 70 +load 71 __loopvar_393_child_idx call 72 ir_emitter_core_ir_node_contains_lambda_or_spawn bool 1 71 -brif 72 L3497 L3498 -label L3497 +brif 72 L3418 L3419 +label L3418 load 73 ok_kind call 74 pith_cstring_release void 1 73 iconst 75 0 ret 75 -label L3498 -label L3496 -label L3494 -load 76 __for_idx_394 +label L3419 +label L3417 +label L3415 +load 76 __for_idx_393 iconst 77 1 add 78 76 77 -store __for_idx_394 78 -jmp L3492 -label L3495 +store __for_idx_393 78 +jmp L3413 +label L3416 load 79 ir_result_abi_ir_result_reg_funcs load 80 name iconst 81 1 @@ -175133,21 +174278,21 @@ load 9 node field 10 9 16 list children call 11 pith_auto_len int 1 10 iconst 12 0 -store __for_idx_395 12 -store __for_len_395 11 -store __for_iter_395 10 -label L3499 -load 13 __for_idx_395 -load 14 __for_len_395 +store __for_idx_394 12 +store __for_len_394 11 +store __for_iter_394 10 +label L3420 +load 13 __for_idx_394 +load 14 __for_len_394 lt 15 13 14 -brif 15 L3500 L3502 -label L3500 -load 16 __for_iter_395 -load 17 __for_idx_395 +brif 15 L3421 L3423 +label L3421 +load 16 __for_iter_394 +load 17 __for_idx_394 call 18 pith_list_get_value unknown 2 16 17 -store __loopvar_395_child 18 +store __loopvar_394_child 18 load 19 cn -load 20 __loopvar_395_child +load 20 __loopvar_394_child call 21 ast_get_node struct:Node 1 20 call 22 pith_struct_release void 1 19 store cn 21 @@ -175156,50 +174301,50 @@ field 24 23 0 string kind strref 25 m51s323 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L3504 L3505 -label L3504 +brif 26 L3425 L3426 +label L3425 load 28 cn field 29 28 16 list children call 30 pith_auto_len int 1 29 iconst 31 0 -store __for_idx_396 31 -store __for_len_396 30 -store __for_iter_396 29 -label L3506 -load 32 __for_idx_396 -load 33 __for_len_396 +store __for_idx_395 31 +store __for_len_395 30 +store __for_iter_395 29 +label L3427 +load 32 __for_idx_395 +load 33 __for_len_395 lt 34 32 33 -brif 34 L3507 L3509 -label L3507 -load 35 __for_iter_396 -load 36 __for_idx_396 +brif 34 L3428 L3430 +label L3428 +load 35 __for_iter_395 +load 36 __for_idx_395 call 37 pith_list_get_value unknown 2 35 36 -store __loopvar_396_returns_child 37 +store __loopvar_395_returns_child 37 load 38 rn -load 39 __loopvar_396_returns_child +load 39 __loopvar_395_returns_child call 40 ast_get_node struct:Node 1 39 call 41 pith_struct_release void 1 38 store rn 40 iconst 42 0 -store __and_42_3513 42 +store __and_42_3434 42 load 43 rn field 44 43 0 string kind strref 45 m51s330 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __and_42_3513 46 -brif 46 L3513 L3514 -label L3513 +store __and_42_3434 46 +brif 46 L3434 L3435 +label L3434 load 48 rn field 49 48 16 list children call 50 pith_list_len int 1 49 iconst 51 0 gt 52 50 51 -store __and_42_3513 52 -label L3514 -load 53 __and_42_3513 -brif 53 L3511 L3512 -label L3511 +store __and_42_3434 52 +label L3435 +load 53 __and_42_3434 +brif 53 L3432 L3433 +label L3432 load 54 impl_type load 55 rn field 56 55 16 list children @@ -175217,25 +174362,25 @@ call 67 pith_struct_release void 1 66 load 68 rn call 69 pith_struct_release void 1 68 ret 62 -label L3512 -label L3510 -label L3508 -load 70 __for_idx_396 +label L3433 +label L3431 +label L3429 +load 70 __for_idx_395 iconst 71 1 add 72 70 71 -store __for_idx_396 72 -jmp L3506 -label L3509 -jmp L3503 -label L3505 -label L3503 -label L3501 -load 73 __for_idx_395 +store __for_idx_395 72 +jmp L3427 +label L3430 +jmp L3424 +label L3426 +label L3424 +label L3422 +load 73 __for_idx_394 iconst 74 1 add 75 73 74 -store __for_idx_395 75 -jmp L3499 -label L3502 +store __for_idx_394 75 +jmp L3420 +label L3423 strref 76 m51s83 load 77 node call 78 pith_struct_release void 1 77 @@ -175266,58 +174411,58 @@ store full_name 6 call 7 ir_emitter_core_ir_result_reg_enabled bool 0 iconst 9 1 sub 8 9 7 -brif 8 L3516 L3517 -label L3516 +brif 8 L3437 L3438 +label L3437 load 10 ok_kind call 11 pith_cstring_release void 1 10 load 12 full_name call 13 pith_cstring_release void 1 12 iconst 14 0 ret 14 -label L3517 -label L3515 +label L3438 +label L3436 load 15 impl_node call 16 ir_emitter_core_ir_impl_interface_base string 1 15 call 17 string_len int 1 16 call 18 pith_cstring_release void 1 16 iconst 19 0 gt 20 17 19 -brif 20 L3519 L3520 -label L3519 +brif 20 L3440 L3441 +label L3440 load 21 ok_kind call 22 pith_cstring_release void 1 21 load 23 full_name call 24 pith_cstring_release void 1 23 iconst 25 0 ret 25 -label L3520 -label L3518 +label L3441 +label L3439 load 26 impl_type strref 27 m51s343 call 28 pith_cstring_contains bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3522 L3523 -label L3522 +brif 28 L3443 L3444 +label L3443 load 30 ok_kind call 31 pith_cstring_release void 1 30 load 32 full_name call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L3523 -label L3521 +label L3444 +label L3442 load 35 method_node call 36 ir_generics_ir_has_generic_params bool 1 35 -brif 36 L3525 L3526 -label L3525 +brif 36 L3446 L3447 +label L3446 load 37 ok_kind call 38 pith_cstring_release void 1 37 load 39 full_name call 40 pith_cstring_release void 1 39 iconst 41 0 ret 41 -label L3526 -label L3524 +label L3447 +label L3445 load 42 impl_type load 43 method_idx call 44 ir_emitter_core_ir_extract_return_type string 1 43 @@ -175329,16 +174474,16 @@ iconst 50 1 sub 48 50 49 call 51 pith_cstring_release void 1 45 call 52 pith_cstring_release void 1 47 -brif 48 L3528 L3529 -label L3528 +brif 48 L3449 L3450 +label L3449 load 53 ok_kind call 54 pith_cstring_release void 1 53 load 55 full_name call 56 pith_cstring_release void 1 55 iconst 57 0 ret 57 -label L3529 -label L3527 +label L3450 +label L3448 load 58 ok_kind load 59 impl_type load 60 method_idx @@ -175349,52 +174494,52 @@ load 63 ok_kind call 64 ir_emitter_core_ir_result_reg_ok_kind_fits bool 1 63 iconst 66 1 sub 65 66 64 -brif 65 L3531 L3532 -label L3531 +brif 65 L3452 L3453 +label L3452 load 67 ok_kind call 68 pith_cstring_release void 1 67 load 69 full_name call 70 pith_cstring_release void 1 69 iconst 71 0 ret 71 -label L3532 -label L3530 +label L3453 +label L3451 load 72 method_node field 73 72 16 list children call 74 pith_auto_len int 1 73 iconst 75 0 -store __for_idx_397 75 -store __for_len_397 74 -store __for_iter_397 73 -label L3533 -load 76 __for_idx_397 -load 77 __for_len_397 +store __for_idx_396 75 +store __for_len_396 74 +store __for_iter_396 73 +label L3454 +load 76 __for_idx_396 +load 77 __for_len_396 lt 78 76 77 -brif 78 L3534 L3536 -label L3534 -load 79 __for_iter_397 -load 80 __for_idx_397 +brif 78 L3455 L3457 +label L3455 +load 79 __for_iter_396 +load 80 __for_idx_396 call 81 pith_list_get_value unknown 2 79 80 -store __loopvar_397_child_idx 81 -load 82 __loopvar_397_child_idx +store __loopvar_396_child_idx 81 +load 82 __loopvar_396_child_idx call 83 ir_emitter_core_ir_node_contains_lambda_or_spawn bool 1 82 -brif 83 L3538 L3539 -label L3538 +brif 83 L3459 L3460 +label L3459 load 84 ok_kind call 85 pith_cstring_release void 1 84 load 86 full_name call 87 pith_cstring_release void 1 86 iconst 88 0 ret 88 -label L3539 -label L3537 -label L3535 -load 89 __for_idx_397 +label L3460 +label L3458 +label L3456 +load 89 __for_idx_396 iconst 90 1 add 91 89 90 -store __for_idx_397 91 -jmp L3533 -label L3536 +store __for_idx_396 91 +jmp L3454 +label L3457 load 92 full_name load 93 impl_type strref 94 m51s80 @@ -175410,8 +174555,8 @@ load 102 module_path call 103 string_len int 1 102 iconst 104 0 gt 105 103 104 -brif 105 L3541 L3542 -label L3541 +brif 105 L3462 L3463 +label L3462 load 106 full_name load 107 module_path load 108 impl_type @@ -175420,9 +174565,9 @@ field 110 109 8 string value call 111 ir_names_ir_import_impl_method_name string 3 107 108 110 call 112 pith_cstring_release void 1 106 store full_name 111 -jmp L3540 -label L3542 -label L3540 +jmp L3461 +label L3463 +label L3461 load 113 ir_result_abi_ir_result_reg_funcs load 114 full_name iconst 115 1 @@ -175448,65 +174593,65 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __or_6_3546 6 +store __or_6_3467 6 load 7 node field 8 7 0 string kind strref 9 m51s512 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_6_3546 10 -brif 10 L3547 L3546 -label L3546 +store __or_6_3467 10 +brif 10 L3468 L3467 +label L3467 load 12 node field 13 12 0 string kind strref 14 m51s510 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_6_3546 15 -label L3547 -load 17 __or_6_3546 -brif 17 L3544 L3545 -label L3544 +store __or_6_3467 15 +label L3468 +load 17 __or_6_3467 +brif 17 L3465 L3466 +label L3465 iconst 18 1 load 19 node call 20 pith_struct_release void 1 19 ret 18 -label L3545 -label L3543 +label L3466 +label L3464 load 21 node field 22 21 16 list children call 23 pith_auto_len int 1 22 iconst 24 0 -store __for_idx_398 24 -store __for_len_398 23 -store __for_iter_398 22 -label L3548 -load 25 __for_idx_398 -load 26 __for_len_398 +store __for_idx_397 24 +store __for_len_397 23 +store __for_iter_397 22 +label L3469 +load 25 __for_idx_397 +load 26 __for_len_397 lt 27 25 26 -brif 27 L3549 L3551 -label L3549 -load 28 __for_iter_398 -load 29 __for_idx_398 +brif 27 L3470 L3472 +label L3470 +load 28 __for_iter_397 +load 29 __for_idx_397 call 30 pith_list_get_value unknown 2 28 29 -store __loopvar_398_child_idx 30 -load 31 __loopvar_398_child_idx +store __loopvar_397_child_idx 30 +load 31 __loopvar_397_child_idx call 32 ir_emitter_core_ir_node_contains_lambda_or_spawn bool 1 31 -brif 32 L3553 L3554 -label L3553 +brif 32 L3474 L3475 +label L3474 iconst 33 1 load 34 node call 35 pith_struct_release void 1 34 ret 33 -label L3554 -label L3552 -label L3550 -load 36 __for_idx_398 +label L3475 +label L3473 +label L3471 +load 36 __for_idx_397 iconst 37 1 add 38 36 37 -store __for_idx_398 38 -jmp L3548 -label L3551 +store __for_idx_397 38 +jmp L3469 +label L3472 iconst 39 0 load 40 node call 41 pith_struct_release void 1 40 @@ -175519,121 +174664,121 @@ endfunc func ir_emitter_core_ir_result_reg_ok_kind_fits 1 bool param ok_kind iconst 1 0 -store __or_1_3558 1 +store __or_1_3479 1 iconst 2 0 -store __or_2_3558 2 +store __or_2_3479 2 iconst 3 0 -store __or_3_3558 3 +store __or_3_3479 3 load 4 ok_kind -strref 5 m51s712 +strref 5 m51s713 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_3558 6 -brif 6 L3559 L3558 -label L3558 +store __or_3_3479 6 +brif 6 L3480 L3479 +label L3479 load 8 ok_kind -strref 9 m51s714 +strref 9 m51s715 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_3_3558 10 -label L3559 -load 12 __or_3_3558 -store __or_2_3558 12 -brif 12 L3561 L3560 -label L3560 +store __or_3_3479 10 +label L3480 +load 12 __or_3_3479 +store __or_2_3479 12 +brif 12 L3482 L3481 +label L3481 load 13 ok_kind -strref 14 m51s716 +strref 14 m51s717 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_2_3558 15 -label L3561 -load 17 __or_2_3558 -store __or_1_3558 17 -brif 17 L3563 L3562 -label L3562 +store __or_2_3479 15 +label L3482 +load 17 __or_2_3479 +store __or_1_3479 17 +brif 17 L3484 L3483 +label L3483 load 18 ok_kind -strref 19 m51s715 +strref 19 m51s716 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_1_3558 20 -label L3563 -load 22 __or_1_3558 -brif 22 L3556 L3557 -label L3556 +store __or_1_3479 20 +label L3484 +load 22 __or_1_3479 +brif 22 L3477 L3478 +label L3477 iconst 23 1 ret 23 -label L3557 -label L3555 +label L3478 +label L3476 iconst 24 0 -store __or_24_3567 24 +store __or_24_3488 24 iconst 25 0 -store __or_25_3567 25 +store __or_25_3488 25 iconst 26 0 -store __or_26_3567 26 +store __or_26_3488 26 iconst 27 0 -store __or_27_3567 27 +store __or_27_3488 27 iconst 28 0 -store __or_28_3567 28 +store __or_28_3488 28 load 29 ok_kind strref 30 m51s20 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_28_3567 31 -brif 31 L3568 L3567 -label L3567 +store __or_28_3488 31 +brif 31 L3489 L3488 +label L3488 load 33 ok_kind -strref 34 m51s709 +strref 34 m51s710 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_28_3567 35 -label L3568 -load 37 __or_28_3567 -store __or_27_3567 37 -brif 37 L3570 L3569 -label L3569 +store __or_28_3488 35 +label L3489 +load 37 __or_28_3488 +store __or_27_3488 37 +brif 37 L3491 L3490 +label L3490 load 38 ok_kind strref 39 m51s19 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_27_3567 40 -label L3570 -load 42 __or_27_3567 -store __or_26_3567 42 -brif 42 L3572 L3571 -label L3571 +store __or_27_3488 40 +label L3491 +load 42 __or_27_3488 +store __or_26_3488 42 +brif 42 L3493 L3492 +label L3492 load 43 ok_kind -strref 44 m51s711 +strref 44 m51s712 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_26_3567 45 -label L3572 -load 47 __or_26_3567 -store __or_25_3567 47 -brif 47 L3574 L3573 -label L3573 +store __or_26_3488 45 +label L3493 +load 47 __or_26_3488 +store __or_25_3488 47 +brif 47 L3495 L3494 +label L3494 load 48 ok_kind strref 49 m51s18 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -store __or_25_3567 50 -label L3574 -load 52 __or_25_3567 -store __or_24_3567 52 -brif 52 L3576 L3575 -label L3575 +store __or_25_3488 50 +label L3495 +load 52 __or_25_3488 +store __or_24_3488 52 +brif 52 L3497 L3496 +label L3496 load 53 ok_kind -strref 54 m51s710 +strref 54 m51s711 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_24_3567 55 -label L3576 -load 57 __or_24_3567 -brif 57 L3565 L3566 -label L3565 +store __or_24_3488 55 +label L3497 +load 57 __or_24_3488 +brif 57 L3486 L3487 +label L3486 iconst 58 1 ret 58 -label L3566 -label L3564 +label L3487 +label L3485 load 59 ok_kind strref 60 m51s931 call 61 pith_cstring_starts_with bool 2 59 60 @@ -175656,14 +174801,14 @@ store flag_r 6 call 7 ir_builder_ir_reg int 0 store val_r 7 load 8 payload_kind -strref 9 m51s712 +strref 9 m51s713 call 10 pith_cstring_release void 1 8 store payload_kind 9 load 11 ir_result_abi_ir_func_result_ok_kinds load 12 fname call 13 contains_key bool 2 11 12 -brif 13 L3578 L3579 -label L3578 +brif 13 L3499 L3500 +label L3499 load 14 payload_kind load 15 ir_result_abi_ir_func_result_ok_kinds load 16 fname @@ -175671,9 +174816,9 @@ call 17 map_get_strict string 2 15 16 call 18 pith_cstring_retain void 1 17 call 19 pith_cstring_release void 1 14 store payload_kind 17 -jmp L3577 -label L3579 -label L3577 +jmp L3498 +label L3500 +label L3498 load 20 line strref 21 m51s1088 load 22 flag_r @@ -175719,35 +174864,35 @@ load 60 arg_text call 61 string_len int 1 60 iconst 62 0 gt 63 61 62 -brif 63 L3581 L3582 -label L3581 +brif 63 L3502 L3503 +label L3502 load 64 line load 65 line load 66 arg_text concat 67 65 66 call 68 pith_cstring_release void 1 64 store line 67 -jmp L3580 -label L3582 -label L3580 +jmp L3501 +label L3503 +label L3501 load 69 line call 70 ir_builder_ir_emit void 1 69 iconst 71 0 -store __and_71_3586 71 +store __and_71_3507 71 load 72 ir_emitter_core_ir_rcall_current_idx iconst 73 0 gte 74 72 73 -store __and_71_3586 74 -brif 74 L3586 L3587 -label L3586 +store __and_71_3507 74 +brif 74 L3507 L3508 +label L3507 load 75 ir_emitter_core_ir_rcall_current_idx load 76 ir_emitter_core_ir_rcall_defer_idx eq 77 75 76 -store __and_71_3586 77 -label L3587 -load 78 __and_71_3586 -brif 78 L3584 L3585 -label L3584 +store __and_71_3507 77 +label L3508 +load 78 __and_71_3507 +brif 78 L3505 L3506 +label L3505 iconst 79 1 store ir_emitter_core_ir_rcall_pair_ready 79 load 80 flag_r @@ -175760,8 +174905,8 @@ call 84 pith_cstring_release void 1 83 load 85 line call 86 pith_cstring_release void 1 85 ret 82 -label L3585 -label L3583 +label L3506 +label L3504 load 87 flag_r load 88 val_r call 89 ir_emitter_core_ir_emit_result_reg_box int 2 87 88 @@ -176025,30 +175170,30 @@ call 90 ir_call_emit_ir_emit_label void 1 89 load 91 raw_r store ok_r 91 iconst 92 0 -store __or_92_3591 92 +store __or_92_3512 92 load 93 legacy_kind -strref 94 m51s853 +strref 94 m51s854 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -store __or_92_3591 95 -brif 95 L3592 L3591 -label L3591 +store __or_92_3512 95 +brif 95 L3513 L3512 +label L3512 load 97 legacy_kind -strref 98 m51s852 +strref 98 m51s853 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __or_92_3591 99 -label L3592 -load 101 __or_92_3591 -brif 101 L3589 L3590 -label L3589 +store __or_92_3512 99 +label L3513 +load 101 __or_92_3512 +brif 101 L3510 L3511 +label L3510 load 102 raw_r load 103 legacy_kind call 104 ir_result_abi_ir_decode_result_value int 2 102 103 store ok_r 104 -jmp L3588 -label L3590 -label L3588 +jmp L3509 +label L3511 +label L3509 call 105 ir_builder_ir_reg int 0 store one_r 105 strref 106 m51s880 @@ -176238,11 +175383,11 @@ call 15 pith_map_insert_cstr_owned void 3 12 13 14 call 16 ir_builder_ir_reg int 0 store zero_r 16 load 17 legacy_kind -strref 18 m51s713 +strref 18 m51s714 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L3594 L3595 -label L3594 +brif 19 L3515 L3516 +label L3515 strref 21 m51s1100 load 22 zero_r call 23 int_to_string string 1 22 @@ -176255,8 +175400,8 @@ call 29 pith_cstring_release void 1 24 call 30 pith_cstring_release void 1 27 call 31 ir_builder_ir_emit void 1 28 call 32 pith_cstring_release void 1 28 -jmp L3593 -label L3595 +jmp L3514 +label L3516 strref 33 m51s880 load 34 zero_r call 35 int_to_string string 1 34 @@ -176269,7 +175414,7 @@ call 41 pith_cstring_release void 1 36 call 42 pith_cstring_release void 1 39 call 43 ir_builder_ir_emit void 1 40 call 44 pith_cstring_release void 1 40 -label L3593 +label L3514 call 45 ir_builder_ir_reg int 0 store cond_r 45 strref 46 m51s1091 @@ -176337,30 +175482,30 @@ call 104 ir_call_emit_ir_emit_label void 1 103 load 105 raw_r store ok_r 105 iconst 106 0 -store __or_106_3599 106 +store __or_106_3520 106 load 107 legacy_kind -strref 108 m51s853 +strref 108 m51s854 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -store __or_106_3599 109 -brif 109 L3600 L3599 -label L3599 +store __or_106_3520 109 +brif 109 L3521 L3520 +label L3520 load 111 legacy_kind -strref 112 m51s852 +strref 112 m51s853 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_106_3599 113 -label L3600 -load 115 __or_106_3599 -brif 115 L3597 L3598 -label L3597 +store __or_106_3520 113 +label L3521 +load 115 __or_106_3520 +brif 115 L3518 L3519 +label L3518 load 116 raw_r load 117 legacy_kind call 118 ir_result_abi_ir_decode_result_value int 2 116 117 store ok_r 118 -jmp L3596 -label L3598 -label L3596 +jmp L3517 +label L3519 +label L3517 load 119 ok_r call 120 ir_emitter_core_ir_emit_ok_result_tuple int 1 119 store ok_tuple 120 @@ -176460,8 +175605,8 @@ store obj_tid 7 load 8 obj_tid iconst 9 0 gte 10 8 9 -brif 10 L3602 L3603 -label L3602 +brif 10 L3523 L3524 +label L3523 load 11 obj_info load 12 obj_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -176472,14 +175617,14 @@ field 16 15 0 string kind strref 17 m51s22 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3605 L3606 -label L3605 +brif 18 L3526 L3527 +label L3526 load 20 fname strref 21 m51s190 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L3608 L3609 -label L3608 +brif 22 L3529 L3530 +label L3529 load 24 obj_r load 25 obj_tid strref 26 m51s190 @@ -176488,14 +175633,14 @@ call 28 pith_cstring_release void 1 26 load 29 obj_info call 30 pith_struct_release void 1 29 ret 27 -label L3609 -label L3607 +label L3530 +label L3528 load 31 fname strref 32 m51s189 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3611 L3612 -label L3611 +brif 33 L3532 L3533 +label L3532 load 35 obj_r load 36 obj_tid strref 37 m51s189 @@ -176504,40 +175649,40 @@ call 39 pith_cstring_release void 1 37 load 40 obj_info call 41 pith_struct_release void 1 40 ret 38 -label L3612 -label L3610 +label L3533 +label L3531 iconst 42 0 -store __or_42_3616 42 +store __or_42_3537 42 load 43 fname strref 44 m51s192 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_42_3616 45 -brif 45 L3617 L3616 -label L3616 +store __or_42_3537 45 +brif 45 L3538 L3537 +label L3537 load 47 fname strref 48 m51s191 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_42_3616 49 -label L3617 -load 51 __or_42_3616 -brif 51 L3614 L3615 -label L3614 +store __or_42_3537 49 +label L3538 +load 51 __or_42_3537 +brif 51 L3535 L3536 +label L3535 load 52 obj_r load 53 fname call 54 ir_result_abi_ir_emit_result_flag_field int 2 52 53 load 55 obj_info call 56 pith_struct_release void 1 55 ret 54 -label L3615 -label L3613 -jmp L3604 -label L3606 -label L3604 -jmp L3601 -label L3603 -label L3601 +label L3536 +label L3534 +jmp L3525 +label L3527 +label L3525 +jmp L3522 +label L3524 +label L3522 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -176563,16 +175708,16 @@ load 7 node field 8 7 16 list children call 9 pith_list_len int 1 8 gte 10 6 9 -brif 10 L3619 L3620 -label L3619 +brif 10 L3540 L3541 +label L3540 iconst 11 0 iconst 12 1 sub 13 11 12 load 14 cn call 15 pith_struct_release void 1 14 ret 13 -label L3620 -label L3618 +label L3541 +label L3539 load 16 node field 17 16 16 list children load 18 actual_index @@ -176584,25 +175729,25 @@ call 22 ast_get_node struct:Node 1 21 call 23 pith_struct_release void 1 20 store cn 22 iconst 24 0 -store __and_24_3624 24 +store __and_24_3545 24 load 25 cn field 26 25 0 string kind strref 27 m51s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __and_24_3624 28 -brif 28 L3624 L3625 -label L3624 +store __and_24_3545 28 +brif 28 L3545 L3546 +label L3545 load 30 cn field 31 30 16 list children call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -store __and_24_3624 34 -label L3625 -load 35 __and_24_3624 -brif 35 L3622 L3623 -label L3622 +store __and_24_3545 34 +label L3546 +load 35 __and_24_3545 +brif 35 L3543 L3544 +label L3543 load 36 cn field 37 36 16 list children iconst 38 0 @@ -176610,8 +175755,8 @@ call 39 pith_list_get_value_strict int 2 37 38 load 40 cn call 41 pith_struct_release void 1 40 ret 39 -label L3623 -label L3621 +label L3544 +label L3542 load 42 child load 43 cn call 44 pith_struct_release void 1 43 @@ -176631,25 +175776,25 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __and_6_3629 6 +store __and_6_3550 6 load 7 node field 8 7 0 string kind strref 9 m51s524 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_3629 10 -brif 10 L3629 L3630 -label L3629 +store __and_6_3550 10 +brif 10 L3550 L3551 +label L3550 load 12 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_3629 16 -label L3630 -load 17 __and_6_3629 -brif 17 L3627 L3628 -label L3627 +store __and_6_3550 16 +label L3551 +load 17 __and_6_3550 +brif 17 L3548 L3549 +label L3548 load 18 node field 19 18 16 list children iconst 20 0 @@ -176658,86 +175803,86 @@ call 22 ir_emitter_core_ir_extraction_operand_class string 1 21 load 23 node call 24 pith_struct_release void 1 23 ret 22 -label L3628 -label L3626 +label L3549 +label L3547 iconst 25 0 -store __or_25_3634 25 +store __or_25_3555 25 iconst 26 0 -store __or_26_3634 26 +store __or_26_3555 26 load 27 node field 28 27 0 string kind strref 29 m51s44 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_26_3634 30 -brif 30 L3635 L3634 -label L3634 +store __or_26_3555 30 +brif 30 L3556 L3555 +label L3555 load 32 node field 33 32 0 string kind strref 34 m51s130 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_26_3634 35 -label L3635 -load 37 __or_26_3634 -store __or_25_3634 37 -brif 37 L3637 L3636 -label L3636 +store __or_26_3555 35 +label L3556 +load 37 __or_26_3555 +store __or_25_3555 37 +brif 37 L3558 L3557 +label L3557 load 38 node field 39 38 0 string kind strref 40 m51s509 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_25_3634 41 -label L3637 -load 43 __or_25_3634 -brif 43 L3632 L3633 -label L3632 +store __or_25_3555 41 +label L3558 +load 43 __or_25_3555 +brif 43 L3553 L3554 +label L3553 strref 44 m51s1284 load 45 node call 46 pith_struct_release void 1 45 ret 44 -label L3633 -label L3631 +label L3554 +label L3552 iconst 47 0 -store __or_47_3641 47 +store __or_47_3562 47 iconst 48 0 -store __or_48_3641 48 +store __or_48_3562 48 load 49 node field 50 49 0 string kind strref 51 m51s37 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_48_3641 52 -brif 52 L3642 L3641 -label L3641 +store __or_48_3562 52 +brif 52 L3563 L3562 +label L3562 load 54 node field 55 54 0 string kind strref 56 m51s36 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -store __or_48_3641 57 -label L3642 -load 59 __or_48_3641 -store __or_47_3641 59 -brif 59 L3644 L3643 -label L3643 +store __or_48_3562 57 +label L3563 +load 59 __or_48_3562 +store __or_47_3562 59 +brif 59 L3565 L3564 +label L3564 load 60 node field 61 60 0 string kind strref 62 m51s35 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __or_47_3641 63 -label L3644 -load 65 __or_47_3641 -brif 65 L3639 L3640 -label L3639 +store __or_47_3562 63 +label L3565 +load 65 __or_47_3562 +brif 65 L3560 L3561 +label L3560 strref 66 m51s1259 load 67 node call 68 pith_struct_release void 1 67 ret 66 -label L3640 -label L3638 +label L3561 +label L3559 strref 69 m51s1283 load 70 node call 71 pith_struct_release void 1 70 @@ -176841,21 +175986,21 @@ load 78 arg_idx call 79 ir_emitter_core_ir_expr int 1 78 store fallback_r 79 iconst 80 0 -store __and_80_3648 80 +store __and_80_3569 80 load 81 idx call 82 ir_emitter_core_ir_string_expr_is_borrowed bool 1 81 iconst 84 1 sub 83 84 82 -store __and_80_3648 83 -brif 83 L3648 L3649 -label L3648 +store __and_80_3569 83 +brif 83 L3569 L3570 +label L3569 load 85 arg_idx call 86 ir_emitter_core_ir_string_expr_is_borrowed bool 1 85 -store __and_80_3648 86 -label L3649 -load 87 __and_80_3648 -brif 87 L3646 L3647 -label L3646 +store __and_80_3569 86 +label L3570 +load 87 __and_80_3569 +brif 87 L3567 L3568 +label L3567 load 88 fallback_r load 89 recv_tid strref 90 m51s190 @@ -176865,9 +176010,9 @@ call 93 ir_struct_registry_ir_rc_kind string 1 91 call 94 pith_cstring_release void 1 91 call 95 ir_ownership_ir_rc_retain_reg void 2 88 93 call 96 pith_cstring_release void 1 93 -jmp L3645 -label L3647 -label L3645 +jmp L3566 +label L3568 +label L3566 load 97 err_kind load 98 recv_tid strref 99 m51s189 @@ -176881,14 +176026,14 @@ load 105 err_kind call 106 string_len int 1 105 iconst 107 0 gt 108 106 107 -brif 108 L3651 L3652 -label L3651 +brif 108 L3572 L3573 +label L3572 load 109 val_r load 110 err_kind call 111 ir_ownership_ir_rc_release_reg void 2 109 110 -jmp L3650 -label L3652 -label L3650 +jmp L3571 +label L3573 +label L3571 strref 112 m51s878 load 113 temp_name concat 114 112 113 @@ -176979,8 +176124,8 @@ store recv_r 17 load 18 saved_defer store ir_emitter_core_ir_rcall_defer_idx 18 load 19 ir_emitter_core_ir_rcall_pair_ready -brif 19 L3654 L3655 -label L3654 +brif 19 L3575 L3576 +label L3575 iconst 20 0 store ir_emitter_core_ir_rcall_pair_ready 20 load 21 idx @@ -176999,8 +176144,8 @@ call 33 pith_cstring_release void 1 32 load 34 merge_l call 35 pith_cstring_release void 1 34 ret 25 -label L3655 -label L3653 +label L3576 +label L3574 load 36 node field 37 36 16 list children iconst 38 0 @@ -177076,14 +176221,14 @@ load 98 operand_class strref 99 m51s1259 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -brif 100 L3657 L3658 -label L3657 +brif 100 L3578 L3579 +label L3578 load 102 idx call 103 ir_emitter_core_ir_string_expr_is_borrowed bool 1 102 iconst 105 1 sub 104 105 103 -brif 104 L3660 L3661 -label L3660 +brif 104 L3581 L3582 +label L3581 load 106 ok_value_r load 107 recv_tid strref 108 m51s190 @@ -177093,11 +176238,11 @@ call 111 ir_struct_registry_ir_rc_kind string 1 109 call 112 pith_cstring_release void 1 109 call 113 ir_ownership_ir_rc_retain_reg void 2 106 111 call 114 pith_cstring_release void 1 111 -jmp L3659 -label L3661 -label L3659 -jmp L3656 -label L3658 +jmp L3580 +label L3582 +label L3580 +jmp L3577 +label L3579 call 115 ir_builder_ir_reg int 0 strref 116 m51s946 strref 117 m51s876 @@ -177105,7 +176250,7 @@ load 118 recv_r call 119 ir_call_emit_ir_emit_call1 void 4 115 116 117 118 call 120 pith_cstring_release void 1 116 call 121 pith_cstring_release void 1 117 -label L3656 +label L3577 strref 122 m51s878 load 123 temp_name concat 124 122 123 @@ -177133,21 +176278,21 @@ load 145 arg_idx call 146 ir_emitter_core_ir_expr int 1 145 store fallback_r 146 iconst 147 0 -store __and_147_3665 147 +store __and_147_3586 147 load 148 idx call 149 ir_emitter_core_ir_string_expr_is_borrowed bool 1 148 iconst 151 1 sub 150 151 149 -store __and_147_3665 150 -brif 150 L3665 L3666 -label L3665 +store __and_147_3586 150 +brif 150 L3586 L3587 +label L3586 load 152 arg_idx call 153 ir_emitter_core_ir_string_expr_is_borrowed bool 1 152 -store __and_147_3665 153 -label L3666 -load 154 __and_147_3665 -brif 154 L3663 L3664 -label L3663 +store __and_147_3586 153 +label L3587 +load 154 __and_147_3586 +brif 154 L3584 L3585 +label L3584 load 155 fallback_r load 156 recv_tid strref 157 m51s190 @@ -177157,17 +176302,17 @@ call 160 ir_struct_registry_ir_rc_kind string 1 158 call 161 pith_cstring_release void 1 158 call 162 ir_ownership_ir_rc_retain_reg void 2 155 160 call 163 pith_cstring_release void 1 160 -jmp L3662 -label L3664 -label L3662 +jmp L3583 +label L3585 +label L3583 load 164 operand_class strref 165 m51s1259 call 167 pith_cstring_eq bool 2 164 165 iconst 168 1 sub 166 168 167 call 169 pith_cstring_release void 1 165 -brif 166 L3668 L3669 -label L3668 +brif 166 L3589 L3590 +label L3589 load 170 recv_r load 171 recv_tid call 172 ir_emitter_core_ir_emit_release_result_error void 2 170 171 @@ -177178,9 +176323,9 @@ load 176 recv_r call 177 ir_call_emit_ir_emit_call1 void 4 173 174 175 176 call 178 pith_cstring_release void 1 174 call 179 pith_cstring_release void 1 175 -jmp L3667 -label L3669 -label L3667 +jmp L3588 +label L3590 +label L3588 strref 180 m51s878 load 181 temp_name concat 182 180 181 @@ -177264,8 +176409,8 @@ store err_tid 12 load 13 recv_tid iconst 14 0 gte 15 13 14 -brif 15 L3671 L3672 -label L3671 +brif 15 L3592 L3593 +label L3592 load 16 recv_info load 17 recv_tid call 18 types_get_type_info struct:TypeInfo 1 17 @@ -177276,20 +176421,20 @@ field 21 20 0 string kind strref 22 m51s22 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3674 L3675 -label L3674 +brif 23 L3595 L3596 +label L3595 load 25 recv_info field 26 25 64 int inner store ok_tid 26 load 27 recv_info field 28 27 80 int value_type store err_tid 28 -jmp L3673 -label L3675 -label L3673 -jmp L3670 -label L3672 -label L3670 +jmp L3594 +label L3596 +label L3594 +jmp L3591 +label L3593 +label L3591 load 29 recv_r strref 30 m51s192 call 31 ir_result_abi_ir_emit_result_flag_field int 2 29 30 @@ -177448,30 +176593,30 @@ call 6 ir_type_helpers_ir_type_from_tid string 1 5 call 7 pith_cstring_release void 1 4 store value_type 6 load 8 value_type -strref 9 m51s716 +strref 9 m51s717 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L3677 L3678 -label L3677 +brif 10 L3598 L3599 +label L3598 load 12 value_r load 13 value_type call 14 pith_cstring_release void 1 13 load 15 value_info call 16 pith_struct_release void 1 15 ret 12 -label L3678 -label L3676 +label L3599 +label L3597 call 17 ir_builder_ir_reg int 0 store out_r 17 load 18 value_type -strref 19 m51s714 +strref 19 m51s715 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L3680 L3681 -label L3680 +brif 20 L3601 L3602 +label L3601 load 22 out_r -strref 23 m51s704 -strref 24 m51s716 +strref 23 m51s705 +strref 24 m51s717 load 25 value_r call 26 ir_call_emit_ir_emit_call1 void 4 22 23 24 25 call 27 pith_cstring_release void 1 23 @@ -177482,17 +176627,17 @@ call 31 pith_cstring_release void 1 30 load 32 value_info call 33 pith_struct_release void 1 32 ret 29 -label L3681 -label L3679 +label L3602 +label L3600 load 34 value_type -strref 35 m51s713 +strref 35 m51s714 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L3683 L3684 -label L3683 +brif 36 L3604 L3605 +label L3604 load 38 out_r -strref 39 m51s705 -strref 40 m51s716 +strref 39 m51s706 +strref 40 m51s717 load 41 value_r call 42 ir_call_emit_ir_emit_call1 void 4 38 39 40 41 call 43 pith_cstring_release void 1 39 @@ -177503,17 +176648,17 @@ call 47 pith_cstring_release void 1 46 load 48 value_info call 49 pith_struct_release void 1 48 ret 45 -label L3684 -label L3682 +label L3605 +label L3603 load 50 value_type -strref 51 m51s712 +strref 51 m51s713 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L3686 L3687 -label L3686 +brif 52 L3607 L3608 +label L3607 load 54 out_r -strref 55 m51s703 -strref 56 m51s716 +strref 55 m51s704 +strref 56 m51s717 load 57 value_r call 58 ir_call_emit_ir_emit_call1 void 4 54 55 56 57 call 59 pith_cstring_release void 1 55 @@ -177524,13 +176669,13 @@ call 63 pith_cstring_release void 1 62 load 64 value_info call 65 pith_struct_release void 1 64 ret 61 -label L3687 -label L3685 +label L3608 +label L3606 load 66 value_tid iconst 67 0 gte 68 66 67 -brif 68 L3689 L3690 -label L3689 +brif 68 L3610 L3611 +label L3610 load 69 value_info load 70 value_tid call 71 types_get_type_info struct:TypeInfo 1 70 @@ -177541,8 +176686,8 @@ field 74 73 0 string kind strref 75 m51s22 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L3692 L3693 -label L3692 +brif 76 L3613 L3614 +label L3613 load 78 value_r load 79 value_tid call 80 ir_emitter_core_ir_emit_result_value_to_string int 2 78 79 @@ -177551,11 +176696,11 @@ call 82 pith_cstring_release void 1 81 load 83 value_info call 84 pith_struct_release void 1 83 ret 80 -label L3693 -label L3691 -jmp L3688 -label L3690 -label L3688 +label L3614 +label L3612 +jmp L3609 +label L3611 +label L3609 load 85 value_r load 86 value_type call 87 pith_cstring_release void 1 86 @@ -177623,46 +176768,46 @@ call 20 pith_cstring_retain void 1 19 call 21 pith_cstring_release void 1 17 store call_name 19 iconst 22 0 -store __and_22_3697 22 +store __and_22_3618 22 load 23 call_name call 24 string_len int 1 23 iconst 25 0 eq 26 24 25 -store __and_22_3697 26 -brif 26 L3697 L3698 -label L3697 +store __and_22_3618 26 +brif 26 L3618 L3619 +label L3618 load 27 handler_node field 28 27 0 string kind strref 29 m51s37 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __and_22_3697 30 -label L3698 -load 32 __and_22_3697 -brif 32 L3695 L3696 -label L3695 +store __and_22_3618 30 +label L3619 +load 32 __and_22_3618 +brif 32 L3616 L3617 +label L3616 load 33 call_name load 34 handler_node field 35 34 8 string value call 36 pith_cstring_retain void 1 35 call 37 pith_cstring_release void 1 33 store call_name 35 -jmp L3694 -label L3696 -label L3694 +jmp L3615 +label L3617 +label L3615 load 38 call_name call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L3700 L3701 -label L3700 +brif 41 L3621 L3622 +label L3621 call 42 ir_builder_ir_reg int 0 store out_r 42 load 43 ir_result_abi_ir_result_reg_funcs load 44 call_name call 45 contains_key bool 2 43 44 -brif 45 L3703 L3704 -label L3703 +brif 45 L3624 L3625 +label L3624 load 46 out_r load 47 call_name iconst 48 1 @@ -177687,8 +176832,8 @@ call 66 pith_cstring_release void 1 65 load 67 handler_name call 68 pith_cstring_release void 1 67 ret 55 -label L3704 -label L3702 +label L3625 +label L3623 load 69 legacy_kind load 70 call_name call 71 ir_metadata_ir_builtin_result_retkind string 1 70 @@ -177703,16 +176848,16 @@ load 77 legacy_kind call 78 string_len int 1 77 iconst 79 0 gt 80 78 79 -brif 80 L3706 L3707 -label L3706 +brif 80 L3627 L3628 +label L3627 load 81 call_type load 82 legacy_kind call 83 pith_cstring_retain void 1 82 call 84 pith_cstring_release void 1 81 store call_type 82 -jmp L3705 -label L3707 -label L3705 +jmp L3626 +label L3628 +label L3626 load 85 out_r load 86 call_name load 87 call_type @@ -177726,23 +176871,23 @@ call 94 pith_cstring_release void 1 91 call 95 ir_call_emit_ir_emit_call_text void 5 85 86 87 88 92 call 96 pith_cstring_release void 1 92 iconst 97 0 -store __and_97_3711 97 +store __and_97_3632 97 load 98 legacy_kind call 99 string_len int 1 98 iconst 100 0 gt 101 99 100 -store __and_97_3711 101 -brif 101 L3711 L3712 -label L3711 +store __and_97_3632 101 +brif 101 L3632 L3633 +label L3632 load 102 ret_type strref 103 m51s23 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __and_97_3711 104 -label L3712 -load 106 __and_97_3711 -brif 106 L3709 L3710 -label L3709 +store __and_97_3632 104 +label L3633 +load 106 __and_97_3632 +brif 106 L3630 L3631 +label L3630 load 107 out_r load 108 legacy_kind load 109 call_name @@ -177760,8 +176905,8 @@ call 120 pith_cstring_release void 1 119 load 121 handler_name call 122 pith_cstring_release void 1 121 ret 110 -label L3710 -label L3708 +label L3631 +label L3629 load 123 out_r load 124 handler_node call 125 pith_struct_release void 1 124 @@ -177776,8 +176921,8 @@ call 133 pith_cstring_release void 1 132 load 134 handler_name call 135 pith_cstring_release void 1 134 ret 123 -label L3701 -label L3699 +label L3622 +label L3620 load 136 handler_idx call 137 ir_emitter_core_ir_expr int 1 136 store handler_r 137 @@ -178034,7 +177179,7 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store recv_node 4 iconst 6 0 -store __or_6_3716 6 +store __or_6_3637 6 load 7 recv_node field 8 7 0 string kind strref 9 m51s130 @@ -178042,25 +177187,25 @@ call 11 pith_cstring_eq bool 2 8 9 iconst 12 1 sub 10 12 11 call 13 pith_cstring_release void 1 9 -store __or_6_3716 10 -brif 10 L3717 L3716 -label L3716 +store __or_6_3637 10 +brif 10 L3638 L3637 +label L3637 load 14 recv_node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -store __or_6_3716 18 -label L3717 -load 19 __or_6_3716 -brif 19 L3714 L3715 -label L3714 +store __or_6_3637 18 +label L3638 +load 19 __or_6_3637 +brif 19 L3635 L3636 +label L3635 call 20 ir_result_abi_ir_zero_reg int 0 load 21 recv_node call 22 pith_struct_release void 1 21 ret 20 -label L3715 -label L3713 +label L3636 +label L3634 load 23 recv_node field 24 23 16 list children iconst 25 0 @@ -178070,7 +177215,7 @@ store ch_r 27 call 28 ir_builder_ir_reg int 0 store r 28 load 29 r -strref 30 m51s696 +strref 30 m51s697 strref 31 m51s23 load 32 ch_r call 33 ir_call_emit_ir_emit_call1 void 4 29 30 31 32 @@ -178095,7 +177240,7 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store send_node 4 iconst 6 0 -store __or_6_3721 6 +store __or_6_3642 6 load 7 send_node field 8 7 0 string kind strref 9 m51s130 @@ -178103,25 +177248,25 @@ call 11 pith_cstring_eq bool 2 8 9 iconst 12 1 sub 10 12 11 call 13 pith_cstring_release void 1 9 -store __or_6_3721 10 -brif 10 L3722 L3721 -label L3721 +store __or_6_3642 10 +brif 10 L3643 L3642 +label L3642 load 14 send_node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -store __or_6_3721 18 -label L3722 -load 19 __or_6_3721 -brif 19 L3719 L3720 -label L3719 +store __or_6_3642 18 +label L3643 +load 19 __or_6_3642 +brif 19 L3640 L3641 +label L3640 call 20 ir_result_abi_ir_zero_reg int 0 load 21 send_node call 22 pith_struct_release void 1 21 ret 20 -label L3720 -label L3718 +label L3641 +label L3639 load 23 send_node field 24 23 16 list children iconst 25 0 @@ -178135,22 +177280,22 @@ store arg_idx 30 load 31 arg_idx iconst 32 0 lt 33 31 32 -brif 33 L3724 L3725 -label L3724 +brif 33 L3645 L3646 +label L3645 call 34 ir_result_abi_ir_zero_reg int 0 load 35 send_node call 36 pith_struct_release void 1 35 ret 34 -label L3725 -label L3723 +label L3646 +label L3644 load 37 arg_idx call 38 ir_emitter_core_ir_expr int 1 37 store val_r 38 call 39 ir_builder_ir_reg int 0 store r 39 load 40 r -strref 41 m51s698 -strref 42 m51s714 +strref 41 m51s699 +strref 42 m51s715 load 43 ch_r load 44 val_r call 45 ir_call_emit_ir_emit_call2 void 5 40 41 42 43 44 @@ -178190,21 +177335,21 @@ load 15 bind_name call 16 string_len int 1 15 iconst 17 0 gt 18 16 17 -brif 18 L3727 L3728 -label L3727 +brif 18 L3648 L3649 +label L3648 load 19 bind_type call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L3730 L3731 -label L3730 +brif 22 L3651 L3652 +label L3651 load 23 ir_builder_ir_var_types load 24 bind_name load 25 bind_type call 26 map_insert void 3 23 24 25 -jmp L3729 -label L3731 -label L3729 +jmp L3650 +label L3652 +label L3650 strref 27 m51s878 load 28 bind_name concat 29 27 28 @@ -178220,9 +177365,9 @@ call 38 pith_cstring_release void 1 32 call 39 pith_cstring_release void 1 36 call 40 ir_builder_ir_emit void 1 37 call 41 pith_cstring_release void 1 37 -jmp L3726 -label L3728 -label L3726 +jmp L3647 +label L3649 +label L3647 load 42 body_node load 43 body_idx call 44 ast_get_node struct:Node 1 43 @@ -178235,41 +177380,41 @@ field 48 47 0 string kind strref 49 m51s66 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -brif 50 L3733 L3734 -label L3733 +brif 50 L3654 L3655 +label L3654 load 52 body_node field 53 52 16 list children call 54 pith_list_len int 1 53 iconst 55 0 gt 56 54 55 -brif 56 L3736 L3737 -label L3736 +brif 56 L3657 L3658 +label L3657 load 57 body_node field 58 57 16 list children iconst 59 0 call 60 pith_list_get_value_strict int 2 58 59 call 61 ir_emitter_core_ir_expr int 1 60 store body_r 61 -jmp L3735 -label L3737 -label L3735 -jmp L3732 -label L3734 +jmp L3656 +label L3658 +label L3656 +jmp L3653 +label L3655 load 62 body_node field 63 62 0 string kind strref 64 m51s65 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -brif 65 L3738 L3739 -label L3738 +brif 65 L3659 L3660 +label L3659 load 67 body_idx call 68 ir_emitter_core_ir_block int 1 67 -jmp L3732 -label L3739 +jmp L3653 +label L3660 load 69 body_idx call 70 ir_emitter_core_ir_expr int 1 69 store body_r 70 -label L3732 +label L3653 load 71 saved_vars call 72 pith_map_retain_handle void 1 71 store ir_builder_ir_var_regs 71 @@ -178307,57 +177452,57 @@ load 6 node field 7 6 16 list children call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_399 9 -store __for_len_399 8 -store __for_iter_399 7 -label L3740 -load 10 __for_idx_399 -load 11 __for_len_399 +store __for_idx_398 9 +store __for_len_398 8 +store __for_iter_398 7 +label L3661 +load 10 __for_idx_398 +load 11 __for_len_398 lt 12 10 11 -brif 12 L3741 L3743 -label L3741 -load 13 __for_iter_399 -load 14 __for_idx_399 +brif 12 L3662 L3664 +label L3662 +load 13 __for_iter_398 +load 14 __for_idx_398 call 15 pith_list_get_value unknown 2 13 14 -store __loopvar_399_arm_idx 15 +store __loopvar_398_arm_idx 15 load 16 arm_node -load 17 __loopvar_399_arm_idx +load 17 __loopvar_398_arm_idx call 18 ast_get_node struct:Node 1 17 call 19 pith_struct_release void 1 16 store arm_node 18 iconst 20 0 -store __or_20_3747 20 +store __or_20_3668 20 load 21 arm_node field 22 21 0 string kind strref 23 m51s139 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __or_20_3747 24 -brif 24 L3748 L3747 -label L3747 +store __or_20_3668 24 +brif 24 L3669 L3668 +label L3668 load 26 arm_node field 27 26 0 string kind strref 28 m51s138 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_20_3747 29 -label L3748 -load 31 __or_20_3747 -brif 31 L3745 L3746 -label L3745 +store __or_20_3668 29 +label L3669 +load 31 __or_20_3668 +brif 31 L3666 L3667 +label L3666 load 32 probe_arms -load 33 __loopvar_399_arm_idx +load 33 __loopvar_398_arm_idx call 34 pith_list_push_value void 2 32 33 -jmp L3744 -label L3746 -label L3744 -label L3742 -load 35 __for_idx_399 +jmp L3665 +label L3667 +label L3665 +label L3663 +load 35 __for_idx_398 iconst 36 1 add 37 35 36 -store __for_idx_399 37 -jmp L3740 -label L3743 +store __for_idx_398 37 +jmp L3661 +label L3664 load 38 probe_arms load 39 arm_node call 40 pith_struct_release void 1 39 @@ -178385,76 +177530,76 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_400 11 -store __for_len_400 10 -store __for_iter_400 9 -label L3749 -load 12 __for_idx_400 -load 13 __for_len_400 +store __for_idx_399 11 +store __for_len_399 10 +store __for_iter_399 9 +label L3670 +load 12 __for_idx_399 +load 13 __for_len_399 lt 14 12 13 -brif 14 L3750 L3752 -label L3750 -load 15 __for_iter_400 -load 16 __for_idx_400 +brif 14 L3671 L3673 +label L3671 +load 15 __for_iter_399 +load 16 __for_idx_399 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_400_child 17 +store __loopvar_399_child 17 load 18 arm_node -load 19 __loopvar_400_child +load 19 __loopvar_399_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store arm_node 20 iconst 22 0 -store __and_22_3756 22 +store __and_22_3677 22 load 23 arm_node field 24 23 0 string kind strref 25 m51s137 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __and_22_3756 26 -brif 26 L3756 L3757 -label L3756 +store __and_22_3677 26 +brif 26 L3677 L3678 +label L3677 load 28 timeout_idx iconst 29 0 lt 30 28 29 -store __and_22_3756 30 -label L3757 -load 31 __and_22_3756 -brif 31 L3754 L3755 -label L3754 -load 32 __loopvar_400_child +store __and_22_3677 30 +label L3678 +load 31 __and_22_3677 +brif 31 L3675 L3676 +label L3675 +load 32 __loopvar_399_child store timeout_idx 32 -jmp L3753 -label L3755 +jmp L3674 +label L3676 iconst 33 0 -store __and_33_3760 33 +store __and_33_3681 33 load 34 arm_node field 35 34 0 string kind strref 36 m51s136 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __and_33_3760 37 -brif 37 L3760 L3761 -label L3760 +store __and_33_3681 37 +brif 37 L3681 L3682 +label L3681 load 39 default_idx iconst 40 0 lt 41 39 40 -store __and_33_3760 41 -label L3761 -load 42 __and_33_3760 -brif 42 L3758 L3759 -label L3758 -load 43 __loopvar_400_child +store __and_33_3681 41 +label L3682 +load 42 __and_33_3681 +brif 42 L3679 L3680 +label L3679 +load 43 __loopvar_399_child store default_idx 43 -jmp L3753 -label L3759 -label L3753 -label L3751 -load 44 __for_idx_400 +jmp L3674 +label L3680 +label L3674 +label L3672 +load 44 __for_idx_399 iconst 45 1 add 46 44 45 -store __for_idx_400 46 -jmp L3749 -label L3752 +store __for_idx_399 46 +jmp L3670 +label L3673 load 47 node call 48 ir_emitter_core_ir_select_probe_arm_indices list 1 47 load 49 timeout_idx @@ -178490,25 +177635,25 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store arm_node 8 iconst 10 0 -store __and_10_3765 10 +store __and_10_3686 10 load 11 arm_node field 12 11 0 string kind strref 13 m51s139 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __and_10_3765 14 -brif 14 L3765 L3766 -label L3765 +store __and_10_3686 14 +brif 14 L3686 L3687 +label L3686 load 16 arm_node field 17 16 16 list children call 18 pith_list_len int 1 17 iconst 19 2 gte 20 18 19 -store __and_10_3765 20 -label L3766 -load 21 __and_10_3765 -brif 21 L3763 L3764 -label L3763 +store __and_10_3686 20 +label L3687 +load 21 __and_10_3686 +brif 21 L3684 L3685 +label L3684 load 22 arm_node field 23 22 16 list children iconst 24 0 @@ -178588,28 +177733,28 @@ call 92 ir_builder_ir_emit void 1 90 call 93 pith_cstring_release void 1 90 load 94 next_l call 95 ir_call_emit_ir_emit_label void 1 94 -jmp L3762 -label L3764 +jmp L3683 +label L3685 iconst 96 0 -store __and_96_3769 96 +store __and_96_3690 96 load 97 arm_node field 98 97 0 string kind strref 99 m51s138 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_96_3769 100 -brif 100 L3769 L3770 -label L3769 +store __and_96_3690 100 +brif 100 L3690 L3691 +label L3690 load 102 arm_node field 103 102 16 list children call 104 pith_list_len int 1 103 iconst 105 2 gte 106 104 105 -store __and_96_3769 106 -label L3770 -load 107 __and_96_3769 -brif 107 L3767 L3768 -label L3767 +store __and_96_3690 106 +label L3691 +load 107 __and_96_3690 +brif 107 L3688 L3689 +label L3688 load 108 arm_node field 109 108 16 list children iconst 110 0 @@ -178682,9 +177827,9 @@ call 172 ir_builder_ir_emit void 1 170 call 173 pith_cstring_release void 1 170 load 174 next_l call 175 ir_call_emit_ir_emit_label void 1 174 -jmp L3762 -label L3768 -label L3762 +jmp L3683 +label L3689 +label L3683 load 176 arm_node call 177 pith_struct_release void 1 176 load 178 hit_l @@ -178703,16 +177848,16 @@ store timeout_node 2 load 3 timeout_idx iconst 4 0 lt 5 3 4 -brif 5 L3772 L3773 -label L3772 +brif 5 L3693 L3694 +label L3693 strref 6 m51s83 load 7 deadline_name call 8 pith_cstring_release void 1 7 load 9 timeout_node call 10 pith_struct_release void 1 9 ret 6 -label L3773 -label L3771 +label L3694 +label L3692 load 11 deadline_name strref 12 m51s1280 call 13 ir_builder_ir_new_temp_name string 1 12 @@ -178734,7 +177879,7 @@ call 25 ir_builder_ir_reg int 0 store now_r 25 load 26 now_r strref 27 m51s1277 -strref 28 m51s712 +strref 28 m51s713 call 29 ir_call_emit_ir_emit_call0 void 3 26 27 28 call 30 pith_cstring_release void 1 27 call 31 pith_cstring_release void 1 28 @@ -178799,14 +177944,14 @@ store offset_name 1 load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3775 L3776 -label L3775 +brif 4 L3696 L3697 +label L3696 strref 5 m51s83 load 6 offset_name call 7 pith_cstring_release void 1 6 ret 5 -label L3776 -label L3774 +label L3697 +label L3695 load 8 offset_name strref 9 m51s1279 call 10 ir_builder_ir_new_temp_name string 1 9 @@ -178836,7 +177981,7 @@ call 31 ir_builder_ir_reg int 0 store seed_r 31 load 32 seed_r strref 33 m51s1278 -strref 34 m51s712 +strref 34 m51s713 load 35 count_r call 36 ir_call_emit_ir_emit_call1 void 4 32 33 34 35 call 37 pith_cstring_release void 1 33 @@ -178900,12 +178045,12 @@ call 26 ir_builder_ir_emit void 1 24 call 27 pith_cstring_release void 1 24 iconst 28 0 store i 28 -label L3777 +label L3698 load 29 i load 30 probe_count lt 31 29 30 -brif 31 L3778 L3779 -label L3778 +brif 31 L3699 L3700 +label L3699 load 32 case_l call 33 ir_builder_ir_label string 0 call 34 pith_cstring_release void 1 32 @@ -178987,12 +178132,12 @@ load 105 case_l call 106 ir_call_emit_ir_emit_label void 1 105 iconst 107 0 store j 107 -label L3780 +label L3701 load 108 j load 109 probe_count lt 110 108 109 -brif 110 L3781 L3782 -label L3781 +brif 110 L3702 L3703 +label L3702 load 111 i load 112 j add 113 111 112 @@ -179009,8 +178154,8 @@ load 122 j iconst 123 1 add 124 122 123 store j 124 -jmp L3780 -label L3782 +jmp L3701 +label L3703 strref 125 m51s881 load 126 probe_done_l concat 127 125 126 @@ -179023,8 +178168,8 @@ load 133 i iconst 134 1 add 135 133 134 store i 135 -jmp L3777 -label L3779 +jmp L3698 +label L3700 load 136 probe_done_l call 137 ir_call_emit_ir_emit_label void 1 136 load 138 probe_done_l @@ -179047,17 +178192,17 @@ store probe_count 5 load 6 probe_count iconst 7 0 eq 8 6 7 -brif 8 L3784 L3785 -label L3784 +brif 8 L3705 L3706 +label L3705 iconst 9 0 ret 9 -label L3785 -label L3783 +label L3706 +label L3704 load 10 probe_count iconst 11 1 eq 12 10 11 -brif 12 L3787 L3788 -label L3787 +brif 12 L3708 L3709 +label L3708 load 13 probe_arms iconst 14 0 call 15 pith_list_get_value_strict int 2 13 14 @@ -179066,8 +178211,8 @@ load 17 end_l call 18 ir_emitter_core_ir_emit_select_probe_arm void 3 15 16 17 iconst 19 0 ret 19 -label L3788 -label L3786 +label L3709 +label L3707 load 20 probe_arms load 21 offset_name load 22 result_temp @@ -179085,14 +178230,14 @@ store default_node 3 load 4 default_idx iconst 5 0 lt 6 4 5 -brif 6 L3790 L3791 -label L3790 +brif 6 L3711 L3712 +label L3711 load 7 default_node call 8 pith_struct_release void 1 7 iconst 9 0 ret 9 -label L3791 -label L3789 +label L3712 +label L3710 load 10 default_node load 11 default_idx call 12 ast_get_node struct:Node 1 11 @@ -179103,14 +178248,14 @@ field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -brif 18 L3793 L3794 -label L3793 +brif 18 L3714 L3715 +label L3714 load 19 default_node call 20 pith_struct_release void 1 19 iconst 21 0 ret 21 -label L3794 -label L3792 +label L3715 +label L3713 load 22 default_node field 23 22 16 list children iconst 24 0 @@ -179162,8 +178307,8 @@ store timeout_node 6 load 7 timeout_idx iconst 8 0 lt 9 7 8 -brif 9 L3796 L3797 -label L3796 +brif 9 L3717 L3718 +label L3717 load 10 timeout_l call 11 pith_cstring_release void 1 10 load 12 wait_l @@ -179172,13 +178317,13 @@ load 14 timeout_node call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L3797 -label L3795 +label L3718 +label L3716 call 17 ir_builder_ir_reg int 0 store now_r 17 load 18 now_r strref 19 m51s1277 -strref 20 m51s712 +strref 20 m51s713 call 21 ir_call_emit_ir_emit_call0 void 3 18 19 20 call 22 pith_cstring_release void 1 19 call 23 pith_cstring_release void 1 20 @@ -179313,12 +178458,12 @@ param offset_name load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3799 L3800 -label L3799 +brif 4 L3720 L3721 +label L3720 iconst 5 0 ret 5 -label L3800 -label L3798 +label L3721 +label L3719 call 6 ir_builder_ir_reg int 0 store next_offset_r 6 call 7 ir_builder_ir_reg int 0 @@ -179468,7 +178613,7 @@ call 19 ir_builder_ir_reg int 0 store sleep_r 19 load 20 sleep_r strref 21 m51s1275 -strref 22 m51s869 +strref 22 m51s870 load 23 delay_r call 24 ir_call_emit_ir_emit_call1 void 4 20 21 22 23 call 25 pith_cstring_release void 1 21 @@ -179604,43 +178749,43 @@ endfunc func ir_emitter_core_ir_is_channel_send_name 1 bool param emit_name iconst 1 0 -store __or_1_3804 1 +store __or_1_3725 1 load 2 emit_name strref 3 m51s129 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_3804 4 -brif 4 L3805 L3804 -label L3804 +store __or_1_3725 4 +brif 4 L3726 L3725 +label L3725 load 6 emit_name -strref 7 m51s699 +strref 7 m51s700 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_3804 8 -label L3805 -load 10 __or_1_3804 -brif 10 L3802 L3803 -label L3802 +store __or_1_3725 8 +label L3726 +load 10 __or_1_3725 +brif 10 L3723 L3724 +label L3723 iconst 11 1 ret 11 -label L3803 -label L3801 +label L3724 +label L3722 iconst 12 0 -store __or_12_3806 12 +store __or_12_3727 12 load 13 emit_name strref 14 m51s222 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_12_3806 15 -brif 15 L3807 L3806 -label L3806 +store __or_12_3727 15 +brif 15 L3728 L3727 +label L3727 load 17 emit_name -strref 18 m51s698 +strref 18 m51s699 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __or_12_3806 19 -label L3807 -load 21 __or_12_3806 +store __or_12_3727 19 +label L3728 +load 21 __or_12_3727 ret 21 iconst 22 0 ret 22 @@ -179653,36 +178798,36 @@ store variant_r 2 load 3 variant_r iconst 4 0 gte 5 3 4 -brif 5 L3809 L3810 -label L3809 +brif 5 L3730 L3731 +label L3730 load 6 variant_r ret 6 -label L3810 -label L3808 +label L3731 +label L3729 load 7 idx call 8 ir_emitter_core_ir_emit_typed_receiver_method int 1 7 store typed_r 8 load 9 typed_r iconst 10 0 gte 11 9 10 -brif 11 L3812 L3813 -label L3812 +brif 11 L3733 L3734 +label L3733 load 12 typed_r ret 12 -label L3813 -label L3811 +label L3734 +label L3732 load 13 idx call 14 ir_emitter_core_ir_emit_module_alias_method int 1 13 store alias_r 14 load 15 alias_r iconst 16 0 gte 17 15 16 -brif 17 L3815 L3816 -label L3815 +brif 17 L3736 L3737 +label L3736 load 18 alias_r ret 18 -label L3816 -label L3814 +label L3737 +label L3735 load 19 idx call 20 ir_emitter_core_ir_emit_general_method_call int 1 19 ret 20 @@ -179720,8 +178865,8 @@ field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3818 L3819 -label L3818 +brif 21 L3739 L3740 +label L3739 load 22 ctor_recv load 23 node field 24 23 16 list children @@ -179731,24 +178876,24 @@ call 27 ast_get_node struct:Node 1 26 call 28 pith_struct_release void 1 22 store ctor_recv 27 iconst 29 0 -store __and_29_3823 29 +store __and_29_3744 29 load 30 ctor_recv field 31 30 0 string kind strref 32 m51s37 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __and_29_3823 33 -brif 33 L3823 L3824 -label L3823 +store __and_29_3744 33 +brif 33 L3744 L3745 +label L3744 load 35 ir_struct_registry_ir_boxed_enums load 36 ctor_recv field 37 36 8 string value call 38 contains_key bool 2 35 37 -store __and_29_3823 38 -label L3824 -load 39 __and_29_3823 -brif 39 L3821 L3822 -label L3821 +store __and_29_3744 38 +label L3745 +load 39 __and_29_3744 +brif 39 L3742 L3743 +label L3742 load 40 ctor_key load 41 ctor_recv field 42 41 8 string value @@ -179763,8 +178908,8 @@ store ctor_key 47 load 50 ir_struct_registry_ir_struct_field_index_lookup load 51 ctor_key call 52 contains_key bool 2 50 51 -brif 52 L3826 L3827 -label L3826 +brif 52 L3747 L3748 +label L3747 load 53 idx load 54 node load 55 ctor_recv @@ -179784,31 +178929,31 @@ call 68 pith_struct_release void 1 67 load 69 qual_key call 70 pith_cstring_release void 1 69 ret 58 -label L3827 -label L3825 -jmp L3820 -label L3822 -label L3820 +label L3748 +label L3746 +jmp L3741 +label L3743 +label L3741 iconst 71 0 -store __and_71_3831 71 +store __and_71_3752 71 load 72 ctor_recv field 73 72 0 string kind strref 74 m51s36 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 -store __and_71_3831 75 -brif 75 L3831 L3832 -label L3831 +store __and_71_3752 75 +brif 75 L3752 L3753 +label L3752 load 77 ctor_recv field 78 77 16 list children call 79 pith_list_len int 1 78 iconst 80 0 gt 81 79 80 -store __and_71_3831 81 -label L3832 -load 82 __and_71_3831 -brif 82 L3829 L3830 -label L3829 +store __and_71_3752 81 +label L3753 +load 82 __and_71_3752 +brif 82 L3750 L3751 +label L3750 load 83 qual_mod load 84 ctor_recv field 85 84 16 list children @@ -179818,36 +178963,36 @@ call 88 ast_get_node struct:Node 1 87 call 89 pith_struct_release void 1 83 store qual_mod 88 iconst 90 0 -store __and_90_3836 90 +store __and_90_3757 90 iconst 91 0 -store __and_91_3836 91 +store __and_91_3757 91 load 92 qual_mod field 93 92 0 string kind strref 94 m51s37 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -store __and_91_3836 95 -brif 95 L3836 L3837 -label L3836 +store __and_91_3757 95 +brif 95 L3757 L3758 +label L3757 load 97 ir_alias_registry_ir_module_aliases load 98 qual_mod field 99 98 8 string value call 100 contains_key bool 2 97 99 -store __and_91_3836 100 -label L3837 -load 101 __and_91_3836 -store __and_90_3836 101 -brif 101 L3838 L3839 -label L3838 +store __and_91_3757 100 +label L3758 +load 101 __and_91_3757 +store __and_90_3757 101 +brif 101 L3759 L3760 +label L3759 load 102 ir_struct_registry_ir_boxed_enums load 103 ctor_recv field 104 103 8 string value call 105 contains_key bool 2 102 104 -store __and_90_3836 105 -label L3839 -load 106 __and_90_3836 -brif 106 L3834 L3835 -label L3834 +store __and_90_3757 105 +label L3760 +load 106 __and_90_3757 +brif 106 L3755 L3756 +label L3755 load 107 qual_key load 108 ctor_recv field 109 108 8 string value @@ -179862,8 +179007,8 @@ store qual_key 114 load 117 ir_struct_registry_ir_struct_field_index_lookup load 118 qual_key call 119 contains_key bool 2 117 118 -brif 119 L3841 L3842 -label L3841 +brif 119 L3762 L3763 +label L3762 load 120 idx load 121 node load 122 ctor_recv @@ -179883,17 +179028,17 @@ call 135 pith_struct_release void 1 134 load 136 qual_key call 137 pith_cstring_release void 1 136 ret 125 -label L3842 -label L3840 -jmp L3833 -label L3835 -label L3833 -jmp L3828 -label L3830 -label L3828 -jmp L3817 -label L3819 -label L3817 +label L3763 +label L3761 +jmp L3754 +label L3756 +label L3754 +jmp L3749 +label L3751 +label L3749 +jmp L3738 +label L3740 +label L3738 iconst 138 0 iconst 139 1 sub 140 138 139 @@ -179960,8 +179105,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L3844 L3845 -label L3844 +brif 23 L3765 L3766 +label L3765 load 24 node field 25 24 16 list children iconst 26 0 @@ -179971,91 +179116,91 @@ store recv_tid 28 load 29 recv_tid iconst 30 0 gte 31 29 30 -brif 31 L3847 L3848 -label L3847 +brif 31 L3768 L3769 +label L3768 load 32 recv_info load 33 recv_tid call 34 types_get_type_info struct:TypeInfo 1 33 call 35 pith_struct_release void 1 32 store recv_info 34 iconst 36 0 -store __and_36_3852 36 +store __and_36_3773 36 load 37 recv_info field 38 37 0 string kind strref 39 m51s508 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_3852 40 -brif 40 L3852 L3853 -label L3852 +store __and_36_3773 40 +brif 40 L3773 L3774 +label L3773 load 42 mname strref 43 m51s278 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_36_3852 44 -label L3853 -load 46 __and_36_3852 -brif 46 L3850 L3851 -label L3850 +store __and_36_3773 44 +label L3774 +load 46 __and_36_3773 +brif 46 L3771 L3772 +label L3771 iconst 47 0 -store __or_47_3857 47 +store __or_47_3778 47 iconst 48 0 -store __or_48_3857 48 +store __or_48_3778 48 iconst 49 0 -store __or_49_3857 49 +store __or_49_3778 49 iconst 50 0 -store __or_50_3857 50 +store __or_50_3778 50 load 51 recv_info field 52 51 8 string name strref 53 m51s507 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_50_3857 54 -brif 54 L3858 L3857 -label L3857 +store __or_50_3778 54 +brif 54 L3779 L3778 +label L3778 load 56 recv_info field 57 56 8 string name strref 58 m51s502 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -store __or_50_3857 59 -label L3858 -load 61 __or_50_3857 -store __or_49_3857 61 -brif 61 L3860 L3859 -label L3859 +store __or_50_3778 59 +label L3779 +load 61 __or_50_3778 +store __or_49_3778 61 +brif 61 L3781 L3780 +label L3780 load 62 recv_info field 63 62 8 string name strref 64 m51s501 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_49_3857 65 -label L3860 -load 67 __or_49_3857 -store __or_48_3857 67 -brif 67 L3862 L3861 -label L3861 +store __or_49_3778 65 +label L3781 +load 67 __or_49_3778 +store __or_48_3778 67 +brif 67 L3783 L3782 +label L3782 load 68 recv_info field 69 68 8 string name strref 70 m51s500 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -store __or_48_3857 71 -label L3862 -load 73 __or_48_3857 -store __or_47_3857 73 -brif 73 L3864 L3863 -label L3863 +store __or_48_3778 71 +label L3783 +load 73 __or_48_3778 +store __or_47_3778 73 +brif 73 L3785 L3784 +label L3784 load 74 recv_info field 75 74 8 string name strref 76 m51s499 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_47_3857 77 -label L3864 -load 79 __or_47_3857 -brif 79 L3855 L3856 -label L3855 +store __or_47_3778 77 +label L3785 +load 79 __or_47_3778 +brif 79 L3776 L3777 +label L3776 load 80 node field 81 80 16 list children iconst 82 0 @@ -180066,7 +179211,7 @@ call 85 ir_builder_ir_reg int 0 store out_r 85 load 86 out_r strref 87 m51s1273 -strref 88 m51s716 +strref 88 m51s717 load 89 obj_r call 90 ir_call_emit_ir_emit_call1 void 4 86 87 88 89 call 91 pith_cstring_release void 1 87 @@ -180089,24 +179234,24 @@ call 107 pith_cstring_release void 1 106 load 108 end_l call 109 pith_cstring_release void 1 108 ret 93 -label L3856 -label L3854 -jmp L3849 -label L3851 -label L3849 +label L3777 +label L3775 +jmp L3770 +label L3772 +label L3770 load 110 recv_info field 111 110 0 string kind strref 112 m51s22 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -brif 113 L3866 L3867 -label L3866 +brif 113 L3787 L3788 +label L3787 load 115 mname strref 116 m51s293 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L3869 L3870 -label L3869 +brif 117 L3790 L3791 +label L3790 load 119 idx load 120 node call 121 ir_emitter_core_ir_emit_result_unwrap_or int 2 119 120 @@ -180127,14 +179272,14 @@ call 135 pith_cstring_release void 1 134 load 136 end_l call 137 pith_cstring_release void 1 136 ret 121 -label L3870 -label L3868 +label L3791 +label L3789 load 138 mname strref 139 m51s291 call 140 pith_cstring_eq bool 2 138 139 call 141 pith_cstring_release void 1 139 -brif 140 L3872 L3873 -label L3872 +brif 140 L3793 L3794 +label L3793 load 142 idx load 143 node call 144 ir_emitter_core_ir_emit_result_or_else int 2 142 143 @@ -180155,14 +179300,14 @@ call 158 pith_cstring_release void 1 157 load 159 end_l call 160 pith_cstring_release void 1 159 ret 144 -label L3873 -label L3871 +label L3794 +label L3792 load 161 mname strref 162 m51s278 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L3875 L3876 -label L3875 +brif 163 L3796 L3797 +label L3796 load 165 node call 166 ir_emitter_core_ir_emit_result_to_string int 1 165 load 167 node @@ -180182,30 +179327,30 @@ call 180 pith_cstring_release void 1 179 load 181 end_l call 182 pith_cstring_release void 1 181 ret 166 -label L3876 -label L3874 -jmp L3865 -label L3867 -label L3865 +label L3797 +label L3795 +jmp L3786 +label L3788 +label L3786 iconst 183 0 -store __and_183_3880 183 +store __and_183_3801 183 load 184 recv_info field 185 184 0 string kind strref 186 m51s21 call 187 pith_cstring_eq bool 2 185 186 call 188 pith_cstring_release void 1 186 -store __and_183_3880 187 -brif 187 L3880 L3881 -label L3880 +store __and_183_3801 187 +brif 187 L3801 L3802 +label L3801 load 189 mname strref 190 m51s6 call 191 pith_cstring_eq bool 2 189 190 call 192 pith_cstring_release void 1 190 -store __and_183_3880 191 -label L3881 -load 193 __and_183_3880 -brif 193 L3878 L3879 -label L3878 +store __and_183_3801 191 +label L3802 +load 193 __and_183_3801 +brif 193 L3799 L3800 +label L3799 load 194 node field 195 194 16 list children iconst 196 0 @@ -180240,27 +179385,27 @@ call 222 pith_cstring_release void 1 221 load 223 end_l call 224 pith_cstring_release void 1 223 ret 208 -label L3879 -label L3877 +label L3800 +label L3798 iconst 225 0 -store __and_225_3885 225 +store __and_225_3806 225 load 226 recv_info field 227 226 0 string kind strref 228 m51s21 call 229 pith_cstring_eq bool 2 227 228 call 230 pith_cstring_release void 1 228 -store __and_225_3885 229 -brif 229 L3885 L3886 -label L3885 +store __and_225_3806 229 +brif 229 L3806 L3807 +label L3806 load 231 mname strref 232 m51s293 call 233 pith_cstring_eq bool 2 231 232 call 234 pith_cstring_release void 1 232 -store __and_225_3885 233 -label L3886 -load 235 __and_225_3885 -brif 235 L3883 L3884 -label L3883 +store __and_225_3806 233 +label L3807 +load 235 __and_225_3806 +brif 235 L3804 L3805 +label L3804 load 236 node field 237 236 16 list children iconst 238 0 @@ -180331,26 +179476,26 @@ load 294 recv_tid call 295 ir_optionals_ir_optional_value_field int 2 293 294 store inner_r 295 iconst 296 0 -store __and_296_3890 296 +store __and_296_3811 296 load 297 inner_kind call 298 string_len int 1 297 iconst 299 0 gt 300 298 299 -store __and_296_3890 300 -brif 300 L3890 L3891 -label L3890 +store __and_296_3811 300 +brif 300 L3811 L3812 +label L3811 load 301 owns_subject -store __and_296_3890 301 -label L3891 -load 302 __and_296_3890 -brif 302 L3888 L3889 -label L3888 +store __and_296_3811 301 +label L3812 +load 302 __and_296_3811 +brif 302 L3809 L3810 +label L3809 load 303 inner_r load 304 inner_kind call 305 ir_ownership_ir_rc_retain_reg void 2 303 304 -jmp L3887 -label L3889 -label L3887 +jmp L3808 +label L3810 +label L3808 strref 306 m51s878 load 307 tmp concat 308 306 307 @@ -180382,39 +179527,39 @@ load 332 default_idx call 333 ir_emitter_core_ir_expr int 1 332 store default_r 333 iconst 334 0 -store __and_334_3895 334 +store __and_334_3816 334 iconst 335 0 -store __and_335_3895 335 +store __and_335_3816 335 load 336 inner_kind call 337 string_len int 1 336 iconst 338 0 gt 339 337 338 -store __and_335_3895 339 -brif 339 L3895 L3896 -label L3895 +store __and_335_3816 339 +brif 339 L3816 L3817 +label L3816 load 340 idx call 341 ir_emitter_core_ir_string_expr_is_borrowed bool 1 340 iconst 343 1 sub 342 343 341 -store __and_335_3895 342 -label L3896 -load 344 __and_335_3895 -store __and_334_3895 344 -brif 344 L3897 L3898 -label L3897 +store __and_335_3816 342 +label L3817 +load 344 __and_335_3816 +store __and_334_3816 344 +brif 344 L3818 L3819 +label L3818 load 345 default_idx call 346 ir_emitter_core_ir_string_expr_is_borrowed bool 1 345 -store __and_334_3895 346 -label L3898 -load 347 __and_334_3895 -brif 347 L3893 L3894 -label L3893 +store __and_334_3816 346 +label L3819 +load 347 __and_334_3816 +brif 347 L3814 L3815 +label L3814 load 348 default_r load 349 inner_kind call 350 ir_ownership_ir_rc_retain_reg void 2 348 349 -jmp L3892 -label L3894 -label L3892 +jmp L3813 +label L3815 +label L3813 strref 351 m51s878 load 352 tmp concat 353 351 352 @@ -180433,8 +179578,8 @@ call 365 pith_cstring_release void 1 361 load 366 end_l call 367 ir_call_emit_ir_emit_label void 1 366 load 368 owns_subject -brif 368 L3900 L3901 -label L3900 +brif 368 L3821 L3822 +label L3821 call 369 ir_builder_ir_reg int 0 strref 370 m51s946 strref 371 m51s876 @@ -180442,9 +179587,9 @@ load 372 obj_r call 373 ir_call_emit_ir_emit_call1 void 4 369 370 371 372 call 374 pith_cstring_release void 1 370 call 375 pith_cstring_release void 1 371 -jmp L3899 -label L3901 -label L3899 +jmp L3820 +label L3822 +label L3820 call 376 ir_builder_ir_reg int 0 store out_r 376 strref 377 m51s877 @@ -180480,45 +179625,45 @@ call 406 pith_cstring_release void 1 405 load 407 end_l call 408 pith_cstring_release void 1 407 ret 392 -label L3884 -label L3882 -jmp L3846 -label L3848 -label L3846 -jmp L3843 -label L3845 -label L3843 +label L3805 +label L3803 +jmp L3767 +label L3769 +label L3767 +jmp L3764 +label L3766 +label L3764 iconst 409 0 -store __and_409_3905 409 +store __and_409_3826 409 iconst 410 0 -store __and_410_3905 410 +store __and_410_3826 410 load 411 mname strref 412 m51s6 call 413 pith_cstring_eq bool 2 411 412 call 414 pith_cstring_release void 1 412 -store __and_410_3905 413 -brif 413 L3905 L3906 -label L3905 +store __and_410_3826 413 +brif 413 L3826 L3827 +label L3826 load 415 ir_emitter_core_ir_current_impl_subst_params call 416 pith_list_len int 1 415 iconst 417 0 gt 418 416 417 -store __and_410_3905 418 -label L3906 -load 419 __and_410_3905 -store __and_409_3905 419 -brif 419 L3907 L3908 -label L3907 +store __and_410_3826 418 +label L3827 +load 419 __and_410_3826 +store __and_409_3826 419 +brif 419 L3828 L3829 +label L3828 load 420 node field 421 420 16 list children call 422 pith_list_len int 1 421 iconst 423 1 eq 424 422 423 -store __and_409_3905 424 -label L3908 -load 425 __and_409_3905 -brif 425 L3903 L3904 -label L3903 +store __and_409_3826 424 +label L3829 +load 425 __and_409_3826 +brif 425 L3824 L3825 +label L3824 load 426 node field 427 426 16 list children iconst 428 0 @@ -180566,8 +179711,8 @@ call 467 pith_cstring_release void 1 466 load 468 end_l call 469 pith_cstring_release void 1 468 ret 453 -label L3904 -label L3902 +label L3825 +label L3823 iconst 470 0 iconst 471 1 sub 472 470 471 @@ -180641,8 +179786,8 @@ load 18 alias_fname call 19 string_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3910 L3911 -label L3910 +brif 21 L3831 L3832 +label L3831 load 22 call_name load 23 alias_fname call 24 pith_cstring_retain void 1 23 @@ -180654,32 +179799,32 @@ store alias_expr_tid 27 load 28 alias_expr_tid iconst 29 0 gte 30 28 29 -brif 30 L3913 L3914 -label L3913 +brif 30 L3834 L3835 +label L3834 load 31 alias_expr_info load 32 alias_expr_tid call 33 types_get_type_info struct:TypeInfo 1 32 call 34 pith_struct_release void 1 31 store alias_expr_info 33 iconst 35 0 -store __and_35_3918 35 +store __and_35_3839 35 load 36 alias_expr_info field 37 36 0 string kind strref 38 m51s15 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __and_35_3918 39 -brif 39 L3918 L3919 -label L3918 +store __and_35_3839 39 +brif 39 L3839 L3840 +label L3839 load 41 alias_expr_info field 42 41 8 string name load 43 call_name call 44 pith_cstring_eq bool 2 42 43 -store __and_35_3918 44 -label L3919 -load 45 __and_35_3918 -brif 45 L3916 L3917 -label L3916 +store __and_35_3839 44 +label L3840 +load 45 __and_35_3839 +brif 45 L3837 L3838 +label L3837 load 46 ctor_args call 47 pith_list_new_default list 0 call 48 pith_list_release_handle void 1 46 @@ -180688,39 +179833,39 @@ load 49 node field 50 49 16 list children call 51 pith_auto_len int 1 50 iconst 52 0 -store __for_idx_401 52 -store __for_len_401 51 -store __for_iter_401 50 -label L3920 -load 53 __for_idx_401 -load 54 __for_len_401 +store __for_idx_400 52 +store __for_len_400 51 +store __for_iter_400 50 +label L3841 +load 53 __for_idx_400 +load 54 __for_len_400 lt 55 53 54 -brif 55 L3921 L3923 -label L3921 -load 56 __for_iter_401 -load 57 __for_idx_401 +brif 55 L3842 L3844 +label L3842 +load 56 __for_iter_400 +load 57 __for_idx_400 call 58 pith_list_get_value unknown 2 56 57 -store __loopvar_401_child 58 -load 59 __for_idx_401 -store __loopvar_401_ci 59 -load 60 __loopvar_401_ci +store __loopvar_400_child 58 +load 59 __for_idx_400 +store __loopvar_400_ci 59 +load 60 __loopvar_400_ci iconst 61 0 eq 62 60 61 -brif 62 L3925 L3926 -label L3925 -jmp L3922 -label L3926 -label L3924 +brif 62 L3846 L3847 +label L3846 +jmp L3843 +label L3847 +label L3845 load 63 ctor_args -load 64 __loopvar_401_child +load 64 __loopvar_400_child call 65 pith_list_push_value void 2 63 64 -label L3922 -load 66 __for_idx_401 +label L3843 +load 66 __for_idx_400 iconst 67 1 add 68 66 67 -store __for_idx_401 68 -jmp L3920 -label L3923 +store __for_idx_400 68 +jmp L3841 +label L3844 load 69 call_name load 70 ctor_args load 71 alias_expr_tid @@ -180744,15 +179889,15 @@ call 88 pith_list_release_handle void 1 87 load 89 ret_type call 90 pith_cstring_release void 1 89 ret 72 -label L3917 -label L3915 -jmp L3912 -label L3914 -label L3912 +label L3838 +label L3836 +jmp L3833 +label L3835 +label L3833 load 91 call_name call 92 ir_generics_ir_is_generic_function_name bool 1 91 -brif 92 L3928 L3929 -label L3928 +brif 92 L3849 L3850 +label L3849 load 93 generic_ret_type load 94 idx call 95 ir_type_helpers_ir_checked_type string 1 94 @@ -180762,16 +179907,16 @@ load 97 generic_ret_type call 98 string_len int 1 97 iconst 99 0 eq 100 98 99 -brif 100 L3931 L3932 -label L3931 +brif 100 L3852 L3853 +label L3852 load 101 generic_ret_type load 102 idx call 103 ir_emitter_core_ir_infer_type string 1 102 call 104 pith_cstring_release void 1 101 store generic_ret_type 103 -jmp L3930 -label L3932 -label L3930 +jmp L3851 +label L3853 +label L3851 load 105 mct load 106 call_name load 107 node @@ -180791,9 +179936,9 @@ load 119 generic_ret_type call 120 ir_generics_ir_queue_generic_specialization string 3 117 118 119 call 121 pith_cstring_release void 1 116 store call_name 120 -jmp L3927 -label L3929 -label L3927 +jmp L3848 +label L3850 +label L3848 load 122 arg_regs load 123 node iconst 124 1 @@ -180825,8 +179970,8 @@ store ret_type 142 load 144 ir_result_abi_ir_result_reg_funcs load 145 call_name call 146 contains_key bool 2 144 145 -brif 146 L3934 L3935 -label L3934 +brif 146 L3855 L3856 +label L3855 load 147 idx store ir_emitter_core_ir_rcall_current_idx 147 load 148 r @@ -180842,8 +179987,8 @@ iconst 156 0 iconst 157 1 sub 158 156 157 store ir_emitter_core_ir_rcall_current_idx 158 -jmp L3933 -label L3935 +jmp L3854 +label L3856 load 159 r load 160 call_name load 161 ret_type @@ -180853,61 +179998,61 @@ load 164 arg_regs call 165 ir_call_helpers_ir_join_arg_regs string 1 164 call 166 ir_call_emit_ir_emit_call_text void 5 159 160 161 163 165 call 167 pith_cstring_release void 1 165 -label L3933 +label L3854 load 168 node iconst 169 1 load 170 arg_regs call 171 ir_emitter_core_ir_release_owned_string_args void 3 168 169 170 iconst 172 0 -store __and_172_3939 172 +store __and_172_3860 172 iconst 173 0 -store __and_173_3939 173 +store __and_173_3860 173 load 174 uses_result_abi -store __and_173_3939 174 -brif 174 L3939 L3940 -label L3939 +store __and_173_3860 174 +brif 174 L3860 L3861 +label L3860 load 175 ret_type strref 176 m51s23 call 178 pith_cstring_eq bool 2 175 176 iconst 179 1 sub 177 179 178 call 180 pith_cstring_release void 1 176 -store __and_173_3939 177 -label L3940 -load 181 __and_173_3939 -store __and_172_3939 181 -brif 181 L3941 L3942 -label L3941 +store __and_173_3860 177 +label L3861 +load 181 __and_173_3860 +store __and_172_3860 181 +brif 181 L3862 L3863 +label L3862 load 182 idx call 183 ir_type_helpers_ir_checked_result_kind string 1 182 strref 184 m51s23 call 185 pith_cstring_eq bool 2 183 184 call 186 pith_cstring_release void 1 183 call 187 pith_cstring_release void 1 184 -store __and_172_3939 185 -label L3942 -load 188 __and_172_3939 -brif 188 L3937 L3938 -label L3937 +store __and_172_3860 185 +label L3863 +load 188 __and_172_3860 +brif 188 L3858 L3859 +label L3858 iconst 189 0 -store __and_189_3946 189 +store __and_189_3867 189 load 190 ret_type -strref 191 m51s713 +strref 191 m51s714 call 193 pith_cstring_eq bool 2 190 191 iconst 194 1 sub 192 194 193 call 195 pith_cstring_release void 1 191 -store __and_189_3946 192 -brif 192 L3946 L3947 -label L3946 +store __and_189_3867 192 +brif 192 L3867 L3868 +label L3867 load 196 idx load 197 ir_emitter_core_ir_rcall_defer_idx eq 198 196 197 -store __and_189_3946 198 -label L3947 -load 199 __and_189_3946 -brif 199 L3944 L3945 -label L3944 +store __and_189_3867 198 +label L3868 +load 199 __and_189_3867 +brif 199 L3865 L3866 +label L3865 load 200 r load 201 ret_type load 202 call_name @@ -180931,8 +180076,8 @@ call 219 pith_list_release_handle void 1 218 load 220 ret_type call 221 pith_cstring_release void 1 220 ret 203 -label L3945 -label L3943 +label L3866 +label L3864 load 222 r load 223 ret_type load 224 call_name @@ -180956,8 +180101,8 @@ call 241 pith_list_release_handle void 1 240 load 242 ret_type call 243 pith_cstring_release void 1 242 ret 225 -label L3938 -label L3936 +label L3859 +label L3857 load 244 r load 245 node call 246 pith_struct_release void 1 245 @@ -180978,8 +180123,8 @@ call 260 pith_list_release_handle void 1 259 load 261 ret_type call 262 pith_cstring_release void 1 261 ret 244 -label L3911 -label L3909 +label L3832 +label L3830 iconst 263 0 iconst 264 1 sub 265 263 264 @@ -181089,8 +180234,8 @@ store self_hosted_list_r 38 load 39 self_hosted_list_r iconst 40 0 gte 41 39 40 -brif 41 L3949 L3950 -label L3949 +brif 41 L3870 L3871 +label L3870 load 42 self_hosted_list_r load 43 node call 44 pith_struct_release void 1 43 @@ -181131,8 +180276,8 @@ call 78 pith_cstring_release void 1 77 load 79 recv_kind call 80 pith_cstring_release void 1 79 ret 42 -label L3950 -label L3948 +label L3871 +label L3869 load 81 cf_struct load 82 obj_type call 83 ir_method_tables_ir_strip_type_args string 1 82 @@ -181142,8 +180287,8 @@ load 85 cf_struct call 86 string_len int 1 85 iconst 87 0 gt 88 86 87 -brif 88 L3952 L3953 -label L3952 +brif 88 L3873 L3874 +label L3873 load 89 field_key load 90 cf_struct strref 91 m51s26 @@ -181165,22 +180310,22 @@ call 105 ir_emitter_core_ir_lookup_impl_method_for string 3 102 103 104 call 106 pith_cstring_release void 1 98 store existing_method 105 iconst 107 0 -store __and_107_3957 107 +store __and_107_3878 107 load 108 ir_struct_registry_ir_struct_field_index_lookup load 109 field_key call 110 contains_key bool 2 108 109 -store __and_107_3957 110 -brif 110 L3957 L3958 -label L3957 +store __and_107_3878 110 +brif 110 L3878 L3879 +label L3878 load 111 existing_method call 112 string_len int 1 111 iconst 113 0 eq 114 112 113 -store __and_107_3957 114 -label L3958 -load 115 __and_107_3957 -brif 115 L3955 L3956 -label L3955 +store __and_107_3878 114 +label L3879 +load 115 __and_107_3878 +brif 115 L3876 L3877 +label L3876 load 116 node field 117 116 16 list children iconst 118 0 @@ -181256,7 +180401,7 @@ call 183 pith_list_release_handle void 1 181 store arg_regs 182 iconst 184 0 store ai 184 -label L3959 +label L3880 load 185 ai load 186 node field 187 186 16 list children @@ -181264,8 +180409,8 @@ call 188 pith_list_len int 1 187 iconst 189 1 sub 190 188 189 lt 191 185 190 -brif 191 L3960 L3961 -label L3960 +brif 191 L3881 L3882 +label L3881 load 192 node load 193 ai call 194 ir_emitter_core_ir_method_call_arg_expr int 2 192 193 @@ -181278,8 +180423,8 @@ load 199 ai iconst 200 1 add 201 199 200 store ai 201 -jmp L3959 -label L3961 +jmp L3880 +label L3882 call 202 ir_builder_ir_reg int 0 store r 202 strref 203 m51s1085 @@ -181352,11 +180497,11 @@ call 269 pith_cstring_release void 1 268 load 270 recv_kind call 271 pith_cstring_release void 1 270 ret 233 -label L3956 -label L3954 -jmp L3951 -label L3953 -label L3951 +label L3877 +label L3875 +jmp L3872 +label L3874 +label L3872 load 272 emit_name load 273 mname load 274 obj_type @@ -181364,47 +180509,47 @@ call 275 ir_metadata_ir_method_emit_name string 2 273 274 call 276 pith_cstring_release void 1 272 store emit_name 275 iconst 277 0 -store __and_277_3965 277 +store __and_277_3886 277 load 278 emit_name -strref 279 m51s748 +strref 279 m51s749 call 280 pith_cstring_eq bool 2 278 279 call 281 pith_cstring_release void 1 279 -store __and_277_3965 280 -brif 280 L3965 L3966 -label L3965 +store __and_277_3886 280 +brif 280 L3886 L3887 +label L3886 load 282 node field 283 282 16 list children iconst 284 0 call 285 pith_list_get_value_strict int 2 283 284 call 286 ir_type_helpers_ir_list_element_kind string 1 285 -strref 287 m51s712 +strref 287 m51s713 call 288 pith_cstring_eq bool 2 286 287 call 289 pith_cstring_release void 1 286 call 290 pith_cstring_release void 1 287 -store __and_277_3965 288 -label L3966 -load 291 __and_277_3965 -brif 291 L3963 L3964 -label L3963 +store __and_277_3886 288 +label L3887 +load 291 __and_277_3886 +brif 291 L3884 L3885 +label L3884 load 292 emit_name strref 293 m51s1271 call 294 pith_cstring_release void 1 292 store emit_name 293 -jmp L3962 -label L3964 -label L3962 +jmp L3883 +label L3885 +label L3883 load 295 emit_name call 296 ir_metadata_ir_is_bool_returning_method bool 1 295 -brif 296 L3968 L3969 -label L3968 +brif 296 L3889 L3890 +label L3889 load 297 ir_builder_ir_var_types strref 298 m51s1270 -strref 299 m51s714 +strref 299 m51s715 call 300 pith_map_insert_cstr_owned void 3 297 298 299 call 301 pith_cstring_release void 1 298 -jmp L3967 -label L3969 -label L3967 +jmp L3888 +label L3890 +label L3888 load 302 impl_name load 303 obj_type load 304 mname @@ -181415,8 +180560,8 @@ load 307 impl_name call 308 string_len int 1 307 iconst 309 0 eq 310 308 309 -brif 310 L3971 L3972 -label L3971 +brif 310 L3892 L3893 +label L3892 load 311 impl_name load 312 node field 313 312 16 list children @@ -181427,25 +180572,25 @@ load 317 mname call 318 ir_emitter_core_ir_lookup_impl_method_for string 3 315 316 317 call 319 pith_cstring_release void 1 311 store impl_name 318 -jmp L3970 -label L3972 -label L3970 +jmp L3891 +label L3893 +label L3891 load 320 impl_name call 321 string_len int 1 320 iconst 322 0 gt 323 321 322 store impl_dispatch 323 load 324 impl_dispatch -brif 324 L3974 L3975 -label L3974 +brif 324 L3895 L3896 +label L3895 load 325 emit_name load 326 impl_name call 327 pith_cstring_retain void 1 326 call 328 pith_cstring_release void 1 325 store emit_name 326 -jmp L3973 -label L3975 -label L3973 +jmp L3894 +label L3896 +label L3894 load 329 call_regs load 330 node call 331 ir_emitter_core_ir_collect_method_call_regs list 1 330 @@ -181461,15 +180606,15 @@ call 338 pith_list_release_handle void 1 336 store arg_regs 337 iconst 339 0 store ci 339 -label L3976 +label L3897 load 340 ci iconst 341 1 add 342 340 341 load 343 call_regs call 344 pith_list_len int 1 343 lt 345 342 344 -brif 345 L3977 L3978 -label L3977 +brif 345 L3898 L3899 +label L3898 load 346 arg_regs load 347 call_regs load 348 ci @@ -181481,8 +180626,8 @@ load 353 ci iconst 354 1 add 355 353 354 store ci 355 -jmp L3976 -label L3978 +jmp L3897 +label L3899 call 356 ir_builder_ir_reg int 0 store r 356 load 357 emit_name @@ -181507,134 +180652,134 @@ call 372 pith_cstring_release void 1 367 store ret_type 371 load 373 emit_name call 374 ir_metadata_ir_is_void_method bool 1 373 -brif 374 L3980 L3981 -label L3980 +brif 374 L3901 L3902 +label L3901 load 375 ret_type strref 376 m51s876 call 377 pith_cstring_release void 1 375 store ret_type 376 -jmp L3979 -label L3981 -label L3979 +jmp L3900 +label L3902 +label L3900 iconst 378 0 iconst 379 1 sub 380 378 379 store store_value_pos 380 iconst 381 0 -store __or_381_3985 381 +store __or_381_3906 381 iconst 382 0 -store __or_382_3985 382 +store __or_382_3906 382 iconst 383 0 -store __or_383_3985 383 +store __or_383_3906 383 load 384 emit_name call 385 ir_emitter_core_ir_is_channel_send_name bool 1 384 -store __or_383_3985 385 -brif 385 L3986 L3985 -label L3985 +store __or_383_3906 385 +brif 385 L3907 L3906 +label L3906 load 386 emit_name strref 387 m51s276 call 388 pith_cstring_eq bool 2 386 387 call 389 pith_cstring_release void 1 387 -store __or_383_3985 388 -label L3986 -load 390 __or_383_3985 -store __or_382_3985 390 -brif 390 L3988 L3987 -label L3987 +store __or_383_3906 388 +label L3907 +load 390 __or_383_3906 +store __or_382_3906 390 +brif 390 L3909 L3908 +label L3908 load 391 emit_name -strref 392 m51s794 +strref 392 m51s795 call 393 pith_cstring_eq bool 2 391 392 call 394 pith_cstring_release void 1 392 -store __or_382_3985 393 -label L3988 -load 395 __or_382_3985 -store __or_381_3985 395 -brif 395 L3990 L3989 -label L3989 +store __or_382_3906 393 +label L3909 +load 395 __or_382_3906 +store __or_381_3906 395 +brif 395 L3911 L3910 +label L3910 load 396 emit_name -strref 397 m51s795 +strref 397 m51s796 call 398 pith_cstring_eq bool 2 396 397 call 399 pith_cstring_release void 1 397 -store __or_381_3985 398 -label L3990 -load 400 __or_381_3985 -brif 400 L3983 L3984 -label L3983 +store __or_381_3906 398 +label L3911 +load 400 __or_381_3906 +brif 400 L3904 L3905 +label L3904 iconst 401 0 store store_value_pos 401 -jmp L3982 -label L3984 +jmp L3903 +label L3905 iconst 402 0 -store __or_402_3993 402 +store __or_402_3914 402 iconst 403 0 -store __or_403_3993 403 +store __or_403_3914 403 iconst 404 0 -store __or_404_3993 404 +store __or_404_3914 404 iconst 405 0 -store __or_405_3993 405 +store __or_405_3914 405 iconst 406 0 -store __or_406_3993 406 +store __or_406_3914 406 load 407 emit_name strref 408 m51s255 call 409 pith_cstring_eq bool 2 407 408 call 410 pith_cstring_release void 1 408 -store __or_406_3993 409 -brif 409 L3994 L3993 -label L3993 +store __or_406_3914 409 +brif 409 L3915 L3914 +label L3914 load 411 emit_name -strref 412 m51s734 +strref 412 m51s735 call 413 pith_cstring_eq bool 2 411 412 call 414 pith_cstring_release void 1 412 -store __or_406_3993 413 -label L3994 -load 415 __or_406_3993 -store __or_405_3993 415 -brif 415 L3996 L3995 -label L3995 +store __or_406_3914 413 +label L3915 +load 415 __or_406_3914 +store __or_405_3914 415 +brif 415 L3917 L3916 +label L3916 load 416 emit_name -strref 417 m51s735 +strref 417 m51s736 call 418 pith_cstring_eq bool 2 416 417 call 419 pith_cstring_release void 1 417 -store __or_405_3993 418 -label L3996 -load 420 __or_405_3993 -store __or_404_3993 420 -brif 420 L3998 L3997 -label L3997 +store __or_405_3914 418 +label L3917 +load 420 __or_405_3914 +store __or_404_3914 420 +brif 420 L3919 L3918 +label L3918 load 421 emit_name strref 422 m51s18 call 423 pith_cstring_eq bool 2 421 422 call 424 pith_cstring_release void 1 422 -store __or_404_3993 423 -label L3998 -load 425 __or_404_3993 -store __or_403_3993 425 -brif 425 L4000 L3999 -label L3999 +store __or_404_3914 423 +label L3919 +load 425 __or_404_3914 +store __or_403_3914 425 +brif 425 L3921 L3920 +label L3920 load 426 emit_name -strref 427 m51s821 +strref 427 m51s822 call 428 pith_cstring_eq bool 2 426 427 call 429 pith_cstring_release void 1 427 -store __or_403_3993 428 -label L4000 -load 430 __or_403_3993 -store __or_402_3993 430 -brif 430 L4002 L4001 -label L4001 +store __or_403_3914 428 +label L3921 +load 430 __or_403_3914 +store __or_402_3914 430 +brif 430 L3923 L3922 +label L3922 load 431 emit_name -strref 432 m51s752 +strref 432 m51s753 call 433 pith_cstring_eq bool 2 431 432 call 434 pith_cstring_release void 1 432 -store __or_402_3993 433 -label L4002 -load 435 __or_402_3993 -brif 435 L3991 L3992 -label L3991 +store __or_402_3914 433 +label L3923 +load 435 __or_402_3914 +brif 435 L3912 L3913 +label L3912 iconst 436 1 store store_value_pos 436 -jmp L3982 -label L3992 -label L3982 +jmp L3903 +label L3913 +label L3903 load 437 call_name load 438 emit_name call 439 pith_cstring_retain void 1 438 @@ -181647,25 +180792,25 @@ store store_tag_r 443 load 444 impl_dispatch iconst 446 1 sub 445 446 444 -brif 445 L4004 L4005 -label L4004 +brif 445 L3925 L3926 +label L3925 iconst 447 0 -store __and_447_4009 447 +store __and_447_3930 447 load 448 store_value_pos iconst 449 0 gte 450 448 449 -store __and_447_4009 450 -brif 450 L4009 L4010 -label L4009 +store __and_447_3930 450 +brif 450 L3930 L3931 +label L3930 load 451 store_value_pos load 452 arg_regs call 453 pith_list_len int 1 452 lt 454 451 453 -store __and_447_4009 454 -label L4010 -load 455 __and_447_4009 -brif 455 L4007 L4008 -label L4007 +store __and_447_3930 454 +label L3931 +load 455 __and_447_3930 +brif 455 L3928 L3929 +label L3928 load 456 node load 457 store_value_pos call 458 ir_emitter_core_ir_method_call_arg_expr int 2 456 457 @@ -181673,8 +180818,8 @@ store value_expr 458 load 459 value_expr iconst 460 0 gte 461 459 460 -brif 461 L4012 L4013 -label L4012 +brif 461 L3933 L3934 +label L3933 load 462 store_kind load 463 value_expr call 464 ir_emitter_core_ir_infer_type string 1 463 @@ -181694,44 +180839,44 @@ call 475 ir_emitter_core_ir_map_kind_store_name string 2 471 473 call 476 pith_cstring_release void 1 470 store kind_store 475 iconst 477 0 -store __and_477_4017 477 +store __and_477_3938 477 load 478 kind_store call 479 string_len int 1 478 iconst 480 0 eq 481 479 480 -store __and_477_4017 481 -brif 481 L4017 L4018 -label L4017 +store __and_477_3938 481 +brif 481 L3938 L3939 +label L3938 load 482 borrowed -store __and_477_4017 482 -label L4018 -load 483 __and_477_4017 -brif 483 L4015 L4016 -label L4015 +store __and_477_3938 482 +label L3939 +load 483 __and_477_3938 +brif 483 L3936 L3937 +label L3936 load 484 kind_store load 485 emit_name call 486 ir_emitter_core_ir_list_kind_store_name string 1 485 call 487 pith_cstring_release void 1 484 store kind_store 486 -jmp L4014 -label L4016 -label L4014 +jmp L3935 +label L3937 +label L3935 iconst 488 0 -store __and_488_4022 488 +store __and_488_3943 488 load 489 kind_store call 490 string_len int 1 489 iconst 491 0 gt 492 490 491 -store __and_488_4022 492 -brif 492 L4022 L4023 -label L4022 +store __and_488_3943 492 +brif 492 L3943 L3944 +label L3943 load 493 store_kind call 494 ir_emitter_core_ir_store_learns_kind bool 1 493 -store __and_488_4022 494 -label L4023 -load 495 __and_488_4022 -brif 495 L4020 L4021 -label L4020 +store __and_488_3943 494 +label L3944 +load 495 __and_488_3943 +brif 495 L3941 L3942 +label L3941 load 496 call_name load 497 kind_store call 498 pith_cstring_retain void 1 497 @@ -181740,30 +180885,30 @@ store call_name 497 load 500 store_kind call 501 ir_emitter_core_ir_emit_element_tag_const int 1 500 store store_tag_r 501 -jmp L4019 -label L4021 +jmp L3940 +label L3942 load 502 borrowed -brif 502 L4024 L4025 -label L4024 +brif 502 L3945 L3946 +label L3945 load 503 emit_name load 504 store_kind call 505 ir_emitter_core_ir_channel_send_needs_retain bool 2 503 504 -brif 505 L4027 L4028 -label L4027 +brif 505 L3948 L3949 +label L3948 load 506 arg_regs load 507 store_value_pos call 508 pith_list_get_value_strict int 2 506 507 load 509 store_kind call 510 ir_ownership_ir_rc_retain_reg void 2 508 509 -jmp L4026 -label L4028 -label L4026 -jmp L4019 -label L4025 +jmp L3947 +label L3949 +label L3947 +jmp L3940 +label L3946 load 511 store_kind call 512 ir_emitter_core_ir_container_store_takes_count bool 1 511 -brif 512 L4029 L4030 -label L4029 +brif 512 L3950 L3951 +label L3950 load 513 owned_store load 514 emit_name call 515 ir_emitter_core_ir_owned_container_store_name string 1 514 @@ -181773,51 +180918,51 @@ load 517 owned_store call 518 string_len int 1 517 iconst 519 0 gt 520 518 519 -brif 520 L4032 L4033 -label L4032 +brif 520 L3953 L3954 +label L3953 load 521 call_name load 522 owned_store call 523 pith_cstring_retain void 1 522 call 524 pith_cstring_release void 1 521 store call_name 522 -jmp L4031 -label L4033 -label L4031 -jmp L4019 -label L4030 -label L4019 -jmp L4011 -label L4013 -label L4011 -jmp L4006 -label L4008 -label L4006 -jmp L4003 -label L4005 -label L4003 +jmp L3952 +label L3954 +label L3952 +jmp L3940 +label L3951 +label L3940 +jmp L3932 +label L3934 +label L3932 +jmp L3927 +label L3929 +label L3927 +jmp L3924 +label L3926 +label L3924 iconst 525 0 -store __and_525_4037 525 +store __and_525_3958 525 load 526 impl_dispatch iconst 528 1 sub 527 528 526 -store __and_525_4037 527 -brif 527 L4037 L4038 -label L4037 +store __and_525_3958 527 +brif 527 L3958 L3959 +label L3958 load 529 obj_type call 530 ir_metadata_ir_obj_type_is_primitive bool 1 529 -store __and_525_4037 530 -label L4038 -load 531 __and_525_4037 -brif 531 L4035 L4036 -label L4035 +store __and_525_3958 530 +label L3959 +load 531 __and_525_3958 +brif 531 L3956 L3957 +label L3956 load 532 call_name load 533 call_name call 534 ir_metadata_ir_primitive_method_call_name string 1 533 call 535 pith_cstring_release void 1 532 store call_name 534 -jmp L4034 -label L4036 -label L4034 +jmp L3955 +label L3957 +label L3955 load 536 call_args load 537 obj_r load 538 arg_regs @@ -181825,22 +180970,22 @@ call 539 ir_call_helpers_ir_method_call_arg_regs list 2 537 538 call 540 pith_list_release_handle void 1 536 store call_args 539 iconst 541 0 -store __and_541_4042 541 +store __and_541_3963 541 load 542 emit_name -strref 543 m51s702 +strref 543 m51s703 call 544 pith_cstring_eq bool 2 542 543 call 545 pith_cstring_release void 1 543 -store __and_541_4042 544 -brif 544 L4042 L4043 -label L4042 +store __and_541_3963 544 +brif 544 L3963 L3964 +label L3963 load 546 impl_dispatch iconst 548 1 sub 547 548 546 -store __and_541_4042 547 -label L4043 -load 549 __and_541_4042 -brif 549 L4040 L4041 -label L4040 +store __and_541_3963 547 +label L3964 +load 549 __and_541_3963 +brif 549 L3961 L3962 +label L3961 load 550 obj_r load 551 node call 552 pith_struct_release void 1 551 @@ -181881,8 +181026,8 @@ call 586 pith_cstring_release void 1 585 load 587 recv_kind call 588 pith_cstring_release void 1 587 ret 550 -label L4041 -label L4039 +label L3962 +label L3960 load 589 call_arg_text load 590 call_args call 591 ir_call_helpers_ir_join_arg_regs string 1 590 @@ -181894,8 +181039,8 @@ store call_arg_count 594 load 595 store_tag_r iconst 596 0 gte 597 595 596 -brif 597 L4045 L4046 -label L4045 +brif 597 L3966 L3967 +label L3966 load 598 call_arg_text load 599 call_arg_text strref 600 m51s344 @@ -181912,14 +181057,14 @@ load 609 call_arg_count iconst 610 1 add 611 609 610 store call_arg_count 611 -jmp L4044 -label L4046 -label L4044 +jmp L3965 +label L3967 +label L3965 load 612 ir_result_abi_ir_result_reg_funcs load 613 call_name call 614 contains_key bool 2 612 613 -brif 614 L4048 L4049 -label L4048 +brif 614 L3969 L3970 +label L3969 load 615 idx store ir_emitter_core_ir_rcall_current_idx 615 load 616 r @@ -181932,30 +181077,30 @@ iconst 621 0 iconst 622 1 sub 623 621 622 store ir_emitter_core_ir_rcall_current_idx 623 -jmp L4047 -label L4049 +jmp L3968 +label L3970 load 624 r load 625 call_name load 626 ret_type load 627 call_arg_count load 628 call_arg_text call 629 ir_call_emit_ir_emit_call_text void 5 624 625 626 627 628 -label L4047 +label L3968 iconst 630 0 -store __and_630_4053 630 +store __and_630_3974 630 load 631 impl_dispatch iconst 633 1 sub 632 633 631 -store __and_630_4053 632 -brif 632 L4053 L4054 -label L4053 +store __and_630_3974 632 +brif 632 L3974 L3975 +label L3974 load 634 emit_name call 635 ir_emitter_core_ir_method_result_retains_over_args bool 1 634 -store __and_630_4053 635 -label L4054 -load 636 __and_630_4053 -brif 636 L4051 L4052 -label L4051 +store __and_630_3974 635 +label L3975 +load 636 __and_630_3974 +brif 636 L3972 L3973 +label L3972 load 637 r load 638 idx call 639 ir_emitter_core_ir_infer_type string 1 638 @@ -181963,9 +181108,9 @@ call 640 ir_struct_registry_ir_rc_kind string 1 639 call 641 pith_cstring_release void 1 639 call 642 ir_ownership_ir_rc_retain_reg void 2 637 640 call 643 pith_cstring_release void 1 640 -jmp L4050 -label L4052 -label L4050 +jmp L3971 +label L3973 +label L3971 load 644 node load 645 arg_regs load 646 store_value_pos @@ -181975,8 +181120,8 @@ field 649 648 16 list children call 650 pith_list_len int 1 649 iconst 651 0 gt 652 650 651 -brif 652 L4056 L4057 -label L4056 +brif 652 L3977 L3978 +label L3977 load 653 node field 654 653 16 list children iconst 655 0 @@ -181990,91 +181135,91 @@ call 661 pith_cstring_release void 1 659 call 662 pith_cstring_release void 1 657 store recv_kind 660 iconst 663 0 -store __and_663_4061 663 +store __and_663_3982 663 load 664 recv_kind call 665 string_len int 1 664 iconst 666 0 gt 667 665 666 -store __and_663_4061 667 -brif 667 L4061 L4062 -label L4061 +store __and_663_3982 667 +brif 667 L3982 L3983 +label L3982 load 668 recv_idx call 669 ir_emitter_core_ir_string_expr_is_borrowed bool 1 668 iconst 671 1 sub 670 671 669 -store __and_663_4061 670 -label L4062 -load 672 __and_663_4061 -brif 672 L4059 L4060 -label L4059 +store __and_663_3982 670 +label L3983 +load 672 __and_663_3982 +brif 672 L3980 L3981 +label L3980 load 673 emit_name call 674 ir_metadata_ir_is_void_method bool 1 673 iconst 676 1 sub 675 676 674 -brif 675 L4064 L4065 -label L4064 +brif 675 L3985 L3986 +label L3985 load 677 obj_r load 678 recv_kind call 679 ir_ownership_ir_rc_release_reg void 2 677 678 -jmp L4063 -label L4065 -label L4063 -jmp L4058 -label L4060 -label L4058 -jmp L4055 -label L4057 -label L4055 +jmp L3984 +label L3986 +label L3984 +jmp L3979 +label L3981 +label L3979 +jmp L3976 +label L3978 +label L3976 iconst 680 0 -store __and_680_4069 680 +store __and_680_3990 680 iconst 681 0 -store __and_681_4069 681 +store __and_681_3990 681 load 682 uses_result_abi -store __and_681_4069 682 -brif 682 L4069 L4070 -label L4069 +store __and_681_3990 682 +brif 682 L3990 L3991 +label L3990 load 683 ret_type strref 684 m51s23 call 686 pith_cstring_eq bool 2 683 684 iconst 687 1 sub 685 687 686 call 688 pith_cstring_release void 1 684 -store __and_681_4069 685 -label L4070 -load 689 __and_681_4069 -store __and_680_4069 689 -brif 689 L4071 L4072 -label L4071 +store __and_681_3990 685 +label L3991 +load 689 __and_681_3990 +store __and_680_3990 689 +brif 689 L3992 L3993 +label L3992 load 690 idx call 691 ir_type_helpers_ir_checked_result_kind string 1 690 strref 692 m51s23 call 693 pith_cstring_eq bool 2 691 692 call 694 pith_cstring_release void 1 691 call 695 pith_cstring_release void 1 692 -store __and_680_4069 693 -label L4072 -load 696 __and_680_4069 -brif 696 L4067 L4068 -label L4067 +store __and_680_3990 693 +label L3993 +load 696 __and_680_3990 +brif 696 L3988 L3989 +label L3988 iconst 697 0 -store __and_697_4076 697 +store __and_697_3997 697 load 698 ret_type -strref 699 m51s713 +strref 699 m51s714 call 701 pith_cstring_eq bool 2 698 699 iconst 702 1 sub 700 702 701 call 703 pith_cstring_release void 1 699 -store __and_697_4076 700 -brif 700 L4076 L4077 -label L4076 +store __and_697_3997 700 +brif 700 L3997 L3998 +label L3997 load 704 idx load 705 ir_emitter_core_ir_rcall_defer_idx eq 706 704 705 -store __and_697_4076 706 -label L4077 -load 707 __and_697_4076 -brif 707 L4074 L4075 -label L4074 +store __and_697_3997 706 +label L3998 +load 707 __and_697_3997 +brif 707 L3995 L3996 +label L3995 load 708 r load 709 ret_type load 710 emit_name @@ -182118,8 +181263,8 @@ call 747 pith_cstring_release void 1 746 load 748 recv_kind call 749 pith_cstring_release void 1 748 ret 711 -label L4075 -label L4073 +label L3996 +label L3994 load 750 r load 751 ret_type load 752 emit_name @@ -182163,12 +181308,12 @@ call 789 pith_cstring_release void 1 788 load 790 recv_kind call 791 pith_cstring_release void 1 790 ret 753 -label L4068 -label L4066 +label L3989 +label L3987 load 792 emit_name call 793 ir_metadata_ir_is_void_method bool 1 792 -brif 793 L4079 L4080 -label L4079 +brif 793 L4000 L4001 +label L4000 load 794 obj_r load 795 node call 796 pith_struct_release void 1 795 @@ -182209,8 +181354,8 @@ call 830 pith_cstring_release void 1 829 load 831 recv_kind call 832 pith_cstring_release void 1 831 ret 794 -label L4080 -label L4078 +label L4001 +label L3999 load 833 r load 834 node call 835 pith_struct_release void 1 834 @@ -182308,8 +181453,8 @@ field 8 7 0 string kind strref 9 m51s521 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4082 L4083 -label L4082 +brif 10 L4003 L4004 +label L4003 load 12 si load 13 cn field 14 13 8 string value @@ -182339,15 +181484,15 @@ call 35 pith_struct_release void 1 34 load 36 si call 37 pith_cstring_release void 1 36 ret 33 -label L4083 -label L4081 +label L4004 +label L4002 load 38 cn field 39 38 0 string kind strref 40 m51s522 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L4085 L4086 -label L4085 +brif 41 L4006 L4007 +label L4006 load 43 cn call 44 ir_emitter_core_ir_emit_interp_spec_part int 1 43 load 45 cn @@ -182355,8 +181500,8 @@ call 46 pith_struct_release void 1 45 load 47 si call 48 pith_cstring_release void 1 47 ret 44 -label L4086 -label L4084 +label L4007 +label L4005 load 49 child call 50 ir_emitter_core_ir_string_interp_expr_part int 1 49 load 51 cn @@ -182385,47 +181530,47 @@ field 7 6 0 string kind strref 8 m51s522 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L4088 L4089 -label L4088 +brif 9 L4009 L4010 +label L4009 iconst 11 1 load 12 cn call 13 pith_struct_release void 1 12 ret 11 -label L4089 -label L4087 +label L4010 +label L4008 load 14 cn field 15 14 0 string kind strref 16 m51s521 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L4091 L4092 -label L4091 +brif 17 L4012 L4013 +label L4012 iconst 19 1 load 20 cn call 21 pith_struct_release void 1 20 ret 19 -label L4092 -label L4090 +label L4013 +label L4011 iconst 22 0 -store __or_22_4093 22 +store __or_22_4014 22 load 23 child call 24 ir_emitter_core_ir_infer_type string 1 23 -strref 25 m51s716 +strref 25 m51s717 call 27 pith_cstring_eq bool 2 24 25 iconst 28 1 sub 26 28 27 call 29 pith_cstring_release void 1 24 call 30 pith_cstring_release void 1 25 -store __or_22_4093 26 -brif 26 L4094 L4093 -label L4093 +store __or_22_4014 26 +brif 26 L4015 L4014 +label L4014 load 31 child call 32 ir_emitter_core_ir_string_expr_is_borrowed bool 1 31 iconst 34 1 sub 33 34 32 -store __or_22_4093 33 -label L4094 -load 35 __or_22_4093 +store __or_22_4014 33 +label L4015 +load 35 __or_22_4014 load 36 cn call 37 pith_struct_release void 1 36 ret 35 @@ -182459,13 +181604,13 @@ field 14 13 16 list children call 15 pith_list_retain_handle void 1 14 call 16 pith_list_release_handle void 1 12 store kids4_children 14 -label L4095 +label L4016 load 17 _fi4 load 18 kids4_children call 19 pith_list_len int 1 18 lt 20 17 19 -brif 20 L4096 L4097 -label L4096 +brif 20 L4017 L4018 +label L4017 load 21 kids4_children load 22 _fi4 call 23 pith_list_get_value_strict int 2 21 22 @@ -182479,14 +181624,14 @@ store part_owned 27 load 28 result_r iconst 29 0 lt 30 28 29 -brif 30 L4099 L4100 -label L4099 +brif 30 L4020 L4021 +label L4020 load 31 part_r store result_r 31 load 32 part_owned store result_owned 32 -jmp L4098 -label L4100 +jmp L4019 +label L4021 call 33 ir_builder_ir_reg int 0 store nr 33 strref 34 m51s1269 @@ -182516,37 +181661,37 @@ call 57 pith_cstring_release void 1 54 call 58 ir_builder_ir_emit void 1 55 call 59 pith_cstring_release void 1 55 load 60 result_owned -brif 60 L4102 L4103 -label L4102 +brif 60 L4023 L4024 +label L4023 load 61 result_r call 62 ir_ownership_ir_string_release_reg void 1 61 -jmp L4101 -label L4103 -label L4101 +jmp L4022 +label L4024 +label L4022 load 63 part_owned -brif 63 L4105 L4106 -label L4105 +brif 63 L4026 L4027 +label L4026 load 64 part_r call 65 ir_ownership_ir_string_release_reg void 1 64 -jmp L4104 -label L4106 -label L4104 +jmp L4025 +label L4027 +label L4025 load 66 nr store result_r 66 iconst 67 1 store result_owned 67 -label L4098 +label L4019 load 68 _fi4 iconst 69 1 add 70 68 69 store _fi4 70 -jmp L4095 -label L4097 +jmp L4016 +label L4018 load 71 result_r iconst 72 0 lt 73 71 72 -brif 73 L4108 L4109 -label L4108 +brif 73 L4029 L4030 +label L4029 call 74 ir_builder_ir_reg int 0 store result_r 74 strref 75 m51s936 @@ -182569,19 +181714,19 @@ call 91 ir_builder_ir_emit void 1 88 call 92 pith_cstring_release void 1 88 iconst 93 1 store result_owned 93 -jmp L4107 -label L4109 -label L4107 +jmp L4028 +label L4030 +label L4028 load 94 result_owned iconst 96 1 sub 95 96 94 -brif 95 L4111 L4112 -label L4111 +brif 95 L4032 L4033 +label L4032 load 97 result_r call 98 ir_ownership_ir_string_retain_reg void 1 97 -jmp L4110 -label L4112 -label L4110 +jmp L4031 +label L4033 +label L4031 load 99 result_r load 100 node call 101 pith_struct_release void 1 100 @@ -182613,13 +181758,13 @@ sub 9 7 8 store body_idx 9 iconst 10 0 store i 10 -label L4113 +label L4034 load 11 i load 12 idx call 13 ast_node_child_count int 1 12 lt 14 11 13 -brif 14 L4114 L4115 -label L4114 +brif 14 L4035 L4036 +label L4035 load 15 idx load 16 i call 17 ast_node_child int 2 15 16 @@ -182634,45 +181779,45 @@ field 23 22 0 string kind strref 24 m51s69 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4117 L4118 -label L4117 +brif 25 L4038 L4039 +label L4038 load 27 params load 28 cn field 29 28 8 string value call 30 pith_list_push_value void 2 27 29 -jmp L4116 -label L4118 +jmp L4037 +label L4039 iconst 31 0 -store __or_31_4121 31 +store __or_31_4042 31 load 32 cn field 33 32 0 string kind strref 34 m51s66 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_31_4121 35 -brif 35 L4122 L4121 -label L4121 +store __or_31_4042 35 +brif 35 L4043 L4042 +label L4042 load 37 cn field 38 37 0 string kind strref 39 m51s65 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_31_4121 40 -label L4122 -load 42 __or_31_4121 -brif 42 L4119 L4120 -label L4119 +store __or_31_4042 40 +label L4043 +load 42 __or_31_4042 +brif 42 L4040 L4041 +label L4040 load 43 child store body_idx 43 -jmp L4116 -label L4120 -label L4116 +jmp L4037 +label L4041 +label L4037 load 44 i iconst 45 1 add 46 44 45 store i 46 -jmp L4113 -label L4115 +jmp L4034 +label L4036 load 47 captures call 48 pith_list_new_cstr list 0 call 49 pith_list_release_handle void 1 47 @@ -182680,17 +181825,17 @@ store captures 48 load 50 body_idx iconst 51 0 gte 52 50 51 -brif 52 L4124 L4125 -label L4124 +brif 52 L4045 L4046 +label L4045 load 53 captures load 54 body_idx load 55 params call 56 ir_emitter_core_ir_find_free_vars list_string 2 54 55 call 57 pith_list_release_handle void 1 53 store captures 56 -jmp L4123 -label L4125 -label L4123 +jmp L4044 +label L4046 +label L4044 load 58 params call 59 pith_list_retain_handle void 1 58 load 60 body_idx @@ -182737,38 +181882,38 @@ param params load 1 params call 2 pith_auto_len int 1 1 iconst 3 0 -store __for_idx_402 3 -store __for_len_402 2 -store __for_iter_402 1 -label L4126 -load 4 __for_idx_402 -load 5 __for_len_402 +store __for_idx_401 3 +store __for_len_401 2 +store __for_iter_401 1 +label L4047 +load 4 __for_idx_401 +load 5 __for_len_401 lt 6 4 5 -brif 6 L4127 L4129 -label L4127 -load 7 __for_iter_402 -load 8 __for_idx_402 +brif 6 L4048 L4050 +label L4048 +load 7 __for_iter_401 +load 8 __for_idx_401 call 9 pith_list_get_value_unchecked string 2 7 8 -store __loopvar_402_param 9 +store __loopvar_401_param 9 call 10 ir_builder_ir_reg int 0 store lr 10 load 11 ir_builder_ir_var_regs -load 12 __loopvar_402_param +load 12 __loopvar_401_param load 13 lr call 14 map_insert void 3 11 12 13 strref 15 m51s1243 -load 16 __loopvar_402_param +load 16 __loopvar_401_param concat 17 15 16 call 18 pith_cstring_release void 1 15 call 19 ir_builder_ir_emit void 1 17 call 20 pith_cstring_release void 1 17 -label L4128 -load 21 __for_idx_402 +label L4049 +load 21 __for_idx_401 iconst 22 1 add 23 21 22 -store __for_idx_402 23 -jmp L4126 -label L4129 +store __for_idx_401 23 +jmp L4047 +label L4050 iconst 24 0 ret 24 endfunc @@ -182778,30 +181923,30 @@ load 1 expr_idx call 2 ir_emitter_core_ir_expr int 1 1 store br 2 iconst 3 0 -store __and_3_4133 3 +store __and_3_4054 3 load 4 expr_idx call 5 ir_emitter_core_ir_infer_type string 1 4 -strref 6 m51s716 +strref 6 m51s717 call 7 pith_cstring_eq bool 2 5 6 call 8 pith_cstring_release void 1 5 call 9 pith_cstring_release void 1 6 -store __and_3_4133 7 -brif 7 L4133 L4134 -label L4133 +store __and_3_4054 7 +brif 7 L4054 L4055 +label L4054 load 10 expr_idx call 11 ir_emitter_core_ir_string_expr_is_borrowed bool 1 10 -store __and_3_4133 11 -label L4134 -load 12 __and_3_4133 -brif 12 L4131 L4132 -label L4131 +store __and_3_4054 11 +label L4055 +load 12 __and_3_4054 +brif 12 L4052 L4053 +label L4052 load 13 br -strref 14 m51s716 +strref 14 m51s717 call 15 ir_ownership_ir_rc_retain_reg void 2 13 14 call 16 pith_cstring_release void 1 14 -jmp L4130 -label L4132 -label L4130 +jmp L4051 +label L4053 +label L4051 strref 17 m51s925 load 18 br call 19 int_to_string string 1 18 @@ -182818,54 +181963,54 @@ param body_idx load 1 body_idx iconst 2 0 lt 3 1 2 -brif 3 L4136 L4137 -label L4136 +brif 3 L4057 L4058 +label L4057 iconst 4 0 ret 4 -label L4137 -label L4135 +label L4058 +label L4056 iconst 5 0 -store __and_5_4141 5 +store __and_5_4062 5 load 6 body_idx call 7 ast_node_kind string 1 6 strref 8 m51s66 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 7 call 11 pith_cstring_release void 1 8 -store __and_5_4141 9 -brif 9 L4141 L4142 -label L4141 +store __and_5_4062 9 +brif 9 L4062 L4063 +label L4062 load 12 body_idx call 13 ast_node_child_count int 1 12 iconst 14 0 gt 15 13 14 -store __and_5_4141 15 -label L4142 -load 16 __and_5_4141 -brif 16 L4139 L4140 -label L4139 +store __and_5_4062 15 +label L4063 +load 16 __and_5_4062 +brif 16 L4060 L4061 +label L4060 load 17 body_idx iconst 18 0 call 19 ast_node_child int 2 17 18 call 20 ir_emitter_core_ir_emit_lambda_expr_return void 1 19 iconst 21 0 ret 21 -label L4140 -label L4138 +label L4061 +label L4059 load 22 body_idx call 23 ast_node_kind string 1 22 strref 24 m51s65 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 23 call 27 pith_cstring_release void 1 24 -brif 25 L4144 L4145 -label L4144 +brif 25 L4065 L4066 +label L4065 load 28 body_idx call 29 ir_emitter_core_ir_block int 1 28 iconst 30 0 ret 30 -label L4145 -label L4143 +label L4066 +label L4064 load 31 body_idx call 32 ir_emitter_core_ir_emit_lambda_expr_return void 1 31 iconst 33 0 @@ -182972,36 +182117,36 @@ load 33 parts field 34 33 16 list_string captures call 35 pith_auto_len int 1 34 iconst 36 0 -store __for_idx_403 36 -store __for_len_403 35 -store __for_iter_403 34 -label L4146 -load 37 __for_idx_403 -load 38 __for_len_403 +store __for_idx_402 36 +store __for_len_402 35 +store __for_iter_402 34 +label L4067 +load 37 __for_idx_402 +load 38 __for_len_402 lt 39 37 38 -brif 39 L4147 L4149 -label L4147 -load 40 __for_iter_403 -load 41 __for_idx_403 +brif 39 L4068 L4070 +label L4068 +load 40 __for_iter_402 +load 41 __for_idx_402 call 42 pith_list_get_value_unchecked string 2 40 41 -store __loopvar_403_cap 42 -load 43 __loopvar_403_cap +store __loopvar_402_cap 42 +load 43 __loopvar_402_cap call 44 ir_emitter_core_ir_name_is_weak_read bool 1 43 -brif 44 L4151 L4152 -label L4151 +brif 44 L4072 L4073 +label L4072 load 45 lambda_weak_caps -load 46 __loopvar_403_cap +load 46 __loopvar_402_cap call 47 pith_list_push_value void 2 45 46 -jmp L4150 -label L4152 -label L4150 -label L4148 -load 48 __for_idx_403 +jmp L4071 +label L4073 +label L4071 +label L4069 +load 48 __for_idx_402 iconst 49 1 add 50 48 49 -store __for_idx_403 50 -jmp L4146 -label L4149 +store __for_idx_402 50 +jmp L4067 +label L4070 load 51 saved_builder call 52 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 53 pith_struct_release void 1 51 @@ -183082,7 +182227,7 @@ field 107 106 0 list_string params call 108 pith_list_len int 1 107 iconst 109 1 add 110 108 109 -strref 111 m51s869 +strref 111 m51s870 call 112 ir_emitter_core_ir_emit_func_header void 3 105 110 111 call 113 pith_cstring_release void 1 111 call 114 ir_emitter_core_ir_emit_lambda_hidden_param void 0 @@ -183255,8 +182400,8 @@ field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -brif 32 L4154 L4155 -label L4154 +brif 32 L4075 L4076 +label L4075 load 33 callee load 34 call_node field 35 34 16 list children @@ -183270,8 +182415,8 @@ field 41 40 0 string name call 42 string_len int 1 41 iconst 43 0 eq 44 42 43 -brif 44 L4157 L4158 -label L4157 +brif 44 L4078 L4079 +label L4078 load 45 captures load 46 call_node field 47 46 16 list children @@ -183282,19 +182427,19 @@ call 51 ir_emitter_core_ir_find_free_vars list_string 2 49 50 call 52 pith_list_release_handle void 1 50 call 53 pith_list_release_handle void 1 45 store captures 51 -jmp L4156 -label L4158 -label L4156 +jmp L4077 +label L4079 +label L4077 iconst 54 1 store i 54 -label L4159 +label L4080 load 55 i load 56 call_node field 57 56 16 list children call 58 pith_list_len int 1 57 lt 59 55 58 -brif 59 L4160 L4161 -label L4160 +brif 59 L4081 L4082 +label L4081 load 60 free_in_arg load 61 call_node field 62 61 16 list children @@ -183307,13 +182452,13 @@ call 68 pith_list_release_handle void 1 60 store free_in_arg 66 iconst 69 0 store j 69 -label L4162 +label L4083 load 70 j load 71 free_in_arg call 72 pith_list_len int 1 71 lt 73 70 72 -brif 73 L4163 L4164 -label L4163 +brif 73 L4084 L4085 +label L4084 load 74 captures load 75 free_in_arg load 76 j @@ -183321,31 +182466,31 @@ call 77 pith_list_get_value_strict string 2 75 76 call 78 ir_ast_helpers_ir_list_contains bool 2 74 77 iconst 80 1 sub 79 80 78 -brif 79 L4166 L4167 -label L4166 +brif 79 L4087 L4088 +label L4087 load 81 captures load 82 free_in_arg load 83 j call 84 pith_list_get_value_strict string 2 82 83 call 85 pith_list_push_value void 2 81 84 -jmp L4165 -label L4167 -label L4165 +jmp L4086 +label L4088 +label L4086 load 86 j iconst 87 1 add 88 86 87 store j 88 -jmp L4162 -label L4164 +jmp L4083 +label L4085 load 89 i iconst 90 1 add 91 89 90 store i 91 -jmp L4159 -label L4161 -jmp L4153 -label L4155 -label L4153 +jmp L4080 +label L4082 +jmp L4074 +label L4076 +label L4074 load 92 saved_builder call 93 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 94 pith_struct_release void 1 92 @@ -183368,7 +182513,7 @@ store saved_loop_var_slots 104 call 107 ir_emitter_core_ir_reset_lambda_emit_state void 0 load 108 wrapper_name iconst 109 1 -strref 110 m51s869 +strref 110 m51s870 call 111 ir_emitter_core_ir_emit_func_header void 3 108 109 110 call 112 pith_cstring_release void 1 110 call 113 ir_emitter_core_ir_emit_lambda_hidden_param void 0 @@ -183457,38 +182602,38 @@ param name load 1 ir_alias_registry_ir_import_renames load 2 name call 3 contains_key bool 2 1 2 -brif 3 L4169 L4170 -label L4169 +brif 3 L4090 L4091 +label L4090 load 4 ir_alias_registry_ir_import_renames load 5 name call 6 map_get_strict string 2 4 5 call 7 pith_cstring_retain void 1 6 ret 6 -label L4170 -label L4168 +label L4091 +label L4089 iconst 8 0 -store __and_8_4174 8 +store __and_8_4095 8 load 9 ir_alias_registry_ir_active_generic_module_path call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -store __and_8_4174 12 -brif 12 L4174 L4175 -label L4174 +store __and_8_4095 12 +brif 12 L4095 L4096 +label L4095 load 13 ir_alias_registry_ir_active_generic_module_path load 14 name call 15 ir_alias_registry_ir_import_declares_global bool 2 13 14 -store __and_8_4174 15 -label L4175 -load 16 __and_8_4174 -brif 16 L4172 L4173 -label L4172 +store __and_8_4095 15 +label L4096 +load 16 __and_8_4095 +brif 16 L4093 L4094 +label L4093 load 17 ir_alias_registry_ir_active_generic_module_path load 18 name call 19 ir_names_ir_import_target_name string 2 17 18 ret 19 -label L4173 -label L4171 +label L4094 +label L4092 load 20 name call 21 pith_cstring_retain void 1 20 ret 20 @@ -183501,27 +182646,27 @@ param name iconst 2 0 store callee 2 iconst 3 0 -store __or_3_4179 3 +store __or_3_4100 3 load 4 ir_builder_ir_var_regs load 5 name call 6 contains_key bool 2 4 5 -store __or_3_4179 6 -brif 6 L4180 L4179 -label L4179 +store __or_3_4100 6 +brif 6 L4101 L4100 +label L4100 load 7 ir_builder_ir_var_types load 8 name call 9 contains_key bool 2 7 8 -store __or_3_4179 9 -label L4180 -load 10 __or_3_4179 -brif 10 L4177 L4178 -label L4177 +store __or_3_4100 9 +label L4101 +load 10 __or_3_4100 +brif 10 L4098 L4099 +label L4098 iconst 11 0 load 12 callee call 13 pith_struct_release void 1 12 ret 11 -label L4178 -label L4176 +label L4099 +label L4097 load 14 callee load 15 name call 16 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 15 @@ -183554,8 +182699,8 @@ field 8 7 0 string kind strref 9 m51s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4182 L4183 -label L4182 +brif 10 L4103 L4104 +label L4103 load 12 idx load 13 node field 14 13 8 string value @@ -183565,28 +182710,28 @@ call 17 pith_struct_release void 1 16 load 18 recv_node call 19 pith_struct_release void 1 18 ret 15 -label L4183 -label L4181 +label L4104 +label L4102 iconst 20 0 -store __and_20_4187 20 +store __and_20_4108 20 load 21 node field 22 21 0 string kind strref 23 m51s36 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_4187 24 -brif 24 L4187 L4188 -label L4187 +store __and_20_4108 24 +brif 24 L4108 L4109 +label L4108 load 26 node field 27 26 16 list children call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_20_4187 30 -label L4188 -load 31 __and_20_4187 -brif 31 L4185 L4186 -label L4185 +store __and_20_4108 30 +label L4109 +load 31 __and_20_4108 +brif 31 L4106 L4107 +label L4106 load 32 recv_node load 33 node field 34 33 16 list children @@ -183596,45 +182741,45 @@ call 37 ast_get_node struct:Node 1 36 call 38 pith_struct_release void 1 32 store recv_node 37 iconst 39 0 -store __and_39_4192 39 +store __and_39_4113 39 load 40 recv_node field 41 40 0 string kind strref 42 m51s37 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -store __and_39_4192 43 -brif 43 L4192 L4193 -label L4192 +store __and_39_4113 43 +brif 43 L4113 L4114 +label L4113 load 45 ir_alias_registry_ir_module_aliases load 46 recv_node field 47 46 8 string value call 48 contains_key bool 2 45 47 -store __and_39_4192 48 -label L4193 -load 49 __and_39_4192 +store __and_39_4113 48 +label L4114 +load 49 __and_39_4113 iconst 51 1 sub 50 51 49 -brif 50 L4190 L4191 -label L4190 +brif 50 L4111 L4112 +label L4111 iconst 52 0 load 53 node call 54 pith_struct_release void 1 53 load 55 recv_node call 56 pith_struct_release void 1 55 ret 52 -label L4191 -label L4189 +label L4112 +label L4110 load 57 idx call 58 checker_c_get_expr_type int 1 57 store expr_tid 58 iconst 59 0 -store __or_59_4197 59 +store __or_59_4118 59 load 60 expr_tid iconst 61 0 lt 62 60 61 -store __or_59_4197 62 -brif 62 L4198 L4197 -label L4197 +store __or_59_4118 62 +brif 62 L4119 L4118 +label L4118 load 63 expr_tid call 64 types_get_type_info struct:TypeInfo 1 63 field 65 64 0 string kind @@ -183643,19 +182788,19 @@ call 68 pith_cstring_eq bool 2 65 66 iconst 69 1 sub 67 69 68 call 70 pith_cstring_release void 1 66 -store __or_59_4197 67 -label L4198 -load 71 __or_59_4197 -brif 71 L4195 L4196 -label L4195 +store __or_59_4118 67 +label L4119 +load 71 __or_59_4118 +brif 71 L4116 L4117 +label L4116 iconst 72 0 load 73 node call 74 pith_struct_release void 1 73 load 75 recv_node call 76 pith_struct_release void 1 75 ret 72 -label L4196 -label L4194 +label L4117 +label L4115 load 77 idx call 78 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 77 field 79 78 0 string name @@ -183667,8 +182812,8 @@ call 84 pith_struct_release void 1 83 load 85 recv_node call 86 pith_struct_release void 1 85 ret 82 -label L4186 -label L4184 +label L4107 +label L4105 iconst 87 0 load 88 node call 89 pith_struct_release void 1 88 @@ -183708,8 +182853,8 @@ store arg_regs 11 load 12 ir_emitter_core_ir_named_fn_value_wrappers load 13 target_name call 14 contains_key bool 2 12 13 -brif 14 L4200 L4201 -label L4200 +brif 14 L4121 L4122 +label L4121 load 15 ir_emitter_core_ir_named_fn_value_wrappers load 16 target_name call 17 map_get_strict string 2 15 16 @@ -183735,8 +182880,8 @@ call 36 pith_cstring_release void 1 35 load 37 arg_regs call 38 pith_list_release_handle void 1 37 ret 17 -label L4201 -label L4199 +label L4122 +label L4120 load 39 wrapper_name strref 40 m51s1266 load 41 ir_emitter_core_ir_lambda_count @@ -183767,15 +182912,15 @@ load 60 ret_type call 61 string_len int 1 60 iconst 62 0 eq 63 61 62 -brif 63 L4203 L4204 -label L4203 +brif 63 L4124 L4125 +label L4124 load 64 ret_type -strref 65 m51s869 +strref 65 m51s870 call 66 pith_cstring_release void 1 64 store ret_type 65 -jmp L4202 -label L4204 -label L4202 +jmp L4123 +label L4125 +label L4123 load 67 saved_builder call 68 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 69 pith_struct_release void 1 67 @@ -183803,17 +182948,17 @@ field 85 84 0 string kind strref 86 m51s24 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L4206 L4207 -label L4206 +brif 87 L4127 L4128 +label L4127 load 89 info field 90 89 48 list param_types call 91 pith_list_len int 1 90 iconst 92 1 add 93 91 92 store param_count 93 -jmp L4205 -label L4207 -label L4205 +jmp L4126 +label L4128 +label L4126 load 94 wrapper_name load 95 param_count load 96 ret_type @@ -183828,18 +182973,18 @@ field 103 102 0 string kind strref 104 m51s24 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L4209 L4210 -label L4209 +brif 105 L4130 L4131 +label L4130 iconst 107 0 store i 107 -label L4211 +label L4132 load 108 i load 109 info field 110 109 48 list param_types call 111 pith_list_len int 1 110 lt 112 108 111 -brif 112 L4212 L4213 -label L4212 +brif 112 L4133 L4134 +label L4133 load 113 arg_name strref 114 m51s1265 load 115 i @@ -183860,11 +183005,11 @@ load 128 i iconst 129 1 add 130 128 129 store i 130 -jmp L4211 -label L4213 -jmp L4208 -label L4210 -label L4208 +jmp L4132 +label L4134 +jmp L4129 +label L4131 +label L4129 load 131 arg_regs call 132 pith_list_new_default list 0 call 133 pith_list_release_handle void 1 131 @@ -183872,19 +183017,19 @@ store arg_regs 132 load 134 arg_names call 135 pith_auto_len int 1 134 iconst 136 0 -store __for_idx_404 136 -store __for_len_404 135 -store __for_iter_404 134 -label L4214 -load 137 __for_idx_404 -load 138 __for_len_404 +store __for_idx_403 136 +store __for_len_403 135 +store __for_iter_403 134 +label L4135 +load 137 __for_idx_403 +load 138 __for_len_403 lt 139 137 138 -brif 139 L4215 L4217 -label L4215 -load 140 __for_iter_404 -load 141 __for_idx_404 +brif 139 L4136 L4138 +label L4136 +load 140 __for_iter_403 +load 141 __for_idx_403 call 142 pith_list_get_value_unchecked string 2 140 141 -store __loopvar_404_arg_name 142 +store __loopvar_403_arg_name 142 call 143 ir_builder_ir_reg int 0 store arg_r 143 strref 144 m51s877 @@ -183897,7 +183042,7 @@ strref 150 m51s344 concat 151 147 150 call 152 pith_cstring_release void 1 147 call 153 pith_cstring_release void 1 150 -load 154 __loopvar_404_arg_name +load 154 __loopvar_403_arg_name concat 155 151 154 call 156 pith_cstring_release void 1 151 call 157 ir_builder_ir_emit void 1 155 @@ -183905,19 +183050,19 @@ call 158 pith_cstring_release void 1 155 load 159 arg_regs load 160 arg_r call 161 pith_list_push_value void 2 159 160 -label L4216 -load 162 __for_idx_404 +label L4137 +load 162 __for_idx_403 iconst 163 1 add 164 162 163 -store __for_idx_404 164 -jmp L4214 -label L4217 +store __for_idx_403 164 +jmp L4135 +label L4138 load 165 ret_type strref 166 m51s876 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L4219 L4220 -label L4219 +brif 167 L4140 L4141 +label L4140 call 169 ir_builder_ir_reg int 0 store call_r 169 load 170 call_r @@ -183952,15 +183097,15 @@ call 197 pith_cstring_release void 1 193 call 198 pith_cstring_release void 1 195 call 199 ir_builder_ir_emit void 1 196 call 200 pith_cstring_release void 1 196 -jmp L4218 -label L4220 +jmp L4139 +label L4141 call 201 ir_builder_ir_reg int 0 store call_r 201 load 202 ir_result_abi_ir_result_reg_funcs load 203 target_name call 204 contains_key bool 2 202 203 -brif 204 L4222 L4223 -label L4222 +brif 204 L4143 L4144 +label L4143 load 205 call_r load 206 target_name load 207 arg_regs @@ -183970,8 +183115,8 @@ call 210 ir_call_helpers_ir_join_arg_regs string 1 209 call 211 ir_emitter_core_ir_emit_result_reg_call int 4 205 206 208 210 call 212 pith_cstring_release void 1 210 store call_r 211 -jmp L4221 -label L4223 +jmp L4142 +label L4144 load 213 call_r load 214 target_name load 215 ret_type @@ -183981,7 +183126,7 @@ load 218 arg_regs call 219 ir_call_helpers_ir_join_arg_regs string 1 218 call 220 ir_call_emit_ir_emit_call_text void 5 213 214 215 217 219 call 221 pith_cstring_release void 1 219 -label L4221 +label L4142 strref 222 m51s925 load 223 call_r call 224 int_to_string string 1 223 @@ -183990,7 +183135,7 @@ call 226 pith_cstring_release void 1 222 call 227 pith_cstring_release void 1 224 call 228 ir_builder_ir_emit void 1 225 call 229 pith_cstring_release void 1 225 -label L4218 +label L4139 call 230 ir_emitter_core_ir_emit_lambda_default_return void 0 load 231 saved_builder load 232 saved_vars @@ -184058,8 +183203,8 @@ store r 4 load 5 idx load 6 name call 7 ir_emitter_core_ir_ident_is_function_value bool 2 5 6 -brif 7 L4225 L4226 -label L4225 +brif 7 L4146 L4147 +label L4146 load 8 callee load 9 name call 10 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 9 @@ -184093,15 +183238,15 @@ call 35 pith_struct_release void 1 34 load 36 wrapper_name call 37 pith_cstring_release void 1 36 ret 33 -label L4226 -label L4224 +label L4147 +label L4145 load 38 r load 39 name call 40 ir_emitter_core_ir_emit_name_load void 2 38 39 load 41 name call 42 ir_emitter_core_ir_name_is_weak_read bool 1 41 -brif 42 L4228 L4229 -label L4228 +brif 42 L4149 L4150 +label L4149 load 43 r call 44 ir_optionals_ir_emit_weak_read int 1 43 load 45 callee @@ -184109,8 +183254,8 @@ call 46 pith_struct_release void 1 45 load 47 wrapper_name call 48 pith_cstring_release void 1 47 ret 44 -label L4229 -label L4227 +label L4150 +label L4148 load 49 r load 50 callee call 51 pith_struct_release void 1 50 @@ -184131,57 +183276,57 @@ store an 1 load 2 arg_nodes call 3 pith_auto_len int 1 2 iconst 4 0 -store __for_idx_405 4 -store __for_len_405 3 -store __for_iter_405 2 -label L4230 -load 5 __for_idx_405 -load 6 __for_len_405 +store __for_idx_404 4 +store __for_len_404 3 +store __for_iter_404 2 +label L4151 +load 5 __for_idx_404 +load 6 __for_len_404 lt 7 5 6 -brif 7 L4231 L4233 -label L4231 -load 8 __for_iter_405 -load 9 __for_idx_405 +brif 7 L4152 L4154 +label L4152 +load 8 __for_iter_404 +load 9 __for_idx_404 call 10 pith_list_get_value unknown 2 8 9 -store __loopvar_405_an_idx 10 +store __loopvar_404_an_idx 10 load 11 an -load 12 __loopvar_405_an_idx +load 12 __loopvar_404_an_idx 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_4237 15 +store __and_15_4158 15 load 16 an field 17 16 0 string kind strref 18 m51s42 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_15_4237 19 -brif 19 L4237 L4238 -label L4237 +store __and_15_4158 19 +brif 19 L4158 L4159 +label L4158 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_4237 25 -label L4238 -load 26 __and_15_4237 -brif 26 L4235 L4236 -label L4235 +store __and_15_4158 25 +label L4159 +load 26 __and_15_4158 +brif 26 L4156 L4157 +label L4156 iconst 27 1 load 28 an call 29 pith_struct_release void 1 28 ret 27 -label L4236 -label L4234 -label L4232 -load 30 __for_idx_405 +label L4157 +label L4155 +label L4153 +load 30 __for_idx_404 iconst 31 1 add 32 30 31 -store __for_idx_405 32 -jmp L4230 -label L4233 +store __for_idx_404 32 +jmp L4151 +label L4154 iconst 33 0 load 34 an call 35 pith_struct_release void 1 34 @@ -184199,8 +183344,8 @@ store info 2 load 3 tid iconst 4 0 gte 5 3 4 -brif 5 L4240 L4241 -label L4240 +brif 5 L4161 L4162 +label L4161 load 6 info load 7 tid call 8 types_get_type_info struct:TypeInfo 1 7 @@ -184211,19 +183356,19 @@ field 11 10 0 string kind strref 12 m51s15 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L4243 L4244 -label L4243 +brif 13 L4164 L4165 +label L4164 load 15 info field 16 15 16 list_string fields call 17 pith_list_len int 1 16 load 18 info call 19 pith_struct_release void 1 18 ret 17 -label L4244 -label L4242 -jmp L4239 -label L4241 -label L4239 +label L4165 +label L4163 +jmp L4160 +label L4162 +label L4160 load 20 sname call 21 ir_struct_registry_ir_struct_field_count int 1 20 load 22 info @@ -184243,44 +183388,44 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L4246 L4247 -label L4246 +brif 6 L4167 L4168 +label L4167 load 7 info load 8 tid call 9 types_get_type_info struct:TypeInfo 1 8 call 10 pith_struct_release void 1 7 store info 9 iconst 11 0 -store __and_11_4251 11 +store __and_11_4172 11 iconst 12 0 -store __and_12_4251 12 +store __and_12_4172 12 load 13 info field 14 13 0 string kind strref 15 m51s15 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __and_12_4251 16 -brif 16 L4251 L4252 -label L4251 +store __and_12_4172 16 +brif 16 L4172 L4173 +label L4172 load 18 field_index iconst 19 0 gte 20 18 19 -store __and_12_4251 20 -label L4252 -load 21 __and_12_4251 -store __and_11_4251 21 -brif 21 L4253 L4254 -label L4253 +store __and_12_4172 20 +label L4173 +load 21 __and_12_4172 +store __and_11_4172 21 +brif 21 L4174 L4175 +label L4174 load 22 field_index load 23 info field 24 23 16 list_string fields call 25 pith_list_len int 1 24 lt 26 22 25 -store __and_11_4251 26 -label L4254 -load 27 __and_11_4251 -brif 27 L4249 L4250 -label L4249 +store __and_11_4172 26 +label L4175 +load 27 __and_11_4172 +brif 27 L4170 L4171 +label L4170 load 28 info field 29 28 16 list_string fields load 30 field_index @@ -184289,11 +183434,11 @@ call 32 pith_cstring_retain void 1 31 load 33 info call 34 pith_struct_release void 1 33 ret 31 -label L4250 -label L4248 -jmp L4245 -label L4247 -label L4245 +label L4171 +label L4169 +jmp L4166 +label L4168 +label L4166 load 35 sname load 36 field_index call 37 ir_struct_registry_ir_struct_field_name_at string 2 35 36 @@ -184314,8 +183459,8 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L4256 L4257 -label L4256 +brif 6 L4177 L4178 +label L4177 load 7 info load 8 tid call 9 types_get_type_info struct:TypeInfo 1 8 @@ -184326,68 +183471,68 @@ field 12 11 0 string kind strref 13 m51s15 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L4259 L4260 -label L4259 +brif 14 L4180 L4181 +label L4180 load 16 info field 17 16 16 list_string fields call 18 pith_auto_len int 1 17 iconst 19 0 -store __for_idx_406 19 -store __for_len_406 18 -store __for_iter_406 17 -label L4261 -load 20 __for_idx_406 -load 21 __for_len_406 +store __for_idx_405 19 +store __for_len_405 18 +store __for_iter_405 17 +label L4182 +load 20 __for_idx_405 +load 21 __for_len_405 lt 22 20 21 -brif 22 L4262 L4264 -label L4262 -load 23 __for_iter_406 -load 24 __for_idx_406 +brif 22 L4183 L4185 +label L4183 +load 23 __for_iter_405 +load 24 __for_idx_405 call 25 pith_list_get_value_unchecked string 2 23 24 -store __loopvar_406_name 25 -load 26 __for_idx_406 -store __loopvar_406_i 26 +store __loopvar_405_name 25 +load 26 __for_idx_405 +store __loopvar_405_i 26 iconst 27 0 -store __and_27_4268 27 -load 28 __loopvar_406_name +store __and_27_4189 27 +load 28 __loopvar_405_name load 29 field_name call 30 pith_cstring_eq bool 2 28 29 -store __and_27_4268 30 -brif 30 L4268 L4269 -label L4268 -load 31 __loopvar_406_i +store __and_27_4189 30 +brif 30 L4189 L4190 +label L4189 +load 31 __loopvar_405_i load 32 info field 33 32 24 list field_types call 34 pith_list_len int 1 33 lt 35 31 34 -store __and_27_4268 35 -label L4269 -load 36 __and_27_4268 -brif 36 L4266 L4267 -label L4266 +store __and_27_4189 35 +label L4190 +load 36 __and_27_4189 +brif 36 L4187 L4188 +label L4187 load 37 info field 38 37 24 list field_types -load 39 __loopvar_406_i +load 39 __loopvar_405_i call 40 pith_list_get_value_strict int 2 38 39 call 41 ir_type_helpers_ir_type_from_tid string 1 40 load 42 info call 43 pith_struct_release void 1 42 ret 41 -label L4267 -label L4265 -label L4263 -load 44 __for_idx_406 +label L4188 +label L4186 +label L4184 +load 44 __for_idx_405 iconst 45 1 add 46 44 45 -store __for_idx_406 46 -jmp L4261 -label L4264 -jmp L4258 -label L4260 -label L4258 -jmp L4255 -label L4257 -label L4255 +store __for_idx_405 46 +jmp L4182 +label L4185 +jmp L4179 +label L4181 +label L4179 +jmp L4176 +label L4178 +label L4176 load 47 sname load 48 field_name call 49 ir_struct_registry_ir_struct_field_type_name string 2 47 48 @@ -184423,12 +183568,12 @@ call 13 pith_list_release_handle void 1 11 store field_regs 12 iconst 14 0 store field_idx 14 -label L4270 +label L4191 load 15 field_idx load 16 total_fields lt 17 15 16 -brif 17 L4271 L4272 -label L4271 +brif 17 L4192 L4193 +label L4192 load 18 field_name load 19 sname load 20 tid @@ -184450,112 +183595,112 @@ store value_node 32 load 33 arg_nodes call 34 pith_auto_len int 1 33 iconst 35 0 -store __for_idx_407 35 -store __for_len_407 34 -store __for_iter_407 33 -label L4273 -load 36 __for_idx_407 -load 37 __for_len_407 +store __for_idx_406 35 +store __for_len_406 34 +store __for_iter_406 33 +label L4194 +load 36 __for_idx_406 +load 37 __for_len_406 lt 38 36 37 -brif 38 L4274 L4276 -label L4274 -load 39 __for_iter_407 -load 40 __for_idx_407 +brif 38 L4195 L4197 +label L4195 +load 39 __for_iter_406 +load 40 __for_idx_406 call 41 pith_list_get_value unknown 2 39 40 -store __loopvar_407_an_idx 41 +store __loopvar_406_an_idx 41 load 42 an -load 43 __loopvar_407_an_idx +load 43 __loopvar_406_an_idx call 44 ast_get_node struct:Node 1 43 call 45 pith_struct_release void 1 42 store an 44 iconst 46 0 -store __and_46_4280 46 +store __and_46_4201 46 iconst 47 0 -store __and_47_4280 47 +store __and_47_4201 47 load 48 an field 49 48 0 string kind strref 50 m51s42 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __and_47_4280 51 -brif 51 L4280 L4281 -label L4280 +store __and_47_4201 51 +brif 51 L4201 L4202 +label L4201 load 53 an field 54 53 8 string value load 55 field_name call 56 pith_cstring_eq bool 2 54 55 -store __and_47_4280 56 -label L4281 -load 57 __and_47_4280 -store __and_46_4280 57 -brif 57 L4282 L4283 -label L4282 +store __and_47_4201 56 +label L4202 +load 57 __and_47_4201 +store __and_46_4201 57 +brif 57 L4203 L4204 +label L4203 load 58 an field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 gt 62 60 61 -store __and_46_4280 62 -label L4283 -load 63 __and_46_4280 -brif 63 L4278 L4279 -label L4278 +store __and_46_4201 62 +label L4204 +load 63 __and_46_4201 +brif 63 L4199 L4200 +label L4199 load 64 an field 65 64 16 list children iconst 66 0 call 67 pith_list_get_value_strict int 2 65 66 store value_node 67 -jmp L4277 -label L4279 -label L4277 -label L4275 -load 68 __for_idx_407 +jmp L4198 +label L4200 +label L4198 +label L4196 +load 68 __for_idx_406 iconst 69 1 add 70 68 69 -store __for_idx_407 70 -jmp L4273 -label L4276 +store __for_idx_406 70 +jmp L4194 +label L4197 load 71 sname load 72 field_name call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L4285 L4286 -label L4285 +brif 73 L4206 L4207 +label L4206 load 74 value_node store init_node 74 load 75 init_node iconst 76 0 lt 77 75 76 -brif 77 L4288 L4289 -label L4288 +brif 77 L4209 L4210 +label L4209 load 78 sname load 79 field_name call 80 ir_struct_registry_ir_struct_field_default_node int 2 78 79 store init_node 80 -jmp L4287 -label L4289 -label L4287 +jmp L4208 +label L4210 +label L4208 load 81 init_node iconst 82 0 gte 83 81 82 -brif 83 L4291 L4292 -label L4291 +brif 83 L4212 L4213 +label L4212 load 84 field_regs load 85 init_node call 86 ir_emitter_core_ir_emit_weak_payload int 1 85 call 87 pith_list_push_value void 2 84 86 -jmp L4290 -label L4292 +jmp L4211 +label L4213 load 88 field_regs call 89 ir_result_abi_ir_zero_reg int 0 call 90 pith_list_push_value void 2 88 89 -label L4290 -jmp L4284 -label L4286 +label L4211 +jmp L4205 +label L4207 load 91 value_node iconst 92 0 gte 93 91 92 -brif 93 L4293 L4294 -label L4293 +brif 93 L4214 L4215 +label L4214 load 94 value_node load 95 field_type call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -184566,46 +183711,46 @@ call 99 ir_struct_registry_ir_rc_kind string 1 98 call 100 pith_cstring_release void 1 97 store named_field_kind 99 iconst 101 0 -store __and_101_4298 101 +store __and_101_4219 101 iconst 102 0 -store __and_102_4298 102 +store __and_102_4219 102 load 103 named_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_4298 106 -brif 106 L4298 L4299 -label L4298 +store __and_102_4219 106 +brif 106 L4219 L4220 +label L4219 load 107 named_field_kind strref 108 m51s23 call 110 pith_cstring_eq bool 2 107 108 iconst 111 1 sub 109 111 110 call 112 pith_cstring_release void 1 108 -store __and_102_4298 109 -label L4299 -load 113 __and_102_4298 -store __and_101_4298 113 -brif 113 L4300 L4301 -label L4300 +store __and_102_4219 109 +label L4220 +load 113 __and_102_4219 +store __and_101_4219 113 +brif 113 L4221 L4222 +label L4221 load 114 value_node call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_4298 115 -label L4301 -load 116 __and_101_4298 -brif 116 L4296 L4297 -label L4296 +store __and_101_4219 115 +label L4222 +load 116 __and_101_4219 +brif 116 L4217 L4218 +label L4217 load 117 fr load 118 named_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4295 -label L4297 -label L4295 +jmp L4216 +label L4218 +label L4216 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 -jmp L4284 -label L4294 +jmp L4205 +label L4215 load 123 sname load 124 field_name call 125 ir_struct_registry_ir_struct_field_default_node int 2 123 124 @@ -184613,26 +183758,26 @@ store default_idx 125 load 126 default_idx iconst 127 0 gte 128 126 127 -brif 128 L4303 L4304 -label L4303 +brif 128 L4224 L4225 +label L4224 load 129 field_regs load 130 default_idx load 131 field_type call 132 ir_emitter_core_ir_emit_value_for_target int 2 130 131 call 133 pith_list_push_value void 2 129 132 -jmp L4302 -label L4304 +jmp L4223 +label L4225 load 134 field_regs call 135 ir_result_abi_ir_zero_reg int 0 call 136 pith_list_push_value void 2 134 135 -label L4302 -label L4284 +label L4223 +label L4205 load 137 field_idx iconst 138 1 add 139 137 138 store field_idx 139 -jmp L4270 -label L4272 +jmp L4191 +label L4193 call 140 ir_builder_ir_reg int 0 store r 140 call 141 ir_builder_ir_reg int 0 @@ -184655,7 +183800,7 @@ call 156 pith_cstring_release void 1 153 call 157 ir_builder_ir_emit void 1 154 call 158 pith_cstring_release void 1 154 load 159 r -strref 160 m51s773 +strref 160 m51s774 strref 161 m51s931 load 162 sname concat 163 161 162 @@ -184667,21 +183812,21 @@ call 168 pith_cstring_release void 1 163 load 169 field_regs call 170 pith_auto_len int 1 169 iconst 171 0 -store __for_idx_408 171 -store __for_len_408 170 -store __for_iter_408 169 -label L4305 -load 172 __for_idx_408 -load 173 __for_len_408 +store __for_idx_407 171 +store __for_len_407 170 +store __for_iter_407 169 +label L4226 +load 172 __for_idx_407 +load 173 __for_len_407 lt 174 172 173 -brif 174 L4306 L4308 -label L4306 -load 175 __for_iter_408 -load 176 __for_idx_408 +brif 174 L4227 L4229 +label L4227 +load 175 __for_iter_407 +load 176 __for_idx_407 call 177 pith_list_get_value unknown 2 175 176 -store __loopvar_408_field_reg 177 -load 178 __for_idx_408 -store __loopvar_408_fi 178 +store __loopvar_407_field_reg 177 +load 178 __for_idx_407 +store __loopvar_407_fi 178 strref 179 m51s1094 load 180 r call 181 int_to_string string 1 180 @@ -184692,7 +183837,7 @@ strref 185 m51s344 concat 186 182 185 call 187 pith_cstring_release void 1 182 call 188 pith_cstring_release void 1 185 -load 189 __loopvar_408_fi +load 189 __loopvar_407_fi call 190 int_to_string string 1 189 concat 191 186 190 call 192 pith_cstring_release void 1 186 @@ -184701,20 +183846,20 @@ strref 194 m51s344 concat 195 191 194 call 196 pith_cstring_release void 1 191 call 197 pith_cstring_release void 1 194 -load 198 __loopvar_408_field_reg +load 198 __loopvar_407_field_reg call 199 int_to_string string 1 198 concat 200 195 199 call 201 pith_cstring_release void 1 195 call 202 pith_cstring_release void 1 199 call 203 ir_builder_ir_emit void 1 200 call 204 pith_cstring_release void 1 200 -label L4307 -load 205 __for_idx_408 +label L4228 +load 205 __for_idx_407 iconst 206 1 add 207 205 206 -store __for_idx_408 207 -jmp L4305 -label L4308 +store __for_idx_407 207 +jmp L4226 +label L4229 load 208 r load 209 sname call 210 ir_emitter_core_ir_emit_attach_dtor void 2 208 209 @@ -184759,8 +183904,8 @@ iconst 7 0 store pos_field_kind 7 load 8 arg_nodes call 9 ir_emitter_core_ir_struct_args_have_names bool 1 8 -brif 9 L4310 L4311 -label L4310 +brif 9 L4231 L4232 +label L4231 load 10 sname load 11 arg_nodes load 12 tid @@ -184776,21 +183921,21 @@ call 21 pith_cstring_release void 1 20 load 22 pos_field_kind call 23 pith_cstring_release void 1 22 ret 13 -label L4311 -label L4309 +label L4232 +label L4230 load 24 field_regs call 25 pith_list_new_default list 0 call 26 pith_list_release_handle void 1 24 store field_regs 25 iconst 27 0 store field_idx 27 -label L4312 +label L4233 load 28 field_idx load 29 arg_nodes call 30 pith_list_len int 1 29 lt 31 28 30 -brif 31 L4313 L4314 -label L4313 +brif 31 L4234 L4235 +label L4234 load 32 arg_nodes load 33 field_idx call 34 pith_list_get_value_strict int 2 32 33 @@ -184817,65 +183962,65 @@ store ftype 49 load 51 child store value_idx 51 iconst 52 0 -store __and_52_4318 52 +store __and_52_4239 52 load 53 cn field 54 53 0 string kind strref 55 m51s1264 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __and_52_4318 56 -brif 56 L4318 L4319 -label L4318 +store __and_52_4239 56 +brif 56 L4239 L4240 +label L4239 load 58 cn field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 gt 62 60 61 -store __and_52_4318 62 -label L4319 -load 63 __and_52_4318 -brif 63 L4316 L4317 -label L4316 +store __and_52_4239 62 +label L4240 +load 63 __and_52_4239 +brif 63 L4237 L4238 +label L4237 load 64 cn field 65 64 16 list children iconst 66 0 call 67 pith_list_get_value_strict int 2 65 66 store value_idx 67 -jmp L4315 -label L4317 +jmp L4236 +label L4238 iconst 68 0 -store __and_68_4322 68 +store __and_68_4243 68 load 69 cn field 70 69 0 string kind strref 71 m51s42 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __and_68_4322 72 -brif 72 L4322 L4323 -label L4322 +store __and_68_4243 72 +brif 72 L4243 L4244 +label L4243 load 74 cn field 75 74 16 list children call 76 pith_list_len int 1 75 iconst 77 0 gt 78 76 77 -store __and_68_4322 78 -label L4323 -load 79 __and_68_4322 -brif 79 L4320 L4321 -label L4320 +store __and_68_4243 78 +label L4244 +load 79 __and_68_4243 +brif 79 L4241 L4242 +label L4241 load 80 cn field 81 80 16 list children iconst 82 0 call 83 pith_list_get_value_strict int 2 81 82 store value_idx 83 -jmp L4315 -label L4321 -label L4315 +jmp L4236 +label L4242 +label L4236 load 84 sname load 85 field_name call 86 ir_emitter_core_ir_struct_field_is_weak bool 2 84 85 -brif 86 L4325 L4326 -label L4325 +brif 86 L4246 L4247 +label L4246 load 87 field_regs load 88 value_idx call 89 ir_emitter_core_ir_emit_weak_payload int 1 88 @@ -184884,9 +184029,9 @@ load 91 field_idx iconst 92 1 add 93 91 92 store field_idx 93 -jmp L4312 -label L4326 -label L4324 +jmp L4233 +label L4247 +label L4245 load 94 value_idx load 95 ftype call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -184897,41 +184042,41 @@ call 99 ir_struct_registry_ir_rc_kind string 1 98 call 100 pith_cstring_release void 1 97 store pos_field_kind 99 iconst 101 0 -store __and_101_4330 101 +store __and_101_4251 101 iconst 102 0 -store __and_102_4330 102 +store __and_102_4251 102 load 103 pos_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_4330 106 -brif 106 L4330 L4331 -label L4330 +store __and_102_4251 106 +brif 106 L4251 L4252 +label L4251 load 107 pos_field_kind strref 108 m51s23 call 110 pith_cstring_eq bool 2 107 108 iconst 111 1 sub 109 111 110 call 112 pith_cstring_release void 1 108 -store __and_102_4330 109 -label L4331 -load 113 __and_102_4330 -store __and_101_4330 113 -brif 113 L4332 L4333 -label L4332 +store __and_102_4251 109 +label L4252 +load 113 __and_102_4251 +store __and_101_4251 113 +brif 113 L4253 L4254 +label L4253 load 114 value_idx call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_4330 115 -label L4333 -load 116 __and_101_4330 -brif 116 L4328 L4329 -label L4328 +store __and_101_4251 115 +label L4254 +load 116 __and_101_4251 +brif 116 L4249 L4250 +label L4249 load 117 fr load 118 pos_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4327 -label L4329 -label L4327 +jmp L4248 +label L4250 +label L4248 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 @@ -184939,18 +184084,18 @@ load 123 field_idx iconst 124 1 add 125 123 124 store field_idx 125 -jmp L4312 -label L4314 +jmp L4233 +label L4235 load 126 sname load 127 tid call 128 ir_emitter_core_ir_ctor_field_count int 2 126 127 store total_fields 128 -label L4334 +label L4255 load 129 field_idx load 130 total_fields lt 131 129 130 -brif 131 L4335 L4336 -label L4335 +brif 131 L4256 L4257 +label L4256 load 132 field_name load 133 sname load 134 tid @@ -184965,8 +184110,8 @@ store default_idx 140 load 141 default_idx iconst 142 0 gte 143 141 142 -brif 143 L4338 L4339 -label L4338 +brif 143 L4259 L4260 +label L4259 load 144 field_regs load 145 default_idx load 146 sname @@ -184976,18 +184121,18 @@ call 149 ir_emitter_core_ir_ctor_field_type_name string 3 146 147 148 call 150 ir_emitter_core_ir_emit_value_for_target int 2 145 149 call 151 pith_cstring_release void 1 149 call 152 pith_list_push_value void 2 144 150 -jmp L4337 -label L4339 +jmp L4258 +label L4260 load 153 field_regs call 154 ir_result_abi_ir_zero_reg int 0 call 155 pith_list_push_value void 2 153 154 -label L4337 +label L4258 load 156 field_idx iconst 157 1 add 158 156 157 store field_idx 158 -jmp L4334 -label L4336 +jmp L4255 +label L4257 call 159 ir_builder_ir_reg int 0 store r 159 call 160 ir_builder_ir_reg int 0 @@ -185010,7 +184155,7 @@ call 175 pith_cstring_release void 1 172 call 176 ir_builder_ir_emit void 1 173 call 177 pith_cstring_release void 1 173 load 178 r -strref 179 m51s773 +strref 179 m51s774 strref 180 m51s931 load 181 sname concat 182 180 181 @@ -185022,21 +184167,21 @@ call 187 pith_cstring_release void 1 182 load 188 field_regs call 189 pith_auto_len int 1 188 iconst 190 0 -store __for_idx_409 190 -store __for_len_409 189 -store __for_iter_409 188 -label L4340 -load 191 __for_idx_409 -load 192 __for_len_409 +store __for_idx_408 190 +store __for_len_408 189 +store __for_iter_408 188 +label L4261 +load 191 __for_idx_408 +load 192 __for_len_408 lt 193 191 192 -brif 193 L4341 L4343 -label L4341 -load 194 __for_iter_409 -load 195 __for_idx_409 +brif 193 L4262 L4264 +label L4262 +load 194 __for_iter_408 +load 195 __for_idx_408 call 196 pith_list_get_value unknown 2 194 195 -store __loopvar_409_field_reg 196 -load 197 __for_idx_409 -store __loopvar_409_fi 197 +store __loopvar_408_field_reg 196 +load 197 __for_idx_408 +store __loopvar_408_fi 197 strref 198 m51s1094 load 199 r call 200 int_to_string string 1 199 @@ -185047,7 +184192,7 @@ strref 204 m51s344 concat 205 201 204 call 206 pith_cstring_release void 1 201 call 207 pith_cstring_release void 1 204 -load 208 __loopvar_409_fi +load 208 __loopvar_408_fi call 209 int_to_string string 1 208 concat 210 205 209 call 211 pith_cstring_release void 1 205 @@ -185056,20 +184201,20 @@ strref 213 m51s344 concat 214 210 213 call 215 pith_cstring_release void 1 210 call 216 pith_cstring_release void 1 213 -load 217 __loopvar_409_field_reg +load 217 __loopvar_408_field_reg call 218 int_to_string string 1 217 concat 219 214 218 call 220 pith_cstring_release void 1 214 call 221 pith_cstring_release void 1 218 call 222 ir_builder_ir_emit void 1 219 call 223 pith_cstring_release void 1 219 -label L4342 -load 224 __for_idx_409 +label L4263 +load 224 __for_idx_408 iconst 225 1 add 226 224 225 -store __for_idx_409 226 -jmp L4340 -label L4343 +store __for_idx_408 226 +jmp L4261 +label L4264 load 227 r load 228 sname call 229 ir_emitter_core_ir_emit_attach_dtor void 2 227 228 @@ -185121,8 +184266,8 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -brif 6 L4345 L4346 -label L4345 +brif 6 L4266 L4267 +label L4266 load 7 inner load 8 node field 9 8 16 list children @@ -185136,8 +184281,8 @@ field 15 14 0 string kind strref 16 m51s44 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L4348 L4349 -label L4348 +brif 17 L4269 L4270 +label L4269 load 19 node field 20 19 16 list children iconst 21 0 @@ -185148,7 +184293,7 @@ call 24 ir_builder_ir_reg int 0 store r 24 load 25 r strref 26 m51s510 -strref 27 m51s869 +strref 27 m51s870 load 28 closure_r call 29 ir_call_emit_ir_emit_call1 void 4 25 26 27 28 call 30 pith_cstring_release void 1 26 @@ -185157,11 +184302,11 @@ load 32 r load 33 inner call 34 pith_struct_release void 1 33 ret 32 -label L4349 -label L4347 -jmp L4344 -label L4346 -label L4344 +label L4270 +label L4268 +jmp L4265 +label L4267 +label L4265 call 35 ir_builder_ir_reg int 0 store r 35 strref 36 m51s880 @@ -185204,8 +184349,8 @@ field 8 7 16 list children call 9 pith_list_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L4351 L4352 -label L4351 +brif 11 L4272 L4273 +label L4272 load 12 result_kind load 13 node field 14 13 16 list children @@ -185232,8 +184377,8 @@ store val_r 29 load 30 saved_defer store ir_emitter_core_ir_rcall_defer_idx 30 load 31 ir_emitter_core_ir_rcall_pair_ready -brif 31 L4354 L4355 -label L4354 +brif 31 L4275 L4276 +label L4275 iconst 32 0 store ir_emitter_core_ir_rcall_pair_ready 32 load 33 node @@ -185256,14 +184401,14 @@ call 49 pith_cstring_release void 1 48 load 50 err_kind call 51 pith_cstring_release void 1 50 ret 39 -label L4355 -label L4353 +label L4276 +label L4274 load 52 result_kind strref 53 m51s23 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L4357 L4358 -label L4357 +brif 54 L4278 L4279 +label L4278 load 56 operand_class load 57 node field 58 57 16 list children @@ -185332,8 +184477,8 @@ call 114 pith_cstring_eq bool 2 111 112 iconst 115 1 sub 113 115 114 call 116 pith_cstring_release void 1 112 -brif 113 L4360 L4361 -label L4360 +brif 113 L4281 L4282 +label L4281 call 117 ir_builder_ir_reg int 0 strref 118 m51s946 strref 119 m51s876 @@ -185341,9 +184486,9 @@ load 120 val_r call 121 ir_call_emit_ir_emit_call1 void 4 117 118 119 120 call 122 pith_cstring_release void 1 118 call 123 pith_cstring_release void 1 119 -jmp L4359 -label L4361 -label L4359 +jmp L4280 +label L4282 +label L4280 strref 124 m51s881 load 125 merge_l concat 126 124 125 @@ -185353,26 +184498,26 @@ call 129 pith_cstring_release void 1 126 load 130 err_l call 131 ir_call_emit_ir_emit_label void 1 130 iconst 132 0 -store __and_132_4365 132 +store __and_132_4286 132 load 133 ir_emitter_core_ir_emit_tests -store __and_132_4365 133 -brif 133 L4365 L4366 -label L4365 +store __and_132_4286 133 +brif 133 L4286 L4287 +label L4286 load 134 ir_emitter_core_ir_emitting_test_func -store __and_132_4365 134 -label L4366 -load 135 __and_132_4365 -brif 135 L4363 L4364 -label L4363 +store __and_132_4286 134 +label L4287 +load 135 __and_132_4286 +brif 135 L4284 L4285 +label L4284 call 136 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L4362 -label L4364 +jmp L4283 +label L4285 load 137 operand_class strref 138 m51s1259 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L4367 L4368 -label L4367 +brif 139 L4288 L4289 +label L4288 load 141 err_kind load 142 operand_tid strref 143 m51s189 @@ -185392,20 +184537,20 @@ load 154 err_kind call 155 string_len int 1 154 iconst 156 0 gt 157 155 156 -brif 157 L4370 L4371 -label L4370 +brif 157 L4291 L4292 +label L4291 load 158 err_r load 159 err_kind call 160 ir_ownership_ir_rc_retain_reg void 2 158 159 -jmp L4369 -label L4371 -label L4369 +jmp L4290 +label L4292 +label L4290 load 161 ir_builder_ir_current_func_return_kind strref 162 m51s1234 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L4373 L4374 -label L4373 +brif 163 L4294 L4295 +label L4294 iconst 165 1 call 166 ir_emitter_core_ir_defer_emit_to_function_frame void 1 165 strref 167 m51s83 @@ -185442,8 +184587,8 @@ call 196 pith_cstring_release void 1 190 call 197 pith_cstring_release void 1 194 call 198 ir_builder_ir_emit void 1 195 call 199 pith_cstring_release void 1 195 -jmp L4372 -label L4374 +jmp L4293 +label L4295 load 200 err_r call 201 ir_emitter_core_ir_emit_err_result_tuple int 1 200 store fresh_err_r 201 @@ -185454,7 +184599,7 @@ call 205 ir_emitter_core_ir_emit_string_cleanup void 1 204 call 206 pith_cstring_release void 1 204 load 207 err_r load 208 err_kind -strref 209 m51s716 +strref 209 m51s717 call 210 pith_cstring_eq bool 2 208 209 call 211 pith_cstring_release void 1 209 call 212 ir_emitter_core_ir_emit_main_error_report void 2 207 210 @@ -185466,15 +184611,15 @@ call 217 pith_cstring_release void 1 213 call 218 pith_cstring_release void 1 215 call 219 ir_builder_ir_emit void 1 216 call 220 pith_cstring_release void 1 216 -label L4372 -jmp L4362 -label L4368 +label L4293 +jmp L4283 +label L4289 load 221 ir_builder_ir_current_func_return_kind strref 222 m51s1234 call 223 pith_cstring_eq bool 2 221 222 call 224 pith_cstring_release void 1 222 -brif 223 L4375 L4376 -label L4375 +brif 223 L4296 L4297 +label L4296 load 225 val_r load 226 operand_tid strref 227 m51s189 @@ -185524,16 +184669,16 @@ call 268 pith_cstring_release void 1 262 call 269 pith_cstring_release void 1 266 call 270 ir_builder_ir_emit void 1 267 call 271 pith_cstring_release void 1 267 -jmp L4362 -label L4376 +jmp L4283 +label L4297 iconst 272 1 call 273 ir_emitter_core_ir_defer_emit_to_function_frame void 1 272 strref 274 m51s83 call 275 ir_emitter_core_ir_emit_string_cleanup void 1 274 call 276 pith_cstring_release void 1 274 load 277 ir_emitter_core_ir_emitting_main_body -brif 277 L4378 L4379 -label L4378 +brif 277 L4299 L4300 +label L4299 load 278 val_r load 279 operand_tid strref 280 m51s189 @@ -185547,14 +184692,14 @@ call 286 ir_result_abi_ir_result_field_kind string 2 284 285 call 287 pith_cstring_release void 1 285 call 288 ir_struct_registry_ir_rc_kind string 1 286 call 289 pith_cstring_release void 1 286 -strref 290 m51s716 +strref 290 m51s717 call 291 pith_cstring_eq bool 2 288 290 call 292 pith_cstring_release void 1 288 call 293 pith_cstring_release void 1 290 call 294 ir_emitter_core_ir_emit_main_error_report void 2 283 291 -jmp L4377 -label L4379 -label L4377 +jmp L4298 +label L4300 +label L4298 strref 295 m51s925 load 296 val_r call 297 int_to_string string 1 296 @@ -185563,7 +184708,7 @@ call 299 pith_cstring_release void 1 295 call 300 pith_cstring_release void 1 297 call 301 ir_builder_ir_emit void 1 298 call 302 pith_cstring_release void 1 298 -label L4362 +label L4283 load 303 merge_l call 304 ir_call_emit_ir_emit_label void 1 303 load 305 decoded_r @@ -185580,36 +184725,36 @@ call 315 pith_cstring_release void 1 314 load 316 err_kind call 317 pith_cstring_release void 1 316 ret 305 -label L4358 -label L4356 +label L4279 +label L4277 load 318 val_r store cond_r 318 load 319 val_r store decoded_r 319 load 320 result_kind call 321 ir_result_abi_ir_uses_result_abi bool 1 320 -brif 321 L4381 L4382 -label L4381 +brif 321 L4302 L4303 +label L4302 load 322 val_r load 323 result_kind call 324 ir_result_abi_ir_decode_result_value int 2 322 323 store decoded_r 324 -jmp L4380 -label L4382 +jmp L4301 +label L4303 load 325 result_kind call 326 string_len int 1 325 iconst 327 0 gt 328 326 327 -brif 328 L4383 L4384 -label L4383 +brif 328 L4304 L4305 +label L4304 call 329 ir_builder_ir_reg int 0 store zero_cmp 329 load 330 result_kind -strref 331 m51s713 +strref 331 m51s714 call 332 pith_cstring_eq bool 2 330 331 call 333 pith_cstring_release void 1 331 -brif 332 L4386 L4387 -label L4386 +brif 332 L4307 L4308 +label L4307 strref 334 m51s1100 load 335 zero_cmp call 336 int_to_string string 1 335 @@ -185622,8 +184767,8 @@ call 342 pith_cstring_release void 1 337 call 343 pith_cstring_release void 1 340 call 344 ir_builder_ir_emit void 1 341 call 345 pith_cstring_release void 1 341 -jmp L4385 -label L4387 +jmp L4306 +label L4308 strref 346 m51s880 load 347 zero_cmp call 348 int_to_string string 1 347 @@ -185636,7 +184781,7 @@ call 354 pith_cstring_release void 1 349 call 355 pith_cstring_release void 1 352 call 356 ir_builder_ir_emit void 1 353 call 357 pith_cstring_release void 1 353 -label L4385 +label L4306 call 358 ir_builder_ir_reg int 0 store cond_r 358 strref 359 m51s1091 @@ -185665,9 +184810,9 @@ call 381 pith_cstring_release void 1 375 call 382 pith_cstring_release void 1 379 call 383 ir_builder_ir_emit void 1 380 call 384 pith_cstring_release void 1 380 -jmp L4380 -label L4384 -label L4380 +jmp L4301 +label L4305 +label L4301 load 385 ok_l call 386 ir_builder_ir_label string 0 call 387 pith_cstring_release void 1 385 @@ -185713,26 +184858,26 @@ call 423 pith_cstring_release void 1 420 load 424 err_l call 425 ir_call_emit_ir_emit_label void 1 424 iconst 426 0 -store __and_426_4391 426 +store __and_426_4312 426 load 427 ir_emitter_core_ir_emit_tests -store __and_426_4391 427 -brif 427 L4391 L4392 -label L4391 +store __and_426_4312 427 +brif 427 L4312 L4313 +label L4312 load 428 ir_emitter_core_ir_emitting_test_func -store __and_426_4391 428 -label L4392 -load 429 __and_426_4391 -brif 429 L4389 L4390 -label L4389 +store __and_426_4312 428 +label L4313 +load 429 __and_426_4312 +brif 429 L4310 L4311 +label L4310 call 430 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L4388 -label L4390 +jmp L4309 +label L4311 load 431 ir_builder_ir_current_func_return_kind strref 432 m51s1234 call 433 pith_cstring_eq bool 2 431 432 call 434 pith_cstring_release void 1 432 -brif 433 L4393 L4394 -label L4393 +brif 433 L4314 L4315 +label L4314 iconst 435 1 call 436 ir_emitter_core_ir_defer_emit_to_function_frame void 1 435 strref 437 m51s83 @@ -185783,8 +184928,8 @@ call 479 pith_cstring_release void 1 473 call 480 pith_cstring_release void 1 477 call 481 ir_builder_ir_emit void 1 478 call 482 pith_cstring_release void 1 478 -jmp L4388 -label L4394 +jmp L4309 +label L4315 iconst 483 1 call 484 ir_emitter_core_ir_defer_emit_to_function_frame void 1 483 strref 485 m51s83 @@ -185812,7 +184957,7 @@ call 505 pith_cstring_release void 1 501 call 506 pith_cstring_release void 1 503 call 507 ir_builder_ir_emit void 1 504 call 508 pith_cstring_release void 1 504 -label L4388 +label L4309 load 509 merge_l call 510 ir_call_emit_ir_emit_label void 1 509 load 511 decoded_r @@ -185829,8 +184974,8 @@ call 521 pith_cstring_release void 1 520 load 522 err_kind call 523 pith_cstring_release void 1 522 ret 511 -label L4352 -label L4350 +label L4273 +label L4271 call 524 ir_builder_ir_reg int 0 store r 524 strref 525 m51s880 @@ -185932,26 +185077,26 @@ call 46 pith_cstring_release void 1 43 load 47 err_l call 48 ir_call_emit_ir_emit_label void 1 47 iconst 49 0 -store __and_49_4398 49 +store __and_49_4319 49 load 50 ir_emitter_core_ir_emit_tests -store __and_49_4398 50 -brif 50 L4398 L4399 -label L4398 +store __and_49_4319 50 +brif 50 L4319 L4320 +label L4319 load 51 ir_emitter_core_ir_emitting_test_func -store __and_49_4398 51 -label L4399 -load 52 __and_49_4398 -brif 52 L4396 L4397 -label L4396 +store __and_49_4319 51 +label L4320 +load 52 __and_49_4319 +brif 52 L4317 L4318 +label L4317 call 53 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L4395 -label L4397 +jmp L4316 +label L4318 load 54 ir_builder_ir_current_func_return_kind strref 55 m51s1234 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L4400 L4401 -label L4400 +brif 56 L4321 L4322 +label L4321 iconst 58 1 call 59 ir_emitter_core_ir_defer_emit_to_function_frame void 1 58 strref 60 m51s83 @@ -185988,8 +185133,8 @@ call 89 pith_cstring_release void 1 83 call 90 pith_cstring_release void 1 87 call 91 ir_builder_ir_emit void 1 88 call 92 pith_cstring_release void 1 88 -jmp L4395 -label L4401 +jmp L4316 +label L4322 load 93 val_r call 94 ir_emitter_core_ir_emit_err_result_tuple int 1 93 store fresh_err_r 94 @@ -186005,7 +185150,7 @@ call 103 ir_result_abi_ir_result_field_kind string 2 101 102 call 104 pith_cstring_release void 1 102 call 105 ir_struct_registry_ir_rc_kind string 1 103 call 106 pith_cstring_release void 1 103 -strref 107 m51s716 +strref 107 m51s717 call 108 pith_cstring_eq bool 2 105 107 call 109 pith_cstring_release void 1 105 call 110 pith_cstring_release void 1 107 @@ -186018,7 +185163,7 @@ call 116 pith_cstring_release void 1 112 call 117 pith_cstring_release void 1 114 call 118 ir_builder_ir_emit void 1 115 call 119 pith_cstring_release void 1 115 -label L4395 +label L4316 load 120 merge_l call 121 ir_call_emit_ir_emit_label void 1 120 load 122 val_r @@ -186046,14 +185191,14 @@ store flag_v 2 load 3 ir_emitter_core_ir_emitting_main_body iconst 5 1 sub 4 5 3 -brif 4 L4403 L4404 -label L4403 +brif 4 L4324 L4325 +label L4324 load 6 flag_v call 7 pith_cstring_release void 1 6 iconst 8 0 ret 8 -label L4404 -label L4402 +label L4325 +label L4323 call 9 ir_builder_ir_reg int 0 store flag_r 9 load 10 flag_v @@ -186061,15 +185206,15 @@ strref 11 m51s185 call 12 pith_cstring_release void 1 10 store flag_v 11 load 13 err_is_string -brif 13 L4406 L4407 -label L4406 +brif 13 L4327 L4328 +label L4327 load 14 flag_v strref 15 m51s184 call 16 pith_cstring_release void 1 14 store flag_v 15 -jmp L4405 -label L4407 -label L4405 +jmp L4326 +label L4328 +label L4326 strref 17 m51s880 load 18 flag_r call 19 int_to_string string 1 18 @@ -186087,7 +185232,7 @@ call 30 ir_builder_ir_emit void 1 28 call 31 pith_cstring_release void 1 28 call 32 ir_builder_ir_reg int 0 strref 33 m51s1262 -strref 34 m51s712 +strref 34 m51s713 load 35 err_r load 36 flag_r call 37 ir_call_emit_ir_emit_call2 void 5 32 33 34 35 36 @@ -186113,8 +185258,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 gt 9 7 8 -brif 9 L4409 L4410 -label L4409 +brif 9 L4330 L4331 +label L4330 load 10 node field 11 10 16 list children iconst 12 0 @@ -186147,59 +185292,59 @@ load 34 err_kind call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L4412 L4413 -label L4412 +brif 37 L4333 L4334 +label L4333 iconst 38 0 -store __and_38_4417 38 +store __and_38_4338 38 load 39 expr_node field 40 39 0 string kind strref 41 m51s37 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __and_38_4417 42 -brif 42 L4417 L4418 -label L4417 +store __and_38_4338 42 +brif 42 L4338 L4339 +label L4338 load 44 expr_node field 45 44 8 string value call 46 ir_emitter_core_ir_rc_local_kind string 1 45 load 47 err_kind call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 46 -store __and_38_4417 48 -label L4418 -load 50 __and_38_4417 -brif 50 L4415 L4416 -label L4415 +store __and_38_4338 48 +label L4339 +load 50 __and_38_4338 +brif 50 L4336 L4337 +label L4336 load 51 exclude load 52 expr_node field 53 52 8 string value call 54 pith_cstring_retain void 1 53 call 55 pith_cstring_release void 1 51 store exclude 53 -jmp L4414 -label L4416 +jmp L4335 +label L4337 load 56 node field 57 56 16 list children iconst 58 0 call 59 pith_list_get_value_strict int 2 57 58 call 60 ir_emitter_core_ir_string_expr_is_borrowed bool 1 59 -brif 60 L4419 L4420 -label L4419 +brif 60 L4340 L4341 +label L4340 load 61 err_r load 62 err_kind call 63 ir_ownership_ir_rc_retain_reg void 2 61 62 -jmp L4414 -label L4420 -label L4414 -jmp L4411 -label L4413 -label L4411 +jmp L4335 +label L4341 +label L4335 +jmp L4332 +label L4334 +label L4332 load 64 ir_builder_ir_current_func_return_kind strref 65 m51s1234 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 -brif 66 L4422 L4423 -label L4422 +brif 66 L4343 L4344 +label L4343 iconst 68 1 call 69 ir_emitter_core_ir_defer_emit_to_function_frame void 1 68 load 70 exclude @@ -186235,8 +185380,8 @@ call 98 pith_cstring_release void 1 92 call 99 pith_cstring_release void 1 96 call 100 ir_builder_ir_emit void 1 97 call 101 pith_cstring_release void 1 97 -jmp L4421 -label L4423 +jmp L4342 +label L4344 load 102 err_r call 103 ir_emitter_core_ir_emit_err_result_tuple int 1 102 store tuple_r 103 @@ -186250,7 +185395,7 @@ field 110 109 16 list children iconst 111 0 call 112 pith_list_get_value_strict int 2 110 111 call 113 ir_emitter_core_ir_infer_type string 1 112 -strref 114 m51s716 +strref 114 m51s717 call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 113 call 117 pith_cstring_release void 1 114 @@ -186263,15 +185408,15 @@ call 123 pith_cstring_release void 1 119 call 124 pith_cstring_release void 1 121 call 125 ir_builder_ir_emit void 1 122 call 126 pith_cstring_release void 1 122 -label L4421 -jmp L4408 -label L4410 +label L4342 +jmp L4329 +label L4331 load 127 ir_builder_ir_current_func_return_kind strref 128 m51s1234 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -brif 129 L4424 L4425 -label L4424 +brif 129 L4345 L4346 +label L4345 iconst 131 1 call 132 ir_emitter_core_ir_defer_emit_to_function_frame void 1 131 strref 133 m51s83 @@ -186322,8 +185467,8 @@ call 175 pith_cstring_release void 1 169 call 176 pith_cstring_release void 1 173 call 177 ir_builder_ir_emit void 1 174 call 178 pith_cstring_release void 1 174 -jmp L4408 -label L4425 +jmp L4329 +label L4346 iconst 179 1 call 180 ir_emitter_core_ir_defer_emit_to_function_frame void 1 179 strref 181 m51s83 @@ -186341,7 +185486,7 @@ call 192 pith_cstring_release void 1 187 call 193 pith_cstring_release void 1 190 call 194 ir_builder_ir_emit void 1 191 call 195 pith_cstring_release void 1 191 -label L4408 +label L4329 load 196 ub call 197 ir_builder_ir_label string 0 call 198 pith_cstring_release void 1 196 @@ -186423,8 +185568,8 @@ load 27 obj_type call 28 string_len int 1 27 iconst 29 0 eq 30 28 29 -brif 30 L4427 L4428 -label L4427 +brif 30 L4348 L4349 +label L4348 load 31 obj_type load 32 node field 33 32 16 list children @@ -186433,15 +185578,15 @@ call 35 pith_list_get_value_strict int 2 33 34 call 36 ir_emitter_core_ir_infer_type string 1 35 call 37 pith_cstring_release void 1 31 store obj_type 36 -jmp L4426 -label L4428 -label L4426 +jmp L4347 +label L4349 +label L4347 load 38 value_type call 39 string_len int 1 38 iconst 40 0 eq 41 39 40 -brif 41 L4430 L4431 -label L4430 +brif 41 L4351 L4352 +label L4351 load 42 value_type load 43 node field 44 43 16 list children @@ -186450,36 +185595,36 @@ call 46 pith_list_get_value_strict int 2 44 45 call 47 ir_emitter_core_ir_lookup_map_value_type_for_expr string 1 46 call 48 pith_cstring_release void 1 42 store value_type 47 -jmp L4429 -label L4431 -label L4429 +jmp L4350 +label L4352 +label L4350 load 49 value_type call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L4433 L4434 -label L4433 +brif 52 L4354 L4355 +label L4354 load 53 value_type load 54 idx call 55 ir_emitter_core_ir_infer_type string 1 54 call 56 pith_cstring_release void 1 53 store value_type 55 -jmp L4432 -label L4434 -label L4432 +jmp L4353 +label L4355 +label L4353 iconst 57 0 -store __and_57_4438 57 +store __and_57_4359 57 load 58 ir_emitter_core_ir_current_func_returns_result -store __and_57_4438 58 -brif 58 L4438 L4439 -label L4438 +store __and_57_4359 58 +brif 58 L4359 L4360 +label L4359 load 59 obj_type call 60 ir_emitter_core_ir_index_supports_propagate bool 1 59 -store __and_57_4438 60 -label L4439 -load 61 __and_57_4438 -brif 61 L4436 L4437 -label L4436 +store __and_57_4359 60 +label L4360 +load 61 __and_57_4359 +brif 61 L4357 L4358 +label L4357 load 62 node field 63 62 16 list children iconst 64 1 @@ -186496,82 +185641,82 @@ call 74 pith_cstring_release void 1 73 load 75 call_name call 76 pith_cstring_release void 1 75 ret 70 -label L4437 -label L4435 +label L4358 +label L4356 load 77 call_name load 78 obj_type call 79 ir_collection_helpers_ir_index_get_call_name string 1 78 call 80 pith_cstring_release void 1 77 store call_name 79 load 81 obj_type -strref 82 m51s716 +strref 82 m51s717 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L4441 L4442 -label L4441 +brif 83 L4362 L4363 +label L4362 load 85 r load 86 call_name -strref 87 m51s716 +strref 87 m51s717 load 88 obj_r load 89 idx_r call 90 ir_call_emit_ir_emit_call2 void 5 85 86 87 88 89 call 91 pith_cstring_release void 1 87 -jmp L4440 -label L4442 +jmp L4361 +label L4363 load 92 obj_type -strref 93 m51s715 +strref 93 m51s716 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -brif 94 L4443 L4444 -label L4443 +brif 94 L4364 L4365 +label L4364 load 96 r load 97 call_name -strref 98 m51s712 +strref 98 m51s713 load 99 obj_r load 100 idx_r call 101 ir_call_emit_ir_emit_call2 void 5 96 97 98 99 100 call 102 pith_cstring_release void 1 98 -jmp L4440 -label L4444 +jmp L4361 +label L4365 iconst 103 0 -store __or_103_4447 103 +store __or_103_4368 103 load 104 obj_type -strref 105 m51s711 +strref 105 m51s712 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -store __or_103_4447 106 -brif 106 L4448 L4447 -label L4447 +store __or_103_4368 106 +brif 106 L4369 L4368 +label L4368 load 108 obj_type strref 109 m51s19 call 110 pith_cstring_eq bool 2 108 109 call 111 pith_cstring_release void 1 109 -store __or_103_4447 110 -label L4448 -load 112 __or_103_4447 -brif 112 L4445 L4446 -label L4445 +store __or_103_4368 110 +label L4369 +load 112 __or_103_4368 +brif 112 L4366 L4367 +label L4366 load 113 value_type call 114 string_len int 1 113 iconst 115 0 eq 116 114 115 -brif 116 L4450 L4451 -label L4450 +brif 116 L4371 L4372 +label L4371 load 117 value_type -strref 118 m51s869 +strref 118 m51s870 call 119 pith_cstring_release void 1 117 store value_type 118 -jmp L4449 -label L4451 -label L4449 +jmp L4370 +label L4372 +label L4370 load 120 r load 121 call_name load 122 value_type load 123 obj_r load 124 idx_r call 125 ir_call_emit_ir_emit_call2 void 5 120 121 122 123 124 -jmp L4440 -label L4446 +jmp L4361 +label L4367 load 126 r load 127 call_name load 128 idx @@ -186580,7 +185725,7 @@ load 130 obj_r load 131 idx_r call 132 ir_call_emit_ir_emit_call2 void 5 126 127 129 130 131 call 133 pith_cstring_release void 1 129 -label L4440 +label L4361 load 134 node field 135 134 16 list children iconst 136 1 @@ -186622,42 +185767,42 @@ load 1 obj_type strref 2 m51s19 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L4453 L4454 -label L4453 +brif 3 L4374 L4375 +label L4374 iconst 5 1 ret 5 -label L4454 -label L4452 +label L4375 +label L4373 load 6 obj_type -strref 7 m51s711 +strref 7 m51s712 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L4456 L4457 -label L4456 +brif 8 L4377 L4378 +label L4377 iconst 10 1 ret 10 -label L4457 -label L4455 +label L4378 +label L4376 load 11 obj_type strref 12 m51s20 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L4459 L4460 -label L4459 +brif 13 L4380 L4381 +label L4380 iconst 15 1 ret 15 -label L4460 -label L4458 +label L4381 +label L4379 load 16 obj_type -strref 17 m51s709 +strref 17 m51s710 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L4462 L4463 -label L4462 +brif 18 L4383 L4384 +label L4383 iconst 20 1 ret 20 -label L4463 -label L4461 +label L4384 +label L4382 iconst 21 0 ret 21 iconst 22 0 @@ -186746,15 +185891,15 @@ load 65 val_kind call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L4465 L4466 -label L4465 +brif 68 L4386 L4387 +label L4386 load 69 val_kind -strref 70 m51s869 +strref 70 m51s870 call 71 pith_cstring_release void 1 69 store val_kind 70 -jmp L4464 -label L4466 -label L4464 +jmp L4385 +label L4387 +label L4385 call 72 ir_builder_ir_reg int 0 store unwrapped_r 72 strref 73 m51s885 @@ -186808,20 +185953,20 @@ call 120 ir_call_emit_ir_emit_call1 void 4 116 117 118 119 call 121 pith_cstring_release void 1 117 call 122 pith_cstring_release void 1 118 iconst 123 0 -store __and_123_4470 123 +store __and_123_4391 123 load 124 ir_emitter_core_ir_emit_tests -store __and_123_4470 124 -brif 124 L4470 L4471 -label L4470 +store __and_123_4391 124 +brif 124 L4391 L4392 +label L4391 load 125 ir_emitter_core_ir_emitting_test_func -store __and_123_4470 125 -label L4471 -load 126 __and_123_4470 -brif 126 L4468 L4469 -label L4468 +store __and_123_4391 125 +label L4392 +load 126 __and_123_4391 +brif 126 L4389 L4390 +label L4389 call 127 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L4467 -label L4469 +jmp L4388 +label L4390 iconst 128 1 call 129 ir_emitter_core_ir_defer_emit_to_function_frame void 1 128 strref 130 m51s83 @@ -186855,7 +186000,7 @@ iconst 155 1 call 156 ir_emitter_core_ir_emit_main_error_report void 2 154 155 load 157 err_r call 158 ir_emitter_core_ir_emit_ret_err_value void 1 157 -label L4467 +label L4388 load 159 merge_l call 160 ir_call_emit_ir_emit_label void 1 159 load 161 unwrapped_r @@ -186893,23 +186038,23 @@ load 1 obj_type strref 2 m51s19 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L4473 L4474 -label L4473 -strref 5 m51s726 +brif 3 L4394 L4395 +label L4394 +strref 5 m51s727 ret 5 -label L4474 -label L4472 +label L4395 +label L4393 load 6 obj_type -strref 7 m51s711 +strref 7 m51s712 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L4476 L4477 -label L4476 -strref 10 m51s727 +brif 8 L4397 L4398 +label L4397 +strref 10 m51s728 ret 10 -label L4477 -label L4475 -strref 11 m51s745 +label L4398 +label L4396 +strref 11 m51s746 ret 11 iconst 12 0 ret 12 @@ -186937,7 +186082,7 @@ call 11 ast_get_node struct:Node 1 10 call 12 pith_struct_release void 1 9 store target 11 iconst 13 0 -store __or_13_4481 13 +store __or_13_4402 13 load 14 target field 15 14 0 string kind strref 16 m51s35 @@ -186945,19 +186090,19 @@ call 18 pith_cstring_eq bool 2 15 16 iconst 19 1 sub 17 19 18 call 20 pith_cstring_release void 1 16 -store __or_13_4481 17 -brif 17 L4482 L4481 -label L4481 +store __or_13_4402 17 +brif 17 L4403 L4402 +label L4402 load 21 target field 22 21 16 list children call 23 pith_list_len int 1 22 iconst 24 2 lt 25 23 24 -store __or_13_4481 25 -label L4482 -load 26 __or_13_4481 -brif 26 L4479 L4480 -label L4479 +store __or_13_4402 25 +label L4403 +load 26 __or_13_4402 +brif 26 L4400 L4401 +label L4400 iconst 27 0 load 28 target call 29 pith_struct_release void 1 28 @@ -186974,8 +186119,8 @@ call 39 pith_cstring_release void 1 38 load 40 owned_store call 41 pith_cstring_release void 1 40 ret 27 -label L4480 -label L4478 +label L4401 +label L4399 load 42 target field 43 42 16 list children iconst 44 0 @@ -187005,8 +186150,8 @@ load 63 obj_type call 64 string_len int 1 63 iconst 65 0 eq 66 64 65 -brif 66 L4484 L4485 -label L4484 +brif 66 L4405 L4406 +label L4405 load 67 obj_type load 68 target field 69 68 16 list children @@ -187015,15 +186160,15 @@ call 71 pith_list_get_value_strict int 2 69 70 call 72 ir_emitter_core_ir_infer_type string 1 71 call 73 pith_cstring_release void 1 67 store obj_type 72 -jmp L4483 -label L4485 -label L4483 +jmp L4404 +label L4406 +label L4404 load 74 value_type call 75 string_len int 1 74 iconst 76 0 eq 77 75 76 -brif 77 L4487 L4488 -label L4487 +brif 77 L4408 L4409 +label L4408 load 78 value_type load 79 target field 80 79 16 list children @@ -187032,23 +186177,23 @@ call 82 pith_list_get_value_strict int 2 80 81 call 83 ir_emitter_core_ir_lookup_map_value_type_for_expr string 1 82 call 84 pith_cstring_release void 1 78 store value_type 83 -jmp L4486 -label L4488 -label L4486 +jmp L4407 +label L4409 +label L4407 load 85 value_type call 86 string_len int 1 85 iconst 87 0 eq 88 86 87 -brif 88 L4490 L4491 -label L4490 +brif 88 L4411 L4412 +label L4411 load 89 value_type load 90 value_idx call 91 ir_emitter_core_ir_infer_type string 1 90 call 92 pith_cstring_release void 1 89 store value_type 91 -jmp L4489 -label L4491 -label L4489 +jmp L4410 +label L4412 +label L4410 load 93 value_idx load 94 value_type call 95 ir_emitter_core_ir_emit_value_for_target int 2 93 94 @@ -187075,44 +186220,44 @@ call 111 ir_emitter_core_ir_map_kind_store_name string 2 107 109 call 112 pith_cstring_release void 1 106 store idx_kind_store 111 iconst 113 0 -store __and_113_4495 113 +store __and_113_4416 113 load 114 idx_kind_store call 115 string_len int 1 114 iconst 116 0 eq 117 115 116 -store __and_113_4495 117 -brif 117 L4495 L4496 -label L4495 +store __and_113_4416 117 +brif 117 L4416 L4417 +label L4416 load 118 idx_borrowed -store __and_113_4495 118 -label L4496 -load 119 __and_113_4495 -brif 119 L4493 L4494 -label L4493 +store __and_113_4416 118 +label L4417 +load 119 __and_113_4416 +brif 119 L4414 L4415 +label L4414 load 120 idx_kind_store load 121 set_name call 122 ir_emitter_core_ir_list_kind_store_name string 1 121 call 123 pith_cstring_release void 1 120 store idx_kind_store 122 -jmp L4492 -label L4494 -label L4492 +jmp L4413 +label L4415 +label L4413 iconst 124 0 -store __and_124_4500 124 +store __and_124_4421 124 load 125 idx_kind_store call 126 string_len int 1 125 iconst 127 0 gt 128 126 127 -store __and_124_4500 128 -brif 128 L4500 L4501 -label L4500 +store __and_124_4421 128 +brif 128 L4421 L4422 +label L4421 load 129 idx_store_kind call 130 ir_emitter_core_ir_store_learns_kind bool 1 129 -store __and_124_4500 130 -label L4501 -load 131 __and_124_4500 -brif 131 L4498 L4499 -label L4498 +store __and_124_4421 130 +label L4422 +load 131 __and_124_4421 +brif 131 L4419 L4420 +label L4419 load 132 idx_store_kind call 133 ir_emitter_core_ir_emit_element_tag_const int 1 132 store tag_r 133 @@ -187147,23 +186292,23 @@ call 161 pith_cstring_release void 1 160 load 162 owned_store call 163 pith_cstring_release void 1 162 ret 149 -label L4499 -label L4497 +label L4420 +label L4418 iconst 164 0 -store __and_164_4505 164 +store __and_164_4426 164 load 165 idx_borrowed iconst 167 1 sub 166 167 165 -store __and_164_4505 166 -brif 166 L4505 L4506 -label L4505 +store __and_164_4426 166 +brif 166 L4426 L4427 +label L4426 load 168 idx_store_kind call 169 ir_emitter_core_ir_container_store_takes_count bool 1 168 -store __and_164_4505 169 -label L4506 -load 170 __and_164_4505 -brif 170 L4503 L4504 -label L4503 +store __and_164_4426 169 +label L4427 +load 170 __and_164_4426 +brif 170 L4424 L4425 +label L4424 load 171 owned_store load 172 set_name call 173 ir_emitter_core_ir_owned_container_store_name string 1 172 @@ -187173,19 +186318,19 @@ load 175 owned_store call 176 string_len int 1 175 iconst 177 0 gt 178 176 177 -brif 178 L4508 L4509 -label L4508 +brif 178 L4429 L4430 +label L4429 load 179 set_name load 180 owned_store call 181 pith_cstring_retain void 1 180 call 182 pith_cstring_release void 1 179 store set_name 180 -jmp L4507 -label L4509 -label L4507 -jmp L4502 -label L4504 -label L4502 +jmp L4428 +label L4430 +label L4428 +jmp L4423 +label L4425 +label L4423 call 183 ir_builder_ir_reg int 0 load 184 set_name strref 185 m51s876 @@ -187243,159 +186388,159 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __or_6_4513 6 +store __or_6_4434 6 iconst 7 0 -store __or_7_4513 7 +store __or_7_4434 7 load 8 node field 9 8 0 string kind strref 10 m51s531 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_7_4513 11 -brif 11 L4514 L4513 -label L4513 +store __or_7_4434 11 +brif 11 L4435 L4434 +label L4434 load 13 node field 14 13 0 string kind -strref 15 m51s712 +strref 15 m51s713 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_7_4513 16 -label L4514 -load 18 __or_7_4513 -store __or_6_4513 18 -brif 18 L4516 L4515 -label L4515 +store __or_7_4434 16 +label L4435 +load 18 __or_7_4434 +store __or_6_4434 18 +brif 18 L4437 L4436 +label L4436 load 19 node field 20 19 0 string kind strref 21 m51s1103 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_6_4513 22 -label L4516 -load 24 __or_6_4513 -brif 24 L4511 L4512 -label L4511 +store __or_6_4434 22 +label L4437 +load 24 __or_6_4434 +brif 24 L4432 L4433 +label L4432 load 25 node call 26 ir_literals_ir_emit_int_literal int 1 25 load 27 node call 28 pith_struct_release void 1 27 ret 26 -label L4512 -label L4510 +label L4433 +label L4431 iconst 29 0 -store __or_29_4520 29 +store __or_29_4441 29 iconst 30 0 -store __or_30_4520 30 +store __or_30_4441 30 load 31 node field 32 31 0 string kind strref 33 m51s529 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_30_4520 34 -brif 34 L4521 L4520 -label L4520 +store __or_30_4441 34 +brif 34 L4442 L4441 +label L4441 load 36 node field 37 36 0 string kind -strref 38 m51s716 +strref 38 m51s717 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __or_30_4520 39 -label L4521 -load 41 __or_30_4520 -store __or_29_4520 41 -brif 41 L4523 L4522 -label L4522 +store __or_30_4441 39 +label L4442 +load 41 __or_30_4441 +store __or_29_4441 41 +brif 41 L4444 L4443 +label L4443 load 42 node field 43 42 0 string kind strref 44 m51s1076 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_29_4520 45 -label L4523 -load 47 __or_29_4520 -brif 47 L4518 L4519 -label L4518 +store __or_29_4441 45 +label L4444 +load 47 __or_29_4441 +brif 47 L4439 L4440 +label L4439 load 48 node call 49 ir_literals_ir_emit_string_literal int 1 48 load 50 node call 51 pith_struct_release void 1 50 ret 49 -label L4519 -label L4517 +label L4440 +label L4438 iconst 52 0 -store __or_52_4527 52 +store __or_52_4448 52 load 53 node field 54 53 0 string kind strref 55 m51s530 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __or_52_4527 56 -brif 56 L4528 L4527 -label L4527 +store __or_52_4448 56 +brif 56 L4449 L4448 +label L4448 load 58 node field 59 58 0 string kind -strref 60 m51s713 +strref 60 m51s714 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __or_52_4527 61 -label L4528 -load 63 __or_52_4527 -brif 63 L4525 L4526 -label L4525 +store __or_52_4448 61 +label L4449 +load 63 __or_52_4448 +brif 63 L4446 L4447 +label L4446 load 64 node call 65 ir_literals_ir_emit_float_literal int 1 64 load 66 node call 67 pith_struct_release void 1 66 ret 65 -label L4526 -label L4524 +label L4447 +label L4445 iconst 68 0 -store __or_68_4532 68 +store __or_68_4453 68 load 69 node field 70 69 0 string kind -strref 71 m51s714 +strref 71 m51s715 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_68_4532 72 -brif 72 L4533 L4532 -label L4532 +store __or_68_4453 72 +brif 72 L4454 L4453 +label L4453 load 74 node field 75 74 0 string kind strref 76 m51s528 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_68_4532 77 -label L4533 -load 79 __or_68_4532 -brif 79 L4530 L4531 -label L4530 +store __or_68_4453 77 +label L4454 +load 79 __or_68_4453 +brif 79 L4451 L4452 +label L4451 load 80 node call 81 ir_literals_ir_emit_bool_literal int 1 80 load 82 node call 83 pith_struct_release void 1 82 ret 81 -label L4531 -label L4529 +label L4452 +label L4450 load 84 node field 85 84 0 string kind strref 86 m51s494 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L4535 L4536 -label L4535 +brif 87 L4456 L4457 +label L4456 call 89 ir_optionals_ir_emit_optional_none_value int 0 load 90 node call 91 pith_struct_release void 1 90 ret 89 -label L4536 -label L4534 +label L4457 +label L4455 load 92 node field 93 92 0 string kind strref 94 m51s37 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -brif 95 L4538 L4539 -label L4538 +brif 95 L4459 L4460 +label L4459 load 97 idx load 98 node field 99 98 8 string value @@ -187403,15 +186548,15 @@ call 100 ir_emitter_core_ir_emit_ident_load int 2 97 99 load 101 node call 102 pith_struct_release void 1 101 ret 100 -label L4539 -label L4537 +label L4460 +label L4458 load 103 node field 104 103 0 string kind strref 105 m51s527 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -brif 106 L4541 L4542 -label L4541 +brif 106 L4462 L4463 +label L4462 load 108 idx strref 109 m51s527 call 110 ir_emitter_core_ir_emit_ident_load int 2 108 109 @@ -187419,57 +186564,57 @@ call 111 pith_cstring_release void 1 109 load 112 node call 113 pith_struct_release void 1 112 ret 110 -label L4542 -label L4540 +label L4463 +label L4461 load 114 node field 115 114 0 string kind strref 116 m51s525 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L4544 L4545 -label L4544 +brif 117 L4465 L4466 +label L4465 load 119 node call 120 ir_emitter_core_ir_emit_unary_expr int 1 119 load 121 node call 122 pith_struct_release void 1 121 ret 120 -label L4545 -label L4543 +label L4466 +label L4464 load 123 node field 124 123 0 string kind strref 125 m51s526 call 126 pith_cstring_eq bool 2 124 125 call 127 pith_cstring_release void 1 125 -brif 126 L4547 L4548 -label L4547 +brif 126 L4468 L4469 +label L4468 load 128 node call 129 ir_emitter_core_ir_emit_binary_expr int 1 128 load 130 node call 131 pith_struct_release void 1 130 ret 129 -label L4548 -label L4546 +label L4469 +label L4467 load 132 node field 133 132 0 string kind strref 134 m51s44 call 135 pith_cstring_eq bool 2 133 134 call 136 pith_cstring_release void 1 134 -brif 135 L4550 L4551 -label L4550 +brif 135 L4471 L4472 +label L4471 load 137 idx load 138 node call 139 ir_emitter_core_ir_emit_static_call int 2 137 138 load 140 node call 141 pith_struct_release void 1 140 ret 139 -label L4551 +label L4472 load 142 idx load 143 node call 144 ir_emitter_core_ir_expr_complex int 2 142 143 load 145 node call 146 pith_struct_release void 1 145 ret 144 -label L4549 +label L4470 load 147 node call 148 pith_struct_release void 1 147 iconst 149 0 @@ -187524,8 +186669,8 @@ field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 gt 18 16 17 -brif 18 L4553 L4554 -label L4553 +brif 18 L4474 L4475 +label L4474 load 19 recv_node load 20 node field 21 20 16 list children @@ -187535,46 +186680,46 @@ call 24 ast_get_node struct:Node 1 23 call 25 pith_struct_release void 1 19 store recv_node 24 iconst 26 0 -store __and_26_4558 26 +store __and_26_4479 26 load 27 recv_node field 28 27 0 string kind strref 29 m51s37 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __and_26_4558 30 -brif 30 L4558 L4559 -label L4558 +store __and_26_4479 30 +brif 30 L4479 L4480 +label L4479 load 32 ir_alias_registry_ir_module_aliases load 33 recv_node field 34 33 8 string value call 35 contains_key bool 2 32 34 -store __and_26_4558 35 -label L4559 -load 36 __and_26_4558 -brif 36 L4556 L4557 -label L4556 +store __and_26_4479 35 +label L4480 +load 36 __and_26_4479 +brif 36 L4477 L4478 +label L4477 load 37 idx call 38 checker_c_get_expr_type int 1 37 store expr_tid 38 iconst 39 0 -store __and_39_4563 39 +store __and_39_4484 39 load 40 expr_tid iconst 41 0 gte 42 40 41 -store __and_39_4563 42 -brif 42 L4563 L4564 -label L4563 +store __and_39_4484 42 +brif 42 L4484 L4485 +label L4484 load 43 expr_tid call 44 types_get_type_info struct:TypeInfo 1 43 field 45 44 0 string kind strref 46 m51s24 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __and_39_4563 47 -label L4564 -load 49 __and_39_4563 -brif 49 L4561 L4562 -label L4561 +store __and_39_4484 47 +label L4485 +load 49 __and_39_4484 +brif 49 L4482 L4483 +label L4482 load 50 callee load 51 idx call 52 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 51 @@ -187585,8 +186730,8 @@ field 55 54 0 string name call 56 string_len int 1 55 iconst 57 0 gt 58 56 57 -brif 58 L4566 L4567 -label L4566 +brif 58 L4487 L4488 +label L4487 call 59 ir_builder_ir_reg int 0 store r 59 load 60 wrapper @@ -187629,11 +186774,11 @@ call 95 pith_cstring_release void 1 94 load 96 variant_key call 97 pith_cstring_release void 1 96 ret 81 -label L4567 -label L4565 -jmp L4560 -label L4562 -label L4560 +label L4488 +label L4486 +jmp L4481 +label L4483 +label L4481 load 98 module_path load 99 ir_alias_registry_ir_module_aliases load 100 recv_node @@ -187645,8 +186790,8 @@ store module_path 102 load 105 module_path load 106 fname call 107 ir_alias_registry_ir_import_declares_global bool 2 105 106 -brif 107 L4569 L4570 -label L4569 +brif 107 L4490 L4491 +label L4490 call 108 ir_builder_ir_reg int 0 store r 108 strref 109 m51s877 @@ -187685,31 +186830,31 @@ call 141 pith_cstring_release void 1 140 load 142 variant_key call 143 pith_cstring_release void 1 142 ret 127 -label L4570 -label L4568 -jmp L4555 -label L4557 -label L4555 +label L4491 +label L4489 +jmp L4476 +label L4478 +label L4476 iconst 144 0 -store __and_144_4574 144 +store __and_144_4495 144 load 145 recv_node field 146 145 0 string kind strref 147 m51s36 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 -store __and_144_4574 148 -brif 148 L4574 L4575 -label L4574 +store __and_144_4495 148 +brif 148 L4495 L4496 +label L4495 load 150 recv_node field 151 150 16 list children call 152 pith_list_len int 1 151 iconst 153 0 gt 154 152 153 -store __and_144_4574 154 -label L4575 -load 155 __and_144_4574 -brif 155 L4572 L4573 -label L4572 +store __and_144_4495 154 +label L4496 +load 155 __and_144_4495 +brif 155 L4493 L4494 +label L4493 load 156 base_node load 157 recv_node field 158 157 16 list children @@ -187719,24 +186864,24 @@ call 161 ast_get_node struct:Node 1 160 call 162 pith_struct_release void 1 156 store base_node 161 iconst 163 0 -store __and_163_4579 163 +store __and_163_4500 163 load 164 base_node field 165 164 0 string kind strref 166 m51s37 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -store __and_163_4579 167 -brif 167 L4579 L4580 -label L4579 +store __and_163_4500 167 +brif 167 L4500 L4501 +label L4500 load 169 ir_alias_registry_ir_module_aliases load 170 base_node field 171 170 8 string value call 172 contains_key bool 2 169 171 -store __and_163_4579 172 -label L4580 -load 173 __and_163_4579 -brif 173 L4577 L4578 -label L4577 +store __and_163_4500 172 +label L4501 +load 173 __and_163_4500 +brif 173 L4498 L4499 +label L4498 load 174 ename load 175 recv_node field 176 175 8 string value @@ -187756,31 +186901,31 @@ store variant_key 185 load 188 ir_struct_registry_ir_struct_field_index_lookup load 189 variant_key call 190 contains_key bool 2 188 189 -brif 190 L4582 L4583 -label L4582 +brif 190 L4503 L4504 +label L4503 iconst 191 0 -store __and_191_4587 191 +store __and_191_4508 191 load 192 ir_struct_registry_ir_struct_field_lookup load 193 variant_key call 194 contains_key bool 2 192 193 -store __and_191_4587 194 -brif 194 L4587 L4588 -label L4587 +store __and_191_4508 194 +brif 194 L4508 L4509 +label L4508 load 195 ir_struct_registry_ir_struct_field_lookup load 196 variant_key call 197 map_get_strict string 2 195 196 load 198 ename call 199 pith_cstring_eq bool 2 197 198 -store __and_191_4587 199 -label L4588 -load 200 __and_191_4587 -brif 200 L4585 L4586 -label L4585 +store __and_191_4508 199 +label L4509 +load 200 __and_191_4508 +brif 200 L4506 L4507 +label L4506 load 201 ir_struct_registry_ir_boxed_enums load 202 ename call 203 contains_key bool 2 201 202 -brif 203 L4590 L4591 -label L4590 +brif 203 L4511 L4512 +label L4511 load 204 ename load 205 variant_key iconst 206 0 @@ -187802,8 +186947,8 @@ call 221 pith_cstring_release void 1 220 load 222 variant_key call 223 pith_cstring_release void 1 222 ret 207 -label L4591 -label L4589 +label L4512 +label L4510 call 224 ir_builder_ir_reg int 0 store r 224 strref 225 m51s880 @@ -187841,17 +186986,17 @@ call 256 pith_cstring_release void 1 255 load 257 variant_key call 258 pith_cstring_release void 1 257 ret 242 -label L4586 -label L4584 -jmp L4581 -label L4583 -label L4581 -jmp L4576 -label L4578 -label L4576 -jmp L4571 -label L4573 -label L4571 +label L4507 +label L4505 +jmp L4502 +label L4504 +label L4502 +jmp L4497 +label L4499 +label L4497 +jmp L4492 +label L4494 +label L4492 load 259 node field 260 259 16 list children iconst 261 0 @@ -187866,8 +187011,8 @@ store result_r 267 load 268 result_r iconst 269 0 gte 270 268 269 -brif 270 L4593 L4594 -label L4593 +brif 270 L4514 L4515 +label L4514 load 271 result_r load 272 fname call 273 pith_cstring_release void 1 272 @@ -187886,8 +187031,8 @@ call 285 pith_cstring_release void 1 284 load 286 variant_key call 287 pith_cstring_release void 1 286 ret 271 -label L4594 -label L4592 +label L4515 +label L4513 load 288 idx load 289 node load 290 obj_r @@ -187909,8 +187054,8 @@ call 305 pith_cstring_release void 1 304 load 306 variant_key call 307 pith_cstring_release void 1 306 ret 291 -label L4554 -label L4552 +label L4475 +label L4473 load 308 idx load 309 node iconst 310 0 @@ -187960,12 +187105,12 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 eq 5 3 4 -brif 5 L4596 L4597 -label L4596 +brif 5 L4517 L4518 +label L4517 call 6 ir_emitter_core_ir_emit_zero_value int 0 ret 6 -label L4597 -label L4595 +label L4518 +label L4516 load 7 node field 8 7 16 list children iconst 9 0 @@ -187976,7 +187121,7 @@ call 12 ir_builder_ir_reg int 0 store r 12 load 13 r strref 14 m51s509 -strref 15 m51s869 +strref 15 m51s870 load 16 task_r call 17 ir_call_emit_ir_emit_call1 void 4 13 14 15 16 call 18 pith_cstring_release void 1 14 @@ -188004,8 +187149,8 @@ load 11 err_kind call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L4599 L4600 -label L4599 +brif 14 L4520 L4521 +label L4520 load 15 result_r load 16 result_tid strref 17 m51s189 @@ -188015,9 +187160,9 @@ store err_r 18 load 20 err_r load 21 err_kind call 22 ir_ownership_ir_rc_release_reg void 2 20 21 -jmp L4598 -label L4600 -label L4598 +jmp L4519 +label L4521 +label L4519 load 23 err_kind call 24 pith_cstring_release void 1 23 iconst 25 0 @@ -188088,8 +187233,8 @@ load 51 ok_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -brif 54 L4602 L4603 -label L4602 +brif 54 L4523 L4524 +label L4523 load 55 result_r load 56 result_tid strref 57 m51s190 @@ -188099,9 +187244,9 @@ store ok_r 58 load 60 ok_r load 61 ok_kind call 62 ir_ownership_ir_rc_release_reg void 2 60 61 -jmp L4601 -label L4603 -label L4601 +jmp L4522 +label L4524 +label L4522 strref 63 m51s881 load 64 done_l concat 65 63 64 @@ -188169,8 +187314,8 @@ store result_r 16 load 17 saved_defer store ir_emitter_core_ir_rcall_defer_idx 17 load 18 ir_emitter_core_ir_rcall_pair_ready -brif 18 L4605 L4606 -label L4605 +brif 18 L4526 L4527 +label L4526 iconst 19 0 store ir_emitter_core_ir_rcall_pair_ready 19 load 20 node @@ -188188,8 +187333,8 @@ call 31 pith_cstring_release void 1 30 load 32 merge_l call 33 pith_cstring_release void 1 32 ret 23 -label L4606 -label L4604 +label L4527 +label L4525 load 34 node field 35 34 16 list children iconst 36 0 @@ -188261,8 +187406,8 @@ load 93 operand_class strref 94 m51s1259 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -brif 95 L4608 L4609 -label L4608 +brif 95 L4529 L4530 +label L4529 load 97 ok_value_r load 98 result_tid strref 99 m51s190 @@ -188272,8 +187417,8 @@ call 102 ir_struct_registry_ir_rc_kind string 1 100 call 103 pith_cstring_release void 1 100 call 104 ir_ownership_ir_rc_retain_reg void 2 97 102 call 105 pith_cstring_release void 1 102 -jmp L4607 -label L4609 +jmp L4528 +label L4530 call 106 ir_builder_ir_reg int 0 strref 107 m51s946 strref 108 m51s876 @@ -188281,7 +187426,7 @@ load 109 result_r call 110 ir_call_emit_ir_emit_call1 void 4 106 107 108 109 call 111 pith_cstring_release void 1 107 call 112 pith_cstring_release void 1 108 -label L4607 +label L4528 strref 113 m51s878 load 114 temp_name concat 115 113 114 @@ -188311,8 +187456,8 @@ call 139 pith_cstring_eq bool 2 136 137 iconst 140 1 sub 138 140 139 call 141 pith_cstring_release void 1 137 -brif 138 L4611 L4612 -label L4611 +brif 138 L4532 L4533 +label L4532 load 142 result_r load 143 result_tid call 144 ir_emitter_core_ir_emit_release_result_error void 2 142 143 @@ -188323,9 +187468,9 @@ load 148 result_r call 149 ir_call_emit_ir_emit_call1 void 4 145 146 147 148 call 150 pith_cstring_release void 1 146 call 151 pith_cstring_release void 1 147 -jmp L4610 -label L4612 -label L4610 +jmp L4531 +label L4533 +label L4531 load 152 node field 153 152 16 list children iconst 154 1 @@ -188337,8 +187482,8 @@ field 158 157 16 list children iconst 159 1 call 160 pith_list_get_value_strict int 2 158 159 call 161 ir_emitter_core_ir_string_expr_is_borrowed bool 1 160 -brif 161 L4614 L4615 -label L4614 +brif 161 L4535 L4536 +label L4535 load 162 fallback_r load 163 node field 164 163 16 list children @@ -188349,9 +187494,9 @@ call 168 ir_struct_registry_ir_rc_kind string 1 167 call 169 pith_cstring_release void 1 167 call 170 ir_ownership_ir_rc_retain_reg void 2 162 168 call 171 pith_cstring_release void 1 168 -jmp L4613 -label L4615 -label L4613 +jmp L4534 +label L4536 +label L4534 strref 172 m51s878 load 173 temp_name concat 174 172 173 @@ -188509,14 +187654,14 @@ load 82 err_kind call 83 string_len int 1 82 iconst 84 0 gt 85 83 84 -brif 85 L4617 L4618 -label L4617 +brif 85 L4538 L4539 +label L4538 load 86 val_r load 87 err_kind call 88 ir_ownership_ir_rc_release_reg void 2 86 87 -jmp L4616 -label L4618 -label L4616 +jmp L4537 +label L4539 +label L4537 load 89 node field 90 89 16 list children iconst 91 1 @@ -188602,8 +187747,8 @@ store result_r 16 load 17 saved_defer store ir_emitter_core_ir_rcall_defer_idx 17 load 18 ir_emitter_core_ir_rcall_pair_ready -brif 18 L4620 L4621 -label L4620 +brif 18 L4541 L4542 +label L4541 iconst 19 0 store ir_emitter_core_ir_rcall_pair_ready 19 load 20 node @@ -188621,8 +187766,8 @@ call 31 pith_cstring_release void 1 30 load 32 merge_l call 33 pith_cstring_release void 1 32 ret 23 -label L4621 -label L4619 +label L4542 +label L4540 load 34 node field 35 34 16 list children iconst 36 0 @@ -188694,8 +187839,8 @@ load 93 operand_class strref 94 m51s1259 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -brif 95 L4623 L4624 -label L4623 +brif 95 L4544 L4545 +label L4544 load 97 ok_value_r load 98 result_tid strref 99 m51s190 @@ -188705,8 +187850,8 @@ call 102 ir_struct_registry_ir_rc_kind string 1 100 call 103 pith_cstring_release void 1 100 call 104 ir_ownership_ir_rc_retain_reg void 2 97 102 call 105 pith_cstring_release void 1 102 -jmp L4622 -label L4624 +jmp L4543 +label L4545 call 106 ir_builder_ir_reg int 0 strref 107 m51s946 strref 108 m51s876 @@ -188714,7 +187859,7 @@ load 109 result_r call 110 ir_call_emit_ir_emit_call1 void 4 106 107 108 109 call 111 pith_cstring_release void 1 107 call 112 pith_cstring_release void 1 108 -label L4622 +label L4543 strref 113 m51s878 load 114 temp_name concat 115 113 114 @@ -188744,8 +187889,8 @@ call 139 pith_cstring_eq bool 2 136 137 iconst 140 1 sub 138 140 139 call 141 pith_cstring_release void 1 137 -brif 138 L4626 L4627 -label L4626 +brif 138 L4547 L4548 +label L4547 load 142 result_r load 143 result_tid call 144 ir_emitter_core_ir_emit_release_result_error void 2 142 143 @@ -188756,9 +187901,9 @@ load 148 result_r call 149 ir_call_emit_ir_emit_call1 void 4 145 146 147 148 call 150 pith_cstring_release void 1 146 call 151 pith_cstring_release void 1 147 -jmp L4625 -label L4627 -label L4625 +jmp L4546 +label L4548 +label L4546 load 152 node field 153 152 16 list children iconst 154 1 @@ -188821,16 +187966,16 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 gt 5 3 4 -brif 5 L4629 L4630 -label L4629 +brif 5 L4550 L4551 +label L4550 load 6 node field 7 6 16 list children iconst 8 0 call 9 pith_list_get_value_strict int 2 7 8 call 10 ir_emitter_core_ir_expr int 1 9 ret 10 -label L4630 -label L4628 +label L4551 +label L4549 call 11 ir_emitter_core_ir_emit_zero_value int 0 ret 11 iconst 12 0 @@ -188852,13 +187997,13 @@ load 8 kind strref 9 m51s513 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4632 L4633 -label L4632 +brif 10 L4553 L4554 +label L4553 load 12 idx load 13 ir_match_emit_ir_tail_match_node eq 14 12 13 -brif 14 L4635 L4636 -label L4635 +brif 14 L4556 L4557 +label L4556 load 15 idx load 16 node closure_ref 17 ir_emitter_core___fnval_0 @@ -188874,8 +188019,8 @@ call 26 pith_cstring_release void 1 25 load 27 checked_lit call 28 pith_cstring_release void 1 27 ret 24 -label L4636 -label L4634 +label L4557 +label L4555 load 29 idx load 30 node closure_ref 31 ir_emitter_core___fnval_0 @@ -188888,14 +188033,14 @@ call 37 pith_cstring_release void 1 36 load 38 checked_lit call 39 pith_cstring_release void 1 38 ret 33 -label L4633 -label L4631 +label L4554 +label L4552 load 40 kind strref 41 m51s519 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -brif 42 L4638 L4639 -label L4638 +brif 42 L4559 L4560 +label L4559 load 44 node closure_ref 45 ir_emitter_core___fnval_0 call 46 ir_match_emit_ir_emit_if_expr int 2 44 45 @@ -188905,14 +188050,14 @@ call 49 pith_cstring_release void 1 48 load 50 checked_lit call 51 pith_cstring_release void 1 50 ret 46 -label L4639 -label L4637 +label L4560 +label L4558 load 52 kind strref 53 m51s130 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L4641 L4642 -label L4641 +brif 54 L4562 L4563 +label L4562 load 56 idx call 57 ir_emitter_core_ir_emit_method_call int 1 56 load 58 kind @@ -188920,14 +188065,14 @@ call 59 pith_cstring_release void 1 58 load 60 checked_lit call 61 pith_cstring_release void 1 60 ret 57 -label L4642 -label L4640 +label L4563 +label L4561 load 62 kind strref 63 m51s523 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -brif 64 L4644 L4645 -label L4644 +brif 64 L4565 L4566 +label L4565 load 66 idx call 67 ir_emitter_core_ir_emit_string_interp int 1 66 load 68 kind @@ -188935,37 +188080,37 @@ call 69 pith_cstring_release void 1 68 load 70 checked_lit call 71 pith_cstring_release void 1 70 ret 67 -label L4645 -label L4643 +label L4566 +label L4564 load 72 kind strref 73 m51s19 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -brif 74 L4647 L4648 -label L4647 +brif 74 L4568 L4569 +label L4568 load 76 checked_lit load 77 idx call 78 ir_type_helpers_ir_checked_type string 1 77 call 79 pith_cstring_release void 1 76 store checked_lit 78 iconst 80 0 -store __or_80_4652 80 +store __or_80_4573 80 load 81 checked_lit strref 82 m51s18 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -store __or_80_4652 83 -brif 83 L4653 L4652 -label L4652 +store __or_80_4573 83 +brif 83 L4574 L4573 +label L4573 load 85 checked_lit -strref 86 m51s710 +strref 86 m51s711 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_80_4652 87 -label L4653 -load 89 __or_80_4652 -brif 89 L4650 L4651 -label L4650 +store __or_80_4573 87 +label L4574 +load 89 __or_80_4573 +brif 89 L4571 L4572 +label L4571 load 90 idx load 91 node call 92 ir_emitter_core_ir_emit_set_literal int 2 90 91 @@ -188974,8 +188119,8 @@ call 94 pith_cstring_release void 1 93 load 95 checked_lit call 96 pith_cstring_release void 1 95 ret 92 -label L4651 -label L4649 +label L4572 +label L4570 load 97 idx load 98 node call 99 ir_emitter_core_ir_emit_map_literal int 2 97 98 @@ -188984,14 +188129,14 @@ call 101 pith_cstring_release void 1 100 load 102 checked_lit call 103 pith_cstring_release void 1 102 ret 99 -label L4648 -label L4646 +label L4569 +label L4567 load 104 kind strref 105 m51s18 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -brif 106 L4655 L4656 -label L4655 +brif 106 L4576 L4577 +label L4576 load 108 idx load 109 node call 110 ir_emitter_core_ir_emit_set_literal int 2 108 109 @@ -189000,14 +188145,14 @@ call 112 pith_cstring_release void 1 111 load 113 checked_lit call 114 pith_cstring_release void 1 113 ret 110 -label L4656 -label L4654 +label L4577 +label L4575 load 115 kind strref 116 m51s20 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L4658 L4659 -label L4658 +brif 117 L4579 L4580 +label L4579 load 119 idx load 120 node call 121 ir_emitter_core_ir_emit_list_literal int 2 119 120 @@ -189016,14 +188161,14 @@ call 123 pith_cstring_release void 1 122 load 124 checked_lit call 125 pith_cstring_release void 1 124 ret 121 -label L4659 -label L4657 +label L4580 +label L4578 load 126 kind strref 127 m51s23 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L4661 L4662 -label L4661 +brif 128 L4582 L4583 +label L4582 load 130 node call 131 ir_emitter_core_ir_emit_tuple_literal int 1 130 load 132 kind @@ -189031,14 +188176,14 @@ call 133 pith_cstring_release void 1 132 load 134 checked_lit call 135 pith_cstring_release void 1 134 ret 131 -label L4662 -label L4660 +label L4583 +label L4581 load 136 kind strref 137 m51s511 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 -brif 138 L4664 L4665 -label L4664 +brif 138 L4585 L4586 +label L4585 load 140 idx load 141 node call 142 ir_emitter_core_ir_emit_struct_init int 2 140 141 @@ -189047,14 +188192,14 @@ call 144 pith_cstring_release void 1 143 load 145 checked_lit call 146 pith_cstring_release void 1 145 ret 142 -label L4665 -label L4663 +label L4586 +label L4584 load 147 kind strref 148 m51s36 call 149 pith_cstring_eq bool 2 147 148 call 150 pith_cstring_release void 1 148 -brif 149 L4667 L4668 -label L4667 +brif 149 L4588 L4589 +label L4588 load 151 idx load 152 node call 153 ir_emitter_core_ir_emit_field_access_expr int 2 151 152 @@ -189063,14 +188208,14 @@ call 155 pith_cstring_release void 1 154 load 156 checked_lit call 157 pith_cstring_release void 1 156 ret 153 -label L4668 -label L4666 +label L4589 +label L4587 load 158 kind strref 159 m51s512 call 160 pith_cstring_eq bool 2 158 159 call 161 pith_cstring_release void 1 159 -brif 160 L4670 L4671 -label L4670 +brif 160 L4591 L4592 +label L4591 load 162 idx call 163 ir_emitter_core_ir_emit_lambda int 1 162 load 164 kind @@ -189078,14 +188223,14 @@ call 165 pith_cstring_release void 1 164 load 166 checked_lit call 167 pith_cstring_release void 1 166 ret 163 -label L4671 -label L4669 +label L4592 +label L4590 load 168 kind strref 169 m51s510 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 -brif 170 L4673 L4674 -label L4673 +brif 170 L4594 L4595 +label L4594 load 172 node call 173 ir_emitter_core_ir_emit_spawn_expr int 1 172 load 174 kind @@ -189093,14 +188238,14 @@ call 175 pith_cstring_release void 1 174 load 176 checked_lit call 177 pith_cstring_release void 1 176 ret 173 -label L4674 -label L4672 +label L4595 +label L4593 load 178 kind strref 179 m51s509 call 180 pith_cstring_eq bool 2 178 179 call 181 pith_cstring_release void 1 179 -brif 180 L4676 L4677 -label L4676 +brif 180 L4597 L4598 +label L4597 load 182 node call 183 ir_emitter_core_ir_emit_await_expr int 1 182 load 184 kind @@ -189108,14 +188253,14 @@ call 185 pith_cstring_release void 1 184 load 186 checked_lit call 187 pith_cstring_release void 1 186 ret 183 -label L4677 -label L4675 +label L4598 +label L4596 load 188 kind strref 189 m51s518 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -brif 190 L4679 L4680 -label L4679 +brif 190 L4600 L4601 +label L4600 load 192 node call 193 ir_emitter_core_ir_emit_optional_unwrap int 1 192 load 194 kind @@ -189123,26 +188268,26 @@ call 195 pith_cstring_release void 1 194 load 196 checked_lit call 197 pith_cstring_release void 1 196 ret 193 -label L4680 -label L4678 +label L4601 +label L4599 iconst 198 0 -store __or_198_4684 198 +store __or_198_4605 198 load 199 kind strref 200 m51s517 call 201 pith_cstring_eq bool 2 199 200 call 202 pith_cstring_release void 1 200 -store __or_198_4684 201 -brif 201 L4685 L4684 -label L4684 +store __or_198_4605 201 +brif 201 L4606 L4605 +label L4605 load 203 kind strref 204 m51s579 call 205 pith_cstring_eq bool 2 203 204 call 206 pith_cstring_release void 1 204 -store __or_198_4684 205 -label L4685 -load 207 __or_198_4684 -brif 207 L4682 L4683 -label L4682 +store __or_198_4605 205 +label L4606 +load 207 __or_198_4605 +brif 207 L4603 L4604 +label L4603 load 208 node call 209 ir_emitter_core_ir_emit_try_expr int 1 208 load 210 kind @@ -189150,14 +188295,14 @@ call 211 pith_cstring_release void 1 210 load 212 checked_lit call 213 pith_cstring_release void 1 212 ret 209 -label L4683 -label L4681 +label L4604 +label L4602 load 214 kind strref 215 m51s516 call 216 pith_cstring_eq bool 2 214 215 call 217 pith_cstring_release void 1 215 -brif 216 L4687 L4688 -label L4687 +brif 216 L4608 L4609 +label L4608 load 218 node call 219 ir_emitter_core_ir_emit_catch_expr int 1 218 load 220 kind @@ -189165,14 +188310,14 @@ call 221 pith_cstring_release void 1 220 load 222 checked_lit call 223 pith_cstring_release void 1 222 ret 219 -label L4688 -label L4686 +label L4609 +label L4607 load 224 kind strref 225 m51s515 call 226 pith_cstring_eq bool 2 224 225 call 227 pith_cstring_release void 1 225 -brif 226 L4690 L4691 -label L4690 +brif 226 L4611 L4612 +label L4611 load 228 node call 229 ir_emitter_core_ir_emit_catch_block int 1 228 load 230 kind @@ -189180,14 +188325,14 @@ call 231 pith_cstring_release void 1 230 load 232 checked_lit call 233 pith_cstring_release void 1 232 ret 229 -label L4691 -label L4689 +label L4612 +label L4610 load 234 kind strref 235 m51s514 call 236 pith_cstring_eq bool 2 234 235 call 237 pith_cstring_release void 1 235 -brif 236 L4693 L4694 -label L4693 +brif 236 L4614 L4615 +label L4614 load 238 node call 239 ir_emitter_core_ir_emit_select_expr int 1 238 load 240 kind @@ -189195,14 +188340,14 @@ call 241 pith_cstring_release void 1 240 load 242 checked_lit call 243 pith_cstring_release void 1 242 ret 239 -label L4694 -label L4692 +label L4615 +label L4613 load 244 kind strref 245 m51s148 call 246 pith_cstring_eq bool 2 244 245 call 247 pith_cstring_release void 1 245 -brif 246 L4696 L4697 -label L4696 +brif 246 L4617 L4618 +label L4617 load 248 node call 249 ir_emitter_core_ir_emit_fail_expr int 1 248 load 250 kind @@ -189210,14 +188355,14 @@ call 251 pith_cstring_release void 1 250 load 252 checked_lit call 253 pith_cstring_release void 1 252 ret 249 -label L4697 -label L4695 +label L4618 +label L4616 load 254 kind strref 255 m51s524 call 256 pith_cstring_eq bool 2 254 255 call 257 pith_cstring_release void 1 255 -brif 256 L4699 L4700 -label L4699 +brif 256 L4620 L4621 +label L4620 load 258 node call 259 ir_emitter_core_ir_emit_grouped_expr int 1 258 load 260 kind @@ -189225,14 +188370,14 @@ call 261 pith_cstring_release void 1 260 load 262 checked_lit call 263 pith_cstring_release void 1 262 ret 259 -label L4700 -label L4698 +label L4621 +label L4619 load 264 kind strref 265 m51s35 call 266 pith_cstring_eq bool 2 264 265 call 267 pith_cstring_release void 1 265 -brif 266 L4702 L4703 -label L4702 +brif 266 L4623 L4624 +label L4623 load 268 idx load 269 node call 270 ir_emitter_core_ir_emit_index_expr int 2 268 269 @@ -189241,8 +188386,8 @@ call 272 pith_cstring_release void 1 271 load 273 checked_lit call 274 pith_cstring_release void 1 273 ret 270 -label L4703 -label L4701 +label L4624 +label L4622 call 275 ir_emitter_core_ir_emit_zero_value int 0 load 276 kind call 277 pith_cstring_release void 1 276 @@ -189263,15 +188408,15 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 gt 5 3 4 -brif 5 L4705 L4706 -label L4705 +brif 5 L4626 L4627 +label L4626 load 6 node field 7 6 16 list children iconst 8 0 call 9 pith_list_get_value_strict int 2 7 8 call 10 ir_emitter_core_ir_emit_return_value void 1 9 -jmp L4704 -label L4706 +jmp L4625 +label L4627 iconst 11 0 call 12 ir_emitter_core_ir_defer_emit_to_function_frame void 1 11 strref 13 m51s83 @@ -189283,8 +188428,8 @@ load 17 ir_builder_ir_current_func_return_kind strref 18 m51s1234 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4708 L4709 -label L4708 +brif 19 L4629 L4630 +label L4629 strref 21 m51s880 load 22 r call 23 int_to_string string 1 22 @@ -189328,8 +188473,8 @@ call 59 pith_cstring_release void 1 53 call 60 pith_cstring_release void 1 57 call 61 ir_builder_ir_emit void 1 58 call 62 pith_cstring_release void 1 58 -jmp L4707 -label L4709 +jmp L4628 +label L4630 strref 63 m51s880 load 64 r call 65 int_to_string string 1 64 @@ -189350,10 +188495,10 @@ call 79 pith_cstring_release void 1 75 call 80 pith_cstring_release void 1 77 call 81 ir_builder_ir_emit void 1 78 call 82 pith_cstring_release void 1 78 -label L4707 +label L4628 iconst 83 1 store ir_call_emit_ir_last_was_ret 83 -label L4704 +label L4625 iconst 84 0 ret 84 endfunc @@ -189369,411 +188514,405 @@ iconst 4 0 store result_kind 4 iconst 5 0 store expr_kind 5 -iconst 6 1 -brif 6 L4711 L4712 -label L4711 -iconst 7 0 -store r 7 -load 8 expr_child -call 9 ast_node_kind string 1 8 -strref 10 m51s494 -call 11 pith_cstring_eq bool 2 9 10 +iconst 6 0 +store r 6 +load 7 expr_child +call 8 ast_node_kind string 1 7 +strref 9 m51s494 +call 10 pith_cstring_eq bool 2 8 9 +call 11 pith_cstring_release void 1 8 call 12 pith_cstring_release void 1 9 -call 13 pith_cstring_release void 1 10 -brif 11 L4714 L4715 -label L4714 -call 14 ir_emitter_core_ir_emit_zero_value int 0 -store r 14 -jmp L4713 -label L4715 -load 15 ir_builder_ir_current_func_return_kind -strref 16 m51s1234 -call 17 pith_cstring_eq bool 2 15 16 -call 18 pith_cstring_release void 1 16 -brif 17 L4716 L4717 -label L4716 -load 19 ir_emitter_core_ir_rcall_defer_idx -store saved_defer 19 -load 20 expr_child -store ir_emitter_core_ir_rcall_defer_idx 20 -iconst 21 0 -store ir_emitter_core_ir_rcall_pair_ready 21 -load 22 expr_child -call 23 ir_emitter_core_ir_expr int 1 22 -store r 23 -load 24 saved_defer -store ir_emitter_core_ir_rcall_defer_idx 24 -load 25 ir_emitter_core_ir_rcall_pair_ready -brif 25 L4719 L4720 -label L4719 +brif 10 L4632 L4633 +label L4632 +call 13 ir_emitter_core_ir_emit_zero_value int 0 +store r 13 +jmp L4631 +label L4633 +load 14 ir_builder_ir_current_func_return_kind +strref 15 m51s1234 +call 16 pith_cstring_eq bool 2 14 15 +call 17 pith_cstring_release void 1 15 +brif 16 L4634 L4635 +label L4634 +load 18 ir_emitter_core_ir_rcall_defer_idx +store saved_defer 18 +load 19 expr_child +store ir_emitter_core_ir_rcall_defer_idx 19 +iconst 20 0 +store ir_emitter_core_ir_rcall_pair_ready 20 +load 21 expr_child +call 22 ir_emitter_core_ir_expr int 1 21 +store r 22 +load 23 saved_defer +store ir_emitter_core_ir_rcall_defer_idx 23 +load 24 ir_emitter_core_ir_rcall_pair_ready +brif 24 L4637 L4638 +label L4637 +iconst 25 0 +store ir_emitter_core_ir_rcall_pair_ready 25 iconst 26 0 -store ir_emitter_core_ir_rcall_pair_ready 26 -iconst 27 0 -call 28 ir_emitter_core_ir_defer_emit_to_function_frame void 1 27 -strref 29 m51s83 -call 30 ir_emitter_core_ir_emit_string_cleanup void 1 29 -call 31 pith_cstring_release void 1 29 -strref 32 m51s1083 -load 33 ir_emitter_core_ir_rcall_flag_reg -call 34 int_to_string string 1 33 -concat 35 32 34 -call 36 pith_cstring_release void 1 32 -call 37 pith_cstring_release void 1 34 -strref 38 m51s344 -concat 39 35 38 -call 40 pith_cstring_release void 1 35 -call 41 pith_cstring_release void 1 38 -load 42 ir_emitter_core_ir_rcall_val_reg -call 43 int_to_string string 1 42 -concat 44 39 43 -call 45 pith_cstring_release void 1 39 -call 46 pith_cstring_release void 1 43 -call 47 ir_builder_ir_emit void 1 44 -call 48 pith_cstring_release void 1 44 -iconst 49 1 -store ir_call_emit_ir_last_was_ret 49 -load 50 exclude -call 51 pith_cstring_release void 1 50 -load 52 expr_node -call 53 pith_struct_release void 1 52 -load 54 ret_kind -call 55 pith_cstring_release void 1 54 -load 56 result_kind -call 57 pith_cstring_release void 1 56 -load 58 expr_kind -call 59 pith_cstring_release void 1 58 -iconst 60 0 -ret 60 -label L4720 -label L4718 -jmp L4713 -label L4717 -load 61 expr_child -call 62 ir_emitter_core_ir_expr int 1 61 -store r 62 -label L4713 -load 63 exclude -strref 64 m51s83 -call 65 pith_cstring_release void 1 63 -store exclude 64 -load 66 expr_node -load 67 expr_child -call 68 ast_get_node struct:Node 1 67 -call 69 pith_struct_release void 1 66 -store expr_node 68 -iconst 70 0 -store __and_70_4724 70 -load 71 expr_node -field 72 71 0 string kind -strref 73 m51s37 -call 74 pith_cstring_eq bool 2 72 73 -call 75 pith_cstring_release void 1 73 -store __and_70_4724 74 -brif 74 L4724 L4725 -label L4724 -load 76 expr_node -field 77 76 8 string value -call 78 ir_emitter_core_ir_rc_local_kind string 1 77 -call 79 string_len int 1 78 -call 80 pith_cstring_release void 1 78 -iconst 81 0 -gt 82 79 81 -store __and_70_4724 82 -label L4725 -load 83 __and_70_4724 -brif 83 L4722 L4723 -label L4722 -load 84 exclude -load 85 expr_node -field 86 85 8 string value -call 87 pith_cstring_retain void 1 86 -call 88 pith_cstring_release void 1 84 -store exclude 86 -jmp L4721 -label L4723 -load 89 ret_kind -load 90 expr_child -call 91 ir_emitter_core_ir_infer_type string 1 90 -call 92 ir_emitter_core_ir_substitute_type_name string 1 91 -call 93 pith_cstring_release void 1 91 -call 94 ir_struct_registry_ir_rc_kind string 1 92 -call 95 pith_cstring_release void 1 92 -call 96 pith_cstring_release void 1 89 -store ret_kind 94 -iconst 97 0 -store __and_97_4729 97 -load 98 ret_kind -call 99 string_len int 1 98 -iconst 100 0 -gt 101 99 100 -store __and_97_4729 101 -brif 101 L4729 L4730 -label L4729 -load 102 expr_child -call 103 ir_emitter_core_ir_string_expr_is_borrowed bool 1 102 -store __and_97_4729 103 -label L4730 -load 104 __and_97_4729 -brif 104 L4727 L4728 -label L4727 -load 105 r -load 106 ret_kind -call 107 ir_ownership_ir_rc_retain_reg void 2 105 106 -jmp L4726 -label L4728 -label L4726 -label L4721 -load 108 result_kind -load 109 expr_child -call 110 ir_emitter_core_ir_expr_result_kind string 1 109 -call 111 pith_cstring_release void 1 108 -store result_kind 110 -load 112 expr_child -call 113 checker_c_get_expr_type int 1 112 -store expr_tid 113 -load 114 expr_kind -strref 115 m51s83 -call 116 pith_cstring_release void 1 114 -store expr_kind 115 -load 117 expr_tid -iconst 118 0 -gte 119 117 118 -brif 119 L4732 L4733 -label L4732 -load 120 expr_kind -load 121 expr_tid -call 122 types_get_type_info struct:TypeInfo 1 121 -field 123 122 0 string kind -call 124 pith_cstring_retain void 1 123 -call 125 pith_cstring_release void 1 120 -store expr_kind 123 -jmp L4731 -label L4733 -label L4731 -load 126 ir_emitter_core_ir_current_func_optional_inner_kind -call 127 string_len int 1 126 -iconst 128 0 -gt 129 127 128 -brif 129 L4735 L4736 -label L4735 -iconst 130 0 -store __and_130_4737 130 -load 131 expr_node -field 132 131 0 string kind -strref 133 m51s37 -call 134 pith_cstring_eq bool 2 132 133 -call 135 pith_cstring_release void 1 133 -store __and_130_4737 134 -brif 134 L4737 L4738 -label L4737 -load 136 expr_node -field 137 136 8 string value -call 138 ir_emitter_core_ir_rc_local_kind string 1 137 -strref 139 m51s23 -call 140 pith_cstring_eq bool 2 138 139 +call 27 ir_emitter_core_ir_defer_emit_to_function_frame void 1 26 +strref 28 m51s83 +call 29 ir_emitter_core_ir_emit_string_cleanup void 1 28 +call 30 pith_cstring_release void 1 28 +strref 31 m51s1083 +load 32 ir_emitter_core_ir_rcall_flag_reg +call 33 int_to_string string 1 32 +concat 34 31 33 +call 35 pith_cstring_release void 1 31 +call 36 pith_cstring_release void 1 33 +strref 37 m51s344 +concat 38 34 37 +call 39 pith_cstring_release void 1 34 +call 40 pith_cstring_release void 1 37 +load 41 ir_emitter_core_ir_rcall_val_reg +call 42 int_to_string string 1 41 +concat 43 38 42 +call 44 pith_cstring_release void 1 38 +call 45 pith_cstring_release void 1 42 +call 46 ir_builder_ir_emit void 1 43 +call 47 pith_cstring_release void 1 43 +iconst 48 1 +store ir_call_emit_ir_last_was_ret 48 +load 49 exclude +call 50 pith_cstring_release void 1 49 +load 51 expr_node +call 52 pith_struct_release void 1 51 +load 53 ret_kind +call 54 pith_cstring_release void 1 53 +load 55 result_kind +call 56 pith_cstring_release void 1 55 +load 57 expr_kind +call 58 pith_cstring_release void 1 57 +iconst 59 0 +ret 59 +label L4638 +label L4636 +jmp L4631 +label L4635 +load 60 expr_child +call 61 ir_emitter_core_ir_expr int 1 60 +store r 61 +label L4631 +load 62 exclude +strref 63 m51s83 +call 64 pith_cstring_release void 1 62 +store exclude 63 +load 65 expr_node +load 66 expr_child +call 67 ast_get_node struct:Node 1 66 +call 68 pith_struct_release void 1 65 +store expr_node 67 +iconst 69 0 +store __and_69_4642 69 +load 70 expr_node +field 71 70 0 string kind +strref 72 m51s37 +call 73 pith_cstring_eq bool 2 71 72 +call 74 pith_cstring_release void 1 72 +store __and_69_4642 73 +brif 73 L4642 L4643 +label L4642 +load 75 expr_node +field 76 75 8 string value +call 77 ir_emitter_core_ir_rc_local_kind string 1 76 +call 78 string_len int 1 77 +call 79 pith_cstring_release void 1 77 +iconst 80 0 +gt 81 78 80 +store __and_69_4642 81 +label L4643 +load 82 __and_69_4642 +brif 82 L4640 L4641 +label L4640 +load 83 exclude +load 84 expr_node +field 85 84 8 string value +call 86 pith_cstring_retain void 1 85 +call 87 pith_cstring_release void 1 83 +store exclude 85 +jmp L4639 +label L4641 +load 88 ret_kind +load 89 expr_child +call 90 ir_emitter_core_ir_infer_type string 1 89 +call 91 ir_emitter_core_ir_substitute_type_name string 1 90 +call 92 pith_cstring_release void 1 90 +call 93 ir_struct_registry_ir_rc_kind string 1 91 +call 94 pith_cstring_release void 1 91 +call 95 pith_cstring_release void 1 88 +store ret_kind 93 +iconst 96 0 +store __and_96_4647 96 +load 97 ret_kind +call 98 string_len int 1 97 +iconst 99 0 +gt 100 98 99 +store __and_96_4647 100 +brif 100 L4647 L4648 +label L4647 +load 101 expr_child +call 102 ir_emitter_core_ir_string_expr_is_borrowed bool 1 101 +store __and_96_4647 102 +label L4648 +load 103 __and_96_4647 +brif 103 L4645 L4646 +label L4645 +load 104 r +load 105 ret_kind +call 106 ir_ownership_ir_rc_retain_reg void 2 104 105 +jmp L4644 +label L4646 +label L4644 +label L4639 +load 107 result_kind +load 108 expr_child +call 109 ir_emitter_core_ir_expr_result_kind string 1 108 +call 110 pith_cstring_release void 1 107 +store result_kind 109 +load 111 expr_child +call 112 checker_c_get_expr_type int 1 111 +store expr_tid 112 +load 113 expr_kind +strref 114 m51s83 +call 115 pith_cstring_release void 1 113 +store expr_kind 114 +load 116 expr_tid +iconst 117 0 +gte 118 116 117 +brif 118 L4650 L4651 +label L4650 +load 119 expr_kind +load 120 expr_tid +call 121 types_get_type_info struct:TypeInfo 1 120 +field 122 121 0 string kind +call 123 pith_cstring_retain void 1 122 +call 124 pith_cstring_release void 1 119 +store expr_kind 122 +jmp L4649 +label L4651 +label L4649 +load 125 ir_emitter_core_ir_current_func_optional_inner_kind +call 126 string_len int 1 125 +iconst 127 0 +gt 128 126 127 +brif 128 L4653 L4654 +label L4653 +iconst 129 0 +store __and_129_4655 129 +load 130 expr_node +field 131 130 0 string kind +strref 132 m51s37 +call 133 pith_cstring_eq bool 2 131 132 +call 134 pith_cstring_release void 1 132 +store __and_129_4655 133 +brif 133 L4655 L4656 +label L4655 +load 135 expr_node +field 136 135 8 string value +call 137 ir_emitter_core_ir_rc_local_kind string 1 136 +strref 138 m51s23 +call 139 pith_cstring_eq bool 2 137 138 +call 140 pith_cstring_release void 1 137 call 141 pith_cstring_release void 1 138 -call 142 pith_cstring_release void 1 139 -store __and_130_4737 140 -label L4738 -load 143 __and_130_4737 -store ident_tuple_local 143 -iconst 144 0 -store __or_144_4739 144 -load 145 expr_kind -strref 146 m51s21 -call 147 pith_cstring_eq bool 2 145 146 -call 148 pith_cstring_release void 1 146 -store __or_144_4739 147 -brif 147 L4740 L4739 -label L4739 +store __and_129_4655 139 +label L4656 +load 142 __and_129_4655 +store ident_tuple_local 142 +iconst 143 0 +store __or_143_4657 143 +load 144 expr_kind +strref 145 m51s21 +call 146 pith_cstring_eq bool 2 144 145 +call 147 pith_cstring_release void 1 145 +store __or_143_4657 146 +brif 146 L4658 L4657 +label L4657 +iconst 148 0 +store __and_148_4659 148 iconst 149 0 -store __and_149_4741 149 -iconst 150 0 -store __or_150_4741 150 -load 151 result_kind -strref 152 m51s23 -call 153 pith_cstring_eq bool 2 151 152 -call 154 pith_cstring_release void 1 152 -store __or_150_4741 153 -brif 153 L4742 L4741 -label L4741 -load 155 ident_tuple_local -store __or_150_4741 155 -label L4742 -load 156 __or_150_4741 -store __and_149_4741 156 -brif 156 L4743 L4744 -label L4743 -load 157 ir_emitter_core_ir_current_func_optional_inner_kind -strref 158 m51s23 -call 160 pith_cstring_eq bool 2 157 158 -iconst 161 1 -sub 159 161 160 -call 162 pith_cstring_release void 1 158 -store __and_149_4741 159 -label L4744 -load 163 __and_149_4741 -store __or_144_4739 163 -label L4740 -load 164 __or_144_4739 -store already_optional 164 -load 165 expr_node -field 166 165 0 string kind -strref 167 m51s494 -call 168 pith_cstring_eq bool 2 166 167 -call 169 pith_cstring_release void 1 167 -brif 168 L4746 L4747 -label L4746 -call 170 ir_optionals_ir_emit_optional_none_value int 0 -store r 170 -jmp L4745 -label L4747 -load 171 already_optional -iconst 172 0 -eq 173 171 172 -brif 173 L4748 L4749 -label L4748 -load 174 r -call 175 ir_optionals_ir_emit_optional_some_value int 1 174 -store r 175 -jmp L4745 -label L4749 -label L4745 -jmp L4734 -label L4736 -load 176 ir_builder_ir_current_func_return_kind -strref 177 m51s23 -call 178 pith_cstring_eq bool 2 176 177 -call 179 pith_cstring_release void 1 177 -brif 178 L4750 L4751 -label L4750 -load 180 result_kind -strref 181 m51s23 -call 183 pith_cstring_eq bool 2 180 181 -iconst 184 1 -sub 182 184 183 -call 185 pith_cstring_release void 1 181 -brif 182 L4753 L4754 -label L4753 -load 186 r -call 187 ir_emitter_core_ir_emit_ok_result_tuple int 1 186 -store r 187 -jmp L4752 -label L4754 -label L4752 -jmp L4734 -label L4751 -load 188 ir_builder_ir_current_func_return_kind -strref 189 m51s1234 -call 190 pith_cstring_eq bool 2 188 189 -call 191 pith_cstring_release void 1 189 -brif 190 L4755 L4756 -label L4755 -load 192 result_kind -strref 193 m51s23 -call 194 pith_cstring_eq bool 2 192 193 -call 195 pith_cstring_release void 1 193 -brif 194 L4758 L4759 -label L4758 -load 196 r -load 197 exclude -call 198 ir_emitter_core_ir_emit_return_box_as_pair void 2 196 197 -iconst 199 1 -store ir_call_emit_ir_last_was_ret 199 -load 200 exclude -call 201 pith_cstring_release void 1 200 -load 202 expr_node -call 203 pith_struct_release void 1 202 -load 204 ret_kind -call 205 pith_cstring_release void 1 204 -load 206 result_kind -call 207 pith_cstring_release void 1 206 -load 208 expr_kind -call 209 pith_cstring_release void 1 208 +store __or_149_4659 149 +load 150 result_kind +strref 151 m51s23 +call 152 pith_cstring_eq bool 2 150 151 +call 153 pith_cstring_release void 1 151 +store __or_149_4659 152 +brif 152 L4660 L4659 +label L4659 +load 154 ident_tuple_local +store __or_149_4659 154 +label L4660 +load 155 __or_149_4659 +store __and_148_4659 155 +brif 155 L4661 L4662 +label L4661 +load 156 ir_emitter_core_ir_current_func_optional_inner_kind +strref 157 m51s23 +call 159 pith_cstring_eq bool 2 156 157 +iconst 160 1 +sub 158 160 159 +call 161 pith_cstring_release void 1 157 +store __and_148_4659 158 +label L4662 +load 162 __and_148_4659 +store __or_143_4657 162 +label L4658 +load 163 __or_143_4657 +store already_optional 163 +load 164 expr_node +field 165 164 0 string kind +strref 166 m51s494 +call 167 pith_cstring_eq bool 2 165 166 +call 168 pith_cstring_release void 1 166 +brif 167 L4664 L4665 +label L4664 +call 169 ir_optionals_ir_emit_optional_none_value int 0 +store r 169 +jmp L4663 +label L4665 +load 170 already_optional +iconst 171 0 +eq 172 170 171 +brif 172 L4666 L4667 +label L4666 +load 173 r +call 174 ir_optionals_ir_emit_optional_some_value int 1 173 +store r 174 +jmp L4663 +label L4667 +label L4663 +jmp L4652 +label L4654 +load 175 ir_builder_ir_current_func_return_kind +strref 176 m51s23 +call 177 pith_cstring_eq bool 2 175 176 +call 178 pith_cstring_release void 1 176 +brif 177 L4668 L4669 +label L4668 +load 179 result_kind +strref 180 m51s23 +call 182 pith_cstring_eq bool 2 179 180 +iconst 183 1 +sub 181 183 182 +call 184 pith_cstring_release void 1 180 +brif 181 L4671 L4672 +label L4671 +load 185 r +call 186 ir_emitter_core_ir_emit_ok_result_tuple int 1 185 +store r 186 +jmp L4670 +label L4672 +label L4670 +jmp L4652 +label L4669 +load 187 ir_builder_ir_current_func_return_kind +strref 188 m51s1234 +call 189 pith_cstring_eq bool 2 187 188 +call 190 pith_cstring_release void 1 188 +brif 189 L4673 L4674 +label L4673 +load 191 result_kind +strref 192 m51s23 +call 193 pith_cstring_eq bool 2 191 192 +call 194 pith_cstring_release void 1 192 +brif 193 L4676 L4677 +label L4676 +load 195 r +load 196 exclude +call 197 ir_emitter_core_ir_emit_return_box_as_pair void 2 195 196 +iconst 198 1 +store ir_call_emit_ir_last_was_ret 198 +load 199 exclude +call 200 pith_cstring_release void 1 199 +load 201 expr_node +call 202 pith_struct_release void 1 201 +load 203 ret_kind +call 204 pith_cstring_release void 1 203 +load 205 result_kind +call 206 pith_cstring_release void 1 205 +load 207 expr_kind +call 208 pith_cstring_release void 1 207 +iconst 209 0 +ret 209 +label L4677 +label L4675 iconst 210 0 -ret 210 -label L4759 -label L4757 -iconst 211 0 -call 212 ir_emitter_core_ir_defer_emit_to_function_frame void 1 211 -load 213 exclude -call 214 ir_emitter_core_ir_emit_string_cleanup void 1 213 -call 215 ir_builder_ir_reg int 0 -store one_r 215 -strref 216 m51s880 -load 217 one_r -call 218 int_to_string string 1 217 -concat 219 216 218 -call 220 pith_cstring_release void 1 216 -call 221 pith_cstring_release void 1 218 -strref 222 m51s890 -concat 223 219 222 -call 224 pith_cstring_release void 1 219 -call 225 pith_cstring_release void 1 222 -call 226 ir_builder_ir_emit void 1 223 -call 227 pith_cstring_release void 1 223 -strref 228 m51s1083 -load 229 one_r -call 230 int_to_string string 1 229 -concat 231 228 230 -call 232 pith_cstring_release void 1 228 -call 233 pith_cstring_release void 1 230 -strref 234 m51s344 -concat 235 231 234 -call 236 pith_cstring_release void 1 231 -call 237 pith_cstring_release void 1 234 -load 238 r -call 239 int_to_string string 1 238 -concat 240 235 239 -call 241 pith_cstring_release void 1 235 -call 242 pith_cstring_release void 1 239 -call 243 ir_builder_ir_emit void 1 240 -call 244 pith_cstring_release void 1 240 -iconst 245 1 -store ir_call_emit_ir_last_was_ret 245 -load 246 exclude -call 247 pith_cstring_release void 1 246 -load 248 expr_node -call 249 pith_struct_release void 1 248 -load 250 ret_kind -call 251 pith_cstring_release void 1 250 -load 252 result_kind -call 253 pith_cstring_release void 1 252 -load 254 expr_kind -call 255 pith_cstring_release void 1 254 +call 211 ir_emitter_core_ir_defer_emit_to_function_frame void 1 210 +load 212 exclude +call 213 ir_emitter_core_ir_emit_string_cleanup void 1 212 +call 214 ir_builder_ir_reg int 0 +store one_r 214 +strref 215 m51s880 +load 216 one_r +call 217 int_to_string string 1 216 +concat 218 215 217 +call 219 pith_cstring_release void 1 215 +call 220 pith_cstring_release void 1 217 +strref 221 m51s890 +concat 222 218 221 +call 223 pith_cstring_release void 1 218 +call 224 pith_cstring_release void 1 221 +call 225 ir_builder_ir_emit void 1 222 +call 226 pith_cstring_release void 1 222 +strref 227 m51s1083 +load 228 one_r +call 229 int_to_string string 1 228 +concat 230 227 229 +call 231 pith_cstring_release void 1 227 +call 232 pith_cstring_release void 1 229 +strref 233 m51s344 +concat 234 230 233 +call 235 pith_cstring_release void 1 230 +call 236 pith_cstring_release void 1 233 +load 237 r +call 238 int_to_string string 1 237 +concat 239 234 238 +call 240 pith_cstring_release void 1 234 +call 241 pith_cstring_release void 1 238 +call 242 ir_builder_ir_emit void 1 239 +call 243 pith_cstring_release void 1 239 +iconst 244 1 +store ir_call_emit_ir_last_was_ret 244 +load 245 exclude +call 246 pith_cstring_release void 1 245 +load 247 expr_node +call 248 pith_struct_release void 1 247 +load 249 ret_kind +call 250 pith_cstring_release void 1 249 +load 251 result_kind +call 252 pith_cstring_release void 1 251 +load 253 expr_kind +call 254 pith_cstring_release void 1 253 +iconst 255 0 +ret 255 +label L4674 +label L4652 iconst 256 0 -ret 256 -label L4756 -label L4734 -iconst 257 0 -call 258 ir_emitter_core_ir_defer_emit_to_function_frame void 1 257 -load 259 exclude -call 260 ir_emitter_core_ir_emit_string_cleanup void 1 259 -strref 261 m51s925 -load 262 r -call 263 int_to_string string 1 262 -concat 264 261 263 -call 265 pith_cstring_release void 1 261 -call 266 pith_cstring_release void 1 263 -call 267 ir_builder_ir_emit void 1 264 -call 268 pith_cstring_release void 1 264 -jmp L4710 -label L4712 -label L4710 -iconst 269 1 -store ir_call_emit_ir_last_was_ret 269 -load 270 exclude -call 271 pith_cstring_release void 1 270 -load 272 expr_node -call 273 pith_struct_release void 1 272 -load 274 ret_kind -call 275 pith_cstring_release void 1 274 -load 276 result_kind -call 277 pith_cstring_release void 1 276 -load 278 expr_kind -call 279 pith_cstring_release void 1 278 -iconst 280 0 -ret 280 +call 257 ir_emitter_core_ir_defer_emit_to_function_frame void 1 256 +load 258 exclude +call 259 ir_emitter_core_ir_emit_string_cleanup void 1 258 +strref 260 m51s925 +load 261 r +call 262 int_to_string string 1 261 +concat 263 260 262 +call 264 pith_cstring_release void 1 260 +call 265 pith_cstring_release void 1 262 +call 266 ir_builder_ir_emit void 1 263 +call 267 pith_cstring_release void 1 263 +iconst 268 1 +store ir_call_emit_ir_last_was_ret 268 +load 269 exclude +call 270 pith_cstring_release void 1 269 +load 271 expr_node +call 272 pith_struct_release void 1 271 +load 273 ret_kind +call 274 pith_cstring_release void 1 273 +load 275 result_kind +call 276 pith_cstring_release void 1 275 +load 277 expr_kind +call 278 pith_cstring_release void 1 277 +iconst 279 0 +ret 279 endfunc func ir_emitter_core_ir_emit_ret_err_value 1 void param err_r @@ -189781,8 +188920,8 @@ load 1 ir_builder_ir_current_func_return_kind strref 2 m51s1234 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L4761 L4762 -label L4761 +brif 3 L4679 L4680 +label L4679 call 5 ir_builder_ir_reg int 0 store zf 5 strref 6 m51s880 @@ -189814,8 +188953,8 @@ call 31 pith_cstring_release void 1 25 call 32 pith_cstring_release void 1 29 call 33 ir_builder_ir_emit void 1 30 call 34 pith_cstring_release void 1 30 -jmp L4760 -label L4762 +jmp L4678 +label L4680 strref 35 m51s925 load 36 err_r call 37 ir_emitter_core_ir_emit_err_result_tuple int 1 36 @@ -189825,7 +188964,7 @@ call 40 pith_cstring_release void 1 35 call 41 pith_cstring_release void 1 38 call 42 ir_builder_ir_emit void 1 39 call 43 pith_cstring_release void 1 39 -label L4760 +label L4678 iconst 44 0 ret 44 endfunc @@ -189927,14 +189066,14 @@ load 82 err_kind call 83 string_len int 1 82 iconst 84 0 gt 85 83 84 -brif 85 L4764 L4765 -label L4764 +brif 85 L4682 L4683 +label L4682 load 86 val_r load 87 err_kind call 88 ir_ownership_ir_rc_release_reg void 2 86 87 -jmp L4763 -label L4765 -label L4763 +jmp L4681 +label L4683 +label L4681 load 89 node field 90 89 16 list children iconst 91 1 @@ -189946,8 +189085,8 @@ field 95 94 16 list children iconst 96 1 call 97 pith_list_get_value_strict int 2 95 96 call 98 ir_emitter_core_ir_string_expr_is_borrowed bool 1 97 -brif 98 L4767 L4768 -label L4767 +brif 98 L4685 L4686 +label L4685 load 99 fallback_r load 100 node field 101 100 16 list children @@ -189958,9 +189097,9 @@ call 105 ir_struct_registry_ir_rc_kind string 1 104 call 106 pith_cstring_release void 1 104 call 107 ir_ownership_ir_rc_retain_reg void 2 99 105 call 108 pith_cstring_release void 1 105 -jmp L4766 -label L4768 -label L4766 +jmp L4684 +label L4686 +label L4684 strref 109 m51s878 load 110 temp_name concat 111 109 110 @@ -190216,35 +189355,35 @@ store substituted 7 iconst 8 0 store ctor 8 iconst 9 0 -store __or_9_4772 9 +store __or_9_4690 9 iconst 10 0 -store __or_10_4772 10 +store __or_10_4690 10 load 11 bind_target strref 12 m51s20 call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_10_4772 13 -brif 13 L4773 L4772 -label L4772 +store __or_10_4690 13 +brif 13 L4691 L4690 +label L4690 load 17 val_idx iconst 18 0 lt 19 17 18 -store __or_10_4772 19 -label L4773 -load 20 __or_10_4772 -store __or_9_4772 20 -brif 20 L4775 L4774 -label L4774 +store __or_10_4690 19 +label L4691 +load 20 __or_10_4690 +store __or_9_4690 20 +brif 20 L4693 L4692 +label L4692 load 21 type_idx iconst 22 0 lt 23 21 22 -store __or_9_4772 23 -label L4775 -load 24 __or_9_4772 -brif 24 L4770 L4771 -label L4770 +store __or_9_4690 23 +label L4693 +load 24 __or_9_4690 +brif 24 L4688 L4689 +label L4688 strref 25 m51s83 load 26 vn call 27 pith_struct_release void 1 26 @@ -190259,26 +189398,26 @@ call 35 pith_cstring_release void 1 34 load 36 ctor call 37 pith_cstring_release void 1 36 ret 25 -label L4771 -label L4769 +label L4689 +label L4687 iconst 38 0 -store __and_38_4779 38 +store __and_38_4697 38 load 39 ir_alias_registry_ir_active_generic_params call 40 pith_list_len int 1 39 iconst 41 0 eq 42 40 41 -store __and_38_4779 42 -brif 42 L4779 L4780 -label L4779 +store __and_38_4697 42 +brif 42 L4697 L4698 +label L4697 load 43 ir_emitter_core_ir_current_impl_subst_params call 44 pith_list_len int 1 43 iconst 45 0 eq 46 44 45 -store __and_38_4779 46 -label L4780 -load 47 __and_38_4779 -brif 47 L4777 L4778 -label L4777 +store __and_38_4697 46 +label L4698 +load 47 __and_38_4697 +brif 47 L4695 L4696 +label L4695 strref 48 m51s83 load 49 vn call 50 pith_struct_release void 1 49 @@ -190293,15 +189432,15 @@ call 58 pith_cstring_release void 1 57 load 59 ctor call 60 pith_cstring_release void 1 59 ret 48 -label L4778 -label L4776 +label L4696 +label L4694 load 61 vn load 62 val_idx call 63 ast_get_node struct:Node 1 62 call 64 pith_struct_release void 1 61 store vn 63 iconst 65 0 -store __or_65_4784 65 +store __or_65_4702 65 load 66 vn field 67 66 0 string kind strref 68 m51s20 @@ -190309,19 +189448,19 @@ call 70 pith_cstring_eq bool 2 67 68 iconst 71 1 sub 69 71 70 call 72 pith_cstring_release void 1 68 -store __or_65_4784 69 -brif 69 L4785 L4784 -label L4784 +store __or_65_4702 69 +brif 69 L4703 L4702 +label L4702 load 73 vn field 74 73 16 list children call 75 pith_list_len int 1 74 iconst 76 0 gt 77 75 76 -store __or_65_4784 77 -label L4785 -load 78 __or_65_4784 -brif 78 L4782 L4783 -label L4782 +store __or_65_4702 77 +label L4703 +load 78 __or_65_4702 +brif 78 L4700 L4701 +label L4700 strref 79 m51s83 load 80 vn call 81 pith_struct_release void 1 80 @@ -190336,17 +189475,17 @@ call 89 pith_cstring_release void 1 88 load 90 ctor call 91 pith_cstring_release void 1 90 ret 79 -label L4783 -label L4781 +label L4701 +label L4699 load 92 tn load 93 type_idx call 94 ast_get_node struct:Node 1 93 call 95 pith_struct_release void 1 92 store tn 94 iconst 96 0 -store __or_96_4789 96 +store __or_96_4707 96 iconst 97 0 -store __or_97_4789 97 +store __or_97_4707 97 load 98 tn field 99 98 0 string kind strref 100 m51s336 @@ -190354,9 +189493,9 @@ call 102 pith_cstring_eq bool 2 99 100 iconst 103 1 sub 101 103 102 call 104 pith_cstring_release void 1 100 -store __or_97_4789 101 -brif 101 L4790 L4789 -label L4789 +store __or_97_4707 101 +brif 101 L4708 L4707 +label L4707 load 105 tn field 106 105 8 string value strref 107 m51s335 @@ -190364,22 +189503,22 @@ call 109 pith_cstring_eq bool 2 106 107 iconst 110 1 sub 108 110 109 call 111 pith_cstring_release void 1 107 -store __or_97_4789 108 -label L4790 -load 112 __or_97_4789 -store __or_96_4789 112 -brif 112 L4792 L4791 -label L4791 +store __or_97_4707 108 +label L4708 +load 112 __or_97_4707 +store __or_96_4707 112 +brif 112 L4710 L4709 +label L4709 load 113 tn field 114 113 16 list children call 115 pith_list_len int 1 114 iconst 116 0 eq 117 115 116 -store __or_96_4789 117 -label L4792 -load 118 __or_96_4789 -brif 118 L4787 L4788 -label L4787 +store __or_96_4707 117 +label L4710 +load 118 __or_96_4707 +brif 118 L4705 L4706 +label L4705 strref 119 m51s83 load 120 vn call 121 pith_struct_release void 1 120 @@ -190394,8 +189533,8 @@ call 129 pith_cstring_release void 1 128 load 130 ctor call 131 pith_cstring_release void 1 130 ret 119 -label L4788 -label L4786 +label L4706 +label L4704 load 132 elem load 133 tn field 134 133 16 list children @@ -190410,8 +189549,8 @@ call 141 string_len int 1 140 call 142 pith_cstring_release void 1 140 iconst 143 0 eq 144 141 143 -brif 144 L4794 L4795 -label L4794 +brif 144 L4712 L4713 +label L4712 load 145 inner load 146 tn field 147 146 16 list children @@ -190425,8 +189564,8 @@ field 153 152 0 string kind strref 154 m51s316 call 155 pith_cstring_eq bool 2 153 154 call 156 pith_cstring_release void 1 154 -brif 155 L4797 L4798 -label L4797 +brif 155 L4715 L4716 +label L4715 load 157 substituted load 158 inner field 159 158 8 string value @@ -190439,22 +189578,22 @@ field 164 163 8 string value call 166 pith_cstring_eq bool 2 162 164 iconst 167 1 sub 165 167 166 -brif 165 L4800 L4801 -label L4800 +brif 165 L4718 L4719 +label L4718 load 168 elem load 169 substituted call 170 ir_alias_registry_ir_resolve_type_hint string 1 169 call 171 pith_cstring_release void 1 168 store elem 170 -jmp L4799 -label L4801 -label L4799 -jmp L4796 -label L4798 -label L4796 -jmp L4793 -label L4795 -label L4793 +jmp L4717 +label L4719 +label L4717 +jmp L4714 +label L4716 +label L4714 +jmp L4711 +label L4713 +label L4711 load 172 ctor load 173 elem call 174 ir_struct_registry_ir_rc_kind string 1 173 @@ -190463,11 +189602,11 @@ call 176 pith_cstring_release void 1 174 call 177 pith_cstring_release void 1 172 store ctor 175 load 178 ctor -strref 179 m51s811 +strref 179 m51s812 call 180 pith_cstring_eq bool 2 178 179 call 181 pith_cstring_release void 1 179 -brif 180 L4803 L4804 -label L4803 +brif 180 L4721 L4722 +label L4721 strref 182 m51s83 load 183 vn call 184 pith_struct_release void 1 183 @@ -190482,8 +189621,8 @@ call 192 pith_cstring_release void 1 191 load 193 ctor call 194 pith_cstring_release void 1 193 ret 182 -label L4804 -label L4802 +label L4722 +label L4720 load 195 ctor load 196 vn call 197 pith_struct_release void 1 196 @@ -190555,37 +189694,37 @@ load 24 parts field 25 24 16 int type_idx store type_idx 25 iconst 26 0 -store __and_26_4808 26 +store __and_26_4726 26 iconst 27 0 -store __and_27_4808 27 +store __and_27_4726 27 load 28 node field 29 28 8 string value strref 30 m51s576 call 31 pith_cstring_contains bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __and_27_4808 31 -brif 31 L4808 L4809 -label L4808 +store __and_27_4726 31 +brif 31 L4726 L4727 +label L4726 load 33 name call 34 ir_emitter_core_ir_rc_local_kind string 1 33 strref 35 m51s1033 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 34 call 38 pith_cstring_release void 1 35 -store __and_27_4808 36 -label L4809 -load 39 __and_27_4808 -store __and_26_4808 39 -brif 39 L4810 L4811 -label L4810 +store __and_27_4726 36 +label L4727 +load 39 __and_27_4726 +store __and_26_4726 39 +brif 39 L4728 L4729 +label L4728 load 40 val_idx iconst 41 0 gte 42 40 41 -store __and_26_4808 42 -label L4811 -load 43 __and_26_4808 -brif 43 L4806 L4807 -label L4806 +store __and_26_4726 42 +label L4729 +load 43 __and_26_4726 +brif 43 L4724 L4725 +label L4724 call 44 ir_builder_ir_reg int 0 store old_w 44 load 45 old_w @@ -190634,49 +189773,49 @@ load 86 inferred call 87 pith_cstring_release void 1 86 iconst 88 0 ret 88 -label L4807 -label L4805 +label L4725 +label L4723 iconst 89 0 -store __and_89_4815 89 +store __and_89_4733 89 load 90 type_idx iconst 91 0 lt 92 90 91 -store __and_89_4815 92 -brif 92 L4815 L4816 -label L4815 +store __and_89_4733 92 +brif 92 L4733 L4734 +label L4733 load 93 val_idx iconst 94 0 gte 95 93 94 -store __and_89_4815 95 -label L4816 -load 96 __and_89_4815 -brif 96 L4813 L4814 -label L4813 +store __and_89_4733 95 +label L4734 +load 96 __and_89_4733 +brif 96 L4731 L4732 +label L4731 load 97 vn load 98 val_idx call 99 ast_get_node struct:Node 1 98 call 100 pith_struct_release void 1 97 store vn 99 iconst 101 0 -store __and_101_4820 101 +store __and_101_4738 101 load 102 vn field 103 102 0 string kind strref 104 m51s44 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -store __and_101_4820 105 -brif 105 L4820 L4821 -label L4820 +store __and_101_4738 105 +brif 105 L4738 L4739 +label L4738 load 107 vn field 108 107 16 list children call 109 pith_list_len int 1 108 iconst 110 0 gt 111 109 110 -store __and_101_4820 111 -label L4821 -load 112 __and_101_4820 -brif 112 L4818 L4819 -label L4818 +store __and_101_4738 111 +label L4739 +load 112 __and_101_4738 +brif 112 L4736 L4737 +label L4736 load 113 callee_n load 114 vn field 115 114 16 list children @@ -190686,24 +189825,24 @@ call 118 ast_get_node struct:Node 1 117 call 119 pith_struct_release void 1 113 store callee_n 118 iconst 120 0 -store __and_120_4825 120 +store __and_120_4743 120 load 121 callee_n field 122 121 0 string kind strref 123 m51s37 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -store __and_120_4825 124 -brif 124 L4825 L4826 -label L4825 +store __and_120_4743 124 +brif 124 L4743 L4744 +label L4743 load 126 ir_emitter_core_ir_closure_return_kinds load 127 callee_n field 128 127 8 string value call 129 contains_key bool 2 126 128 -store __and_120_4825 129 -label L4826 -load 130 __and_120_4825 -brif 130 L4823 L4824 -label L4823 +store __and_120_4743 129 +label L4744 +load 130 __and_120_4743 +brif 130 L4741 L4742 +label L4741 load 131 ir_builder_ir_var_types load 132 name load 133 ir_emitter_core_ir_closure_return_kinds @@ -190711,43 +189850,43 @@ load 134 callee_n field 135 134 8 string value call 136 map_get_strict string 2 133 135 call 137 map_insert void 3 131 132 136 -jmp L4822 -label L4824 -label L4822 -jmp L4817 -label L4819 +jmp L4740 +label L4742 +label L4740 +jmp L4735 +label L4737 iconst 138 0 -store __and_138_4829 138 +store __and_138_4747 138 iconst 139 0 -store __and_139_4829 139 +store __and_139_4747 139 load 140 vn field 141 140 0 string kind strref 142 m51s36 call 143 pith_cstring_eq bool 2 141 142 call 144 pith_cstring_release void 1 142 -store __and_139_4829 143 -brif 143 L4829 L4830 -label L4829 +store __and_139_4747 143 +brif 143 L4747 L4748 +label L4747 load 145 vn field 146 145 16 list children call 147 pith_list_len int 1 146 iconst 148 0 gt 149 147 148 -store __and_139_4829 149 -label L4830 -load 150 __and_139_4829 -store __and_138_4829 150 -brif 150 L4831 L4832 -label L4831 +store __and_139_4747 149 +label L4748 +load 150 __and_139_4747 +store __and_138_4747 150 +brif 150 L4749 L4750 +label L4749 load 151 ir_emitter_core_ir_current_impl_type call 152 string_len int 1 151 iconst 153 0 gt 154 152 153 -store __and_138_4829 154 -label L4832 -load 155 __and_138_4829 -brif 155 L4827 L4828 -label L4827 +store __and_138_4747 154 +label L4750 +load 155 __and_138_4747 +brif 155 L4745 L4746 +label L4745 load 156 recv load 157 vn field 158 157 16 list children @@ -190761,8 +189900,8 @@ field 164 163 0 string kind strref 165 m51s527 call 166 pith_cstring_eq bool 2 164 165 call 167 pith_cstring_release void 1 165 -brif 166 L4834 L4835 -label L4834 +brif 166 L4752 L4753 +label L4752 load 168 field_kind load 169 ir_emitter_core_ir_current_impl_type call 170 ir_method_tables_ir_strip_type_args string 1 169 @@ -190776,24 +189915,24 @@ load 176 field_kind call 177 string_len int 1 176 iconst 178 0 gt 179 177 178 -brif 179 L4837 L4838 -label L4837 +brif 179 L4755 L4756 +label L4755 load 180 ir_emitter_core_ir_closure_return_kinds load 181 name load 182 field_kind call 183 map_insert void 3 180 181 182 -jmp L4836 -label L4838 -label L4836 -jmp L4833 -label L4835 -label L4833 -jmp L4817 -label L4828 -label L4817 -jmp L4812 -label L4814 -label L4812 +jmp L4754 +label L4756 +label L4754 +jmp L4751 +label L4753 +label L4751 +jmp L4735 +label L4746 +label L4735 +jmp L4730 +label L4732 +label L4730 load 184 target_type strref 185 m51s83 call 186 pith_cstring_release void 1 184 @@ -190801,8 +189940,8 @@ store target_type 185 load 187 type_idx iconst 188 0 gte 189 187 188 -brif 189 L4840 L4841 -label L4840 +brif 189 L4758 L4759 +label L4758 load 190 target_type load 191 type_idx call 192 ir_alias_registry_ir_resolve_type_node string 1 191 @@ -190812,15 +189951,15 @@ load 194 target_type call 195 string_len int 1 194 iconst 196 0 gt 197 195 196 -brif 197 L4843 L4844 -label L4843 +brif 197 L4761 L4762 +label L4761 load 198 ir_builder_ir_var_types load 199 name load 200 target_type call 201 map_insert void 3 198 199 200 -jmp L4842 -label L4844 -label L4842 +jmp L4760 +label L4762 +label L4760 load 202 map_value_type load 203 type_idx call 204 ir_alias_registry_ir_resolve_map_value_type_node string 1 203 @@ -190830,23 +189969,23 @@ load 206 map_value_type call 207 string_len int 1 206 iconst 208 0 gt 209 207 208 -brif 209 L4846 L4847 -label L4846 +brif 209 L4764 L4765 +label L4764 load 210 ir_emitter_core_ir_map_value_types load 211 name load 212 map_value_type call 213 map_insert void 3 210 211 212 -jmp L4845 -label L4847 -label L4845 -jmp L4839 -label L4841 -label L4839 +jmp L4763 +label L4765 +label L4763 +jmp L4757 +label L4759 +label L4757 load 214 val_idx iconst 215 0 gte 216 214 215 -brif 216 L4849 L4850 -label L4849 +brif 216 L4767 L4768 +label L4767 load 217 bind_kind load 218 name call 219 ir_emitter_core_ir_rc_local_kind string 1 218 @@ -190862,26 +190001,26 @@ iconst 226 1 sub 227 225 226 store old_r 227 iconst 228 0 -store __and_228_4854 228 +store __and_228_4772 228 load 229 tracked -store __and_228_4854 229 -brif 229 L4854 L4855 -label L4854 +store __and_228_4772 229 +brif 229 L4772 L4773 +label L4772 load 230 bind_kind call 231 ir_ownership_ir_rc_release_enabled bool 1 230 -store __and_228_4854 231 -label L4855 -load 232 __and_228_4854 -brif 232 L4852 L4853 -label L4852 +store __and_228_4772 231 +label L4773 +load 232 __and_228_4772 +brif 232 L4770 L4771 +label L4770 call 233 ir_builder_ir_reg int 0 store old_r 233 load 234 old_r load 235 name call 236 ir_emitter_core_ir_emit_name_load void 2 234 235 -jmp L4851 -label L4853 -label L4851 +jmp L4769 +label L4771 +label L4769 load 237 bind_target load 238 name load 239 target_type @@ -190903,8 +190042,8 @@ load 251 annot_ctor call 252 string_len int 1 251 iconst 253 0 gt 254 252 253 -brif 254 L4857 L4858 -label L4857 +brif 254 L4775 L4776 +label L4775 call 255 ir_builder_ir_reg int 0 store r 255 load 256 r @@ -190912,66 +190051,66 @@ load 257 annot_ctor strref 258 m51s20 call 259 ir_call_emit_ir_emit_call0 void 3 256 257 258 call 260 pith_cstring_release void 1 258 -jmp L4856 -label L4858 -label L4856 +jmp L4774 +label L4776 +label L4774 load 261 r iconst 262 0 lt 263 261 262 -brif 263 L4860 L4861 -label L4860 +brif 263 L4778 L4779 +label L4778 load 264 val_idx load 265 bind_target call 266 ir_emitter_core_ir_emit_value_for_target int 2 264 265 store r 266 -jmp L4859 -label L4861 -label L4859 +jmp L4777 +label L4779 +label L4777 iconst 267 0 -store __and_267_4865 267 +store __and_267_4783 267 iconst 268 0 -store __and_268_4865 268 +store __and_268_4783 268 load 269 tracked -store __and_268_4865 269 -brif 269 L4865 L4866 -label L4865 +store __and_268_4783 269 +brif 269 L4783 L4784 +label L4783 load 270 bind_target strref 271 m51s23 call 273 pith_cstring_eq bool 2 270 271 iconst 274 1 sub 272 274 273 call 275 pith_cstring_release void 1 271 -store __and_268_4865 272 -label L4866 -load 276 __and_268_4865 -store __and_267_4865 276 -brif 276 L4867 L4868 -label L4867 +store __and_268_4783 272 +label L4784 +load 276 __and_268_4783 +store __and_267_4783 276 +brif 276 L4785 L4786 +label L4785 load 277 val_idx call 278 ir_emitter_core_ir_string_expr_is_borrowed bool 1 277 -store __and_267_4865 278 -label L4868 -load 279 __and_267_4865 -brif 279 L4863 L4864 -label L4863 +store __and_267_4783 278 +label L4786 +load 279 __and_267_4783 +brif 279 L4781 L4782 +label L4781 load 280 r load 281 bind_kind call 282 ir_ownership_ir_rc_retain_reg void 2 280 281 -jmp L4862 -label L4864 -label L4862 +jmp L4780 +label L4782 +label L4780 load 283 old_r iconst 284 0 gte 285 283 284 -brif 285 L4870 L4871 -label L4870 +brif 285 L4788 L4789 +label L4788 load 286 old_r load 287 bind_kind load 288 name call 289 ir_emitter_core_ir_rc_release_local void 3 286 287 288 -jmp L4869 -label L4871 -label L4869 +jmp L4787 +label L4789 +label L4787 load 290 ir_builder_ir_var_regs load 291 name load 292 r @@ -190984,8 +190123,8 @@ load 298 name call 299 contains_key bool 2 297 298 iconst 301 1 sub 300 301 299 -brif 300 L4873 L4874 -label L4873 +brif 300 L4791 L4792 +label L4791 load 302 inferred load 303 val_idx call 304 ir_emitter_core_ir_infer_type string 1 303 @@ -190995,21 +190134,21 @@ load 306 inferred call 307 string_len int 1 306 iconst 308 0 gt 309 307 308 -brif 309 L4876 L4877 -label L4876 +brif 309 L4794 L4795 +label L4794 load 310 ir_builder_ir_var_types load 311 name load 312 inferred call 313 map_insert void 3 310 311 312 -jmp L4875 -label L4877 -label L4875 -jmp L4872 -label L4874 -label L4872 -jmp L4848 -label L4850 -label L4848 +jmp L4793 +label L4795 +label L4793 +jmp L4790 +label L4792 +label L4790 +jmp L4766 +label L4768 +label L4766 load 314 parts call 315 pith_struct_release void 1 314 load 316 name @@ -191056,8 +190195,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L4879 L4880 -label L4879 +brif 13 L4797 L4798 +label L4797 load 14 node field 15 14 16 list children iconst 16 0 @@ -191067,8 +190206,8 @@ field 19 18 16 list children iconst 20 1 call 21 pith_list_get_value_strict int 2 19 20 call 22 ir_emitter_core_ir_emit_index_assignment bool 2 17 21 -brif 22 L4882 L4883 -label L4882 +brif 22 L4800 L4801 +label L4800 load 23 name call 24 pith_cstring_release void 1 23 load 25 legacy_kind @@ -191077,18 +190216,18 @@ load 27 legacy_target call 28 pith_cstring_release void 1 27 iconst 29 0 ret 29 -label L4883 -label L4881 -jmp L4878 -label L4880 -label L4878 +label L4801 +label L4799 +jmp L4796 +label L4798 +label L4796 load 30 node field 31 30 16 list children call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -brif 34 L4885 L4886 -label L4885 +brif 34 L4803 L4804 +label L4803 load 35 legacy_kind load 36 name call 37 ir_emitter_core_ir_lookup_name_type string 1 36 @@ -191108,82 +190247,82 @@ iconst 48 1 sub 49 47 48 store old_r 49 iconst 50 0 -store __and_50_4890 50 +store __and_50_4808 50 load 51 legacy_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -store __and_50_4890 54 -brif 54 L4890 L4891 -label L4890 +store __and_50_4808 54 +brif 54 L4808 L4809 +label L4808 load 55 legacy_kind call 56 ir_ownership_ir_rc_release_enabled bool 1 55 -store __and_50_4890 56 -label L4891 -load 57 __and_50_4890 -brif 57 L4888 L4889 -label L4888 +store __and_50_4808 56 +label L4809 +load 57 __and_50_4808 +brif 57 L4806 L4807 +label L4806 iconst 58 0 -store __or_58_4895 58 +store __or_58_4813 58 load 59 tracked -store __or_58_4895 59 -brif 59 L4896 L4895 -label L4895 +store __or_58_4813 59 +brif 59 L4814 L4813 +label L4813 iconst 60 0 -store __and_60_4897 60 +store __and_60_4815 60 load 61 legacy_kind -strref 62 m51s716 +strref 62 m51s717 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __and_60_4897 63 -brif 63 L4897 L4898 -label L4897 +store __and_60_4815 63 +brif 63 L4815 L4816 +label L4815 load 65 ir_alias_registry_ir_global_string_names load 66 name iconst 67 -1 -store __list_index_result_L4899 67 +store __list_index_result_L4817 67 iconst 68 0 -store __list_index_i_L4900 68 +store __list_index_i_L4818 68 call 69 pith_list_len int 1 65 -label L4901 -load 70 __list_index_i_L4900 +label L4819 +load 70 __list_index_i_L4818 lt 71 70 69 -brif 71 L4902 L4905 -label L4902 +brif 71 L4820 L4823 +label L4820 call 72 pith_list_get_value string 2 65 70 call 73 pith_cstring_eq bool 2 72 66 -brif 73 L4903 L4904 -label L4903 -store __list_index_result_L4899 70 -jmp L4905 -label L4904 +brif 73 L4821 L4822 +label L4821 +store __list_index_result_L4817 70 +jmp L4823 +label L4822 iconst 74 1 add 75 70 74 -store __list_index_i_L4900 75 -jmp L4901 -label L4905 -load 76 __list_index_result_L4899 +store __list_index_i_L4818 75 +jmp L4819 +label L4823 +load 76 __list_index_result_L4817 iconst 77 0 gte 78 76 77 -store __and_60_4897 78 -label L4898 -load 79 __and_60_4897 -store __or_58_4895 79 -label L4896 -load 80 __or_58_4895 -brif 80 L4893 L4894 -label L4893 +store __and_60_4815 78 +label L4816 +load 79 __and_60_4815 +store __or_58_4813 79 +label L4814 +load 80 __or_58_4813 +brif 80 L4811 L4812 +label L4811 call 81 ir_builder_ir_reg int 0 store old_r 81 load 82 old_r load 83 name call 84 ir_emitter_core_ir_emit_name_load void 2 82 83 -jmp L4892 -label L4894 -label L4892 -jmp L4887 -label L4889 -label L4887 +jmp L4810 +label L4812 +label L4810 +jmp L4805 +label L4807 +label L4805 load 85 legacy_target load 86 name load 87 name @@ -191200,56 +190339,56 @@ load 96 legacy_target call 97 ir_emitter_core_ir_emit_value_for_target int 2 95 96 store r 97 iconst 98 0 -store __and_98_4909 98 +store __and_98_4827 98 iconst 99 0 -store __and_99_4909 99 +store __and_99_4827 99 load 100 legacy_kind call 101 string_len int 1 100 iconst 102 0 gt 103 101 102 -store __and_99_4909 103 -brif 103 L4909 L4910 -label L4909 +store __and_99_4827 103 +brif 103 L4827 L4828 +label L4827 load 104 legacy_target strref 105 m51s23 call 107 pith_cstring_eq bool 2 104 105 iconst 108 1 sub 106 108 107 call 109 pith_cstring_release void 1 105 -store __and_99_4909 106 -label L4910 -load 110 __and_99_4909 -store __and_98_4909 110 -brif 110 L4911 L4912 -label L4911 +store __and_99_4827 106 +label L4828 +load 110 __and_99_4827 +store __and_98_4827 110 +brif 110 L4829 L4830 +label L4829 load 111 node field 112 111 16 list children iconst 113 0 call 114 pith_list_get_value_strict int 2 112 113 call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_98_4909 115 -label L4912 -load 116 __and_98_4909 -brif 116 L4907 L4908 -label L4907 +store __and_98_4827 115 +label L4830 +load 116 __and_98_4827 +brif 116 L4825 L4826 +label L4825 load 117 r load 118 legacy_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4906 -label L4908 -label L4906 +jmp L4824 +label L4826 +label L4824 load 120 old_r iconst 121 0 gte 122 120 121 -brif 122 L4914 L4915 -label L4914 +brif 122 L4832 L4833 +label L4832 load 123 old_r load 124 legacy_kind load 125 name call 126 ir_emitter_core_ir_rc_release_local void 3 123 124 125 -jmp L4913 -label L4915 -label L4913 +jmp L4831 +label L4833 +label L4831 load 127 ir_builder_ir_var_regs load 128 name load 129 r @@ -191257,9 +190396,9 @@ call 130 map_insert void 3 127 128 129 load 131 name load 132 r call 133 ir_emitter_core_ir_emit_name_store void 2 131 132 -jmp L4884 -label L4886 -label L4884 +jmp L4802 +label L4804 +label L4802 load 134 name call 135 pith_cstring_release void 1 134 load 136 legacy_kind @@ -191289,8 +190428,8 @@ store direct 9 load 11 ir_struct_registry_ir_struct_field_index_lookup load 12 direct call 13 contains_key bool 2 11 12 -brif 13 L4917 L4918 -label L4917 +brif 13 L4835 L4836 +label L4835 load 14 direct load 15 recv_type call 16 pith_cstring_release void 1 15 @@ -191299,8 +190438,8 @@ call 18 pith_cstring_release void 1 17 load 19 base_key call 20 pith_cstring_release void 1 19 ret 14 -label L4918 -label L4916 +label L4836 +label L4834 load 21 recv_type load 22 recv_idx call 23 ir_emitter_core_ir_field_receiver_type string 1 22 @@ -191316,8 +190455,8 @@ load 30 recv_type call 32 pith_cstring_eq bool 2 29 30 iconst 33 1 sub 31 33 32 -brif 31 L4920 L4921 -label L4920 +brif 31 L4838 L4839 +label L4838 load 34 base_key load 35 base strref 36 m51s26 @@ -191331,8 +190470,8 @@ store base_key 40 load 43 ir_struct_registry_ir_struct_field_index_lookup load 44 base_key call 45 contains_key bool 2 43 44 -brif 45 L4923 L4924 -label L4923 +brif 45 L4841 L4842 +label L4841 load 46 base_key load 47 direct call 48 pith_cstring_release void 1 47 @@ -191341,11 +190480,11 @@ call 50 pith_cstring_release void 1 49 load 51 base call 52 pith_cstring_release void 1 51 ret 46 -label L4924 -label L4922 -jmp L4919 -label L4921 -label L4919 +label L4842 +label L4840 +jmp L4837 +label L4839 +label L4837 strref 53 m51s83 load 54 direct call 55 pith_cstring_release void 1 54 @@ -191388,7 +190527,7 @@ call 10 ast_get_node struct:Node 1 9 call 11 pith_struct_release void 1 8 store target 10 iconst 12 0 -store __or_12_4928 12 +store __or_12_4846 12 load 13 target field 14 13 0 string kind strref 15 m51s36 @@ -191396,19 +190535,19 @@ call 17 pith_cstring_eq bool 2 14 15 iconst 18 1 sub 16 18 17 call 19 pith_cstring_release void 1 15 -store __or_12_4928 16 -brif 16 L4929 L4928 -label L4928 +store __or_12_4846 16 +brif 16 L4847 L4846 +label L4846 load 20 target field 21 20 16 list children call 22 pith_list_len int 1 21 iconst 23 0 eq 24 22 23 -store __or_12_4928 24 -label L4929 -load 25 __or_12_4928 -brif 25 L4926 L4927 -label L4926 +store __or_12_4846 24 +label L4847 +load 25 __or_12_4846 +brif 25 L4844 L4845 +label L4844 iconst 26 0 load 27 target call 28 pith_struct_release void 1 27 @@ -191423,8 +190562,8 @@ call 36 pith_cstring_release void 1 35 load 37 weak_struct call 38 pith_cstring_release void 1 37 ret 26 -label L4927 -label L4925 +label L4845 +label L4843 load 39 fname load 40 target_idx call 41 ast_node_value string 1 40 @@ -191445,8 +190584,8 @@ load 52 lookup_key call 53 string_len int 1 52 iconst 54 0 eq 55 53 54 -brif 55 L4931 L4932 -label L4931 +brif 55 L4849 L4850 +label L4849 iconst 56 0 load 57 target call 58 pith_struct_release void 1 57 @@ -191461,8 +190600,8 @@ call 66 pith_cstring_release void 1 65 load 67 weak_struct call 68 pith_cstring_release void 1 67 ret 56 -label L4932 -label L4930 +label L4850 +label L4848 load 69 ir_struct_registry_ir_struct_field_index_lookup load 70 lookup_key call 71 map_get_strict string 2 69 70 @@ -191481,16 +190620,16 @@ load 80 value_type call 81 string_len int 1 80 iconst 82 0 eq 83 81 82 -brif 83 L4934 L4935 -label L4934 +brif 83 L4852 L4853 +label L4852 load 84 value_type load 85 value_idx call 86 ir_emitter_core_ir_infer_type string 1 85 call 87 pith_cstring_release void 1 84 store value_type 86 -jmp L4933 -label L4935 -label L4933 +jmp L4851 +label L4853 +label L4851 load 88 fassign_kind load 89 value_type call 90 ir_struct_registry_ir_rc_kind string 1 89 @@ -191512,8 +190651,8 @@ store weak_struct 102 load 104 weak_struct load 105 fname call 106 ir_emitter_core_ir_struct_field_is_weak bool 2 104 105 -brif 106 L4937 L4938 -label L4937 +brif 106 L4855 L4856 +label L4855 call 107 ir_builder_ir_reg int 0 store old_w 107 load 108 old_w @@ -191584,28 +190723,28 @@ call 170 pith_cstring_release void 1 169 load 171 weak_struct call 172 pith_cstring_release void 1 171 ret 160 -label L4938 -label L4936 +label L4856 +label L4854 iconst 173 0 iconst 174 1 sub 175 173 174 store old_r 175 iconst 176 0 -store __and_176_4942 176 +store __and_176_4860 176 load 177 fassign_kind call 178 string_len int 1 177 iconst 179 0 gt 180 178 179 -store __and_176_4942 180 -brif 180 L4942 L4943 -label L4942 +store __and_176_4860 180 +brif 180 L4860 L4861 +label L4860 load 181 fassign_kind call 182 ir_ownership_ir_rc_release_enabled bool 1 181 -store __and_176_4942 182 -label L4943 -load 183 __and_176_4942 -brif 183 L4940 L4941 -label L4940 +store __and_176_4860 182 +label L4861 +load 183 __and_176_4860 +brif 183 L4858 L4859 +label L4858 call 184 ir_builder_ir_reg int 0 store old_r 184 load 185 old_r @@ -191614,49 +190753,49 @@ load 187 lookup_key load 188 fname load 189 value_type call 190 ir_alias_registry_ir_emit_named_field_access void 5 185 186 187 188 189 -jmp L4939 -label L4941 -label L4939 +jmp L4857 +label L4859 +label L4857 load 191 value_idx load 192 value_type call 193 ir_emitter_core_ir_emit_value_for_target int 2 191 192 store value_r 193 iconst 194 0 -store __and_194_4947 194 +store __and_194_4865 194 iconst 195 0 -store __and_195_4947 195 +store __and_195_4865 195 load 196 fassign_kind call 197 string_len int 1 196 iconst 198 0 gt 199 197 198 -store __and_195_4947 199 -brif 199 L4947 L4948 -label L4947 +store __and_195_4865 199 +brif 199 L4865 L4866 +label L4865 load 200 fassign_kind strref 201 m51s23 call 203 pith_cstring_eq bool 2 200 201 iconst 204 1 sub 202 204 203 call 205 pith_cstring_release void 1 201 -store __and_195_4947 202 -label L4948 -load 206 __and_195_4947 -store __and_194_4947 206 -brif 206 L4949 L4950 -label L4949 +store __and_195_4865 202 +label L4866 +load 206 __and_195_4865 +store __and_194_4865 206 +brif 206 L4867 L4868 +label L4867 load 207 value_idx call 208 ir_emitter_core_ir_string_expr_is_borrowed bool 1 207 -store __and_194_4947 208 -label L4950 -load 209 __and_194_4947 -brif 209 L4945 L4946 -label L4945 +store __and_194_4865 208 +label L4868 +load 209 __and_194_4865 +brif 209 L4863 L4864 +label L4863 load 210 value_r load 211 fassign_kind call 212 ir_ownership_ir_rc_retain_reg void 2 210 211 -jmp L4944 -label L4946 -label L4944 +jmp L4862 +label L4864 +label L4862 strref 213 m51s1094 load 214 obj_r call 215 int_to_string string 1 214 @@ -191686,14 +190825,14 @@ call 238 pith_cstring_release void 1 234 load 239 old_r iconst 240 0 gte 241 239 240 -brif 241 L4952 L4953 -label L4952 +brif 241 L4870 L4871 +label L4870 load 242 old_r load 243 fassign_kind call 244 ir_ownership_ir_rc_release_reg void 2 242 243 -jmp L4951 -label L4953 -label L4951 +jmp L4869 +label L4871 +label L4869 iconst 245 1 load 246 target call 247 pith_struct_release void 1 246 @@ -191739,7 +190878,7 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store target 8 iconst 10 0 -store __or_10_4957 10 +store __or_10_4875 10 load 11 target field 12 11 0 string kind strref 13 m51s36 @@ -191747,19 +190886,19 @@ call 15 pith_cstring_eq bool 2 12 13 iconst 16 1 sub 14 16 15 call 17 pith_cstring_release void 1 13 -store __or_10_4957 14 -brif 14 L4958 L4957 -label L4957 +store __or_10_4875 14 +brif 14 L4876 L4875 +label L4875 load 18 target field 19 18 16 list children call 20 pith_list_len int 1 19 iconst 21 0 eq 22 20 21 -store __or_10_4957 22 -label L4958 -load 23 __or_10_4957 -brif 23 L4955 L4956 -label L4955 +store __or_10_4875 22 +label L4876 +load 23 __or_10_4875 +brif 23 L4873 L4874 +label L4873 iconst 24 0 load 25 target call 26 pith_struct_release void 1 25 @@ -191768,8 +190907,8 @@ call 28 pith_cstring_release void 1 27 load 29 lookup_key call 30 pith_cstring_release void 1 29 ret 24 -label L4956 -label L4954 +label L4874 +label L4872 load 31 fname load 32 target_idx call 33 ast_node_value string 1 32 @@ -191790,8 +190929,8 @@ load 44 lookup_key call 45 string_len int 1 44 iconst 46 0 eq 47 45 46 -brif 47 L4960 L4961 -label L4960 +brif 47 L4878 L4879 +label L4878 iconst 48 0 load 49 target call 50 pith_struct_release void 1 49 @@ -191800,8 +190939,8 @@ call 52 pith_cstring_release void 1 51 load 53 lookup_key call 54 pith_cstring_release void 1 53 ret 48 -label L4961 -label L4959 +label L4879 +label L4877 load 55 ir_struct_registry_ir_struct_field_index_lookup load 56 lookup_key call 57 map_get_strict string 2 55 56 @@ -191897,24 +191036,24 @@ call 11 pith_cstring_retain void 1 10 call 12 pith_cstring_release void 1 8 store op 10 iconst 13 0 -store __and_13_4965 13 +store __and_13_4883 13 load 14 op strref 15 m51s562 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __and_13_4965 16 -brif 16 L4965 L4966 -label L4965 +store __and_13_4883 16 +brif 16 L4883 L4884 +label L4883 load 18 node field 19 18 16 list children call 20 pith_list_len int 1 19 iconst 21 2 gte 22 20 21 -store __and_13_4965 22 -label L4966 -load 23 __and_13_4965 -brif 23 L4963 L4964 -label L4963 +store __and_13_4883 22 +label L4884 +load 23 __and_13_4883 +brif 23 L4881 L4882 +label L4881 load 24 node field 25 24 16 list children iconst 26 0 @@ -191924,8 +191063,8 @@ field 29 28 16 list children iconst 30 1 call 31 pith_list_get_value_strict int 2 29 30 call 32 ir_emitter_core_ir_emit_index_assignment bool 2 27 31 -brif 32 L4968 L4969 -label L4968 +brif 32 L4886 L4887 +label L4886 load 33 op call 34 pith_cstring_release void 1 33 load 35 tn @@ -191942,8 +191081,8 @@ load 45 compound_op call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L4969 -label L4967 +label L4887 +label L4885 load 48 node field 49 48 16 list children iconst 50 0 @@ -191953,8 +191092,8 @@ field 53 52 16 list children iconst 54 1 call 55 pith_list_get_value_strict int 2 53 54 call 56 ir_emitter_core_ir_emit_field_assignment bool 2 51 55 -brif 56 L4971 L4972 -label L4971 +brif 56 L4889 L4890 +label L4889 load 57 op call 58 pith_cstring_release void 1 57 load 59 tn @@ -191971,8 +191110,8 @@ load 69 compound_op call 70 pith_cstring_release void 1 69 iconst 71 0 ret 71 -label L4972 -label L4970 +label L4890 +label L4888 load 72 tn load 73 node field 74 73 16 list children @@ -192005,8 +191144,8 @@ load 96 assign_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L4974 L4975 -label L4974 +brif 99 L4892 L4893 +label L4892 load 100 assign_kind load 101 name call 102 ir_emitter_core_ir_lookup_name_type string 1 101 @@ -192014,9 +191153,9 @@ call 103 ir_struct_registry_ir_rc_kind string 1 102 call 104 pith_cstring_release void 1 102 call 105 pith_cstring_release void 1 100 store assign_kind 103 -jmp L4973 -label L4975 -label L4973 +jmp L4891 +label L4893 +label L4891 load 106 name call 107 ir_emitter_core_ir_rc_local_kind string 1 106 call 108 string_len int 1 107 @@ -192029,82 +191168,82 @@ iconst 113 1 sub 114 112 113 store old_r 114 iconst 115 0 -store __and_115_4979 115 +store __and_115_4897 115 load 116 assign_kind call 117 string_len int 1 116 iconst 118 0 gt 119 117 118 -store __and_115_4979 119 -brif 119 L4979 L4980 -label L4979 +store __and_115_4897 119 +brif 119 L4897 L4898 +label L4897 load 120 assign_kind call 121 ir_ownership_ir_rc_release_enabled bool 1 120 -store __and_115_4979 121 -label L4980 -load 122 __and_115_4979 -brif 122 L4977 L4978 -label L4977 +store __and_115_4897 121 +label L4898 +load 122 __and_115_4897 +brif 122 L4895 L4896 +label L4895 iconst 123 0 -store __or_123_4984 123 +store __or_123_4902 123 load 124 tracked -store __or_123_4984 124 -brif 124 L4985 L4984 -label L4984 +store __or_123_4902 124 +brif 124 L4903 L4902 +label L4902 iconst 125 0 -store __and_125_4986 125 +store __and_125_4904 125 load 126 assign_kind -strref 127 m51s716 +strref 127 m51s717 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __and_125_4986 128 -brif 128 L4986 L4987 -label L4986 +store __and_125_4904 128 +brif 128 L4904 L4905 +label L4904 load 130 ir_alias_registry_ir_global_string_names load 131 name iconst 132 -1 -store __list_index_result_L4988 132 +store __list_index_result_L4906 132 iconst 133 0 -store __list_index_i_L4989 133 +store __list_index_i_L4907 133 call 134 pith_list_len int 1 130 -label L4990 -load 135 __list_index_i_L4989 +label L4908 +load 135 __list_index_i_L4907 lt 136 135 134 -brif 136 L4991 L4994 -label L4991 +brif 136 L4909 L4912 +label L4909 call 137 pith_list_get_value string 2 130 135 call 138 pith_cstring_eq bool 2 137 131 -brif 138 L4992 L4993 -label L4992 -store __list_index_result_L4988 135 -jmp L4994 -label L4993 +brif 138 L4910 L4911 +label L4910 +store __list_index_result_L4906 135 +jmp L4912 +label L4911 iconst 139 1 add 140 135 139 -store __list_index_i_L4989 140 -jmp L4990 -label L4994 -load 141 __list_index_result_L4988 +store __list_index_i_L4907 140 +jmp L4908 +label L4912 +load 141 __list_index_result_L4906 iconst 142 0 gte 143 141 142 -store __and_125_4986 143 -label L4987 -load 144 __and_125_4986 -store __or_123_4984 144 -label L4985 -load 145 __or_123_4984 -brif 145 L4982 L4983 -label L4982 +store __and_125_4904 143 +label L4905 +load 144 __and_125_4904 +store __or_123_4902 144 +label L4903 +load 145 __or_123_4902 +brif 145 L4900 L4901 +label L4900 call 146 ir_builder_ir_reg int 0 store old_r 146 load 147 old_r load 148 name call 149 ir_emitter_core_ir_emit_name_load void 2 147 148 -jmp L4981 -label L4983 -label L4981 -jmp L4976 -label L4978 -label L4976 +jmp L4899 +label L4901 +label L4899 +jmp L4894 +label L4896 +label L4894 load 150 assign_target load 151 name load 152 target_type @@ -192119,55 +191258,55 @@ load 159 assign_target call 160 ir_emitter_core_ir_emit_value_for_target int 2 158 159 store r 160 iconst 161 0 -store __and_161_4998 161 +store __and_161_4916 161 iconst 162 0 -store __and_162_4998 162 +store __and_162_4916 162 load 163 assign_kind call 164 string_len int 1 163 iconst 165 0 gt 166 164 165 -store __and_162_4998 166 -brif 166 L4998 L4999 -label L4998 +store __and_162_4916 166 +brif 166 L4916 L4917 +label L4916 load 167 assign_target strref 168 m51s23 call 170 pith_cstring_eq bool 2 167 168 iconst 171 1 sub 169 171 170 call 172 pith_cstring_release void 1 168 -store __and_162_4998 169 -label L4999 -load 173 __and_162_4998 -store __and_161_4998 173 -brif 173 L5000 L5001 -label L5000 +store __and_162_4916 169 +label L4917 +load 173 __and_162_4916 +store __and_161_4916 173 +brif 173 L4918 L4919 +label L4918 load 174 node field 175 174 16 list children iconst 176 1 call 177 pith_list_get_value_strict int 2 175 176 call 178 ir_emitter_core_ir_string_expr_is_borrowed bool 1 177 -store __and_161_4998 178 -label L5001 -load 179 __and_161_4998 -brif 179 L4996 L4997 -label L4996 +store __and_161_4916 178 +label L4919 +load 179 __and_161_4916 +brif 179 L4914 L4915 +label L4914 load 180 r load 181 assign_kind call 182 ir_ownership_ir_rc_retain_reg void 2 180 181 -jmp L4995 -label L4997 -label L4995 +jmp L4913 +label L4915 +label L4913 load 183 old_r iconst 184 0 gte 185 183 184 -brif 185 L5003 L5004 -label L5003 +brif 185 L4921 L4922 +label L4921 load 186 old_r load 187 assign_kind call 188 ir_ownership_ir_rc_release_reg void 2 186 187 -jmp L5002 -label L5004 -label L5002 +jmp L4920 +label L4922 +label L4920 load 189 name load 190 r call 191 ir_emitter_core_ir_emit_name_store void 2 189 190 @@ -192187,32 +191326,32 @@ load 204 compound_op call 205 pith_cstring_release void 1 204 iconst 206 0 ret 206 -label L4964 -label L4962 +label L4882 +label L4880 load 207 compound_op load 208 op call 209 ir_operator_helpers_ir_compound_assignment_ir_op string 1 208 call 210 pith_cstring_release void 1 207 store compound_op 209 iconst 211 0 -store __and_211_5008 211 +store __and_211_4926 211 load 212 compound_op call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -store __and_211_5008 215 -brif 215 L5008 L5009 -label L5008 +store __and_211_4926 215 +brif 215 L4926 L4927 +label L4926 load 216 node field 217 216 16 list children call 218 pith_list_len int 1 217 iconst 219 2 gte 220 218 219 -store __and_211_5008 220 -label L5009 -load 221 __and_211_5008 -brif 221 L5006 L5007 -label L5006 +store __and_211_4926 220 +label L4927 +load 221 __and_211_4926 +brif 221 L4924 L4925 +label L4924 load 222 node field 223 222 16 list children iconst 224 0 @@ -192223,8 +191362,8 @@ iconst 228 1 call 229 pith_list_get_value_strict int 2 227 228 load 230 compound_op call 231 ir_emitter_core_ir_emit_field_compound_assignment bool 3 225 229 230 -brif 231 L5011 L5012 -label L5011 +brif 231 L4929 L4930 +label L4929 load 232 op call 233 pith_cstring_release void 1 232 load 234 tn @@ -192241,8 +191380,8 @@ load 244 compound_op call 245 pith_cstring_release void 1 244 iconst 246 0 ret 246 -label L5012 -label L5010 +label L4930 +label L4928 load 247 tn load 248 node field 249 248 16 list children @@ -192278,9 +191417,9 @@ call 273 ir_operator_helpers_ir_emit_simple_binary void 4 269 270 271 272 load 274 name load 275 res call 276 ir_emitter_core_ir_emit_name_store void 2 274 275 -jmp L5005 -label L5007 -label L5005 +jmp L4923 +label L4925 +label L4923 load 277 op call 278 pith_cstring_release void 1 277 load 279 tn @@ -192307,8 +191446,8 @@ load 4 branch field 5 4 0 int cond_idx iconst 6 0 gte 7 5 6 -brif 7 L5014 L5015 -label L5014 +brif 7 L4932 L4933 +label L4932 load 8 branch field 9 8 0 int cond_idx call 10 ir_emitter_core_ir_expr int 1 9 @@ -192335,9 +191474,9 @@ concat 29 25 28 call 30 pith_cstring_release void 1 25 call 31 ir_builder_ir_emit void 1 29 call 32 pith_cstring_release void 1 29 -jmp L5013 -label L5015 -label L5013 +jmp L4931 +label L4933 +label L4931 load 33 then_label call 34 ir_call_emit_ir_emit_label void 1 33 iconst 35 0 @@ -192346,28 +191485,28 @@ load 36 branch field 37 36 8 int body_idx iconst 38 0 gte 39 37 38 -brif 39 L5017 L5018 -label L5017 +brif 39 L4935 L4936 +label L4935 load 40 branch field 41 40 8 int body_idx call 42 ir_emitter_core_ir_block int 1 41 -jmp L5016 -label L5018 -label L5016 +jmp L4934 +label L4936 +label L4934 load 43 ir_call_emit_ir_last_was_ret iconst 45 1 sub 44 45 43 -brif 44 L5020 L5021 -label L5020 +brif 44 L4938 L4939 +label L4938 strref 46 m51s881 load 47 end_label concat 48 46 47 call 49 pith_cstring_release void 1 46 call 50 ir_builder_ir_emit void 1 48 call 51 pith_cstring_release void 1 48 -jmp L5019 -label L5021 -label L5019 +jmp L4937 +label L4939 +label L4937 load 52 next_label call 53 ir_call_emit_ir_emit_label void 1 52 iconst 54 0 @@ -192441,8 +191580,8 @@ load 58 index_name call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -brif 61 L5023 L5024 -label L5023 +brif 61 L4941 L4942 +label L4941 call 62 ir_builder_ir_reg int 0 store idx_val 62 strref 63 m51s877 @@ -192465,11 +191604,11 @@ load 79 idx_val call 80 ir_emitter_core_ir_emit_name_store void 2 78 79 load 81 ir_builder_ir_var_types load 82 index_name -strref 83 m51s712 +strref 83 m51s713 call 84 pith_map_insert_cstr_owned void 3 81 82 83 -jmp L5022 -label L5024 -label L5022 +jmp L4940 +label L4942 +label L4940 load 85 item_ret_kind call 86 pith_cstring_release void 1 85 iconst 87 0 @@ -192498,66 +191637,66 @@ load 13 kind strref 14 m51s583 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L5026 L5027 -label L5026 +brif 15 L4944 L4945 +label L4944 load 17 node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L5029 L5030 -label L5029 +brif 21 L4947 L4948 +label L4947 load 22 node field 23 22 16 list children iconst 24 0 call 25 pith_list_get_value_strict int 2 23 24 iconst 26 0 call 27 ir_emitter_core_ir_defer_register void 2 25 26 -jmp L5028 -label L5030 -label L5028 +jmp L4946 +label L4948 +label L4946 load 28 node call 29 pith_struct_release void 1 28 load 30 kind call 31 pith_cstring_release void 1 30 iconst 32 0 ret 32 -label L5027 -label L5025 +label L4945 +label L4943 load 33 kind strref 34 m51s582 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L5032 L5033 -label L5032 +brif 35 L4950 L4951 +label L4950 load 37 node field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L5035 L5036 -label L5035 +brif 41 L4953 L4954 +label L4953 load 42 node field 43 42 16 list children iconst 44 0 call 45 pith_list_get_value_strict int 2 43 44 iconst 46 1 call 47 ir_emitter_core_ir_defer_register void 2 45 46 -jmp L5034 -label L5036 -label L5034 +jmp L4952 +label L4954 +label L4952 load 48 node call 49 pith_struct_release void 1 48 load 50 kind call 51 pith_cstring_release void 1 50 iconst 52 0 ret 52 -label L5033 -label L5031 +label L4951 +label L4949 load 53 kind call 54 ir_control_helpers_ir_stmt_is_expr bool 1 53 -brif 54 L5038 L5039 -label L5038 +brif 54 L4956 L4957 +label L4956 load 55 idx call 56 ir_emitter_core_ir_expr int 1 55 store r 56 @@ -192565,10 +191704,10 @@ load 57 kind strref 58 m51s510 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -brif 59 L5041 L5042 -label L5041 +brif 59 L4959 L4960 +label L4959 call 61 ir_builder_ir_reg int 0 -strref 62 m51s692 +strref 62 m51s693 strref 63 m51s876 load 64 r call 65 ir_call_emit_ir_emit_call1 void 4 61 62 63 64 @@ -192580,48 +191719,48 @@ load 70 kind call 71 pith_cstring_release void 1 70 iconst 72 0 ret 72 -label L5042 -label L5040 +label L4960 +label L4958 iconst 73 0 -store __or_73_5046 73 +store __or_73_4964 73 load 74 kind strref 75 m51s44 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -store __or_73_5046 76 -brif 76 L5047 L5046 -label L5046 +store __or_73_4964 76 +brif 76 L4965 L4964 +label L4964 load 78 kind strref 79 m51s130 call 80 pith_cstring_eq bool 2 78 79 call 81 pith_cstring_release void 1 79 -store __or_73_5046 80 -label L5047 -load 82 __or_73_5046 -brif 82 L5044 L5045 -label L5044 +store __or_73_4964 80 +label L4965 +load 82 __or_73_4964 +brif 82 L4962 L4963 +label L4962 load 83 idx call 84 checker_c_get_expr_type int 1 83 store stmt_tid 84 iconst 85 0 -store __and_85_5051 85 +store __and_85_4969 85 load 86 stmt_tid iconst 87 0 gte 88 86 87 -store __and_85_5051 88 -brif 88 L5051 L5052 -label L5051 +store __and_85_4969 88 +brif 88 L4969 L4970 +label L4969 load 89 stmt_tid call 90 types_get_type_info struct:TypeInfo 1 89 field 91 90 0 string kind strref 92 m51s22 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -store __and_85_5051 93 -label L5052 -load 95 __and_85_5051 -brif 95 L5049 L5050 -label L5049 +store __and_85_4969 93 +label L4970 +load 95 __and_85_4969 +brif 95 L4967 L4968 +label L4967 load 96 r load 97 stmt_tid call 98 ir_emitter_core_ir_emit_discard_result void 2 96 97 @@ -192631,50 +191770,50 @@ load 101 kind call 102 pith_cstring_release void 1 101 iconst 103 0 ret 103 -label L5050 -label L5048 -jmp L5043 -label L5045 -label L5043 +label L4968 +label L4966 +jmp L4961 +label L4963 +label L4961 iconst 104 0 -store __and_104_5056 104 +store __and_104_4974 104 load 105 idx call 106 ir_emitter_core_ir_infer_type string 1 105 -strref 107 m51s716 +strref 107 m51s717 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 106 call 110 pith_cstring_release void 1 107 -store __and_104_5056 108 -brif 108 L5056 L5057 -label L5056 +store __and_104_4974 108 +brif 108 L4974 L4975 +label L4974 load 111 idx call 112 ir_emitter_core_ir_string_expr_is_borrowed bool 1 111 iconst 114 1 sub 113 114 112 -store __and_104_5056 113 -label L5057 -load 115 __and_104_5056 -brif 115 L5054 L5055 -label L5054 +store __and_104_4974 113 +label L4975 +load 115 __and_104_4974 +brif 115 L4972 L4973 +label L4972 load 116 r call 117 ir_ownership_ir_string_release_reg void 1 116 -jmp L5053 -label L5055 -label L5053 +jmp L4971 +label L4973 +label L4971 load 118 node call 119 pith_struct_release void 1 118 load 120 kind call 121 pith_cstring_release void 1 120 iconst 122 0 ret 122 -label L5039 -label L5037 +label L4957 +label L4955 load 123 kind strref 124 m51s65 call 125 pith_cstring_eq bool 2 123 124 call 126 pith_cstring_release void 1 124 -brif 125 L5059 L5060 -label L5059 +brif 125 L4977 L4978 +label L4977 load 127 idx call 128 ir_emitter_core_ir_block int 1 127 load 129 node @@ -192683,14 +191822,14 @@ load 131 kind call 132 pith_cstring_release void 1 131 iconst 133 0 ret 133 -label L5060 -label L5058 +label L4978 +label L4976 load 134 kind strref 135 m51s149 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L5062 L5063 -label L5062 +brif 136 L4980 L4981 +label L4980 load 138 node call 139 ir_emitter_core_ir_emit_return_stmt void 1 138 load 140 node @@ -192699,26 +191838,26 @@ load 142 kind call 143 pith_cstring_release void 1 142 iconst 144 0 ret 144 -label L5063 -label L5061 +label L4981 +label L4979 iconst 145 0 -store __or_145_5067 145 +store __or_145_4985 145 load 146 kind strref 147 m51s580 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 -store __or_145_5067 148 -brif 148 L5068 L5067 -label L5067 +store __or_145_4985 148 +brif 148 L4986 L4985 +label L4985 load 150 kind strref 151 m51s581 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -store __or_145_5067 152 -label L5068 -load 154 __or_145_5067 -brif 154 L5065 L5066 -label L5065 +store __or_145_4985 152 +label L4986 +load 154 __or_145_4985 +brif 154 L4983 L4984 +label L4983 load 155 node call 156 ir_emitter_core_ir_emit_bind_stmt void 1 155 load 157 node @@ -192727,14 +191866,14 @@ load 159 kind call 160 pith_cstring_release void 1 159 iconst 161 0 ret 161 -label L5066 -label L5064 +label L4984 +label L4982 load 162 kind strref 163 m51s1256 call 164 pith_cstring_eq bool 2 162 163 call 165 pith_cstring_release void 1 163 -brif 164 L5070 L5071 -label L5070 +brif 164 L4988 L4989 +label L4988 load 166 node call 167 ir_emitter_core_ir_emit_assign_stmt void 1 166 load 168 node @@ -192743,14 +191882,14 @@ load 170 kind call 171 pith_cstring_release void 1 170 iconst 172 0 ret 172 -label L5071 -label L5069 +label L4989 +label L4987 load 173 kind strref 174 m51s599 call 175 pith_cstring_eq bool 2 173 174 call 176 pith_cstring_release void 1 174 -brif 175 L5073 L5074 -label L5073 +brif 175 L4991 L4992 +label L4991 load 177 node call 178 ir_emitter_core_ir_emit_compound_assignment void 1 177 load 179 node @@ -192759,8 +191898,8 @@ load 181 kind call 182 pith_cstring_release void 1 181 iconst 183 0 ret 183 -label L5074 -label L5072 +label L4992 +label L4990 load 184 idx load 185 node call 186 ir_emitter_core_ir_stmt_control void 2 184 185 @@ -192799,21 +191938,21 @@ load 14 node field 15 14 16 list children call 16 pith_auto_len int 1 15 iconst 17 0 -store __for_idx_410 17 -store __for_len_410 16 -store __for_iter_410 15 -label L5075 -load 18 __for_idx_410 -load 19 __for_len_410 +store __for_idx_409 17 +store __for_len_409 16 +store __for_iter_409 15 +label L4993 +load 18 __for_idx_409 +load 19 __for_len_409 lt 20 18 19 -brif 20 L5076 L5078 -label L5076 -load 21 __for_iter_410 -load 22 __for_idx_410 +brif 20 L4994 L4996 +label L4994 +load 21 __for_iter_409 +load 22 __for_idx_409 call 23 pith_list_get_value unknown 2 21 22 -store __loopvar_410_child 23 +store __loopvar_409_child 23 load 24 cn -load 25 __loopvar_410_child +load 25 __loopvar_409_child call 26 ast_get_node struct:Node 1 25 call 27 pith_struct_release void 1 24 store cn 26 @@ -192822,32 +191961,32 @@ field 29 28 0 string kind strref 30 m51s545 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L5080 L5081 -label L5080 +brif 31 L4998 L4999 +label L4998 load 33 elif_indices -load 34 __loopvar_410_child +load 34 __loopvar_409_child call 35 pith_list_push_value void 2 33 34 -jmp L5079 -label L5081 +jmp L4997 +label L4999 load 36 cn field 37 36 0 string kind strref 38 m51s543 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L5082 L5083 -label L5082 -load 41 __loopvar_410_child +brif 39 L5000 L5001 +label L5000 +load 41 __loopvar_409_child store else_idx 41 -jmp L5079 -label L5083 -label L5079 -label L5077 -load 42 __for_idx_410 +jmp L4997 +label L5001 +label L4997 +label L4995 +load 42 __for_idx_409 iconst 43 1 add 44 42 43 -store __for_idx_410 44 -jmp L5075 -label L5078 +store __for_idx_409 44 +jmp L4993 +label L4996 load 45 main_branch load 46 node call 47 ir_control_helpers_ir_collect_if_branch struct:IrIfBranch 1 46 @@ -192873,21 +192012,21 @@ call 62 ir_emitter_core_ir_emit_if_branch void 4 58 59 60 61 load 63 elif_indices call 64 pith_auto_len int 1 63 iconst 65 0 -store __for_idx_411 65 -store __for_len_411 64 -store __for_iter_411 63 -label L5084 -load 66 __for_idx_411 -load 67 __for_len_411 +store __for_idx_410 65 +store __for_len_410 64 +store __for_iter_410 63 +label L5002 +load 66 __for_idx_410 +load 67 __for_len_410 lt 68 66 67 -brif 68 L5085 L5087 -label L5085 -load 69 __for_iter_411 -load 70 __for_idx_411 +brif 68 L5003 L5005 +label L5003 +load 69 __for_iter_410 +load 70 __for_idx_410 call 71 pith_list_get_value unknown 2 69 70 -store __loopvar_411_elif_idx 71 +store __loopvar_410_elif_idx 71 load 72 branch -load 73 __loopvar_411_elif_idx +load 73 __loopvar_410_elif_idx call 74 ast_get_node struct:Node 1 73 call 75 ir_control_helpers_ir_collect_if_branch struct:IrIfBranch 1 74 call 76 pith_struct_release void 1 74 @@ -192900,23 +192039,23 @@ load 81 end_label call 82 ir_emitter_core_ir_emit_if_branch void 4 78 79 80 81 call 83 pith_cstring_release void 1 79 call 84 pith_cstring_release void 1 80 -label L5086 -load 85 __for_idx_411 +label L5004 +load 85 __for_idx_410 iconst 86 1 add 87 85 86 -store __for_idx_411 87 -jmp L5084 -label L5087 +store __for_idx_410 87 +jmp L5002 +label L5005 load 88 else_idx iconst 89 0 gte 90 88 89 -brif 90 L5089 L5090 -label L5089 +brif 90 L5007 L5008 +label L5007 load 91 else_idx call 92 ir_emitter_core_ir_block int 1 91 -jmp L5088 -label L5090 -label L5088 +jmp L5006 +label L5008 +label L5006 load 93 end_label call 94 ir_call_emit_ir_emit_label void 1 93 load 95 elif_indices @@ -192951,8 +192090,8 @@ field 8 7 0 string kind strref 9 m51s86 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L5092 L5093 -label L5092 +brif 10 L5010 L5011 +label L5010 call 12 ir_builder_ir_reg int 0 store r 12 load 13 r @@ -192964,8 +192103,8 @@ load 18 r load 19 pat call 20 pith_struct_release void 1 19 ret 18 -label L5093 -label L5091 +label L5011 +label L5009 load 21 pat_idx load 22 subj_r call 23 ir_match_emit_ir_emit_match_cond int 2 21 22 @@ -192997,8 +192136,8 @@ field 11 10 0 string kind strref 12 m51s86 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L5095 L5096 -label L5095 +brif 13 L5013 L5014 +label L5013 load 15 subj_idx call 16 ir_alias_registry_ir_emission_tid int 1 15 store subj_tid 16 @@ -193014,32 +192153,32 @@ call 24 map_insert void 3 20 22 23 load 25 subj_tid iconst 26 0 gte 27 25 26 -brif 27 L5098 L5099 -label L5098 +brif 27 L5016 L5017 +label L5016 load 28 info load 29 subj_tid call 30 types_get_type_info struct:TypeInfo 1 29 call 31 pith_struct_release void 1 28 store info 30 iconst 32 0 -store __and_32_5103 32 +store __and_32_5021 32 load 33 info field 34 33 0 string kind strref 35 m51s21 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __and_32_5103 36 -brif 36 L5103 L5104 -label L5103 +store __and_32_5021 36 +brif 36 L5021 L5022 +label L5021 load 38 info field 39 38 64 int inner iconst 40 0 gte 41 39 40 -store __and_32_5103 41 -label L5104 -load 42 __and_32_5103 -brif 42 L5101 L5102 -label L5101 +store __and_32_5021 41 +label L5022 +load 42 __and_32_5021 +brif 42 L5019 L5020 +label L5019 load 43 inner_kind load 44 info field 45 44 64 int inner @@ -193050,22 +192189,22 @@ load 48 inner_kind call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L5106 L5107 -label L5106 +brif 51 L5024 L5025 +label L5024 load 52 ir_builder_ir_var_types load 53 pat field 54 53 8 string value load 55 inner_kind call 56 map_insert void 3 52 54 55 -jmp L5105 -label L5107 -label L5105 -jmp L5100 -label L5102 -label L5100 -jmp L5097 -label L5099 -label L5097 +jmp L5023 +label L5025 +label L5023 +jmp L5018 +label L5020 +label L5018 +jmp L5015 +label L5017 +label L5015 strref 57 m51s878 load 58 pat field 59 58 8 string value @@ -193090,8 +192229,8 @@ load 77 inner_kind call 78 pith_cstring_release void 1 77 iconst 79 0 ret 79 -label L5096 -label L5094 +label L5014 +label L5012 load 80 pat_idx load 81 subj_r strref 82 m51s83 @@ -193111,50 +192250,50 @@ param idx iconst 1 0 store kind 1 iconst 2 0 -store __or_2_5111 2 +store __or_2_5029 2 load 3 ir_alias_registry_ir_active_generic_params call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -store __or_2_5111 6 -brif 6 L5112 L5111 -label L5111 +store __or_2_5029 6 +brif 6 L5030 L5029 +label L5029 load 7 ir_emitter_core_ir_current_impl_subst_params call 8 pith_list_len int 1 7 iconst 9 0 gt 10 8 9 -store __or_2_5111 10 -label L5112 -load 11 __or_2_5111 -brif 11 L5109 L5110 -label L5109 +store __or_2_5029 10 +label L5030 +load 11 __or_2_5029 +brif 11 L5027 L5028 +label L5027 iconst 12 0 load 13 kind call 14 pith_cstring_release void 1 13 ret 12 -label L5110 -label L5108 +label L5028 +label L5026 load 15 kind load 16 idx call 17 ast_node_kind string 1 16 call 18 pith_cstring_release void 1 15 store kind 17 iconst 19 0 -store __or_19_5113 19 +store __or_19_5031 19 load 20 kind strref 21 m51s44 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_5113 22 -brif 22 L5114 L5113 -label L5113 +store __or_19_5031 22 +brif 22 L5032 L5031 +label L5031 load 24 kind strref 25 m51s130 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_5113 26 -label L5114 -load 28 __or_19_5113 +store __or_19_5031 26 +label L5032 +load 28 __or_19_5031 load 29 kind call 30 pith_cstring_release void 1 29 ret 28 @@ -193176,8 +192315,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L5116 L5117 -label L5116 +brif 8 L5034 L5035 +label L5034 load 9 then_l call 10 pith_cstring_release void 1 9 load 11 else_l @@ -193186,8 +192325,8 @@ load 13 end_l call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L5117 -label L5115 +label L5035 +label L5033 load 16 node field 17 16 16 list children iconst 18 1 @@ -193263,17 +192402,17 @@ call 80 ir_emitter_core_ir_block int 1 79 load 81 ir_call_emit_ir_last_was_ret iconst 83 1 sub 82 83 81 -brif 82 L5119 L5120 -label L5119 +brif 82 L5037 L5038 +label L5037 strref 84 m51s881 load 85 end_l concat 86 84 85 call 87 pith_cstring_release void 1 84 call 88 ir_builder_ir_emit void 1 86 call 89 pith_cstring_release void 1 86 -jmp L5118 -label L5120 -label L5118 +jmp L5036 +label L5038 +label L5036 load 90 else_l call 91 ir_call_emit_ir_emit_label void 1 90 iconst 92 0 @@ -193283,21 +192422,21 @@ field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 3 gt 97 95 96 -brif 97 L5122 L5123 -label L5122 +brif 97 L5040 L5041 +label L5040 load 98 node field 99 98 16 list children iconst 100 3 call 101 pith_list_get_value_strict int 2 99 100 call 102 ir_emitter_core_ir_block int 1 101 -jmp L5121 -label L5123 -label L5121 +jmp L5039 +label L5041 +label L5039 load 103 end_l call 104 ir_call_emit_ir_emit_label void 1 103 load 105 owns_subject -brif 105 L5125 L5126 -label L5125 +brif 105 L5043 L5044 +label L5043 call 106 ir_builder_ir_reg int 0 strref 107 m51s946 strref 108 m51s876 @@ -193305,9 +192444,9 @@ load 109 subj_r call 110 ir_call_emit_ir_emit_call1 void 4 106 107 108 109 call 111 pith_cstring_release void 1 107 call 112 pith_cstring_release void 1 108 -jmp L5124 -label L5126 -label L5124 +jmp L5042 +label L5044 +label L5042 iconst 113 0 store ir_call_emit_ir_last_was_ret 113 load 114 then_l @@ -193332,8 +192471,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L5128 L5129 -label L5128 +brif 8 L5046 L5047 +label L5046 load 9 head_label call 10 pith_cstring_release void 1 9 load 11 body_label @@ -193342,8 +192481,8 @@ load 13 end_label call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L5129 -label L5127 +label L5047 +label L5045 load 16 head_label call 17 ir_builder_ir_label string 0 call 18 pith_cstring_release void 1 16 @@ -193441,8 +192580,8 @@ iconst 100 1 sub 101 99 100 call 102 remove void 2 97 101 load 103 owns_subject -brif 103 L5131 L5132 -label L5131 +brif 103 L5049 L5050 +label L5049 call 104 ir_builder_ir_reg int 0 strref 105 m51s946 strref 106 m51s876 @@ -193450,9 +192589,9 @@ load 107 subj_r call 108 ir_call_emit_ir_emit_call1 void 4 104 105 106 107 call 109 pith_cstring_release void 1 105 call 110 pith_cstring_release void 1 106 -jmp L5130 -label L5132 -label L5130 +jmp L5048 +label L5050 +label L5048 strref 111 m51s881 load 112 head_label concat 113 111 112 @@ -193462,8 +192601,8 @@ call 116 pith_cstring_release void 1 113 load 117 end_label call 118 ir_call_emit_ir_emit_label void 1 117 load 119 owns_subject -brif 119 L5134 L5135 -label L5134 +brif 119 L5052 L5053 +label L5052 call 120 ir_builder_ir_reg int 0 strref 121 m51s946 strref 122 m51s876 @@ -193471,9 +192610,9 @@ load 123 subj_r call 124 ir_call_emit_ir_emit_call1 void 4 120 121 122 123 call 125 pith_cstring_release void 1 121 call 126 pith_cstring_release void 1 122 -jmp L5133 -label L5135 -label L5133 +jmp L5051 +label L5053 +label L5051 iconst 127 0 store ir_call_emit_ir_last_was_ret 127 load 128 head_label @@ -193512,8 +192651,8 @@ field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 2 gte 19 17 18 -brif 19 L5137 L5138 -label L5137 +brif 19 L5055 L5056 +label L5055 load 20 node field 21 20 16 list children iconst 22 0 @@ -193577,9 +192716,9 @@ concat 76 74 75 call 77 pith_cstring_release void 1 74 call 78 ir_builder_ir_emit void 1 76 call 79 pith_cstring_release void 1 76 -jmp L5136 -label L5138 -label L5136 +jmp L5054 +label L5056 +label L5054 load 80 end_label call 81 ir_call_emit_ir_emit_label void 1 80 load 82 head_label @@ -193611,8 +192750,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L5140 L5141 -label L5140 +brif 13 L5058 L5059 +label L5058 load 14 node field 15 14 16 list children iconst 16 0 @@ -193622,8 +192761,8 @@ field 19 18 0 string kind strref 20 m51s535 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L5143 L5144 -label L5143 +brif 21 L5061 L5062 +label L5061 load 23 node load 24 names call 25 ir_emitter_core_ir_emit_for_range_stmt void 2 23 24 @@ -193637,8 +192776,8 @@ load 32 next_name call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L5144 -label L5142 +label L5062 +label L5060 load 35 iter_struct load 36 node field 37 36 16 list children @@ -193648,34 +192787,34 @@ call 40 ir_emitter_core_ir_infer_type string 1 39 call 41 pith_cstring_release void 1 35 store iter_struct 40 iconst 42 0 -store __and_42_5148 42 +store __and_42_5066 42 load 43 iter_struct call 44 string_len int 1 43 iconst 45 0 gt 46 44 45 -store __and_42_5148 46 -brif 46 L5148 L5149 -label L5148 +store __and_42_5066 46 +brif 46 L5066 L5067 +label L5066 load 47 iter_struct strref 48 m51s343 call 49 pith_cstring_contains bool 2 47 48 call 50 pith_cstring_release void 1 48 iconst 51 0 eq 52 49 51 -store __and_42_5148 52 -label L5149 -load 53 __and_42_5148 -brif 53 L5146 L5147 -label L5146 +store __and_42_5066 52 +label L5067 +load 53 __and_42_5066 +brif 53 L5064 L5065 +label L5064 iconst 54 0 store gi 54 -label L5150 +label L5068 load 55 gi load 56 ir_alias_registry_ir_active_generic_concrete_types call 57 pith_list_len int 1 56 lt 58 55 57 -brif 58 L5151 L5152 -label L5151 +brif 58 L5069 L5070 +label L5069 load 59 concrete load 60 ir_alias_registry_ir_active_generic_concrete_types load 61 gi @@ -193688,8 +192827,8 @@ call 66 ir_method_tables_ir_strip_type_args string 1 65 load 67 iter_struct call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 66 -brif 68 L5154 L5155 -label L5154 +brif 68 L5072 L5073 +label L5072 load 70 iter_struct load 71 concrete call 72 pith_cstring_retain void 1 71 @@ -193698,18 +192837,18 @@ store iter_struct 71 load 74 ir_alias_registry_ir_active_generic_concrete_types call 75 pith_list_len int 1 74 store gi 75 -jmp L5153 -label L5155 -label L5153 +jmp L5071 +label L5073 +label L5071 load 76 gi iconst 77 1 add 78 76 77 store gi 78 -jmp L5150 -label L5152 -jmp L5145 -label L5147 -label L5145 +jmp L5068 +label L5070 +jmp L5063 +label L5065 +label L5063 load 79 next_name load 80 iter_struct strref 81 m51s537 @@ -193721,8 +192860,8 @@ load 85 next_name call 86 string_len int 1 85 iconst 87 0 eq 88 86 87 -brif 88 L5157 L5158 -label L5157 +brif 88 L5075 L5076 +label L5075 load 89 next_name load 90 node field 91 90 16 list children @@ -193734,15 +192873,15 @@ call 96 ir_emitter_core_ir_lookup_impl_method_for string 3 93 94 95 call 97 pith_cstring_release void 1 95 call 98 pith_cstring_release void 1 89 store next_name 96 -jmp L5156 -label L5158 -label L5156 +jmp L5074 +label L5076 +label L5074 load 99 next_name call 100 string_len int 1 99 iconst 101 0 gt 102 100 101 -brif 102 L5160 L5161 -label L5160 +brif 102 L5078 L5079 +label L5078 load 103 node load 104 names load 105 next_name @@ -193757,14 +192896,14 @@ load 113 next_name call 114 pith_cstring_release void 1 113 iconst 115 0 ret 115 -label L5161 -label L5159 +label L5079 +label L5077 load 116 node load 117 names call 118 ir_emitter_core_ir_emit_for_indexed_stmt void 2 116 117 -jmp L5139 -label L5141 -label L5139 +jmp L5057 +label L5059 +label L5057 load 119 names call 120 pith_struct_release void 1 119 load 121 iter_struct @@ -193835,16 +192974,16 @@ call 37 pith_list_get_value_strict int 2 35 36 call 38 ir_emitter_core_ir_string_expr_is_borrowed bool 1 37 iconst 40 1 sub 39 40 38 -brif 39 L5163 L5164 -label L5163 +brif 39 L5081 L5082 +label L5081 load 41 iter_release_kind load 42 iter_type call 43 ir_struct_registry_ir_rc_kind string 1 42 call 44 pith_cstring_release void 1 41 store iter_release_kind 43 -jmp L5162 -label L5164 -label L5162 +jmp L5080 +label L5082 +label L5080 load 45 conversion_call load 46 iter_type call 47 ir_collection_helpers_ir_for_iter_conversion_call string 1 46 @@ -193854,8 +192993,8 @@ load 49 conversion_call call 50 string_len int 1 49 iconst 51 0 gt 52 50 51 -brif 52 L5166 L5167 -label L5166 +brif 52 L5084 L5085 +label L5084 call 53 ir_builder_ir_reg int 0 store converted_r 53 load 54 converted_r @@ -193869,14 +193008,14 @@ load 61 iter_release_kind call 62 string_len int 1 61 iconst 63 0 gt 64 62 63 -brif 64 L5169 L5170 -label L5169 +brif 64 L5087 L5088 +label L5087 load 65 iter_r load 66 iter_release_kind call 67 ir_ownership_ir_rc_release_reg void 2 65 66 -jmp L5168 -label L5170 -label L5168 +jmp L5086 +label L5088 +label L5086 load 68 converted_r store iter_r 68 load 69 iter_release_kind @@ -193886,9 +193025,9 @@ call 72 ir_struct_registry_ir_rc_kind string 1 71 call 73 pith_cstring_release void 1 71 call 74 pith_cstring_release void 1 69 store iter_release_kind 72 -jmp L5165 -label L5167 -label L5165 +jmp L5083 +label L5085 +label L5083 load 75 ir_emitter_core_ir_for_count store fid 75 load 76 ir_emitter_core_ir_for_count @@ -193927,7 +193066,7 @@ store len_r 103 load 104 len_r load 105 item_kind call 106 ir_collection_helpers_ir_for_len_call_name string 1 105 -strref 107 m51s712 +strref 107 m51s713 load 108 iter_r call 109 ir_call_emit_ir_emit_call1 void 4 104 106 107 108 call 110 pith_cstring_release void 1 106 @@ -194140,8 +193279,8 @@ load 303 iter_release_kind call 304 string_len int 1 303 iconst 305 0 gt 306 304 305 -brif 306 L5172 L5173 -label L5172 +brif 306 L5090 L5091 +label L5090 load 307 ir_emitter_core_ir_loop_iter_vars load 308 ft call 309 pith_list_push_value void 2 307 308 @@ -194150,17 +193289,17 @@ load 311 iter_release_kind call 312 pith_list_push_value void 2 310 311 iconst 313 1 store pushed_iter 313 -jmp L5171 -label L5173 -label L5171 +jmp L5089 +label L5091 +label L5089 load 314 node field 315 314 16 list children iconst 316 1 call 317 pith_list_get_value_strict int 2 315 316 call 318 ir_emitter_core_ir_block int 1 317 load 319 pushed_iter -brif 319 L5175 L5176 -label L5175 +brif 319 L5093 L5094 +label L5093 load 320 ir_emitter_core_ir_loop_iter_vars load 321 ir_emitter_core_ir_loop_iter_vars call 322 pith_list_len int 1 321 @@ -194173,9 +193312,9 @@ call 328 pith_list_len int 1 327 iconst 329 1 sub 330 328 329 call 331 remove void 2 326 330 -jmp L5174 -label L5176 -label L5174 +jmp L5092 +label L5094 +label L5092 call 332 ir_emitter_core_ir_defer_loop_exit void 0 load 333 names field 334 333 8 string index_name @@ -194285,8 +193424,8 @@ load 434 iter_release_kind call 435 string_len int 1 434 iconst 436 0 gt 437 435 436 -brif 437 L5178 L5179 -label L5178 +brif 437 L5096 L5097 +label L5096 call 438 ir_builder_ir_reg int 0 store fin_r 438 strref 439 m51s877 @@ -194307,9 +193446,9 @@ call 453 pith_cstring_release void 1 450 load 454 fin_r load 455 iter_release_kind call 456 ir_ownership_ir_rc_release_reg void 2 454 455 -jmp L5177 -label L5179 -label L5177 +jmp L5095 +label L5097 +label L5095 load 457 iter_type call 458 pith_cstring_release void 1 457 load 459 item_kind @@ -194460,8 +193599,8 @@ call 95 pith_cstring_release void 1 92 call 96 ir_builder_ir_emit void 1 93 call 97 pith_cstring_release void 1 93 load 98 has_index -brif 98 L5181 L5182 -label L5181 +brif 98 L5099 L5100 +label L5099 call 99 ir_builder_ir_reg int 0 store zero_r 99 strref 100 m51s880 @@ -194491,9 +193630,9 @@ call 123 pith_cstring_release void 1 117 call 124 pith_cstring_release void 1 121 call 125 ir_builder_ir_emit void 1 122 call 126 pith_cstring_release void 1 122 -jmp L5180 -label L5182 -label L5180 +jmp L5098 +label L5100 +label L5098 load 127 head_l call 128 ir_builder_ir_label string 0 call 129 pith_cstring_release void 1 127 @@ -194553,15 +193692,15 @@ strref 175 m51s475 call 176 pith_cstring_release void 1 174 store cmp_op 175 load 177 inclusive -brif 177 L5184 L5185 -label L5184 +brif 177 L5102 L5103 +label L5102 load 178 cmp_op strref 179 m51s469 call 180 pith_cstring_release void 1 178 store cmp_op 179 -jmp L5183 -label L5185 -label L5183 +jmp L5101 +label L5103 +label L5101 load 181 cmp_op strref 182 m51s344 concat 183 181 182 @@ -194657,15 +193796,15 @@ call 269 pith_cstring_release void 1 266 load 270 ir_builder_ir_var_types load 271 names field 272 271 0 string value_name -strref 273 m51s712 +strref 273 m51s713 call 274 pith_map_insert_cstr_owned void 3 270 272 273 load 275 names field 276 275 0 string value_name load 277 bind_r call 278 ir_emitter_core_ir_emit_name_store void 2 276 277 load 279 has_index -brif 279 L5187 L5188 -label L5187 +brif 279 L5105 L5106 +label L5105 call 280 ir_builder_ir_reg int 0 store pos_r 280 strref 281 m51s877 @@ -194686,15 +193825,15 @@ call 295 pith_cstring_release void 1 292 load 296 ir_builder_ir_var_types load 297 names field 298 297 8 string index_name -strref 299 m51s712 +strref 299 m51s713 call 300 pith_map_insert_cstr_owned void 3 296 298 299 load 301 names field 302 301 8 string index_name load 303 pos_r call 304 ir_emitter_core_ir_emit_name_store void 2 302 303 -jmp L5186 -label L5188 -label L5186 +jmp L5104 +label L5106 +label L5104 load 305 ir_emitter_core_ir_break_stack load 306 end_l call 307 ir_utils_ir_push_string list_string 2 305 306 @@ -194807,8 +193946,8 @@ call 408 pith_cstring_release void 1 405 call 409 ir_builder_ir_emit void 1 406 call 410 pith_cstring_release void 1 406 load 411 has_index -brif 411 L5190 L5191 -label L5190 +brif 411 L5108 L5109 +label L5108 call 412 ir_builder_ir_reg int 0 store p3 412 strref 413 m51s877 @@ -194883,9 +194022,9 @@ call 479 pith_cstring_release void 1 473 call 480 pith_cstring_release void 1 477 call 481 ir_builder_ir_emit void 1 478 call 482 pith_cstring_release void 1 478 -jmp L5189 -label L5191 -label L5189 +jmp L5107 +label L5109 +label L5107 strref 483 m51s881 load 484 head_l concat 485 483 484 @@ -194993,8 +194132,8 @@ call 54 pith_cstring_release void 1 51 call 55 ir_builder_ir_emit void 1 52 call 56 pith_cstring_release void 1 52 load 57 has_index -brif 57 L5193 L5194 -label L5193 +brif 57 L5111 L5112 +label L5111 call 58 ir_builder_ir_reg int 0 store zero_r 58 strref 59 m51s880 @@ -195024,9 +194163,9 @@ call 82 pith_cstring_release void 1 76 call 83 pith_cstring_release void 1 80 call 84 ir_builder_ir_emit void 1 81 call 85 pith_cstring_release void 1 81 -jmp L5192 -label L5194 -label L5192 +jmp L5110 +label L5112 +label L5110 load 86 elem_kind load 87 node field 88 87 16 list children @@ -195042,15 +194181,15 @@ load 96 elem_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L5196 L5197 -label L5196 +brif 99 L5114 L5115 +label L5114 load 100 elem_kind -strref 101 m51s869 +strref 101 m51s870 call 102 pith_cstring_release void 1 100 store elem_kind 101 -jmp L5195 -label L5197 -label L5195 +jmp L5113 +label L5115 +label L5113 load 103 head_l call 104 ir_builder_ir_label string 0 call 105 pith_cstring_release void 1 103 @@ -195201,8 +194340,8 @@ field 239 238 0 string value_name load 240 val_r call 241 ir_emitter_core_ir_emit_name_store void 2 239 240 load 242 has_index -brif 242 L5199 L5200 -label L5199 +brif 242 L5117 L5118 +label L5117 call 243 ir_builder_ir_reg int 0 store pos_r 243 strref 244 m51s877 @@ -195223,15 +194362,15 @@ call 258 pith_cstring_release void 1 255 load 259 ir_builder_ir_var_types load 260 names field 261 260 8 string index_name -strref 262 m51s712 +strref 262 m51s713 call 263 pith_map_insert_cstr_owned void 3 259 261 262 load 264 names field 265 264 8 string index_name load 266 pos_r call 267 ir_emitter_core_ir_emit_name_store void 2 265 266 -jmp L5198 -label L5200 -label L5198 +jmp L5116 +label L5118 +label L5116 load 268 ir_emitter_core_ir_break_stack load 269 end_l call 270 ir_utils_ir_push_string list_string 2 268 269 @@ -195277,8 +194416,8 @@ call 307 ir_call_emit_ir_emit_call1 void 4 303 304 305 306 call 308 pith_cstring_release void 1 304 call 309 pith_cstring_release void 1 305 load 310 has_index -brif 310 L5202 L5203 -label L5202 +brif 310 L5120 L5121 +label L5120 call 311 ir_builder_ir_reg int 0 store p3 311 strref 312 m51s877 @@ -195353,9 +194492,9 @@ call 378 pith_cstring_release void 1 372 call 379 pith_cstring_release void 1 376 call 380 ir_builder_ir_emit void 1 377 call 381 pith_cstring_release void 1 377 -jmp L5201 -label L5203 -label L5201 +jmp L5119 +label L5121 +label L5119 strref 382 m51s881 load 383 head_l concat 384 382 383 @@ -195396,100 +194535,100 @@ func ir_emitter_core_ir_stmt_control 2 void param idx param node iconst 2 0 -store __or_2_5207 2 +store __or_2_5125 2 load 3 node field 4 3 0 string kind strref 5 m51s1246 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_2_5207 6 -brif 6 L5208 L5207 -label L5207 +store __or_2_5125 6 +brif 6 L5126 L5125 +label L5125 load 8 node field 9 8 0 string kind strref 10 m51s598 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_2_5207 11 -label L5208 -load 13 __or_2_5207 -brif 13 L5205 L5206 -label L5205 +store __or_2_5125 11 +label L5126 +load 13 __or_2_5125 +brif 13 L5123 L5124 +label L5123 load 14 node call 15 ir_emitter_core_ir_emit_if_stmt void 1 14 -jmp L5204 -label L5206 +jmp L5122 +label L5124 load 16 node field 17 16 0 string kind strref 18 m51s596 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5209 L5210 -label L5209 +brif 19 L5127 L5128 +label L5127 load 21 node call 22 ir_emitter_core_ir_emit_if_let_stmt void 1 21 -jmp L5204 -label L5210 +jmp L5122 +label L5128 load 23 node field 24 23 0 string kind strref 25 m51s595 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L5211 L5212 -label L5211 +brif 26 L5129 L5130 +label L5129 load 28 node call 29 ir_emitter_core_ir_emit_while_let_stmt void 1 28 -jmp L5204 -label L5212 +jmp L5122 +label L5130 iconst 30 0 -store __or_30_5215 30 +store __or_30_5133 30 load 31 node field 32 31 0 string kind strref 33 m51s1245 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_30_5215 34 -brif 34 L5216 L5215 -label L5215 +store __or_30_5133 34 +brif 34 L5134 L5133 +label L5133 load 36 node field 37 36 0 string kind strref 38 m51s597 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __or_30_5215 39 -label L5216 -load 41 __or_30_5215 -brif 41 L5213 L5214 -label L5213 +store __or_30_5133 39 +label L5134 +load 41 __or_30_5133 +brif 41 L5131 L5132 +label L5131 load 42 node call 43 ir_emitter_core_ir_emit_while_stmt void 1 42 -jmp L5204 -label L5214 +jmp L5122 +label L5132 iconst 44 0 -store __or_44_5219 44 +store __or_44_5137 44 load 45 node field 46 45 0 string kind strref 47 m51s1244 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_44_5219 48 -brif 48 L5220 L5219 -label L5219 +store __or_44_5137 48 +brif 48 L5138 L5137 +label L5137 load 50 node field 51 50 0 string kind strref 52 m51s594 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_44_5219 53 -label L5220 -load 55 __or_44_5219 -brif 55 L5217 L5218 -label L5217 +store __or_44_5137 53 +label L5138 +load 55 __or_44_5137 +brif 55 L5135 L5136 +label L5135 load 56 node call 57 ir_emitter_core_ir_emit_for_stmt void 1 56 -jmp L5204 -label L5218 -label L5204 +jmp L5122 +label L5136 +label L5122 iconst 58 0 ret 58 endfunc @@ -195503,59 +194642,59 @@ call 4 ast_node_kind string 1 3 call 5 pith_cstring_release void 1 2 store kind 4 iconst 6 0 -store __or_6_5224 6 +store __or_6_5142 6 iconst 7 0 -store __or_7_5224 7 +store __or_7_5142 7 iconst 8 0 -store __or_8_5224 8 +store __or_8_5142 8 load 9 kind strref 10 m51s65 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_8_5224 11 -brif 11 L5225 L5224 -label L5224 +store __or_8_5142 11 +brif 11 L5143 L5142 +label L5142 load 13 kind strref 14 m51s544 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_8_5224 15 -label L5225 -load 17 __or_8_5224 -store __or_7_5224 17 -brif 17 L5227 L5226 -label L5226 +store __or_8_5142 15 +label L5143 +load 17 __or_8_5142 +store __or_7_5142 17 +brif 17 L5145 L5144 +label L5144 load 18 kind strref 19 m51s543 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_7_5224 20 -label L5227 -load 22 __or_7_5224 -store __or_6_5224 22 -brif 22 L5229 L5228 -label L5228 +store __or_7_5142 20 +label L5145 +load 22 __or_7_5142 +store __or_6_5142 22 +brif 22 L5147 L5146 +label L5146 load 23 kind strref 24 m51s66 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_6_5224 25 -label L5229 -load 27 __or_6_5224 -brif 27 L5222 L5223 -label L5222 +store __or_6_5142 25 +label L5147 +load 27 __or_6_5142 +brif 27 L5140 L5141 +label L5140 call 28 ir_emitter_core_ir_defer_push_scope void 0 iconst 29 0 store i 29 load 30 idx call 31 ast_node_child_count int 1 30 store child_count 31 -label L5230 +label L5148 load 32 i load 33 child_count lt 34 32 33 -brif 34 L5231 L5232 -label L5231 +brif 34 L5149 L5150 +label L5149 load 35 idx load 36 i call 37 ast_node_child int 2 35 36 @@ -195564,23 +194703,23 @@ load 39 i iconst 40 1 add 41 39 40 store i 41 -jmp L5230 -label L5232 +jmp L5148 +label L5150 call 42 ir_emitter_core_ir_defer_pop_scope_emit void 0 -jmp L5221 -label L5223 +jmp L5139 +label L5141 load 43 kind strref 44 m51s146 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L5234 L5235 -label L5234 +brif 45 L5152 L5153 +label L5152 load 47 ir_emitter_core_ir_break_stack call 48 pith_list_len int 1 47 iconst 49 0 gt 50 48 49 -brif 50 L5237 L5238 -label L5237 +brif 50 L5155 L5156 +label L5155 call 51 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 52 m51s881 load 53 ir_emitter_core_ir_break_stack @@ -195595,27 +194734,27 @@ call 61 ir_builder_ir_emit void 1 59 call 62 pith_cstring_release void 1 59 iconst 63 1 store ir_call_emit_ir_last_was_ret 63 -jmp L5236 -label L5238 -label L5236 +jmp L5154 +label L5156 +label L5154 iconst 64 0 load 65 kind call 66 pith_cstring_release void 1 65 ret 64 -label L5235 -label L5233 +label L5153 +label L5151 load 67 kind strref 68 m51s147 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L5240 L5241 -label L5240 +brif 69 L5158 L5159 +label L5158 load 71 ir_emitter_core_ir_continue_stack call 72 pith_list_len int 1 71 iconst 73 0 gt 74 72 73 -brif 74 L5243 L5244 -label L5243 +brif 74 L5161 L5162 +label L5161 call 75 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 76 m51s881 load 77 ir_emitter_core_ir_continue_stack @@ -195630,18 +194769,18 @@ call 85 ir_builder_ir_emit void 1 83 call 86 pith_cstring_release void 1 83 iconst 87 1 store ir_call_emit_ir_last_was_ret 87 -jmp L5242 -label L5244 -label L5242 +jmp L5160 +label L5162 +label L5160 iconst 88 0 load 89 kind call 90 pith_cstring_release void 1 89 ret 88 -label L5241 -label L5239 +label L5159 +label L5157 load 91 idx call 92 ir_emitter_core_ir_stmt void 1 91 -label L5221 +label L5139 iconst 93 0 load 94 kind call 95 pith_cstring_release void 1 94 @@ -195661,25 +194800,25 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __and_6_5248 6 +store __and_6_5166 6 load 7 node field 8 7 0 string kind strref 9 m51s69 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_5248 10 -brif 10 L5248 L5249 -label L5248 +store __and_6_5166 10 +brif 10 L5166 L5167 +label L5166 load 12 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_5248 16 -label L5249 -load 17 __and_6_5248 -brif 17 L5246 L5247 -label L5246 +store __and_6_5166 16 +label L5167 +load 17 __and_6_5166 +brif 17 L5164 L5165 +label L5164 load 18 node field 19 18 16 list children iconst 20 0 @@ -195688,8 +194827,8 @@ call 22 ir_alias_registry_ir_resolve_type_node string 1 21 load 23 node call 24 pith_struct_release void 1 23 ret 22 -label L5247 -label L5245 +label L5165 +label L5163 strref 25 m51s173 load 26 node call 27 pith_struct_release void 1 26 @@ -195720,13 +194859,13 @@ call 12 pith_list_release_handle void 1 8 store nk 10 iconst 13 0 store i 13 -label L5250 +label L5168 load 14 i load 15 nk call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L5251 L5252 -label L5251 +brif 17 L5169 L5170 +label L5169 load 18 cn load 19 nk load 20 i @@ -195739,8 +194878,8 @@ field 25 24 0 string kind strref 26 m51s66 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L5254 L5255 -label L5254 +brif 27 L5172 L5173 +label L5172 load 29 nk load 30 i call 31 pith_list_get_value_strict int 2 29 30 @@ -195751,20 +194890,20 @@ call 35 pith_list_release_handle void 1 34 load 36 cn call 37 pith_struct_release void 1 36 ret 31 -label L5255 -label L5253 +label L5173 +label L5171 load 38 i iconst 39 1 add 40 38 39 store i 40 -jmp L5250 -label L5252 +jmp L5168 +label L5170 load 41 nk call 42 pith_list_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L5257 L5258 -label L5257 +brif 44 L5175 L5176 +label L5175 load 45 nk load 46 nk call 47 pith_list_len int 1 46 @@ -195778,8 +194917,8 @@ call 54 pith_list_release_handle void 1 53 load 55 cn call 56 pith_struct_release void 1 55 ret 50 -label L5258 -label L5256 +label L5176 +label L5174 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -195823,21 +194962,21 @@ store count 13 load 14 nk call 15 pith_auto_len int 1 14 iconst 16 0 -store __for_idx_412 16 -store __for_len_412 15 -store __for_iter_412 14 -label L5259 -load 17 __for_idx_412 -load 18 __for_len_412 +store __for_idx_411 16 +store __for_len_411 15 +store __for_iter_411 14 +label L5177 +load 17 __for_idx_411 +load 18 __for_len_411 lt 19 17 18 -brif 19 L5260 L5262 -label L5260 -load 20 __for_iter_412 -load 21 __for_idx_412 +brif 19 L5178 L5180 +label L5178 +load 20 __for_iter_411 +load 21 __for_idx_411 call 22 pith_list_get_value unknown 2 20 21 -store __loopvar_412_child 22 +store __loopvar_411_child 22 load 23 cn -load 24 __loopvar_412_child +load 24 __loopvar_411_child call 25 ast_get_node struct:Node 1 24 call 26 pith_struct_release void 1 23 store cn 25 @@ -195846,22 +194985,22 @@ field 28 27 0 string kind strref 29 m51s69 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L5264 L5265 -label L5264 +brif 30 L5182 L5183 +label L5182 load 32 count iconst 33 1 add 34 32 33 store count 34 -jmp L5263 -label L5265 -label L5263 -label L5261 -load 35 __for_idx_412 +jmp L5181 +label L5183 +label L5181 +label L5179 +load 35 __for_idx_411 iconst 36 1 add 37 35 36 -store __for_idx_412 37 -jmp L5259 -label L5262 +store __for_idx_411 37 +jmp L5177 +label L5180 load 38 count load 39 node call 40 pith_struct_release void 1 39 @@ -195895,7 +195034,7 @@ call 7 ast_get_node struct:Node 1 6 call 8 pith_struct_release void 1 5 store node 7 iconst 9 0 -store __or_9_5269 9 +store __or_9_5187 9 load 10 node field 11 10 0 string kind strref 12 m51s69 @@ -195903,19 +195042,19 @@ call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_9_5269 13 -brif 13 L5270 L5269 -label L5269 +store __or_9_5187 13 +brif 13 L5188 L5187 +label L5187 load 17 node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 eq 21 19 20 -store __or_9_5269 21 -label L5270 -load 22 __or_9_5269 -brif 22 L5267 L5268 -label L5267 +store __or_9_5187 21 +label L5188 +load 22 __or_9_5187 +brif 22 L5185 L5186 +label L5185 load 23 node call 24 pith_struct_release void 1 23 load 25 tn @@ -195926,8 +195065,8 @@ load 29 ret_kind call 30 pith_cstring_release void 1 29 iconst 31 0 ret 31 -label L5268 -label L5266 +label L5186 +label L5184 load 32 tn load 33 node field 34 33 16 list children @@ -195937,7 +195076,7 @@ call 37 ast_get_node struct:Node 1 36 call 38 pith_struct_release void 1 32 store tn 37 iconst 39 0 -store __or_39_5274 39 +store __or_39_5192 39 load 40 tn field 41 40 0 string kind strref 42 m51s328 @@ -195945,19 +195084,19 @@ call 44 pith_cstring_eq bool 2 41 42 iconst 45 1 sub 43 45 44 call 46 pith_cstring_release void 1 42 -store __or_39_5274 43 -brif 43 L5275 L5274 -label L5274 +store __or_39_5192 43 +brif 43 L5193 L5192 +label L5192 load 47 tn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 eq 51 49 50 -store __or_39_5274 51 -label L5275 -load 52 __or_39_5274 -brif 52 L5272 L5273 -label L5272 +store __or_39_5192 51 +label L5193 +load 52 __or_39_5192 +brif 52 L5190 L5191 +label L5190 load 53 node call 54 pith_struct_release void 1 53 load 55 tn @@ -195968,8 +195107,8 @@ load 59 ret_kind call 60 pith_cstring_release void 1 59 iconst 61 0 ret 61 -label L5273 -label L5271 +label L5191 +label L5189 load 62 last load 63 tn field 64 63 16 list children @@ -195983,7 +195122,7 @@ call 71 ast_get_node struct:Node 1 70 call 72 pith_struct_release void 1 62 store last 71 iconst 73 0 -store __or_73_5279 73 +store __or_73_5197 73 load 74 last field 75 74 0 string kind strref 76 m51s323 @@ -195991,19 +195130,19 @@ call 78 pith_cstring_eq bool 2 75 76 iconst 79 1 sub 77 79 78 call 80 pith_cstring_release void 1 76 -store __or_73_5279 77 -brif 77 L5280 L5279 -label L5279 +store __or_73_5197 77 +brif 77 L5198 L5197 +label L5197 load 81 last field 82 81 16 list children call 83 pith_list_len int 1 82 iconst 84 0 eq 85 83 84 -store __or_73_5279 85 -label L5280 -load 86 __or_73_5279 -brif 86 L5277 L5278 -label L5277 +store __or_73_5197 85 +label L5198 +load 86 __or_73_5197 +brif 86 L5195 L5196 +label L5195 load 87 node call 88 pith_struct_release void 1 87 load 89 tn @@ -196014,8 +195153,8 @@ load 93 ret_kind call 94 pith_cstring_release void 1 93 iconst 95 0 ret 95 -label L5278 -label L5276 +label L5196 +label L5194 load 96 ret_kind load 97 last field 98 97 16 list children @@ -196028,16 +195167,16 @@ load 103 ret_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -brif 106 L5282 L5283 -label L5282 +brif 106 L5200 L5201 +label L5200 load 107 ir_emitter_core_ir_closure_return_kinds load 108 node field 109 108 8 string value load 110 ret_kind call 111 map_insert void 3 107 109 110 -jmp L5281 -label L5283 -label L5281 +jmp L5199 +label L5201 +label L5199 load 112 node call 113 pith_struct_release void 1 112 load 114 tn @@ -196062,15 +195201,15 @@ load 7 param_type call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L5285 L5286 -label L5285 +brif 10 L5203 L5204 +label L5203 load 11 ir_builder_ir_var_types load 12 name load 13 param_type call 14 map_insert void 3 11 12 13 -jmp L5284 -label L5286 -label L5284 +jmp L5202 +label L5204 +label L5202 strref 15 m51s1243 load 16 name concat 17 15 16 @@ -196104,21 +195243,21 @@ store nk 11 load 14 nk call 15 pith_auto_len int 1 14 iconst 16 0 -store __for_idx_413 16 -store __for_len_413 15 -store __for_iter_413 14 -label L5287 -load 17 __for_idx_413 -load 18 __for_len_413 +store __for_idx_412 16 +store __for_len_412 15 +store __for_iter_412 14 +label L5205 +load 17 __for_idx_412 +load 18 __for_len_412 lt 19 17 18 -brif 19 L5288 L5290 -label L5288 -load 20 __for_iter_413 -load 21 __for_idx_413 +brif 19 L5206 L5208 +label L5206 +load 20 __for_iter_412 +load 21 __for_idx_412 call 22 pith_list_get_value unknown 2 20 21 -store __loopvar_413_child 22 +store __loopvar_412_child 22 load 23 cn -load 24 __loopvar_413_child +load 24 __loopvar_412_child call 25 ast_get_node struct:Node 1 24 call 26 pith_struct_release void 1 23 store cn 25 @@ -196127,10 +195266,10 @@ field 28 27 0 string kind strref 29 m51s69 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L5292 L5293 -label L5292 +brif 30 L5210 L5211 +label L5210 load 32 ptype -load 33 __loopvar_413_child +load 33 __loopvar_412_child call 34 ir_emitter_core_ir_extract_param_type string 1 33 call 35 pith_cstring_release void 1 32 store ptype 34 @@ -196138,33 +195277,33 @@ load 36 ir_emitter_core_ir_current_impl_type call 37 string_len int 1 36 iconst 38 0 gt 39 37 38 -brif 39 L5295 L5296 -label L5295 +brif 39 L5213 L5214 +label L5213 load 40 ptype load 41 ir_emitter_core_ir_current_impl_type load 42 ptype call 43 ir_method_tables_ir_resolve_assoc_type string 2 41 42 call 44 pith_cstring_release void 1 40 store ptype 43 -jmp L5294 -label L5296 -label L5294 +jmp L5212 +label L5214 +label L5212 load 45 cn field 46 45 8 string value load 47 ptype call 48 ir_emitter_core_ir_emit_named_param void 2 46 47 -load 49 __loopvar_413_child +load 49 __loopvar_412_child call 50 ir_emitter_core_ir_record_closure_param_return void 1 49 -jmp L5291 -label L5293 -label L5291 -label L5289 -load 51 __for_idx_413 +jmp L5209 +label L5211 +label L5209 +label L5207 +load 51 __for_idx_412 iconst 52 1 add 53 51 52 -store __for_idx_413 53 -jmp L5287 -label L5290 +store __for_idx_412 53 +jmp L5205 +label L5208 load 54 node call 55 pith_struct_release void 1 54 load 56 nk @@ -196193,21 +195332,21 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_414 11 -store __for_len_414 10 -store __for_iter_414 9 -label L5297 -load 12 __for_idx_414 -load 13 __for_len_414 +store __for_idx_413 11 +store __for_len_413 10 +store __for_iter_413 9 +label L5215 +load 12 __for_idx_413 +load 13 __for_len_413 lt 14 12 13 -brif 14 L5298 L5300 -label L5298 -load 15 __for_iter_414 -load 16 __for_idx_414 +brif 14 L5216 L5218 +label L5216 +load 15 __for_iter_413 +load 16 __for_idx_413 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_414_child 17 +store __loopvar_413_child 17 load 18 cn -load 19 __loopvar_414_child +load 19 __loopvar_413_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 @@ -196216,77 +195355,77 @@ field 23 22 0 string kind strref 24 m51s323 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L5302 L5303 -label L5302 +brif 25 L5220 L5221 +label L5220 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 iconst 30 0 -store __for_idx_415 30 -store __for_len_415 29 -store __for_iter_415 28 -label L5304 -load 31 __for_idx_415 -load 32 __for_len_415 +store __for_idx_414 30 +store __for_len_414 29 +store __for_iter_414 28 +label L5222 +load 31 __for_idx_414 +load 32 __for_len_414 lt 33 31 32 -brif 33 L5305 L5307 -label L5305 -load 34 __for_iter_415 -load 35 __for_idx_415 +brif 33 L5223 L5225 +label L5223 +load 34 __for_iter_414 +load 35 __for_idx_414 call 36 pith_list_get_value unknown 2 34 35 -store __loopvar_415_returns_child 36 +store __loopvar_414_returns_child 36 load 37 rn -load 38 __loopvar_415_returns_child +load 38 __loopvar_414_returns_child call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store rn 39 iconst 41 0 -store __or_41_5311 41 +store __or_41_5229 41 iconst 42 0 -store __or_42_5311 42 +store __or_42_5229 42 iconst 43 0 -store __or_43_5311 43 +store __or_43_5229 43 load 44 rn field 45 44 0 string kind strref 46 m51s316 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_43_5311 47 -brif 47 L5312 L5311 -label L5311 +store __or_43_5229 47 +brif 47 L5230 L5229 +label L5229 load 49 rn field 50 49 0 string kind strref 51 m51s336 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_43_5311 52 -label L5312 -load 54 __or_43_5311 -store __or_42_5311 54 -brif 54 L5314 L5313 -label L5313 +store __or_43_5229 52 +label L5230 +load 54 __or_43_5229 +store __or_42_5229 54 +brif 54 L5232 L5231 +label L5231 load 55 rn field 56 55 0 string kind strref 57 m51s330 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_42_5311 58 -label L5314 -load 60 __or_42_5311 -store __or_41_5311 60 -brif 60 L5316 L5315 -label L5315 +store __or_42_5229 58 +label L5232 +load 60 __or_42_5229 +store __or_41_5229 60 +brif 60 L5234 L5233 +label L5233 load 61 rn field 62 61 0 string kind strref 63 m51s317 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_41_5311 64 -label L5316 -load 66 __or_41_5311 -brif 66 L5309 L5310 -label L5309 -load 67 __loopvar_415_returns_child +store __or_41_5229 64 +label L5234 +load 66 __or_41_5229 +brif 66 L5227 L5228 +label L5227 +load 67 __loopvar_414_returns_child call 68 ir_alias_registry_ir_resolve_type_node string 1 67 load 69 node call 70 pith_struct_release void 1 69 @@ -196295,26 +195434,26 @@ call 72 pith_struct_release void 1 71 load 73 rn call 74 pith_struct_release void 1 73 ret 68 -label L5310 -label L5308 -label L5306 -load 75 __for_idx_415 +label L5228 +label L5226 +label L5224 +load 75 __for_idx_414 iconst 76 1 add 77 75 76 -store __for_idx_415 77 -jmp L5304 -label L5307 -jmp L5301 -label L5303 -label L5301 -label L5299 -load 78 __for_idx_414 +store __for_idx_414 77 +jmp L5222 +label L5225 +jmp L5219 +label L5221 +label L5219 +label L5217 +load 78 __for_idx_413 iconst 79 1 add 80 78 79 -store __for_idx_414 80 -jmp L5297 -label L5300 -strref 81 m51s869 +store __for_idx_413 80 +jmp L5215 +label L5218 +strref 81 m51s870 load 82 node call 83 pith_struct_release void 1 82 load 84 cn @@ -196348,21 +195487,21 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_416 11 -store __for_len_416 10 -store __for_iter_416 9 -label L5317 -load 12 __for_idx_416 -load 13 __for_len_416 +store __for_idx_415 11 +store __for_len_415 10 +store __for_iter_415 9 +label L5235 +load 12 __for_idx_415 +load 13 __for_len_415 lt 14 12 13 -brif 14 L5318 L5320 -label L5318 -load 15 __for_iter_416 -load 16 __for_idx_416 +brif 14 L5236 L5238 +label L5236 +load 15 __for_iter_415 +load 16 __for_idx_415 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_416_child 17 +store __loopvar_415_child 17 load 18 cn -load 19 __loopvar_416_child +load 19 __loopvar_415_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 @@ -196371,50 +195510,50 @@ field 23 22 0 string kind strref 24 m51s323 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L5322 L5323 -label L5322 +brif 25 L5240 L5241 +label L5240 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 iconst 30 0 -store __for_idx_417 30 -store __for_len_417 29 -store __for_iter_417 28 -label L5324 -load 31 __for_idx_417 -load 32 __for_len_417 +store __for_idx_416 30 +store __for_len_416 29 +store __for_iter_416 28 +label L5242 +load 31 __for_idx_416 +load 32 __for_len_416 lt 33 31 32 -brif 33 L5325 L5327 -label L5325 -load 34 __for_iter_417 -load 35 __for_idx_417 +brif 33 L5243 L5245 +label L5243 +load 34 __for_iter_416 +load 35 __for_idx_416 call 36 pith_list_get_value unknown 2 34 35 -store __loopvar_417_returns_child 36 +store __loopvar_416_returns_child 36 load 37 rn -load 38 __loopvar_417_returns_child +load 38 __loopvar_416_returns_child call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store rn 39 iconst 41 0 -store __and_41_5331 41 +store __and_41_5249 41 load 42 rn field 43 42 0 string kind strref 44 m51s317 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_41_5331 45 -brif 45 L5331 L5332 -label L5331 +store __and_41_5249 45 +brif 45 L5249 L5250 +label L5249 load 47 rn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 gt 51 49 50 -store __and_41_5331 51 -label L5332 -load 52 __and_41_5331 -brif 52 L5329 L5330 -label L5329 +store __and_41_5249 51 +label L5250 +load 52 __and_41_5249 +brif 52 L5247 L5248 +label L5247 load 53 rn field 54 53 16 list children iconst 55 0 @@ -196427,25 +195566,25 @@ call 61 pith_struct_release void 1 60 load 62 rn call 63 pith_struct_release void 1 62 ret 57 -label L5330 -label L5328 -label L5326 -load 64 __for_idx_417 +label L5248 +label L5246 +label L5244 +load 64 __for_idx_416 iconst 65 1 add 66 64 65 -store __for_idx_417 66 -jmp L5324 -label L5327 -jmp L5321 -label L5323 -label L5321 -label L5319 -load 67 __for_idx_416 +store __for_idx_416 66 +jmp L5242 +label L5245 +jmp L5239 +label L5241 +label L5239 +label L5237 +load 67 __for_idx_415 iconst 68 1 add 69 67 68 -store __for_idx_416 69 -jmp L5317 -label L5320 +store __for_idx_415 69 +jmp L5235 +label L5238 strref 70 m51s83 load 71 node call 72 pith_struct_release void 1 71 @@ -196480,21 +195619,21 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_418 11 -store __for_len_418 10 -store __for_iter_418 9 -label L5333 -load 12 __for_idx_418 -load 13 __for_len_418 +store __for_idx_417 11 +store __for_len_417 10 +store __for_iter_417 9 +label L5251 +load 12 __for_idx_417 +load 13 __for_len_417 lt 14 12 13 -brif 14 L5334 L5336 -label L5334 -load 15 __for_iter_418 -load 16 __for_idx_418 +brif 14 L5252 L5254 +label L5252 +load 15 __for_iter_417 +load 16 __for_idx_417 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_418_child 17 +store __loopvar_417_child 17 load 18 cn -load 19 __loopvar_418_child +load 19 __loopvar_417_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 @@ -196503,27 +195642,27 @@ field 23 22 0 string kind strref 24 m51s323 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L5338 L5339 -label L5338 +brif 25 L5256 L5257 +label L5256 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 iconst 30 0 -store __for_idx_419 30 -store __for_len_419 29 -store __for_iter_419 28 -label L5340 -load 31 __for_idx_419 -load 32 __for_len_419 +store __for_idx_418 30 +store __for_len_418 29 +store __for_iter_418 28 +label L5258 +load 31 __for_idx_418 +load 32 __for_len_418 lt 33 31 32 -brif 33 L5341 L5343 -label L5341 -load 34 __for_iter_419 -load 35 __for_idx_419 +brif 33 L5259 L5261 +label L5259 +load 34 __for_iter_418 +load 35 __for_idx_418 call 36 pith_list_get_value unknown 2 34 35 -store __loopvar_419_returns_child 36 +store __loopvar_418_returns_child 36 load 37 rn -load 38 __loopvar_419_returns_child +load 38 __loopvar_418_returns_child call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store rn 39 @@ -196532,8 +195671,8 @@ field 42 41 0 string kind strref 43 m51s330 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L5345 L5346 -label L5345 +brif 44 L5263 L5264 +label L5263 iconst 46 1 load 47 node call 48 pith_struct_release void 1 47 @@ -196542,25 +195681,25 @@ call 50 pith_struct_release void 1 49 load 51 rn call 52 pith_struct_release void 1 51 ret 46 -label L5346 -label L5344 -label L5342 -load 53 __for_idx_419 +label L5264 +label L5262 +label L5260 +load 53 __for_idx_418 iconst 54 1 add 55 53 54 -store __for_idx_419 55 -jmp L5340 -label L5343 -jmp L5337 -label L5339 -label L5337 -label L5335 -load 56 __for_idx_418 +store __for_idx_418 55 +jmp L5258 +label L5261 +jmp L5255 +label L5257 +label L5255 +label L5253 +load 56 __for_idx_417 iconst 57 1 add 58 56 57 -store __for_idx_418 58 -jmp L5333 -label L5336 +store __for_idx_417 58 +jmp L5251 +label L5254 iconst 59 0 load 60 node call 61 pith_struct_release void 1 60 @@ -196595,8 +195734,8 @@ load 7 type_name call 8 string_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L5348 L5349 -label L5348 +brif 10 L5266 L5267 +label L5266 strref 11 m51s83 load 12 key call 13 pith_cstring_release void 1 12 @@ -196609,8 +195748,8 @@ call 19 pith_cstring_release void 1 18 load 20 base_key call 21 pith_cstring_release void 1 20 ret 11 -label L5349 -label L5347 +label L5267 +label L5265 load 22 key load 23 type_name load 24 method_name @@ -196620,8 +195759,8 @@ store key 25 load 27 ir_method_tables_ir_impl_methods load 28 key call 29 contains_key bool 2 27 28 -brif 29 L5351 L5352 -label L5351 +brif 29 L5269 L5270 +label L5269 load 30 ir_method_tables_ir_impl_methods load 31 key call 32 map_get_strict string 2 30 31 @@ -196637,8 +195776,8 @@ call 41 pith_cstring_release void 1 40 load 42 base_key call 43 pith_cstring_release void 1 42 ret 32 -label L5352 -label L5350 +label L5270 +label L5268 load 44 resolved load 45 type_name call 46 ir_alias_registry_ir_resolve_type_hint string 1 45 @@ -196649,8 +195788,8 @@ load 49 type_name call 51 pith_cstring_eq bool 2 48 49 iconst 52 1 sub 50 52 51 -brif 50 L5354 L5355 -label L5354 +brif 50 L5272 L5273 +label L5272 load 53 resolved_key load 54 resolved load 55 method_name @@ -196660,8 +195799,8 @@ store resolved_key 56 load 58 ir_method_tables_ir_impl_methods load 59 resolved_key call 60 contains_key bool 2 58 59 -brif 60 L5357 L5358 -label L5357 +brif 60 L5275 L5276 +label L5275 load 61 ir_method_tables_ir_impl_methods load 62 resolved_key call 63 map_get_strict string 2 61 62 @@ -196677,17 +195816,17 @@ call 72 pith_cstring_release void 1 71 load 73 base_key call 74 pith_cstring_release void 1 73 ret 63 -label L5358 -label L5356 -jmp L5353 -label L5355 -label L5353 +label L5276 +label L5274 +jmp L5271 +label L5273 +label L5271 load 75 type_name strref 76 m51s343 call 77 pith_cstring_contains bool 2 75 76 call 78 pith_cstring_release void 1 76 -brif 77 L5360 L5361 -label L5360 +brif 77 L5278 L5279 +label L5278 load 79 base load 80 type_name iconst 81 0 @@ -196707,8 +195846,8 @@ store base_key 91 load 93 ir_method_tables_ir_impl_methods load 94 base_key call 95 contains_key bool 2 93 94 -brif 95 L5363 L5364 -label L5363 +brif 95 L5281 L5282 +label L5281 load 96 ir_method_tables_ir_impl_methods load 97 base_key call 98 map_get_strict string 2 96 97 @@ -196724,11 +195863,11 @@ call 107 pith_cstring_release void 1 106 load 108 base_key call 109 pith_cstring_release void 1 108 ret 98 -label L5364 -label L5362 -jmp L5359 -label L5361 -label L5359 +label L5282 +label L5280 +jmp L5277 +label L5279 +label L5277 strref 110 m51s83 load 111 key call 112 pith_cstring_release void 1 111 @@ -196762,71 +195901,71 @@ store info 2 load 3 recv_idx iconst 4 0 lt 5 3 4 -brif 5 L5366 L5367 -label L5366 +brif 5 L5284 L5285 +label L5284 iconst 6 0 iconst 7 1 sub 8 6 7 load 9 info call 10 pith_struct_release void 1 9 ret 8 -label L5367 -label L5365 +label L5285 +label L5283 load 11 recv_idx call 12 checker_c_get_expr_type int 1 11 store tid 12 load 13 tid iconst 14 0 lt 15 13 14 -brif 15 L5369 L5370 -label L5369 +brif 15 L5287 L5288 +label L5287 iconst 16 0 iconst 17 1 sub 18 16 17 load 19 info call 20 pith_struct_release void 1 19 ret 18 -label L5370 -label L5368 +label L5288 +label L5286 load 21 info load 22 tid call 23 types_get_type_info struct:TypeInfo 1 22 call 24 pith_struct_release void 1 21 store info 23 iconst 25 0 -store __or_25_5374 25 +store __or_25_5292 25 load 26 info field 27 26 0 string kind strref 28 m51s21 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_25_5374 29 -brif 29 L5375 L5374 -label L5374 +store __or_25_5292 29 +brif 29 L5293 L5292 +label L5292 load 31 info field 32 31 0 string kind strref 33 m51s22 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_25_5374 34 -label L5375 -load 36 __or_25_5374 -brif 36 L5372 L5373 -label L5372 +store __or_25_5292 34 +label L5293 +load 36 __or_25_5292 +brif 36 L5290 L5291 +label L5290 load 37 info field 38 37 64 int inner iconst 39 0 lt 40 38 39 -brif 40 L5377 L5378 -label L5377 +brif 40 L5295 L5296 +label L5295 iconst 41 0 iconst 42 1 sub 43 41 42 load 44 info call 45 pith_struct_release void 1 44 ret 43 -label L5378 -label L5376 +label L5296 +label L5294 load 46 info field 47 46 64 int inner store tid 47 @@ -196835,11 +195974,11 @@ load 49 tid call 50 types_get_type_info struct:TypeInfo 1 49 call 51 pith_struct_release void 1 48 store info 50 -jmp L5371 -label L5373 -label L5371 +jmp L5289 +label L5291 +label L5289 iconst 52 0 -store __and_52_5382 52 +store __and_52_5300 52 load 53 info field 54 53 0 string kind strref 55 m51s15 @@ -196847,9 +195986,9 @@ call 57 pith_cstring_eq bool 2 54 55 iconst 58 1 sub 56 58 57 call 59 pith_cstring_release void 1 55 -store __and_52_5382 56 -brif 56 L5382 L5383 -label L5382 +store __and_52_5300 56 +brif 56 L5300 L5301 +label L5300 load 60 info field 61 60 0 string kind strref 62 m51s14 @@ -196857,35 +195996,35 @@ call 64 pith_cstring_eq bool 2 61 62 iconst 65 1 sub 63 65 64 call 66 pith_cstring_release void 1 62 -store __and_52_5382 63 -label L5383 -load 67 __and_52_5382 -brif 67 L5380 L5381 -label L5380 +store __and_52_5300 63 +label L5301 +load 67 __and_52_5300 +brif 67 L5298 L5299 +label L5298 iconst 68 0 iconst 69 1 sub 70 68 69 load 71 info call 72 pith_struct_release void 1 71 ret 70 -label L5381 -label L5379 +label L5299 +label L5297 load 73 info field 74 73 8 string name load 75 type_name call 77 pith_cstring_eq bool 2 74 75 iconst 78 1 sub 76 78 77 -brif 76 L5385 L5386 -label L5385 +brif 76 L5303 L5304 +label L5303 iconst 79 0 iconst 80 1 sub 81 79 80 load 82 info call 83 pith_struct_release void 1 82 ret 81 -label L5386 -label L5384 +label L5304 +label L5302 load 84 tid load 85 info call 86 pith_struct_release void 1 85 @@ -196910,8 +196049,8 @@ store tid 7 load 8 tid iconst 9 0 gte 10 8 9 -brif 10 L5388 L5389 -label L5388 +brif 10 L5306 L5307 +label L5306 load 11 tid_key load 12 tid load 13 method_name @@ -196921,8 +196060,8 @@ store tid_key 14 load 16 ir_method_tables_ir_impl_methods load 17 tid_key call 18 contains_key bool 2 16 17 -brif 18 L5391 L5392 -label L5391 +brif 18 L5309 L5310 +label L5309 load 19 ir_method_tables_ir_impl_methods load 20 tid_key call 21 map_get_strict string 2 19 20 @@ -196932,8 +196071,8 @@ call 24 pith_cstring_release void 1 23 load 25 name_key call 26 pith_cstring_release void 1 25 ret 21 -label L5392 -label L5390 +label L5310 +label L5308 load 27 name_key load 28 type_name load 29 method_name @@ -196943,29 +196082,29 @@ store name_key 30 load 32 ir_method_tables_ir_impl_method_owner load 33 name_key call 34 contains_key bool 2 32 33 -brif 34 L5394 L5395 -label L5394 +brif 34 L5312 L5313 +label L5312 load 35 ir_method_tables_ir_impl_method_owner load 36 name_key call 37 map_get_strict int 2 35 36 load 38 tid neq 39 37 38 -brif 39 L5397 L5398 -label L5397 +brif 39 L5315 L5316 +label L5315 strref 40 m51s83 load 41 tid_key call 42 pith_cstring_release void 1 41 load 43 name_key call 44 pith_cstring_release void 1 43 ret 40 -label L5398 -label L5396 -jmp L5393 -label L5395 -label L5393 -jmp L5387 -label L5389 -label L5387 +label L5316 +label L5314 +jmp L5311 +label L5313 +label L5311 +jmp L5305 +label L5307 +label L5305 load 45 type_name load 46 method_name call 47 ir_emitter_core_ir_lookup_impl_method_name string 2 45 46 @@ -196990,21 +196129,21 @@ load 3 root_idx call 4 ir_tree_cache_ir_root_items list 1 3 call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_420 6 -store __for_len_420 5 -store __for_iter_420 4 -label L5399 -load 7 __for_idx_420 -load 8 __for_len_420 +store __for_idx_419 6 +store __for_len_419 5 +store __for_iter_419 4 +label L5317 +load 7 __for_idx_419 +load 8 __for_len_419 lt 9 7 8 -brif 9 L5400 L5402 -label L5400 -load 10 __for_iter_420 -load 11 __for_idx_420 +brif 9 L5318 L5320 +label L5318 +load 10 __for_iter_419 +load 11 __for_idx_419 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_420_item_idx 12 +store __loopvar_419_item_idx 12 load 13 node -load 14 __loopvar_420_item_idx +load 14 __loopvar_419_item_idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 @@ -197013,22 +196152,22 @@ field 18 17 0 string kind strref 19 m51s613 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L5404 L5405 -label L5404 +brif 20 L5322 L5323 +label L5322 load 22 node load 23 module_path call 24 ir_emitter_core_ir_collect_impl_method_signatures void 2 22 23 -jmp L5403 -label L5405 -label L5403 -label L5401 -load 25 __for_idx_420 +jmp L5321 +label L5323 +label L5321 +label L5319 +load 25 __for_idx_419 iconst 26 1 add 27 25 26 -store __for_idx_420 27 -jmp L5399 -label L5402 -load 28 __for_iter_420 +store __for_idx_419 27 +jmp L5317 +label L5320 +load 28 __for_iter_419 call 29 pith_list_release_handle void 1 28 load 30 node call 31 pith_struct_release void 1 30 @@ -197044,54 +196183,54 @@ load 3 root_idx call 4 ir_tree_cache_ir_root_items list 1 3 call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_421 6 -store __for_len_421 5 -store __for_iter_421 4 -label L5406 -load 7 __for_idx_421 -load 8 __for_len_421 +store __for_idx_420 6 +store __for_len_420 5 +store __for_iter_420 4 +label L5324 +load 7 __for_idx_420 +load 8 __for_len_420 lt 9 7 8 -brif 9 L5407 L5409 -label L5407 -load 10 __for_iter_421 -load 11 __for_idx_421 +brif 9 L5325 L5327 +label L5325 +load 10 __for_iter_420 +load 11 __for_idx_420 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_421_item_idx 12 +store __loopvar_420_item_idx 12 load 13 node -load 14 __loopvar_421_item_idx +load 14 __loopvar_420_item_idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 iconst 17 0 -store __and_17_5413 17 +store __and_17_5331 17 load 18 node field 19 18 0 string kind call 20 ir_generics_ir_is_fn_decl_kind bool 1 19 -store __and_17_5413 20 -brif 20 L5413 L5414 -label L5413 +store __and_17_5331 20 +brif 20 L5331 L5332 +label L5331 load 21 node call 22 ir_generics_ir_has_generic_params bool 1 21 -store __and_17_5413 22 -label L5414 -load 23 __and_17_5413 -brif 23 L5411 L5412 -label L5411 -load 24 __loopvar_421_item_idx +store __and_17_5331 22 +label L5332 +load 23 __and_17_5331 +brif 23 L5329 L5330 +label L5329 +load 24 __loopvar_420_item_idx load 25 node load 26 module_path call 27 ir_generics_ir_record_generic_function_decl void 3 24 25 26 -jmp L5410 -label L5412 -label L5410 -label L5408 -load 28 __for_idx_421 +jmp L5328 +label L5330 +label L5328 +label L5326 +load 28 __for_idx_420 iconst 29 1 add 30 28 29 -store __for_idx_421 30 -jmp L5406 -label L5409 -load 31 __for_iter_421 +store __for_idx_420 30 +jmp L5324 +label L5327 +load 31 __for_iter_420 call 32 pith_list_release_handle void 1 31 load 33 node call 34 pith_struct_release void 1 33 @@ -197108,15 +196247,15 @@ load 4 name call 5 contains_key bool 2 3 4 iconst 7 1 sub 6 7 5 -brif 6 L5416 L5417 -label L5416 +brif 6 L5334 L5335 +label L5334 load 8 node call 9 ir_emitter_core_ir_generic_arg_types list_string 1 8 load 10 inferred call 11 pith_list_release_handle void 1 10 ret 9 -label L5417 -label L5415 +label L5335 +label L5333 load 12 inferred load 13 name load 14 node @@ -197152,56 +196291,56 @@ load 8 decl_node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_422 11 -store __for_len_422 10 -store __for_iter_422 9 -label L5418 -load 12 __for_idx_422 -load 13 __for_len_422 +store __for_idx_421 11 +store __for_len_421 10 +store __for_iter_421 9 +label L5336 +load 12 __for_idx_421 +load 13 __for_len_421 lt 14 12 13 -brif 14 L5419 L5421 -label L5419 -load 15 __for_iter_422 -load 16 __for_idx_422 +brif 14 L5337 L5339 +label L5337 +load 15 __for_iter_421 +load 16 __for_idx_421 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_422_child 17 +store __loopvar_421_child 17 load 18 cn -load 19 __loopvar_422_child +load 19 __loopvar_421_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 iconst 22 0 -store __and_22_5425 22 +store __and_22_5343 22 iconst 23 0 -store __and_23_5425 23 +store __and_23_5343 23 load 24 cn field 25 24 0 string kind strref 26 m51s69 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_5425 27 -brif 27 L5425 L5426 -label L5425 +store __and_23_5343 27 +brif 27 L5343 L5344 +label L5343 load 29 cn field 30 29 8 string value load 31 param_name call 32 pith_cstring_eq bool 2 30 31 -store __and_23_5425 32 -label L5426 -load 33 __and_23_5425 -store __and_22_5425 33 -brif 33 L5427 L5428 -label L5427 +store __and_23_5343 32 +label L5344 +load 33 __and_23_5343 +store __and_22_5343 33 +brif 33 L5345 L5346 +label L5345 load 34 cn field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -store __and_22_5425 38 -label L5428 -load 39 __and_22_5425 -brif 39 L5423 L5424 -label L5423 +store __and_22_5343 38 +label L5346 +load 39 __and_22_5343 +brif 39 L5341 L5342 +label L5341 load 40 cn field 41 40 16 list children iconst 42 0 @@ -197211,15 +196350,15 @@ call 45 pith_struct_release void 1 44 load 46 cn call 47 pith_struct_release void 1 46 ret 43 -label L5424 -label L5422 -label L5420 -load 48 __for_idx_422 +label L5342 +label L5340 +label L5338 +load 48 __for_idx_421 iconst 49 1 add 50 48 49 -store __for_idx_422 50 -jmp L5418 -label L5421 +store __for_idx_421 50 +jmp L5336 +label L5339 iconst 51 0 iconst 52 1 sub 53 51 52 @@ -197251,21 +196390,21 @@ store ccn 7 iconst 8 0 store acn 8 iconst 9 0 -store __or_9_5432 9 +store __or_9_5350 9 load 10 callee_idx iconst 11 0 lt 12 10 11 -store __or_9_5432 12 -brif 12 L5433 L5432 -label L5432 +store __or_9_5350 12 +brif 12 L5351 L5350 +label L5350 load 13 caller_idx iconst 14 0 lt 15 13 14 -store __or_9_5432 15 -label L5433 -load 16 __or_9_5432 -brif 16 L5430 L5431 -label L5430 +store __or_9_5350 15 +label L5351 +load 16 __or_9_5350 +brif 16 L5348 L5349 +label L5348 load 17 cn call 18 pith_struct_release void 1 17 load 19 an @@ -197278,8 +196417,8 @@ load 25 acn call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L5431 -label L5429 +label L5349 +label L5347 load 28 cn load 29 callee_idx call 30 ast_get_node struct:Node 1 29 @@ -197295,40 +196434,40 @@ field 37 36 0 string kind strref 38 m51s316 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L5435 L5436 -label L5435 +brif 39 L5353 L5354 +label L5353 load 41 callee_params load 42 cn field 43 42 8 string value iconst 44 -1 -store __list_index_result_L5440 44 +store __list_index_result_L5358 44 iconst 45 0 -store __list_index_i_L5441 45 +store __list_index_i_L5359 45 call 46 pith_list_len int 1 41 -label L5442 -load 47 __list_index_i_L5441 +label L5360 +load 47 __list_index_i_L5359 lt 48 47 46 -brif 48 L5443 L5446 -label L5443 +brif 48 L5361 L5364 +label L5361 call 49 pith_list_get_value string 2 41 47 call 50 pith_cstring_eq bool 2 49 43 -brif 50 L5444 L5445 -label L5444 -store __list_index_result_L5440 47 -jmp L5446 -label L5445 +brif 50 L5362 L5363 +label L5362 +store __list_index_result_L5358 47 +jmp L5364 +label L5363 iconst 51 1 add 52 47 51 -store __list_index_i_L5441 52 -jmp L5442 -label L5446 -load 53 __list_index_result_L5440 +store __list_index_i_L5359 52 +jmp L5360 +label L5364 +load 53 __list_index_result_L5358 iconst 54 0 gte 55 53 54 iconst 57 1 sub 56 57 55 -brif 56 L5438 L5439 -label L5438 +brif 56 L5356 L5357 +label L5356 load 58 cn call 59 pith_struct_release void 1 58 load 60 an @@ -197341,8 +196480,8 @@ load 66 acn call 67 pith_struct_release void 1 66 iconst 68 0 ret 68 -label L5439 -label L5437 +label L5357 +label L5355 load 69 an field 70 69 0 string kind strref 71 m51s316 @@ -197350,8 +196489,8 @@ call 73 pith_cstring_eq bool 2 70 71 iconst 74 1 sub 72 74 73 call 75 pith_cstring_release void 1 71 -brif 72 L5448 L5449 -label L5448 +brif 72 L5366 L5367 +label L5366 load 76 cn call 77 pith_struct_release void 1 76 load 78 an @@ -197364,8 +196503,8 @@ load 84 acn call 85 pith_struct_release void 1 84 iconst 86 0 ret 86 -label L5449 -label L5447 +label L5367 +label L5365 load 87 resolved load 88 an field 89 88 8 string value @@ -197377,32 +196516,32 @@ store resolved 92 load 94 ir_alias_registry_ir_active_generic_params load 95 resolved iconst 96 -1 -store __list_index_result_L5453 96 +store __list_index_result_L5371 96 iconst 97 0 -store __list_index_i_L5454 97 +store __list_index_i_L5372 97 call 98 pith_list_len int 1 94 -label L5455 -load 99 __list_index_i_L5454 +label L5373 +load 99 __list_index_i_L5372 lt 100 99 98 -brif 100 L5456 L5459 -label L5456 +brif 100 L5374 L5377 +label L5374 call 101 pith_list_get_value string 2 94 99 call 102 pith_cstring_eq bool 2 101 95 -brif 102 L5457 L5458 -label L5457 -store __list_index_result_L5453 99 -jmp L5459 -label L5458 +brif 102 L5375 L5376 +label L5375 +store __list_index_result_L5371 99 +jmp L5377 +label L5376 iconst 103 1 add 104 99 103 -store __list_index_i_L5454 104 -jmp L5455 -label L5459 -load 105 __list_index_result_L5453 +store __list_index_i_L5372 104 +jmp L5373 +label L5377 +load 105 __list_index_result_L5371 iconst 106 0 gte 107 105 106 -brif 107 L5451 L5452 -label L5451 +brif 107 L5369 L5370 +label L5369 load 108 cn call 109 pith_struct_release void 1 108 load 110 an @@ -197415,24 +196554,24 @@ load 116 acn call 117 pith_struct_release void 1 116 iconst 118 0 ret 118 -label L5452 -label L5450 +label L5370 +label L5368 load 119 bindings load 120 cn field 121 120 8 string value call 122 contains_key bool 2 119 121 iconst 124 1 sub 123 124 122 -brif 123 L5461 L5462 -label L5461 +brif 123 L5379 L5380 +label L5379 load 125 bindings load 126 cn field 127 126 8 string value load 128 resolved call 129 map_insert void 3 125 127 128 -jmp L5460 -label L5462 -label L5460 +jmp L5378 +label L5380 +label L5378 load 130 cn call 131 pith_struct_release void 1 130 load 132 an @@ -197445,64 +196584,64 @@ load 138 acn call 139 pith_struct_release void 1 138 iconst 140 0 ret 140 -label L5436 -label L5434 +label L5354 +label L5352 iconst 141 0 -store __and_141_5466 141 +store __and_141_5384 141 iconst 142 0 -store __and_142_5466 142 +store __and_142_5384 142 load 143 cn field 144 143 0 string kind strref 145 m51s336 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -store __and_142_5466 146 -brif 146 L5466 L5467 -label L5466 +store __and_142_5384 146 +brif 146 L5384 L5385 +label L5384 load 148 an field 149 148 0 string kind strref 150 m51s336 call 151 pith_cstring_eq bool 2 149 150 call 152 pith_cstring_release void 1 150 -store __and_142_5466 151 -label L5467 -load 153 __and_142_5466 -store __and_141_5466 153 -brif 153 L5468 L5469 -label L5468 +store __and_142_5384 151 +label L5385 +load 153 __and_142_5384 +store __and_141_5384 153 +brif 153 L5386 L5387 +label L5386 load 154 cn field 155 154 8 string value load 156 an field 157 156 8 string value call 158 pith_cstring_eq bool 2 155 157 -store __and_141_5466 158 -label L5469 -load 159 __and_141_5466 -brif 159 L5464 L5465 -label L5464 +store __and_141_5384 158 +label L5387 +load 159 __and_141_5384 +brif 159 L5382 L5383 +label L5382 iconst 160 0 store i 160 -label L5470 +label L5388 iconst 161 0 -store __and_161_5473 161 +store __and_161_5391 161 load 162 i load 163 cn field 164 163 16 list children call 165 pith_list_len int 1 164 lt 166 162 165 -store __and_161_5473 166 -brif 166 L5473 L5474 -label L5473 +store __and_161_5391 166 +brif 166 L5391 L5392 +label L5391 load 167 i load 168 an field 169 168 16 list children call 170 pith_list_len int 1 169 lt 171 167 170 -store __and_161_5473 171 -label L5474 -load 172 __and_161_5473 -brif 172 L5471 L5472 -label L5471 +store __and_161_5391 171 +label L5392 +load 172 __and_161_5391 +brif 172 L5389 L5390 +label L5389 load 173 cn field 174 173 16 list children load 175 i @@ -197518,8 +196657,8 @@ load 184 i iconst 185 1 add 186 184 185 store i 186 -jmp L5470 -label L5472 +jmp L5388 +label L5390 load 187 cn call 188 pith_struct_release void 1 187 load 189 an @@ -197532,40 +196671,40 @@ load 195 acn call 196 pith_struct_release void 1 195 iconst 197 0 ret 197 -label L5465 -label L5463 +label L5383 +label L5381 iconst 198 0 -store __and_198_5478 198 +store __and_198_5396 198 load 199 cn field 200 199 0 string kind strref 201 m51s328 call 202 pith_cstring_eq bool 2 200 201 call 203 pith_cstring_release void 1 201 -store __and_198_5478 202 -brif 202 L5478 L5479 -label L5478 +store __and_198_5396 202 +brif 202 L5396 L5397 +label L5396 load 204 an field 205 204 0 string kind strref 206 m51s328 call 207 pith_cstring_eq bool 2 205 206 call 208 pith_cstring_release void 1 206 -store __and_198_5478 207 -label L5479 -load 209 __and_198_5478 -brif 209 L5476 L5477 -label L5476 +store __and_198_5396 207 +label L5397 +load 209 __and_198_5396 +brif 209 L5394 L5395 +label L5394 iconst 210 0 store ci 210 iconst 211 0 store ai 211 -label L5480 +label L5398 load 212 ci load 213 cn field 214 213 16 list children call 215 pith_list_len int 1 214 lt 216 212 215 -brif 216 L5481 L5482 -label L5481 +brif 216 L5399 L5400 +label L5399 load 217 ccn load 218 cn field 219 218 16 list children @@ -197574,17 +196713,17 @@ call 221 pith_list_get_value_strict int 2 219 220 call 222 ast_get_node struct:Node 1 221 call 223 pith_struct_release void 1 217 store ccn 222 -label L5483 +label L5401 iconst 224 0 -store __and_224_5486 224 +store __and_224_5404 224 load 225 ai load 226 an field 227 226 16 list children call 228 pith_list_len int 1 227 lt 229 225 228 -store __and_224_5486 229 -brif 229 L5486 L5487 -label L5486 +store __and_224_5404 229 +brif 229 L5404 L5405 +label L5404 load 230 an field 231 230 16 list children load 232 ai @@ -197596,44 +196735,44 @@ field 237 236 0 string kind call 239 pith_cstring_eq bool 2 235 237 iconst 240 1 sub 238 240 239 -store __and_224_5486 238 -label L5487 -load 241 __and_224_5486 -brif 241 L5484 L5485 -label L5484 +store __and_224_5404 238 +label L5405 +load 241 __and_224_5404 +brif 241 L5402 L5403 +label L5402 load 242 ai iconst 243 1 add 244 242 243 store ai 244 -jmp L5483 -label L5485 +jmp L5401 +label L5403 load 245 ai load 246 an field 247 246 16 list children call 248 pith_list_len int 1 247 lt 249 245 248 -brif 249 L5489 L5490 -label L5489 +brif 249 L5407 L5408 +label L5407 iconst 250 0 -store __and_250_5494 250 +store __and_250_5412 250 load 251 ccn field 252 251 0 string kind strref 253 m51s69 call 254 pith_cstring_eq bool 2 252 253 call 255 pith_cstring_release void 1 253 -store __and_250_5494 254 -brif 254 L5494 L5495 -label L5494 +store __and_250_5412 254 +brif 254 L5412 L5413 +label L5412 load 256 ccn field 257 256 16 list children call 258 pith_list_len int 1 257 iconst 259 0 gt 260 258 259 -store __and_250_5494 260 -label L5495 -load 261 __and_250_5494 -brif 261 L5492 L5493 -label L5492 +store __and_250_5412 260 +label L5413 +load 261 __and_250_5412 +brif 261 L5410 L5411 +label L5410 load 262 acn load 263 an field 264 263 16 list children @@ -197647,8 +196786,8 @@ field 270 269 16 list children call 271 pith_list_len int 1 270 iconst 272 0 gt 273 271 272 -brif 273 L5497 L5498 -label L5497 +brif 273 L5415 L5416 +label L5415 load 274 ccn field 275 274 16 list children iconst 276 0 @@ -197660,31 +196799,31 @@ call 281 pith_list_get_value_strict int 2 279 280 load 282 callee_params load 283 bindings call 284 ir_emitter_core_ir_unify_generic_param_nodes void 4 277 281 282 283 -jmp L5496 -label L5498 -label L5496 -jmp L5491 -label L5493 +jmp L5414 +label L5416 +label L5414 +jmp L5409 +label L5411 iconst 285 0 -store __and_285_5501 285 +store __and_285_5419 285 load 286 ccn field 287 286 0 string kind strref 288 m51s323 call 289 pith_cstring_eq bool 2 287 288 call 290 pith_cstring_release void 1 288 -store __and_285_5501 289 -brif 289 L5501 L5502 -label L5501 +store __and_285_5419 289 +brif 289 L5419 L5420 +label L5419 load 291 ccn field 292 291 16 list children call 293 pith_list_len int 1 292 iconst 294 0 gt 295 293 294 -store __and_285_5501 295 -label L5502 -load 296 __and_285_5501 -brif 296 L5499 L5500 -label L5499 +store __and_285_5419 295 +label L5420 +load 296 __and_285_5419 +brif 296 L5417 L5418 +label L5417 load 297 acn load 298 an field 299 298 16 list children @@ -197698,8 +196837,8 @@ field 305 304 16 list children call 306 pith_list_len int 1 305 iconst 307 0 gt 308 306 307 -brif 308 L5504 L5505 -label L5504 +brif 308 L5422 L5423 +label L5422 load 309 ccn field 310 309 16 list children iconst 311 0 @@ -197711,28 +196850,28 @@ call 316 pith_list_get_value_strict int 2 314 315 load 317 callee_params load 318 bindings call 319 ir_emitter_core_ir_unify_generic_param_nodes void 4 312 316 317 318 -jmp L5503 -label L5505 -label L5503 -jmp L5491 -label L5500 -label L5491 +jmp L5421 +label L5423 +label L5421 +jmp L5409 +label L5418 +label L5409 load 320 ai iconst 321 1 add 322 320 321 store ai 322 -jmp L5488 -label L5490 -label L5488 +jmp L5406 +label L5408 +label L5406 load 323 ci iconst 324 1 add 325 323 324 store ci 325 -jmp L5480 -label L5482 -jmp L5475 -label L5477 -label L5475 +jmp L5398 +label L5400 +jmp L5393 +label L5395 +label L5393 load 326 cn call 327 pith_struct_release void 1 326 load 328 an @@ -197765,36 +196904,36 @@ store tracked 8 iconst 9 0 store filled 9 load 10 inferred -strref 11 m51s869 +strref 11 m51s870 iconst 12 -1 -store __list_index_result_L5509 12 +store __list_index_result_L5427 12 iconst 13 0 -store __list_index_i_L5510 13 +store __list_index_i_L5428 13 call 14 pith_list_len int 1 10 -label L5511 -load 15 __list_index_i_L5510 +label L5429 +load 15 __list_index_i_L5428 lt 16 15 14 -brif 16 L5512 L5515 -label L5512 +brif 16 L5430 L5433 +label L5430 call 17 pith_list_get_value string 2 10 15 call 18 pith_cstring_eq bool 2 17 11 -brif 18 L5513 L5514 -label L5513 -store __list_index_result_L5509 15 -jmp L5515 -label L5514 +brif 18 L5431 L5432 +label L5431 +store __list_index_result_L5427 15 +jmp L5433 +label L5432 iconst 19 1 add 20 15 19 -store __list_index_i_L5510 20 -jmp L5511 -label L5515 -load 21 __list_index_result_L5509 +store __list_index_i_L5428 20 +jmp L5429 +label L5433 +load 21 __list_index_result_L5427 iconst 22 0 gte 23 21 22 iconst 25 1 sub 24 25 23 -brif 24 L5507 L5508 -label L5507 +brif 24 L5425 L5426 +label L5425 load 26 inferred call 27 pith_list_retain_handle void 1 26 load 28 callee_params @@ -197812,25 +196951,25 @@ call 39 pith_cstring_release void 1 38 load 40 filled call 41 pith_list_release_handle void 1 40 ret 26 -label L5508 -label L5506 +label L5426 +label L5424 iconst 42 0 -store __or_42_5519 42 +store __or_42_5437 42 load 43 ir_alias_registry_ir_active_generic_params call 44 pith_list_len int 1 43 iconst 45 0 eq 46 44 45 -store __or_42_5519 46 -brif 46 L5520 L5519 -label L5519 +store __or_42_5437 46 +brif 46 L5438 L5437 +label L5437 load 47 ir_alias_registry_ir_active_generic_decl_idx iconst 48 0 lt 49 47 48 -store __or_42_5519 49 -label L5520 -load 50 __or_42_5519 -brif 50 L5517 L5518 -label L5517 +store __or_42_5437 49 +label L5438 +load 50 __or_42_5437 +brif 50 L5435 L5436 +label L5435 load 51 inferred call 52 pith_list_retain_handle void 1 51 load 53 callee_params @@ -197848,8 +196987,8 @@ call 64 pith_cstring_release void 1 63 load 65 filled call 66 pith_list_release_handle void 1 65 ret 51 -label L5518 -label L5516 +label L5436 +label L5434 load 67 ir_generics_ir_generic_decl_indices load 68 name call 69 map_get_strict int 2 67 68 @@ -197871,33 +197010,33 @@ load 80 node field 81 80 16 list children call 82 pith_auto_len int 1 81 iconst 83 0 -store __for_idx_423 83 -store __for_len_423 82 -store __for_iter_423 81 -label L5521 -load 84 __for_idx_423 -load 85 __for_len_423 +store __for_idx_422 83 +store __for_len_422 82 +store __for_iter_422 81 +label L5439 +load 84 __for_idx_422 +load 85 __for_len_422 lt 86 84 85 -brif 86 L5522 L5524 -label L5522 -load 87 __for_iter_423 -load 88 __for_idx_423 +brif 86 L5440 L5442 +label L5440 +load 87 __for_iter_422 +load 88 __for_idx_422 call 89 pith_list_get_value unknown 2 87 88 -store __loopvar_423_child 89 -load 90 __for_idx_423 -store __loopvar_423_i 90 -load 91 __loopvar_423_i +store __loopvar_422_child 89 +load 90 __for_idx_422 +store __loopvar_422_i 90 +load 91 __loopvar_422_i iconst 92 0 eq 93 91 92 -brif 93 L5526 L5527 -label L5526 -jmp L5523 -label L5527 -label L5525 -load 94 __loopvar_423_child +brif 93 L5444 L5445 +label L5444 +jmp L5441 +label L5445 +label L5443 +load 94 __loopvar_422_child store expr_idx 94 load 95 cn -load 96 __loopvar_423_child +load 96 __loopvar_422_child call 97 ast_get_node struct:Node 1 96 call 98 pith_struct_release void 1 95 store cn 97 @@ -197906,26 +197045,26 @@ field 100 99 0 string kind strref 101 m51s42 call 102 pith_cstring_eq bool 2 100 101 call 103 pith_cstring_release void 1 101 -brif 102 L5529 L5530 -label L5529 +brif 102 L5447 L5448 +label L5447 load 104 cn field 105 104 16 list children call 106 pith_list_len int 1 105 iconst 107 0 eq 108 106 107 -brif 108 L5532 L5533 -label L5532 -jmp L5523 -label L5533 -label L5531 +brif 108 L5450 L5451 +label L5450 +jmp L5441 +label L5451 +label L5449 load 109 cn field 110 109 16 list children iconst 111 0 call 112 pith_list_get_value_strict int 2 110 111 store expr_idx 112 -jmp L5528 -label L5530 -label L5528 +jmp L5446 +label L5448 +label L5446 load 113 en load 114 expr_idx call 115 ast_get_node struct:Node 1 114 @@ -197936,8 +197075,8 @@ field 118 117 0 string kind strref 119 m51s37 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L5535 L5536 -label L5535 +brif 120 L5453 L5454 +label L5453 load 122 ir_alias_registry_ir_active_generic_decl_idx load 123 en field 124 123 8 string value @@ -197946,8 +197085,8 @@ store caller_type_idx 125 load 126 caller_type_idx iconst 127 0 gte 128 126 127 -brif 128 L5538 L5539 -label L5538 +brif 128 L5456 L5457 +label L5456 load 129 declared load 130 caller_type_idx call 131 ir_alias_registry_ir_resolve_type_node string 1 130 @@ -197960,22 +197099,22 @@ call 136 ir_emitter_core_ir_lookup_name_type string 1 135 call 137 pith_cstring_release void 1 133 store tracked 136 iconst 138 0 -store __or_138_5543 138 +store __or_138_5461 138 load 139 tracked call 140 string_len int 1 139 iconst 141 0 eq 142 140 141 -store __or_138_5543 142 -brif 142 L5544 L5543 -label L5543 +store __or_138_5461 142 +brif 142 L5462 L5461 +label L5461 load 143 tracked load 144 declared call 145 pith_cstring_eq bool 2 143 144 -store __or_138_5543 145 -label L5544 -load 146 __or_138_5543 -brif 146 L5541 L5542 -label L5541 +store __or_138_5461 145 +label L5462 +load 146 __or_138_5461 +brif 146 L5459 L5460 +label L5459 load 147 callee_decl load 148 callee_decl load 149 arg_pos @@ -197988,26 +197127,26 @@ load 154 caller_type_idx load 155 callee_params load 156 bindings call 157 ir_emitter_core_ir_unify_generic_param_nodes void 4 153 154 155 156 -jmp L5540 -label L5542 -label L5540 -jmp L5537 -label L5539 -label L5537 -jmp L5534 -label L5536 -label L5534 +jmp L5458 +label L5460 +label L5458 +jmp L5455 +label L5457 +label L5455 +jmp L5452 +label L5454 +label L5452 load 158 arg_pos iconst 159 1 add 160 158 159 store arg_pos 160 -label L5523 -load 161 __for_idx_423 +label L5441 +load 161 __for_idx_422 iconst 162 1 add 163 161 162 -store __for_idx_423 163 -jmp L5521 -label L5524 +store __for_idx_422 163 +jmp L5439 +label L5442 load 164 filled call 165 pith_list_new_cstr list 0 call 166 pith_list_release_handle void 1 164 @@ -198015,72 +197154,72 @@ store filled 165 load 167 inferred call 168 pith_auto_len int 1 167 iconst 169 0 -store __for_idx_424 169 -store __for_len_424 168 -store __for_iter_424 167 -label L5545 -load 170 __for_idx_424 -load 171 __for_len_424 +store __for_idx_423 169 +store __for_len_423 168 +store __for_iter_423 167 +label L5463 +load 170 __for_idx_423 +load 171 __for_len_423 lt 172 170 171 -brif 172 L5546 L5548 -label L5546 -load 173 __for_iter_424 -load 174 __for_idx_424 +brif 172 L5464 L5466 +label L5464 +load 173 __for_iter_423 +load 174 __for_idx_423 call 175 pith_list_get_value_unchecked string 2 173 174 -store __loopvar_424_concrete 175 -load 176 __for_idx_424 -store __loopvar_424_i 176 +store __loopvar_423_concrete 175 +load 176 __for_idx_423 +store __loopvar_423_i 176 iconst 177 0 -store __and_177_5552 177 +store __and_177_5470 177 iconst 178 0 -store __and_178_5552 178 -load 179 __loopvar_424_concrete -strref 180 m51s869 +store __and_178_5470 178 +load 179 __loopvar_423_concrete +strref 180 m51s870 call 181 pith_cstring_eq bool 2 179 180 call 182 pith_cstring_release void 1 180 -store __and_178_5552 181 -brif 181 L5552 L5553 -label L5552 -load 183 __loopvar_424_i +store __and_178_5470 181 +brif 181 L5470 L5471 +label L5470 +load 183 __loopvar_423_i load 184 callee_params call 185 pith_list_len int 1 184 lt 186 183 185 -store __and_178_5552 186 -label L5553 -load 187 __and_178_5552 -store __and_177_5552 187 -brif 187 L5554 L5555 -label L5554 +store __and_178_5470 186 +label L5471 +load 187 __and_178_5470 +store __and_177_5470 187 +brif 187 L5472 L5473 +label L5472 load 188 bindings load 189 callee_params -load 190 __loopvar_424_i +load 190 __loopvar_423_i call 191 pith_list_get_value_strict string 2 189 190 call 192 contains_key bool 2 188 191 -store __and_177_5552 192 -label L5555 -load 193 __and_177_5552 -brif 193 L5550 L5551 -label L5550 +store __and_177_5470 192 +label L5473 +load 193 __and_177_5470 +brif 193 L5468 L5469 +label L5468 load 194 filled load 195 bindings load 196 callee_params -load 197 __loopvar_424_i +load 197 __loopvar_423_i call 198 pith_list_get_value_strict string 2 196 197 call 199 map_get_strict string 2 195 198 call 200 pith_list_push_value void 2 194 199 -jmp L5549 -label L5551 +jmp L5467 +label L5469 load 201 filled -load 202 __loopvar_424_concrete +load 202 __loopvar_423_concrete call 203 pith_list_push_value void 2 201 202 -label L5549 -label L5547 -load 204 __for_idx_424 +label L5467 +label L5465 +load 204 __for_idx_423 iconst 205 1 add 206 204 205 -store __for_idx_424 206 -jmp L5545 -label L5548 +store __for_idx_423 206 +jmp L5463 +label L5466 load 207 filled load 208 callee_params call 209 pith_list_release_handle void 1 208 @@ -198128,8 +197267,8 @@ field 8 7 0 string kind strref 9 m51s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L5557 L5558 -label L5557 +brif 10 L5475 L5476 +label L5475 load 12 resolved load 13 type_node field 14 13 8 string value @@ -198142,14 +197281,14 @@ load 19 resolved call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L5560 L5561 -label L5560 +brif 22 L5478 L5479 +label L5478 load 23 resolved load 24 type_node call 25 pith_struct_release void 1 24 ret 23 -label L5561 -label L5559 +label L5479 +label L5477 load 26 type_node field 27 26 8 string value call 28 ir_alias_registry_ir_resolve_type_hint string 1 27 @@ -198158,8 +197297,8 @@ call 30 pith_struct_release void 1 29 load 31 resolved call 32 pith_cstring_release void 1 31 ret 28 -label L5558 -label L5556 +label L5476 +label L5474 load 33 type_idx load 34 ir_alias_registry_ir_active_generic_params load 35 ir_alias_registry_ir_active_generic_concrete_types @@ -198186,14 +197325,14 @@ call 4 pith_list_release_handle void 1 2 store concrete_types 3 iconst 5 1 store i 5 -label L5562 +label L5480 load 6 i load 7 index_node field 8 7 16 list children call 9 pith_list_len int 1 8 lt 10 6 9 -brif 10 L5563 L5564 -label L5563 +brif 10 L5481 L5482 +label L5481 load 11 concrete_types load 12 index_node field 13 12 16 list children @@ -198205,8 +197344,8 @@ load 18 i iconst 19 1 add 20 18 19 store i 20 -jmp L5562 -label L5564 +jmp L5480 +label L5482 load 21 concrete_types ret 21 load 22 concrete_types @@ -198234,21 +197373,21 @@ load 10 node field 11 10 16 list children call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_425 13 -store __for_len_425 12 -store __for_iter_425 11 -label L5565 -load 14 __for_idx_425 -load 15 __for_len_425 +store __for_idx_424 13 +store __for_len_424 12 +store __for_iter_424 11 +label L5483 +load 14 __for_idx_424 +load 15 __for_len_424 lt 16 14 15 -brif 16 L5566 L5568 -label L5566 -load 17 __for_iter_425 -load 18 __for_idx_425 +brif 16 L5484 L5486 +label L5484 +load 17 __for_iter_424 +load 18 __for_idx_424 call 19 pith_list_get_value unknown 2 17 18 -store __loopvar_425_child 19 +store __loopvar_424_child 19 load 20 cn -load 21 __loopvar_425_child +load 21 __loopvar_424_child call 22 ast_get_node struct:Node 1 21 call 23 pith_struct_release void 1 20 store cn 22 @@ -198257,8 +197396,8 @@ field 25 24 0 string kind strref 26 m51s69 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L5570 L5571 -label L5570 +brif 27 L5488 L5489 +label L5488 load 29 param_type strref 30 m51s83 call 31 pith_cstring_release void 1 29 @@ -198267,8 +197406,8 @@ load 32 param_idx load 33 param_types call 34 pith_list_len int 1 33 lt 35 32 34 -brif 35 L5573 L5574 -label L5573 +brif 35 L5491 L5492 +label L5491 load 36 param_type load 37 param_types load 38 param_idx @@ -198276,29 +197415,29 @@ call 39 pith_list_get_value_strict string 2 37 38 call 40 pith_cstring_retain void 1 39 call 41 pith_cstring_release void 1 36 store param_type 39 -jmp L5572 -label L5574 -label L5572 +jmp L5490 +label L5492 +label L5490 load 42 cn field 43 42 8 string value load 44 param_type call 45 ir_emitter_core_ir_emit_named_param void 2 43 44 -load 46 __loopvar_425_child +load 46 __loopvar_424_child call 47 ir_emitter_core_ir_record_closure_param_return void 1 46 load 48 param_idx iconst 49 1 add 50 48 49 store param_idx 50 -jmp L5569 -label L5571 -label L5569 -label L5567 -load 51 __for_idx_425 +jmp L5487 +label L5489 +label L5487 +label L5485 +load 51 __for_idx_424 iconst 52 1 add 53 51 52 -store __for_idx_425 53 -jmp L5565 -label L5568 +store __for_idx_424 53 +jmp L5483 +label L5486 load 54 node call 55 pith_struct_release void 1 54 load 56 cn @@ -198326,44 +197465,44 @@ load 8 node field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_426 11 -store __for_len_426 10 -store __for_iter_426 9 -label L5575 -load 12 __for_idx_426 -load 13 __for_len_426 +store __for_idx_425 11 +store __for_len_425 10 +store __for_iter_425 9 +label L5493 +load 12 __for_idx_425 +load 13 __for_len_425 lt 14 12 13 -brif 14 L5576 L5578 -label L5576 -load 15 __for_iter_426 -load 16 __for_idx_426 +brif 14 L5494 L5496 +label L5494 +load 15 __for_iter_425 +load 16 __for_idx_425 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_426_child 17 -load 18 __for_idx_426 -store __loopvar_426_i 18 -load 19 __loopvar_426_i +store __loopvar_425_child 17 +load 18 __for_idx_425 +store __loopvar_425_i 18 +load 19 __loopvar_425_i iconst 20 0 eq 21 19 20 -brif 21 L5580 L5581 -label L5580 -jmp L5577 -label L5581 -label L5579 +brif 21 L5498 L5499 +label L5498 +jmp L5495 +label L5499 +label L5497 load 22 child_kind -load 23 __loopvar_426_child +load 23 __loopvar_425_child call 24 ast_node_kind string 1 23 call 25 pith_cstring_release void 1 22 store child_kind 24 -load 26 __loopvar_426_child +load 26 __loopvar_425_child store expr_idx 26 load 27 child_kind strref 28 m51s42 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L5583 L5584 -label L5583 +brif 29 L5501 L5502 +label L5501 load 31 cn -load 32 __loopvar_426_child +load 32 __loopvar_425_child call 33 ast_get_node struct:Node 1 32 call 34 pith_struct_release void 1 31 store cn 33 @@ -198372,19 +197511,19 @@ field 36 35 16 list children call 37 pith_list_len int 1 36 iconst 38 0 gt 39 37 38 -brif 39 L5586 L5587 -label L5586 +brif 39 L5504 L5505 +label L5504 load 40 cn field 41 40 16 list children iconst 42 0 call 43 pith_list_get_value_strict int 2 41 42 store expr_idx 43 -jmp L5585 -label L5587 -label L5585 -jmp L5582 -label L5584 -label L5582 +jmp L5503 +label L5505 +label L5503 +jmp L5500 +label L5502 +label L5500 load 44 checked load 45 expr_idx call 46 ir_type_helpers_ir_checked_type string 1 45 @@ -198394,25 +197533,25 @@ load 48 checked call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L5589 L5590 -label L5589 +brif 51 L5507 L5508 +label L5507 load 52 arg_types load 53 checked call 54 pith_list_push_value void 2 52 53 -jmp L5588 -label L5590 +jmp L5506 +label L5508 load 55 arg_types load 56 expr_idx call 57 ir_emitter_core_ir_infer_type string 1 56 call 58 pith_list_push_value_owned void 2 55 57 -label L5588 -label L5577 -load 59 __for_idx_426 +label L5506 +label L5495 +load 59 __for_idx_425 iconst 60 1 add 61 59 60 -store __for_idx_426 61 -jmp L5575 -label L5578 +store __for_idx_425 61 +jmp L5493 +label L5496 load 62 arg_types load 63 child_kind call 64 pith_cstring_release void 1 63 @@ -198448,44 +197587,44 @@ load 7 node field 8 7 16 list children call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_427 10 -store __for_len_427 9 -store __for_iter_427 8 -label L5591 -load 11 __for_idx_427 -load 12 __for_len_427 +store __for_idx_426 10 +store __for_len_426 9 +store __for_iter_426 8 +label L5509 +load 11 __for_idx_426 +load 12 __for_len_426 lt 13 11 12 -brif 13 L5592 L5594 -label L5592 -load 14 __for_iter_427 -load 15 __for_idx_427 +brif 13 L5510 L5512 +label L5510 +load 14 __for_iter_426 +load 15 __for_idx_426 call 16 pith_list_get_value unknown 2 14 15 -store __loopvar_427_child 16 -load 17 __for_idx_427 -store __loopvar_427_i 17 -load 18 __loopvar_427_i +store __loopvar_426_child 16 +load 17 __for_idx_426 +store __loopvar_426_i 17 +load 18 __loopvar_426_i iconst 19 0 eq 20 18 19 -brif 20 L5596 L5597 -label L5596 -jmp L5593 -label L5597 -label L5595 +brif 20 L5514 L5515 +label L5514 +jmp L5511 +label L5515 +label L5513 load 21 child_kind -load 22 __loopvar_427_child +load 22 __loopvar_426_child call 23 ast_node_kind string 1 22 call 24 pith_cstring_release void 1 21 store child_kind 23 -load 25 __loopvar_427_child +load 25 __loopvar_426_child store expr_idx 25 load 26 child_kind strref 27 m51s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L5599 L5600 -label L5599 +brif 28 L5517 L5518 +label L5517 load 30 cn -load 31 __loopvar_427_child +load 31 __loopvar_426_child call 32 ast_get_node struct:Node 1 31 call 33 pith_struct_release void 1 30 store cn 32 @@ -198494,30 +197633,30 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L5602 L5603 -label L5602 +brif 38 L5520 L5521 +label L5520 load 39 cn field 40 39 16 list children iconst 41 0 call 42 pith_list_get_value_strict int 2 40 41 store expr_idx 42 -jmp L5601 -label L5603 -label L5601 -jmp L5598 -label L5600 -label L5598 +jmp L5519 +label L5521 +label L5519 +jmp L5516 +label L5518 +label L5516 load 43 arg_tids load 44 expr_idx call 45 checker_c_get_expr_type int 1 44 call 46 pith_list_push_value void 2 43 45 -label L5593 -load 47 __for_idx_427 +label L5511 +load 47 __for_idx_426 iconst 48 1 add 49 47 48 -store __for_idx_427 49 -jmp L5591 -label L5594 +store __for_idx_426 49 +jmp L5509 +label L5512 load 50 arg_tids load 51 child_kind call 52 pith_cstring_release void 1 51 @@ -198547,8 +197686,8 @@ call 7 pith_cstring_contains bool 2 5 6 call 8 pith_cstring_release void 1 6 iconst 9 0 eq 10 7 9 -brif 10 L5605 L5606 -label L5605 +brif 10 L5523 L5524 +label L5523 load 11 type_name call 12 pith_cstring_retain void 1 11 load 13 parts @@ -198556,8 +197695,8 @@ call 14 pith_list_release_handle void 1 13 load 15 akey call 16 pith_cstring_release void 1 15 ret 11 -label L5606 -label L5604 +label L5524 +label L5522 load 17 parts load 18 type_name strref 19 m51s26 @@ -198569,8 +197708,8 @@ load 23 parts call 24 pith_list_len int 1 23 iconst 25 2 neq 26 24 25 -brif 26 L5608 L5609 -label L5608 +brif 26 L5526 L5527 +label L5526 load 27 type_name call 28 pith_cstring_retain void 1 27 load 29 parts @@ -198578,45 +197717,45 @@ call 30 pith_list_release_handle void 1 29 load 31 akey call 32 pith_cstring_release void 1 31 ret 27 -label L5609 -label L5607 +label L5527 +label L5525 iconst 33 0 store i 33 load 34 params call 35 pith_auto_len int 1 34 iconst 36 0 -store __for_idx_428 36 -store __for_len_428 35 -store __for_iter_428 34 -label L5610 -load 37 __for_idx_428 -load 38 __for_len_428 +store __for_idx_427 36 +store __for_len_427 35 +store __for_iter_427 34 +label L5528 +load 37 __for_idx_427 +load 38 __for_len_427 lt 39 37 38 -brif 39 L5611 L5613 -label L5611 -load 40 __for_iter_428 -load 41 __for_idx_428 +brif 39 L5529 L5531 +label L5529 +load 40 __for_iter_427 +load 41 __for_idx_427 call 42 pith_list_get_value_unchecked string 2 40 41 -store __loopvar_428_p 42 +store __loopvar_427_p 42 iconst 43 0 -store __and_43_5617 43 -load 44 __loopvar_428_p +store __and_43_5535 43 +load 44 __loopvar_427_p load 45 parts iconst 46 0 call 47 pith_list_get_value_strict string 2 45 46 call 48 pith_cstring_eq bool 2 44 47 -store __and_43_5617 48 -brif 48 L5617 L5618 -label L5617 +store __and_43_5535 48 +brif 48 L5535 L5536 +label L5535 load 49 i load 50 concrete call 51 pith_list_len int 1 50 lt 52 49 51 -store __and_43_5617 52 -label L5618 -load 53 __and_43_5617 -brif 53 L5615 L5616 -label L5615 +store __and_43_5535 52 +label L5536 +load 53 __and_43_5535 +brif 53 L5533 L5534 +label L5533 load 54 akey load 55 concrete load 56 i @@ -198636,8 +197775,8 @@ store akey 66 load 69 ir_method_tables_ir_assoc_bindings load 70 akey call 71 contains_key bool 2 69 70 -brif 71 L5620 L5621 -label L5620 +brif 71 L5538 L5539 +label L5538 load 72 ir_method_tables_ir_assoc_bindings load 73 akey call 74 map_get_strict string 2 72 73 @@ -198647,22 +197786,22 @@ call 77 pith_list_release_handle void 1 76 load 78 akey call 79 pith_cstring_release void 1 78 ret 74 -label L5621 -label L5619 -jmp L5614 -label L5616 -label L5614 +label L5539 +label L5537 +jmp L5532 +label L5534 +label L5532 load 80 i iconst 81 1 add 82 80 81 store i 82 -label L5612 -load 83 __for_idx_428 +label L5530 +load 83 __for_idx_427 iconst 84 1 add 85 83 84 -store __for_idx_428 85 -jmp L5610 -label L5613 +store __for_idx_427 85 +jmp L5528 +label L5531 load 86 type_name call 87 pith_cstring_retain void 1 86 load 88 parts @@ -198710,8 +197849,8 @@ load 15 key call 16 contains_key bool 2 14 15 iconst 18 1 sub 17 18 16 -brif 17 L5623 L5624 -label L5623 +brif 17 L5541 L5542 +label L5541 load 19 base_name call 20 pith_cstring_release void 1 19 load 21 decl_node @@ -198740,8 +197879,8 @@ load 43 spec_poisoned call 44 pith_list_release_handle void 1 43 iconst 45 0 ret 45 -label L5624 -label L5622 +label L5542 +label L5540 load 46 base_name load 47 key iconst 48 9 @@ -198758,8 +197897,8 @@ load 57 base_name call 58 contains_key bool 2 56 57 iconst 60 1 sub 59 60 58 -brif 59 L5626 L5627 -label L5626 +brif 59 L5544 L5545 +label L5544 load 61 base_name call 62 pith_cstring_release void 1 61 load 63 decl_node @@ -198788,8 +197927,8 @@ load 85 spec_poisoned call 86 pith_list_release_handle void 1 85 iconst 87 0 ret 87 -label L5627 -label L5625 +label L5545 +label L5543 load 88 ir_generics_ir_generic_decl_indices load 89 base_name call 90 map_get_strict int 2 88 89 @@ -198849,32 +197988,32 @@ store resolved_param_types 132 load 134 param_types call 135 pith_auto_len int 1 134 iconst 136 0 -store __for_idx_429 136 -store __for_len_429 135 -store __for_iter_429 134 -label L5628 -load 137 __for_idx_429 -load 138 __for_len_429 +store __for_idx_428 136 +store __for_len_428 135 +store __for_iter_428 134 +label L5546 +load 137 __for_idx_428 +load 138 __for_len_428 lt 139 137 138 -brif 139 L5629 L5631 -label L5629 -load 140 __for_iter_429 -load 141 __for_idx_429 +brif 139 L5547 L5549 +label L5547 +load 140 __for_iter_428 +load 141 __for_idx_428 call 142 pith_list_get_value_unchecked string 2 140 141 -store __loopvar_429_pt 142 +store __loopvar_428_pt 142 load 143 resolved_param_types -load 144 __loopvar_429_pt +load 144 __loopvar_428_pt load 145 generic_params load 146 concrete_types call 147 ir_emitter_core_ir_resolve_assoc_in_generic string 3 144 145 146 call 148 pith_list_push_value_owned void 2 143 147 -label L5630 -load 149 __for_idx_429 +label L5548 +load 149 __for_idx_428 iconst 150 1 add 151 149 150 -store __for_idx_429 151 -jmp L5628 -label L5631 +store __for_idx_428 151 +jmp L5546 +label L5549 load 152 param_types load 153 resolved_param_types call 154 pith_list_retain_handle void 1 153 @@ -198917,18 +198056,18 @@ store ir_alias_registry_ir_active_param_optional_tids 180 load 181 ir_generics_ir_generic_decl_module_paths load 182 base_name call 183 contains_key bool 2 181 182 -brif 183 L5633 L5634 -label L5633 +brif 183 L5551 L5552 +label L5551 load 184 ir_generics_ir_generic_decl_module_paths load 185 base_name call 186 map_get_strict string 2 184 185 call 187 pith_cstring_retain void 1 186 store ir_alias_registry_ir_active_generic_module_path 186 -jmp L5632 -label L5634 +jmp L5550 +label L5552 strref 188 m51s83 store ir_alias_registry_ir_active_generic_module_path 188 -label L5632 +label L5550 load 189 ret_type call 190 ir_emitter_core_ir_prepare_func_emission void 1 189 load 191 ir_emitter_core_ir_current_func_optional_inner_kind @@ -198957,24 +198096,24 @@ load 211 spec_name load 212 ret_type call 213 map_insert void 3 210 211 212 iconst 214 0 -store __and_214_5638 214 +store __and_214_5556 214 load 215 concrete_types call 216 pith_list_len int 1 215 iconst 217 1 eq 218 216 217 -store __and_214_5638 218 -brif 218 L5638 L5639 -label L5638 +store __and_214_5556 218 +brif 218 L5556 L5557 +label L5556 load 219 base_name iconst 220 0 load 221 ir_alias_registry_ir_active_generic_module_path load 222 decl_idx call 223 ir_decode_calls_ir_is_config_decode_specialization bool 4 219 220 221 222 -store __and_214_5638 223 -label L5639 -load 224 __and_214_5638 -brif 224 L5636 L5637 -label L5636 +store __and_214_5556 223 +label L5557 +load 224 __and_214_5556 +brif 224 L5554 L5555 +label L5554 load 225 concrete_types iconst 226 0 call 227 pith_list_get_value_strict string 2 225 226 @@ -198986,27 +198125,27 @@ call 232 ir_decode_emit_ir_emit_config_decode_specialization_body void 5 227 228 call 233 pith_closure_release void 1 229 call 234 pith_closure_release void 1 230 call 235 pith_closure_release void 1 231 -jmp L5635 -label L5637 +jmp L5553 +label L5555 iconst 236 0 -store __and_236_5642 236 +store __and_236_5560 236 load 237 concrete_types call 238 pith_list_len int 1 237 iconst 239 1 eq 240 238 239 -store __and_236_5642 240 -brif 240 L5642 L5643 -label L5642 +store __and_236_5560 240 +brif 240 L5560 L5561 +label L5560 load 241 base_name iconst 242 1 load 243 ir_alias_registry_ir_active_generic_module_path load 244 decl_idx call 245 ir_decode_calls_ir_is_config_decode_specialization bool 4 241 242 243 244 -store __and_236_5642 245 -label L5643 -load 246 __and_236_5642 -brif 246 L5640 L5641 -label L5640 +store __and_236_5560 245 +label L5561 +load 246 __and_236_5560 +brif 246 L5558 L5559 +label L5558 load 247 concrete_types iconst 248 0 call 249 pith_list_get_value_strict string 2 247 248 @@ -199018,26 +198157,26 @@ call 254 ir_decode_emit_ir_emit_config_decode_specialization_body void 5 249 250 call 255 pith_closure_release void 1 251 call 256 pith_closure_release void 1 252 call 257 pith_closure_release void 1 253 -jmp L5635 -label L5641 +jmp L5553 +label L5559 iconst 258 0 -store __and_258_5646 258 +store __and_258_5564 258 load 259 concrete_types call 260 pith_list_len int 1 259 iconst 261 1 eq 262 260 261 -store __and_258_5646 262 -brif 262 L5646 L5647 -label L5646 +store __and_258_5564 262 +brif 262 L5564 L5565 +label L5564 load 263 base_name load 264 ir_alias_registry_ir_active_generic_module_path load 265 decl_idx call 266 ir_decode_calls_ir_is_handle_decode_specialization bool 3 263 264 265 -store __and_258_5646 266 -label L5647 -load 267 __and_258_5646 -brif 267 L5644 L5645 -label L5644 +store __and_258_5564 266 +label L5565 +load 267 __and_258_5564 +brif 267 L5562 L5563 +label L5562 load 268 concrete_types iconst 269 0 call 270 pith_list_get_value_strict string 2 268 269 @@ -199049,26 +198188,26 @@ call 275 ir_decode_emit_ir_emit_handle_decode_specialization_body void 5 270 271 call 276 pith_closure_release void 1 272 call 277 pith_closure_release void 1 273 call 278 pith_closure_release void 1 274 -jmp L5635 -label L5645 +jmp L5553 +label L5563 iconst 279 0 -store __and_279_5650 279 +store __and_279_5568 279 load 280 concrete_types call 281 pith_list_len int 1 280 iconst 282 1 eq 283 281 282 -store __and_279_5650 283 -brif 283 L5650 L5651 -label L5650 +store __and_279_5568 283 +brif 283 L5568 L5569 +label L5568 load 284 base_name load 285 ir_alias_registry_ir_active_generic_module_path load 286 decl_idx call 287 ir_decode_calls_ir_is_handle_decode_text_specialization bool 3 284 285 286 -store __and_279_5650 287 -label L5651 -load 288 __and_279_5650 -brif 288 L5648 L5649 -label L5648 +store __and_279_5568 287 +label L5569 +load 288 __and_279_5568 +brif 288 L5566 L5567 +label L5566 load 289 concrete_types iconst 290 0 call 291 pith_list_get_value_strict string 2 289 290 @@ -199076,26 +198215,26 @@ load 292 ir_alias_registry_ir_active_generic_module_path load 293 concrete_types load 294 ret_type call 295 ir_decode_emit_ir_emit_handle_decode_text_specialization_body void 4 291 292 293 294 -jmp L5635 -label L5649 +jmp L5553 +label L5567 iconst 296 0 -store __and_296_5654 296 +store __and_296_5572 296 load 297 concrete_types call 298 pith_list_len int 1 297 iconst 299 1 eq 300 298 299 -store __and_296_5654 300 -brif 300 L5654 L5655 -label L5654 +store __and_296_5572 300 +brif 300 L5572 L5573 +label L5572 load 301 base_name load 302 ir_alias_registry_ir_active_generic_module_path load 303 decl_idx call 304 ir_decode_calls_ir_is_handle_decode_path_specialization bool 3 301 302 303 -store __and_296_5654 304 -label L5655 -load 305 __and_296_5654 -brif 305 L5652 L5653 -label L5652 +store __and_296_5572 304 +label L5573 +load 305 __and_296_5572 +brif 305 L5570 L5571 +label L5570 load 306 concrete_types iconst 307 0 call 308 pith_list_get_value_strict string 2 306 307 @@ -199107,26 +198246,26 @@ call 313 ir_decode_emit_ir_emit_handle_decode_path_specialization_body void 5 30 call 314 pith_closure_release void 1 310 call 315 pith_closure_release void 1 311 call 316 pith_closure_release void 1 312 -jmp L5635 -label L5653 +jmp L5553 +label L5571 iconst 317 0 -store __and_317_5658 317 +store __and_317_5576 317 load 318 concrete_types call 319 pith_list_len int 1 318 iconst 320 1 eq 321 319 320 -store __and_317_5658 321 -brif 321 L5658 L5659 -label L5658 +store __and_317_5576 321 +brif 321 L5576 L5577 +label L5576 load 322 base_name load 323 ir_alias_registry_ir_active_generic_module_path load 324 decl_idx call 325 ir_decode_calls_ir_is_handle_decode_text_path_specialization bool 3 322 323 324 -store __and_317_5658 325 -label L5659 -load 326 __and_317_5658 -brif 326 L5656 L5657 -label L5656 +store __and_317_5576 325 +label L5577 +load 326 __and_317_5576 +brif 326 L5574 L5575 +label L5574 load 327 concrete_types iconst 328 0 call 329 pith_list_get_value_strict string 2 327 328 @@ -199134,27 +198273,27 @@ load 330 ir_alias_registry_ir_active_generic_module_path load 331 concrete_types load 332 ret_type call 333 ir_decode_emit_ir_emit_handle_decode_text_path_specialization_body void 4 329 330 331 332 -jmp L5635 -label L5657 +jmp L5553 +label L5575 iconst 334 0 -store __and_334_5662 334 +store __and_334_5580 334 load 335 concrete_types call 336 pith_list_len int 1 335 iconst 337 1 eq 338 336 337 -store __and_334_5662 338 -brif 338 L5662 L5663 -label L5662 +store __and_334_5580 338 +brif 338 L5580 L5581 +label L5580 load 339 base_name load 340 ir_alias_registry_ir_active_generic_module_path load 341 decl_idx iconst 342 0 call 343 ir_decode_calls_ir_is_json_decode_specialization bool 4 339 340 341 342 -store __and_334_5662 343 -label L5663 -load 344 __and_334_5662 -brif 344 L5660 L5661 -label L5660 +store __and_334_5580 343 +label L5581 +load 344 __and_334_5580 +brif 344 L5578 L5579 +label L5578 load 345 concrete_types iconst 346 0 call 347 pith_list_get_value_strict string 2 345 346 @@ -199165,27 +198304,27 @@ closure_ref 351 ir_emitter_core___fnval_4 call 352 ir_decode_emit_ir_emit_json_decode_specialization_body void 5 347 348 349 350 351 call 353 pith_closure_release void 1 350 call 354 pith_closure_release void 1 351 -jmp L5635 -label L5661 +jmp L5553 +label L5579 iconst 355 0 -store __and_355_5666 355 +store __and_355_5584 355 load 356 concrete_types call 357 pith_list_len int 1 356 iconst 358 1 eq 359 357 358 -store __and_355_5666 359 -brif 359 L5666 L5667 -label L5666 +store __and_355_5584 359 +brif 359 L5584 L5585 +label L5584 load 360 base_name load 361 ir_alias_registry_ir_active_generic_module_path load 362 decl_idx iconst 363 1 call 364 ir_decode_calls_ir_is_json_decode_specialization bool 4 360 361 362 363 -store __and_355_5666 364 -label L5667 -load 365 __and_355_5666 -brif 365 L5664 L5665 -label L5664 +store __and_355_5584 364 +label L5585 +load 365 __and_355_5584 +brif 365 L5582 L5583 +label L5582 load 366 concrete_types iconst 367 0 call 368 pith_list_get_value_strict string 2 366 367 @@ -199196,26 +198335,26 @@ closure_ref 372 ir_emitter_core___fnval_4 call 373 ir_decode_emit_ir_emit_json_decode_specialization_body void 5 368 369 370 371 372 call 374 pith_closure_release void 1 371 call 375 pith_closure_release void 1 372 -jmp L5635 -label L5665 +jmp L5553 +label L5583 iconst 376 0 -store __and_376_5670 376 +store __and_376_5588 376 load 377 concrete_types call 378 pith_list_len int 1 377 iconst 379 1 eq 380 378 379 -store __and_376_5670 380 -brif 380 L5670 L5671 -label L5670 +store __and_376_5588 380 +brif 380 L5588 L5589 +label L5588 load 381 base_name load 382 ir_alias_registry_ir_active_generic_module_path load 383 decl_idx call 384 ir_decode_calls_ir_is_json_decode_object_specialization bool 3 381 382 383 -store __and_376_5670 384 -label L5671 -load 385 __and_376_5670 -brif 385 L5668 L5669 -label L5668 +store __and_376_5588 384 +label L5589 +load 385 __and_376_5588 +brif 385 L5586 L5587 +label L5586 load 386 concrete_types iconst 387 0 call 388 pith_list_get_value_strict string 2 386 387 @@ -199225,26 +198364,26 @@ closure_ref 391 ir_emitter_core___fnval_4 call 392 ir_decode_emit_ir_emit_json_decode_object_specialization_body void 4 388 389 390 391 call 393 pith_closure_release void 1 390 call 394 pith_closure_release void 1 391 -jmp L5635 -label L5669 +jmp L5553 +label L5587 iconst 395 0 -store __and_395_5674 395 +store __and_395_5592 395 load 396 concrete_types call 397 pith_list_len int 1 396 iconst 398 1 eq 399 397 398 -store __and_395_5674 399 -brif 399 L5674 L5675 -label L5674 +store __and_395_5592 399 +brif 399 L5592 L5593 +label L5592 load 400 base_name load 401 ir_alias_registry_ir_active_generic_module_path load 402 decl_idx call 403 ir_decode_calls_ir_is_json_decode_path_specialization bool 3 400 401 402 -store __and_395_5674 403 -label L5675 -load 404 __and_395_5674 -brif 404 L5672 L5673 -label L5672 +store __and_395_5592 403 +label L5593 +load 404 __and_395_5592 +brif 404 L5590 L5591 +label L5590 load 405 concrete_types iconst 406 0 call 407 pith_list_get_value_strict string 2 405 406 @@ -199254,8 +198393,8 @@ closure_ref 410 ir_emitter_core___fnval_4 call 411 ir_decode_emit_ir_emit_json_decode_path_specialization_body void 4 407 408 409 410 call 412 pith_closure_release void 1 409 call 413 pith_closure_release void 1 410 -jmp L5635 -label L5673 +jmp L5553 +label L5591 load 414 spec_poisoned call 415 pith_list_new_cstr list 0 call 416 pith_list_release_handle void 1 414 @@ -199267,130 +198406,130 @@ call 420 ir_emitter_core_ir_collect_string_bind_names void 3 417 418 419 load 421 ir_emitter_core_ir_string_locals call 422 pith_auto_len int 1 421 iconst 423 0 -store __for_idx_430 423 -store __for_len_430 422 -store __for_iter_430 421 -label L5676 -load 424 __for_idx_430 -load 425 __for_len_430 +store __for_idx_429 423 +store __for_len_429 422 +store __for_iter_429 421 +label L5594 +load 424 __for_idx_429 +load 425 __for_len_429 lt 426 424 425 -brif 426 L5677 L5679 -label L5677 -load 427 __for_iter_430 -load 428 __for_idx_430 +brif 426 L5595 L5597 +label L5595 +load 427 __for_iter_429 +load 428 __for_idx_429 call 429 pith_list_get_value_unchecked string 2 427 428 -store __loopvar_430_bn 429 +store __loopvar_429_bn 429 load 430 ir_builder_ir_untracked_rc_binds -load 431 __loopvar_430_bn +load 431 __loopvar_429_bn iconst 432 -1 -store __list_index_result_L5683 432 +store __list_index_result_L5601 432 iconst 433 0 -store __list_index_i_L5684 433 +store __list_index_i_L5602 433 call 434 pith_list_len int 1 430 -label L5685 -load 435 __list_index_i_L5684 +label L5603 +load 435 __list_index_i_L5602 lt 436 435 434 -brif 436 L5686 L5689 -label L5686 +brif 436 L5604 L5607 +label L5604 call 437 pith_list_get_value string 2 430 435 call 438 pith_cstring_eq bool 2 437 431 -brif 438 L5687 L5688 -label L5687 -store __list_index_result_L5683 435 -jmp L5689 -label L5688 +brif 438 L5605 L5606 +label L5605 +store __list_index_result_L5601 435 +jmp L5607 +label L5606 iconst 439 1 add 440 435 439 -store __list_index_i_L5684 440 -jmp L5685 -label L5689 -load 441 __list_index_result_L5683 +store __list_index_i_L5602 440 +jmp L5603 +label L5607 +load 441 __list_index_result_L5601 iconst 442 0 gte 443 441 442 iconst 445 1 sub 444 445 443 -brif 444 L5681 L5682 -label L5681 +brif 444 L5599 L5600 +label L5599 load 446 ir_builder_ir_untracked_rc_binds -load 447 __loopvar_430_bn +load 447 __loopvar_429_bn call 448 pith_list_push_value void 2 446 447 -jmp L5680 -label L5682 -label L5680 -label L5678 -load 449 __for_idx_430 +jmp L5598 +label L5600 +label L5598 +label L5596 +load 449 __for_idx_429 iconst 450 1 add 451 449 450 -store __for_idx_430 451 -jmp L5676 -label L5679 +store __for_idx_429 451 +jmp L5594 +label L5597 load 452 spec_poisoned call 453 pith_auto_len int 1 452 iconst 454 0 -store __for_idx_431 454 -store __for_len_431 453 -store __for_iter_431 452 -label L5690 -load 455 __for_idx_431 -load 456 __for_len_431 +store __for_idx_430 454 +store __for_len_430 453 +store __for_iter_430 452 +label L5608 +load 455 __for_idx_430 +load 456 __for_len_430 lt 457 455 456 -brif 457 L5691 L5693 -label L5691 -load 458 __for_iter_431 -load 459 __for_idx_431 +brif 457 L5609 L5611 +label L5609 +load 458 __for_iter_430 +load 459 __for_idx_430 call 460 pith_list_get_value_unchecked string 2 458 459 -store __loopvar_431_pn 460 +store __loopvar_430_pn 460 load 461 ir_builder_ir_untracked_rc_binds -load 462 __loopvar_431_pn +load 462 __loopvar_430_pn iconst 463 -1 -store __list_index_result_L5697 463 +store __list_index_result_L5615 463 iconst 464 0 -store __list_index_i_L5698 464 +store __list_index_i_L5616 464 call 465 pith_list_len int 1 461 -label L5699 -load 466 __list_index_i_L5698 +label L5617 +load 466 __list_index_i_L5616 lt 467 466 465 -brif 467 L5700 L5703 -label L5700 +brif 467 L5618 L5621 +label L5618 call 468 pith_list_get_value string 2 461 466 call 469 pith_cstring_eq bool 2 468 462 -brif 469 L5701 L5702 -label L5701 -store __list_index_result_L5697 466 -jmp L5703 -label L5702 +brif 469 L5619 L5620 +label L5619 +store __list_index_result_L5615 466 +jmp L5621 +label L5620 iconst 470 1 add 471 466 470 -store __list_index_i_L5698 471 -jmp L5699 -label L5703 -load 472 __list_index_result_L5697 +store __list_index_i_L5616 471 +jmp L5617 +label L5621 +load 472 __list_index_result_L5615 iconst 473 0 gte 474 472 473 iconst 476 1 sub 475 476 474 -brif 475 L5695 L5696 -label L5695 +brif 475 L5613 L5614 +label L5613 load 477 ir_builder_ir_untracked_rc_binds -load 478 __loopvar_431_pn +load 478 __loopvar_430_pn call 479 pith_list_push_value void 2 477 478 -jmp L5694 -label L5696 -label L5694 -label L5692 -load 480 __for_idx_431 +jmp L5612 +label L5614 +label L5612 +label L5610 +load 480 __for_idx_430 iconst 481 1 add 482 480 481 -store __for_idx_431 482 -jmp L5690 -label L5693 +store __for_idx_430 482 +jmp L5608 +label L5611 call 483 pith_list_new_cstr list 0 store ir_emitter_core_ir_string_locals 483 call 484 pith_list_new_cstr list 0 store ir_emitter_core_ir_rc_local_kinds 484 load 485 body_idx call 486 ir_emitter_core_ir_finish_func_emission void 1 485 -label L5635 +label L5553 load 487 saved_params call 488 pith_list_retain_handle void 1 487 store ir_alias_registry_ir_active_generic_params 487 @@ -199442,62 +198581,62 @@ store direct 2 load 3 direct iconst 4 0 gte 5 3 4 -brif 5 L5705 L5706 -label L5705 +brif 5 L5623 L5624 +label L5623 load 6 direct ret 6 -label L5706 -label L5704 +label L5624 +label L5622 load 7 name -strref 8 m51s712 +strref 8 m51s713 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L5708 L5709 -label L5708 +brif 9 L5626 L5627 +label L5626 load 11 types_TID_INT ret 11 -label L5709 -label L5707 +label L5627 +label L5625 load 12 name -strref 13 m51s713 +strref 13 m51s714 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L5711 L5712 -label L5711 +brif 14 L5629 L5630 +label L5629 load 16 types_TID_FLOAT ret 16 -label L5712 -label L5710 +label L5630 +label L5628 load 17 name -strref 18 m51s714 +strref 18 m51s715 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5714 L5715 -label L5714 +brif 19 L5632 L5633 +label L5632 load 21 types_TID_BOOL ret 21 -label L5715 -label L5713 +label L5633 +label L5631 load 22 name -strref 23 m51s716 +strref 23 m51s717 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L5717 L5718 -label L5717 +brif 24 L5635 L5636 +label L5635 load 26 types_TID_STRING ret 26 -label L5718 -label L5716 +label L5636 +label L5634 load 27 name -strref 28 m51s715 +strref 28 m51s716 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L5720 L5721 -label L5720 +brif 29 L5638 L5639 +label L5638 load 31 types_TID_BYTES ret 31 -label L5721 -label L5719 +label L5639 +label L5637 iconst 32 1 iconst 34 0 sub 33 34 32 @@ -199523,8 +198662,8 @@ field 9 8 0 string kind strref 10 m51s316 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L5723 L5724 -label L5723 +brif 11 L5641 L5642 +label L5641 load 13 name load 14 tn field 15 14 8 string value @@ -199534,55 +198673,55 @@ store name 15 load 18 ir_alias_registry_ir_active_generic_params call 19 pith_auto_len int 1 18 iconst 20 0 -store __for_idx_432 20 -store __for_len_432 19 -store __for_iter_432 18 -label L5725 -load 21 __for_idx_432 -load 22 __for_len_432 +store __for_idx_431 20 +store __for_len_431 19 +store __for_iter_431 18 +label L5643 +load 21 __for_idx_431 +load 22 __for_len_431 lt 23 21 22 -brif 23 L5726 L5728 -label L5726 -load 24 __for_iter_432 -load 25 __for_idx_432 +brif 23 L5644 L5646 +label L5644 +load 24 __for_iter_431 +load 25 __for_idx_431 call 26 pith_list_get_value_unchecked string 2 24 25 -store __loopvar_432_generic_param 26 -load 27 __for_idx_432 -store __loopvar_432_i 27 +store __loopvar_431_generic_param 26 +load 27 __for_idx_431 +store __loopvar_431_i 27 iconst 28 0 -store __and_28_5732 28 -load 29 __loopvar_432_generic_param +store __and_28_5650 28 +load 29 __loopvar_431_generic_param load 30 name call 31 pith_cstring_eq bool 2 29 30 -store __and_28_5732 31 -brif 31 L5732 L5733 -label L5732 -load 32 __loopvar_432_i +store __and_28_5650 31 +brif 31 L5650 L5651 +label L5650 +load 32 __loopvar_431_i load 33 ir_alias_registry_ir_active_generic_concrete_types call 34 pith_list_len int 1 33 lt 35 32 34 -store __and_28_5732 35 -label L5733 -load 36 __and_28_5732 -brif 36 L5730 L5731 -label L5730 +store __and_28_5650 35 +label L5651 +load 36 __and_28_5650 +brif 36 L5648 L5649 +label L5648 load 37 name load 38 ir_alias_registry_ir_active_generic_concrete_types -load 39 __loopvar_432_i +load 39 __loopvar_431_i call 40 pith_list_get_value_strict string 2 38 39 call 41 pith_cstring_retain void 1 40 call 42 pith_cstring_release void 1 37 store name 40 -jmp L5729 -label L5731 -label L5729 -label L5727 -load 43 __for_idx_432 +jmp L5647 +label L5649 +label L5647 +label L5645 +load 43 __for_idx_431 iconst 44 1 add 45 43 44 -store __for_idx_432 45 -jmp L5725 -label L5728 +store __for_idx_431 45 +jmp L5643 +label L5646 load 46 name call 47 ir_emitter_core_ir_tid_for_declared_type_name int 1 46 load 48 tn @@ -199592,35 +198731,35 @@ call 51 pith_cstring_release void 1 50 load 52 element_tids call 53 pith_list_release_handle void 1 52 ret 47 -label L5724 -label L5722 +label L5642 +label L5640 load 54 tn field 55 54 0 string kind strref 56 m51s336 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -brif 57 L5735 L5736 -label L5735 +brif 57 L5653 L5654 +label L5653 iconst 59 0 -store __and_59_5740 59 +store __and_59_5658 59 load 60 tn field 61 60 8 string value strref 62 m51s335 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __and_59_5740 63 -brif 63 L5740 L5741 -label L5740 +store __and_59_5658 63 +brif 63 L5658 L5659 +label L5658 load 65 tn field 66 65 16 list children call 67 pith_list_len int 1 66 iconst 68 1 eq 69 67 68 -store __and_59_5740 69 -label L5741 -load 70 __and_59_5740 -brif 70 L5738 L5739 -label L5738 +store __and_59_5658 69 +label L5659 +load 70 __and_59_5658 +brif 70 L5656 L5657 +label L5656 load 71 tn field 72 71 16 list children iconst 73 0 @@ -199630,8 +198769,8 @@ store elem 75 load 76 elem iconst 77 0 lt 78 76 77 -brif 78 L5743 L5744 -label L5743 +brif 78 L5661 L5662 +label L5661 iconst 79 1 iconst 81 0 sub 80 81 79 @@ -199642,8 +198781,8 @@ call 85 pith_cstring_release void 1 84 load 86 element_tids call 87 pith_list_release_handle void 1 86 ret 80 -label L5744 -label L5742 +label L5662 +label L5660 load 88 elem call 89 types_ti_list struct:TypeInfo 1 88 call 90 types_add_type_info int 1 89 @@ -199655,28 +198794,28 @@ call 95 pith_cstring_release void 1 94 load 96 element_tids call 97 pith_list_release_handle void 1 96 ret 90 -label L5739 -label L5737 +label L5657 +label L5655 iconst 98 0 -store __and_98_5748 98 +store __and_98_5666 98 load 99 tn field 100 99 8 string value strref 101 m51s334 call 102 pith_cstring_eq bool 2 100 101 call 103 pith_cstring_release void 1 101 -store __and_98_5748 102 -brif 102 L5748 L5749 -label L5748 +store __and_98_5666 102 +brif 102 L5666 L5667 +label L5666 load 104 tn field 105 104 16 list children call 106 pith_list_len int 1 105 iconst 107 1 eq 108 106 107 -store __and_98_5748 108 -label L5749 -load 109 __and_98_5748 -brif 109 L5746 L5747 -label L5746 +store __and_98_5666 108 +label L5667 +load 109 __and_98_5666 +brif 109 L5664 L5665 +label L5664 load 110 tn field 111 110 16 list children iconst 112 0 @@ -199686,8 +198825,8 @@ store elem 114 load 115 elem iconst 116 0 lt 117 115 116 -brif 117 L5751 L5752 -label L5751 +brif 117 L5669 L5670 +label L5669 iconst 118 1 iconst 120 0 sub 119 120 118 @@ -199698,8 +198837,8 @@ call 124 pith_cstring_release void 1 123 load 125 element_tids call 126 pith_list_release_handle void 1 125 ret 119 -label L5752 -label L5750 +label L5670 +label L5668 load 127 elem call 128 types_ti_set struct:TypeInfo 1 127 call 129 types_add_type_info int 1 128 @@ -199711,28 +198850,28 @@ call 134 pith_cstring_release void 1 133 load 135 element_tids call 136 pith_list_release_handle void 1 135 ret 129 -label L5747 -label L5745 +label L5665 +label L5663 iconst 137 0 -store __and_137_5756 137 +store __and_137_5674 137 load 138 tn field 139 138 8 string value strref 140 m51s331 call 141 pith_cstring_eq bool 2 139 140 call 142 pith_cstring_release void 1 140 -store __and_137_5756 141 -brif 141 L5756 L5757 -label L5756 +store __and_137_5674 141 +brif 141 L5674 L5675 +label L5674 load 143 tn field 144 143 16 list children call 145 pith_list_len int 1 144 iconst 146 2 eq 147 145 146 -store __and_137_5756 147 -label L5757 -load 148 __and_137_5756 -brif 148 L5754 L5755 -label L5754 +store __and_137_5674 147 +label L5675 +load 148 __and_137_5674 +brif 148 L5672 L5673 +label L5672 load 149 tn field 150 149 16 list children iconst 151 0 @@ -199746,21 +198885,21 @@ call 157 pith_list_get_value_strict int 2 155 156 call 158 ir_emitter_core_ir_declared_type_node_tid int 1 157 store val 158 iconst 159 0 -store __or_159_5761 159 +store __or_159_5679 159 load 160 key iconst 161 0 lt 162 160 161 -store __or_159_5761 162 -brif 162 L5762 L5761 -label L5761 +store __or_159_5679 162 +brif 162 L5680 L5679 +label L5679 load 163 val iconst 164 0 lt 165 163 164 -store __or_159_5761 165 -label L5762 -load 166 __or_159_5761 -brif 166 L5759 L5760 -label L5759 +store __or_159_5679 165 +label L5680 +load 166 __or_159_5679 +brif 166 L5677 L5678 +label L5677 iconst 167 1 iconst 169 0 sub 168 169 167 @@ -199771,8 +198910,8 @@ call 173 pith_cstring_release void 1 172 load 174 element_tids call 175 pith_list_release_handle void 1 174 ret 168 -label L5760 -label L5758 +label L5678 +label L5676 load 176 key load 177 val call 178 types_ti_map struct:TypeInfo 2 176 177 @@ -199785,8 +198924,8 @@ call 184 pith_cstring_release void 1 183 load 185 element_tids call 186 pith_list_release_handle void 1 185 ret 179 -label L5755 -label L5753 +label L5673 +label L5671 load 187 tn field 188 187 8 string value call 189 ir_emitter_core_ir_tid_for_declared_type_name int 1 188 @@ -199797,15 +198936,15 @@ call 193 pith_cstring_release void 1 192 load 194 element_tids call 195 pith_list_release_handle void 1 194 ret 189 -label L5736 -label L5734 +label L5654 +label L5652 load 196 tn field 197 196 0 string kind strref 198 m51s329 call 199 pith_cstring_eq bool 2 197 198 call 200 pith_cstring_release void 1 198 -brif 199 L5764 L5765 -label L5764 +brif 199 L5682 L5683 +label L5682 load 201 element_tids call 202 pith_list_new_default list 0 call 203 pith_list_release_handle void 1 201 @@ -199814,27 +198953,27 @@ load 204 tn field 205 204 16 list children call 206 pith_auto_len int 1 205 iconst 207 0 -store __for_idx_433 207 -store __for_len_433 206 -store __for_iter_433 205 -label L5766 -load 208 __for_idx_433 -load 209 __for_len_433 +store __for_idx_432 207 +store __for_len_432 206 +store __for_iter_432 205 +label L5684 +load 208 __for_idx_432 +load 209 __for_len_432 lt 210 208 209 -brif 210 L5767 L5769 -label L5767 -load 211 __for_iter_433 -load 212 __for_idx_433 +brif 210 L5685 L5687 +label L5685 +load 211 __for_iter_432 +load 212 __for_idx_432 call 213 pith_list_get_value unknown 2 211 212 -store __loopvar_433_element_idx 213 -load 214 __loopvar_433_element_idx +store __loopvar_432_element_idx 213 +load 214 __loopvar_432_element_idx call 215 ir_emitter_core_ir_declared_type_node_tid int 1 214 store element_tid 215 load 216 element_tid iconst 217 0 lt 218 216 217 -brif 218 L5771 L5772 -label L5771 +brif 218 L5689 L5690 +label L5689 iconst 219 1 iconst 221 0 sub 220 221 219 @@ -199845,18 +198984,18 @@ call 225 pith_cstring_release void 1 224 load 226 element_tids call 227 pith_list_release_handle void 1 226 ret 220 -label L5772 -label L5770 +label L5690 +label L5688 load 228 element_tids load 229 element_tid call 230 pith_list_push_value void 2 228 229 -label L5768 -load 231 __for_idx_433 +label L5686 +load 231 __for_idx_432 iconst 232 1 add 233 231 232 -store __for_idx_433 233 -jmp L5766 -label L5769 +store __for_idx_432 233 +jmp L5684 +label L5687 load 234 element_tids call 235 types_ti_tuple struct:TypeInfo 1 234 call 236 types_add_type_info int 1 235 @@ -199868,8 +199007,8 @@ call 241 pith_cstring_release void 1 240 load 242 element_tids call 243 pith_list_release_handle void 1 242 ret 236 -label L5765 -label L5763 +label L5683 +label L5681 iconst 244 1 iconst 246 0 sub 245 246 244 @@ -199898,16 +199037,16 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 0 eq 6 4 5 -brif 6 L5774 L5775 -label L5774 +brif 6 L5692 L5693 +label L5692 iconst 7 1 iconst 9 0 sub 8 9 7 load 10 tn call 11 pith_struct_release void 1 10 ret 8 -label L5775 -label L5773 +label L5693 +label L5691 load 12 tn load 13 param_node field 14 13 16 list children @@ -199917,7 +199056,7 @@ call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 12 store tn 17 iconst 19 0 -store __or_19_5779 19 +store __or_19_5697 19 load 20 tn field 21 20 0 string kind strref 22 m51s317 @@ -199925,27 +199064,27 @@ call 24 pith_cstring_eq bool 2 21 22 iconst 25 1 sub 23 25 24 call 26 pith_cstring_release void 1 22 -store __or_19_5779 23 -brif 23 L5780 L5779 -label L5779 +store __or_19_5697 23 +brif 23 L5698 L5697 +label L5697 load 27 tn field 28 27 16 list children call 29 pith_list_len int 1 28 iconst 30 0 eq 31 29 30 -store __or_19_5779 31 -label L5780 -load 32 __or_19_5779 -brif 32 L5777 L5778 -label L5777 +store __or_19_5697 31 +label L5698 +load 32 __or_19_5697 +brif 32 L5695 L5696 +label L5695 iconst 33 1 iconst 35 0 sub 34 35 33 load 36 tn call 37 pith_struct_release void 1 36 ret 34 -label L5778 -label L5776 +label L5696 +label L5694 load 38 tn field 39 38 16 list children iconst 40 0 @@ -199955,16 +199094,16 @@ store inner_tid 42 load 43 inner_tid iconst 44 0 lt 45 43 44 -brif 45 L5782 L5783 -label L5782 +brif 45 L5700 L5701 +label L5700 iconst 46 1 iconst 48 0 sub 47 48 46 load 49 tn call 50 pith_struct_release void 1 49 ret 47 -label L5783 -label L5781 +label L5701 +label L5699 load 51 inner_tid call 52 types_ti_optional struct:TypeInfo 1 51 call 53 types_add_type_info int 1 52 @@ -200008,21 +199147,21 @@ load 18 node field 19 18 16 list children call 20 pith_auto_len int 1 19 iconst 21 0 -store __for_idx_434 21 -store __for_len_434 20 -store __for_iter_434 19 -label L5784 -load 22 __for_idx_434 -load 23 __for_len_434 +store __for_idx_433 21 +store __for_len_433 20 +store __for_iter_433 19 +label L5702 +load 22 __for_idx_433 +load 23 __for_len_433 lt 24 22 23 -brif 24 L5785 L5787 -label L5785 -load 25 __for_iter_434 -load 26 __for_idx_434 +brif 24 L5703 L5705 +label L5703 +load 25 __for_iter_433 +load 26 __for_idx_433 call 27 pith_list_get_value unknown 2 25 26 -store __loopvar_434_child 27 +store __loopvar_433_child 27 load 28 cn -load 29 __loopvar_434_child +load 29 __loopvar_433_child call 30 ast_get_node struct:Node 1 29 call 31 pith_struct_release void 1 28 store cn 30 @@ -200031,8 +199170,8 @@ field 33 32 0 string kind strref 34 m51s69 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L5789 L5790 -label L5789 +brif 35 L5707 L5708 +label L5707 iconst 37 0 iconst 38 1 sub 39 37 38 @@ -200041,77 +199180,77 @@ load 40 param_idx load 41 arg_tids call 42 pith_list_len int 1 41 lt 43 40 42 -brif 43 L5792 L5793 -label L5792 +brif 43 L5710 L5711 +label L5710 load 44 arg_tids load 45 param_idx call 46 pith_list_get_value_strict int 2 44 45 store arg_tid 46 iconst 47 0 -store __and_47_5797 47 +store __and_47_5715 47 load 48 arg_tid iconst 49 0 gte 50 48 49 -store __and_47_5797 50 -brif 50 L5797 L5798 -label L5797 +store __and_47_5715 50 +brif 50 L5715 L5716 +label L5715 load 51 arg_tid call 52 types_get_type_info struct:TypeInfo 1 51 field 53 52 0 string kind strref 54 m51s21 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __and_47_5797 55 -label L5798 -load 57 __and_47_5797 -brif 57 L5795 L5796 -label L5795 +store __and_47_5715 55 +label L5716 +load 57 __and_47_5715 +brif 57 L5713 L5714 +label L5713 load 58 arg_tid store tid 58 -jmp L5794 -label L5796 -label L5794 -jmp L5791 -label L5793 -label L5791 +jmp L5712 +label L5714 +label L5712 +jmp L5709 +label L5711 +label L5709 load 59 tid iconst 60 0 lt 61 59 60 -brif 61 L5800 L5801 -label L5800 +brif 61 L5718 L5719 +label L5718 load 62 cn call 63 ir_emitter_core_ir_declared_param_optional_tid int 1 62 store tid 63 -jmp L5799 -label L5801 -label L5799 +jmp L5717 +label L5719 +label L5717 load 64 tid iconst 65 0 gte 66 64 65 -brif 66 L5803 L5804 -label L5803 +brif 66 L5721 L5722 +label L5721 load 67 result load 68 cn field 69 68 8 string value load 70 tid call 71 map_insert void 3 67 69 70 -jmp L5802 -label L5804 -label L5802 +jmp L5720 +label L5722 +label L5720 load 72 param_idx iconst 73 1 add 74 72 73 store param_idx 74 -jmp L5788 -label L5790 -label L5788 -label L5786 -load 75 __for_idx_434 +jmp L5706 +label L5708 +label L5706 +label L5704 +load 75 __for_idx_433 iconst 76 1 add 77 75 76 -store __for_idx_434 77 -jmp L5784 -label L5787 +store __for_idx_433 77 +jmp L5702 +label L5705 load 78 result load 79 arg_tids call 80 pith_list_release_handle void 1 79 @@ -200136,13 +199275,13 @@ iconst 0 0 store key 0 iconst 1 0 store i 1 -label L5805 +label L5723 load 2 i load 3 ir_generics_ir_generic_specialization_keys call 4 pith_list_len int 1 3 lt 5 2 4 -brif 5 L5806 L5807 -label L5806 +brif 5 L5724 L5725 +label L5724 load 6 key load 7 ir_generics_ir_generic_specialization_keys load 8 i @@ -200155,23 +199294,23 @@ load 13 key call 14 contains_key bool 2 12 13 iconst 16 1 sub 15 16 14 -brif 15 L5809 L5810 -label L5809 +brif 15 L5727 L5728 +label L5727 load 17 key call 18 ir_emitter_core_ir_emit_generic_specialization void 1 17 load 19 ir_generics_ir_generic_emitted_specializations load 20 key iconst 21 1 call 22 map_insert void 3 19 20 21 -jmp L5808 -label L5810 -label L5808 +jmp L5726 +label L5728 +label L5726 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L5805 -label L5807 +jmp L5723 +label L5725 load 26 key call 27 pith_cstring_release void 1 26 iconst 28 0 @@ -200193,34 +199332,34 @@ load 8 impl_type call 9 string_len int 1 8 iconst 10 0 eq 11 9 10 -brif 11 L5812 L5813 -label L5812 +brif 11 L5730 L5731 +label L5730 load 12 impl_type call 13 pith_cstring_release void 1 12 load 14 method_node call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L5813 -label L5811 +label L5731 +label L5729 load 17 node field 18 17 16 list children call 19 pith_auto_len int 1 18 iconst 20 0 -store __for_idx_435 20 -store __for_len_435 19 -store __for_iter_435 18 -label L5814 -load 21 __for_idx_435 -load 22 __for_len_435 +store __for_idx_434 20 +store __for_len_434 19 +store __for_iter_434 18 +label L5732 +load 21 __for_idx_434 +load 22 __for_len_434 lt 23 21 22 -brif 23 L5815 L5817 -label L5815 -load 24 __for_iter_435 -load 25 __for_idx_435 +brif 23 L5733 L5735 +label L5733 +load 24 __for_iter_434 +load 25 __for_idx_434 call 26 pith_list_get_value unknown 2 24 25 -store __loopvar_435_child 26 -load 27 __loopvar_435_child +store __loopvar_434_child 26 +load 27 __loopvar_434_child call 28 ir_ast_helpers_ir_unwrap_pub_child int 1 27 store method_idx 28 load 29 method_node @@ -200231,8 +199370,8 @@ store method_node 31 load 33 method_node field 34 33 0 string kind call 35 ir_generics_ir_is_fn_decl_kind bool 1 34 -brif 35 L5819 L5820 -label L5819 +brif 35 L5737 L5738 +label L5737 load 36 impl_type load 37 method_idx load 38 method_node @@ -200244,48 +199383,48 @@ load 43 method_idx load 44 method_node load 45 module_path call 46 ir_emitter_core_ir_maybe_register_result_reg_method void 5 41 42 43 44 45 -jmp L5818 -label L5820 -label L5818 -label L5816 -load 47 __for_idx_435 +jmp L5736 +label L5738 +label L5736 +label L5734 +load 47 __for_idx_434 iconst 48 1 add 49 47 48 -store __for_idx_435 49 -jmp L5814 -label L5817 +store __for_idx_434 49 +jmp L5732 +label L5735 load 50 node call 51 ir_emitter_core_ir_inherited_default_indices list 1 50 call 52 pith_auto_len int 1 51 iconst 53 0 -store __for_idx_436 53 -store __for_len_436 52 -store __for_iter_436 51 -label L5821 -load 54 __for_idx_436 -load 55 __for_len_436 +store __for_idx_435 53 +store __for_len_435 52 +store __for_iter_435 51 +label L5739 +load 54 __for_idx_435 +load 55 __for_len_435 lt 56 54 55 -brif 56 L5822 L5824 -label L5822 -load 57 __for_iter_436 -load 58 __for_idx_436 +brif 56 L5740 L5742 +label L5740 +load 57 __for_iter_435 +load 58 __for_idx_435 call 59 pith_list_get_value unknown 2 57 58 -store __loopvar_436_default_idx 59 +store __loopvar_435_default_idx 59 load 60 impl_type -load 61 __loopvar_436_default_idx -load 62 __loopvar_436_default_idx +load 61 __loopvar_435_default_idx +load 62 __loopvar_435_default_idx call 63 ast_get_node struct:Node 1 62 load 64 module_path call 65 ir_emitter_core_ir_record_impl_method_signature void 4 60 61 63 64 call 66 pith_struct_release void 1 63 -label L5823 -load 67 __for_idx_436 +label L5741 +load 67 __for_idx_435 iconst 68 1 add 69 67 68 -store __for_idx_436 69 -jmp L5821 -label L5824 -load 70 __for_iter_436 +store __for_idx_435 69 +jmp L5739 +label L5742 +load 70 __for_iter_435 call 71 pith_list_release_handle void 1 70 load 72 impl_type call 73 pith_cstring_release void 1 72 @@ -200303,16 +199442,16 @@ load 3 impl_type strref 4 m51s343 call 5 pith_cstring_contains bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L5826 L5827 -label L5826 +brif 5 L5744 L5745 +label L5744 iconst 7 0 iconst 8 1 sub 9 7 8 load 10 path call 11 pith_cstring_release void 1 10 ret 9 -label L5827 -label L5825 +label L5745 +label L5743 load 12 path load 13 module_path call 14 pith_cstring_retain void 1 13 @@ -200322,22 +199461,22 @@ load 16 path call 17 string_len int 1 16 iconst 18 0 eq 19 17 18 -brif 19 L5829 L5830 -label L5829 +brif 19 L5747 L5748 +label L5747 load 20 path load 21 ir_emitter_core_ir_current_module_path call 22 pith_cstring_retain void 1 21 call 23 pith_cstring_release void 1 20 store path 21 -jmp L5828 -label L5830 -label L5828 +jmp L5746 +label L5748 +label L5746 load 24 path call 25 string_len int 1 24 iconst 26 0 gt 27 25 26 -brif 27 L5832 L5833 -label L5832 +brif 27 L5750 L5751 +label L5750 load 28 path load 29 impl_type call 30 types_lookup_qualified_type_id int 2 28 29 @@ -200345,17 +199484,17 @@ store qualified 30 load 31 qualified iconst 32 0 gte 33 31 32 -brif 33 L5835 L5836 -label L5835 +brif 33 L5753 L5754 +label L5753 load 34 qualified load 35 path call 36 pith_cstring_release void 1 35 ret 34 -label L5836 -label L5834 -jmp L5831 -label L5833 -label L5831 +label L5754 +label L5752 +jmp L5749 +label L5751 +label L5749 load 37 impl_type call 38 types_lookup_type_id int 1 37 load 39 path @@ -200390,8 +199529,8 @@ store owner_tid 16 load 17 owner_tid iconst 18 0 gte 19 17 18 -brif 19 L5838 L5839 -label L5838 +brif 19 L5756 L5757 +label L5756 load 20 ir_method_tables_ir_impl_methods load 21 owner_tid load 22 method_name @@ -200403,19 +199542,19 @@ load 27 ir_method_tables_ir_impl_method_owner load 28 key load 29 owner_tid call 30 map_insert void 3 27 28 29 -jmp L5837 -label L5839 +jmp L5755 +label L5757 load 31 ir_method_tables_ir_impl_method_owner load 32 key call 33 contains_key bool 2 31 32 -brif 33 L5840 L5841 -label L5840 +brif 33 L5758 L5759 +label L5758 load 34 ir_method_tables_ir_impl_method_owner load 35 key call 36 map_remove void 2 34 35 -jmp L5837 -label L5841 -label L5837 +jmp L5755 +label L5759 +label L5755 load 37 key call 38 pith_cstring_release void 1 37 iconst 39 0 @@ -200454,8 +199593,8 @@ load 22 module_path call 23 string_len int 1 22 iconst 24 0 gt 25 23 24 -brif 25 L5843 L5844 -label L5843 +brif 25 L5761 L5762 +label L5761 load 26 full_name load 27 module_path load 28 impl_type @@ -200463,9 +199602,9 @@ load 29 method_name call 30 ir_names_ir_import_impl_method_name string 3 27 28 29 call 31 pith_cstring_release void 1 26 store full_name 30 -jmp L5842 -label L5844 -label L5842 +jmp L5760 +label L5762 +label L5760 load 32 key load 33 impl_type load 34 method_name @@ -200528,8 +199667,8 @@ load 18 ir_builder_ir_current_func_return_kind strref 19 m51s1234 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L5846 L5847 -label L5846 +brif 20 L5764 L5765 +label L5764 call 22 ir_builder_ir_reg int 0 store dr2 22 strref 23 m51s880 @@ -200561,8 +199700,8 @@ call 48 pith_cstring_release void 1 42 call 49 pith_cstring_release void 1 46 call 50 ir_builder_ir_emit void 1 47 call 51 pith_cstring_release void 1 47 -jmp L5845 -label L5847 +jmp L5763 +label L5765 strref 52 m51s925 load 53 dr call 54 int_to_string string 1 53 @@ -200571,7 +199710,7 @@ call 56 pith_cstring_release void 1 52 call 57 pith_cstring_release void 1 54 call 58 ir_builder_ir_emit void 1 55 call 59 pith_cstring_release void 1 55 -label L5845 +label L5763 strref 60 m51s924 call 61 ir_builder_ir_emit void 1 60 call 62 pith_cstring_release void 1 60 @@ -200638,8 +199777,8 @@ param body_idx load 1 body_idx iconst 2 0 gte 3 1 2 -brif 3 L5849 L5850 -label L5849 +brif 3 L5767 L5768 +label L5767 load 4 body_idx call 5 ir_match_emit_ir_function_tail_match int 1 4 store ir_match_emit_ir_tail_match_node 5 @@ -200649,9 +199788,9 @@ iconst 8 0 iconst 9 1 sub 10 8 9 store ir_match_emit_ir_tail_match_node 10 -jmp L5848 -label L5850 -label L5848 +jmp L5766 +label L5768 +label L5766 call 11 ir_emitter_core_ir_emit_default_return int 0 iconst 12 0 ret 12 @@ -200668,41 +199807,41 @@ load 5 root_idx call 6 ir_tree_cache_ir_root_items list 1 5 call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_437 8 -store __for_len_437 7 -store __for_iter_437 6 -label L5851 -load 9 __for_idx_437 -load 10 __for_len_437 +store __for_idx_436 8 +store __for_len_436 7 +store __for_iter_436 6 +label L5769 +load 9 __for_idx_436 +load 10 __for_len_436 lt 11 9 10 -brif 11 L5852 L5854 -label L5852 -load 12 __for_iter_437 -load 13 __for_idx_437 +brif 11 L5770 L5772 +label L5770 +load 12 __for_iter_436 +load 13 __for_idx_436 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_437_item_idx 14 -load 15 __loopvar_437_item_idx +store __loopvar_436_item_idx 14 +load 15 __loopvar_436_item_idx call 16 ast_get_node struct:Node 1 15 field 17 16 0 string kind strref 18 m51s612 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5856 L5857 -label L5856 +brif 19 L5774 L5775 +label L5774 load 21 tests -load 22 __loopvar_437_item_idx +load 22 __loopvar_436_item_idx call 23 pith_list_push_value void 2 21 22 -jmp L5855 -label L5857 -label L5855 -label L5853 -load 24 __for_idx_437 +jmp L5773 +label L5775 +label L5773 +label L5771 +load 24 __for_idx_436 iconst 25 1 add 26 24 25 -store __for_idx_437 26 -jmp L5851 -label L5854 -load 27 __for_iter_437 +store __for_idx_436 26 +jmp L5769 +label L5772 +load 27 __for_iter_436 call 28 pith_list_release_handle void 1 27 load 29 tests ret 29 @@ -200717,7 +199856,7 @@ param ordinal load 2 idx call 3 ir_emitter_core_ir_find_body int 1 2 store body_idx 3 -strref 4 m51s712 +strref 4 m51s713 call 5 ir_emitter_core_ir_prepare_func_emission void 1 4 call 6 pith_cstring_release void 1 4 strref 7 m51s1239 @@ -200727,7 +199866,7 @@ concat 10 7 9 call 11 pith_cstring_release void 1 7 call 12 pith_cstring_release void 1 9 iconst 13 0 -strref 14 m51s712 +strref 14 m51s713 call 15 ir_emitter_core_ir_emit_func_header void 3 10 13 14 call 16 pith_cstring_release void 1 10 call 17 pith_cstring_release void 1 14 @@ -200763,8 +199902,8 @@ load 10 tests call 11 pith_list_len int 1 10 iconst 12 0 eq 13 11 12 -brif 13 L5859 L5860 -label L5859 +brif 13 L5777 L5778 +label L5777 load 14 tests call 15 pith_list_release_handle void 1 14 load 16 run_l @@ -200777,41 +199916,41 @@ load 22 child_l call 23 pith_cstring_release void 1 22 iconst 24 0 ret 24 -label L5860 -label L5858 -strref 25 m51s712 +label L5778 +label L5776 +strref 25 m51s713 call 26 ir_emitter_core_ir_prepare_func_emission void 1 25 call 27 pith_cstring_release void 1 25 strref 28 m51s1213 iconst 29 0 -strref 30 m51s712 +strref 30 m51s713 call 31 ir_emitter_core_ir_emit_func_header void 3 28 29 30 call 32 pith_cstring_release void 1 28 call 33 pith_cstring_release void 1 30 call 34 ir_builder_ir_reg int 0 call 35 ir_emitter_core_ir_cc_register_fn_name string 0 -strref 36 m51s712 +strref 36 m51s713 call 37 ir_call_emit_ir_emit_call0 void 3 34 35 36 call 38 pith_cstring_release void 1 35 call 39 pith_cstring_release void 1 36 load 40 tests call 41 pith_auto_len int 1 40 iconst 42 0 -store __for_idx_438 42 -store __for_len_438 41 -store __for_iter_438 40 -label L5861 -load 43 __for_idx_438 -load 44 __for_len_438 +store __for_idx_437 42 +store __for_len_437 41 +store __for_iter_437 40 +label L5779 +load 43 __for_idx_437 +load 44 __for_len_437 lt 45 43 44 -brif 45 L5862 L5864 -label L5862 -load 46 __for_iter_438 -load 47 __for_idx_438 +brif 45 L5780 L5782 +label L5780 +load 46 __for_iter_437 +load 47 __for_idx_437 call 48 pith_list_get_value unknown 2 46 47 -store __loopvar_438_test_idx 48 -load 49 __for_idx_438 -store __loopvar_438_i 49 +store __loopvar_437_test_idx 48 +load 49 __for_idx_437 +store __loopvar_437_i 49 call 50 ir_builder_ir_reg int 0 store name_r 50 strref 51 m51s936 @@ -200824,7 +199963,7 @@ strref 57 m51s344 concat 58 54 57 call 59 pith_cstring_release void 1 54 call 60 pith_cstring_release void 1 57 -load 61 __loopvar_438_test_idx +load 61 __loopvar_437_test_idx call 62 ast_get_node struct:Node 1 61 field 63 62 8 string value call 64 ir_builder_ir_str string 1 63 @@ -200837,7 +199976,7 @@ call 70 ir_builder_ir_reg int 0 store run_r 70 load 71 run_r strref 72 m51s1242 -strref 73 m51s712 +strref 73 m51s713 load 74 name_r call 75 ir_call_emit_ir_emit_call1 void 4 71 72 73 74 call 76 pith_cstring_release void 1 72 @@ -200878,7 +200017,7 @@ call 108 ir_builder_ir_reg int 0 store pid_r 108 load 109 pid_r strref 110 m51s1241 -strref 111 m51s712 +strref 111 m51s713 call 112 ir_call_emit_ir_emit_call0 void 3 109 110 111 call 113 pith_cstring_release void 1 110 call 114 pith_cstring_release void 1 111 @@ -200916,25 +200055,25 @@ load 143 child_l call 144 ir_call_emit_ir_emit_label void 1 143 call 145 ir_builder_ir_reg int 0 strref 146 m51s1240 -strref 147 m51s712 +strref 147 m51s713 load 148 name_r call 149 ir_call_emit_ir_emit_call1 void 4 145 146 147 148 call 150 pith_cstring_release void 1 146 call 151 pith_cstring_release void 1 147 call 152 ir_builder_ir_reg int 0 strref 153 m51s1239 -load 154 __loopvar_438_i +load 154 __loopvar_437_i call 155 int_to_string string 1 154 concat 156 153 155 call 157 pith_cstring_release void 1 153 call 158 pith_cstring_release void 1 155 -strref 159 m51s712 +strref 159 m51s713 call 160 ir_call_emit_ir_emit_call0 void 3 152 156 159 call 161 pith_cstring_release void 1 156 call 162 pith_cstring_release void 1 159 call 163 ir_builder_ir_reg int 0 strref 164 m51s1238 -strref 165 m51s712 +strref 165 m51s713 call 166 ir_call_emit_ir_emit_call0 void 3 163 164 165 call 167 pith_cstring_release void 1 164 call 168 pith_cstring_release void 1 165 @@ -200964,7 +200103,7 @@ load 190 parent_l call 191 ir_call_emit_ir_emit_label void 1 190 call 192 ir_builder_ir_reg int 0 strref 193 m51s1237 -strref 194 m51s712 +strref 194 m51s713 load 195 name_r load 196 pid_r call 197 ir_call_emit_ir_emit_call2 void 5 192 193 194 195 196 @@ -200978,24 +200117,24 @@ call 204 ir_builder_ir_emit void 1 202 call 205 pith_cstring_release void 1 202 load 206 skip_l call 207 ir_call_emit_ir_emit_label void 1 206 -label L5863 -load 208 __for_idx_438 +label L5781 +load 208 __for_idx_437 iconst 209 1 add 210 208 209 -store __for_idx_438 210 -jmp L5861 -label L5864 +store __for_idx_437 210 +jmp L5779 +label L5782 call 211 ir_builder_ir_reg int 0 store summary_r 211 load 212 summary_r strref 213 m51s1236 -strref 214 m51s712 +strref 214 m51s713 call 215 ir_call_emit_ir_emit_call0 void 3 212 213 214 call 216 pith_cstring_release void 1 213 call 217 pith_cstring_release void 1 214 call 218 ir_builder_ir_reg int 0 strref 219 m51s1235 -strref 220 m51s869 +strref 220 m51s870 load 221 summary_r call 222 ir_call_emit_ir_emit_call1 void 4 218 219 220 221 call 223 pith_cstring_release void 1 219 @@ -201079,15 +200218,15 @@ store ret_type 25 load 27 ir_result_abi_ir_result_reg_funcs load 28 name call 29 contains_key bool 2 27 28 -brif 29 L5866 L5867 -label L5866 +brif 29 L5784 L5785 +label L5784 load 30 ret_type strref 31 m51s1234 call 32 pith_cstring_release void 1 30 store ret_type 31 -jmp L5865 -label L5867 -label L5865 +jmp L5783 +label L5785 +label L5783 load 33 ret_type call 34 ir_emitter_core_ir_prepare_func_emission void 1 33 load 35 ir_emitter_core_ir_current_arc_func @@ -201115,17 +200254,17 @@ call 52 ir_emitter_core_ir_emit_func_header void 3 49 50 51 load 53 idx call 54 ir_emitter_core_ir_emit_fn_params void 1 53 load 55 ir_emitter_core_ir_emitting_main_body -brif 55 L5869 L5870 -label L5869 +brif 55 L5787 L5788 +label L5787 call 56 ir_builder_ir_reg int 0 call 57 ir_emitter_core_ir_cc_register_fn_name string 0 -strref 58 m51s712 +strref 58 m51s713 call 59 ir_call_emit_ir_emit_call0 void 3 56 57 58 call 60 pith_cstring_release void 1 57 call 61 pith_cstring_release void 1 58 -jmp L5868 -label L5870 -label L5868 +jmp L5786 +label L5788 +label L5786 load 62 body_idx call 63 ir_emitter_core_ir_emit_string_prologue void 1 62 load 64 body_idx @@ -201215,15 +200354,15 @@ store emit_ret 51 load 54 ir_result_abi_ir_result_reg_funcs load 55 full_name call 56 contains_key bool 2 54 55 -brif 56 L5872 L5873 -label L5872 +brif 56 L5790 L5791 +label L5790 load 57 emit_ret strref 58 m51s1234 call 59 pith_cstring_release void 1 57 store emit_ret 58 -jmp L5871 -label L5873 -label L5871 +jmp L5789 +label L5791 +label L5789 load 60 emit_ret call 61 ir_emitter_core_ir_prepare_func_emission void 1 60 load 62 ir_emitter_core_ir_current_func_optional_inner_kind @@ -201293,21 +200432,21 @@ load 2 node field 3 2 16 list children call 4 pith_auto_len int 1 3 iconst 5 0 -store __for_idx_439 5 -store __for_len_439 4 -store __for_iter_439 3 -label L5874 -load 6 __for_idx_439 -load 7 __for_len_439 +store __for_idx_438 5 +store __for_len_438 4 +store __for_iter_438 3 +label L5792 +load 6 __for_idx_438 +load 7 __for_len_438 lt 8 6 7 -brif 8 L5875 L5877 -label L5875 -load 9 __for_iter_439 -load 10 __for_idx_439 +brif 8 L5793 L5795 +label L5793 +load 9 __for_iter_438 +load 10 __for_idx_438 call 11 pith_list_get_value unknown 2 9 10 -store __loopvar_439_tc 11 +store __loopvar_438_tc 11 load 12 tn -load 13 __loopvar_439_tc +load 13 __loopvar_438_tc call 14 ast_get_node struct:Node 1 13 call 15 pith_struct_release void 1 12 store tn 14 @@ -201316,23 +200455,23 @@ field 17 16 0 string kind strref 18 m51s316 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5879 L5880 -label L5879 +brif 19 L5797 L5798 +label L5797 load 21 tn field 22 21 8 string value call 23 pith_cstring_retain void 1 22 load 24 tn call 25 pith_struct_release void 1 24 ret 22 -label L5880 -label L5878 -label L5876 -load 26 __for_idx_439 +label L5798 +label L5796 +label L5794 +load 26 __for_idx_438 iconst 27 1 add 28 26 27 -store __for_idx_439 28 -jmp L5874 -label L5877 +store __for_idx_438 28 +jmp L5792 +label L5795 strref 29 m51s83 load 30 tn call 31 pith_struct_release void 1 30 @@ -201349,26 +200488,26 @@ field 2 1 0 string kind strref 3 m51s615 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L5882 L5883 -label L5882 +brif 4 L5800 L5801 +label L5800 load 6 node field 7 6 8 string value call 8 ir_alias_registry_ir_register_import_alias void 1 7 -jmp L5881 -label L5883 +jmp L5799 +label L5801 load 9 node field 10 9 0 string kind strref 11 m51s616 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L5884 L5885 -label L5884 +brif 12 L5802 L5803 +label L5802 load 14 node field 15 14 8 string value call 16 ir_alias_registry_ir_collect_from_import_renames void 1 15 -jmp L5881 -label L5885 -label L5881 +jmp L5799 +label L5803 +label L5799 iconst 17 0 ret 17 endfunc @@ -201384,31 +200523,31 @@ load 4 root_idx call 5 ir_tree_cache_ir_root_items list 1 4 call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_440 7 -store __for_len_440 6 -store __for_iter_440 5 -label L5886 -load 8 __for_idx_440 -load 9 __for_len_440 +store __for_idx_439 7 +store __for_len_439 6 +store __for_iter_439 5 +label L5804 +load 8 __for_idx_439 +load 9 __for_len_439 lt 10 8 9 -brif 10 L5887 L5889 -label L5887 -load 11 __for_iter_440 -load 12 __for_idx_440 +brif 10 L5805 L5807 +label L5805 +load 11 __for_iter_439 +load 12 __for_idx_439 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_440_item_idx 13 +store __loopvar_439_item_idx 13 load 14 cn -load 15 __loopvar_440_item_idx +load 15 __loopvar_439_item_idx call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 14 store cn 16 load 18 cn field 19 18 0 string kind -strref 20 m51s633 +strref 20 m51s634 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L5891 L5892 -label L5891 +brif 21 L5809 L5810 +label L5809 load 23 aname load 24 cn field 25 24 8 string value @@ -201418,8 +200557,8 @@ store aname 25 load 28 ir_alias_registry_ir_type_aliases load 29 aname call 30 contains_key bool 2 28 29 -brif 30 L5894 L5895 -label L5894 +brif 30 L5812 L5813 +label L5812 load 31 target load 32 ir_alias_registry_ir_type_aliases load 33 aname @@ -201430,8 +200569,8 @@ store target 34 load 37 ir_struct_registry_ir_struct_names load 38 target call 39 contains_key bool 2 37 38 -brif 39 L5897 L5898 -label L5897 +brif 39 L5815 L5816 +label L5815 load 40 ir_struct_registry_ir_struct_names load 41 aname load 42 ir_struct_registry_ir_struct_names @@ -201451,23 +200590,23 @@ concat 55 51 54 call 56 pith_cstring_release void 1 51 call 57 ir_builder_ir_emit void 1 55 call 58 pith_cstring_release void 1 55 -jmp L5896 -label L5898 -label L5896 -jmp L5893 -label L5895 -label L5893 -jmp L5890 -label L5892 -label L5890 -label L5888 -load 59 __for_idx_440 +jmp L5814 +label L5816 +label L5814 +jmp L5811 +label L5813 +label L5811 +jmp L5808 +label L5810 +label L5808 +label L5806 +load 59 __for_idx_439 iconst 60 1 add 61 59 60 -store __for_idx_440 61 -jmp L5886 -label L5889 -load 62 __for_iter_440 +store __for_idx_439 61 +jmp L5804 +label L5807 +load 62 __for_iter_439 call 63 pith_list_release_handle void 1 62 load 64 cn call 65 pith_struct_release void 1 64 @@ -201488,21 +200627,21 @@ load 3 node field 4 3 16 list children call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_441 6 -store __for_len_441 5 -store __for_iter_441 4 -label L5899 -load 7 __for_idx_441 -load 8 __for_len_441 +store __for_idx_440 6 +store __for_len_440 5 +store __for_iter_440 4 +label L5817 +load 7 __for_idx_440 +load 8 __for_len_440 lt 9 7 8 -brif 9 L5900 L5902 -label L5900 -load 10 __for_iter_441 -load 11 __for_idx_441 +brif 9 L5818 L5820 +label L5818 +load 10 __for_iter_440 +load 11 __for_idx_440 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_441_returns_idx 12 +store __loopvar_440_returns_idx 12 load 13 returns_node -load 14 __loopvar_441_returns_idx +load 14 __loopvar_440_returns_idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store returns_node 15 @@ -201511,37 +200650,37 @@ field 18 17 0 string kind strref 19 m51s323 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L5904 L5905 -label L5904 +brif 20 L5822 L5823 +label L5822 load 22 node field 23 22 8 string value load 24 returns_node call 25 ir_emitter_core_ir_record_returns_clause void 2 23 24 iconst 26 1 store has_returns 26 -jmp L5903 -label L5905 -label L5903 -label L5901 -load 27 __for_idx_441 +jmp L5821 +label L5823 +label L5821 +label L5819 +load 27 __for_idx_440 iconst 28 1 add 29 27 28 -store __for_idx_441 29 -jmp L5899 -label L5902 +store __for_idx_440 29 +jmp L5817 +label L5820 load 30 has_returns iconst 32 1 sub 31 32 30 -brif 31 L5907 L5908 -label L5907 +brif 31 L5825 L5826 +label L5825 load 33 ir_method_tables_ir_func_returns load 34 node field 35 34 8 string value strref 36 m51s876 call 37 pith_map_insert_cstr_owned void 3 33 35 36 -jmp L5906 -label L5908 -label L5906 +jmp L5824 +label L5826 +label L5824 load 38 node field 39 38 8 string value load 40 node @@ -201564,21 +200703,21 @@ load 5 node field 6 5 16 list children call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_442 8 -store __for_len_442 7 -store __for_iter_442 6 -label L5909 -load 9 __for_idx_442 -load 10 __for_len_442 +store __for_idx_441 8 +store __for_len_441 7 +store __for_iter_441 6 +label L5827 +load 9 __for_idx_441 +load 10 __for_len_441 lt 11 9 10 -brif 11 L5910 L5912 -label L5910 -load 12 __for_iter_442 -load 13 __for_idx_442 +brif 11 L5828 L5830 +label L5828 +load 12 __for_iter_441 +load 13 __for_idx_441 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_442_returns_idx 14 +store __loopvar_441_returns_idx 14 load 15 returns_node -load 16 __loopvar_442_returns_idx +load 16 __loopvar_441_returns_idx call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store returns_node 17 @@ -201587,35 +200726,35 @@ field 20 19 0 string kind strref 21 m51s323 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L5914 L5915 -label L5914 +brif 22 L5832 L5833 +label L5832 load 24 name load 25 returns_node call 26 ir_emitter_core_ir_record_returns_clause void 2 24 25 iconst 27 1 store has_returns 27 -jmp L5913 -label L5915 -label L5913 -label L5911 -load 28 __for_idx_442 +jmp L5831 +label L5833 +label L5831 +label L5829 +load 28 __for_idx_441 iconst 29 1 add 30 28 29 -store __for_idx_442 30 -jmp L5909 -label L5912 +store __for_idx_441 30 +jmp L5827 +label L5830 load 31 has_returns iconst 33 1 sub 32 33 31 -brif 32 L5917 L5918 -label L5917 +brif 32 L5835 L5836 +label L5835 load 34 ir_method_tables_ir_func_returns load 35 name strref 36 m51s876 call 37 pith_map_insert_cstr_owned void 3 34 35 36 -jmp L5916 -label L5918 -label L5916 +jmp L5834 +label L5836 +label L5834 load 38 name load 39 node load 40 home_module @@ -201634,118 +200773,118 @@ load 3 returns_node field 4 3 16 list children call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_443 6 -store __for_len_443 5 -store __for_iter_443 4 -label L5919 -load 7 __for_idx_443 -load 8 __for_len_443 +store __for_idx_442 6 +store __for_len_442 5 +store __for_iter_442 4 +label L5837 +load 7 __for_idx_442 +load 8 __for_len_442 lt 9 7 8 -brif 9 L5920 L5922 -label L5920 -load 10 __for_iter_443 -load 11 __for_idx_443 +brif 9 L5838 L5840 +label L5838 +load 10 __for_iter_442 +load 11 __for_idx_442 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_443_type_idx 12 +store __loopvar_442_type_idx 12 load 13 type_node -load 14 __loopvar_443_type_idx +load 14 __loopvar_442_type_idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store type_node 15 iconst 17 0 -store __or_17_5926 17 +store __or_17_5844 17 iconst 18 0 -store __or_18_5926 18 +store __or_18_5844 18 iconst 19 0 -store __or_19_5926 19 +store __or_19_5844 19 iconst 20 0 -store __or_20_5926 20 +store __or_20_5844 20 load 21 type_node field 22 21 0 string kind strref 23 m51s316 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __or_20_5926 24 -brif 24 L5927 L5926 -label L5926 +store __or_20_5844 24 +brif 24 L5845 L5844 +label L5844 load 26 type_node field 27 26 0 string kind strref 28 m51s336 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_20_5926 29 -label L5927 -load 31 __or_20_5926 -store __or_19_5926 31 -brif 31 L5929 L5928 -label L5928 +store __or_20_5844 29 +label L5845 +load 31 __or_20_5844 +store __or_19_5844 31 +brif 31 L5847 L5846 +label L5846 load 32 type_node field 33 32 0 string kind strref 34 m51s330 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_19_5926 35 -label L5929 -load 37 __or_19_5926 -store __or_18_5926 37 -brif 37 L5931 L5930 -label L5930 +store __or_19_5844 35 +label L5847 +load 37 __or_19_5844 +store __or_18_5844 37 +brif 37 L5849 L5848 +label L5848 load 38 type_node field 39 38 0 string kind strref 40 m51s317 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_18_5926 41 -label L5931 -load 43 __or_18_5926 -store __or_17_5926 43 -brif 43 L5933 L5932 -label L5932 +store __or_18_5844 41 +label L5849 +load 43 __or_18_5844 +store __or_17_5844 43 +brif 43 L5851 L5850 +label L5850 load 44 type_node field 45 44 0 string kind strref 46 m51s328 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_17_5926 47 -label L5933 -load 49 __or_17_5926 -brif 49 L5924 L5925 -label L5924 +store __or_17_5844 47 +label L5851 +load 49 __or_17_5844 +brif 49 L5842 L5843 +label L5842 load 50 ir_method_tables_ir_func_returns load 51 name -load 52 __loopvar_443_type_idx +load 52 __loopvar_442_type_idx call 53 ir_alias_registry_ir_resolve_type_node string 1 52 call 54 pith_map_insert_cstr_owned void 3 50 51 53 -jmp L5923 -label L5925 -label L5923 +jmp L5841 +label L5843 +label L5841 iconst 55 0 -store __or_55_5937 55 +store __or_55_5855 55 load 56 type_node field 57 56 0 string kind strref 58 m51s22 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -store __or_55_5937 59 -brif 59 L5938 L5937 -label L5937 +store __or_55_5855 59 +brif 59 L5856 L5855 +label L5855 load 61 type_node field 62 61 0 string kind strref 63 m51s330 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_55_5937 64 -label L5938 -load 66 __or_55_5937 -brif 66 L5935 L5936 -label L5935 +store __or_55_5855 64 +label L5856 +load 66 __or_55_5855 +brif 66 L5853 L5854 +label L5853 load 67 type_node field 68 67 16 list children call 69 pith_list_len int 1 68 iconst 70 0 gt 71 69 70 -brif 71 L5940 L5941 -label L5940 +brif 71 L5858 L5859 +label L5858 load 72 ir_result_abi_ir_func_result_ok_kinds load 73 name load 74 type_node @@ -201756,19 +200895,19 @@ call 78 ir_alias_registry_ir_resolve_type_node string 1 77 call 79 ir_alias_registry_ir_retkind string 1 78 call 80 pith_cstring_release void 1 78 call 81 pith_map_insert_cstr_owned void 3 72 73 79 -jmp L5939 -label L5941 -label L5939 -jmp L5934 -label L5936 -label L5934 -label L5921 -load 82 __for_idx_443 +jmp L5857 +label L5859 +label L5857 +jmp L5852 +label L5854 +label L5852 +label L5839 +load 82 __for_idx_442 iconst 83 1 add 84 82 83 -store __for_idx_443 84 -jmp L5919 -label L5922 +store __for_idx_442 84 +jmp L5837 +label L5840 load 85 type_node call 86 pith_struct_release void 1 85 iconst 87 0 @@ -201810,59 +200949,59 @@ load 21 node field 22 21 16 list children call 23 pith_auto_len int 1 22 iconst 24 0 -store __for_idx_444 24 -store __for_len_444 23 -store __for_iter_444 22 -label L5942 -load 25 __for_idx_444 -load 26 __for_len_444 +store __for_idx_443 24 +store __for_len_443 23 +store __for_iter_443 22 +label L5860 +load 25 __for_idx_443 +load 26 __for_len_443 lt 27 25 26 -brif 27 L5943 L5945 -label L5943 -load 28 __for_iter_444 -load 29 __for_idx_444 +brif 27 L5861 L5863 +label L5861 +load 28 __for_iter_443 +load 29 __for_idx_443 call 30 pith_list_get_value unknown 2 28 29 -store __loopvar_444_gc 30 +store __loopvar_443_gc 30 load 31 gcn -load 32 __loopvar_444_gc +load 32 __loopvar_443_gc call 33 ast_get_node struct:Node 1 32 call 34 pith_struct_release void 1 31 store gcn 33 iconst 35 0 -store __or_35_5949 35 +store __or_35_5867 35 iconst 36 0 -store __or_36_5949 36 +store __or_36_5867 36 load 37 gcn field 38 37 0 string kind strref 39 m51s316 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_36_5949 40 -brif 40 L5950 L5949 -label L5949 +store __or_36_5867 40 +brif 40 L5868 L5867 +label L5867 load 42 gcn field 43 42 0 string kind strref 44 m51s336 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_36_5949 45 -label L5950 -load 47 __or_36_5949 -store __or_35_5949 47 -brif 47 L5952 L5951 -label L5951 +store __or_36_5867 45 +label L5868 +load 47 __or_36_5867 +store __or_35_5867 47 +brif 47 L5870 L5869 +label L5869 load 48 gcn field 49 48 0 string kind strref 50 m51s317 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __or_35_5949 51 -label L5952 -load 53 __or_35_5949 -brif 53 L5947 L5948 -label L5947 +store __or_35_5867 51 +label L5870 +load 53 __or_35_5867 +brif 53 L5865 L5866 +label L5865 load 54 global_type -load 55 __loopvar_444_gc +load 55 __loopvar_443_gc call 56 ir_alias_registry_ir_resolve_type_node string 1 55 call 57 pith_cstring_release void 1 54 store global_type 56 @@ -201870,25 +201009,25 @@ load 58 global_map_value_type call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L5954 L5955 -label L5954 +brif 61 L5872 L5873 +label L5872 load 62 global_map_value_type -load 63 __loopvar_444_gc +load 63 __loopvar_443_gc call 64 ir_alias_registry_ir_resolve_map_value_type_node string 1 63 call 65 pith_cstring_release void 1 62 store global_map_value_type 64 -jmp L5953 -label L5955 -label L5953 -jmp L5946 -label L5948 +jmp L5871 +label L5873 +label L5871 +jmp L5864 +label L5866 load 66 gcn field 67 66 0 string kind strref 68 m51s531 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L5956 L5957 -label L5956 +brif 69 L5874 L5875 +label L5874 load 71 init_val load 72 gcn field 73 72 8 string value @@ -201899,24 +201038,24 @@ load 76 global_type call 77 string_len int 1 76 iconst 78 0 eq 79 77 78 -brif 79 L5959 L5960 -label L5959 +brif 79 L5877 L5878 +label L5877 load 80 global_type -strref 81 m51s712 +strref 81 m51s713 call 82 pith_cstring_release void 1 80 store global_type 81 -jmp L5958 -label L5960 -label L5958 -jmp L5946 -label L5957 +jmp L5876 +label L5878 +label L5876 +jmp L5864 +label L5875 load 83 gcn field 84 83 0 string kind strref 85 m51s529 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L5961 L5962 -label L5961 +brif 86 L5879 L5880 +label L5879 load 88 si load 89 gcn field 90 89 8 string value @@ -201934,24 +201073,24 @@ load 99 global_type call 100 string_len int 1 99 iconst 101 0 eq 102 100 101 -brif 102 L5964 L5965 -label L5964 +brif 102 L5882 L5883 +label L5882 load 103 global_type -strref 104 m51s716 +strref 104 m51s717 call 105 pith_cstring_release void 1 103 store global_type 104 -jmp L5963 -label L5965 -label L5963 -jmp L5946 -label L5962 +jmp L5881 +label L5883 +label L5881 +jmp L5864 +label L5880 load 106 gcn field 107 106 0 string kind strref 108 m51s20 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L5966 L5967 -label L5966 +brif 109 L5884 L5885 +label L5884 load 111 init_val strref 112 m51s20 call 113 pith_cstring_release void 1 111 @@ -201960,24 +201099,24 @@ load 114 global_type call 115 string_len int 1 114 iconst 116 0 eq 117 115 116 -brif 117 L5969 L5970 -label L5969 +brif 117 L5887 L5888 +label L5887 load 118 global_type strref 119 m51s20 call 120 pith_cstring_release void 1 118 store global_type 119 -jmp L5968 -label L5970 -label L5968 -jmp L5946 -label L5967 +jmp L5886 +label L5888 +label L5886 +jmp L5864 +label L5885 load 121 gcn field 122 121 0 string kind strref 123 m51s19 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L5971 L5972 -label L5971 +brif 124 L5889 L5890 +label L5889 load 126 init_val strref 127 m51s19 call 128 pith_cstring_release void 1 126 @@ -201986,26 +201125,26 @@ load 129 global_type call 130 string_len int 1 129 iconst 131 0 eq 132 130 131 -brif 132 L5974 L5975 -label L5974 +brif 132 L5892 L5893 +label L5892 load 133 global_type strref 134 m51s19 call 135 pith_cstring_release void 1 133 store global_type 134 -jmp L5973 -label L5975 -label L5973 -jmp L5946 -label L5972 +jmp L5891 +label L5893 +label L5891 +jmp L5864 +label L5890 load 136 gcn field 137 136 0 string kind strref 138 m51s18 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L5976 L5977 -label L5976 +brif 139 L5894 L5895 +label L5894 load 141 init_val -load 142 __loopvar_444_gc +load 142 __loopvar_443_gc call 143 ir_type_helpers_ir_checked_type string 1 142 call 144 pith_cstring_release void 1 141 store init_val 143 @@ -202013,128 +201152,128 @@ load 145 init_val call 146 string_len int 1 145 iconst 147 0 eq 148 146 147 -brif 148 L5979 L5980 -label L5979 +brif 148 L5897 L5898 +label L5897 load 149 init_val -load 150 __loopvar_444_gc +load 150 __loopvar_443_gc call 151 ir_emitter_core_ir_infer_type string 1 150 call 152 pith_cstring_release void 1 149 store init_val 151 -jmp L5978 -label L5980 -label L5978 +jmp L5896 +label L5898 +label L5896 load 153 init_val call 154 string_len int 1 153 iconst 155 0 eq 156 154 155 -brif 156 L5982 L5983 -label L5982 +brif 156 L5900 L5901 +label L5900 load 157 init_val strref 158 m51s18 call 159 pith_cstring_release void 1 157 store init_val 158 -jmp L5981 -label L5983 -label L5981 +jmp L5899 +label L5901 +label L5899 load 160 global_type call 161 string_len int 1 160 iconst 162 0 eq 163 161 162 -brif 163 L5985 L5986 -label L5985 +brif 163 L5903 L5904 +label L5903 load 164 global_type load 165 init_val call 166 pith_cstring_retain void 1 165 call 167 pith_cstring_release void 1 164 store global_type 165 -jmp L5984 -label L5986 -label L5984 -jmp L5946 -label L5977 +jmp L5902 +label L5904 +label L5902 +jmp L5864 +label L5895 load 168 gcn field 169 168 0 string kind strref 170 m51s528 call 171 pith_cstring_eq bool 2 169 170 call 172 pith_cstring_release void 1 170 -brif 171 L5987 L5988 -label L5987 +brif 171 L5905 L5906 +label L5905 load 173 gcn field 174 173 8 string value strref 175 m51s76 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 -brif 176 L5990 L5991 -label L5990 +brif 176 L5908 L5909 +label L5908 load 178 init_val strref 179 m51s184 call 180 pith_cstring_release void 1 178 store init_val 179 -jmp L5989 -label L5991 +jmp L5907 +label L5909 load 181 init_val strref 182 m51s185 call 183 pith_cstring_release void 1 181 store init_val 182 -label L5989 +label L5907 load 184 global_type call 185 string_len int 1 184 iconst 186 0 eq 187 185 186 -brif 187 L5993 L5994 -label L5993 +brif 187 L5911 L5912 +label L5911 load 188 global_type -strref 189 m51s714 +strref 189 m51s715 call 190 pith_cstring_release void 1 188 store global_type 189 -jmp L5992 -label L5994 -label L5992 -jmp L5946 -label L5988 -label L5946 -label L5944 -load 191 __for_idx_444 +jmp L5910 +label L5912 +label L5910 +jmp L5864 +label L5906 +label L5864 +label L5862 +load 191 __for_idx_443 iconst 192 1 add 193 191 192 -store __for_idx_444 193 -jmp L5942 -label L5945 +store __for_idx_443 193 +jmp L5860 +label L5863 load 194 global_type call 195 string_len int 1 194 iconst 196 0 gt 197 195 196 -brif 197 L5996 L5997 -label L5996 +brif 197 L5914 L5915 +label L5914 load 198 gname load 199 global_type call 200 ir_alias_registry_ir_record_global_type void 2 198 199 -jmp L5995 -label L5997 -label L5995 +jmp L5913 +label L5915 +label L5913 load 201 global_map_value_type call 202 string_len int 1 201 iconst 203 0 gt 204 202 203 -brif 204 L5999 L6000 -label L5999 +brif 204 L5917 L5918 +label L5917 load 205 ir_alias_registry_ir_global_map_value_types load 206 gname load 207 global_map_value_type call 208 map_insert void 3 205 206 207 -jmp L5998 -label L6000 -label L5998 +jmp L5916 +label L5918 +label L5916 load 209 is_threadlocal -brif 209 L6002 L6003 -label L6002 +brif 209 L5920 L5921 +label L5920 load 210 ir_emitter_core_ir_threadlocal_slots load 211 gname call 212 contains_key bool 2 210 211 iconst 214 1 sub 213 214 212 -brif 213 L6005 L6006 -label L6005 +brif 213 L5923 L5924 +label L5923 load 215 ir_emitter_core_ir_threadlocal_slots load 216 gname load 217 ir_emitter_core_ir_next_tls_slot @@ -202143,9 +201282,9 @@ load 219 ir_emitter_core_ir_next_tls_slot iconst 220 1 add 221 219 220 store ir_emitter_core_ir_next_tls_slot 221 -jmp L6004 -label L6006 -label L6004 +jmp L5922 +label L5924 +label L5922 load 222 ir_emitter_core_ir_threadlocal_kinds load 223 gname load 224 global_type @@ -202164,8 +201303,8 @@ load 236 si call 237 pith_cstring_release void 1 236 iconst 238 0 ret 238 -label L6003 -label L6001 +label L5921 +label L5919 strref 239 m51s1231 load 240 gname concat 241 239 240 @@ -202214,21 +201353,21 @@ load 8 root field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_445 11 -store __for_len_445 10 -store __for_iter_445 9 -label L6007 -load 12 __for_idx_445 -load 13 __for_len_445 +store __for_idx_444 11 +store __for_len_444 10 +store __for_iter_444 9 +label L5925 +load 12 __for_idx_444 +load 13 __for_len_444 lt 14 12 13 -brif 14 L6008 L6010 -label L6008 -load 15 __for_iter_445 -load 16 __for_idx_445 +brif 14 L5926 L5928 +label L5926 +load 15 __for_iter_444 +load 16 __for_idx_444 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_445_child 17 +store __loopvar_444_child 17 load 18 cn -load 19 __loopvar_445_child +load 19 __loopvar_444_child call 20 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 @@ -202239,11 +201378,11 @@ call 26 pith_cstring_eq bool 2 23 24 iconst 27 1 sub 25 27 26 call 28 pith_cstring_release void 1 24 -brif 25 L6012 L6013 -label L6012 -jmp L6009 -label L6013 -label L6011 +brif 25 L5930 L5931 +label L5930 +jmp L5927 +label L5931 +label L5929 load 29 binding load 30 cn field 31 30 16 list children @@ -202257,11 +201396,11 @@ field 37 36 0 string kind call 38 ir_ast_helpers_ir_is_binding_kind bool 1 37 iconst 40 1 sub 39 40 38 -brif 39 L6015 L6016 -label L6015 -jmp L6009 -label L6016 -label L6014 +brif 39 L5933 L5934 +label L5933 +jmp L5927 +label L5934 +label L5932 load 41 gname load 42 binding call 43 ir_ast_helpers_ir_binding_name string 1 42 @@ -202280,32 +201419,32 @@ load 52 parts field 53 52 16 int type_idx iconst 54 0 gte 55 53 54 -brif 55 L6018 L6019 -label L6018 +brif 55 L5936 L5937 +label L5936 load 56 target load 57 parts field 58 57 16 int type_idx call 59 ir_alias_registry_ir_resolve_type_node string 1 58 call 60 pith_cstring_release void 1 56 store target 59 -jmp L6017 -label L6019 -label L6017 +jmp L5935 +label L5937 +label L5935 load 61 target call 62 string_len int 1 61 iconst 63 0 eq 64 62 63 -brif 64 L6021 L6022 -label L6021 +brif 64 L5939 L5940 +label L5939 load 65 target load 66 parts field 67 66 8 int val_idx call 68 ir_emitter_core_ir_infer_type string 1 67 call 69 pith_cstring_release void 1 65 store target 68 -jmp L6020 -label L6022 -label L6020 +jmp L5938 +label L5940 +label L5938 load 70 target call 71 ir_emitter_core_ir_prepare_func_emission void 1 70 strref 72 m51s1230 @@ -202333,42 +201472,42 @@ call 91 ir_struct_registry_ir_rc_kind string 1 90 call 92 pith_cstring_release void 1 89 store gkind 91 iconst 93 0 -store __and_93_6026 93 +store __and_93_5944 93 iconst 94 0 -store __and_94_6026 94 +store __and_94_5944 94 load 95 gkind call 96 string_len int 1 95 iconst 97 0 gt 98 96 97 -store __and_94_6026 98 -brif 98 L6026 L6027 -label L6026 +store __and_94_5944 98 +brif 98 L5944 L5945 +label L5944 load 99 gtarget strref 100 m51s23 call 102 pith_cstring_eq bool 2 99 100 iconst 103 1 sub 101 103 102 call 104 pith_cstring_release void 1 100 -store __and_94_6026 101 -label L6027 -load 105 __and_94_6026 -store __and_93_6026 105 -brif 105 L6028 L6029 -label L6028 +store __and_94_5944 101 +label L5945 +load 105 __and_94_5944 +store __and_93_5944 105 +brif 105 L5946 L5947 +label L5946 load 106 parts field 107 106 8 int val_idx call 108 ir_emitter_core_ir_string_expr_is_borrowed bool 1 107 -store __and_93_6026 108 -label L6029 -load 109 __and_93_6026 -brif 109 L6024 L6025 -label L6024 +store __and_93_5944 108 +label L5947 +load 109 __and_93_5944 +brif 109 L5942 L5943 +label L5942 load 110 r load 111 gkind call 112 ir_ownership_ir_rc_retain_reg void 2 110 111 -jmp L6023 -label L6025 -label L6023 +jmp L5941 +label L5943 +label L5941 strref 113 m51s925 load 114 r call 115 int_to_string string 1 114 @@ -202380,13 +201519,13 @@ call 120 pith_cstring_release void 1 116 strref 121 m51s924 call 122 ir_builder_ir_emit void 1 121 call 123 pith_cstring_release void 1 121 -label L6009 -load 124 __for_idx_445 +label L5927 +load 124 __for_idx_444 iconst 125 1 add 126 124 125 -store __for_idx_445 126 -jmp L6007 -label L6010 +store __for_idx_444 126 +jmp L5925 +label L5928 load 127 cn call 128 pith_struct_release void 1 127 load 129 binding @@ -202539,21 +201678,21 @@ endfunc func ir_emitter_core_ir_name_is_threadlocal 1 bool param name iconst 1 0 -store __and_1_6030 1 +store __and_1_5948 1 load 2 ir_emitter_core_ir_threadlocal_slots load 3 name call 4 contains_key bool 2 2 3 -store __and_1_6030 4 -brif 4 L6030 L6031 -label L6030 +store __and_1_5948 4 +brif 4 L5948 L5949 +label L5948 load 5 ir_builder_ir_var_regs load 6 name call 7 contains_key bool 2 5 6 iconst 9 1 sub 8 9 7 -store __and_1_6030 8 -label L6031 -load 10 __and_1_6030 +store __and_1_5948 8 +label L5949 +load 10 __and_1_5948 ret 10 iconst 11 0 ret 11 @@ -202572,8 +201711,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L6033 L6034 -label L6033 +brif 10 L5951 L5952 +label L5951 strref 11 m51s877 load 12 dest_r call 13 int_to_string string 1 12 @@ -202589,17 +201728,17 @@ concat 22 18 21 call 23 pith_cstring_release void 1 18 call 24 ir_builder_ir_emit void 1 22 call 25 pith_cstring_release void 1 22 -jmp L6032 -label L6034 +jmp L5950 +label L5952 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L6035 L6036 -label L6035 +brif 27 L5953 L5954 +label L5953 load 28 dest_r load 29 name call 30 ir_emitter_core_ir_emit_tls_load void 2 28 29 -jmp L6032 -label L6036 +jmp L5950 +label L5954 strref 31 m51s877 load 32 dest_r call 33 int_to_string string 1 32 @@ -202617,7 +201756,7 @@ call 44 pith_cstring_release void 1 38 call 45 pith_cstring_release void 1 42 call 46 ir_builder_ir_emit void 1 43 call 47 pith_cstring_release void 1 43 -label L6032 +label L5950 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -202637,8 +201776,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L6038 L6039 -label L6038 +brif 10 L5956 L5957 +label L5956 strref 11 m51s878 load 12 loop_slot concat 13 11 12 @@ -202654,17 +201793,17 @@ call 22 pith_cstring_release void 1 16 call 23 pith_cstring_release void 1 20 call 24 ir_builder_ir_emit void 1 21 call 25 pith_cstring_release void 1 21 -jmp L6037 -label L6039 +jmp L5955 +label L5957 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L6040 L6041 -label L6040 +brif 27 L5958 L5959 +label L5958 load 28 name load 29 val_r call 30 ir_emitter_core_ir_emit_tls_store void 2 28 29 -jmp L6037 -label L6041 +jmp L5955 +label L5959 strref 31 m51s878 load 32 name call 33 ir_emitter_core_ir_resolve_storage_name string 1 32 @@ -202682,7 +201821,7 @@ call 44 pith_cstring_release void 1 38 call 45 pith_cstring_release void 1 42 call 46 ir_builder_ir_emit void 1 43 call 47 pith_cstring_release void 1 43 -label L6037 +label L5955 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -202693,13 +201832,13 @@ param dest_r param name load 2 name call 3 ir_emitter_core_ir_name_is_threadlocal bool 1 2 -brif 3 L6043 L6044 -label L6043 +brif 3 L5961 L5962 +label L5961 load 4 dest_r load 5 name call 6 ir_emitter_core_ir_emit_tls_load void 2 4 5 -jmp L6042 -label L6044 +jmp L5960 +label L5962 strref 7 m51s877 load 8 dest_r call 9 int_to_string string 1 8 @@ -202717,7 +201856,7 @@ call 20 pith_cstring_release void 1 14 call 21 pith_cstring_release void 1 18 call 22 ir_builder_ir_emit void 1 19 call 23 pith_cstring_release void 1 19 -label L6042 +label L5960 iconst 24 0 ret 24 endfunc @@ -202731,21 +201870,21 @@ load 3 root field 4 3 16 list children call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_446 6 -store __for_len_446 5 -store __for_iter_446 4 -label L6045 -load 7 __for_idx_446 -load 8 __for_len_446 +store __for_idx_445 6 +store __for_len_445 5 +store __for_iter_445 4 +label L5963 +load 7 __for_idx_445 +load 8 __for_len_445 lt 9 7 8 -brif 9 L6046 L6048 -label L6046 -load 10 __for_iter_446 -load 11 __for_idx_446 +brif 9 L5964 L5966 +label L5964 +load 10 __for_iter_445 +load 11 __for_idx_445 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_446_child 12 +store __loopvar_445_child 12 load 13 cn -load 14 __loopvar_446_child +load 14 __loopvar_445_child call 15 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store cn 15 @@ -202754,8 +201893,8 @@ field 18 17 0 string kind strref 19 m51s614 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L6050 L6051 -label L6050 +brif 20 L5968 L5969 +label L5968 load 22 inner load 23 cn field 24 23 16 list children @@ -202767,34 +201906,34 @@ store inner 27 load 29 inner field 30 29 0 string kind call 31 ir_ast_helpers_ir_is_binding_kind bool 1 30 -brif 31 L6053 L6054 -label L6053 +brif 31 L5971 L5972 +label L5971 load 32 inner iconst 33 1 call 34 ir_emitter_core_ir_emit_global_binding void 2 32 33 -jmp L6052 -label L6054 -label L6052 -jmp L6049 -label L6051 +jmp L5970 +label L5972 +label L5970 +jmp L5967 +label L5969 load 35 cn field 36 35 0 string kind call 37 ir_ast_helpers_ir_is_binding_kind bool 1 36 -brif 37 L6055 L6056 -label L6055 +brif 37 L5973 L5974 +label L5973 load 38 cn iconst 39 0 call 40 ir_emitter_core_ir_emit_global_binding void 2 38 39 -jmp L6049 -label L6056 -label L6049 -label L6047 -load 41 __for_idx_446 +jmp L5967 +label L5974 +label L5967 +label L5965 +load 41 __for_idx_445 iconst 42 1 add 43 41 42 -store __for_idx_446 43 -jmp L6045 -label L6048 +store __for_idx_445 43 +jmp L5963 +label L5966 load 44 cn call 45 pith_struct_release void 1 44 load 46 inner @@ -202811,14 +201950,14 @@ load 3 raw_name call 4 ir_struct_registry_ir_struct_needs_dtor bool 1 3 iconst 6 1 sub 5 6 4 -brif 5 L6058 L6059 -label L6058 +brif 5 L5976 L5977 +label L5976 load 7 sname call 8 pith_cstring_release void 1 7 iconst 9 0 ret 9 -label L6059 -label L6057 +label L5977 +label L5975 load 10 sname load 11 raw_name call 12 ir_struct_registry_ir_struct_base_name string 1 11 @@ -202886,7 +202025,7 @@ call 11 pith_cstring_release void 1 9 strref 12 m51s18 call 13 pith_list_push_value void 2 2 12 call 14 pith_cstring_release void 1 12 -strref 15 m51s715 +strref 15 m51s716 call 16 pith_list_push_value void 2 2 15 call 17 pith_cstring_release void 1 15 strref 18 m51s872 @@ -202897,21 +202036,21 @@ store kinds 2 load 22 kinds call 23 pith_auto_len int 1 22 iconst 24 0 -store __for_idx_447 24 -store __for_len_447 23 -store __for_iter_447 22 -label L6060 -load 25 __for_idx_447 -load 26 __for_len_447 +store __for_idx_446 24 +store __for_len_446 23 +store __for_iter_446 22 +label L5978 +load 25 __for_idx_446 +load 26 __for_len_446 lt 27 25 26 -brif 27 L6061 L6063 -label L6061 -load 28 __for_iter_447 -load 29 __for_idx_447 +brif 27 L5979 L5981 +label L5979 +load 28 __for_iter_446 +load 29 __for_idx_446 call 30 pith_list_get_value_unchecked string 2 28 29 -store __loopvar_447_k 30 +store __loopvar_446_k 30 strref 31 m51s1209 -load 32 __loopvar_447_k +load 32 __loopvar_446_k concat 33 31 32 call 34 pith_cstring_release void 1 31 iconst 35 1 @@ -202960,7 +202099,7 @@ call 75 pith_cstring_release void 1 72 call 76 ir_builder_ir_emit void 1 73 call 77 pith_cstring_release void 1 73 load 78 vr -load 79 __loopvar_447_k +load 79 __loopvar_446_k call 80 ir_ownership_ir_rc_release_reg void 2 78 79 call 81 ir_builder_ir_reg int 0 store zr 81 @@ -202987,13 +202126,13 @@ call 101 pith_cstring_release void 1 97 strref 102 m51s924 call 103 ir_builder_ir_emit void 1 102 call 104 pith_cstring_release void 1 102 -label L6062 -load 105 __for_idx_447 +label L5980 +load 105 __for_idx_446 iconst 106 1 add 107 105 106 -store __for_idx_447 107 -jmp L6060 -label L6063 +store __for_idx_446 107 +jmp L5978 +label L5981 load 108 kinds call 109 pith_list_release_handle void 1 108 iconst 110 0 @@ -203010,49 +202149,49 @@ load 3 ir_struct_registry_ir_struct_names call 4 map_keys list_string 1 3 call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_448 6 -store __for_len_448 5 -store __for_iter_448 4 -label L6064 -load 7 __for_idx_448 -load 8 __for_len_448 +store __for_idx_447 6 +store __for_len_447 5 +store __for_iter_447 4 +label L5982 +load 7 __for_idx_447 +load 8 __for_len_447 lt 9 7 8 -brif 9 L6065 L6067 -label L6065 -load 10 __for_iter_448 -load 11 __for_idx_448 +brif 9 L5983 L5985 +label L5983 +load 10 __for_iter_447 +load 11 __for_idx_447 call 12 pith_list_get_value_unchecked string 2 10 11 -store __loopvar_448_sname 12 -load 13 __loopvar_448_sname +store __loopvar_447_sname 12 +load 13 __loopvar_447_sname strref 14 m51s343 call 15 pith_cstring_index_of int 2 13 14 call 16 pith_cstring_release void 1 14 iconst 17 0 gte 18 15 17 -brif 18 L6069 L6070 -label L6069 -jmp L6066 -label L6070 -label L6068 +brif 18 L5987 L5988 +label L5987 +jmp L5984 +label L5988 +label L5986 load 19 ir_struct_registry_ir_boxed_enums -load 20 __loopvar_448_sname +load 20 __loopvar_447_sname call 21 contains_key bool 2 19 20 -brif 21 L6072 L6073 -label L6072 -jmp L6066 -label L6073 -label L6071 -load 22 __loopvar_448_sname +brif 21 L5990 L5991 +label L5990 +jmp L5984 +label L5991 +label L5989 +load 22 __loopvar_447_sname call 23 ir_struct_registry_ir_struct_needs_dtor bool 1 22 iconst 25 1 sub 24 25 23 -brif 24 L6075 L6076 -label L6075 -jmp L6066 -label L6076 -label L6074 +brif 24 L5993 L5994 +label L5993 +jmp L5984 +label L5994 +label L5992 strref 26 m51s1207 -load 27 __loopvar_448_sname +load 27 __loopvar_447_sname concat 28 26 27 call 29 pith_cstring_release void 1 26 iconst 30 1 @@ -203077,25 +202216,25 @@ call 47 pith_cstring_release void 1 42 call 48 pith_cstring_release void 1 45 call 49 ir_builder_ir_emit void 1 46 call 50 pith_cstring_release void 1 46 -load 51 __loopvar_448_sname +load 51 __loopvar_447_sname call 52 ir_struct_registry_ir_struct_field_count int 1 51 store count 52 iconst 53 0 store i 53 -label L6077 +label L5995 load 54 i load 55 count lt 56 54 55 -brif 56 L6078 L6079 -label L6078 +brif 56 L5996 L5997 +label L5996 load 57 fname -load 58 __loopvar_448_sname +load 58 __loopvar_447_sname load 59 i call 60 ir_struct_registry_ir_struct_field_name_at string 2 58 59 call 61 pith_cstring_release void 1 57 store fname 60 load 62 ftype -load 63 __loopvar_448_sname +load 63 __loopvar_447_sname load 64 fname call 65 ir_struct_registry_ir_struct_field_type_name string 2 63 64 call 66 pith_cstring_release void 1 62 @@ -203105,11 +202244,11 @@ load 68 ftype call 69 ir_struct_registry_ir_rc_field_kind string 1 68 call 70 pith_cstring_release void 1 67 store fkind 69 -load 71 __loopvar_448_sname +load 71 __loopvar_447_sname load 72 fname call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L6081 L6082 -label L6081 +brif 73 L5999 L6000 +label L5999 call 74 ir_builder_ir_reg int 0 store fr 74 strref 75 m51s885 @@ -203166,14 +202305,14 @@ call 124 pith_cstring_release void 1 118 call 125 pith_cstring_release void 1 122 call 126 ir_builder_ir_emit void 1 123 call 127 pith_cstring_release void 1 123 -jmp L6080 -label L6082 +jmp L5998 +label L6000 load 128 fkind call 129 string_len int 1 128 iconst 130 0 gt 131 129 130 -brif 131 L6083 L6084 -label L6083 +brif 131 L6001 L6002 +label L6001 call 132 ir_builder_ir_reg int 0 store fr 132 strref 133 m51s885 @@ -203214,15 +202353,15 @@ call 167 pith_cstring_release void 1 164 load 168 fr load 169 fkind call 170 ir_ownership_ir_rc_release_reg void 2 168 169 -jmp L6080 -label L6084 -label L6080 +jmp L5998 +label L6002 +label L5998 load 171 i iconst 172 1 add 173 171 172 store i 173 -jmp L6077 -label L6079 +jmp L5995 +label L5997 call 174 ir_builder_ir_reg int 0 store zr 174 strref 175 m51s880 @@ -203248,14 +202387,14 @@ call 194 pith_cstring_release void 1 190 strref 195 m51s924 call 196 ir_builder_ir_emit void 1 195 call 197 pith_cstring_release void 1 195 -label L6066 -load 198 __for_idx_448 +label L5984 +load 198 __for_idx_447 iconst 199 1 add 200 198 199 -store __for_idx_448 200 -jmp L6064 -label L6067 -load 201 __for_iter_448 +store __for_idx_447 200 +jmp L5982 +label L5985 +load 201 __for_iter_447 call 202 pith_list_release_handle void 1 201 load 203 fname call 204 pith_cstring_release void 1 203 @@ -203283,40 +202422,40 @@ load 6 ir_struct_registry_ir_boxed_enums call 7 map_keys list_string 1 6 call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_449 9 -store __for_len_449 8 -store __for_iter_449 7 -label L6085 -load 10 __for_idx_449 -load 11 __for_len_449 +store __for_idx_448 9 +store __for_len_448 8 +store __for_iter_448 7 +label L6003 +load 10 __for_idx_448 +load 11 __for_len_448 lt 12 10 11 -brif 12 L6086 L6088 -label L6086 -load 13 __for_iter_449 -load 14 __for_idx_449 +brif 12 L6004 L6006 +label L6004 +load 13 __for_iter_448 +load 14 __for_idx_448 call 15 pith_list_get_value_unchecked string 2 13 14 -store __loopvar_449_ename 15 -load 16 __loopvar_449_ename +store __loopvar_448_ename 15 +load 16 __loopvar_448_ename call 17 ir_struct_registry_ir_enum_needs_dtor bool 1 16 iconst 19 1 sub 18 19 17 -brif 18 L6090 L6091 -label L6090 -jmp L6087 -label L6091 -label L6089 +brif 18 L6008 L6009 +label L6008 +jmp L6005 +label L6009 +label L6007 load 20 ir_struct_registry_ir_enum_variant_lists -load 21 __loopvar_449_ename +load 21 __loopvar_448_ename call 22 contains_key bool 2 20 21 iconst 24 1 sub 23 24 22 -brif 23 L6093 L6094 -label L6093 -jmp L6087 -label L6094 -label L6092 +brif 23 L6011 L6012 +label L6011 +jmp L6005 +label L6012 +label L6010 strref 25 m51s1207 -load 26 __loopvar_449_ename +load 26 __loopvar_448_ename concat 27 25 26 call 28 pith_cstring_release void 1 25 iconst 29 1 @@ -203366,7 +202505,7 @@ call 70 ir_builder_ir_emit void 1 67 call 71 pith_cstring_release void 1 67 load 72 variants load 73 ir_struct_registry_ir_enum_variant_lists -load 74 __loopvar_449_ename +load 74 __loopvar_448_ename call 75 map_get_strict string 2 73 74 strref 76 m51s315 call 77 pith_string_split_to_list list_string 2 75 76 @@ -203375,15 +202514,15 @@ call 79 pith_list_release_handle void 1 72 store variants 77 iconst 80 0 store vi 80 -label L6095 +label L6013 load 81 vi load 82 variants call 83 pith_list_len int 1 82 lt 84 81 83 -brif 84 L6096 L6097 -label L6096 +brif 84 L6014 L6015 +label L6014 load 85 vkey -load 86 __loopvar_449_ename +load 86 __loopvar_448_ename strref 87 m51s26 concat 88 86 87 call 89 pith_cstring_release void 1 87 @@ -203397,8 +202536,8 @@ store vkey 93 load 96 ir_struct_registry_ir_enum_payload_kinds load 97 vkey call 98 contains_key bool 2 96 97 -brif 98 L6099 L6100 -label L6099 +brif 98 L6017 L6018 +label L6017 load 99 kinds load 100 ir_struct_registry_ir_enum_payload_kinds load 101 vkey @@ -203412,13 +202551,13 @@ iconst 107 0 store has_rc 107 iconst 108 0 store c 108 -label L6101 +label L6019 load 109 c load 110 kinds call 111 pith_list_len int 1 110 lt 112 109 111 -brif 112 L6102 L6103 -label L6102 +brif 112 L6020 L6021 +label L6020 load 113 kinds load 114 c call 115 pith_list_get_value_strict string 2 113 114 @@ -203427,22 +202566,22 @@ call 117 string_len int 1 116 call 118 pith_cstring_release void 1 116 iconst 119 0 gt 120 117 119 -brif 120 L6105 L6106 -label L6105 +brif 120 L6023 L6024 +label L6023 iconst 121 1 store has_rc 121 -jmp L6104 -label L6106 -label L6104 +jmp L6022 +label L6024 +label L6022 load 122 c iconst 123 1 add 124 122 123 store c 124 -jmp L6101 -label L6103 +jmp L6019 +label L6021 load 125 has_rc -brif 125 L6108 L6109 -label L6108 +brif 125 L6026 L6027 +label L6026 call 126 ir_builder_ir_reg int 0 store vtag 126 strref 127 m51s880 @@ -203524,13 +202663,13 @@ load 199 hit_l call 200 ir_call_emit_ir_emit_label void 1 199 iconst 201 0 store s 201 -label L6110 +label L6028 load 202 s load 203 kinds call 204 pith_list_len int 1 203 lt 205 202 204 -brif 205 L6111 L6112 -label L6111 +brif 205 L6029 L6030 +label L6029 load 206 rk load 207 kinds load 208 s @@ -203542,8 +202681,8 @@ load 212 rk call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -brif 215 L6114 L6115 -label L6114 +brif 215 L6032 L6033 +label L6032 call 216 ir_builder_ir_reg int 0 store slot_r 216 strref 217 m51s885 @@ -203588,29 +202727,29 @@ call 255 pith_cstring_release void 1 251 load 256 slot_r load 257 rk call 258 ir_ownership_ir_rc_release_reg void 2 256 257 -jmp L6113 -label L6115 -label L6113 +jmp L6031 +label L6033 +label L6031 load 259 s iconst 260 1 add 261 259 260 store s 261 -jmp L6110 -label L6112 +jmp L6028 +label L6030 load 262 skip_l call 263 ir_call_emit_ir_emit_label void 1 262 -jmp L6107 -label L6109 -label L6107 -jmp L6098 -label L6100 -label L6098 +jmp L6025 +label L6027 +label L6025 +jmp L6016 +label L6018 +label L6016 load 264 vi iconst 265 1 add 266 264 265 store vi 266 -jmp L6095 -label L6097 +jmp L6013 +label L6015 call 267 ir_builder_ir_reg int 0 store zr 267 strref 268 m51s880 @@ -203636,14 +202775,14 @@ call 287 pith_cstring_release void 1 283 strref 288 m51s924 call 289 ir_builder_ir_emit void 1 288 call 290 pith_cstring_release void 1 288 -label L6087 -load 291 __for_idx_449 +label L6005 +load 291 __for_idx_448 iconst 292 1 add 293 291 292 -store __for_idx_449 293 -jmp L6085 -label L6088 -load 294 __for_iter_449 +store __for_idx_448 293 +jmp L6003 +label L6006 +load 294 __for_iter_448 call 295 pith_list_release_handle void 1 294 load 296 variants call 297 pith_list_release_handle void 1 296 @@ -203685,21 +202824,21 @@ store kinds 2 load 19 kinds call 20 pith_auto_len int 1 19 iconst 21 0 -store __for_idx_450 21 -store __for_len_450 20 -store __for_iter_450 19 -label L6116 -load 22 __for_idx_450 -load 23 __for_len_450 +store __for_idx_449 21 +store __for_len_449 20 +store __for_iter_449 19 +label L6034 +load 22 __for_idx_449 +load 23 __for_len_449 lt 24 22 23 -brif 24 L6117 L6119 -label L6117 -load 25 __for_iter_450 -load 26 __for_idx_450 +brif 24 L6035 L6037 +label L6035 +load 25 __for_iter_449 +load 26 __for_idx_449 call 27 pith_list_get_value_unchecked string 2 25 26 -store __loopvar_450_k 27 +store __loopvar_449_k 27 strref 28 m51s1208 -load 29 __loopvar_450_k +load 29 __loopvar_449_k concat 30 28 29 call 31 pith_cstring_release void 1 28 iconst 32 1 @@ -203748,7 +202887,7 @@ call 72 pith_cstring_release void 1 69 call 73 ir_builder_ir_emit void 1 70 call 74 pith_cstring_release void 1 70 load 75 vr -load 76 __loopvar_450_k +load 76 __loopvar_449_k call 77 ir_ownership_ir_rc_visit_reg void 2 75 76 call 78 ir_builder_ir_reg int 0 store zr 78 @@ -203775,13 +202914,13 @@ call 98 pith_cstring_release void 1 94 strref 99 m51s924 call 100 ir_builder_ir_emit void 1 99 call 101 pith_cstring_release void 1 99 -label L6118 -load 102 __for_idx_450 +label L6036 +load 102 __for_idx_449 iconst 103 1 add 104 102 103 -store __for_idx_450 104 -jmp L6116 -label L6119 +store __for_idx_449 104 +jmp L6034 +label L6037 load 105 kinds call 106 pith_list_release_handle void 1 105 iconst 107 0 @@ -203798,58 +202937,58 @@ load 3 ir_struct_registry_ir_struct_names call 4 map_keys list_string 1 3 call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_451 6 -store __for_len_451 5 -store __for_iter_451 4 -label L6120 -load 7 __for_idx_451 -load 8 __for_len_451 +store __for_idx_450 6 +store __for_len_450 5 +store __for_iter_450 4 +label L6038 +load 7 __for_idx_450 +load 8 __for_len_450 lt 9 7 8 -brif 9 L6121 L6123 -label L6121 -load 10 __for_iter_451 -load 11 __for_idx_451 +brif 9 L6039 L6041 +label L6039 +load 10 __for_iter_450 +load 11 __for_idx_450 call 12 pith_list_get_value_unchecked string 2 10 11 -store __loopvar_451_sname 12 -load 13 __loopvar_451_sname +store __loopvar_450_sname 12 +load 13 __loopvar_450_sname strref 14 m51s343 call 15 pith_cstring_index_of int 2 13 14 call 16 pith_cstring_release void 1 14 iconst 17 0 gte 18 15 17 -brif 18 L6125 L6126 -label L6125 -jmp L6122 -label L6126 -label L6124 +brif 18 L6043 L6044 +label L6043 +jmp L6040 +label L6044 +label L6042 load 19 ir_struct_registry_ir_boxed_enums -load 20 __loopvar_451_sname +load 20 __loopvar_450_sname call 21 contains_key bool 2 19 20 -brif 21 L6128 L6129 -label L6128 -jmp L6122 -label L6129 -label L6127 -load 22 __loopvar_451_sname +brif 21 L6046 L6047 +label L6046 +jmp L6040 +label L6047 +label L6045 +load 22 __loopvar_450_sname call 23 ir_struct_registry_ir_struct_needs_dtor bool 1 22 iconst 25 1 sub 24 25 23 -brif 24 L6131 L6132 -label L6131 -jmp L6122 -label L6132 -label L6130 -load 26 __loopvar_451_sname +brif 24 L6049 L6050 +label L6049 +jmp L6040 +label L6050 +label L6048 +load 26 __loopvar_450_sname call 27 ir_emitter_core_ir_struct_needs_tracer bool 1 26 iconst 29 1 sub 28 29 27 -brif 28 L6134 L6135 -label L6134 -jmp L6122 -label L6135 -label L6133 +brif 28 L6052 L6053 +label L6052 +jmp L6040 +label L6053 +label L6051 strref 30 m51s1206 -load 31 __loopvar_451_sname +load 31 __loopvar_450_sname concat 32 30 31 call 33 pith_cstring_release void 1 30 iconst 34 1 @@ -203874,25 +203013,25 @@ call 51 pith_cstring_release void 1 46 call 52 pith_cstring_release void 1 49 call 53 ir_builder_ir_emit void 1 50 call 54 pith_cstring_release void 1 50 -load 55 __loopvar_451_sname +load 55 __loopvar_450_sname call 56 ir_struct_registry_ir_struct_field_count int 1 55 store count 56 iconst 57 0 store i 57 -label L6136 +label L6054 load 58 i load 59 count lt 60 58 59 -brif 60 L6137 L6138 -label L6137 +brif 60 L6055 L6056 +label L6055 load 61 fname -load 62 __loopvar_451_sname +load 62 __loopvar_450_sname load 63 i call 64 ir_struct_registry_ir_struct_field_name_at string 2 62 63 call 65 pith_cstring_release void 1 61 store fname 64 load 66 ftype -load 67 __loopvar_451_sname +load 67 __loopvar_450_sname load 68 fname call 69 ir_struct_registry_ir_struct_field_type_name string 2 67 68 call 70 pith_cstring_release void 1 66 @@ -203903,22 +203042,22 @@ call 73 ir_struct_registry_ir_rc_field_kind string 1 72 call 74 pith_cstring_release void 1 71 store fkind 73 iconst 75 0 -store __and_75_6142 75 -load 76 __loopvar_451_sname +store __and_75_6060 75 +load 76 __loopvar_450_sname load 77 fname call 78 ir_emitter_core_ir_struct_field_is_weak bool 2 76 77 iconst 80 1 sub 79 80 78 -store __and_75_6142 79 -brif 79 L6142 L6143 -label L6142 +store __and_75_6060 79 +brif 79 L6060 L6061 +label L6060 load 81 fkind call 82 ir_emitter_core_ir_trace_kind_enabled bool 1 81 -store __and_75_6142 82 -label L6143 -load 83 __and_75_6142 -brif 83 L6140 L6141 -label L6140 +store __and_75_6060 82 +label L6061 +load 83 __and_75_6060 +brif 83 L6058 L6059 +label L6058 call 84 ir_builder_ir_reg int 0 store fr 84 strref 85 m51s885 @@ -203959,15 +203098,15 @@ call 119 pith_cstring_release void 1 116 load 120 fr load 121 fkind call 122 ir_ownership_ir_rc_visit_reg void 2 120 121 -jmp L6139 -label L6141 -label L6139 +jmp L6057 +label L6059 +label L6057 load 123 i iconst 124 1 add 125 123 124 store i 125 -jmp L6136 -label L6138 +jmp L6054 +label L6056 call 126 ir_builder_ir_reg int 0 store zr 126 strref 127 m51s880 @@ -203993,14 +203132,14 @@ call 146 pith_cstring_release void 1 142 strref 147 m51s924 call 148 ir_builder_ir_emit void 1 147 call 149 pith_cstring_release void 1 147 -label L6122 -load 150 __for_idx_451 +label L6040 +load 150 __for_idx_450 iconst 151 1 add 152 150 151 -store __for_idx_451 152 -jmp L6120 -label L6123 -load 153 __for_iter_451 +store __for_idx_450 152 +jmp L6038 +label L6041 +load 153 __for_iter_450 call 154 pith_list_release_handle void 1 153 load 155 fname call 156 pith_cstring_release void 1 155 @@ -204028,40 +203167,40 @@ load 6 ir_struct_registry_ir_boxed_enums call 7 map_keys list_string 1 6 call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_452 9 -store __for_len_452 8 -store __for_iter_452 7 -label L6144 -load 10 __for_idx_452 -load 11 __for_len_452 +store __for_idx_451 9 +store __for_len_451 8 +store __for_iter_451 7 +label L6062 +load 10 __for_idx_451 +load 11 __for_len_451 lt 12 10 11 -brif 12 L6145 L6147 -label L6145 -load 13 __for_iter_452 -load 14 __for_idx_452 +brif 12 L6063 L6065 +label L6063 +load 13 __for_iter_451 +load 14 __for_idx_451 call 15 pith_list_get_value_unchecked string 2 13 14 -store __loopvar_452_ename 15 -load 16 __loopvar_452_ename +store __loopvar_451_ename 15 +load 16 __loopvar_451_ename call 17 ir_emitter_core_ir_enum_needs_tracer bool 1 16 iconst 19 1 sub 18 19 17 -brif 18 L6149 L6150 -label L6149 -jmp L6146 -label L6150 -label L6148 +brif 18 L6067 L6068 +label L6067 +jmp L6064 +label L6068 +label L6066 load 20 ir_struct_registry_ir_enum_variant_lists -load 21 __loopvar_452_ename +load 21 __loopvar_451_ename call 22 contains_key bool 2 20 21 iconst 24 1 sub 23 24 22 -brif 23 L6152 L6153 -label L6152 -jmp L6146 -label L6153 -label L6151 +brif 23 L6070 L6071 +label L6070 +jmp L6064 +label L6071 +label L6069 strref 25 m51s1206 -load 26 __loopvar_452_ename +load 26 __loopvar_451_ename concat 27 25 26 call 28 pith_cstring_release void 1 25 iconst 29 1 @@ -204111,7 +203250,7 @@ call 70 ir_builder_ir_emit void 1 67 call 71 pith_cstring_release void 1 67 load 72 variants load 73 ir_struct_registry_ir_enum_variant_lists -load 74 __loopvar_452_ename +load 74 __loopvar_451_ename call 75 map_get_strict string 2 73 74 strref 76 m51s315 call 77 pith_string_split_to_list list_string 2 75 76 @@ -204120,15 +203259,15 @@ call 79 pith_list_release_handle void 1 72 store variants 77 iconst 80 0 store vi 80 -label L6154 +label L6072 load 81 vi load 82 variants call 83 pith_list_len int 1 82 lt 84 81 83 -brif 84 L6155 L6156 -label L6155 +brif 84 L6073 L6074 +label L6073 load 85 vkey -load 86 __loopvar_452_ename +load 86 __loopvar_451_ename strref 87 m51s26 concat 88 86 87 call 89 pith_cstring_release void 1 87 @@ -204142,8 +203281,8 @@ store vkey 93 load 96 ir_struct_registry_ir_enum_payload_kinds load 97 vkey call 98 contains_key bool 2 96 97 -brif 98 L6158 L6159 -label L6158 +brif 98 L6076 L6077 +label L6076 load 99 kinds load 100 ir_struct_registry_ir_enum_payload_kinds load 101 vkey @@ -204157,35 +203296,35 @@ iconst 107 0 store has_trace 107 iconst 108 0 store c 108 -label L6160 +label L6078 load 109 c load 110 kinds call 111 pith_list_len int 1 110 lt 112 109 111 -brif 112 L6161 L6162 -label L6161 +brif 112 L6079 L6080 +label L6079 load 113 kinds load 114 c call 115 pith_list_get_value_strict string 2 113 114 call 116 ir_struct_registry_ir_rc_field_kind string 1 115 call 117 ir_emitter_core_ir_trace_kind_enabled bool 1 116 call 118 pith_cstring_release void 1 116 -brif 117 L6164 L6165 -label L6164 +brif 117 L6082 L6083 +label L6082 iconst 119 1 store has_trace 119 -jmp L6163 -label L6165 -label L6163 +jmp L6081 +label L6083 +label L6081 load 120 c iconst 121 1 add 122 120 121 store c 122 -jmp L6160 -label L6162 +jmp L6078 +label L6080 load 123 has_trace -brif 123 L6167 L6168 -label L6167 +brif 123 L6085 L6086 +label L6085 call 124 ir_builder_ir_reg int 0 store vtag 124 strref 125 m51s880 @@ -204267,13 +203406,13 @@ load 197 hit_l call 198 ir_call_emit_ir_emit_label void 1 197 iconst 199 0 store s 199 -label L6169 +label L6087 load 200 s load 201 kinds call 202 pith_list_len int 1 201 lt 203 200 202 -brif 203 L6170 L6171 -label L6170 +brif 203 L6088 L6089 +label L6088 load 204 rk load 205 kinds load 206 s @@ -204283,8 +203422,8 @@ call 209 pith_cstring_release void 1 204 store rk 208 load 210 rk call 211 ir_emitter_core_ir_trace_kind_enabled bool 1 210 -brif 211 L6173 L6174 -label L6173 +brif 211 L6091 L6092 +label L6091 call 212 ir_builder_ir_reg int 0 store slot_r 212 strref 213 m51s885 @@ -204329,29 +203468,29 @@ call 251 pith_cstring_release void 1 247 load 252 slot_r load 253 rk call 254 ir_ownership_ir_rc_visit_reg void 2 252 253 -jmp L6172 -label L6174 -label L6172 +jmp L6090 +label L6092 +label L6090 load 255 s iconst 256 1 add 257 255 256 store s 257 -jmp L6169 -label L6171 +jmp L6087 +label L6089 load 258 skip_l call 259 ir_call_emit_ir_emit_label void 1 258 -jmp L6166 -label L6168 -label L6166 -jmp L6157 -label L6159 -label L6157 +jmp L6084 +label L6086 +label L6084 +jmp L6075 +label L6077 +label L6075 load 260 vi iconst 261 1 add 262 260 261 store vi 262 -jmp L6154 -label L6156 +jmp L6072 +label L6074 call 263 ir_builder_ir_reg int 0 store zr 263 strref 264 m51s880 @@ -204377,14 +203516,14 @@ call 283 pith_cstring_release void 1 279 strref 284 m51s924 call 285 ir_builder_ir_emit void 1 284 call 286 pith_cstring_release void 1 284 -label L6146 -load 287 __for_idx_452 +label L6064 +load 287 __for_idx_451 iconst 288 1 add 289 287 288 -store __for_idx_452 289 -jmp L6144 -label L6147 -load 290 __for_iter_452 +store __for_idx_451 289 +jmp L6062 +label L6065 +load 290 __for_iter_451 call 291 pith_list_release_handle void 1 290 load 292 variants call 293 pith_list_release_handle void 1 292 @@ -204407,20 +203546,20 @@ store kind 0 load 1 ir_emitter_core_ir_tuple_dtor_sigs call 2 pith_auto_len int 1 1 iconst 3 0 -store __for_idx_453 3 -store __for_len_453 2 -store __for_iter_453 1 -label L6175 -load 4 __for_idx_453 -load 5 __for_len_453 +store __for_idx_452 3 +store __for_len_452 2 +store __for_iter_452 1 +label L6093 +load 4 __for_idx_452 +load 5 __for_len_452 lt 6 4 5 -brif 6 L6176 L6178 -label L6176 -load 7 __for_iter_453 -load 8 __for_idx_453 +brif 6 L6094 L6096 +label L6094 +load 7 __for_iter_452 +load 8 __for_idx_452 call 9 pith_list_get_value_unchecked string 2 7 8 -store __loopvar_453_sig 9 -load 10 __loopvar_453_sig +store __loopvar_452_sig 9 +load 10 __loopvar_452_sig call 11 ir_emitter_core_ir_tuple_dtor_name string 1 10 iconst 12 1 strref 13 m51s876 @@ -204446,15 +203585,15 @@ call 31 ir_builder_ir_emit void 1 28 call 32 pith_cstring_release void 1 28 iconst 33 0 store i 33 -label L6179 +label L6097 load 34 i -load 35 __loopvar_453_sig +load 35 __loopvar_452_sig call 36 string_len int 1 35 lt 37 34 36 -brif 37 L6180 L6181 -label L6180 +brif 37 L6098 L6099 +label L6098 load 38 kind -load 39 __loopvar_453_sig +load 39 __loopvar_452_sig load 40 i call 41 pith_cstring_char_at_strict string 2 39 40 call 42 ir_emitter_core_ir_tuple_dtor_code_kind string 1 41 @@ -204465,8 +203604,8 @@ load 45 kind call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L6183 L6184 -label L6183 +brif 48 L6101 L6102 +label L6101 call 49 ir_builder_ir_reg int 0 store fr 49 strref 50 m51s885 @@ -204509,15 +203648,15 @@ call 86 pith_cstring_release void 1 82 load 87 fr load 88 kind call 89 ir_ownership_ir_rc_release_reg void 2 87 88 -jmp L6182 -label L6184 -label L6182 +jmp L6100 +label L6102 +label L6100 load 90 i iconst 91 1 add 92 90 91 store i 92 -jmp L6179 -label L6181 +jmp L6097 +label L6099 call 93 ir_builder_ir_reg int 0 store zr 93 strref 94 m51s880 @@ -204543,13 +203682,13 @@ call 113 pith_cstring_release void 1 109 strref 114 m51s924 call 115 ir_builder_ir_emit void 1 114 call 116 pith_cstring_release void 1 114 -label L6177 -load 117 __for_idx_453 +label L6095 +load 117 __for_idx_452 iconst 118 1 add 119 117 118 -store __for_idx_453 119 -jmp L6175 -label L6178 +store __for_idx_452 119 +jmp L6093 +label L6096 load 120 kind call 121 pith_cstring_release void 1 120 iconst 122 0 @@ -204561,29 +203700,29 @@ store kind 0 load 1 ir_emitter_core_ir_tuple_dtor_sigs call 2 pith_auto_len int 1 1 iconst 3 0 -store __for_idx_454 3 -store __for_len_454 2 -store __for_iter_454 1 -label L6185 -load 4 __for_idx_454 -load 5 __for_len_454 +store __for_idx_453 3 +store __for_len_453 2 +store __for_iter_453 1 +label L6103 +load 4 __for_idx_453 +load 5 __for_len_453 lt 6 4 5 -brif 6 L6186 L6188 -label L6186 -load 7 __for_iter_454 -load 8 __for_idx_454 +brif 6 L6104 L6106 +label L6104 +load 7 __for_iter_453 +load 8 __for_idx_453 call 9 pith_list_get_value_unchecked string 2 7 8 -store __loopvar_454_sig 9 -load 10 __loopvar_454_sig +store __loopvar_453_sig 9 +load 10 __loopvar_453_sig call 11 ir_emitter_core_ir_tuple_sig_has_trace bool 1 10 iconst 13 1 sub 12 13 11 -brif 12 L6190 L6191 -label L6190 -jmp L6187 -label L6191 -label L6189 -load 14 __loopvar_454_sig +brif 12 L6108 L6109 +label L6108 +jmp L6105 +label L6109 +label L6107 +load 14 __loopvar_453_sig call 15 ir_emitter_core_ir_tuple_tracer_name string 1 14 iconst 16 1 strref 17 m51s876 @@ -204609,15 +203748,15 @@ call 35 ir_builder_ir_emit void 1 32 call 36 pith_cstring_release void 1 32 iconst 37 0 store i 37 -label L6192 +label L6110 load 38 i -load 39 __loopvar_454_sig +load 39 __loopvar_453_sig call 40 string_len int 1 39 lt 41 38 40 -brif 41 L6193 L6194 -label L6193 +brif 41 L6111 L6112 +label L6111 load 42 kind -load 43 __loopvar_454_sig +load 43 __loopvar_453_sig load 44 i call 45 pith_cstring_char_at_strict string 2 43 44 call 46 ir_emitter_core_ir_tuple_dtor_code_kind string 1 45 @@ -204626,8 +203765,8 @@ call 48 pith_cstring_release void 1 42 store kind 46 load 49 kind call 50 ir_emitter_core_ir_trace_kind_enabled bool 1 49 -brif 50 L6196 L6197 -label L6196 +brif 50 L6114 L6115 +label L6114 call 51 ir_builder_ir_reg int 0 store fr 51 strref 52 m51s885 @@ -204670,15 +203809,15 @@ call 88 pith_cstring_release void 1 84 load 89 fr load 90 kind call 91 ir_ownership_ir_rc_visit_reg void 2 89 90 -jmp L6195 -label L6197 -label L6195 +jmp L6113 +label L6115 +label L6113 load 92 i iconst 93 1 add 94 92 93 store i 94 -jmp L6192 -label L6194 +jmp L6110 +label L6112 call 95 ir_builder_ir_reg int 0 store zr 95 strref 96 m51s880 @@ -204704,13 +203843,13 @@ call 115 pith_cstring_release void 1 111 strref 116 m51s924 call 117 ir_builder_ir_emit void 1 116 call 118 pith_cstring_release void 1 116 -label L6187 -load 119 __for_idx_454 +label L6105 +load 119 __for_idx_453 iconst 120 1 add 121 119 120 -store __for_idx_454 121 -jmp L6185 -label L6188 +store __for_idx_453 121 +jmp L6103 +label L6106 load 122 kind call 123 pith_cstring_release void 1 122 iconst 124 0 @@ -204739,35 +203878,35 @@ load 9 ir_struct_registry_ir_boxed_enums call 10 map_keys list_string 1 9 call 11 pith_auto_len int 1 10 iconst 12 0 -store __for_idx_455 12 -store __for_len_455 11 -store __for_iter_455 10 -label L6198 -load 13 __for_idx_455 -load 14 __for_len_455 +store __for_idx_454 12 +store __for_len_454 11 +store __for_iter_454 10 +label L6116 +load 13 __for_idx_454 +load 14 __for_len_454 lt 15 13 14 -brif 15 L6199 L6201 -label L6199 -load 16 __for_iter_455 -load 17 __for_idx_455 +brif 15 L6117 L6119 +label L6117 +load 16 __for_iter_454 +load 17 __for_idx_454 call 18 pith_list_get_value_unchecked string 2 16 17 -store __loopvar_455_ename 18 +store __loopvar_454_ename 18 load 19 ir_struct_registry_ir_enum_variant_lists -load 20 __loopvar_455_ename +load 20 __loopvar_454_ename call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L6203 L6204 -label L6203 -jmp L6200 -label L6204 -label L6202 +brif 22 L6121 L6122 +label L6121 +jmp L6118 +label L6122 +label L6120 strref 24 m51s1215 -load 25 __loopvar_455_ename +load 25 __loopvar_454_ename concat 26 24 25 call 27 pith_cstring_release void 1 24 iconst 28 2 -strref 29 m51s714 +strref 29 m51s715 call 30 ir_emitter_core_ir_emit_func_header void 3 26 28 29 call 31 pith_cstring_release void 1 26 call 32 pith_cstring_release void 1 29 @@ -204945,7 +204084,7 @@ call 194 ir_builder_ir_emit void 1 191 call 195 pith_cstring_release void 1 191 load 196 variants load 197 ir_struct_registry_ir_enum_variant_lists -load 198 __loopvar_455_ename +load 198 __loopvar_454_ename call 199 map_get_strict string 2 197 198 strref 200 m51s315 call 201 pith_string_split_to_list list_string 2 199 200 @@ -204980,15 +204119,15 @@ concat 226 222 225 call 227 pith_cstring_release void 1 222 call 228 ir_builder_ir_emit void 1 226 call 229 pith_cstring_release void 1 226 -label L6205 +label L6123 load 230 vi load 231 variants call 232 pith_list_len int 1 231 lt 233 230 232 -brif 233 L6206 L6207 -label L6206 +brif 233 L6124 L6125 +label L6124 load 234 vkey -load 235 __loopvar_455_ename +load 235 __loopvar_454_ename strref 236 m51s26 concat 237 235 236 call 238 pith_cstring_release void 1 236 @@ -205002,8 +204141,8 @@ store vkey 242 load 245 ir_struct_registry_ir_enum_payload_kinds load 246 vkey call 247 contains_key bool 2 245 246 -brif 247 L6209 L6210 -label L6209 +brif 247 L6127 L6128 +label L6127 load 248 chain_l call 249 ir_call_emit_ir_emit_label void 1 248 load 250 chain_l @@ -205096,13 +204235,13 @@ call 332 pith_list_release_handle void 1 325 store kinds 330 iconst 333 0 store k 333 -label L6211 +label L6129 load 334 k load 335 kinds call 336 pith_list_len int 1 335 lt 337 334 336 -brif 337 L6212 L6213 -label L6212 +brif 337 L6130 L6131 +label L6130 call 338 ir_builder_ir_reg int 0 store fa 338 strref 339 m51s885 @@ -205190,28 +204329,28 @@ store cmp_r 418 load 419 kinds load 420 k call 421 pith_list_get_value_strict string 2 419 420 -strref 422 m51s716 +strref 422 m51s717 call 423 pith_cstring_eq bool 2 421 422 call 424 pith_cstring_release void 1 422 -brif 423 L6215 L6216 -label L6215 +brif 423 L6133 L6134 +label L6133 load 425 cmp_r -strref 426 m51s767 -strref 427 m51s714 +strref 426 m51s768 +strref 427 m51s715 load 428 fa load 429 fb call 430 ir_call_emit_ir_emit_call2 void 5 425 426 427 428 429 call 431 pith_cstring_release void 1 426 call 432 pith_cstring_release void 1 427 -jmp L6214 -label L6216 +jmp L6132 +label L6134 load 433 ir_struct_registry_ir_boxed_enums load 434 kinds load 435 k call 436 pith_list_get_value_strict string 2 434 435 call 437 contains_key bool 2 433 436 -brif 437 L6217 L6218 -label L6217 +brif 437 L6135 L6136 +label L6135 load 438 cmp_r strref 439 m51s1215 load 440 kinds @@ -205219,14 +204358,14 @@ load 441 k call 442 pith_list_get_value_strict string 2 440 441 concat 443 439 442 call 444 pith_cstring_release void 1 439 -strref 445 m51s714 +strref 445 m51s715 load 446 fa load 447 fb call 448 ir_call_emit_ir_emit_call2 void 5 438 443 445 446 447 call 449 pith_cstring_release void 1 443 call 450 pith_cstring_release void 1 445 -jmp L6214 -label L6218 +jmp L6132 +label L6136 strref 451 m51s887 load 452 cmp_r call 453 int_to_string string 1 452 @@ -205253,7 +204392,7 @@ call 473 pith_cstring_release void 1 467 call 474 pith_cstring_release void 1 471 call 475 ir_builder_ir_emit void 1 472 call 476 pith_cstring_release void 1 472 -label L6214 +label L6132 load 477 next_slot_l call 478 ir_builder_ir_label string 0 call 479 pith_cstring_release void 1 477 @@ -205286,23 +204425,23 @@ load 504 k iconst 505 1 add 506 504 505 store k 506 -jmp L6211 -label L6213 +jmp L6129 +label L6131 strref 507 m51s881 load 508 true_l concat 509 507 508 call 510 pith_cstring_release void 1 507 call 511 ir_builder_ir_emit void 1 509 call 512 pith_cstring_release void 1 509 -jmp L6208 -label L6210 -label L6208 +jmp L6126 +label L6128 +label L6126 load 513 vi iconst 514 1 add 515 513 514 store vi 515 -jmp L6205 -label L6207 +jmp L6123 +label L6125 load 516 chain_l call 517 ir_call_emit_ir_emit_label void 1 516 strref 518 m51s881 @@ -205362,14 +204501,14 @@ call 569 pith_cstring_release void 1 565 strref 570 m51s924 call 571 ir_builder_ir_emit void 1 570 call 572 pith_cstring_release void 1 570 -label L6200 -load 573 __for_idx_455 +label L6118 +load 573 __for_idx_454 iconst 574 1 add 575 573 574 -store __for_idx_455 575 -jmp L6198 -label L6201 -load 576 __for_iter_455 +store __for_idx_454 575 +jmp L6116 +label L6119 +load 576 __for_iter_454 call 577 pith_list_release_handle void 1 576 load 578 true_l call 579 pith_cstring_release void 1 578 @@ -205407,16 +204546,16 @@ load 7 parts field 8 7 8 int val_idx iconst 9 0 lt 10 8 9 -brif 10 L6220 L6221 -label L6220 +brif 10 L6138 L6139 +label L6138 iconst 11 0 load 12 parts call 13 pith_struct_release void 1 12 load 14 vk call 15 pith_cstring_release void 1 14 ret 11 -label L6221 -label L6219 +label L6139 +label L6137 load 16 vk load 17 parts field 18 17 8 int val_idx @@ -205426,93 +204565,93 @@ call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 16 store vk 20 iconst 23 0 -store __or_23_6225 23 +store __or_23_6143 23 iconst 24 0 -store __or_24_6225 24 +store __or_24_6143 24 iconst 25 0 -store __or_25_6225 25 +store __or_25_6143 25 load 26 vk strref 27 m51s531 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_25_6225 28 -brif 28 L6226 L6225 -label L6225 +store __or_25_6143 28 +brif 28 L6144 L6143 +label L6143 load 30 vk strref 31 m51s528 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_25_6225 32 -label L6226 -load 34 __or_25_6225 -store __or_24_6225 34 -brif 34 L6228 L6227 -label L6227 +store __or_25_6143 32 +label L6144 +load 34 __or_25_6143 +store __or_24_6143 34 +brif 34 L6146 L6145 +label L6145 load 35 vk strref 36 m51s76 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_24_6225 37 -label L6228 -load 39 __or_24_6225 -store __or_23_6225 39 -brif 39 L6230 L6229 -label L6229 +store __or_24_6143 37 +label L6146 +load 39 __or_24_6143 +store __or_23_6143 39 +brif 39 L6148 L6147 +label L6147 load 40 vk strref 41 m51s75 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_23_6225 42 -label L6230 -load 44 __or_23_6225 -brif 44 L6223 L6224 -label L6223 +store __or_23_6143 42 +label L6148 +load 44 __or_23_6143 +brif 44 L6141 L6142 +label L6141 iconst 45 0 load 46 parts call 47 pith_struct_release void 1 46 load 48 vk call 49 pith_cstring_release void 1 48 ret 45 -label L6224 -label L6222 +label L6142 +label L6140 iconst 50 0 -store __or_50_6234 50 +store __or_50_6152 50 iconst 51 0 -store __or_51_6234 51 +store __or_51_6152 51 load 52 vk strref 53 m51s529 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_51_6234 54 -brif 54 L6235 L6234 -label L6234 +store __or_51_6152 54 +brif 54 L6153 L6152 +label L6152 load 56 vk -strref 57 m51s716 +strref 57 m51s717 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_51_6234 58 -label L6235 -load 60 __or_51_6234 -store __or_50_6234 60 -brif 60 L6237 L6236 -label L6236 +store __or_51_6152 58 +label L6153 +load 60 __or_51_6152 +store __or_50_6152 60 +brif 60 L6155 L6154 +label L6154 load 61 vk strref 62 m51s1076 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __or_50_6234 63 -label L6237 -load 65 __or_50_6234 -brif 65 L6232 L6233 -label L6232 +store __or_50_6152 63 +label L6155 +load 65 __or_50_6152 +brif 65 L6150 L6151 +label L6150 iconst 66 0 load 67 parts call 68 pith_struct_release void 1 67 load 69 vk call 70 pith_cstring_release void 1 69 ret 66 -label L6233 -label L6231 +label L6151 +label L6149 iconst 71 1 load 72 parts call 73 pith_struct_release void 1 72 @@ -205546,56 +204685,56 @@ load 8 root field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_456 11 -store __for_len_456 10 -store __for_iter_456 9 -label L6238 -load 12 __for_idx_456 -load 13 __for_len_456 +store __for_idx_455 11 +store __for_len_455 10 +store __for_iter_455 9 +label L6156 +load 12 __for_idx_455 +load 13 __for_len_455 lt 14 12 13 -brif 14 L6239 L6241 -label L6239 -load 15 __for_iter_456 -load 16 __for_idx_456 +brif 14 L6157 L6159 +label L6157 +load 15 __for_iter_455 +load 16 __for_idx_455 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_456_child 17 +store __loopvar_455_child 17 load 18 cn -load 19 __loopvar_456_child +load 19 __loopvar_455_child call 20 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 iconst 22 0 -store __and_22_6245 22 +store __and_22_6163 22 load 23 cn field 24 23 0 string kind call 25 ir_ast_helpers_ir_is_binding_kind bool 1 24 -store __and_22_6245 25 -brif 25 L6245 L6246 -label L6245 +store __and_22_6163 25 +brif 25 L6163 L6164 +label L6163 load 26 cn call 27 ir_emitter_core_ir_global_needs_runtime_init bool 1 26 -store __and_22_6245 27 -label L6246 -load 28 __and_22_6245 -brif 28 L6243 L6244 -label L6243 +store __and_22_6163 27 +label L6164 +load 28 __and_22_6163 +brif 28 L6161 L6162 +label L6161 iconst 29 1 store has_runtime_inits 29 -jmp L6242 -label L6244 -label L6242 -label L6240 -load 30 __for_idx_456 +jmp L6160 +label L6162 +label L6160 +label L6158 +load 30 __for_idx_455 iconst 31 1 add 32 30 31 -store __for_idx_456 32 -jmp L6238 -label L6241 +store __for_idx_455 32 +jmp L6156 +label L6159 load 33 has_runtime_inits iconst 35 1 sub 34 35 33 -brif 34 L6248 L6249 -label L6248 +brif 34 L6166 L6167 +label L6166 load 36 cn call 37 pith_struct_release void 1 36 load 38 gname @@ -205610,11 +204749,11 @@ load 46 gkind call 47 pith_cstring_release void 1 46 iconst 48 0 ret 48 -label L6249 -label L6247 +label L6167 +label L6165 strref 49 m51s1214 iconst 50 0 -strref 51 m51s712 +strref 51 m51s713 call 52 ir_emitter_core_ir_emit_func_header void 3 49 50 51 call 53 pith_cstring_release void 1 49 call 54 pith_cstring_release void 1 51 @@ -205622,39 +204761,39 @@ load 55 root field 56 55 16 list children call 57 pith_auto_len int 1 56 iconst 58 0 -store __for_idx_457 58 -store __for_len_457 57 -store __for_iter_457 56 -label L6250 -load 59 __for_idx_457 -load 60 __for_len_457 +store __for_idx_456 58 +store __for_len_456 57 +store __for_iter_456 56 +label L6168 +load 59 __for_idx_456 +load 60 __for_len_456 lt 61 59 60 -brif 61 L6251 L6253 -label L6251 -load 62 __for_iter_457 -load 63 __for_idx_457 +brif 61 L6169 L6171 +label L6169 +load 62 __for_iter_456 +load 63 __for_idx_456 call 64 pith_list_get_value unknown 2 62 63 -store __loopvar_457_child 64 +store __loopvar_456_child 64 load 65 cn -load 66 __loopvar_457_child +load 66 __loopvar_456_child call 67 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 66 call 68 pith_struct_release void 1 65 store cn 67 iconst 69 0 -store __and_69_6257 69 +store __and_69_6175 69 load 70 cn field 71 70 0 string kind call 72 ir_ast_helpers_ir_is_binding_kind bool 1 71 -store __and_69_6257 72 -brif 72 L6257 L6258 -label L6257 +store __and_69_6175 72 +brif 72 L6175 L6176 +label L6175 load 73 cn call 74 ir_emitter_core_ir_global_needs_runtime_init bool 1 73 -store __and_69_6257 74 -label L6258 -load 75 __and_69_6257 -brif 75 L6255 L6256 -label L6255 +store __and_69_6175 74 +label L6176 +load 75 __and_69_6175 +brif 75 L6173 L6174 +label L6173 load 76 gname load 77 cn call 78 ir_ast_helpers_ir_binding_name string 1 77 @@ -205673,32 +204812,32 @@ load 87 parts field 88 87 16 int type_idx iconst 89 0 gte 90 88 89 -brif 90 L6260 L6261 -label L6260 +brif 90 L6178 L6179 +label L6178 load 91 target load 92 parts field 93 92 16 int type_idx call 94 ir_alias_registry_ir_resolve_type_node string 1 93 call 95 pith_cstring_release void 1 91 store target 94 -jmp L6259 -label L6261 -label L6259 +jmp L6177 +label L6179 +label L6177 load 96 target call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L6263 L6264 -label L6263 +brif 99 L6181 L6182 +label L6181 load 100 target load 101 parts field 102 101 8 int val_idx call 103 ir_emitter_core_ir_infer_type string 1 102 call 104 pith_cstring_release void 1 100 store target 103 -jmp L6262 -label L6264 -label L6262 +jmp L6180 +label L6182 +label L6180 load 105 gtarget load 106 gname load 107 target @@ -205716,42 +204855,42 @@ call 116 ir_struct_registry_ir_rc_kind string 1 115 call 117 pith_cstring_release void 1 114 store gkind 116 iconst 118 0 -store __and_118_6268 118 +store __and_118_6186 118 iconst 119 0 -store __and_119_6268 119 +store __and_119_6186 119 load 120 gkind call 121 string_len int 1 120 iconst 122 0 gt 123 121 122 -store __and_119_6268 123 -brif 123 L6268 L6269 -label L6268 +store __and_119_6186 123 +brif 123 L6186 L6187 +label L6186 load 124 gtarget strref 125 m51s23 call 127 pith_cstring_eq bool 2 124 125 iconst 128 1 sub 126 128 127 call 129 pith_cstring_release void 1 125 -store __and_119_6268 126 -label L6269 -load 130 __and_119_6268 -store __and_118_6268 130 -brif 130 L6270 L6271 -label L6270 +store __and_119_6186 126 +label L6187 +load 130 __and_119_6186 +store __and_118_6186 130 +brif 130 L6188 L6189 +label L6188 load 131 parts field 132 131 8 int val_idx call 133 ir_emitter_core_ir_string_expr_is_borrowed bool 1 132 -store __and_118_6268 133 -label L6271 -load 134 __and_118_6268 -brif 134 L6266 L6267 -label L6266 +store __and_118_6186 133 +label L6189 +load 134 __and_118_6186 +brif 134 L6184 L6185 +label L6184 load 135 r load 136 gkind call 137 ir_ownership_ir_rc_retain_reg void 2 135 136 -jmp L6265 -label L6267 -label L6265 +jmp L6183 +label L6185 +label L6183 strref 138 m51s878 load 139 gname concat 140 138 139 @@ -205767,16 +204906,16 @@ call 149 pith_cstring_release void 1 143 call 150 pith_cstring_release void 1 147 call 151 ir_builder_ir_emit void 1 148 call 152 pith_cstring_release void 1 148 -jmp L6254 -label L6256 -label L6254 -label L6252 -load 153 __for_idx_457 +jmp L6172 +label L6174 +label L6172 +label L6170 +load 153 __for_idx_456 iconst 154 1 add 155 153 154 -store __for_idx_457 155 -jmp L6250 -label L6253 +store __for_idx_456 155 +jmp L6168 +label L6171 call 156 ir_builder_ir_reg int 0 store dr 156 strref 157 m51s880 @@ -205830,105 +204969,105 @@ load 5 root_idx call 6 ir_tree_cache_ir_root_items list 1 5 call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_458 8 -store __for_len_458 7 -store __for_iter_458 6 -label L6272 -load 9 __for_idx_458 -load 10 __for_len_458 +store __for_idx_457 8 +store __for_len_457 7 +store __for_iter_457 6 +label L6190 +load 9 __for_idx_457 +load 10 __for_len_457 lt 11 9 10 -brif 11 L6273 L6275 -label L6273 -load 12 __for_iter_458 -load 13 __for_idx_458 +brif 11 L6191 L6193 +label L6191 +load 12 __for_iter_457 +load 13 __for_idx_457 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_458_item_idx 14 +store __loopvar_457_item_idx 14 load 15 actual_node -load 16 __loopvar_458_item_idx +load 16 __loopvar_457_item_idx call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store actual_node 17 iconst 19 0 -store __or_19_6279 19 +store __or_19_6197 19 load 20 actual_node field 21 20 0 string kind -strref 22 m51s649 +strref 22 m51s650 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __or_19_6279 23 -brif 23 L6280 L6279 -label L6279 +store __or_19_6197 23 +brif 23 L6198 L6197 +label L6197 load 25 actual_node field 26 25 0 string kind strref 27 m51s601 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_19_6279 28 -label L6280 -load 30 __or_19_6279 -brif 30 L6277 L6278 -label L6277 +store __or_19_6197 28 +label L6198 +load 30 __or_19_6197 +brif 30 L6195 L6196 +label L6195 load 31 actual_node call 32 ir_generics_ir_has_generic_params bool 1 31 -brif 32 L6282 L6283 -label L6282 -jmp L6274 -label L6283 -label L6281 +brif 32 L6200 L6201 +label L6200 +jmp L6192 +label L6201 +label L6199 iconst 33 0 -store __and_33_6287 33 +store __and_33_6205 33 load 34 ir_emitter_core_ir_emit_tests -store __and_33_6287 34 -brif 34 L6287 L6288 -label L6287 +store __and_33_6205 34 +brif 34 L6205 L6206 +label L6205 load 35 actual_node field 36 35 8 string value strref 37 m51s1213 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __and_33_6287 38 -label L6288 -load 40 __and_33_6287 +store __and_33_6205 38 +label L6206 +load 40 __and_33_6205 iconst 42 1 sub 41 42 40 -brif 41 L6285 L6286 -label L6285 -load 43 __loopvar_458_item_idx +brif 41 L6203 L6204 +label L6203 +load 43 __loopvar_457_item_idx call 44 ir_emitter_core_ir_func void 1 43 -jmp L6284 -label L6286 -label L6284 -jmp L6276 -label L6278 +jmp L6202 +label L6204 +label L6202 +jmp L6194 +label L6196 load 45 actual_node field 46 45 0 string kind strref 47 m51s612 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -brif 48 L6289 L6290 -label L6289 +brif 48 L6207 L6208 +label L6207 load 50 ir_emitter_core_ir_emit_tests -brif 50 L6292 L6293 -label L6292 -load 51 __loopvar_458_item_idx +brif 50 L6210 L6211 +label L6210 +load 51 __loopvar_457_item_idx load 52 test_ord call 53 ir_emitter_core_ir_emit_test_func void 2 51 52 load 54 test_ord iconst 55 1 add 56 54 55 store test_ord 56 -jmp L6291 -label L6293 -label L6291 -jmp L6276 -label L6290 +jmp L6209 +label L6211 +label L6209 +jmp L6194 +label L6208 load 57 actual_node field 58 57 0 string kind strref 59 m51s613 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L6294 L6295 -label L6294 +brif 60 L6212 L6213 +label L6212 load 62 impl_type load 63 actual_node call 64 ir_emitter_core_ir_impl_target_type string 1 63 @@ -205937,26 +205076,26 @@ store impl_type 64 load 66 actual_node load 67 impl_type call 68 ir_emitter_core_ir_emit_impl_methods void 2 66 67 -jmp L6276 -label L6295 -label L6276 -label L6274 -load 69 __for_idx_458 +jmp L6194 +label L6213 +label L6194 +label L6192 +load 69 __for_idx_457 iconst 70 1 add 71 69 70 -store __for_idx_458 71 -jmp L6272 -label L6275 -load 72 __for_iter_458 +store __for_idx_457 71 +jmp L6190 +label L6193 +load 72 __for_iter_457 call 73 pith_list_release_handle void 1 72 load 74 ir_emitter_core_ir_emit_tests -brif 74 L6297 L6298 -label L6297 +brif 74 L6215 L6216 +label L6215 load 75 root_idx call 76 ir_emitter_core_ir_emit_test_main void 1 75 -jmp L6296 -label L6298 -label L6296 +jmp L6214 +label L6216 +label L6214 load 77 actual_node call 78 pith_struct_release void 1 77 load 79 impl_type @@ -205993,33 +205132,33 @@ store builtin_names 4 load 8 builtin_names call 9 pith_auto_len int 1 8 iconst 10 0 -store __for_idx_459 10 -store __for_len_459 9 -store __for_iter_459 8 -label L6299 -load 11 __for_idx_459 -load 12 __for_len_459 +store __for_idx_458 10 +store __for_len_458 9 +store __for_iter_458 8 +label L6217 +load 11 __for_idx_458 +load 12 __for_len_458 lt 13 11 12 -brif 13 L6300 L6302 -label L6300 -load 14 __for_iter_459 -load 15 __for_idx_459 +brif 13 L6218 L6220 +label L6218 +load 14 __for_iter_458 +load 15 __for_idx_458 call 16 pith_list_get_value_unchecked string 2 14 15 -store __loopvar_459_builtin_name 16 -load 17 __loopvar_459_builtin_name +store __loopvar_458_builtin_name 16 +load 17 __loopvar_458_builtin_name strref 18 m51s1079 concat 19 17 18 call 20 pith_cstring_release void 1 18 call 21 ir_builder_ir_str string 1 19 call 22 pith_cstring_release void 1 19 call 23 pith_cstring_release void 1 21 -label L6301 -load 24 __for_idx_459 +label L6219 +load 24 __for_idx_458 iconst 25 1 add 26 24 25 -store __for_idx_459 26 -jmp L6299 -label L6302 +store __for_idx_458 26 +jmp L6217 +label L6220 load 27 builtin_names call 28 pith_list_release_handle void 1 27 iconst 29 0 @@ -206036,33 +205175,33 @@ store ir_alias_registry_ir_import_declared_globals 3 load 4 ir_emitter_core_ir_preloaded_import_roots call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_460 6 -store __for_len_460 5 -store __for_iter_460 4 -label L6303 -load 7 __for_idx_460 -load 8 __for_len_460 +store __for_idx_459 6 +store __for_len_459 5 +store __for_iter_459 4 +label L6221 +load 7 __for_idx_459 +load 8 __for_len_459 lt 9 7 8 -brif 9 L6304 L6306 -label L6304 -load 10 __for_iter_460 -load 11 __for_idx_460 +brif 9 L6222 L6224 +label L6222 +load 10 __for_iter_459 +load 11 __for_idx_459 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_460_root 12 -load 13 __for_idx_460 -store __loopvar_460_i 13 -load 14 __loopvar_460_root +store __loopvar_459_root 12 +load 13 __for_idx_459 +store __loopvar_459_i 13 +load 14 __loopvar_459_root load 15 ir_emitter_core_ir_preloaded_import_paths -load 16 __loopvar_460_i +load 16 __loopvar_459_i call 17 pith_list_get_value_strict string 2 15 16 call 18 ir_alias_registry_ir_collect_preloaded_root_metadata void 2 14 17 -label L6305 -load 19 __for_idx_460 +label L6223 +load 19 __for_idx_459 iconst 20 1 add 21 19 20 -store __for_idx_460 21 -jmp L6303 -label L6306 +store __for_idx_459 21 +jmp L6221 +label L6224 iconst 22 0 ret 22 endfunc @@ -206085,68 +205224,68 @@ store ir_generics_ir_generic_decl_module_paths 8 load 9 ir_emitter_core_ir_preloaded_import_roots call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_461 11 -store __for_len_461 10 -store __for_iter_461 9 -label L6307 -load 12 __for_idx_461 -load 13 __for_len_461 +store __for_idx_460 11 +store __for_len_460 10 +store __for_iter_460 9 +label L6225 +load 12 __for_idx_460 +load 13 __for_len_460 lt 14 12 13 -brif 14 L6308 L6310 -label L6308 -load 15 __for_iter_461 -load 16 __for_idx_461 +brif 14 L6226 L6228 +label L6226 +load 15 __for_iter_460 +load 16 __for_idx_460 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_461_root 17 -load 18 __for_idx_461 -store __loopvar_461_preload_i 18 +store __loopvar_460_root 17 +load 18 __for_idx_460 +store __loopvar_460_preload_i 18 load 19 module_path strref 20 m51s83 call 21 pith_cstring_release void 1 19 store module_path 20 -load 22 __loopvar_461_preload_i +load 22 __loopvar_460_preload_i load 23 ir_emitter_core_ir_preloaded_import_paths call 24 pith_list_len int 1 23 lt 25 22 24 -brif 25 L6312 L6313 -label L6312 +brif 25 L6230 L6231 +label L6230 load 26 module_path load 27 ir_emitter_core_ir_preloaded_import_paths -load 28 __loopvar_461_preload_i +load 28 __loopvar_460_preload_i call 29 pith_list_get_value_strict string 2 27 28 call 30 pith_cstring_retain void 1 29 call 31 pith_cstring_release void 1 26 store module_path 29 -jmp L6311 -label L6313 -label L6311 -load 32 __loopvar_461_root +jmp L6229 +label L6231 +label L6229 +load 32 __loopvar_460_root call 33 ir_tree_cache_ir_root_items list 1 32 call 34 pith_auto_len int 1 33 iconst 35 0 -store __for_idx_462 35 -store __for_len_462 34 -store __for_iter_462 33 -label L6314 -load 36 __for_idx_462 -load 37 __for_len_462 +store __for_idx_461 35 +store __for_len_461 34 +store __for_iter_461 33 +label L6232 +load 36 __for_idx_461 +load 37 __for_len_461 lt 38 36 37 -brif 38 L6315 L6317 -label L6315 -load 39 __for_iter_462 -load 40 __for_idx_462 +brif 38 L6233 L6235 +label L6233 +load 39 __for_iter_461 +load 40 __for_idx_461 call 41 pith_list_get_value unknown 2 39 40 -store __loopvar_462_item_idx 41 +store __loopvar_461_item_idx 41 load 42 node -load 43 __loopvar_462_item_idx +load 43 __loopvar_461_item_idx call 44 ast_get_node struct:Node 1 43 call 45 pith_struct_release void 1 42 store node 44 load 46 node field 47 46 0 string kind call 48 ir_generics_ir_is_fn_decl_kind bool 1 47 -brif 48 L6319 L6320 -label L6319 +brif 48 L6237 L6238 +label L6237 load 49 module_path load 50 node field 51 50 8 string value @@ -206155,47 +205294,47 @@ load 53 node load 54 module_path call 55 ir_emitter_core_ir_record_function_return_as void 3 52 53 54 call 56 pith_cstring_release void 1 52 -jmp L6318 -label L6320 -label L6318 -label L6316 -load 57 __for_idx_462 +jmp L6236 +label L6238 +label L6236 +label L6234 +load 57 __for_idx_461 iconst 58 1 add 59 57 58 -store __for_idx_462 59 -jmp L6314 -label L6317 -load 60 __for_iter_462 +store __for_idx_461 59 +jmp L6232 +label L6235 +load 60 __for_iter_461 call 61 pith_list_release_handle void 1 60 -load 62 __loopvar_461_root +load 62 __loopvar_460_root load 63 module_path call 64 ir_emitter_core_ir_collect_generic_function_decls_from_root void 2 62 63 -label L6309 -load 65 __for_idx_461 +label L6227 +load 65 __for_idx_460 iconst 66 1 add 67 65 66 -store __for_idx_461 67 -jmp L6307 -label L6310 +store __for_idx_460 67 +jmp L6225 +label L6228 load 68 root_idx call 69 ir_tree_cache_ir_root_items list 1 68 call 70 pith_auto_len int 1 69 iconst 71 0 -store __for_idx_463 71 -store __for_len_463 70 -store __for_iter_463 69 -label L6321 -load 72 __for_idx_463 -load 73 __for_len_463 +store __for_idx_462 71 +store __for_len_462 70 +store __for_iter_462 69 +label L6239 +load 72 __for_idx_462 +load 73 __for_len_462 lt 74 72 73 -brif 74 L6322 L6324 -label L6322 -load 75 __for_iter_463 -load 76 __for_idx_463 +brif 74 L6240 L6242 +label L6240 +load 75 __for_iter_462 +load 76 __for_idx_462 call 77 pith_list_get_value unknown 2 75 76 -store __loopvar_463_item_idx 77 +store __loopvar_462_item_idx 77 load 78 node -load 79 __loopvar_463_item_idx +load 79 __loopvar_462_item_idx call 80 ast_get_node struct:Node 1 79 call 81 pith_struct_release void 1 78 store node 80 @@ -206203,11 +205342,11 @@ load 82 node call 83 ir_emitter_core_ir_collect_import_item void 1 82 load 84 node field 85 84 0 string kind -strref 86 m51s633 +strref 86 m51s634 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L6326 L6327 -label L6326 +brif 87 L6244 L6245 +label L6244 load 89 target load 90 node call 91 ir_emitter_core_ir_type_alias_target string 1 90 @@ -206217,48 +205356,48 @@ load 93 target call 94 string_len int 1 93 iconst 95 0 gt 96 94 95 -brif 96 L6329 L6330 -label L6329 +brif 96 L6247 L6248 +label L6247 load 97 ir_alias_registry_ir_type_aliases load 98 node field 99 98 8 string value load 100 target call 101 map_insert void 3 97 99 100 -jmp L6328 -label L6330 -label L6328 -jmp L6325 -label L6327 +jmp L6246 +label L6248 +label L6246 +jmp L6243 +label L6245 load 102 node field 103 102 0 string kind call 104 ir_generics_ir_is_fn_decl_kind bool 1 103 -brif 104 L6331 L6332 -label L6331 +brif 104 L6249 L6250 +label L6249 load 105 node call 106 ir_emitter_core_ir_record_function_return void 1 105 load 107 node call 108 ir_generics_ir_has_generic_params bool 1 107 -brif 108 L6334 L6335 -label L6334 -load 109 __loopvar_463_item_idx +brif 108 L6252 L6253 +label L6252 +load 109 __loopvar_462_item_idx load 110 node strref 111 m51s83 call 112 ir_generics_ir_record_generic_function_decl void 3 109 110 111 call 113 pith_cstring_release void 1 111 -jmp L6333 -label L6335 -label L6333 -jmp L6325 -label L6332 -label L6325 -label L6323 -load 114 __for_idx_463 +jmp L6251 +label L6253 +label L6251 +jmp L6243 +label L6250 +label L6243 +label L6241 +load 114 __for_idx_462 iconst 115 1 add 116 114 115 -store __for_idx_463 116 -jmp L6321 -label L6324 -load 117 __for_iter_463 +store __for_idx_462 116 +jmp L6239 +label L6242 +load 117 __for_iter_462 call 118 pith_list_release_handle void 1 117 load 119 module_path call 120 pith_cstring_release void 1 119 @@ -206315,8 +205454,8 @@ load 34 method_roots call 35 pith_list_len int 1 34 iconst 36 0 eq 37 35 36 -brif 37 L6337 L6338 -label L6337 +brif 37 L6255 L6256 +label L6255 load 38 method_roots load 39 ir_emitter_core_ir_preloaded_import_roots call 40 pith_list_retain_handle void 1 39 @@ -206327,18 +205466,18 @@ load 43 ir_emitter_core_ir_preloaded_import_paths call 44 pith_list_retain_handle void 1 43 call 45 pith_list_release_handle void 1 42 store method_paths 43 -jmp L6336 -label L6338 -label L6336 +jmp L6254 +label L6256 +label L6254 iconst 46 0 store iface_i 46 -label L6339 +label L6257 load 47 iface_i load 48 method_roots call 49 pith_list_len int 1 48 lt 50 47 49 -brif 50 L6340 L6341 -label L6340 +brif 50 L6258 L6259 +label L6258 load 51 method_roots load 52 iface_i call 53 pith_list_get_value_strict int 2 51 52 @@ -206351,21 +205490,21 @@ load 59 iface_i iconst 60 1 add 61 59 60 store iface_i 61 -jmp L6339 -label L6341 +jmp L6257 +label L6259 load 62 root_idx call 63 ir_emitter_core_ir_index_interfaces_in_root void 1 62 load 64 root_idx call 65 ir_emitter_core_ir_collect_assoc_bindings_in_root void 1 64 iconst 66 0 store preload_i 66 -label L6342 +label L6260 load 67 preload_i load 68 ir_emitter_core_ir_preloaded_import_roots call 69 pith_list_len int 1 68 lt 70 67 69 -brif 70 L6343 L6344 -label L6343 +brif 70 L6261 L6262 +label L6261 load 71 ir_emitter_core_ir_preloaded_import_roots load 72 preload_i call 73 pith_list_get_value_strict int 2 71 72 @@ -206375,17 +205514,17 @@ load 76 preload_i iconst 77 1 add 78 76 77 store preload_i 78 -jmp L6342 -label L6344 +jmp L6260 +label L6262 iconst 79 0 store impl_i 79 -label L6345 +label L6263 load 80 impl_i load 81 method_roots call 82 pith_list_len int 1 81 lt 83 80 82 -brif 83 L6346 L6347 -label L6346 +brif 83 L6264 L6265 +label L6264 load 84 method_roots load 85 impl_i call 86 pith_list_get_value_strict int 2 84 85 @@ -206397,103 +205536,103 @@ load 91 impl_i iconst 92 1 add 93 91 92 store impl_i 93 -jmp L6345 -label L6347 +jmp L6263 +label L6265 load 94 root_idx call 95 ir_tree_cache_ir_root_items list 1 94 call 96 pith_auto_len int 1 95 iconst 97 0 -store __for_idx_464 97 -store __for_len_464 96 -store __for_iter_464 95 -label L6348 -load 98 __for_idx_464 -load 99 __for_len_464 +store __for_idx_463 97 +store __for_len_463 96 +store __for_iter_463 95 +label L6266 +load 98 __for_idx_463 +load 99 __for_len_463 lt 100 98 99 -brif 100 L6349 L6351 -label L6349 -load 101 __for_iter_464 -load 102 __for_idx_464 +brif 100 L6267 L6269 +label L6267 +load 101 __for_iter_463 +load 102 __for_idx_463 call 103 pith_list_get_value unknown 2 101 102 -store __loopvar_464_item_idx 103 +store __loopvar_463_item_idx 103 load 104 node -load 105 __loopvar_464_item_idx +load 105 __loopvar_463_item_idx call 106 ast_get_node struct:Node 1 105 call 107 pith_struct_release void 1 104 store node 106 iconst 108 0 -store __or_108_6355 108 +store __or_108_6273 108 load 109 node field 110 109 0 string kind strref 111 m51s31 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -store __or_108_6355 112 -brif 112 L6356 L6355 -label L6355 +store __or_108_6273 112 +brif 112 L6274 L6273 +label L6273 load 114 node field 115 114 0 string kind strref 116 m51s15 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __or_108_6355 117 -label L6356 -load 119 __or_108_6355 -brif 119 L6353 L6354 -label L6353 -load 120 __loopvar_464_item_idx +store __or_108_6273 117 +label L6274 +load 119 __or_108_6273 +brif 119 L6271 L6272 +label L6271 +load 120 __loopvar_463_item_idx load 121 node iconst 122 1 call 123 ir_emitter_core_ir_collect_struct_decl void 3 120 121 122 -jmp L6352 -label L6354 +jmp L6270 +label L6272 iconst 124 0 -store __or_124_6359 124 +store __or_124_6277 124 load 125 node field 126 125 0 string kind strref 127 m51s30 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __or_124_6359 128 -brif 128 L6360 L6359 -label L6359 +store __or_124_6277 128 +brif 128 L6278 L6277 +label L6277 load 130 node field 131 130 0 string kind strref 132 m51s14 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_124_6359 133 -label L6360 -load 135 __or_124_6359 -brif 135 L6357 L6358 -label L6357 +store __or_124_6277 133 +label L6278 +load 135 __or_124_6277 +brif 135 L6275 L6276 +label L6275 load 136 node iconst 137 1 call 138 ir_emitter_core_ir_collect_enum_decl void 2 136 137 -jmp L6352 -label L6358 +jmp L6270 +label L6276 load 139 node field 140 139 0 string kind strref 141 m51s613 call 142 pith_cstring_eq bool 2 140 141 call 143 pith_cstring_release void 1 141 -brif 142 L6361 L6362 -label L6361 +brif 142 L6279 L6280 +label L6279 load 144 node strref 145 m51s83 call 146 ir_emitter_core_ir_collect_impl_method_signatures void 2 144 145 call 147 pith_cstring_release void 1 145 -jmp L6352 -label L6362 -label L6352 -label L6350 -load 148 __for_idx_464 +jmp L6270 +label L6280 +label L6270 +label L6268 +load 148 __for_idx_463 iconst 149 1 add 150 148 149 -store __for_idx_464 150 -jmp L6348 -label L6351 -load 151 __for_iter_464 +store __for_idx_463 150 +jmp L6266 +label L6269 +load 151 __for_iter_463 call 152 pith_list_release_handle void 1 151 load 153 root_idx call 154 ir_emitter_core_ir_register_alias_structs void 1 153 @@ -206570,7 +205709,7 @@ iconst 0 0 store opt_kinds 0 call 1 ir_emitter_core_ir_cc_register_fn_name string 0 iconst 2 0 -strref 3 m51s712 +strref 3 m51s713 call 4 ir_emitter_core_ir_emit_func_header void 3 1 2 3 call 5 pith_cstring_release void 1 1 call 6 pith_cstring_release void 1 3 @@ -206596,251 +205735,251 @@ store opt_kinds 8 load 25 opt_kinds call 26 pith_auto_len int 1 25 iconst 27 0 -store __for_idx_465 27 -store __for_len_465 26 -store __for_iter_465 25 -label L6363 -load 28 __for_idx_465 -load 29 __for_len_465 +store __for_idx_464 27 +store __for_len_464 26 +store __for_iter_464 25 +label L6281 +load 28 __for_idx_464 +load 29 __for_len_464 lt 30 28 29 -brif 30 L6364 L6366 -label L6364 -load 31 __for_iter_465 -load 32 __for_idx_465 +brif 30 L6282 L6284 +label L6282 +load 31 __for_iter_464 +load 32 __for_idx_464 call 33 pith_list_get_value_unchecked string 2 31 32 -store __loopvar_465_k 33 +store __loopvar_464_k 33 strref 34 m51s1209 -load 35 __loopvar_465_k +load 35 __loopvar_464_k concat 36 34 35 call 37 pith_cstring_release void 1 34 strref 38 m51s1208 -load 39 __loopvar_465_k +load 39 __loopvar_464_k concat 40 38 39 call 41 pith_cstring_release void 1 38 call 42 ir_emitter_core_ir_emit_cc_register_pair void 2 36 40 call 43 pith_cstring_release void 1 36 call 44 pith_cstring_release void 1 40 -label L6365 -load 45 __for_idx_465 +label L6283 +load 45 __for_idx_464 iconst 46 1 add 47 45 46 -store __for_idx_465 47 -jmp L6363 -label L6366 +store __for_idx_464 47 +jmp L6281 +label L6284 load 48 ir_struct_registry_ir_struct_names call 49 map_keys list_string 1 48 call 50 pith_auto_len int 1 49 iconst 51 0 -store __for_idx_466 51 -store __for_len_466 50 -store __for_iter_466 49 -label L6367 -load 52 __for_idx_466 -load 53 __for_len_466 +store __for_idx_465 51 +store __for_len_465 50 +store __for_iter_465 49 +label L6285 +load 52 __for_idx_465 +load 53 __for_len_465 lt 54 52 53 -brif 54 L6368 L6370 -label L6368 -load 55 __for_iter_466 -load 56 __for_idx_466 +brif 54 L6286 L6288 +label L6286 +load 55 __for_iter_465 +load 56 __for_idx_465 call 57 pith_list_get_value_unchecked string 2 55 56 -store __loopvar_466_sname 57 -load 58 __loopvar_466_sname +store __loopvar_465_sname 57 +load 58 __loopvar_465_sname strref 59 m51s343 call 60 pith_cstring_index_of int 2 58 59 call 61 pith_cstring_release void 1 59 iconst 62 0 gte 63 60 62 -brif 63 L6372 L6373 -label L6372 -jmp L6369 -label L6373 -label L6371 +brif 63 L6290 L6291 +label L6290 +jmp L6287 +label L6291 +label L6289 load 64 ir_struct_registry_ir_boxed_enums -load 65 __loopvar_466_sname +load 65 __loopvar_465_sname call 66 contains_key bool 2 64 65 -brif 66 L6375 L6376 -label L6375 -jmp L6369 -label L6376 -label L6374 -load 67 __loopvar_466_sname +brif 66 L6293 L6294 +label L6293 +jmp L6287 +label L6294 +label L6292 +load 67 __loopvar_465_sname call 68 ir_struct_registry_ir_struct_needs_dtor bool 1 67 iconst 70 1 sub 69 70 68 -brif 69 L6378 L6379 -label L6378 -jmp L6369 -label L6379 -label L6377 -load 71 __loopvar_466_sname +brif 69 L6296 L6297 +label L6296 +jmp L6287 +label L6297 +label L6295 +load 71 __loopvar_465_sname call 72 ir_emitter_core_ir_struct_needs_tracer bool 1 71 iconst 74 1 sub 73 74 72 -brif 73 L6381 L6382 -label L6381 -jmp L6369 -label L6382 -label L6380 +brif 73 L6299 L6300 +label L6299 +jmp L6287 +label L6300 +label L6298 strref 75 m51s1207 -load 76 __loopvar_466_sname +load 76 __loopvar_465_sname concat 77 75 76 call 78 pith_cstring_release void 1 75 strref 79 m51s1206 -load 80 __loopvar_466_sname +load 80 __loopvar_465_sname concat 81 79 80 call 82 pith_cstring_release void 1 79 call 83 ir_emitter_core_ir_emit_cc_register_pair void 2 77 81 call 84 pith_cstring_release void 1 77 call 85 pith_cstring_release void 1 81 -label L6369 -load 86 __for_idx_466 +label L6287 +load 86 __for_idx_465 iconst 87 1 add 88 86 87 -store __for_idx_466 88 -jmp L6367 -label L6370 -load 89 __for_iter_466 +store __for_idx_465 88 +jmp L6285 +label L6288 +load 89 __for_iter_465 call 90 pith_list_release_handle void 1 89 load 91 ir_struct_registry_ir_boxed_enums call 92 map_keys list_string 1 91 call 93 pith_auto_len int 1 92 iconst 94 0 -store __for_idx_467 94 -store __for_len_467 93 -store __for_iter_467 92 -label L6383 -load 95 __for_idx_467 -load 96 __for_len_467 +store __for_idx_466 94 +store __for_len_466 93 +store __for_iter_466 92 +label L6301 +load 95 __for_idx_466 +load 96 __for_len_466 lt 97 95 96 -brif 97 L6384 L6386 -label L6384 -load 98 __for_iter_467 -load 99 __for_idx_467 +brif 97 L6302 L6304 +label L6302 +load 98 __for_iter_466 +load 99 __for_idx_466 call 100 pith_list_get_value_unchecked string 2 98 99 -store __loopvar_467_ename 100 -load 101 __loopvar_467_ename +store __loopvar_466_ename 100 +load 101 __loopvar_466_ename call 102 ir_emitter_core_ir_enum_needs_tracer bool 1 101 iconst 104 1 sub 103 104 102 -brif 103 L6388 L6389 -label L6388 -jmp L6385 -label L6389 -label L6387 +brif 103 L6306 L6307 +label L6306 +jmp L6303 +label L6307 +label L6305 load 105 ir_struct_registry_ir_enum_variant_lists -load 106 __loopvar_467_ename +load 106 __loopvar_466_ename call 107 contains_key bool 2 105 106 iconst 109 1 sub 108 109 107 -brif 108 L6391 L6392 -label L6391 -jmp L6385 -label L6392 -label L6390 +brif 108 L6309 L6310 +label L6309 +jmp L6303 +label L6310 +label L6308 strref 110 m51s1207 -load 111 __loopvar_467_ename +load 111 __loopvar_466_ename concat 112 110 111 call 113 pith_cstring_release void 1 110 strref 114 m51s1206 -load 115 __loopvar_467_ename +load 115 __loopvar_466_ename concat 116 114 115 call 117 pith_cstring_release void 1 114 call 118 ir_emitter_core_ir_emit_cc_register_pair void 2 112 116 call 119 pith_cstring_release void 1 112 call 120 pith_cstring_release void 1 116 -label L6385 -load 121 __for_idx_467 +label L6303 +load 121 __for_idx_466 iconst 122 1 add 123 121 122 -store __for_idx_467 123 -jmp L6383 -label L6386 -load 124 __for_iter_467 +store __for_idx_466 123 +jmp L6301 +label L6304 +load 124 __for_iter_466 call 125 pith_list_release_handle void 1 124 load 126 ir_emitter_core_ir_tuple_dtor_sigs call 127 pith_auto_len int 1 126 iconst 128 0 -store __for_idx_468 128 -store __for_len_468 127 -store __for_iter_468 126 -label L6393 -load 129 __for_idx_468 -load 130 __for_len_468 +store __for_idx_467 128 +store __for_len_467 127 +store __for_iter_467 126 +label L6311 +load 129 __for_idx_467 +load 130 __for_len_467 lt 131 129 130 -brif 131 L6394 L6396 -label L6394 -load 132 __for_iter_468 -load 133 __for_idx_468 +brif 131 L6312 L6314 +label L6312 +load 132 __for_iter_467 +load 133 __for_idx_467 call 134 pith_list_get_value_unchecked string 2 132 133 -store __loopvar_468_sig 134 -load 135 __loopvar_468_sig +store __loopvar_467_sig 134 +load 135 __loopvar_467_sig call 136 ir_emitter_core_ir_tuple_sig_has_trace bool 1 135 iconst 138 1 sub 137 138 136 -brif 137 L6398 L6399 -label L6398 -jmp L6395 -label L6399 -label L6397 -load 139 __loopvar_468_sig +brif 137 L6316 L6317 +label L6316 +jmp L6313 +label L6317 +label L6315 +load 139 __loopvar_467_sig call 140 ir_emitter_core_ir_tuple_dtor_name string 1 139 -load 141 __loopvar_468_sig +load 141 __loopvar_467_sig call 142 ir_emitter_core_ir_tuple_tracer_name string 1 141 call 143 ir_emitter_core_ir_emit_cc_register_pair void 2 140 142 call 144 pith_cstring_release void 1 140 call 145 pith_cstring_release void 1 142 -label L6395 -load 146 __for_idx_468 +label L6313 +load 146 __for_idx_467 iconst 147 1 add 148 146 147 -store __for_idx_468 148 -jmp L6393 -label L6396 +store __for_idx_467 148 +jmp L6311 +label L6314 load 149 ir_emitter_core_ir_generic_dtor_base call 150 map_keys list_string 1 149 call 151 pith_auto_len int 1 150 iconst 152 0 -store __for_idx_469 152 -store __for_len_469 151 -store __for_iter_469 150 -label L6400 -load 153 __for_idx_469 -load 154 __for_len_469 +store __for_idx_468 152 +store __for_len_468 151 +store __for_iter_468 150 +label L6318 +load 153 __for_idx_468 +load 154 __for_len_468 lt 155 153 154 -brif 155 L6401 L6403 -label L6401 -load 156 __for_iter_469 -load 157 __for_idx_469 +brif 155 L6319 L6321 +label L6319 +load 156 __for_iter_468 +load 157 __for_idx_468 call 158 pith_list_get_value_unchecked string 2 156 157 -store __loopvar_469_sym 158 -load 159 __loopvar_469_sym +store __loopvar_468_sym 158 +load 159 __loopvar_468_sym call 160 ir_emitter_core_ir_generic_instance_needs_tracer bool 1 159 iconst 162 1 sub 161 162 160 -brif 161 L6405 L6406 -label L6405 -jmp L6402 -label L6406 -label L6404 +brif 161 L6323 L6324 +label L6323 +jmp L6320 +label L6324 +label L6322 strref 163 m51s1207 -load 164 __loopvar_469_sym +load 164 __loopvar_468_sym concat 165 163 164 call 166 pith_cstring_release void 1 163 strref 167 m51s1206 -load 168 __loopvar_469_sym +load 168 __loopvar_468_sym concat 169 167 168 call 170 pith_cstring_release void 1 167 call 171 ir_emitter_core_ir_emit_cc_register_pair void 2 165 169 call 172 pith_cstring_release void 1 165 call 173 pith_cstring_release void 1 169 -label L6402 -load 174 __for_idx_469 +label L6320 +load 174 __for_idx_468 iconst 175 1 add 176 174 175 -store __for_idx_469 176 -jmp L6400 -label L6403 -load 177 __for_iter_469 +store __for_idx_468 176 +jmp L6318 +label L6321 +load 177 __for_iter_468 call 178 pith_list_release_handle void 1 177 call 179 ir_builder_ir_reg int 0 store zr 179 @@ -206920,21 +206059,21 @@ load 4 root_idx call 5 ir_tree_cache_ir_root_items list 1 4 call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_470 7 -store __for_len_470 6 -store __for_iter_470 5 -label L6407 -load 8 __for_idx_470 -load 9 __for_len_470 +store __for_idx_469 7 +store __for_len_469 6 +store __for_iter_469 5 +label L6325 +load 8 __for_idx_469 +load 9 __for_len_469 lt 10 8 9 -brif 10 L6408 L6410 -label L6408 -load 11 __for_iter_470 -load 12 __for_idx_470 +brif 10 L6326 L6328 +label L6326 +load 11 __for_iter_469 +load 12 __for_idx_469 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_470_item_idx 13 +store __loopvar_469_item_idx 13 load 14 node -load 15 __loopvar_470_item_idx +load 15 __loopvar_469_item_idx call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 14 store node 16 @@ -206945,24 +206084,24 @@ field 20 19 0 string kind strref 21 m51s602 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L6412 L6413 -label L6412 +brif 22 L6330 L6331 +label L6330 load 24 node field 25 24 16 list children iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 call 28 ast_get_node struct:Node 1 27 store actual_node 28 -jmp L6411 -label L6413 -label L6411 +jmp L6329 +label L6331 +label L6329 load 29 actual_node field 30 29 0 string kind strref 31 m51s613 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L6415 L6416 -label L6415 +brif 32 L6333 L6334 +label L6333 load 34 impl_type load 35 actual_node call 36 ir_emitter_core_ir_impl_target_type string 1 35 @@ -206972,25 +206111,25 @@ load 38 impl_type call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L6418 L6419 -label L6418 +brif 41 L6336 L6337 +label L6336 load 42 actual_node load 43 impl_type call 44 ir_emitter_core_ir_register_impl_method_specialization_names void 2 42 43 -jmp L6417 -label L6419 -label L6417 -jmp L6414 -label L6416 -label L6414 -label L6409 -load 45 __for_idx_470 +jmp L6335 +label L6337 +label L6335 +jmp L6332 +label L6334 +label L6332 +label L6327 +load 45 __for_idx_469 iconst 46 1 add 47 45 46 -store __for_idx_470 47 -jmp L6407 -label L6410 -load 48 __for_iter_470 +store __for_idx_469 47 +jmp L6325 +label L6328 +load 48 __for_iter_469 call 49 pith_list_release_handle void 1 48 load 50 node call 51 pith_struct_release void 1 50 @@ -207020,8 +206159,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L6421 L6422 -label L6421 +brif 11 L6339 L6340 +label L6339 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -207038,8 +206177,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L6422 -label L6420 +label L6340 +label L6338 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -207055,8 +206194,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L6424 L6425 -label L6424 +brif 40 L6342 L6343 +label L6342 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -207073,8 +206212,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L6425 -label L6423 +label L6343 +label L6341 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -207083,44 +206222,44 @@ store instance_tids 57 load 60 instance_tids call 61 pith_auto_len int 1 60 iconst 62 0 -store __for_idx_471 62 -store __for_len_471 61 -store __for_iter_471 60 -label L6426 -load 63 __for_idx_471 -load 64 __for_len_471 +store __for_idx_470 62 +store __for_len_470 61 +store __for_iter_470 60 +label L6344 +load 63 __for_idx_470 +load 64 __for_len_470 lt 65 63 64 -brif 65 L6427 L6429 -label L6427 -load 66 __for_iter_471 -load 67 __for_idx_471 +brif 65 L6345 L6347 +label L6345 +load 66 __for_iter_470 +load 67 __for_idx_470 call 68 pith_list_get_value unknown 2 66 67 -store __loopvar_471_inst_tid 68 +store __loopvar_470_inst_tid 68 load 69 checker_struct_instance_base_name -load 70 __loopvar_471_inst_tid +load 70 __loopvar_470_inst_tid call 71 map_get_ikey_strict string 2 69 70 load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L6431 L6432 -label L6431 -jmp L6428 -label L6432 -label L6430 +brif 73 L6349 L6350 +label L6349 +jmp L6346 +label L6350 +label L6348 load 76 checker_struct_instance_type_args -load 77 __loopvar_471_inst_tid +load 77 __loopvar_470_inst_tid call 78 map_contains_ikey bool 2 76 77 iconst 80 1 sub 79 80 78 -brif 79 L6434 L6435 -label L6434 -jmp L6428 -label L6435 -label L6433 +brif 79 L6352 L6353 +label L6352 +jmp L6346 +label L6353 +label L6351 load 81 arg_tids load 82 checker_struct_instance_type_args -load 83 __loopvar_471_inst_tid +load 83 __loopvar_470_inst_tid call 84 map_get_ikey_strict string 2 82 83 call 85 checker_decode_tid_list list 1 84 call 86 pith_list_release_handle void 1 81 @@ -207132,32 +206271,32 @@ store arg_names 88 load 90 arg_tids call 91 pith_auto_len int 1 90 iconst 92 0 -store __for_idx_472 92 -store __for_len_472 91 -store __for_iter_472 90 -label L6436 -load 93 __for_idx_472 -load 94 __for_len_472 +store __for_idx_471 92 +store __for_len_471 91 +store __for_iter_471 90 +label L6354 +load 93 __for_idx_471 +load 94 __for_len_471 lt 95 93 94 -brif 95 L6437 L6439 -label L6437 -load 96 __for_iter_472 -load 97 __for_idx_472 +brif 95 L6355 L6357 +label L6355 +load 96 __for_iter_471 +load 97 __for_idx_471 call 98 pith_list_get_value unknown 2 96 97 -store __loopvar_472_at 98 +store __loopvar_471_at 98 load 99 arg_names -load 100 __loopvar_472_at +load 100 __loopvar_471_at call 101 ir_type_helpers_ir_type_from_tid string 1 100 call 102 pith_list_push_value_owned void 2 99 101 -label L6438 -load 103 __for_idx_472 +label L6356 +load 103 __for_idx_471 iconst 104 1 add 105 103 104 -store __for_idx_472 105 -jmp L6436 -label L6439 +store __for_idx_471 105 +jmp L6354 +label L6357 load 106 instance_type_name -load 107 __loopvar_471_inst_tid +load 107 __loopvar_470_inst_tid call 108 types_get_type_name string 1 107 call 109 pith_cstring_release void 1 106 store instance_type_name 108 @@ -207165,21 +206304,21 @@ load 110 impl_node field 111 110 16 list children call 112 pith_auto_len int 1 111 iconst 113 0 -store __for_idx_473 113 -store __for_len_473 112 -store __for_iter_473 111 -label L6440 -load 114 __for_idx_473 -load 115 __for_len_473 +store __for_idx_472 113 +store __for_len_472 112 +store __for_iter_472 111 +label L6358 +load 114 __for_idx_472 +load 115 __for_len_472 lt 116 114 115 -brif 116 L6441 L6443 -label L6441 -load 117 __for_iter_473 -load 118 __for_idx_473 +brif 116 L6359 L6361 +label L6359 +load 117 __for_iter_472 +load 118 __for_idx_472 call 119 pith_list_get_value unknown 2 117 118 -store __loopvar_473_child 119 +store __loopvar_472_child 119 load 120 child_node -load 121 __loopvar_473_child +load 121 __loopvar_472_child call 122 ast_get_node struct:Node 1 121 call 123 pith_struct_release void 1 120 store child_node 122 @@ -207188,30 +206327,30 @@ field 125 124 0 string kind strref 126 m51s601 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -brif 127 L6445 L6446 -label L6445 +brif 127 L6363 L6364 +label L6363 load 129 child_node load 130 impl_type load 131 instance_type_name load 132 arg_names call 133 ir_method_tables_ir_register_one_specialized_method_name void 4 129 130 131 132 -jmp L6444 -label L6446 -label L6444 -label L6442 -load 134 __for_idx_473 +jmp L6362 +label L6364 +label L6362 +label L6360 +load 134 __for_idx_472 iconst 135 1 add 136 134 135 -store __for_idx_473 136 -jmp L6440 -label L6443 -label L6428 -load 137 __for_idx_471 +store __for_idx_472 136 +jmp L6358 +label L6361 +label L6346 +load 137 __for_idx_470 iconst 138 1 add 139 137 138 -store __for_idx_471 139 -jmp L6426 -label L6429 +store __for_idx_470 139 +jmp L6344 +label L6347 load 140 sdecl call 141 pith_struct_release void 1 140 load 142 struct_params @@ -207263,13 +206402,13 @@ call 9 pith_struct_release void 1 6 store root 8 iconst 10 0 store preload_i 10 -label L6447 +label L6365 load 11 preload_i load 12 ir_emitter_core_ir_preloaded_import_roots call 13 pith_list_len int 1 12 lt 14 11 13 -brif 14 L6448 L6449 -label L6448 +brif 14 L6366 L6367 +label L6366 load 15 ir_emitter_core_ir_preloaded_import_roots load 16 preload_i call 17 pith_list_get_value_strict int 2 15 16 @@ -207282,52 +206421,52 @@ load 23 preload_i iconst 24 1 add 25 23 24 store preload_i 25 -jmp L6447 -label L6449 +jmp L6365 +label L6367 load 26 root_idx call 27 ir_emitter_core_ir_collect_strings void 1 26 load 28 root_idx call 29 ir_emitter_core_ir_collect_struct_field_strings void 1 28 call 30 ir_emitter_core_ir_preseed_result_error_strings void 0 load 31 ir_emitter_core_ir_emit_tests -brif 31 L6451 L6452 -label L6451 +brif 31 L6369 L6370 +label L6369 load 32 root_idx call 33 ir_emitter_core_ir_collect_test_decls list 1 32 call 34 pith_auto_len int 1 33 iconst 35 0 -store __for_idx_474 35 -store __for_len_474 34 -store __for_iter_474 33 -label L6453 -load 36 __for_idx_474 -load 37 __for_len_474 +store __for_idx_473 35 +store __for_len_473 34 +store __for_iter_473 33 +label L6371 +load 36 __for_idx_473 +load 37 __for_len_473 lt 38 36 37 -brif 38 L6454 L6456 -label L6454 -load 39 __for_iter_474 -load 40 __for_idx_474 +brif 38 L6372 L6374 +label L6372 +load 39 __for_iter_473 +load 40 __for_idx_473 call 41 pith_list_get_value unknown 2 39 40 -store __loopvar_474_test_idx 41 +store __loopvar_473_test_idx 41 load 42 _name_id -load 43 __loopvar_474_test_idx +load 43 __loopvar_473_test_idx call 44 ast_get_node struct:Node 1 43 field 45 44 8 string value call 46 ir_builder_ir_str string 1 45 call 47 pith_cstring_release void 1 42 store _name_id 46 -label L6455 -load 48 __for_idx_474 +label L6373 +load 48 __for_idx_473 iconst 49 1 add 50 48 49 -store __for_idx_474 50 -jmp L6453 -label L6456 -load 51 __for_iter_474 +store __for_idx_473 50 +jmp L6371 +label L6374 +load 51 __for_iter_473 call 52 pith_list_release_handle void 1 51 -jmp L6450 -label L6452 -label L6450 +jmp L6368 +label L6370 +label L6368 call 53 ir_builder_ir_emit_string_table void 0 load 54 root_idx call 55 ir_emitter_core_ir_collect_root_import_metadata void 1 54 @@ -209460,37 +208599,37 @@ store last_slash 3 load 4 path call 5 string_len int 1 4 iconst 6 0 -store __for_idx_475 6 -store __for_len_475 5 -store __for_iter_475 4 +store __for_idx_474 6 +store __for_len_474 5 +store __for_iter_474 4 label L0 -load 7 __for_idx_475 -load 8 __for_len_475 +load 7 __for_idx_474 +load 8 __for_len_474 lt 9 7 8 brif 9 L1 L3 label L1 -load 10 __for_iter_475 -load 11 __for_idx_475 +load 10 __for_iter_474 +load 11 __for_idx_474 call 12 pith_cstring_char_at string 2 10 11 -store __loopvar_475_ch 12 -load 13 __for_idx_475 -store __loopvar_475_i 13 -load 14 __loopvar_475_ch +store __loopvar_474_ch 12 +load 13 __for_idx_474 +store __loopvar_474_i 13 +load 14 __loopvar_474_ch strref 15 m53s48 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 brif 16 L5 L6 label L5 -load 18 __loopvar_475_i +load 18 __loopvar_474_i store last_slash 18 jmp L4 label L6 label L4 label L2 -load 19 __for_idx_475 +load 19 __for_idx_474 iconst 20 1 add 21 19 20 -store __for_idx_475 21 +store __for_idx_474 21 jmp L0 label L3 load 22 last_slash @@ -209526,21 +208665,21 @@ load 8 root field 9 8 16 list children call 10 pith_auto_len int 1 9 iconst 11 0 -store __for_idx_476 11 -store __for_len_476 10 -store __for_iter_476 9 +store __for_idx_475 11 +store __for_len_475 10 +store __for_iter_475 9 label L10 -load 12 __for_idx_476 -load 13 __for_len_476 +load 12 __for_idx_475 +load 13 __for_len_475 lt 14 12 13 brif 14 L11 L13 label L11 -load 15 __for_iter_476 -load 16 __for_idx_476 +load 15 __for_iter_475 +load 16 __for_idx_475 call 17 pith_list_get_value unknown 2 15 16 -store __loopvar_476_child 17 +store __loopvar_475_child 17 load 18 node -load 19 __loopvar_476_child +load 19 __loopvar_475_child call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store node 20 @@ -209623,10 +208762,10 @@ jmp L17 label L19 label L17 label L12 -load 70 __for_idx_476 +load 70 __for_idx_475 iconst 71 1 add 72 70 71 -store __for_idx_476 72 +store __for_idx_475 72 jmp L10 label L13 iconst 73 1 @@ -209678,21 +208817,21 @@ load 16 root field 17 16 16 list children call 18 pith_auto_len int 1 17 iconst 19 0 -store __for_idx_477 19 -store __for_len_477 18 -store __for_iter_477 17 +store __for_idx_476 19 +store __for_len_476 18 +store __for_iter_476 17 label L27 -load 20 __for_idx_477 -load 21 __for_len_477 +load 20 __for_idx_476 +load 21 __for_len_476 lt 22 20 21 brif 22 L28 L30 label L28 -load 23 __for_iter_477 -load 24 __for_idx_477 +load 23 __for_iter_476 +load 24 __for_idx_476 call 25 pith_list_get_value unknown 2 23 24 -store __loopvar_477_child 25 +store __loopvar_476_child 25 load 26 node -load 27 __loopvar_477_child +load 27 __loopvar_476_child call 28 ast_get_node struct:Node 1 27 call 29 pith_struct_release void 1 26 store node 28 @@ -209750,37 +208889,37 @@ store space_pos 67 load 68 value call 69 string_len int 1 68 iconst 70 0 -store __for_idx_478 70 -store __for_len_478 69 -store __for_iter_478 68 +store __for_idx_477 70 +store __for_len_477 69 +store __for_iter_477 68 label L37 -load 71 __for_idx_478 -load 72 __for_len_478 +load 71 __for_idx_477 +load 72 __for_len_477 lt 73 71 72 brif 73 L38 L40 label L38 -load 74 __for_iter_478 -load 75 __for_idx_478 +load 74 __for_iter_477 +load 75 __for_idx_477 call 76 pith_cstring_char_at string 2 74 75 -store __loopvar_478_ch 76 -load 77 __for_idx_478 -store __loopvar_478_si 77 -load 78 __loopvar_478_ch +store __loopvar_477_ch 76 +load 77 __for_idx_477 +store __loopvar_477_si 77 +load 78 __loopvar_477_ch strref 79 m53s97 call 80 pith_cstring_eq bool 2 78 79 call 81 pith_cstring_release void 1 79 brif 80 L42 L43 label L42 -load 82 __loopvar_478_si +load 82 __loopvar_477_si store space_pos 82 jmp L40 label L43 label L41 label L39 -load 83 __for_idx_478 +load 83 __for_idx_477 iconst 84 1 add 85 83 84 -store __for_idx_478 85 +store __for_idx_477 85 jmp L37 label L40 load 86 mod_path @@ -209822,22 +208961,22 @@ store path 107 load 110 value call 111 string_len int 1 110 iconst 112 0 -store __for_idx_479 112 -store __for_len_479 111 -store __for_iter_479 110 +store __for_idx_478 112 +store __for_len_478 111 +store __for_iter_478 110 label L49 -load 113 __for_idx_479 -load 114 __for_len_479 +load 113 __for_idx_478 +load 114 __for_len_478 lt 115 113 114 brif 115 L50 L52 label L50 -load 116 __for_iter_479 -load 117 __for_idx_479 +load 116 __for_iter_478 +load 117 __for_idx_478 call 118 pith_cstring_char_at string 2 116 117 -store __loopvar_479_ch 118 -load 119 __for_idx_479 -store __loopvar_479_si 119 -load 120 __loopvar_479_si +store __loopvar_478_ch 118 +load 119 __for_idx_478 +store __loopvar_478_si 119 +load 120 __loopvar_478_si load 121 value call 122 string_len int 1 121 iconst 123 3 @@ -209854,7 +208993,7 @@ iconst 127 0 store __and_127_59 127 iconst 128 0 store __and_128_59 128 -load 129 __loopvar_479_ch +load 129 __loopvar_478_ch strref 130 m53s97 call 131 pith_cstring_eq bool 2 129 130 call 132 pith_cstring_release void 1 130 @@ -209862,7 +209001,7 @@ store __and_128_59 131 brif 131 L59 L60 label L59 load 133 value -load 134 __loopvar_479_si +load 134 __loopvar_478_si iconst 135 1 add 136 134 135 call 137 pith_cstring_byte_at int 2 133 136 @@ -209875,7 +209014,7 @@ store __and_127_59 140 brif 140 L61 L62 label L61 load 141 value -load 142 __loopvar_479_si +load 142 __loopvar_478_si iconst 143 2 add 144 142 143 call 145 pith_cstring_byte_at int 2 141 144 @@ -209888,7 +209027,7 @@ store __and_126_59 148 brif 148 L63 L64 label L63 load 149 value -load 150 __loopvar_479_si +load 150 __loopvar_478_si iconst 151 3 add 152 150 151 call 153 pith_cstring_byte_at int 2 149 152 @@ -209902,7 +209041,7 @@ label L57 load 157 path load 158 value iconst 159 0 -load 160 __loopvar_479_si +load 160 __loopvar_478_si call 161 pith_cstring_substring string 3 158 159 160 call 162 pith_cstring_release void 1 157 store path 161 @@ -209910,10 +209049,10 @@ jmp L52 label L58 label L56 label L51 -load 163 __for_idx_479 +load 163 __for_idx_478 iconst 164 1 add 165 163 164 -store __for_idx_479 165 +store __for_idx_478 165 jmp L49 label L52 load 166 imports @@ -209923,10 +209062,10 @@ jmp L34 label L48 label L34 label L29 -load 169 __for_idx_477 +load 169 __for_idx_476 iconst 170 1 add 171 169 170 -store __for_idx_477 171 +store __for_idx_476 171 jmp L27 label L30 load 172 imports @@ -210555,21 +209694,21 @@ call 40 pith_string_split_to_list list_string 2 37 39 call 41 pith_cstring_release void 1 39 call 42 pith_auto_len int 1 40 iconst 43 0 -store __for_idx_480 43 -store __for_len_480 42 -store __for_iter_480 40 +store __for_idx_479 43 +store __for_len_479 42 +store __for_iter_479 40 label L137 -load 44 __for_idx_480 -load 45 __for_len_480 +load 44 __for_idx_479 +load 45 __for_len_479 lt 46 44 45 brif 46 L138 L140 label L138 -load 47 __for_iter_480 -load 48 __for_idx_480 +load 47 __for_iter_479 +load 48 __for_idx_479 call 49 pith_list_get_value_unchecked string 2 47 48 -store __loopvar_480_line 49 +store __loopvar_479_line 49 load 50 root -load 51 __loopvar_480_line +load 51 __loopvar_479_line strref 52 m53s847 call 53 driver_dr_value_for_key string 2 51 52 call 54 pith_cstring_release void 1 52 @@ -210584,7 +209723,7 @@ label L142 load 60 package_root load 61 root call 62 driver_dr_join_path string 2 60 61 -load 63 __for_iter_480 +load 63 __for_iter_479 call 64 pith_list_release_handle void 1 63 load 65 manifest_path call 66 pith_cstring_release void 1 65 @@ -210596,13 +209735,13 @@ ret 62 label L143 label L141 label L139 -load 71 __for_idx_480 +load 71 __for_idx_479 iconst 72 1 add 73 71 72 -store __for_idx_480 73 +store __for_idx_479 73 jmp L137 label L140 -load 74 __for_iter_480 +load 74 __for_iter_479 call 75 pith_list_release_handle void 1 74 load 76 package_root strref 77 m53s846 @@ -210971,21 +210110,21 @@ call 44 pith_string_split_to_list list_string 2 41 43 call 45 pith_cstring_release void 1 43 call 46 pith_auto_len int 1 44 iconst 47 0 -store __for_idx_481 47 -store __for_len_481 46 -store __for_iter_481 44 +store __for_idx_480 47 +store __for_len_480 46 +store __for_iter_480 44 label L188 -load 48 __for_idx_481 -load 49 __for_len_481 +load 48 __for_idx_480 +load 49 __for_len_480 lt 50 48 49 brif 50 L189 L191 label L189 -load 51 __for_iter_481 -load 52 __for_idx_481 +load 51 __for_iter_480 +load 52 __for_idx_480 call 53 pith_list_get_value_unchecked string 2 51 52 -store __loopvar_481_line 53 +store __loopvar_480_line 53 load 54 trimmed -load 55 __loopvar_481_line +load 55 __loopvar_480_line call 56 pith_cstring_trim string 1 55 call 57 pith_cstring_release void 1 54 store trimmed 56 @@ -211114,13 +210253,13 @@ jmp L202 label L204 label L202 label L190 -load 133 __for_idx_481 +load 133 __for_idx_480 iconst 134 1 add 135 133 134 -store __for_idx_481 135 +store __for_idx_480 135 jmp L188 label L191 -load 136 __for_iter_481 +load 136 __for_iter_480 call 137 pith_list_release_handle void 1 136 load 138 manifest call 139 pith_cstring_release void 1 138 @@ -211659,29 +210798,29 @@ load 14 driver_package_dependency_roots call 15 map_keys list_string 1 14 call 16 pith_auto_len int 1 15 iconst 17 0 -store __for_idx_482 17 -store __for_len_482 16 -store __for_iter_482 15 +store __for_idx_481 17 +store __for_len_481 16 +store __for_iter_481 15 label L260 -load 18 __for_idx_482 -load 19 __for_len_482 +load 18 __for_idx_481 +load 19 __for_len_481 lt 20 18 19 brif 20 L261 L263 label L261 -load 21 __for_iter_482 -load 22 __for_idx_482 +load 21 __for_iter_481 +load 22 __for_idx_481 call 23 pith_list_get_value_unchecked string 2 21 22 -store __loopvar_482_key 23 -load 24 __loopvar_482_key +store __loopvar_481_key 23 +load 24 __loopvar_481_key load 25 prefix call 26 pith_cstring_starts_with bool 2 24 25 brif 26 L265 L266 label L265 load 27 names -load 28 __loopvar_482_key +load 28 __loopvar_481_key load 29 prefix call 30 string_len int 1 29 -load 31 __loopvar_482_key +load 31 __loopvar_481_key call 32 string_len int 1 31 call 33 pith_cstring_substring string 3 28 30 32 call 34 pith_list_push_value_owned void 2 27 33 @@ -211689,13 +210828,13 @@ jmp L264 label L266 label L264 label L262 -load 35 __for_idx_482 +load 35 __for_idx_481 iconst 36 1 add 37 35 36 -store __for_idx_482 37 +store __for_idx_481 37 jmp L260 label L263 -load 38 __for_iter_482 +load 38 __for_iter_481 call 39 pith_list_release_handle void 1 38 load 40 names load 41 prefix @@ -211719,20 +210858,20 @@ store result 3 load 5 mod_path call 6 string_len int 1 5 iconst 7 0 -store __for_idx_483 7 -store __for_len_483 6 -store __for_iter_483 5 +store __for_idx_482 7 +store __for_len_482 6 +store __for_iter_482 5 label L267 -load 8 __for_idx_483 -load 9 __for_len_483 +load 8 __for_idx_482 +load 9 __for_len_482 lt 10 8 9 brif 10 L268 L270 label L268 -load 11 __for_iter_483 -load 12 __for_idx_483 +load 11 __for_iter_482 +load 12 __for_idx_482 call 13 pith_cstring_char_at string 2 11 12 -store __loopvar_483_ch 13 -load 14 __loopvar_483_ch +store __loopvar_482_ch 13 +load 14 __loopvar_482_ch strref 15 m53s16 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 @@ -211749,16 +210888,16 @@ jmp L271 label L273 load 24 result load 25 result -load 26 __loopvar_483_ch +load 26 __loopvar_482_ch concat 27 25 26 call 28 pith_cstring_release void 1 24 store result 27 label L271 label L269 -load 29 __for_idx_483 +load 29 __for_idx_482 iconst 30 1 add 31 29 30 -store __for_idx_483 31 +store __for_idx_482 31 jmp L267 label L270 load 32 result @@ -211919,21 +211058,21 @@ store imports 38 load 40 imports call 41 pith_auto_len int 1 40 iconst 42 0 -store __for_idx_484 42 -store __for_len_484 41 -store __for_iter_484 40 +store __for_idx_483 42 +store __for_len_483 41 +store __for_iter_483 40 label L286 -load 43 __for_idx_484 -load 44 __for_len_484 +load 43 __for_idx_483 +load 44 __for_len_483 lt 45 43 44 brif 45 L287 L289 label L287 -load 46 __for_iter_484 -load 47 __for_idx_484 +load 46 __for_iter_483 +load 47 __for_idx_483 call 48 pith_list_get_value_unchecked string 2 46 47 -store __loopvar_484_mod_path 48 +store __loopvar_483_mod_path 48 load 49 file_path -load 50 __loopvar_484_mod_path +load 50 __loopvar_483_mod_path load 51 source_path call 52 driver_dr_resolve_module_file string 2 50 51 call 53 pith_cstring_release void 1 49 @@ -211946,7 +211085,7 @@ brif 56 L291 L292 label L291 load 58 pos load 59 root_idx -load 60 __loopvar_484_mod_path +load 60 __loopvar_483_mod_path call 61 driver_dr_import_position tuple 2 59 60 call 62 pith_struct_release void 1 58 store pos 61 @@ -211954,7 +211093,7 @@ call 63 pith_list_new_struct list 0 strref 64 m53s121 strref 65 m53s838 strref 66 m53s837 -load 67 __loopvar_484_mod_path +load 67 __loopvar_483_mod_path concat 68 66 67 call 69 pith_cstring_release void 1 66 strref 70 m53s151 @@ -212031,37 +211170,37 @@ load 118 driver_files_being_checked call 119 map_keys list_string 1 118 call 120 pith_auto_len int 1 119 iconst 121 0 -store __for_idx_485 121 -store __for_len_485 120 -store __for_iter_485 119 +store __for_idx_484 121 +store __for_len_484 120 +store __for_iter_484 119 label L299 -load 122 __for_idx_485 -load 123 __for_len_485 +load 122 __for_idx_484 +load 123 __for_len_484 lt 124 122 123 brif 124 L300 L302 label L300 -load 125 __for_iter_485 -load 126 __for_idx_485 +load 125 __for_iter_484 +load 126 __for_idx_484 call 127 pith_list_get_value_unchecked string 2 125 126 -store __loopvar_485_checking_path 127 +store __loopvar_484_checking_path 127 load 128 cycle_msg load 129 cycle_msg strref 130 m53s834 concat 131 129 130 call 132 pith_cstring_release void 1 130 -load 133 __loopvar_485_checking_path +load 133 __loopvar_484_checking_path concat 134 131 133 call 135 pith_cstring_release void 1 131 call 136 pith_cstring_release void 1 128 store cycle_msg 134 label L301 -load 137 __for_idx_485 +load 137 __for_idx_484 iconst 138 1 add 139 137 138 -store __for_idx_485 139 +store __for_idx_484 139 jmp L299 label L302 -load 140 __for_iter_485 +load 140 __for_iter_484 call 141 pith_list_release_handle void 1 140 strref 142 m53s833 load 143 cycle_msg @@ -212205,7 +211344,7 @@ load 240 file_path call 241 driver_record_module_node_range void 3 238 239 240 load 242 driver_resolved_module_paths load 243 mod_root -load 244 __loopvar_484_mod_path +load 244 __loopvar_483_mod_path call 245 map_insert_ikey void 3 242 243 244 load 246 driver_resolved_module_files load 247 mod_root @@ -212279,37 +211418,37 @@ call 299 map_remove void 2 297 298 load 300 sub_roots call 301 pith_auto_len int 1 300 iconst 302 0 -store __for_idx_486 302 -store __for_len_486 301 -store __for_iter_486 300 +store __for_idx_485 302 +store __for_len_485 301 +store __for_iter_485 300 label L321 -load 303 __for_idx_486 -load 304 __for_len_486 +load 303 __for_idx_485 +load 304 __for_len_485 lt 305 303 304 brif 305 L322 L324 label L322 -load 306 __for_iter_486 -load 307 __for_idx_486 +load 306 __for_iter_485 +load 307 __for_idx_485 call 308 pith_list_get_value unknown 2 306 307 -store __loopvar_486_sr 308 +store __loopvar_485_sr 308 load 309 roots -load 310 __loopvar_486_sr +load 310 __loopvar_485_sr call 311 pith_list_push_value void 2 309 310 label L323 -load 312 __for_idx_486 +load 312 __for_idx_485 iconst 313 1 add 314 312 313 -store __for_idx_486 314 +store __for_idx_485 314 jmp L321 label L324 load 315 roots load 316 mod_root call 317 pith_list_push_value void 2 315 316 label L288 -load 318 __for_idx_484 +load 318 __for_idx_483 iconst 319 1 add 320 318 319 -store __for_idx_484 320 +store __for_idx_483 320 jmp L286 label L289 load 321 roots @@ -213883,21 +213022,21 @@ store skipping 6 load 7 lines call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_487 9 -store __for_len_487 8 -store __for_iter_487 7 +store __for_idx_486 9 +store __for_len_486 8 +store __for_iter_486 7 label L12 -load 10 __for_idx_487 -load 11 __for_len_487 +load 10 __for_idx_486 +load 11 __for_len_486 lt 12 10 11 brif 12 L13 L15 label L13 -load 13 __for_iter_487 -load 14 __for_idx_487 +load 13 __for_iter_486 +load 14 __for_idx_486 call 15 pith_list_get_value_unchecked string 2 13 14 -store __loopvar_487_line 15 +store __loopvar_486_line 15 load 16 trimmed -load 17 __loopvar_487_line +load 17 __loopvar_486_line call 18 pith_cstring_trim string 1 17 call 19 pith_cstring_release void 1 16 store trimmed 18 @@ -213936,16 +213075,16 @@ sub 34 35 33 brif 34 L23 L24 label L23 load 36 out -load 37 __loopvar_487_line +load 37 __loopvar_486_line call 38 pith_list_push_value void 2 36 37 jmp L16 label L24 label L16 label L14 -load 39 __for_idx_487 +load 39 __for_idx_486 iconst 40 1 add 41 39 40 -store __for_idx_487 41 +store __for_idx_486 41 jmp L12 label L15 load 42 out @@ -213988,25 +213127,25 @@ store init_funcs 15 load 17 lines call 18 pith_auto_len int 1 17 iconst 19 0 -store __for_idx_488 19 -store __for_len_488 18 -store __for_iter_488 17 +store __for_idx_487 19 +store __for_len_487 18 +store __for_iter_487 17 label L25 -load 20 __for_idx_488 -load 21 __for_len_488 +load 20 __for_idx_487 +load 21 __for_len_487 lt 22 20 21 brif 22 L26 L28 label L26 -load 23 __for_iter_488 -load 24 __for_idx_488 +load 23 __for_iter_487 +load 24 __for_idx_487 call 25 pith_list_get_value_unchecked string 2 23 24 -store __loopvar_488_line 25 -load 26 __loopvar_488_line +store __loopvar_487_line 25 +load 26 __loopvar_487_line iconst 27 0 call 28 next_space int 2 26 27 store first_end 28 load 29 first_end -load 30 __loopvar_488_line +load 30 __loopvar_487_line call 31 string_len int 1 30 gte 32 29 31 brif 32 L30 L31 @@ -214015,7 +213154,7 @@ jmp L27 label L31 label L29 load 33 op -load 34 __loopvar_488_line +load 34 __loopvar_487_line iconst 35 0 load 36 first_end call 37 pith_cstring_substring string 3 34 35 36 @@ -214025,12 +213164,12 @@ load 39 first_end iconst 40 1 add 41 39 40 store name_start 41 -load 42 __loopvar_488_line +load 42 __loopvar_487_line load 43 name_start call 44 next_space int 2 42 43 store name_end 44 load 45 name -load 46 __loopvar_488_line +load 46 __loopvar_487_line load 47 name_start load 48 name_end call 49 pith_cstring_substring string 3 46 47 48 @@ -214092,10 +213231,10 @@ jmp L32 label L36 label L32 label L27 -load 88 __for_idx_488 +load 88 __for_idx_487 iconst 89 1 add 90 88 89 -store __for_idx_488 90 +store __for_idx_487 90 jmp L25 label L28 load 91 global_set @@ -215047,31 +214186,31 @@ store out 29 load 31 trimmed_lines call 32 pith_auto_len int 1 31 iconst 33 0 -store __for_idx_489 33 -store __for_len_489 32 -store __for_iter_489 31 +store __for_idx_488 33 +store __for_len_488 32 +store __for_iter_488 31 label L124 -load 34 __for_idx_489 -load 35 __for_len_489 +load 34 __for_idx_488 +load 35 __for_len_488 lt 36 34 35 brif 36 L125 L127 label L125 -load 37 __for_iter_489 -load 38 __for_idx_489 +load 37 __for_iter_488 +load 38 __for_idx_488 call 39 pith_list_get_value_unchecked string 2 37 38 -store __loopvar_489_line 39 +store __loopvar_488_line 39 load 40 out -load 41 __loopvar_489_line +load 41 __loopvar_488_line load 42 declared load 43 prefix load 44 init_prefix call 45 rewrite_prefixed_import_line string 4 41 42 43 44 call 46 pith_list_push_value_owned void 2 40 45 label L126 -load 47 __for_idx_489 +load 47 __for_idx_488 iconst 48 1 add 49 47 48 -store __for_idx_489 49 +store __for_idx_488 49 jmp L124 label L127 load 50 out @@ -215125,25 +214264,25 @@ store with_inits 4 load 7 imported_init_funcs call 8 pith_auto_len int 1 7 iconst 9 0 -store __for_idx_490 9 -store __for_len_490 8 -store __for_iter_490 7 +store __for_idx_489 9 +store __for_len_489 8 +store __for_iter_489 7 label L128 -load 10 __for_idx_490 -load 11 __for_len_490 +load 10 __for_idx_489 +load 11 __for_len_489 lt 12 10 11 brif 12 L129 L131 label L129 -load 13 __for_iter_490 -load 14 __for_idx_490 +load 13 __for_iter_489 +load 14 __for_idx_489 call 15 pith_list_get_value_unchecked string 2 13 14 -store __loopvar_490_init_func 15 -load 16 __for_idx_490 -store __loopvar_490_i 16 +store __loopvar_489_init_func 15 +load 16 __for_idx_489 +store __loopvar_489_i 16 load 17 with_inits strref 18 m54s860 iconst 19 900000 -load 20 __loopvar_490_i +load 20 __loopvar_489_i add 21 19 20 call 22 int_to_string string 1 21 concat 23 18 22 @@ -215153,7 +214292,7 @@ strref 26 m54s97 concat 27 23 26 call 28 pith_cstring_release void 1 23 call 29 pith_cstring_release void 1 26 -load 30 __loopvar_490_init_func +load 30 __loopvar_489_init_func concat 31 27 30 call 32 pith_cstring_release void 1 27 strref 33 m54s903 @@ -215162,10 +214301,10 @@ call 35 pith_cstring_release void 1 31 call 36 pith_cstring_release void 1 33 call 37 pith_list_push_value_owned void 2 17 34 label L130 -load 38 __for_idx_490 +load 38 __for_idx_489 iconst 39 1 add 40 38 39 -store __for_idx_490 40 +store __for_idx_489 40 jmp L128 label L131 load 41 with_inits @@ -215194,23 +214333,23 @@ store out 9 load 11 main_lines call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_491 13 -store __for_len_491 12 -store __for_iter_491 11 +store __for_idx_490 13 +store __for_len_490 12 +store __for_iter_490 11 label L132 -load 14 __for_idx_491 -load 15 __for_len_491 +load 14 __for_idx_490 +load 15 __for_len_490 lt 16 14 15 brif 16 L133 L135 label L133 -load 17 __for_iter_491 -load 18 __for_idx_491 +load 17 __for_iter_490 +load 18 __for_idx_490 call 19 pith_list_get_value_unchecked string 2 17 18 -store __loopvar_491_line 19 +store __loopvar_490_line 19 load 20 out -load 21 __loopvar_491_line +load 21 __loopvar_490_line call 22 pith_list_push_value void 2 20 21 -load 23 __loopvar_491_line +load 23 __loopvar_490_line strref 24 m54s902 call 25 pith_cstring_starts_with bool 2 23 24 call 26 pith_cstring_release void 1 24 @@ -215226,10 +214365,10 @@ jmp L136 label L138 label L136 label L134 -load 32 __for_idx_491 +load 32 __for_idx_490 iconst 33 1 add 34 32 33 -store __for_idx_491 34 +store __for_idx_490 34 jmp L132 label L135 load 35 out @@ -216204,22 +215343,22 @@ store line_no 15 load 16 lines call 17 pith_auto_len int 1 16 iconst 18 0 -store __for_idx_492 18 -store __for_len_492 17 -store __for_iter_492 16 +store __for_idx_491 18 +store __for_len_491 17 +store __for_iter_491 16 label L279 -load 19 __for_idx_492 -load 20 __for_len_492 +load 19 __for_idx_491 +load 20 __for_len_491 lt 21 19 20 brif 21 L280 L282 label L280 -load 22 __for_iter_492 -load 23 __for_idx_492 +load 22 __for_iter_491 +load 23 __for_idx_491 call 24 pith_list_get_value_unchecked string 2 22 23 -store __loopvar_492_line 24 +store __loopvar_491_line 24 iconst 25 0 store __and_25_286 25 -load 26 __loopvar_492_line +load 26 __loopvar_491_line strref 27 m54s862 call 28 pith_cstring_starts_with bool 2 26 27 call 29 pith_cstring_release void 1 27 @@ -216228,7 +215367,7 @@ sub 30 31 28 store __and_25_286 30 brif 30 L286 L287 label L286 -load 32 __loopvar_492_line +load 32 __loopvar_491_line strref 33 m54s861 call 34 pith_cstring_starts_with bool 2 32 33 call 35 pith_cstring_release void 1 33 @@ -216247,7 +215386,7 @@ jmp L281 label L285 label L283 load 42 parts -load 43 __loopvar_492_line +load 43 __loopvar_491_line strref 44 m54s97 call 45 pith_string_split_to_list list_string 2 43 44 call 46 pith_cstring_release void 1 44 @@ -216292,10 +215431,10 @@ iconst 72 1 add 73 71 72 store line_no 73 label L281 -load 74 __for_idx_492 +load 74 __for_idx_491 iconst 75 1 add 76 74 75 -store __for_idx_492 76 +store __for_idx_491 76 jmp L279 label L282 iconst 77 1 @@ -216303,22 +215442,22 @@ store line_no 77 load 78 lines call 79 pith_auto_len int 1 78 iconst 80 0 -store __for_idx_493 80 -store __for_len_493 79 -store __for_iter_493 78 +store __for_idx_492 80 +store __for_len_492 79 +store __for_iter_492 78 label L293 -load 81 __for_idx_493 -load 82 __for_len_493 +load 81 __for_idx_492 +load 82 __for_len_492 lt 83 81 82 brif 83 L294 L296 label L294 -load 84 __for_iter_493 -load 85 __for_idx_493 +load 84 __for_iter_492 +load 85 __for_idx_492 call 86 pith_list_get_value_unchecked string 2 84 85 -store __loopvar_493_line 86 +store __loopvar_492_line 86 iconst 87 0 store __and_87_300 87 -load 88 __loopvar_493_line +load 88 __loopvar_492_line strref 89 m54s860 call 90 pith_cstring_starts_with bool 2 88 89 call 91 pith_cstring_release void 1 89 @@ -216327,7 +215466,7 @@ sub 92 93 90 store __and_87_300 92 brif 92 L300 L301 label L300 -load 94 __loopvar_493_line +load 94 __loopvar_492_line strref 95 m54s859 call 96 pith_cstring_starts_with bool 2 94 95 call 97 pith_cstring_release void 1 95 @@ -216346,7 +215485,7 @@ jmp L295 label L299 label L297 load 104 parts -load 105 __loopvar_493_line +load 105 __loopvar_492_line strref 106 m54s97 call 107 pith_string_split_to_list list_string 2 105 106 call 108 pith_cstring_release void 1 106 @@ -216357,7 +215496,7 @@ load 111 parts load 112 struct_names call 113 validate_call_retkind void 3 110 111 112 load 114 line_no -load 115 __loopvar_493_line +load 115 __loopvar_492_line load 116 parts call 117 validate_field_contract void 3 114 115 116 load 118 line_no @@ -216365,10 +215504,10 @@ iconst 119 1 add 120 118 119 store line_no 120 label L295 -load 121 __for_idx_493 +load 121 __for_idx_492 iconst 122 1 add 123 121 122 -store __for_idx_493 123 +store __for_idx_492 123 jmp L293 label L296 load 124 func_kinds @@ -216433,22 +215572,22 @@ store validate_combined 17 load 18 a call 19 pith_auto_len int 1 18 iconst 20 0 -store __for_idx_494 20 -store __for_len_494 19 -store __for_iter_494 18 +store __for_idx_493 20 +store __for_len_493 19 +store __for_iter_493 18 label L305 -load 21 __for_idx_494 -load 22 __for_len_494 +load 21 __for_idx_493 +load 22 __for_len_493 lt 23 21 22 brif 23 L306 L308 label L306 -load 24 __for_iter_494 -load 25 __for_idx_494 +load 24 __for_iter_493 +load 25 __for_idx_493 call 26 pith_list_get_value_unchecked string 2 24 25 -store __loopvar_494_arg 26 -load 27 __for_idx_494 -store __loopvar_494_i 27 -load 28 __loopvar_494_i +store __loopvar_493_arg 26 +load 27 __for_idx_493 +store __loopvar_493_i 27 +load 28 __loopvar_493_i iconst 29 0 eq 30 28 29 brif 30 L310 L311 @@ -216456,7 +215595,7 @@ label L310 jmp L307 label L311 label L309 -load 31 __loopvar_494_arg +load 31 __loopvar_493_arg strref 32 m54s858 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 @@ -216466,7 +215605,7 @@ iconst 35 1 store emit_tests 35 jmp L312 label L314 -load 36 __loopvar_494_arg +load 36 __loopvar_493_arg strref 37 m54s857 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 @@ -216476,7 +215615,7 @@ iconst 40 1 store emit_combined 40 jmp L312 label L316 -load 41 __loopvar_494_arg +load 41 __loopvar_493_arg strref 42 m54s856 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 @@ -216487,16 +215626,16 @@ store validate_combined 45 jmp L312 label L318 load 46 path -load 47 __loopvar_494_arg +load 47 __loopvar_493_arg call 48 pith_cstring_retain void 1 47 call 49 pith_cstring_release void 1 46 store path 47 label L312 label L307 -load 50 __for_idx_494 +load 50 __for_idx_493 iconst 51 1 add 52 50 51 -store __for_idx_494 52 +store __for_idx_493 52 jmp L305 label L308 load 53 path @@ -216655,34 +215794,34 @@ call 72 checker_initialize_checker void 1 71 load 73 import_roots call 74 pith_auto_len int 1 73 iconst 75 0 -store __for_idx_495 75 -store __for_len_495 74 -store __for_iter_495 73 +store __for_idx_494 75 +store __for_len_494 74 +store __for_iter_494 73 label L337 -load 76 __for_idx_495 -load 77 __for_len_495 +load 76 __for_idx_494 +load 77 __for_len_494 lt 78 76 77 brif 78 L338 L340 label L338 -load 79 __for_iter_495 -load 80 __for_idx_495 +load 79 __for_iter_494 +load 80 __for_idx_494 call 81 pith_list_get_value unknown 2 79 80 -store __loopvar_495_import_root 81 -load 82 __loopvar_495_import_root +store __loopvar_494_import_root 81 +load 82 __loopvar_494_import_root call 83 driver_get_resolved_module_path string 1 82 call 84 checker_set_checker_module_path void 1 83 call 85 pith_cstring_release void 1 83 -load 86 __loopvar_495_import_root +load 86 __loopvar_494_import_root call 87 driver_get_resolved_module_file string 1 86 call 88 checker_set_checker_file_path void 1 87 call 89 pith_cstring_release void 1 87 -load 90 __loopvar_495_import_root +load 90 __loopvar_494_import_root call 91 checker_c_run_module list 1 90 label L339 -load 92 __for_idx_495 +load 92 __for_idx_494 iconst 93 1 add 94 92 93 -store __for_idx_495 94 +store __for_idx_494 94 jmp L337 label L340 strref 95 m54s69 @@ -216757,28 +215896,28 @@ store import_paths 4 load 6 import_roots call 7 pith_auto_len int 1 6 iconst 8 0 -store __for_idx_496 8 -store __for_len_496 7 -store __for_iter_496 6 +store __for_idx_495 8 +store __for_len_495 7 +store __for_iter_495 6 label L344 -load 9 __for_idx_496 -load 10 __for_len_496 +load 9 __for_idx_495 +load 10 __for_len_495 lt 11 9 10 brif 11 L345 L347 label L345 -load 12 __for_iter_496 -load 13 __for_idx_496 +load 12 __for_iter_495 +load 13 __for_idx_495 call 14 pith_list_get_value unknown 2 12 13 -store __loopvar_496_import_root 14 +store __loopvar_495_import_root 14 load 15 import_paths -load 16 __loopvar_496_import_root +load 16 __loopvar_495_import_root call 17 driver_get_resolved_module_path string 1 16 call 18 pith_list_push_value_owned void 2 15 17 label L346 -load 19 __for_idx_496 +load 19 __for_idx_495 iconst 20 1 add 21 19 20 -store __for_idx_496 21 +store __for_idx_495 21 jmp L344 label L347 load 22 import_roots @@ -216802,30 +215941,30 @@ store roots_by_path 3 load 5 import_roots call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_497 7 -store __for_len_497 6 -store __for_iter_497 5 +store __for_idx_496 7 +store __for_len_496 6 +store __for_iter_496 5 label L348 -load 8 __for_idx_497 -load 9 __for_len_497 +load 8 __for_idx_496 +load 9 __for_len_496 lt 10 8 9 brif 10 L349 L351 label L349 -load 11 __for_iter_497 -load 12 __for_idx_497 +load 11 __for_iter_496 +load 12 __for_idx_496 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_497_import_root 13 +store __loopvar_496_import_root 13 load 14 roots_by_path -load 15 __loopvar_497_import_root +load 15 __loopvar_496_import_root call 16 driver_get_resolved_module_path string 1 15 -load 17 __loopvar_497_import_root +load 17 __loopvar_496_import_root call 18 map_insert void 3 14 16 17 call 19 pith_cstring_release void 1 16 label L350 -load 20 __for_idx_497 +load 20 __for_idx_496 iconst 21 1 add 22 20 21 -store __for_idx_497 22 +store __for_idx_496 22 jmp L348 label L351 load 23 roots_by_path @@ -216854,21 +215993,21 @@ load 10 root call 11 driver_find_imports list_string 1 10 call 12 pith_auto_len int 1 11 iconst 13 0 -store __for_idx_498 13 -store __for_len_498 12 -store __for_iter_498 11 +store __for_idx_497 13 +store __for_len_497 12 +store __for_iter_497 11 label L352 -load 14 __for_idx_498 -load 15 __for_len_498 +load 14 __for_idx_497 +load 15 __for_len_497 lt 16 14 15 brif 16 L353 L355 label L353 -load 17 __for_iter_498 -load 18 __for_idx_498 +load 17 __for_iter_497 +load 18 __for_idx_497 call 19 pith_list_get_value_unchecked string 2 17 18 -store __loopvar_498_mod_path 19 +store __loopvar_497_mod_path 19 load 20 roots_by_path -load 21 __loopvar_498_mod_path +load 21 __loopvar_497_mod_path call 22 contains_key bool 2 20 21 iconst 24 1 sub 23 24 22 @@ -216878,7 +216017,7 @@ jmp L354 label L358 label L356 load 25 seen -load 26 __loopvar_498_mod_path +load 26 __loopvar_497_mod_path call 27 contains_key bool 2 25 26 brif 27 L360 L361 label L360 @@ -216886,22 +216025,22 @@ jmp L354 label L361 label L359 load 28 seen -load 29 __loopvar_498_mod_path +load 29 __loopvar_497_mod_path iconst 30 1 call 31 map_insert void 3 28 29 30 load 32 deps load 33 roots_by_path -load 34 __loopvar_498_mod_path +load 34 __loopvar_497_mod_path call 35 map_get_strict int 2 33 34 call 36 pith_list_push_value void 2 32 35 label L354 -load 37 __for_idx_498 +load 37 __for_idx_497 iconst 38 1 add 39 37 38 -store __for_idx_498 39 +store __for_idx_497 39 jmp L352 label L355 -load 40 __for_iter_498 +load 40 __for_iter_497 call 41 pith_list_release_handle void 1 40 load 42 deps load 43 seen @@ -216925,28 +216064,28 @@ store all_paths 3 load 5 import_roots call 6 pith_auto_len int 1 5 iconst 7 0 -store __for_idx_499 7 -store __for_len_499 6 -store __for_iter_499 5 +store __for_idx_498 7 +store __for_len_498 6 +store __for_iter_498 5 label L362 -load 8 __for_idx_499 -load 9 __for_len_499 +load 8 __for_idx_498 +load 9 __for_len_498 lt 10 8 9 brif 10 L363 L365 label L363 -load 11 __for_iter_499 -load 12 __for_idx_499 +load 11 __for_iter_498 +load 12 __for_idx_498 call 13 pith_list_get_value unknown 2 11 12 -store __loopvar_499_import_root 13 +store __loopvar_498_import_root 13 load 14 all_paths -load 15 __loopvar_499_import_root +load 15 __loopvar_498_import_root call 16 driver_get_resolved_module_path string 1 15 call 17 pith_list_push_value_owned void 2 14 16 label L364 -load 18 __for_idx_499 +load 18 __for_idx_498 iconst 19 1 add 20 18 19 -store __for_idx_499 20 +store __for_idx_498 20 jmp L362 label L365 load 21 import_roots @@ -217062,21 +216201,21 @@ call 3 ast_get_node struct:Node 1 2 field 4 3 16 list children call 5 pith_auto_len int 1 4 iconst 6 0 -store __for_idx_500 6 -store __for_len_500 5 -store __for_iter_500 4 +store __for_idx_499 6 +store __for_len_499 5 +store __for_iter_499 4 label L369 -load 7 __for_idx_500 -load 8 __for_len_500 +load 7 __for_idx_499 +load 8 __for_len_499 lt 9 7 8 brif 9 L370 L372 label L370 -load 10 __for_iter_500 -load 11 __for_idx_500 +load 10 __for_iter_499 +load 11 __for_idx_499 call 12 pith_list_get_value unknown 2 10 11 -store __loopvar_500_child 12 +store __loopvar_499_child 12 load 13 item -load 14 __loopvar_500_child +load 14 __loopvar_499_child call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store item 15 @@ -217151,10 +216290,10 @@ ret 55 label L380 label L378 label L371 -load 58 __for_idx_500 +load 58 __for_idx_499 iconst 59 1 add 60 58 59 -store __for_idx_500 60 +store __for_idx_499 60 jmp L369 label L372 iconst 61 0 @@ -217286,22 +216425,22 @@ call 81 configure_all_module_roots void 1 80 load 82 import_roots call 83 pith_auto_len int 1 82 iconst 84 0 -store __for_idx_501 84 -store __for_len_501 83 -store __for_iter_501 82 +store __for_idx_500 84 +store __for_len_500 83 +store __for_iter_500 82 label L393 -load 85 __for_idx_501 -load 86 __for_len_501 +load 85 __for_idx_500 +load 86 __for_len_500 lt 87 85 86 brif 87 L394 L396 label L394 -load 88 __for_iter_501 -load 89 __for_idx_501 +load 88 __for_iter_500 +load 89 __for_idx_500 call 90 pith_list_get_value unknown 2 88 89 -store __loopvar_501_import_root 90 -load 91 __for_idx_501 -store __loopvar_501_i 91 -load 92 __loopvar_501_import_root +store __loopvar_500_import_root 90 +load 91 __for_idx_500 +store __loopvar_500_i 91 +load 92 __loopvar_500_import_root call 93 should_skip_imported_module bool 1 92 brif 93 L398 L399 label L398 @@ -217309,18 +216448,18 @@ jmp L395 label L399 label L397 load 94 module_path -load 95 __loopvar_501_import_root +load 95 __loopvar_500_import_root call 96 driver_get_resolved_module_path string 1 95 call 97 pith_cstring_release void 1 94 store module_path 96 load 98 module_deps -load 99 __loopvar_501_import_root +load 99 __loopvar_500_import_root load 100 roots_by_path call 101 direct_module_roots list 2 99 100 call 102 pith_list_release_handle void 1 98 store module_deps 101 load 103 ir -load 104 __loopvar_501_import_root +load 104 __loopvar_500_import_root load 105 module_deps load 106 module_path iconst 107 0 @@ -217330,7 +216469,7 @@ store ir 108 load 110 renamed load 111 ir load 112 module_path -load 113 __loopvar_501_i +load 113 __loopvar_500_i call 114 rename_import_ir struct:RenamedImport 3 111 112 113 call 115 pith_struct_release void 1 110 store renamed 114 @@ -217338,27 +216477,27 @@ load 116 renamed field 117 116 8 list_string init_funcs call 118 pith_auto_len int 1 117 iconst 119 0 -store __for_idx_502 119 -store __for_len_502 118 -store __for_iter_502 117 +store __for_idx_501 119 +store __for_len_501 118 +store __for_iter_501 117 label L400 -load 120 __for_idx_502 -load 121 __for_len_502 +load 120 __for_idx_501 +load 121 __for_len_501 lt 122 120 121 brif 122 L401 L403 label L401 -load 123 __for_iter_502 -load 124 __for_idx_502 +load 123 __for_iter_501 +load 124 __for_idx_501 call 125 pith_list_get_value_unchecked string 2 123 124 -store __loopvar_502_init_func 125 +store __loopvar_501_init_func 125 load 126 imported_init_funcs -load 127 __loopvar_502_init_func +load 127 __loopvar_501_init_func call 128 pith_list_push_value void 2 126 127 label L402 -load 129 __for_idx_502 +load 129 __for_idx_501 iconst 130 1 add 131 129 130 -store __for_idx_502 131 +store __for_idx_501 131 jmp L400 label L403 load 132 all_ir @@ -217366,10 +216505,10 @@ load 133 renamed field 134 133 0 string ir call 135 pith_list_push_value void 2 132 134 label L395 -load 136 __for_idx_501 +load 136 __for_idx_500 iconst 137 1 add 138 136 137 -store __for_idx_501 138 +store __for_idx_500 138 jmp L393 label L396 load 139 main_ir diff --git a/self-host/checker.pith b/self-host/checker.pith index 6a2be4ac..a0f47125 100644 --- a/self-host/checker.pith +++ b/self-host/checker.pith @@ -56,10 +56,11 @@ fn copy_string_map(src: Map[String, String]) -> Map[String, String]: pub mut current_scope := -1 pub mut method_type_map: Map[String, Int] := {} -# how each method key was declared — "inherent", "iface", or both joined -# with a comma. a SAME-kind re-declaration is the E263 duplicate; the -# inherent+interface pair is std/io's deliberate conformance idiom. -mut method_decl_kind: Map[String, String] := {} +# every (method key, declaration kind) pair seen so far, keyed +# "#inherent" / "#iface". a SAME-kind re-declaration is the E263 +# duplicate; the inherent+interface pair is std/io's deliberate +# conformance idiom, so the two kinds are tracked independently. +mut method_declared_kinds: Map[String, Bool] := {} pub mut method_visibility_map: Map[String, Bool] := {} # whether each module function was declared `pub`, keyed by its module-qualified # symbol. a call through a module alias consults this so a module's private @@ -139,7 +140,7 @@ pub fn initialize_checker(file_path: String): reset_scope_arena() checker_reset_diagnostics(file_path) method_type_map = {} - method_decl_kind = {} + method_declared_kinds = {} method_visibility_map = {} function_visibility_map = {} checker_methods_reset() @@ -952,24 +953,17 @@ fn register_method_declaration(type_name: String, node_idx: Int, node: Node, is_ # never collide; a genuine duplicate within one module still # errors. kind_key = current_checker_module_path + ":" + key - mut already_declared := false - if owner >= 0: - already_declared = has_method_declaration(kind_key) - elif has_generic_declaration(type_name): - already_declared = method_decl_kind.contains_key(kind_key) mut new_kind := "inherent" if from_interface: new_kind = "iface" - if already_declared and method_decl_kind.contains_key(kind_key): - if method_decl_kind[kind_key].contains(new_kind): - report_error_at(node_idx, "E263", "duplicate method '" + method_name + "' on '" + type_name + "': another impl block already declares it") - mut kinds := new_kind - if method_decl_kind.contains_key(kind_key): - if method_decl_kind[kind_key].contains(new_kind) == false: - kinds = method_decl_kind[kind_key] + "," + new_kind - else: - kinds = method_decl_kind[kind_key] - method_decl_kind.insert(kind_key, kinds) + # an impl target that resolves to neither a tid nor a generic base is + # exempt from the duplicate check: with no owner to key on, the check + # could only collide unrelated same-named types. + dup_check_applies := owner >= 0 or has_generic_declaration(type_name) + seen_key := kind_key + "#" + new_kind + if dup_check_applies and method_declared_kinds.contains_key(seen_key): + report_error_at(node_idx, "E263", "duplicate method '" + method_name + "' on '" + type_name + "': another impl block already declares it") + method_declared_kinds.insert(seen_key, true) method_type_map.insert(key, fn_tid) method_visibility_map.insert(key, is_pub) register_method_signature(key, node_idx) @@ -1591,21 +1585,21 @@ fn optional_plain_comparison(a: Int, b: Int) -> Bool: return false if is_none_type(a) or is_none_type(b): return false - a_info := get_type_info(a) - b_info := get_type_info(b) - if a_info.kind == "optional" and b_info.kind != "optional": - if a_info.inner < 0: - return false - if a_info.inner == b: - return true - return types_structurally_equal(a_info.inner, b) - if b_info.kind == "optional" and a_info.kind != "optional": - if b_info.inner < 0: - return false - if b_info.inner == a: - return true - return types_structurally_equal(b_info.inner, a) - return false + return optional_accepts_plain(a, b) or optional_accepts_plain(b, a) + +# one direction of the widening rule: an optional with this tid accepts a +# plain value of its inner type (exactly, or structurally). shared by both +# orders of optional_plain_comparison and by the argument-position widening, +# which layers its own guards and the recording side effect on top. +fn optional_accepts_plain(opt_tid: Int, plain_tid: Int) -> Bool: + opt_info := get_type_info(opt_tid) + if opt_info.kind != "optional" or opt_info.inner < 0: + return false + if get_type_info(plain_tid).kind == "optional": + return false + if opt_info.inner == plain_tid: + return true + return types_structurally_equal(opt_info.inner, plain_tid) fn value_matches_optional_target(value_idx: Int, actual_tid: Int, expected_tid: Int) -> Bool: if expected_tid < 0: @@ -1648,16 +1642,8 @@ fn argument_widens_to_optional(expr_idx: Int, actual_tid: Int, expected_tid: Int return false if is_none_type(actual_tid) or is_none_type(expected_tid): return false - expected_info := get_type_info(expected_tid) - if expected_info.kind != "optional": - return false - if expected_info.inner < 0: - return false - if get_type_info(actual_tid).kind == "optional": + if optional_accepts_plain(expected_tid, actual_tid) == false: return false - if actual_tid != expected_info.inner: - if types_structurally_equal(actual_tid, expected_info.inner) == false: - return false optional_widened_arguments.insert(expr_idx, true) return true @@ -1753,14 +1739,14 @@ fn propagate_empty_argument_collection_type(arg_idx: Int, expected: Int, actual: # a literal WITH elements types itself — but an empty literal nested # inside leaves the whole thing error-typed (`f([[]])`), and an # error-typed argument skips the coercion path the mismatch check - # would have run. run it here: the element walk qualifies the - # literal honestly and records the declared type through every - # nested literal, so the inner list is tagged and owns what is - # pushed into it. a genuinely wrong element still fails the - # coercion and leaves the literal exactly as it was. + # would have run. run it here for its recording effect: the element + # walk qualifies the literal honestly and records the declared type + # through every nested literal, so the inner list is tagged and owns + # what is pushed into it. a genuinely wrong element still fails the + # coercion and leaves the literal exactly as it was — either way + # this path is done. if node.kind == "list" or node.kind == "map" or node.kind == "set": - if collection_literal_coerces(expr_idx, expected, scope_id): - return + collection_literal_coerces(expr_idx, expected, scope_id) return if node.kind == "list" or node.kind == "map" or node.kind == "set": # an optional-of-container parameter (`f(v: List[String]?)`) declares @@ -1916,11 +1902,13 @@ fn check_binding_statement(node_idx: Int, scope_id: Int): # as the error wildcard. the annotation IS the instance: # record it on the constructor expression so the match # checker and the emitter both see a typed value. - elif generic_enum_construction_base(val_node) != "": - ainfo := get_type_info(annotated) - if ainfo.kind == "enum" and extract_base_type_name(ainfo.name) == generic_enum_construction_base(val_node): - expression_type_cache.insert(node.children[1], annotated) - val_type = annotated + else: + gbase := generic_enum_construction_base(val_node) + if gbase != "": + ainfo := get_type_info(annotated) + if ainfo.kind == "enum" and extract_base_type_name(ainfo.name) == gbase: + expression_type_cache.insert(node.children[1], annotated) + val_type = annotated if value_matches_optional_target(node.children[1], val_type, annotated): define_binding_at(scope_id, name, annotated, is_mut, node_idx) return @@ -4212,6 +4200,13 @@ fn collect_function_return_type_with_subst(node: Node, params: List[String], arg return resolve_type_with_substitution_map(cn.children[0], params, args) return TID_VOID +# a method-call node's value sometimes carries the leading dot of its +# spelling (`.next`); resolution always wants the bare name. +fn normalized_method_name(raw: String) -> String: + if raw.starts_with("."): + return raw.substring(1, raw.len()) + return raw + # call arguments arrive wrapped in an `arg` node; the expression is inside. fn argument_expression_index(arg_idx: Int) -> Int: arg_node := get_node(arg_idx) @@ -4327,9 +4322,7 @@ fn generic_enum_construction_base(val_node: Node) -> String: decl := get_node(get_generic_declaration_index(recv.value)) if decl.kind != "enum_decl": return "" - mut mname := val_node.value - if mname.starts_with("."): - mname = mname.substring(1, mname.len()) + mname := normalized_method_name(val_node.value) if enum_decl_has_variant(decl, mname): return recv.value return "" @@ -4343,31 +4336,24 @@ fn generic_enum_construction_base(val_node: Node) -> String: # own enum (`return RecvResult.Closed`) has carried this shape since before # inference existed. only an unannotated binding turns the silence into an # error, in check_binding_statement. -fn check_generic_enum_variant_construction(enum_name: String, decl_idx: Int, variant_name: String, arg_indices: List[Int], scope_id: Int) -> Int: +fn check_generic_enum_variant_construction(decl_idx: Int, variant_name: String, arg_indices: List[Int], scope_id: Int) -> Int: decl := get_node(decl_idx) generic_params := collect_generic_parameter_names(decl) + # the caller's enum_decl_has_variant guard is the gate, so the variant + # is present by the time this runs; a miss here just yields no payloads. mut payload_nodes: List[Int] := [] - mut found := false for child in decl.children: cn := get_node(child) if cn.kind == "variant" and strings_equal(cn.value, variant_name): - found = true for vc in cn.children: payload_nodes.push(vc) - if found == false: - report_error("E212", enum_name + " has no variant '" + variant_name + "'") - return TID_ERR if arg_indices.len() != payload_nodes.len(): report_error("E207", variant_name + " expects " + payload_nodes.len().to_string() + " arguments, got " + arg_indices.len().to_string()) return TID_ERR mut arg_types: List[Int] := [] mut arg_exprs: List[Int] := [] for ai in arg_indices: - a_node := get_node(ai) - mut a_expr := ai - if a_node.kind == "arg": - if a_node.children.len() > 0: - a_expr = a_node.children[0] + a_expr := argument_expression_index(ai) arg_exprs.push(a_expr) arg_types.push(c_check_expr(a_expr, scope_id)) mut type_args: List[Int] := [] @@ -4409,9 +4395,7 @@ fn check_method_call(node: Node, scope_id: Int) -> Int: # children[1..] = arguments if node.children.len() < 1: return TID_ERR - mut method_name := node.value - if method_name.starts_with("."): - method_name = method_name.substring(1, method_name.len()) + method_name := normalized_method_name(node.value) recv_node := get_node(node.children[0]) mut arg_indices: List[Int] := [] @@ -4488,7 +4472,7 @@ fn check_method_call(node: Node, scope_id: Int) -> Int: gdecl_idx := get_generic_declaration_index(recv_node.value) gdecl := get_node(gdecl_idx) if gdecl.kind == "enum_decl" and enum_decl_has_variant(gdecl, method_name): - return check_generic_enum_variant_construction(recv_node.value, gdecl_idx, method_name, arg_indices, scope_id) + return check_generic_enum_variant_construction(gdecl_idx, method_name, arg_indices, scope_id) mut receiver_type := c_check_expr(node.children[0], scope_id) if is_error_type(receiver_type) and recv_node.kind == "ident": diff --git a/self-host/ir_emitter_core.pith b/self-host/ir_emitter_core.pith index e42332b2..d924ae3c 100644 --- a/self-host/ir_emitter_core.pith +++ b/self-host/ir_emitter_core.pith @@ -1454,6 +1454,24 @@ fn ir_self_list_field_element(field_name: String) -> String: return get_node(tnode.children[0]).value return "" +# the prepass policy for one owned-local candidate: track the name under its +# rc kind, or poison it. a name bound with DIFFERENT rc kinds in sibling +# branches cannot be tracked — the exit cleanup would fire the wrong +# retain/release at runtime — and a name bound with a non-rc (or unknown) +# type somewhere falls under the same rule. a poisoned name is dropped from +# tracking entirely: a bounded leak, never a wild pointer. `names` is the +# live tracking list (ir_string_locals — ir_rc_track_local appends to it), +# so contains() here means "already tracked by an earlier binding". +fn ir_prepass_track_or_poison(name: String, kind: String, names: List[String], poisoned: List[String]): + if kind.len() > 0: + if names.contains(name): + if ir_rc_local_kind(name) != kind and not poisoned.contains(name): + poisoned.push(name) + else: + ir_rc_track_local(name, kind) + elif not poisoned.contains(name): + poisoned.push(name) + fn ir_collect_string_bind_names(idx: Int, names: List[String], poisoned: List[String]): node := get_node(idx) if ir_is_binding_kind(node.kind): @@ -1474,27 +1492,19 @@ fn ir_collect_string_bind_names(idx: Int, names: List[String], poisoned: List[St # retained; otherwise the element frees when the list is mutated and # the returned value dangles. no-op outside a specialized body. kind = ir_rc_kind(ir_substitute_type_name(ir_string_prepass_bind_type(parts, names))) - if kind.len() > 0: - if names.contains(parts.name): - if ir_rc_local_kind(parts.name) != kind and not poisoned.contains(parts.name): - # same name, different rc kind in a sibling branch: - # tracking it would fire the wrong retain/release at - # runtime. drop it — a leak, never a wild pointer. - poisoned.push(parts.name) - else: - ir_rc_track_local(parts.name, kind) - # remember the producing result/optional type so the cleanup path - # can cascade-release the payload (only for cascade-eligible locals) - if kind == "tuple" and parts.val_idx >= 0: - ir_tuple_record_tid(parts.name, parts.val_idx) - elif not poisoned.contains(parts.name): - # bound with a non-rc (or unknown) type somewhere: same rule. - poisoned.push(parts.name) + ir_prepass_track_or_poison(parts.name, kind, names, poisoned) + # remember the producing result/optional type so the cleanup path + # can cascade-release the payload (only for cascade-eligible locals) + if kind == "tuple" and parts.val_idx >= 0: + ir_tuple_record_tid(parts.name, parts.val_idx) # a match on an OPTIONAL subject binds the unwrapped payload, and # ir_match_emit retains an rc payload so the binding owns its own count # (the subject's shell or cascade can die at scope exit while the # binding lives on). track each such binding for the exit cleanup, # under the same name-conflict poisoning as every other owned local. + # unlike the pat_variant hook below, this one keys on the match itself + # (it needs the subject's tid) and so sees only each arm's top-level + # pattern — a binding nested under pat_or is not tracked here. if node.kind == "match_expr" and node.children.len() > 1: subj_tid := ir_emission_tid(node.children[0]) if subj_tid >= 0 and get_type_info(subj_tid).kind == "optional": @@ -1505,14 +1515,7 @@ fn ir_collect_string_bind_names(idx: Int, names: List[String], poisoned: List[St if arm.children.len() > 0: pn := get_node(arm.children[0]) if pn.kind == "pat_binding": - if payload_kind.len() > 0: - if names.contains(pn.value): - if ir_rc_local_kind(pn.value) != payload_kind and not poisoned.contains(pn.value): - poisoned.push(pn.value) - else: - ir_rc_track_local(pn.value, payload_kind) - elif not poisoned.contains(pn.value): - poisoned.push(pn.value) + ir_prepass_track_or_poison(pn.value, payload_kind, names, poisoned) ai = ai + 1 # a match arm's payload bindings are owned locals too: ir_match_emit # retains each rc payload, so track them here for the exit cleanup to @@ -1527,20 +1530,11 @@ fn ir_collect_string_bind_names(idx: Int, names: List[String], poisoned: List[St mut payload_kind := "" if pi < variant_kinds.len(): payload_kind = ir_rc_kind(variant_kinds[pi]) - if payload_kind.len() > 0: - if names.contains(sub.value): - if ir_rc_local_kind(sub.value) != payload_kind and not poisoned.contains(sub.value): - poisoned.push(sub.value) - else: - ir_rc_track_local(sub.value, payload_kind) - elif not poisoned.contains(sub.value): - # a sibling arm binds this name with an rc payload while - # this arm binds it as a plain value (Zed(Pack, _) versus - # Beta(Int, _) sharing x0). releasing the rc kind at exit - # would dereference whatever integer the last-run arm - # stored — same rule as the := path above: drop the name, - # a bounded leak, never a wild pointer. - poisoned.push(sub.value) + # a plain-value slot (empty kind) poisons the name: a sibling + # arm may bind it with an rc payload (Zed(Pack, _) versus + # Beta(Int, _) sharing x0), and releasing the rc kind at exit + # would dereference whatever integer the last-run arm stored. + ir_prepass_track_or_poison(sub.value, payload_kind, names, poisoned) for child in node.children: ir_collect_string_bind_names(child, names, poisoned) @@ -2910,24 +2904,25 @@ fn ir_release_owned_string_operand(expr_idx: Int, reg: Int, expr_type: String): # variable/field/element the caller keeps) is not released; a fresh # literal (a list, a map, a struct init, a lambda) or a transferred # result is. + arg_node := get_node(expr_idx) mut arg_kind := ir_rc_kind(expr_type) # a fn type has no rc kind of its own, but the value in the register # is a closure handle either way: a lambda literal, or a named # function the ident load wrapped into one. - if arg_kind.len() == 0 and (get_node(expr_idx).kind == "lambda" or ir_expr_is_named_function_value(expr_idx)): + if arg_kind.len() == 0 and (arg_node.kind == "lambda" or ir_expr_is_named_function_value(expr_idx)): arg_kind = "closure" # "tuple" stays off the general release list — an optional and a - # result lower to the same shell, so the KIND cannot tell a real - # tuple from a wrapper whose count an extraction still hands on. a - # SYNTACTIC tuple literal is the one unambiguous case: the node is - # `(a, b)` in the source, the register is a box only this call ever - # saw, and a storing callee took its own count — so `f((a, b))` no - # longer strands one box per call. any other tuple-typed register - # keeps the old bounded leak rather than risking a double free. - if arg_kind == "tuple": - if get_node(expr_idx).kind == "tuple" and not ir_string_expr_is_borrowed(expr_idx): - ir_rc_release_reg(reg, "tuple") - elif ir_owned_arg_kind_releases(arg_kind) and not ir_string_expr_is_borrowed(expr_idx): + # result lower to the same shell, so the rc KIND cannot tell a real + # tuple from a wrapper whose count an extraction still hands on. the + # one unambiguous case is a SYNTACTIC tuple literal, judged by the + # AST node kind (not the rc kind, which is also spelled "tuple"): + # the node is `(a, b)` in the source, the register is a box only + # this call ever saw, and a storing callee took its own count — so + # `f((a, b))` no longer strands one box per call. any other + # tuple-typed register keeps the old bounded leak rather than + # risking a double free. + is_tuple_literal := arg_kind == "tuple" and arg_node.kind == "tuple" + if (ir_owned_arg_kind_releases(arg_kind) or is_tuple_literal) and not ir_string_expr_is_borrowed(expr_idx): ir_rc_release_reg(reg, arg_kind) # the rc kinds an owned call argument hands back once the call returns. @@ -2945,8 +2940,9 @@ fn ir_release_owned_string_operand(expr_idx: Int, reg: Int, expr_type: String): # holds a real tuple literal or a wrapper whose ownership the result and # optional extraction paths settle instead — ir_emit_struct_positional_init # excludes tuple from its field retain for the same reason. releasing one here -# would drop a count those paths still hand on. a tuple literal written into an -# argument therefore still leaks its box. +# would drop a count those paths still hand on. the syntactic tuple-literal +# case is handled by the caller, ir_release_owned_string_operand, which can +# see the AST node where this kind list cannot. # # "string" and "bytes" never reach here: the branches above claim them first, # because a fresh string has shapes (an s[i] char, a concat) that no rc kind @@ -3270,22 +3266,27 @@ fn ir_emit_optional_binary_compare(node: Node, r: Int, left_r: Int, right_r: Int return r # T? == T, the widened mixed comparison: compare is_some and the # payload against the bare value. Deliberately the LAST arm — every - # both-sides-optional recovery above must get first refusal, and a - # side whose check-time tid is a suppressed generic marker is - # excluded by requiring a well-typed non-optional tid (TID_ERR and - # TID_NONE are primitives with tids >= 0, so name them). A fresh + # both-sides-optional recovery above must get first refusal. A fresh # string on the plain side dies with the compare, the same rule the # value operator applies to its operands. - if left_info.kind == "optional" and left_info.inner >= 0 and right_tid >= 0 and right_tid != TID_ERR and right_tid != TID_NONE and right_info.kind != "optional" and ir_generic_param_optional_tid(right_node) < 0: + if left_info.kind == "optional" and left_info.inner >= 0 and ir_plain_compare_operand_ok(right_tid, right_info, right_node): ir_emit_optional_plain_compare(r, op, left_r, right_r, left_tid) ir_release_owned_string_operand(node.children[1], right_r, ir_infer_type(node.children[1])) return r - if right_info.kind == "optional" and right_info.inner >= 0 and left_tid >= 0 and left_tid != TID_ERR and left_tid != TID_NONE and left_info.kind != "optional" and ir_generic_param_optional_tid(left_node) < 0: + if right_info.kind == "optional" and right_info.inner >= 0 and ir_plain_compare_operand_ok(left_tid, left_info, left_node): ir_emit_optional_plain_compare(r, op, right_r, left_r, right_tid) ir_release_owned_string_operand(node.children[0], left_r, ir_infer_type(node.children[0])) return r return 0 - 1 +# whether one side of a widened T? == T comparison qualifies as the plain +# operand: a well-typed non-optional value. TID_ERR and TID_NONE are +# primitives with tids >= 0, so they are named rather than caught by the +# sign check, and a side whose check-time tid is a suppressed generic +# marker is excluded via ir_generic_param_optional_tid. +fn ir_plain_compare_operand_ok(tid: Int, info: TypeInfo, opnode: Node) -> Bool: + return tid >= 0 and tid != TID_ERR and tid != TID_NONE and info.kind != "optional" and ir_generic_param_optional_tid(opnode) < 0 + # The scalar / string / bytes value operators: float arithmetic, string concat # and ordered comparison (which call the runtime rather than compare pointers), # enum structural equality, and the plain integer binops. Emits into r (already @@ -6955,98 +6956,97 @@ fn ir_emit_return_stmt(node: Node): # through the same machinery — the bare `ret` it used to emit skipped the # cleanup, so every count an arm binding had retained leaked per call. pub fn ir_emit_return_value(expr_child: Int): - if true: - # `return none` builds its optional below, from the function's own - # return kind. going through ir_expr for it would build one optional - # tuple here and a second one there, and strand the first — every - # `return none` in the tree leaked an optional per call. - mut r := 0 - if node_kind(expr_child) == "none_lit": - r = ir_emit_zero_value() - elif ir_current_func_return_kind == "result_reg": - # forwarding handshake: a direct pair-returning call (an rcall or - # a legacy-builtin wrap) hands its (flag, payload) registers - # straight to this return, so no box is built only to be unpacked - # again below. - saved_defer := ir_rcall_defer_idx - ir_rcall_defer_idx = expr_child + # `return none` builds its optional below, from the function's own + # return kind. going through ir_expr for it would build one optional + # tuple here and a second one there, and strand the first — every + # `return none` in the tree leaked an optional per call. + mut r := 0 + if node_kind(expr_child) == "none_lit": + r = ir_emit_zero_value() + elif ir_current_func_return_kind == "result_reg": + # forwarding handshake: a direct pair-returning call (an rcall or + # a legacy-builtin wrap) hands its (flag, payload) registers + # straight to this return, so no box is built only to be unpacked + # again below. + saved_defer := ir_rcall_defer_idx + ir_rcall_defer_idx = expr_child + ir_rcall_pair_ready = false + r = ir_expr(expr_child) + ir_rcall_defer_idx = saved_defer + if ir_rcall_pair_ready: ir_rcall_pair_ready = false - r = ir_expr(expr_child) - ir_rcall_defer_idx = saved_defer - if ir_rcall_pair_ready: - ir_rcall_pair_ready = false - ir_defer_emit_to_function_frame(false) - ir_emit_string_cleanup("") - ir_emit("ret2 " + ir_rcall_flag_reg.to_string() + " " + ir_rcall_val_reg.to_string()) - ir_last_was_ret = true - return - else: - r = ir_expr(expr_child) - # hand the returned string's count to the caller: a returned local - # transfers its count (skip it in cleanup), a returned borrow gets - # a fresh count. fresh results already arrive owned. - mut exclude := "" - expr_node := get_node(expr_child) - # a returned tracked local transfers its count to the caller, so it - # must be skipped in the exit cleanup. trust the tracked kind directly: - # in a generic body the inferred type can miss (a tuple-lowered - # optional reads back as the optional type, whose rc_kind is empty), - # yet the local is still tracked and returning it must not release it. - if expr_node.kind == "ident" and ir_rc_local_kind(expr_node.value).len() > 0: - exclude = expr_node.value - else: - # substitute struct params (T -> the concrete type) so a specialized - # impl method returning a borrowed T still retains it. without this - # the inferred type stays "T", rc_kind reads empty, no retain fires, - # and the caller's arg release frees the value the method handed back. - ret_kind := ir_rc_kind(ir_substitute_type_name(ir_infer_type(expr_child))) - if ret_kind.len() > 0 and ir_string_expr_is_borrowed(expr_child): - ir_rc_retain_reg(r, ret_kind) - result_kind := ir_expr_result_kind(expr_child) - expr_tid := c_get_expr_type(expr_child) - mut expr_kind := "" - if expr_tid >= 0: - expr_kind = get_type_info(expr_tid).kind - if ir_current_func_optional_inner_kind.len() > 0: - # is the returned expression already an optional (so forward it), - # or the inner value (so wrap in Some)? the checker knows in the - # normal case; in a generic body a call like `c.maybe()` isn't - # resolved to optional at declaration time, so also trust the - # emitter's own retkind — an optional lowers to a tuple, and a - # tuple retkind can only be the optional wrapper unless the inner - # value is itself tuple-shaped. - # a local tracked as a tuple already holds the optional wrapper, so - # forwarding it (rather than wrapping in Some again) is the same - # signal as a tuple retkind — the guard against an Optional[Tuple] - # inner still applies. - ident_tuple_local := expr_node.kind == "ident" and ir_rc_local_kind(expr_node.value) == "tuple" - already_optional := expr_kind == "optional" or ((result_kind == "tuple" or ident_tuple_local) and ir_current_func_optional_inner_kind != "tuple") - if expr_node.kind == "none_lit": - r = ir_emit_optional_none_value() - elif already_optional == false: - r = ir_emit_optional_some_value(r) - elif ir_current_func_return_kind == "tuple": - if result_kind != "tuple": - r = ir_emit_ok_result_tuple(r) - elif ir_current_func_return_kind == "result_reg": - if result_kind == "tuple": - # forwarding a whole result (`return other_fallible()`): the - # expression produced a box, so unpack it into the pair. the - # take-ok convention applies — the payload leaves with its - # count and the destructor-less shell is freed. - ir_emit_return_box_as_pair(r, exclude) - ir_last_was_ret = true - return ir_defer_emit_to_function_frame(false) - ir_emit_string_cleanup(exclude) - one_r := ir_reg() - ir_emit("iconst " + one_r.to_string() + " 1") - ir_emit("ret2 " + one_r.to_string() + " " + r.to_string()) + ir_emit_string_cleanup("") + ir_emit("ret2 " + ir_rcall_flag_reg.to_string() + " " + ir_rcall_val_reg.to_string()) + ir_last_was_ret = true + return + else: + r = ir_expr(expr_child) + # hand the returned string's count to the caller: a returned local + # transfers its count (skip it in cleanup), a returned borrow gets + # a fresh count. fresh results already arrive owned. + mut exclude := "" + expr_node := get_node(expr_child) + # a returned tracked local transfers its count to the caller, so it + # must be skipped in the exit cleanup. trust the tracked kind directly: + # in a generic body the inferred type can miss (a tuple-lowered + # optional reads back as the optional type, whose rc_kind is empty), + # yet the local is still tracked and returning it must not release it. + if expr_node.kind == "ident" and ir_rc_local_kind(expr_node.value).len() > 0: + exclude = expr_node.value + else: + # substitute struct params (T -> the concrete type) so a specialized + # impl method returning a borrowed T still retains it. without this + # the inferred type stays "T", rc_kind reads empty, no retain fires, + # and the caller's arg release frees the value the method handed back. + ret_kind := ir_rc_kind(ir_substitute_type_name(ir_infer_type(expr_child))) + if ret_kind.len() > 0 and ir_string_expr_is_borrowed(expr_child): + ir_rc_retain_reg(r, ret_kind) + result_kind := ir_expr_result_kind(expr_child) + expr_tid := c_get_expr_type(expr_child) + mut expr_kind := "" + if expr_tid >= 0: + expr_kind = get_type_info(expr_tid).kind + if ir_current_func_optional_inner_kind.len() > 0: + # is the returned expression already an optional (so forward it), + # or the inner value (so wrap in Some)? the checker knows in the + # normal case; in a generic body a call like `c.maybe()` isn't + # resolved to optional at declaration time, so also trust the + # emitter's own retkind — an optional lowers to a tuple, and a + # tuple retkind can only be the optional wrapper unless the inner + # value is itself tuple-shaped. + # a local tracked as a tuple already holds the optional wrapper, so + # forwarding it (rather than wrapping in Some again) is the same + # signal as a tuple retkind — the guard against an Optional[Tuple] + # inner still applies. + ident_tuple_local := expr_node.kind == "ident" and ir_rc_local_kind(expr_node.value) == "tuple" + already_optional := expr_kind == "optional" or ((result_kind == "tuple" or ident_tuple_local) and ir_current_func_optional_inner_kind != "tuple") + if expr_node.kind == "none_lit": + r = ir_emit_optional_none_value() + elif already_optional == false: + r = ir_emit_optional_some_value(r) + elif ir_current_func_return_kind == "tuple": + if result_kind != "tuple": + r = ir_emit_ok_result_tuple(r) + elif ir_current_func_return_kind == "result_reg": + if result_kind == "tuple": + # forwarding a whole result (`return other_fallible()`): the + # expression produced a box, so unpack it into the pair. the + # take-ok convention applies — the payload leaves with its + # count and the destructor-less shell is freed. + ir_emit_return_box_as_pair(r, exclude) ir_last_was_ret = true return ir_defer_emit_to_function_frame(false) ir_emit_string_cleanup(exclude) - ir_emit("ret " + r.to_string()) + one_r := ir_reg() + ir_emit("iconst " + one_r.to_string() + " 1") + ir_emit("ret2 " + one_r.to_string() + " " + r.to_string()) + ir_last_was_ret = true + return + ir_defer_emit_to_function_frame(false) + ir_emit_string_cleanup(exclude) + ir_emit("ret " + r.to_string()) ir_last_was_ret = true # propagate `err_r` out of the current function as its error return: the diff --git a/self-host/ir_match_emit.pith b/self-host/ir_match_emit.pith index 175c18d7..71f5dce0 100644 --- a/self-host/ir_match_emit.pith +++ b/self-host/ir_match_emit.pith @@ -28,7 +28,7 @@ pub mut ir_tail_match_node := 0 - 1 ## defers, the borrow retain, the optional/result wrap, and the tracked ## local cleanup — so every count an arm's payload binding had retained ## leaked once per call, and a borrowed return could dangle. -pub fn ir_emit_match_arm_return(body_idx: Int, emit_ret: fn(Int), emit_block: fn(Int) -> Int): +fn ir_emit_match_arm_return(body_idx: Int, emit_ret: fn(Int), emit_block: fn(Int) -> Int): body := get_node(body_idx) if body.kind == "block": emit_block(body_idx) @@ -37,6 +37,8 @@ pub fn ir_emit_match_arm_return(body_idx: Int, emit_ret: fn(Int), emit_block: fn if body.kind == "body" and body.children.len() > 0: expr_idx = body.children[0] emit_ret(expr_idx) + # emit_ret already sets this on every exit path; kept as belt-and-braces + # because emit_ret is a caller-supplied callback. ir_last_was_ret = true # Lower a tail-position match: each matching arm returns its value. A no-match @@ -333,6 +335,30 @@ pub fn ir_emit_variant_payload_conds(pat: Node, subj_r: Int, tag_cond_r: Int) -> # Bind any names a pattern introduces, in the branch where it matched. +## give a match binding its own count on an rc payload: release whatever the +## name held before (zero on first reach, a stale payload when an arm rebinds +## the name in a loop), then retain the new value — the reassign dance for +## ordinary locals. the subject's box or shell is released at scope exit, +## which frees the payload, so a plain borrow would dangle; the prepass +## tracks these names, so exit cleanup releases them (or a return transfers +## the count to the caller). +## +## an untracked name (sibling arms bind it with different rc kinds) gets no +## prologue zero-store, so loading it here would reference an undeclared +## name — and the previous value's kind is unknowable anyway, so any release +## could be the wrong one. skip the release (a bounded leak) but still +## retain: the binding must own its count or it would dangle once the +## subject dies. a kind with no rc kind (ints, "unknown") needs nothing. +fn ir_bind_owned_rc_payload(name: String, value_r: Int, kind: String): + rc_kind := ir_rc_kind(kind) + if rc_kind.len() == 0: + return + if not ir_untracked_rc_binds.contains(name): + old_r := ir_reg() + ir_emit("load " + old_r.to_string() + " " + name) + ir_rc_release_reg(old_r, rc_kind) + ir_rc_retain_reg(value_r, rc_kind) + ## bind pattern names to the matched subject's pieces. pub fn ir_emit_match_bindings(pat_idx: Int, subj_r: Int, subj_type: String): pat := get_node(pat_idx) @@ -377,16 +403,9 @@ pub fn ir_emit_match_bindings(pat_idx: Int, subj_r: Int, subj_type: String): ir_var_types.insert(pat.value, inner_kind) # an rc payload is retained so the binding owns its own count — # the subject's shell (or its cascade-released payload) can die at - # scope exit while the binding lives on. the prepass tracks the - # name, so exit cleanup releases it or a return transfers it, - # the same contract as an enum arm's payload binding below. - rc_kind := ir_rc_kind(inner_kind) - if rc_kind.len() > 0: - if not ir_untracked_rc_binds.contains(pat.value): - old_r := ir_reg() - ir_emit("load " + old_r.to_string() + " " + pat.value) - ir_rc_release_reg(old_r, rc_kind) - ir_rc_retain_reg(inner_r, rc_kind) + # scope exit while the binding lives on. same contract as an enum + # arm's payload binding below; rationale on ir_bind_owned_rc_payload. + ir_bind_owned_rc_payload(pat.value, inner_r, inner_kind) ir_emit("store " + pat.value + " " + inner_r.to_string()) return ir_var_regs.insert(pat.value, subj_r) @@ -410,25 +429,7 @@ pub fn ir_emit_match_bindings(pat_idx: Int, subj_r: Int, subj_type: String): kind = kinds[i] slot_r := ir_reg() ir_emit("field " + slot_r.to_string() + " " + subj_r.to_string() + " " + ((i + 1) * 8).to_string() + " " + kind + " " + sub.value) - rc_kind := ir_rc_kind(kind) - if rc_kind.len() > 0: - if not ir_untracked_rc_binds.contains(sub.value): - # release whatever the binding held before (it is zero - # on first reach and a stale payload when an arm rebinds - # the name in a loop), then retain the new one so it - # owns its count, mirroring the reassign dance for - # ordinary locals. - old_r := ir_reg() - ir_emit("load " + old_r.to_string() + " " + sub.value) - ir_rc_release_reg(old_r, rc_kind) - # an untracked name (sibling arms bind it with different rc - # kinds) gets no prologue zero-store, so loading it here - # would reference an undeclared name — and the previous - # value's kind is unknowable anyway, so any release could - # be the wrong one. skip the release (a bounded leak) but - # still retain: the binding must own its count or it would - # dangle once the enum box is released at scope exit. - ir_rc_retain_reg(slot_r, rc_kind) + ir_bind_owned_rc_payload(sub.value, slot_r, kind) ir_var_regs.insert(sub.value, slot_r) if kind != "unknown": ir_var_types.insert(sub.value, kind) diff --git a/self-host/ir_optionals.pith b/self-host/ir_optionals.pith index 9435311a..7d577553 100644 --- a/self-host/ir_optionals.pith +++ b/self-host/ir_optionals.pith @@ -64,13 +64,7 @@ pub fn ir_emit_optional_optional_compare(result_reg: Int, op: String, left_r: In flag_eq := ir_reg() ir_emit("eq " + flag_eq.to_string() + " " + lf.to_string() + " " + rf.to_string()) - val_eq := ir_reg() - inner_kind := ir_type_from_tid(info.inner) - if inner_kind == "string": - str_eq_name := ir_runtime_call_name("__str_eq") - ir_emit("call " + val_eq.to_string() + " " + str_eq_name + " bool 2 " + lv.to_string() + " " + rv.to_string()) - else: - ir_emit("eq " + val_eq.to_string() + " " + lv.to_string() + " " + rv.to_string()) + val_eq := ir_emit_inner_value_eq(ir_type_from_tid(info.inner), lv, rv) zero_r := ir_reg() ir_emit("iconst " + zero_r.to_string() + " 0") @@ -80,14 +74,7 @@ pub fn ir_emit_optional_optional_compare(result_reg: Int, op: String, left_r: In tail := ir_reg() ir_emit("or " + tail.to_string() + " " + both_none.to_string() + " " + val_eq.to_string()) - if op == "eq": - ir_emit("and " + result_reg.to_string() + " " + flag_eq.to_string() + " " + tail.to_string()) - else: - eq_result := ir_reg() - ir_emit("and " + eq_result.to_string() + " " + flag_eq.to_string() + " " + tail.to_string()) - one_r := ir_reg() - ir_emit("iconst " + one_r.to_string() + " 1") - ir_emit("neq " + result_reg.to_string() + " " + eq_result.to_string() + " " + one_r.to_string()) + ir_emit_guarded_eq(result_reg, op, flag_eq, tail) # `x == 5` where x is an Optional and 5 is a plain value of its inner type. # none never equals a plain value, so eq is `is_some and value == v` and neq @@ -98,18 +85,31 @@ pub fn ir_emit_optional_plain_compare(result_reg: Int, op: String, opt_r: Int, p info := get_type_info(opt_tid) flag := ir_optional_flag_field(opt_r) value := ir_optional_value_field(opt_r, opt_tid) + val_eq := ir_emit_inner_value_eq(ir_type_from_tid(info.inner), value, plain_r) + ir_emit_guarded_eq(result_reg, op, flag, val_eq) + +# the payload-equality register for one inner kind, shared by both optional +# compares above: a string inner compares by content through __str_eq; +# everything else falls back to i64 equality, which is what the bare +# type's `==` would do. +fn ir_emit_inner_value_eq(inner_kind: String, a_r: Int, b_r: Int) -> Int: val_eq := ir_reg() - inner_kind := ir_type_from_tid(info.inner) if inner_kind == "string": str_eq_name := ir_runtime_call_name("__str_eq") - ir_emit("call " + val_eq.to_string() + " " + str_eq_name + " bool 2 " + value.to_string() + " " + plain_r.to_string()) + ir_emit("call " + val_eq.to_string() + " " + str_eq_name + " bool 2 " + a_r.to_string() + " " + b_r.to_string()) else: - ir_emit("eq " + val_eq.to_string() + " " + value.to_string() + " " + plain_r.to_string()) + ir_emit("eq " + val_eq.to_string() + " " + a_r.to_string() + " " + b_r.to_string()) + return val_eq + +# combine `guard_r and val_eq_r` into result_reg for op "eq", or the +# negation of that conjunction for neq (compared against 1, the emitter's +# bool encoding). +fn ir_emit_guarded_eq(result_reg: Int, op: String, guard_r: Int, val_eq_r: Int): if op == "eq": - ir_emit("and " + result_reg.to_string() + " " + flag.to_string() + " " + val_eq.to_string()) + ir_emit("and " + result_reg.to_string() + " " + guard_r.to_string() + " " + val_eq_r.to_string()) else: eq_result := ir_reg() - ir_emit("and " + eq_result.to_string() + " " + flag.to_string() + " " + val_eq.to_string()) + ir_emit("and " + eq_result.to_string() + " " + guard_r.to_string() + " " + val_eq_r.to_string()) one_r := ir_reg() ir_emit("iconst " + one_r.to_string() + " 1") ir_emit("neq " + result_reg.to_string() + " " + eq_result.to_string() + " " + one_r.to_string()) diff --git a/self-host/parser.pith b/self-host/parser.pith index 82506348..a4c5bb9a 100644 --- a/self-host/parser.pith +++ b/self-host/parser.pith @@ -1701,22 +1701,13 @@ fn parse_fn_decl() -> Int: advance_token() name_tok := expect("identifier") - # optional generic params - generics := parse_optional_generic_params() + # optional generic params; a where clause below may replace entries + mut generics := parse_optional_generic_params() expect("lparen") params := parse_param_list() expect("rparen") - mut children: List[Int] := [] - - # store generic_param nodes so checker can access bounds - for g in generics: - children.push(g) - - for p in params: - children.push(p) - mut ret_node := 0 - 1 if match_tok("arrow"): ret := parse_type_expr() @@ -1736,34 +1727,24 @@ fn parse_fn_decl() -> Int: while more: wn_tok := expect("identifier") expect("colon") - mut extra: List[Int] := [parse_type_expr()] - while match_tok("plus"): - extra.push(parse_type_expr()) + extra := parse_bound_list() mut found := false - for g_idx, gi in generics: - gp := get_node(g_idx) - if gp.kind == "generic_param" and gp.value == wn_tok.value: - mut merged: List[Int] := [] - for b in gp.children: - merged.push(b) - for e in extra: - merged.push(e) - generics[gi] = add_node_with_position("generic_param", gp.value, merged) + for gp_idx, gp_i in generics: + gp := get_node(gp_idx) + if found == false and gp.kind == "generic_param" and gp.value == wn_tok.value: + generics[gp_i] = merge_generic_param_bounds(gp_idx, extra) found = true if found == false: parser_report_error_here("E264", "where clause names '" + wn_tok.value + "', which is not a type parameter of '" + name_tok.value + "'", "declare it in the bracket list: fn " + name_tok.value + "[" + wn_tok.value + "](...)") more = match_tok("comma") - # generic_param nodes were pushed before any where clause was parsed, - # so rebuild the child list from the (possibly replaced) entries - mut rebuilt: List[Int] := [] + # the child layout the checker and emitter walk: generics, params, + # returns (when present), then the body. + mut children: List[Int] := [] for g in generics: - rebuilt.push(g) - mut ci := generics.len() - while ci < children.len(): - rebuilt.push(children[ci]) - ci = ci + 1 - children = rebuilt + children.push(g) + for p in params: + children.push(p) if ret_node >= 0: children.push(ret_node) @@ -1774,6 +1755,27 @@ fn parse_fn_decl() -> Int: return add_node_with_position("fn_decl", name_tok.value, children) +# `Bound + Bound + ...` after a colon — one bound list, shared by the +# inline bracket spelling and the where clause so the two grammars can +# never drift apart. +fn parse_bound_list() -> List[Int]: + mut bounds: List[Int] := [parse_type_expr()] + while match_tok("plus"): + bounds.push(parse_type_expr()) + return bounds + +# a where clause adds bounds to a parameter that may already carry inline +# ones. the merged node replaces the original in the declaration's child +# list; the stale generic_param is simply orphaned in the arena. +fn merge_generic_param_bounds(gp_idx: Int, extra: List[Int]) -> Int: + gp := get_node(gp_idx) + mut merged: List[Int] := [] + for b in gp.children: + merged.push(b) + for e in extra: + merged.push(e) + return add_node_with_position("generic_param", gp.value, merged) + fn parse_test_decl() -> Int: advance_token() name_tok := expect("string_lit") @@ -1836,10 +1838,7 @@ fn parse_generic_param() -> Int: name_tok := expect("identifier") # bounds: T: Comparable + Hash if match_tok("colon"): - mut bounds: List[Int] := [parse_type_expr()] - while match_tok("plus"): - bounds.push(parse_type_expr()) - return add_node_with_position("generic_param", name_tok.value, bounds) + return add_node_with_position("generic_param", name_tok.value, parse_bound_list()) mut empty: List[Int] := [] return add_node_with_position("generic_param", name_tok.value, empty)