@@ -1139,8 +1139,8 @@
11391139/* src-373 %jibb /tests/golden/module-fixture-eof/source/jibb
11401140/* tok-373 %txt /tests/golden/module-fixture-eof/tokens/txt
11411141/* tre-373 %txt /tests/golden/module-fixture-eof/tree/txt
1142−/* mtre-373 %txt /tests/golden/module-fixture-eof/module-trees/txt
11431142/* mod-373-1 %jibb /tests/golden/module-fixture-eof/modules/ui/incomplete/jibb
1143+/* mtre-373 %txt /tests/golden/module-fixture-eof/module-trees/txt
11441144/* src-374 %jibb /tests/golden/prelude-1c-structural/source/jibb
11451145/* tok-374 %txt /tests/golden/prelude-1c-structural/tokens/txt
11461146/* tre-374 %txt /tests/golden/prelude-1c-structural/tree/txt
@@ -1193,130 +1193,142 @@
11931193/* src-385 %jibb /tests/golden/types-module-fixtures/source/jibb
11941194/* tok-385 %txt /tests/golden/types-module-fixtures/tokens/txt
11951195/* tre-385 %txt /tests/golden/types-module-fixtures/tree/txt
1196−/* typ-385 %txt /tests/golden/types-module-fixtures/types/txt
1197−/* mtre-385 %txt /tests/golden/types-module-fixtures/module-trees/txt
11981196/* mod-385-1 %jibb /tests/golden/types-module-fixtures/modules/ui/api/blog/jibb
11991197/* mod-385-2 %jibb /tests/golden/types-module-fixtures/modules/ui/components/card/jibb
1200−/* src-386 %jibb /tests/golden/types-partial-apply/source/jibb
1201−/* tok-386 %txt /tests/golden/types-partial-apply/tokens/txt
1202−/* tre-386 %txt /tests/golden/types-partial-apply/tree/txt
1203−/* typ-386 %txt /tests/golden/types-partial-apply/types/txt
1204−/* src-387 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1205−/* tok-387 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1206−/* tre-387 %txt /tests/golden/types-partial-atom-alias/tree/txt
1207−/* typ-387 %txt /tests/golden/types-partial-atom-alias/types/txt
1208−/* src-388 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1209−/* tok-388 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1210−/* tre-388 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1211−/* typ-388 %txt /tests/golden/types-partial-atom-constraint/types/txt
1212−/* src-389 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1213−/* tok-389 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1214−/* tre-389 %txt /tests/golden/types-partial-atom-widening/tree/txt
1215−/* typ-389 %txt /tests/golden/types-partial-atom-widening/types/txt
1216−/* src-390 %jibb /tests/golden/types-partial-aura/source/jibb
1217−/* tok-390 %txt /tests/golden/types-partial-aura/tokens/txt
1218−/* tre-390 %txt /tests/golden/types-partial-aura/tree/txt
1219−/* typ-390 %txt /tests/golden/types-partial-aura/types/txt
1220−/* src-391 %jibb /tests/golden/types-partial-aura-family/source/jibb
1221−/* tok-391 %txt /tests/golden/types-partial-aura-family/tokens/txt
1222−/* tre-391 %txt /tests/golden/types-partial-aura-family/tree/txt
1223−/* typ-391 %txt /tests/golden/types-partial-aura-family/types/txt
1224−/* src-392 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1225−/* tok-392 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1226−/* tre-392 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1227−/* typ-392 %txt /tests/golden/types-partial-aura-generalization/types/txt
1228−/* src-393 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1229−/* tok-393 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1230−/* tre-393 %txt /tests/golden/types-partial-bare-atom/tree/txt
1231−/* typ-393 %txt /tests/golden/types-partial-bare-atom/types/txt
1232−/* src-394 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1233−/* tok-394 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1234−/* tre-394 %txt /tests/golden/types-partial-branch-widening/tree/txt
1235−/* typ-394 %txt /tests/golden/types-partial-branch-widening/types/txt
1236−/* src-395 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1237−/* tok-395 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1238−/* tre-395 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1239−/* typ-395 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1240−/* src-396 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1241−/* tok-396 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1242−/* tre-396 %txt /tests/golden/types-partial-decimal-default/tree/txt
1243−/* typ-396 %txt /tests/golden/types-partial-decimal-default/types/txt
1244−/* src-397 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1245−/* tok-397 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1246−/* tre-397 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1247−/* typ-397 %txt /tests/golden/types-partial-dependency-chain/types/txt
1248−/* src-398 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1249−/* tok-398 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1250−/* tre-398 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1251−/* typ-398 %txt /tests/golden/types-partial-explicit-capital/types/txt
1252−/* src-399 %jibb /tests/golden/types-partial-forward/source/jibb
1253−/* tok-399 %txt /tests/golden/types-partial-forward/tokens/txt
1254−/* tre-399 %txt /tests/golden/types-partial-forward/tree/txt
1255−/* typ-399 %txt /tests/golden/types-partial-forward/types/txt
1256−/* src-400 %jibb /tests/golden/types-partial-generalization/source/jibb
1257−/* tok-400 %txt /tests/golden/types-partial-generalization/tokens/txt
1258−/* tre-400 %txt /tests/golden/types-partial-generalization/tree/txt
1259−/* typ-400 %txt /tests/golden/types-partial-generalization/types/txt
1260−/* src-401 %jibb /tests/golden/types-partial-identity/source/jibb
1261−/* tok-401 %txt /tests/golden/types-partial-identity/tokens/txt
1262−/* tre-401 %txt /tests/golden/types-partial-identity/tree/txt
1263−/* typ-401 %txt /tests/golden/types-partial-identity/types/txt
1264−/* src-402 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1265−/* tok-402 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1266−/* tre-402 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1267−/* typ-402 %txt /tests/golden/types-partial-independent-atoms/types/txt
1268−/* src-403 %jibb /tests/golden/types-partial-locals/source/jibb
1269−/* tok-403 %txt /tests/golden/types-partial-locals/tokens/txt
1270−/* tre-403 %txt /tests/golden/types-partial-locals/tree/txt
1271−/* typ-403 %txt /tests/golden/types-partial-locals/types/txt
1272−/* src-404 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1273−/* tok-404 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1274−/* tre-404 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1275−/* typ-404 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1276−/* src-405 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1277−/* tok-405 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1278−/* tre-405 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1279−/* typ-405 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1280−/* src-406 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1281−/* tok-406 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1282−/* tre-406 %txt /tests/golden/types-partial-mold-composite/tree/txt
1283−/* typ-406 %txt /tests/golden/types-partial-mold-composite/types/txt
1284−/* src-407 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1285−/* tok-407 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1286−/* tre-407 %txt /tests/golden/types-partial-mold-forward/tree/txt
1287−/* typ-407 %txt /tests/golden/types-partial-mold-forward/types/txt
1288−/* src-408 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1289−/* tok-408 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1290−/* tre-408 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1291−/* typ-408 %txt /tests/golden/types-partial-mold-recursive/types/txt
1292−/* src-409 %jibb /tests/golden/types-partial-occurs/source/jibb
1293−/* tok-409 %txt /tests/golden/types-partial-occurs/tokens/txt
1294−/* tre-409 %txt /tests/golden/types-partial-occurs/tree/txt
1295−/* typ-409 %txt /tests/golden/types-partial-occurs/types/txt
1296−/* src-410 %jibb /tests/golden/types-partial-projection/source/jibb
1297−/* tok-410 %txt /tests/golden/types-partial-projection/tokens/txt
1298−/* tre-410 %txt /tests/golden/types-partial-projection/tree/txt
1299−/* typ-410 %txt /tests/golden/types-partial-projection/types/txt
1300−/* src-411 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1301−/* tok-411 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1302−/* tre-411 %txt /tests/golden/types-partial-shadow-global/tree/txt
1303−/* typ-411 %txt /tests/golden/types-partial-shadow-global/types/txt
1304−/* src-412 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1305−/* tok-412 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1306−/* tre-412 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1307−/* typ-412 %txt /tests/golden/types-partial-shared-tvar/types/txt
1308−/* src-413 %jibb /tests/golden/types-partial-union-cases/source/jibb
1309−/* tok-413 %txt /tests/golden/types-partial-union-cases/tokens/txt
1310−/* tre-413 %txt /tests/golden/types-partial-union-cases/tree/txt
1311−/* typ-413 %txt /tests/golden/types-partial-union-cases/types/txt
1312−/* src-414 %jibb /tests/golden/types-partial-union-edges/source/jibb
1313−/* tok-414 %txt /tests/golden/types-partial-union-edges/tokens/txt
1314−/* tre-414 %txt /tests/golden/types-partial-union-edges/tree/txt
1315−/* typ-414 %txt /tests/golden/types-partial-union-edges/types/txt
1316−/* src-415 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1317−/* tok-415 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1318−/* tre-415 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1319−/* typ-415 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1198+/* typ-385 %txt /tests/golden/types-module-fixtures/types/txt
1199+/* mtre-385 %txt /tests/golden/types-module-fixtures/module-trees/txt
1200+/* src-386 %jibb /tests/golden/types-module-mixed/source/jibb
1201+/* tok-386 %txt /tests/golden/types-module-mixed/tokens/txt
1202+/* tre-386 %txt /tests/golden/types-module-mixed/tree/txt
1203+/* mod-386-1 %jibb /tests/golden/types-module-mixed/modules/ui/helper/jibb
1204+/* typ-386 %txt /tests/golden/types-module-mixed/types/txt
1205+/* imp-386-1 %txt /tests/golden/types-module-mixed/sur/fixture/txt
1206+/* mark-386-1 %txt /tests/golden/types-module-mixed/mar/label/txt
1207+/* mtre-386 %txt /tests/golden/types-module-mixed/module-trees/txt
1208+/* src-387 %jibb /tests/golden/types-partial-apply/source/jibb
1209+/* tok-387 %txt /tests/golden/types-partial-apply/tokens/txt
1210+/* tre-387 %txt /tests/golden/types-partial-apply/tree/txt
1211+/* typ-387 %txt /tests/golden/types-partial-apply/types/txt
1212+/* src-388 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1213+/* tok-388 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1214+/* tre-388 %txt /tests/golden/types-partial-atom-alias/tree/txt
1215+/* typ-388 %txt /tests/golden/types-partial-atom-alias/types/txt
1216+/* src-389 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1217+/* tok-389 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1218+/* tre-389 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1219+/* typ-389 %txt /tests/golden/types-partial-atom-constraint/types/txt
1220+/* src-390 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1221+/* tok-390 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1222+/* tre-390 %txt /tests/golden/types-partial-atom-widening/tree/txt
1223+/* typ-390 %txt /tests/golden/types-partial-atom-widening/types/txt
1224+/* src-391 %jibb /tests/golden/types-partial-aura/source/jibb
1225+/* tok-391 %txt /tests/golden/types-partial-aura/tokens/txt
1226+/* tre-391 %txt /tests/golden/types-partial-aura/tree/txt
1227+/* typ-391 %txt /tests/golden/types-partial-aura/types/txt
1228+/* src-392 %jibb /tests/golden/types-partial-aura-family/source/jibb
1229+/* tok-392 %txt /tests/golden/types-partial-aura-family/tokens/txt
1230+/* tre-392 %txt /tests/golden/types-partial-aura-family/tree/txt
1231+/* typ-392 %txt /tests/golden/types-partial-aura-family/types/txt
1232+/* src-393 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1233+/* tok-393 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1234+/* tre-393 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1235+/* typ-393 %txt /tests/golden/types-partial-aura-generalization/types/txt
1236+/* src-394 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1237+/* tok-394 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1238+/* tre-394 %txt /tests/golden/types-partial-bare-atom/tree/txt
1239+/* typ-394 %txt /tests/golden/types-partial-bare-atom/types/txt
1240+/* src-395 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1241+/* tok-395 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1242+/* tre-395 %txt /tests/golden/types-partial-branch-widening/tree/txt
1243+/* typ-395 %txt /tests/golden/types-partial-branch-widening/types/txt
1244+/* src-396 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1245+/* tok-396 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1246+/* tre-396 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1247+/* typ-396 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1248+/* src-397 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1249+/* tok-397 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1250+/* tre-397 %txt /tests/golden/types-partial-decimal-default/tree/txt
1251+/* typ-397 %txt /tests/golden/types-partial-decimal-default/types/txt
1252+/* src-398 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1253+/* tok-398 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1254+/* tre-398 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1255+/* typ-398 %txt /tests/golden/types-partial-dependency-chain/types/txt
1256+/* src-399 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1257+/* tok-399 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1258+/* tre-399 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1259+/* typ-399 %txt /tests/golden/types-partial-explicit-capital/types/txt
1260+/* src-400 %jibb /tests/golden/types-partial-forward/source/jibb
1261+/* tok-400 %txt /tests/golden/types-partial-forward/tokens/txt
1262+/* tre-400 %txt /tests/golden/types-partial-forward/tree/txt
1263+/* typ-400 %txt /tests/golden/types-partial-forward/types/txt
1264+/* src-401 %jibb /tests/golden/types-partial-generalization/source/jibb
1265+/* tok-401 %txt /tests/golden/types-partial-generalization/tokens/txt
1266+/* tre-401 %txt /tests/golden/types-partial-generalization/tree/txt
1267+/* typ-401 %txt /tests/golden/types-partial-generalization/types/txt
1268+/* src-402 %jibb /tests/golden/types-partial-identity/source/jibb
1269+/* tok-402 %txt /tests/golden/types-partial-identity/tokens/txt
1270+/* tre-402 %txt /tests/golden/types-partial-identity/tree/txt
1271+/* typ-402 %txt /tests/golden/types-partial-identity/types/txt
1272+/* src-403 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1273+/* tok-403 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1274+/* tre-403 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1275+/* typ-403 %txt /tests/golden/types-partial-independent-atoms/types/txt
1276+/* src-404 %jibb /tests/golden/types-partial-local-molds/source/jibb
1277+/* tok-404 %txt /tests/golden/types-partial-local-molds/tokens/txt
1278+/* tre-404 %txt /tests/golden/types-partial-local-molds/tree/txt
1279+/* typ-404 %txt /tests/golden/types-partial-local-molds/types/txt
1280+/* src-405 %jibb /tests/golden/types-partial-locals/source/jibb
1281+/* tok-405 %txt /tests/golden/types-partial-locals/tokens/txt
1282+/* tre-405 %txt /tests/golden/types-partial-locals/tree/txt
1283+/* typ-405 %txt /tests/golden/types-partial-locals/types/txt
1284+/* src-406 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1285+/* tok-406 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1286+/* tre-406 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1287+/* typ-406 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1288+/* src-407 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1289+/* tok-407 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1290+/* tre-407 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1291+/* typ-407 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1292+/* src-408 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1293+/* tok-408 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1294+/* tre-408 %txt /tests/golden/types-partial-mold-composite/tree/txt
1295+/* typ-408 %txt /tests/golden/types-partial-mold-composite/types/txt
1296+/* src-409 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1297+/* tok-409 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1298+/* tre-409 %txt /tests/golden/types-partial-mold-forward/tree/txt
1299+/* typ-409 %txt /tests/golden/types-partial-mold-forward/types/txt
1300+/* src-410 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1301+/* tok-410 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1302+/* tre-410 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1303+/* typ-410 %txt /tests/golden/types-partial-mold-recursive/types/txt
1304+/* src-411 %jibb /tests/golden/types-partial-occurs/source/jibb
1305+/* tok-411 %txt /tests/golden/types-partial-occurs/tokens/txt
1306+/* tre-411 %txt /tests/golden/types-partial-occurs/tree/txt
1307+/* typ-411 %txt /tests/golden/types-partial-occurs/types/txt
1308+/* src-412 %jibb /tests/golden/types-partial-projection/source/jibb
1309+/* tok-412 %txt /tests/golden/types-partial-projection/tokens/txt
1310+/* tre-412 %txt /tests/golden/types-partial-projection/tree/txt
1311+/* typ-412 %txt /tests/golden/types-partial-projection/types/txt
1312+/* src-413 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1313+/* tok-413 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1314+/* tre-413 %txt /tests/golden/types-partial-shadow-global/tree/txt
1315+/* typ-413 %txt /tests/golden/types-partial-shadow-global/types/txt
1316+/* src-414 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1317+/* tok-414 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1318+/* tre-414 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1319+/* typ-414 %txt /tests/golden/types-partial-shared-tvar/types/txt
1320+/* src-415 %jibb /tests/golden/types-partial-union-cases/source/jibb
1321+/* tok-415 %txt /tests/golden/types-partial-union-cases/tokens/txt
1322+/* tre-415 %txt /tests/golden/types-partial-union-cases/tree/txt
1323+/* typ-415 %txt /tests/golden/types-partial-union-cases/types/txt
1324+/* src-416 %jibb /tests/golden/types-partial-union-edges/source/jibb
1325+/* tok-416 %txt /tests/golden/types-partial-union-edges/tokens/txt
1326+/* tre-416 %txt /tests/golden/types-partial-union-edges/tree/txt
1327+/* typ-416 %txt /tests/golden/types-partial-union-edges/types/txt
1328+/* src-417 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1329+/* tok-417 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1330+/* tre-417 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1331+/* typ-417 %txt /tests/golden/types-partial-unresolved-tag/types/txt
13201332|%
13211333:: one arm per case
13221334::
@@ -2089,67 +2101,71 @@
20892101++ test-types-import-sur
20902102 (weld (check ~.types-import-sur src-384 `tok-384 `tre-384) (check-import-types ~.types-import-sur ~[%tests %golden ~.types-import-sur %source %jibb] src-384 `typ-384 ~[[%fixture %title imp-384-1] [%fixture %pair imp-384-2]]))
20912103++ test-types-module-fixtures
2092− (weld (weld (check-at ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-385 `tok-385 `tre-385) (check-types ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-385 `typ-385)) (check-module-trees ~.types-module-fixtures `mtre-385 ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-385-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-385-2]]))
2104+ (weld (weld (check-at ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-385 `tok-385 `tre-385) (check-module-types ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-385 `typ-385 ~ ~ ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-385-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-385-2]])) (check-module-trees ~.types-module-fixtures `mtre-385 ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-385-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-385-2]]))
2105+++ test-types-module-mixed
2106+ (weld (weld (check ~.types-module-mixed src-386 `tok-386 `tre-386) (check-module-types ~.types-module-mixed ~[%tests %golden ~.types-module-mixed %source %jibb] src-386 `typ-386 ~[[%fixture %title imp-386-1]] ~[[%label mark-386-1]] ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-386-1]])) (check-module-trees ~.types-module-mixed `mtre-386 ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-386-1]]))
20932107++ test-types-partial-apply
2094− (weld (check ~.types-partial-apply src-386 `tok-386 `tre-386) (check-types ~.types-partial-apply ~[%tests %golden ~.types-partial-apply %source %jibb] src-386 `typ-386))
2108+ (weld (check ~.types-partial-apply src-387 `tok-387 `tre-387) (check-types ~.types-partial-apply ~[%tests %golden ~.types-partial-apply %source %jibb] src-387 `typ-387))
20952109++ test-types-partial-atom-alias
2096− (weld (check ~.types-partial-atom-alias src-387 `tok-387 `tre-387) (check-types ~.types-partial-atom-alias ~[%tests %golden ~.types-partial-atom-alias %source %jibb] src-387 `typ-387))
2110+ (weld (check ~.types-partial-atom-alias src-388 `tok-388 `tre-388) (check-types ~.types-partial-atom-alias ~[%tests %golden ~.types-partial-atom-alias %source %jibb] src-388 `typ-388))
20972111++ test-types-partial-atom-constraint
2098− (weld (check ~.types-partial-atom-constraint src-388 `tok-388 `tre-388) (check-types ~.types-partial-atom-constraint ~[%tests %golden ~.types-partial-atom-constraint %source %jibb] src-388 `typ-388))
2112+ (weld (check ~.types-partial-atom-constraint src-389 `tok-389 `tre-389) (check-types ~.types-partial-atom-constraint ~[%tests %golden ~.types-partial-atom-constraint %source %jibb] src-389 `typ-389))
20992113++ test-types-partial-atom-widening
2100− (weld (check ~.types-partial-atom-widening src-389 `tok-389 `tre-389) (check-types ~.types-partial-atom-widening ~[%tests %golden ~.types-partial-atom-widening %source %jibb] src-389 `typ-389))
2114+ (weld (check ~.types-partial-atom-widening src-390 `tok-390 `tre-390) (check-types ~.types-partial-atom-widening ~[%tests %golden ~.types-partial-atom-widening %source %jibb] src-390 `typ-390))
21012115++ test-types-partial-aura
2102− (weld (check ~.types-partial-aura src-390 `tok-390 `tre-390) (check-types ~.types-partial-aura ~[%tests %golden ~.types-partial-aura %source %jibb] src-390 `typ-390))
2116+ (weld (check ~.types-partial-aura src-391 `tok-391 `tre-391) (check-types ~.types-partial-aura ~[%tests %golden ~.types-partial-aura %source %jibb] src-391 `typ-391))
21032117++ test-types-partial-aura-family
2104− (weld (check ~.types-partial-aura-family src-391 `tok-391 `tre-391) (check-types ~.types-partial-aura-family ~[%tests %golden ~.types-partial-aura-family %source %jibb] src-391 `typ-391))
2118+ (weld (check ~.types-partial-aura-family src-392 `tok-392 `tre-392) (check-types ~.types-partial-aura-family ~[%tests %golden ~.types-partial-aura-family %source %jibb] src-392 `typ-392))
21052119++ test-types-partial-aura-generalization
2106− (weld (check ~.types-partial-aura-generalization src-392 `tok-392 `tre-392) (check-types ~.types-partial-aura-generalization ~[%tests %golden ~.types-partial-aura-generalization %source %jibb] src-392 `typ-392))
2120+ (weld (check ~.types-partial-aura-generalization src-393 `tok-393 `tre-393) (check-types ~.types-partial-aura-generalization ~[%tests %golden ~.types-partial-aura-generalization %source %jibb] src-393 `typ-393))
21072121++ test-types-partial-bare-atom
2108− (weld (check ~.types-partial-bare-atom src-393 `tok-393 `tre-393) (check-types ~.types-partial-bare-atom ~[%tests %golden ~.types-partial-bare-atom %source %jibb] src-393 `typ-393))
2122+ (weld (check ~.types-partial-bare-atom src-394 `tok-394 `tre-394) (check-types ~.types-partial-bare-atom ~[%tests %golden ~.types-partial-bare-atom %source %jibb] src-394 `typ-394))
21092123++ test-types-partial-branch-widening
2110− (weld (check ~.types-partial-branch-widening src-394 `tok-394 `tre-394) (check-types ~.types-partial-branch-widening ~[%tests %golden ~.types-partial-branch-widening %source %jibb] src-394 `typ-394))
2124+ (weld (check ~.types-partial-branch-widening src-395 `tok-395 `tre-395) (check-types ~.types-partial-branch-widening ~[%tests %golden ~.types-partial-branch-widening %source %jibb] src-395 `typ-395))
21112125++ test-types-partial-conflicting-sites
2112− (weld (check ~.types-partial-conflicting-sites src-395 `tok-395 `tre-395) (check-types ~.types-partial-conflicting-sites ~[%tests %golden ~.types-partial-conflicting-sites %source %jibb] src-395 `typ-395))
2126+ (weld (check ~.types-partial-conflicting-sites src-396 `tok-396 `tre-396) (check-types ~.types-partial-conflicting-sites ~[%tests %golden ~.types-partial-conflicting-sites %source %jibb] src-396 `typ-396))
21132127++ test-types-partial-decimal-default
2114− (weld (check ~.types-partial-decimal-default src-396 `tok-396 `tre-396) (check-types ~.types-partial-decimal-default ~[%tests %golden ~.types-partial-decimal-default %source %jibb] src-396 `typ-396))
2128+ (weld (check ~.types-partial-decimal-default src-397 `tok-397 `tre-397) (check-types ~.types-partial-decimal-default ~[%tests %golden ~.types-partial-decimal-default %source %jibb] src-397 `typ-397))
21152129++ test-types-partial-dependency-chain
2116− (weld (check ~.types-partial-dependency-chain src-397 `tok-397 `tre-397) (check-types ~.types-partial-dependency-chain ~[%tests %golden ~.types-partial-dependency-chain %source %jibb] src-397 `typ-397))
2130+ (weld (check ~.types-partial-dependency-chain src-398 `tok-398 `tre-398) (check-types ~.types-partial-dependency-chain ~[%tests %golden ~.types-partial-dependency-chain %source %jibb] src-398 `typ-398))
21172131++ test-types-partial-explicit-capital
2118− (weld (check ~.types-partial-explicit-capital src-398 `tok-398 `tre-398) (check-types ~.types-partial-explicit-capital ~[%tests %golden ~.types-partial-explicit-capital %source %jibb] src-398 `typ-398))
2132+ (weld (check ~.types-partial-explicit-capital src-399 `tok-399 `tre-399) (check-types ~.types-partial-explicit-capital ~[%tests %golden ~.types-partial-explicit-capital %source %jibb] src-399 `typ-399))
21192133++ test-types-partial-forward
2120− (weld (check ~.types-partial-forward src-399 `tok-399 `tre-399) (check-types ~.types-partial-forward ~[%tests %golden ~.types-partial-forward %source %jibb] src-399 `typ-399))
2134+ (weld (check ~.types-partial-forward src-400 `tok-400 `tre-400) (check-types ~.types-partial-forward ~[%tests %golden ~.types-partial-forward %source %jibb] src-400 `typ-400))
21212135++ test-types-partial-generalization
2122− (weld (check ~.types-partial-generalization src-400 `tok-400 `tre-400) (check-types ~.types-partial-generalization ~[%tests %golden ~.types-partial-generalization %source %jibb] src-400 `typ-400))
2136+ (weld (check ~.types-partial-generalization src-401 `tok-401 `tre-401) (check-types ~.types-partial-generalization ~[%tests %golden ~.types-partial-generalization %source %jibb] src-401 `typ-401))
21232137++ test-types-partial-identity
2124− (weld (check ~.types-partial-identity src-401 `tok-401 `tre-401) (check-types ~.types-partial-identity ~[%tests %golden ~.types-partial-identity %source %jibb] src-401 `typ-401))
2138+ (weld (check ~.types-partial-identity src-402 `tok-402 `tre-402) (check-types ~.types-partial-identity ~[%tests %golden ~.types-partial-identity %source %jibb] src-402 `typ-402))
21252139++ test-types-partial-independent-atoms
2126− (weld (check ~.types-partial-independent-atoms src-402 `tok-402 `tre-402) (check-types ~.types-partial-independent-atoms ~[%tests %golden ~.types-partial-independent-atoms %source %jibb] src-402 `typ-402))
2140+ (weld (check ~.types-partial-independent-atoms src-403 `tok-403 `tre-403) (check-types ~.types-partial-independent-atoms ~[%tests %golden ~.types-partial-independent-atoms %source %jibb] src-403 `typ-403))
2141+++ test-types-partial-local-molds
2142+ (weld (check ~.types-partial-local-molds src-404 `tok-404 `tre-404) (check-types ~.types-partial-local-molds ~[%tests %golden ~.types-partial-local-molds %source %jibb] src-404 `typ-404))
21272143++ test-types-partial-locals
2128− (weld (check ~.types-partial-locals src-403 `tok-403 `tre-403) (check-types ~.types-partial-locals ~[%tests %golden ~.types-partial-locals %source %jibb] src-403 `typ-403))
2144+ (weld (check ~.types-partial-locals src-405 `tok-405 `tre-405) (check-types ~.types-partial-locals ~[%tests %golden ~.types-partial-locals %source %jibb] src-405 `typ-405))
21292145++ test-types-partial-many-atom-constraints
2130− (weld (check ~.types-partial-many-atom-constraints src-404 `tok-404 `tre-404) (check-types ~.types-partial-many-atom-constraints ~[%tests %golden ~.types-partial-many-atom-constraints %source %jibb] src-404 `typ-404))
2146+ (weld (check ~.types-partial-many-atom-constraints src-406 `tok-406 `tre-406) (check-types ~.types-partial-many-atom-constraints ~[%tests %golden ~.types-partial-many-atom-constraints %source %jibb] src-406 `typ-406))
21312147++ test-types-partial-mold-bare-aura
2132− (weld (check ~.types-partial-mold-bare-aura src-405 `tok-405 `tre-405) (check-types ~.types-partial-mold-bare-aura ~[%tests %golden ~.types-partial-mold-bare-aura %source %jibb] src-405 `typ-405))
2148+ (weld (check ~.types-partial-mold-bare-aura src-407 `tok-407 `tre-407) (check-types ~.types-partial-mold-bare-aura ~[%tests %golden ~.types-partial-mold-bare-aura %source %jibb] src-407 `typ-407))
21332149++ test-types-partial-mold-composite
2134− (weld (check ~.types-partial-mold-composite src-406 `tok-406 `tre-406) (check-types ~.types-partial-mold-composite ~[%tests %golden ~.types-partial-mold-composite %source %jibb] src-406 `typ-406))
2150+ (weld (check ~.types-partial-mold-composite src-408 `tok-408 `tre-408) (check-types ~.types-partial-mold-composite ~[%tests %golden ~.types-partial-mold-composite %source %jibb] src-408 `typ-408))
21352151++ test-types-partial-mold-forward
2136− (weld (check ~.types-partial-mold-forward src-407 `tok-407 `tre-407) (check-types ~.types-partial-mold-forward ~[%tests %golden ~.types-partial-mold-forward %source %jibb] src-407 `typ-407))
2152+ (weld (check ~.types-partial-mold-forward src-409 `tok-409 `tre-409) (check-types ~.types-partial-mold-forward ~[%tests %golden ~.types-partial-mold-forward %source %jibb] src-409 `typ-409))
21372153++ test-types-partial-mold-recursive
2138− (weld (check ~.types-partial-mold-recursive src-408 `tok-408 `tre-408) (check-types ~.types-partial-mold-recursive ~[%tests %golden ~.types-partial-mold-recursive %source %jibb] src-408 `typ-408))
2154+ (weld (check ~.types-partial-mold-recursive src-410 `tok-410 `tre-410) (check-types ~.types-partial-mold-recursive ~[%tests %golden ~.types-partial-mold-recursive %source %jibb] src-410 `typ-410))
21392155++ test-types-partial-occurs
2140− (weld (check ~.types-partial-occurs src-409 `tok-409 `tre-409) (check-types ~.types-partial-occurs ~[%tests %golden ~.types-partial-occurs %source %jibb] src-409 `typ-409))
2156+ (weld (check ~.types-partial-occurs src-411 `tok-411 `tre-411) (check-types ~.types-partial-occurs ~[%tests %golden ~.types-partial-occurs %source %jibb] src-411 `typ-411))
21412157++ test-types-partial-projection
2142− (weld (check ~.types-partial-projection src-410 `tok-410 `tre-410) (check-types ~.types-partial-projection ~[%tests %golden ~.types-partial-projection %source %jibb] src-410 `typ-410))
2158+ (weld (check ~.types-partial-projection src-412 `tok-412 `tre-412) (check-types ~.types-partial-projection ~[%tests %golden ~.types-partial-projection %source %jibb] src-412 `typ-412))
21432159++ test-types-partial-shadow-global
2144− (weld (check ~.types-partial-shadow-global src-411 `tok-411 `tre-411) (check-types ~.types-partial-shadow-global ~[%tests %golden ~.types-partial-shadow-global %source %jibb] src-411 `typ-411))
2160+ (weld (check ~.types-partial-shadow-global src-413 `tok-413 `tre-413) (check-types ~.types-partial-shadow-global ~[%tests %golden ~.types-partial-shadow-global %source %jibb] src-413 `typ-413))
21452161++ test-types-partial-shared-tvar
2146− (weld (check ~.types-partial-shared-tvar src-412 `tok-412 `tre-412) (check-types ~.types-partial-shared-tvar ~[%tests %golden ~.types-partial-shared-tvar %source %jibb] src-412 `typ-412))
2162+ (weld (check ~.types-partial-shared-tvar src-414 `tok-414 `tre-414) (check-types ~.types-partial-shared-tvar ~[%tests %golden ~.types-partial-shared-tvar %source %jibb] src-414 `typ-414))
21472163++ test-types-partial-union-cases
2148− (weld (check ~.types-partial-union-cases src-413 `tok-413 `tre-413) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-413 `typ-413))
2164+ (weld (check ~.types-partial-union-cases src-415 `tok-415 `tre-415) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-415 `typ-415))
21492165++ test-types-partial-union-edges
2150− (weld (check ~.types-partial-union-edges src-414 `tok-414 `tre-414) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-414 `typ-414))
2166+ (weld (check ~.types-partial-union-edges src-416 `tok-416 `tre-416) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-416 `typ-416))
21512167++ test-types-partial-unresolved-tag
2152− (weld (check ~.types-partial-unresolved-tag src-415 `tok-415 `tre-415) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-415 `typ-415))
2168+ (weld (check ~.types-partial-unresolved-tag src-417 `tok-417 `tre-417) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-417 `typ-417))
21532169::
21542170:: +check: run golden:jibb on a case and compare both outputs
21552171::
@@ -2281,4 +2297,35 @@
22812297 =/ out (golden:jibb at.fixture source.fixture)
22822298 (rap 3 ~[label.fixture '\0a' tree.out])
22832299 actual
2300+::
2301+++ check-module-types
2302+ |= [case=@ta at=path src=@t want=(unit wain) fixtures=(list [module=term mold=term source=wain]) marks=(list [name=term source=wain]) modules=(list [label=@t at=path source=@t])]
2303+ ^- tang
2304+ =/ result (mule |.((module-types-result at src fixtures marks modules)))
2305+ ?: ?=(%| -.result)
2306+ [leaf+"fixture compilation or type checking crashed" p.result]
2307+ (compare (file case "types.txt") want p.result)
2308+::
2309+++ module-types-result
2310+ |= [at=path src=@t fixtures=(list [module=term mold=term source=wain]) marks=(list [name=term source=wain]) modules=(list [label=@t at=path source=@t])]
2311+ ^- @t
2312+ =/ external=(list [module=term name=term result=*])
2313+ %+ turn fixtures
2314+ |= fixture=[module=term mold=term source=wain]
2315+ ~_ leaf+"/sur/{(trip module.fixture)}.txt fixture"
2316+ ?~ source.fixture !!
2317+ =/ text=@t (rap 3 (turn source.fixture |=(line=@t (cat 3 line '\0a'))))
2318+ =/ cor=type -:(ride -:!>(..zuse) text)
2319+ [module.fixture mold.fixture (read-named:jibb-import module.fixture mold.fixture cor)]
2320+ =/ mark-external=(list [name=term result=*])
2321+ %+ turn marks
2322+ |= fixture=[name=term source=wain]
2323+ ~_ leaf+"/mar/{(trip name.fixture)}.txt fixture"
2324+ ?~ source.fixture !!
2325+ =/ text=@t (rap 3 (turn source.fixture |=(line=@t (cat 3 line '\0a'))))
2326+ =/ cor=type -:(ride -:!>(..zuse) text)
2327+ [name.fixture (read-mark:jibb-import name.fixture cor)]
2328+ =/ sources=(list [path=path source=@t])
2329+ (turn modules |=(item=[label=@t at=path source=@t] [at.item source.item]))
2330+ (golden-types-with-modules:jibb at src external mark-external sources)
22842331--