on master help sign in
Infer nested tagged-union payloads from context

Use a uniquely identified literal-headed union case to supply context to supported nested calls, comparing heads by their noun values. Keep ambiguous cases and uncertain type origins conservative, and preserve previously supported pair and call inference. Exercise equal literal spellings, nested payloads, the todo subscription expression, and provenance boundaries under eval and on the ship. This does not prove island watchability or implement request execution.

commit72acdb3c03579e20d62f8bd30fe7fb3aeb7a43f1 authoriko <mail@iko.soy> dateSat 31 Oct 2026, 11:16 (6 hours ago) parent911ca0c
36 files changed+3560−816
docs/compiler.md+2 docs/development.md+2 docs/status.md+7−6 jibb-dev/lib/jibb.hoon+82 tests/golden/types-nested-noun-context/about.txt+4 tests/golden/types-nested-noun-context/source.jibb+35 tests/golden/types-nested-noun-context/tokens.txt+363 tests/golden/types-nested-noun-context/tree.txt+162 tests/golden/types-nested-noun-context/types.txt+34 tests/golden/types-nested-shallow-preserve/about.txt+4 tests/golden/types-nested-shallow-preserve/modules.txt+1 tests/golden/types-nested-shallow-preserve/source.jibb+30 tests/golden/types-nested-shallow-preserve/tokens.txt+271 tests/golden/types-nested-shallow-preserve/tree.txt+136 tests/golden/types-nested-shallow-preserve/types.txt+33 tests/golden/types-nested-union-context/about.txt+4 tests/golden/types-nested-union-context/source.jibb+59 tests/golden/types-nested-union-context/tokens.txt+660 tests/golden/types-nested-union-context/tree.txt+302 tests/golden/types-nested-union-context/types.txt+49 tests/golden/types-prelude-sub-nested/about.txt+4 tests/golden/types-prelude-sub-nested/modules.txt+1 tests/golden/types-prelude-sub-nested/source.jibb+20 tests/golden/types-prelude-sub-nested/tokens.txt+211 tests/golden/types-prelude-sub-nested/tree.txt+100 tests/golden/types-prelude-sub-nested/types.txt+27 tests/golden/types-prelude-sub/types.txt+1−1 tests/lib/jibb-nested-union-guards.hoon+67 tests/lib/jibb.hoon+831−807 tests/type-todo-api/about.txt+1−1 tests/type-todo-api/expected.txt+3 tests/type-todo-api/negative-expected.txt+9 tests/type-todo-api/negative.txt+7 tests/type-todo-api/source.txt+7 tools/testdata/ship-selftest+2−1 tools/type-nested-union-guards-test+29
docs/compiler.md+2
@@ -106,6 +106,8 @@ The ordinary import resolver can infer derived request-gate types for multiple s
106106
107107A call whose direct result is a known named generic union can receive a matching same-origin, same-arity result context before its arguments are inferred. This retains the ordered generic arguments and existing capital checks; pending tags, recursive or variable-bound origins and unrestricted atom cases remain conservative. Constructor fitting reports unsupported when an unresolved or opaque case could contain the requested tagged head. It keeps definite missing-case errors for proven nonmatching cases, including an explicitly atom-only faced head. The real todo callback `|=%got` can infer when an `(ask msg)` result context fixes its message union; the uncontextualized call remains unsupported.
108108
109+A two-item tuple with an explicit term, null or loobean head can receive payload context from a known union when every alternative is a literal-headed cell and its head noun is unique. The payload must be a direct wing-headed call, optionally grouped, with literal, wing or constructor arguments. The checker first retains the original inference if it already fits; otherwise it tries the contextual path once and fits the selected case and enclosing union. It declines this path if any substitution has a structural root, because a caller may have walked away variable provenance. Duplicate heads, opaque competitors and other shapes also stay conservative. The guard scans the substitution for each eligible tuple and may perform one extra shallow inference; it does not guarantee globally linear work. This lets an explicitly typed todo subscription body infer; it does not check an island or prove request watchability.
110+
109111Each case's canonical API identity and source-derived schema travel across imports in a nonrecursive graph certificate containing the exact source bundle, prelude, reserved scope and trusted reader results. Cached interfaces must match those inputs and cannot hide an active ancestor; unknown legacy entries are rebuilt from their unique supplied source. Request-bearing closures are limited to 256 paths and requests. Closed gate samples can also fit when an unnamed input slot corresponds to a named one, provided products are identical and nested value faces and ambiguous cell tails remain intact. This is type inference only: request lowering, runtime schema validation and value watchability proofs are not implemented.
110112
111113`+golden-types-with-prelude` accepts case-local Jibb module sources alongside `/sur` and mark results and the vendored prelude source. It resolves reachable ordinary library modules in dependency order, caching completed interfaces per invocation and exporting supported closed value schemes, direct generic unions, and simple or nonrecursive generic mold aliases whose bodies the fragment supports. It detects missing sources and cycles and rejects a dependency if its interface cannot be inferred by the fragment. Qualified wings can also read nested fields of an imported value, instantiating that value’s scheme independently at each use; missing, ambiguous and non-record fields remain unsupported.
docs/development.md+2
@@ -76,6 +76,7 @@ git clone https://github.com/urbit/tools /root/src/tools
7676| `tools/type-todo-api-test` | Exercises the actual todo API through the real Hoon readers and partial checker |
7777| `tools/type-closed-gate-guards-test` | Checks closed gate sample labels and face uncertainty under eval and on the ship |
7878| `tools/type-constructor-fit-guards-test` | Checks constructor-case uncertainty and known mismatches under eval and on the ship |
79+| `tools/type-nested-union-guards-test` | Checks nested tagged-union case selection and uncertainty under eval and on the ship |
7980| `tools/type-sub-guards-test` | Checks source-backed subscription mold dependencies under eval and on the ship |
8081| `tools/type-ask-guards-test` | Runs ask origin and canonical list/unit bootstrap guards under eval and on the ship |
8182| `tools/type-request-guards-test` | Runs request evidence, source consistency and cache provenance guards under eval and on the ship |
@@ -113,6 +114,7 @@ tools/type-qath-guards-test # qath source and unfolding guards pass
113114tools/type-todo-api-test # real todo API partial inference and reader guards pass
114115tools/type-closed-gate-guards-test # closed gate fit guards pass
115116tools/type-constructor-fit-guards-test # constructor fit guards pass
117+tools/type-nested-union-guards-test # nested union selector guards pass
116118tools/type-sub-guards-test # subscription source guards pass
117119tools/type-ask-guards-test # ask source and bootstrap guards pass
118120tools/type-request-guards-test # request evidence and cache guards pass
docs/status.md+7−6
@@ -27,7 +27,7 @@ The internal prelude also defines `qath` as a transparent recursive knot sequenc
2727
2828The internal prelude defines a transparent generic `ask` with pure, agent and store cases, re-exported alongside the Jibb-written `pure` gate. The partial checker infers supported constructors and exhaustive matches. Agent and store receivers operate on raw nouns; their fields do not prove schema validity or watchability. The public prelude now defines the documented source-backed `sub` union; supported `%watch` payloads retain the public `(ask M)` type. Constructing a `sub` does not prove that its request is watchable. Request lowering, checked decoding, runtime validation and island watch checking remain unimplemented.
2929
30−Known same-origin generic-union result context can now constrain a call before its arguments are inferred. An unresolved or opaque constructor target stays unsupported rather than producing a definite mismatch; proven missing tags still report errors. A todo request with explicit `(ask msg)` context can infer `|=%got`, while its uncontextualized form and the nested todo subscription remain unsupported.
30+Known same-origin generic-union result context can now constrain a call before its arguments are inferred. An unresolved or opaque constructor target stays unsupported rather than producing a definite mismatch; proven missing tags still report errors. A todo request with explicit `(ask msg)` context can infer `|=%got`; its uncontextualized form remains unsupported. A two-item literal-headed tuple can receive payload context from a known union of uniquely headed literal cells when its payload is a shallow wing-headed call with literal, wing or constructor arguments. Existing inference takes precedence when it fits; otherwise the checker tries the contextual path once. It conservatively declines that path when any substitution has a structural root, as well as for duplicate or opaque competitors. The guard scans substitutions per eligible tuple and may add one shallow inference; no global linear-time bound is claimed. This allows an explicitly typed todo subscription body to infer, but does not check the island or prove request watchability.
3131
3232The API path analyzer can retain its source, complete prepared prelude, reader results and resolved dependencies as evidence, and classify a unique declaration as watchable, not watchable or unknown. It does not yet prove the provenance of request values or check island subscriptions. Prepared artifacts and reader results remain trusted host inputs.
3333
@@ -59,8 +59,8 @@ What the plan asks for, and where it is:
5959
6060Besides the plan's list:
6161
62−- 645 golden cases: 425 that parse and 220 that fail, each failure at a stated line and column. One failing case has an unclear expectation (corpus question 3). The newer type-output cases exercise only the partial inference fragment. Each case's `about.txt` quotes the doc's words it tests.
63−- The 645-case corpus passed under `urbit eval` in 119.8 s while other checks were running. The fake ship passed all 671 tests, including the importer, importer/checker and mark/checker bridges, module scope, unification, hole, qath, ask, default-wrapper importer, projection, arithmetic, generic-alias, positional-face, API-evidence, request, closed-gate, todo API, constructor and sub guards, with 102.2 s for sync and 97.1 s for tests. The importer golden compares 221 projections; `tools/clay-fixtures` builds the example Hoon fixtures through Clay, checks a recursive Ford import's origin, and passes Clay-built types through the Clay-built importer and partial checker.
62+- 649 golden cases: 429 that parse and 220 that fail, each failure at a stated line and column. One failing case has an unclear expectation (corpus question 3). The newer type-output cases exercise only the partial inference fragment. Each case's `about.txt` quotes the doc's words it tests.
63+- The 649-case corpus passed under `urbit eval` in 96.0 s while other checks were running. The fake ship passed all 676 tests, including the importer, importer/checker and mark/checker bridges, module scope, unification, hole, qath, ask, default-wrapper importer, projection, arithmetic, generic-alias, positional-face, API-evidence, request, closed-gate, todo API, constructor, sub and nested-union guards, with 71.8 s for sync and 85.7 s for tests. The importer golden compares 221 projections; `tools/clay-fixtures` builds the example Hoon fixtures through Clay, checks a recursive Ford import's origin, and passes Clay-built types through the Clay-built importer and partial checker.
6464- `tools/testdata/selftest` (22 checks), `tools/testdata/ship-selftest` and `tools/testdata/clay-fixtures-selftest` test the tools themselves; the last checks temporary Clay fixture cleanup and signal handling without a ship.
6565- Two independent audits before 7c739b7, one of which compared the library with a reference parser written in Python from the doc over about 19,000 generated programs. Before ab797a9, a second Python parser, written from the decisions, agreed with the library on 8,000 generated programs and 900 hand-written probes.
6666- Speed: starting `urbit eval` and building the library takes about 8 s. After that, a 2,000-line module of 400 definitions parses in about a second. Loops over definitions, arms, lines and items grow no stack; nesting costs a few stack frames a level, and 100,000 nested brackets still parse (library section 3).
@@ -154,14 +154,15 @@ Besides the plan's list:
154154| ae1ec26 | 2026-10-31 | Prove selected default-wrapped Hoon unions from source |
155155| dde791c | 2026-10-31 | Infer a source-backed request-gate type through ordinary imports |
156156| a1c5f35 | 2026-10-31 | Infer supported multi-path requests and named closed folds |
157−| This change | 2026-10-31 | Propagate union context, define subscriptions and match literal nouns |
157+| 911ca0c | 2026-10-31 | Propagate union context, define subscriptions and match literal nouns |
158+| This change | 2026-10-31 | Infer selected nested union payloads from context |
158159
159160## Checking it
160161
161162On a machine set up as [development.md](development.md) says:
162163
163164```
164−tools/golden # 645 cases under urbit eval
165+tools/golden # 649 cases under urbit eval
165166tools/importer-test # the Hoon importer fixture projection
166167tools/type-import-default-test # default-wrapped source proof golden
167168tools/type-import-test # the importer/checker bridge fixture
@@ -183,7 +184,7 @@ tools/testdata/selftest # the tools themselves
183184tools/doc-blocks docs/spec # the doc's examples are golden cases
184185tools/ship start
185186tools/ship gen-tests --check # tests/lib/jibb.hoon is up to date
186−tools/ship test # the same 645 cases as -test arms on the ship
187+tools/ship test # the same 649 cases as -test arms on the ship
187188tools/testdata/ship-selftest
188189tools/testdata/clay-fixtures-selftest # scratch fixture cleanup without a ship
189190tools/ship check-commit # |commit stores .jibb files
jibb-dev/lib/jibb.hoon+82
@@ -8435,6 +8435,60 @@
84358435 $(cases t.cases, found &)
84368436 $(cases t.cases)
84378437::
8438+:: Select a written literal-headed case only when every competing case is
8439+:: also an explicit singleton-headed cell and exactly one matches. Opaque,
8440+:: variable-bound and differently shaped cases keep inference unchanged.
8441+:: This first slice supplies context to a directly called payload. Plain
8442+:: literal data and other expressions retain their existing inference path.
8443+++ contextual-atomic-arguments
8444+ |= args=(list expr)
8445+ ^- ?
8446+ ?~ args &
8447+ ?. ?=(?(%lit %wing %ctor) -.i.args) |
8448+ $(args t.args)
8449+++ contextual-direct-payload-call
8450+ |= e=expr
8451+ ^- ?
8452+ ?: ?=(%group -.e) $(e inner.e)
8453+ ?. ?=(%call -.e) |
8454+ ?. ?=(%wing -.head.e) |
8455+ ?~ args.e |
8456+ (contextual-atomic-arguments args.e)
8457+::
8458+:: A walked variable may have concealed a union inside a substituted
8459+:: structure before this arm was called. Decline in that case rather than
8460+:: deriving provenance from the already-walked type.
8461+++ contextual-simple-sub
8462+ |= sub=isub
8463+ ^- ?
8464+ ?~ sub &
8465+ ?: ?=(?(%cell %face %fn %union %collection) -.val.i.sub) |
8466+ $(sub t.sub)
8467+::
8468+++ contextual-direct-union
8469+ |= target=itype
8470+ ^- ?
8471+ ?: ?=(%face -.target) $(target body.target)
8472+ ?=(%union -.target)
8473+++ contextual-tagged-case
8474+ |= [target=itype tag=@ sub=isub]
8475+ ^- (unit itype)
8476+ ?. ?=(%union -.target) ~
8477+ =/ remaining=(list itype) cases.target
8478+ =/ found=(unit itype) ~
8479+ =/ seen=(set @) *(set @)
8480+ |-
8481+ ?~ remaining found
8482+ =/ c=itype i.remaining
8483+ ?. ?=(%cell -.c) ~
8484+ =/ head=itype hed.c
8485+ ?. ?=(%const -.head) ~
8486+ ?: (~(has in:..zuse seen) val.literal.head) ~
8487+ =. seen (~(put in:..zuse seen) val.literal.head)
8488+ ?: =(tag val.literal.head)
8489+ $(remaining t.remaining, found `c)
8490+ $(remaining t.remaining)
8491+::
84388492++ infer-call-context-arg
84398493 |= [e=expr expected=itype env=ienv state=istate context=span]
84408494 ^- iresult
@@ -8495,6 +8549,34 @@
84958549 (infer-union-context e target env state context)
84968550 ?: &(?=(%collection -.target) =(%list name.target) (context-list-expression e))
84978551 (infer-list-context e target env state context)
8552+ :: A literal-headed tuple can receive the unique case's payload
8553+ :: context. The ordinary final fit still checks the complete union.
8554+ =/ selected=(unit itype)
8555+ ?. &((contextual-simple-sub sub.state) (contextual-direct-union expected) ?=(%union -.target) ?=(%tuple -.e) ?=(^ items.e)) ~
8556+ ?~ t.items.e ~
8557+ ?^ t.t.items.e ~
8558+ ?. (contextual-direct-payload-call val.i.t.items.e) ~
8559+ =/ first=item i.items.e
8560+ ?. &(?=(~ face.first) ?=(%lit -.val.first) |(=(%term form.lit.val.first) =(%null form.lit.val.first) =(%loobean form.lit.val.first))) ~
8561+ (contextual-tagged-case target val.lit.val.first sub.state)
8562+ ?^ selected
8563+ ?> ?=(%tuple -.e)
8564+ :: On this bounded shallow-call shape, preserve any inference that
8565+ :: already fits before trying the new contextual path. Neither pass
8566+ :: can recursively select a nested tuple from the atomic arguments.
8567+ =/ ordinary=(unit iresult)
8568+ =/ initial=iresult (infer-fragment e env state)
8569+ ?: ?=(%| -.initial) ~
8570+ =/ fit=ifit (itype-fit typ.p.initial target sub.state.p.initial next.state.p.initial)
8571+ ?. ?=(%ok -.fit) ~
8572+ `initial
8573+ ?^ ordinary u.ordinary
8574+ =/ value=iresult (infer-call-context-items items.e u.selected env state context)
8575+ ?: ?=(%| -.value) value
8576+ =/ fit=ifit (itype-fit typ.p.value u.selected sub.state.p.value next.state.p.value)
8577+ ?: ?=(%unknown -.fit) [%| ["tagged case needs unsupported inference" ~]]
8578+ ?: ?=(%bad -.fit) [%| ["tagged case does not fit its expected type" ~[[context "expected union case"] [(span-of e) "value"]]]]
8579+ [%& typ.p.value state.p.value(sub sub.fit, next next.fit)]
84988580 ?: &(?=(%cell -.target) ?=(%tuple -.e))
84998581 (infer-call-context-items items.e target env state context)
85008582 (infer-fragment e env state)
tests/golden/types-nested-noun-context/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: Grammar, Tag resolution: "It works for cases whose head is a literal with the same noun as the tag, regardless of how that literal is written"; `|=%$` also constructs a case headed by `%.y` or `~`.
2+tests: Null, loobean-zero and term-zero input/head combinations with nested generic payloads; missing, mismatched, ambiguous and unknown contexts remain conservative.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-nested-noun-context/source.jibbnew file+35
@@ -0,0 +1,35 @@
1++$ msg
2+ %ready
3+ %idle
4++$ inner |$ [A]
5+ [%one item=A]
6+ [%two item=A]
7++$ null-out |$ [A]
8+ [~ item=(inner A)]
9+ [%other value=@ud]
10++$ flag-out |$ [A]
11+ [%.y item=(inner A)]
12+ [%other value=@ud]
13++$ term-out |$ [A]
14+ [%$ item=(inner A)]
15+ [%other value=@ud]
16++$ competitors |$ [A]
17+ [~ item=(inner A)]
18+ [%.y value=@p]
19+++ inner |= x=A ^- (inner A) [%one x]
20+++ null-null ^- (null-out msg) [~ (inner %ready)]
21+++ flag-null ^- (null-out msg) [%.y (inner %ready)]
22+++ term-null ^- (null-out msg) [%$ (inner %ready)]
23+++ null-flag ^- (flag-out msg) [~ (inner %ready)]
24+++ flag-flag ^- (flag-out msg) [%.y (inner %ready)]
25+++ term-flag ^- (flag-out msg) [%$ (inner %ready)]
26+++ null-term ^- (term-out msg) [~ (inner %ready)]
27+++ flag-term ^- (term-out msg) [%.y (inner %ready)]
28+++ term-term ^- (term-out msg) [%$ (inner %ready)]
29+++ wrong-inner ^- (null-out msg) [%$ (inner %missing)]
30+++ wrong-payload ^- (flag-out @t) [~ (inner ~zod)]
31+++ pending
32+ ~& %orphan
33+ ^- (term-out msg) [%.y (inner %ready)]
34+++ unknown-target |= x=A ^- A [~ (inner %ready)]
35+++ ambiguous ^- (competitors msg) [~ (inner %ready)]
tests/golden/types-nested-noun-context/tokens.txtnew file+363
@@ -0,0 +1,363 @@
1+1:1 glyph +$
2+1:4 name msg
3+2:3 INDENT
4+2:3 lit %ready
5+3:3 NEWLINE
6+3:3 lit %idle
7+4:1 DEDENT
8+4:1 NEWLINE
9+4:1 glyph +$
10+4:4 name inner
11+4:10 glyph |$
12+4:13 glyph [
13+4:14 tight tvar A
14+4:15 tight glyph ]
15+5:3 INDENT
16+5:3 glyph [
17+5:4 tight lit %one
18+5:9 name item
19+5:13 tight glyph =
20+5:14 tight tvar A
21+5:15 tight glyph ]
22+6:3 NEWLINE
23+6:3 glyph [
24+6:4 tight lit %two
25+6:9 name item
26+6:13 tight glyph =
27+6:14 tight tvar A
28+6:15 tight glyph ]
29+7:1 DEDENT
30+7:1 NEWLINE
31+7:1 glyph +$
32+7:4 name null-out
33+7:13 glyph |$
34+7:16 glyph [
35+7:17 tight tvar A
36+7:18 tight glyph ]
37+8:3 INDENT
38+8:3 glyph [
39+8:4 tight lit ~
40+8:6 name item
41+8:10 tight glyph =
42+8:11 tight glyph (
43+8:12 tight name inner
44+8:18 tvar A
45+8:19 tight glyph )
46+8:20 tight glyph ]
47+9:3 NEWLINE
48+9:3 glyph [
49+9:4 tight lit %other
50+9:11 name value
51+9:16 tight glyph =
52+9:17 tight aura @ud
53+9:20 tight glyph ]
54+10:1 DEDENT
55+10:1 NEWLINE
56+10:1 glyph +$
57+10:4 name flag-out
58+10:13 glyph |$
59+10:16 glyph [
60+10:17 tight tvar A
61+10:18 tight glyph ]
62+11:3 INDENT
63+11:3 glyph [
64+11:4 tight lit %.y
65+11:8 name item
66+11:12 tight glyph =
67+11:13 tight glyph (
68+11:14 tight name inner
69+11:20 tvar A
70+11:21 tight glyph )
71+11:22 tight glyph ]
72+12:3 NEWLINE
73+12:3 glyph [
74+12:4 tight lit %other
75+12:11 name value
76+12:16 tight glyph =
77+12:17 tight aura @ud
78+12:20 tight glyph ]
79+13:1 DEDENT
80+13:1 NEWLINE
81+13:1 glyph +$
82+13:4 name term-out
83+13:13 glyph |$
84+13:16 glyph [
85+13:17 tight tvar A
86+13:18 tight glyph ]
87+14:3 INDENT
88+14:3 glyph [
89+14:4 tight lit %$
90+14:7 name item
91+14:11 tight glyph =
92+14:12 tight glyph (
93+14:13 tight name inner
94+14:19 tvar A
95+14:20 tight glyph )
96+14:21 tight glyph ]
97+15:3 NEWLINE
98+15:3 glyph [
99+15:4 tight lit %other
100+15:11 name value
101+15:16 tight glyph =
102+15:17 tight aura @ud
103+15:20 tight glyph ]
104+16:1 DEDENT
105+16:1 NEWLINE
106+16:1 glyph +$
107+16:4 name competitors
108+16:16 glyph |$
109+16:19 glyph [
110+16:20 tight tvar A
111+16:21 tight glyph ]
112+17:3 INDENT
113+17:3 glyph [
114+17:4 tight lit ~
115+17:6 name item
116+17:10 tight glyph =
117+17:11 tight glyph (
118+17:12 tight name inner
119+17:18 tvar A
120+17:19 tight glyph )
121+17:20 tight glyph ]
122+18:3 NEWLINE
123+18:3 glyph [
124+18:4 tight lit %.y
125+18:8 name value
126+18:13 tight glyph =
127+18:14 tight aura @p
128+18:16 tight glyph ]
129+19:1 DEDENT
130+19:1 NEWLINE
131+19:1 glyph ++
132+19:4 name inner
133+19:10 glyph |=
134+19:13 name x
135+19:14 tight glyph =
136+19:15 tight tvar A
137+19:17 glyph ^-
138+19:20 glyph (
139+19:21 tight name inner
140+19:27 tvar A
141+19:28 tight glyph )
142+19:30 glyph [
143+19:31 tight lit %one
144+19:36 name x
145+19:37 tight glyph ]
146+20:1 NEWLINE
147+20:1 glyph ++
148+20:4 name null-null
149+20:14 glyph ^-
150+20:17 glyph (
151+20:18 tight name null-out
152+20:27 name msg
153+20:30 tight glyph )
154+20:32 glyph [
155+20:33 tight lit ~
156+20:35 glyph (
157+20:36 tight name inner
158+20:42 lit %ready
159+20:48 tight glyph )
160+20:49 tight glyph ]
161+21:1 NEWLINE
162+21:1 glyph ++
163+21:4 name flag-null
164+21:14 glyph ^-
165+21:17 glyph (
166+21:18 tight name null-out
167+21:27 name msg
168+21:30 tight glyph )
169+21:32 glyph [
170+21:33 tight lit %.y
171+21:37 glyph (
172+21:38 tight name inner
173+21:44 lit %ready
174+21:50 tight glyph )
175+21:51 tight glyph ]
176+22:1 NEWLINE
177+22:1 glyph ++
178+22:4 name term-null
179+22:14 glyph ^-
180+22:17 glyph (
181+22:18 tight name null-out
182+22:27 name msg
183+22:30 tight glyph )
184+22:32 glyph [
185+22:33 tight lit %$
186+22:36 glyph (
187+22:37 tight name inner
188+22:43 lit %ready
189+22:49 tight glyph )
190+22:50 tight glyph ]
191+23:1 NEWLINE
192+23:1 glyph ++
193+23:4 name null-flag
194+23:14 glyph ^-
195+23:17 glyph (
196+23:18 tight name flag-out
197+23:27 name msg
198+23:30 tight glyph )
199+23:32 glyph [
200+23:33 tight lit ~
201+23:35 glyph (
202+23:36 tight name inner
203+23:42 lit %ready
204+23:48 tight glyph )
205+23:49 tight glyph ]
206+24:1 NEWLINE
207+24:1 glyph ++
208+24:4 name flag-flag
209+24:14 glyph ^-
210+24:17 glyph (
211+24:18 tight name flag-out
212+24:27 name msg
213+24:30 tight glyph )
214+24:32 glyph [
215+24:33 tight lit %.y
216+24:37 glyph (
217+24:38 tight name inner
218+24:44 lit %ready
219+24:50 tight glyph )
220+24:51 tight glyph ]
221+25:1 NEWLINE
222+25:1 glyph ++
223+25:4 name term-flag
224+25:14 glyph ^-
225+25:17 glyph (
226+25:18 tight name flag-out
227+25:27 name msg
228+25:30 tight glyph )
229+25:32 glyph [
230+25:33 tight lit %$
231+25:36 glyph (
232+25:37 tight name inner
233+25:43 lit %ready
234+25:49 tight glyph )
235+25:50 tight glyph ]
236+26:1 NEWLINE
237+26:1 glyph ++
238+26:4 name null-term
239+26:14 glyph ^-
240+26:17 glyph (
241+26:18 tight name term-out
242+26:27 name msg
243+26:30 tight glyph )
244+26:32 glyph [
245+26:33 tight lit ~
246+26:35 glyph (
247+26:36 tight name inner
248+26:42 lit %ready
249+26:48 tight glyph )
250+26:49 tight glyph ]
251+27:1 NEWLINE
252+27:1 glyph ++
253+27:4 name flag-term
254+27:14 glyph ^-
255+27:17 glyph (
256+27:18 tight name term-out
257+27:27 name msg
258+27:30 tight glyph )
259+27:32 glyph [
260+27:33 tight lit %.y
261+27:37 glyph (
262+27:38 tight name inner
263+27:44 lit %ready
264+27:50 tight glyph )
265+27:51 tight glyph ]
266+28:1 NEWLINE
267+28:1 glyph ++
268+28:4 name term-term
269+28:14 glyph ^-
270+28:17 glyph (
271+28:18 tight name term-out
272+28:27 name msg
273+28:30 tight glyph )
274+28:32 glyph [
275+28:33 tight lit %$
276+28:36 glyph (
277+28:37 tight name inner
278+28:43 lit %ready
279+28:49 tight glyph )
280+28:50 tight glyph ]
281+29:1 NEWLINE
282+29:1 glyph ++
283+29:4 name wrong-inner
284+29:16 glyph ^-
285+29:19 glyph (
286+29:20 tight name null-out
287+29:29 name msg
288+29:32 tight glyph )
289+29:34 glyph [
290+29:35 tight lit %$
291+29:38 glyph (
292+29:39 tight name inner
293+29:45 lit %missing
294+29:53 tight glyph )
295+29:54 tight glyph ]
296+30:1 NEWLINE
297+30:1 glyph ++
298+30:4 name wrong-payload
299+30:18 glyph ^-
300+30:21 glyph (
301+30:22 tight name flag-out
302+30:31 aura @t
303+30:33 tight glyph )
304+30:35 glyph [
305+30:36 tight lit ~
306+30:38 glyph (
307+30:39 tight name inner
308+30:45 lit ~zod
309+30:49 tight glyph )
310+30:50 tight glyph ]
311+31:1 NEWLINE
312+31:1 glyph ++
313+31:4 name pending
314+32:3 INDENT
315+32:3 glyph ~&
316+32:6 lit %orphan
317+33:5 INDENT
318+33:5 glyph ^-
319+33:8 glyph (
320+33:9 tight name term-out
321+33:18 name msg
322+33:21 tight glyph )
323+33:23 glyph [
324+33:24 tight lit %.y
325+33:28 glyph (
326+33:29 tight name inner
327+33:35 lit %ready
328+33:41 tight glyph )
329+33:42 tight glyph ]
330+34:1 DEDENT
331+34:1 DEDENT
332+34:1 NEWLINE
333+34:1 glyph ++
334+34:4 name unknown-target
335+34:19 glyph |=
336+34:22 name x
337+34:23 tight glyph =
338+34:24 tight tvar A
339+34:26 glyph ^-
340+34:29 tvar A
341+34:31 glyph [
342+34:32 tight lit ~
343+34:34 glyph (
344+34:35 tight name inner
345+34:41 lit %ready
346+34:47 tight glyph )
347+34:48 tight glyph ]
348+35:1 NEWLINE
349+35:1 glyph ++
350+35:4 name ambiguous
351+35:14 glyph ^-
352+35:17 glyph (
353+35:18 tight name competitors
354+35:30 name msg
355+35:33 tight glyph )
356+35:35 glyph [
357+35:36 tight lit ~
358+35:38 glyph (
359+35:39 tight name inner
360+35:45 lit %ready
361+35:51 tight glyph )
362+35:52 tight glyph ]
363+35:53 NEWLINE
tests/golden/types-nested-noun-context/tree.txtnew file+162
@@ -0,0 +1,162 @@
1+(module
2+ (mold 1:1 msg
3+ (union 2:3 (const 2:3 %ready) (const 3:3 %idle)))
4+ (mold 4:1 inner
5+ (generic 4:10 A
6+ (union 5:3
7+ (cell 5:3
8+ (const 5:4 %one)
9+ (face 5:9 item (tvar 5:14 A)))
10+ (cell 6:3
11+ (const 6:4 %two)
12+ (face 6:9 item (tvar 6:14 A))))))
13+ (mold 7:1 null-out
14+ (generic 7:13 A
15+ (union 8:3
16+ (cell 8:3
17+ (const 8:4 ~)
18+ (face 8:6 item
19+ (apply 8:11 inner (tvar 8:18 A))))
20+ (cell 9:3
21+ (const 9:4 %other)
22+ (face 9:11 value (aura 9:17 @ud))))))
23+ (mold 10:1 flag-out
24+ (generic 10:13 A
25+ (union 11:3
26+ (cell 11:3
27+ (const 11:4 %.y)
28+ (face 11:8 item
29+ (apply 11:13 inner (tvar 11:20 A))))
30+ (cell 12:3
31+ (const 12:4 %other)
32+ (face 12:11 value (aura 12:17 @ud))))))
33+ (mold 13:1 term-out
34+ (generic 13:13 A
35+ (union 14:3
36+ (cell 14:3
37+ (const 14:4 %$)
38+ (face 14:7 item
39+ (apply 14:12 inner (tvar 14:19 A))))
40+ (cell 15:3
41+ (const 15:4 %other)
42+ (face 15:11 value (aura 15:17 @ud))))))
43+ (mold 16:1 competitors
44+ (generic 16:16 A
45+ (union 17:3
46+ (cell 17:3
47+ (const 17:4 ~)
48+ (face 17:6 item
49+ (apply 17:11 inner (tvar 17:18 A))))
50+ (cell 18:3
51+ (const 18:4 %.y)
52+ (face 18:8 value (aura 18:14 @p))))))
53+ (value 19:1 inner
54+ (gate 19:10
55+ (face 19:13 x (tvar 19:15 A))
56+ (cast 19:17
57+ (apply 19:20 inner (tvar 19:27 A))
58+ (tuple 19:30 (lit 19:31 %one) (wing 19:36 x)))))
59+ (value 20:1 null-null
60+ (cast 20:14
61+ (apply 20:17 null-out (ref 20:27 msg))
62+ (tuple 20:32
63+ (lit 20:33 ~)
64+ (group 20:35
65+ (call 20:36 (wing 20:36 inner) (lit 20:42 %ready))))))
66+ (value 21:1 flag-null
67+ (cast 21:14
68+ (apply 21:17 null-out (ref 21:27 msg))
69+ (tuple 21:32
70+ (lit 21:33 %.y)
71+ (group 21:37
72+ (call 21:38 (wing 21:38 inner) (lit 21:44 %ready))))))
73+ (value 22:1 term-null
74+ (cast 22:14
75+ (apply 22:17 null-out (ref 22:27 msg))
76+ (tuple 22:32
77+ (lit 22:33 %$)
78+ (group 22:36
79+ (call 22:37 (wing 22:37 inner) (lit 22:43 %ready))))))
80+ (value 23:1 null-flag
81+ (cast 23:14
82+ (apply 23:17 flag-out (ref 23:27 msg))
83+ (tuple 23:32
84+ (lit 23:33 ~)
85+ (group 23:35
86+ (call 23:36 (wing 23:36 inner) (lit 23:42 %ready))))))
87+ (value 24:1 flag-flag
88+ (cast 24:14
89+ (apply 24:17 flag-out (ref 24:27 msg))
90+ (tuple 24:32
91+ (lit 24:33 %.y)
92+ (group 24:37
93+ (call 24:38 (wing 24:38 inner) (lit 24:44 %ready))))))
94+ (value 25:1 term-flag
95+ (cast 25:14
96+ (apply 25:17 flag-out (ref 25:27 msg))
97+ (tuple 25:32
98+ (lit 25:33 %$)
99+ (group 25:36
100+ (call 25:37 (wing 25:37 inner) (lit 25:43 %ready))))))
101+ (value 26:1 null-term
102+ (cast 26:14
103+ (apply 26:17 term-out (ref 26:27 msg))
104+ (tuple 26:32
105+ (lit 26:33 ~)
106+ (group 26:35
107+ (call 26:36 (wing 26:36 inner) (lit 26:42 %ready))))))
108+ (value 27:1 flag-term
109+ (cast 27:14
110+ (apply 27:17 term-out (ref 27:27 msg))
111+ (tuple 27:32
112+ (lit 27:33 %.y)
113+ (group 27:37
114+ (call 27:38 (wing 27:38 inner) (lit 27:44 %ready))))))
115+ (value 28:1 term-term
116+ (cast 28:14
117+ (apply 28:17 term-out (ref 28:27 msg))
118+ (tuple 28:32
119+ (lit 28:33 %$)
120+ (group 28:36
121+ (call 28:37 (wing 28:37 inner) (lit 28:43 %ready))))))
122+ (value 29:1 wrong-inner
123+ (cast 29:16
124+ (apply 29:19 null-out (ref 29:29 msg))
125+ (tuple 29:34
126+ (lit 29:35 %$)
127+ (group 29:38
128+ (call 29:39 (wing 29:39 inner) (lit 29:45 %missing))))))
129+ (value 30:1 wrong-payload
130+ (cast 30:18
131+ (apply 30:21 flag-out (aura 30:31 @t))
132+ (tuple 30:35
133+ (lit 30:36 ~)
134+ (group 30:38
135+ (call 30:39 (wing 30:39 inner) (lit 30:45 ~zod))))))
136+ (value 31:1 pending
137+ (body 32:3
138+ (trace 32:3
139+ (lit 32:6 %orphan)
140+ (body 33:5
141+ (cast 33:5
142+ (apply 33:8 term-out (ref 33:18 msg))
143+ (tuple 33:23
144+ (lit 33:24 %.y)
145+ (group 33:28
146+ (call 33:29 (wing 33:29 inner) (lit 33:35 %ready)))))))))
147+ (value 34:1 unknown-target
148+ (gate 34:19
149+ (face 34:22 x (tvar 34:24 A))
150+ (cast 34:26
151+ (tvar 34:29 A)
152+ (tuple 34:31
153+ (lit 34:32 ~)
154+ (group 34:34
155+ (call 34:35 (wing 34:35 inner) (lit 34:41 %ready)))))))
156+ (value 35:1 ambiguous
157+ (cast 35:14
158+ (apply 35:17 competitors (ref 35:30 msg))
159+ (tuple 35:35
160+ (lit 35:36 ~)
161+ (group 35:38
162+ (call 35:39 (wing 35:39 inner) (lit 35:45 %ready)))))))
tests/golden/types-nested-noun-context/types.txtnew file+34
@@ -0,0 +1,34 @@
1+partial inference; module not checked
2++$ msg: cases proven disjoint; mold not checked
3++$ inner: cases proven disjoint; mold not checked
4++$ null-out: cases proven disjoint; mold not checked
5++$ flag-out: cases proven disjoint; mold not checked
6++$ term-out: cases proven disjoint; mold not checked
7++$ competitors: case disjointness unresolved; mold not checked
8+++ inner: $-(A (inner A))
9+++ null-null: (null-out msg)
10+++ flag-null: (null-out msg)
11+++ term-null: (null-out msg)
12+++ null-flag: (flag-out msg)
13+++ flag-flag: (flag-out msg)
14+++ term-flag: (flag-out msg)
15+++ null-term: (term-out msg)
16+++ flag-term: (term-out msg)
17+++ term-term: (term-out msg)
18+++ wrong-inner: msg has no case `%missing`
19+/tests/golden/types-nested-noun-context/source.jibb:29:39: expected union
20+++ wrong-inner ^- (null-out msg) [%$ (inner %missing)]
21+ ^
22+/tests/golden/types-nested-noun-context/source.jibb:29:45: tag
23+++ wrong-inner ^- (null-out msg) [%$ (inner %missing)]
24+ ^
25+++ wrong-payload: call's sample and argument types do not unify
26+/tests/golden/types-nested-noun-context/source.jibb:30:39: called gate
27+++ wrong-payload ^- (flag-out @t) [~ (inner ~zod)]
28+ ^
29+/tests/golden/types-nested-noun-context/source.jibb:30:45: argument has type @p
30+++ wrong-payload ^- (flag-out @t) [~ (inner ~zod)]
31+ ^
32+++ pending: tag needs context in partial inference
33+++ unknown-target: explicit capital constraints are not supported by partial inference
34+++ ambiguous: cast mold is not supported by partial inference
tests/golden/types-nested-shallow-preserve/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: Grammar, Literals by context: "Number and cell literals resolve like tags: each waits for its context"; Literals: `gap+%s2` is `[%gap %s2]`.
2+tests: Previously supported nested pair and direct-cell contexts stay inferred through lists and calls; calls, groups, casts and constructors preserve errors and pending constraints. Unknown targets fail closed.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-nested-shallow-preserve/modules.txtnew file+1
@@ -0,0 +1 @@
1+# Use the source-backed prelude.
tests/golden/types-nested-shallow-preserve/source.jibbnew file+30
@@ -0,0 +1,30 @@
1++$ length
2+ [%fill n=@ud]
3+ %shrink
4++$ attr
5+ [%width length]
6+ [%gap @tas]
7+++ number-id |= x=@ud x
8+++ plain ^- attr width+[%fill 1]
9+++ direct ^- attr [%width [%fill 1]]
10+++ list ^- (list attr) ~[width+[%fill 1]]
11+++ accept |= value=attr value
12+++ call (accept width+[%fill 1])
13+++ simple-call ^- attr width+[%fill (number-id 1)]
14+++ grouped-call ^- attr width+[%fill ((number-id 1))]
15+++ cast-call ^- attr width+[%fill (^- @ud (number-id 1))]
16+++ nested-call ^- attr width+[%fill (number-id (number-id 1))]
17+++ bad-tag ^- attr width+[%missing 1]
18+++ bad-number ^- attr width+[%fill "bad"]
19+++ pending
20+ ~& %unrelated
21+ ^- attr width+[%fill (number-id 1)]
22+++ singleton ^- attr width+%shrink
23++$ event
24+ [%got value=@t]
25+ %idle
26++$ envelope
27+ [%handler callback=$-(@t event)]
28+ [%empty value=@ud]
29+++ constructor ^- envelope [%handler |=%got]
30+++ unknown-target |= x=A ^- A width+[%fill (number-id 1)]
tests/golden/types-nested-shallow-preserve/tokens.txtnew file+271
@@ -0,0 +1,271 @@
1+1:1 glyph +$
2+1:4 name length
3+2:3 INDENT
4+2:3 glyph [
5+2:4 tight lit %fill
6+2:10 name n
7+2:11 tight glyph =
8+2:12 tight aura @ud
9+2:15 tight glyph ]
10+3:3 NEWLINE
11+3:3 lit %shrink
12+4:1 DEDENT
13+4:1 NEWLINE
14+4:1 glyph +$
15+4:4 name attr
16+5:3 INDENT
17+5:3 glyph [
18+5:4 tight lit %width
19+5:11 name length
20+5:17 tight glyph ]
21+6:3 NEWLINE
22+6:3 glyph [
23+6:4 tight lit %gap
24+6:9 aura @tas
25+6:13 tight glyph ]
26+7:1 DEDENT
27+7:1 NEWLINE
28+7:1 glyph ++
29+7:4 name number-id
30+7:14 glyph |=
31+7:17 name x
32+7:18 tight glyph =
33+7:19 tight aura @ud
34+7:23 name x
35+8:1 NEWLINE
36+8:1 glyph ++
37+8:4 name plain
38+8:10 glyph ^-
39+8:13 name attr
40+8:18 name width
41+8:23 tight glyph +
42+8:24 tight glyph [
43+8:25 tight lit %fill
44+8:31 lit 1
45+8:32 tight glyph ]
46+9:1 NEWLINE
47+9:1 glyph ++
48+9:4 name direct
49+9:11 glyph ^-
50+9:14 name attr
51+9:19 glyph [
52+9:20 tight lit %width
53+9:27 glyph [
54+9:28 tight lit %fill
55+9:34 lit 1
56+9:35 tight glyph ]
57+9:36 tight glyph ]
58+10:1 NEWLINE
59+10:1 glyph ++
60+10:4 name list
61+10:9 glyph ^-
62+10:12 glyph (
63+10:13 tight name list
64+10:18 name attr
65+10:22 tight glyph )
66+10:24 glyph ~[
67+10:26 tight name width
68+10:31 tight glyph +
69+10:32 tight glyph [
70+10:33 tight lit %fill
71+10:39 lit 1
72+10:40 tight glyph ]
73+10:41 tight glyph ]
74+11:1 NEWLINE
75+11:1 glyph ++
76+11:4 name accept
77+11:11 glyph |=
78+11:14 name value
79+11:19 tight glyph =
80+11:20 tight name attr
81+11:25 name value
82+12:1 NEWLINE
83+12:1 glyph ++
84+12:4 name call
85+12:9 glyph (
86+12:10 tight name accept
87+12:17 name width
88+12:22 tight glyph +
89+12:23 tight glyph [
90+12:24 tight lit %fill
91+12:30 lit 1
92+12:31 tight glyph ]
93+12:32 tight glyph )
94+13:1 NEWLINE
95+13:1 glyph ++
96+13:4 name simple-call
97+13:16 glyph ^-
98+13:19 name attr
99+13:24 name width
100+13:29 tight glyph +
101+13:30 tight glyph [
102+13:31 tight lit %fill
103+13:37 glyph (
104+13:38 tight name number-id
105+13:48 lit 1
106+13:49 tight glyph )
107+13:50 tight glyph ]
108+14:1 NEWLINE
109+14:1 glyph ++
110+14:4 name grouped-call
111+14:17 glyph ^-
112+14:20 name attr
113+14:25 name width
114+14:30 tight glyph +
115+14:31 tight glyph [
116+14:32 tight lit %fill
117+14:38 glyph (
118+14:39 tight glyph (
119+14:40 tight name number-id
120+14:50 lit 1
121+14:51 tight glyph )
122+14:52 tight glyph )
123+14:53 tight glyph ]
124+15:1 NEWLINE
125+15:1 glyph ++
126+15:4 name cast-call
127+15:14 glyph ^-
128+15:17 name attr
129+15:22 name width
130+15:27 tight glyph +
131+15:28 tight glyph [
132+15:29 tight lit %fill
133+15:35 glyph (
134+15:36 tight glyph ^-
135+15:39 aura @ud
136+15:43 glyph (
137+15:44 tight name number-id
138+15:54 lit 1
139+15:55 tight glyph )
140+15:56 tight glyph )
141+15:57 tight glyph ]
142+16:1 NEWLINE
143+16:1 glyph ++
144+16:4 name nested-call
145+16:16 glyph ^-
146+16:19 name attr
147+16:24 name width
148+16:29 tight glyph +
149+16:30 tight glyph [
150+16:31 tight lit %fill
151+16:37 glyph (
152+16:38 tight name number-id
153+16:48 glyph (
154+16:49 tight name number-id
155+16:59 lit 1
156+16:60 tight glyph )
157+16:61 tight glyph )
158+16:62 tight glyph ]
159+17:1 NEWLINE
160+17:1 glyph ++
161+17:4 name bad-tag
162+17:12 glyph ^-
163+17:15 name attr
164+17:20 name width
165+17:25 tight glyph +
166+17:26 tight glyph [
167+17:27 tight lit %missing
168+17:36 lit 1
169+17:37 tight glyph ]
170+18:1 NEWLINE
171+18:1 glyph ++
172+18:4 name bad-number
173+18:15 glyph ^-
174+18:18 name attr
175+18:23 name width
176+18:28 tight glyph +
177+18:29 tight glyph [
178+18:30 tight lit %fill
179+18:36 str "bad"
180+18:41 tight glyph ]
181+19:1 NEWLINE
182+19:1 glyph ++
183+19:4 name pending
184+20:3 INDENT
185+20:3 glyph ~&
186+20:6 lit %unrelated
187+21:5 INDENT
188+21:5 glyph ^-
189+21:8 name attr
190+21:13 name width
191+21:18 tight glyph +
192+21:19 tight glyph [
193+21:20 tight lit %fill
194+21:26 glyph (
195+21:27 tight name number-id
196+21:37 lit 1
197+21:38 tight glyph )
198+21:39 tight glyph ]
199+22:1 DEDENT
200+22:1 DEDENT
201+22:1 NEWLINE
202+22:1 glyph ++
203+22:4 name singleton
204+22:14 glyph ^-
205+22:17 name attr
206+22:22 name width
207+22:27 tight glyph +
208+22:28 tight lit %shrink
209+23:1 NEWLINE
210+23:1 glyph +$
211+23:4 name event
212+24:3 INDENT
213+24:3 glyph [
214+24:4 tight lit %got
215+24:9 name value
216+24:14 tight glyph =
217+24:15 tight aura @t
218+24:17 tight glyph ]
219+25:3 NEWLINE
220+25:3 lit %idle
221+26:1 DEDENT
222+26:1 NEWLINE
223+26:1 glyph +$
224+26:4 name envelope
225+27:3 INDENT
226+27:3 glyph [
227+27:4 tight lit %handler
228+27:13 name callback
229+27:21 tight glyph =
230+27:22 tight glyph $-(
231+27:25 tight aura @t
232+27:28 name event
233+27:33 tight glyph )
234+27:34 tight glyph ]
235+28:3 NEWLINE
236+28:3 glyph [
237+28:4 tight lit %empty
238+28:11 name value
239+28:16 tight glyph =
240+28:17 tight aura @ud
241+28:20 tight glyph ]
242+29:1 DEDENT
243+29:1 NEWLINE
244+29:1 glyph ++
245+29:4 name constructor
246+29:16 glyph ^-
247+29:19 name envelope
248+29:28 glyph [
249+29:29 tight lit %handler
250+29:38 glyph |=
251+29:40 tight lit %got
252+29:44 tight glyph ]
253+30:1 NEWLINE
254+30:1 glyph ++
255+30:4 name unknown-target
256+30:19 glyph |=
257+30:22 name x
258+30:23 tight glyph =
259+30:24 tight tvar A
260+30:26 glyph ^-
261+30:29 tvar A
262+30:31 name width
263+30:36 tight glyph +
264+30:37 tight glyph [
265+30:38 tight lit %fill
266+30:44 glyph (
267+30:45 tight name number-id
268+30:55 lit 1
269+30:56 tight glyph )
270+30:57 tight glyph ]
271+30:58 NEWLINE
tests/golden/types-nested-shallow-preserve/tree.txtnew file+136
@@ -0,0 +1,136 @@
1+(module
2+ (mold 1:1 length
3+ (union 2:3
4+ (cell 2:3
5+ (const 2:4 %fill)
6+ (face 2:10 n (aura 2:12 @ud)))
7+ (const 3:3 %shrink)))
8+ (mold 4:1 attr
9+ (union 5:3
10+ (cell 5:3 (const 5:4 %width) (ref 5:11 length))
11+ (cell 6:3 (const 6:4 %gap) (aura 6:9 @tas))))
12+ (value 7:1 number-id
13+ (gate 7:14
14+ (face 7:17 x (aura 7:19 @ud))
15+ (wing 7:23 x)))
16+ (value 8:1 plain
17+ (cast 8:10
18+ (ref 8:13 attr)
19+ (pair 8:18 width
20+ (tuple 8:24 (lit 8:25 %fill) (lit 8:31 1)))))
21+ (value 9:1 direct
22+ (cast 9:11
23+ (ref 9:14 attr)
24+ (tuple 9:19
25+ (lit 9:20 %width)
26+ (tuple 9:27 (lit 9:28 %fill) (lit 9:34 1)))))
27+ (value 10:1 list
28+ (cast 10:9
29+ (apply 10:12 list (ref 10:18 attr))
30+ (list 10:24
31+ (pair 10:26 width
32+ (tuple 10:32 (lit 10:33 %fill) (lit 10:39 1))))))
33+ (value 11:1 accept
34+ (gate 11:11
35+ (face 11:14 value (ref 11:20 attr))
36+ (wing 11:25 value)))
37+ (value 12:1 call
38+ (group 12:9
39+ (call 12:10
40+ (wing 12:10 accept)
41+ (pair 12:17 width
42+ (tuple 12:23 (lit 12:24 %fill) (lit 12:30 1))))))
43+ (value 13:1 simple-call
44+ (cast 13:16
45+ (ref 13:19 attr)
46+ (pair 13:24 width
47+ (tuple 13:30
48+ (lit 13:31 %fill)
49+ (group 13:37
50+ (call 13:38 (wing 13:38 number-id) (lit 13:48 1)))))))
51+ (value 14:1 grouped-call
52+ (cast 14:17
53+ (ref 14:20 attr)
54+ (pair 14:25 width
55+ (tuple 14:31
56+ (lit 14:32 %fill)
57+ (group 14:38
58+ (group 14:39
59+ (call 14:40 (wing 14:40 number-id) (lit 14:50 1))))))))
60+ (value 15:1 cast-call
61+ (cast 15:14
62+ (ref 15:17 attr)
63+ (pair 15:22 width
64+ (tuple 15:28
65+ (lit 15:29 %fill)
66+ (group 15:35
67+ (cast 15:36
68+ (aura 15:39 @ud)
69+ (group 15:43
70+ (call 15:44 (wing 15:44 number-id) (lit 15:54 1)))))))))
71+ (value 16:1 nested-call
72+ (cast 16:16
73+ (ref 16:19 attr)
74+ (pair 16:24 width
75+ (tuple 16:30
76+ (lit 16:31 %fill)
77+ (group 16:37
78+ (call 16:38
79+ (wing 16:38 number-id)
80+ (group 16:48
81+ (call 16:49 (wing 16:49 number-id) (lit 16:59 1)))))))))
82+ (value 17:1 bad-tag
83+ (cast 17:12
84+ (ref 17:15 attr)
85+ (pair 17:20 width
86+ (tuple 17:26 (lit 17:27 %missing) (lit 17:36 1)))))
87+ (value 18:1 bad-number
88+ (cast 18:15
89+ (ref 18:18 attr)
90+ (pair 18:23 width
91+ (tuple 18:29 (lit 18:30 %fill) (str 18:36 "bad")))))
92+ (value 19:1 pending
93+ (body 20:3
94+ (trace 20:3
95+ (lit 20:6 %unrelated)
96+ (body 21:5
97+ (cast 21:5
98+ (ref 21:8 attr)
99+ (pair 21:13 width
100+ (tuple 21:19
101+ (lit 21:20 %fill)
102+ (group 21:26
103+ (call 21:27 (wing 21:27 number-id) (lit 21:37 1))))))))))
104+ (value 22:1 singleton
105+ (cast 22:14
106+ (ref 22:17 attr)
107+ (pair 22:22 width (lit 22:28 %shrink))))
108+ (mold 23:1 event
109+ (union 24:3
110+ (cell 24:3
111+ (const 24:4 %got)
112+ (face 24:9 value (aura 24:15 @t)))
113+ (const 25:3 %idle)))
114+ (mold 26:1 envelope
115+ (union 27:3
116+ (cell 27:3
117+ (const 27:4 %handler)
118+ (face 27:13 callback
119+ (fn 27:22 (aura 27:25 @t) (ref 27:28 event))))
120+ (cell 28:3
121+ (const 28:4 %empty)
122+ (face 28:11 value (aura 28:17 @ud)))))
123+ (value 29:1 constructor
124+ (cast 29:16
125+ (ref 29:19 envelope)
126+ (tuple 29:28 (lit 29:29 %handler) (ctor 29:38 %got))))
127+ (value 30:1 unknown-target
128+ (gate 30:19
129+ (face 30:22 x (tvar 30:24 A))
130+ (cast 30:26
131+ (tvar 30:29 A)
132+ (pair 30:31 width
133+ (tuple 30:37
134+ (lit 30:38 %fill)
135+ (group 30:44
136+ (call 30:45 (wing 30:45 number-id) (lit 30:55 1)))))))))
tests/golden/types-nested-shallow-preserve/types.txtnew file+33
@@ -0,0 +1,33 @@
1+partial inference; module not checked
2++$ length: cases proven disjoint; mold not checked
3++$ attr: cases proven disjoint; mold not checked
4+++ number-id: $-(@ud @ud)
5+++ plain: attr
6+++ direct: attr
7+++ list: (list attr)
8+++ accept: $-(attr attr)
9+++ call: attr
10+++ simple-call: attr
11+++ grouped-call: attr
12+++ cast-call: attr
13+++ nested-call: attr
14+++ bad-tag: cast mold and expression type do not unify
15+/tests/golden/types-nested-shallow-preserve/source.jibb:17:15: cast mold
16+++ bad-tag ^- attr width+[%missing 1]
17+ ^
18+/tests/golden/types-nested-shallow-preserve/source.jibb:17:20: expression
19+++ bad-tag ^- attr width+[%missing 1]
20+ ^
21+++ bad-number: cast mold and expression type do not unify
22+/tests/golden/types-nested-shallow-preserve/source.jibb:18:18: cast mold
23+++ bad-number ^- attr width+[%fill "bad"]
24+ ^
25+/tests/golden/types-nested-shallow-preserve/source.jibb:18:23: expression
26+++ bad-number ^- attr width+[%fill "bad"]
27+ ^
28+++ pending: tag needs context in partial inference
29+++ singleton: attr
30++$ event: cases proven disjoint; mold not checked
31++$ envelope: cases proven disjoint; mold not checked
32+++ constructor: envelope
33+++ unknown-target: explicit capital constraints are not supported by partial inference
tests/golden/types-nested-union-context/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: Grammar, Literals by context: "Number and cell literals resolve like tags: each waits for its context"; Molds: "Tags take their union from context".
2+tests: Nested named-union expressions, invalid and unknown contexts, shared and independent generic variables, unresolved tags and nulls. Unproven case coverage remains unsupported. This is a partial inference report.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-nested-union-context/source.jibbnew file+59
@@ -0,0 +1,59 @@
1++$ msg
2+ %go
3+ %stay
4++$ alt
5+ %go
6+ %stay
7++$ payload |$ [A]
8+ [%value item=A]
9+ %empty
10++$ box |$ [A]
11+ [%wrap item=(payload A)]
12+ %none
13++$ reverse |$ [A B]
14+ [%left item=A]
15+ [%right item=B]
16+++ lift |= x=A ^- (payload A) [%value x]
17+++ direct ^- (payload msg) (lift %go)
18+++ nested ^- (box msg) [%wrap (lift %go)]
19+++ nested-alias |= p=(payload msg) ^- (box msg) [%wrap p]
20+++ nested-typed ^- (box msg) [%wrap (lift (^- msg %go))]
21+++ nested-cord ^- (box @t) [%wrap (lift "hi")]
22+++ nested-ship ^- (box @p) [%wrap (lift ~zod)]
23+++ independent |= [t=@t p=@p]
24+ [(^- (box @t) [%wrap (lift t)]) (^- (box @p) [%wrap (lift p)])]
25+++ wrong-payload ^- (box @t) [%wrap (lift ~zod)]
26+++ wrong-tag ^- (box msg) [%wrap (lift %absent)]
27+++ wrong-origin |= x=alt ^- (box msg) [%wrap (lift x)]
28+++ generic |= x=A ^- (box A) [%wrap (lift x)]
29+++ repeated |= x=A ^- [a=(box A) b=(box A)] [a=[%wrap (lift x)] b=[%wrap (lift x)]]
30+++ unrelated-pending
31+ ~& %orphan
32+ ^- (box msg) [%wrap (lift %go)]
33+++ pending-null
34+ ~& ~
35+ ^- (box msg) [%wrap (lift %go)]
36+++ discarded-constructor
37+ ~& |=%orphan
38+ ^- (box msg) [%wrap (lift %go)]
39+++ unknown-output [%wrap (lift %go)]
40+++ unknown-target |= x=A ^- A [%wrap (lift %go)]
41+++ outer-callback |= [p=(payload A) fn=$-((payload A) B)] (fn p)
42+++ ctor-context ^- (box @t) (outer-callback (lift "hi") |=%wrap)
43+++ other-case ^- (box @t) %none
44++$ full-payload |$ [A]
45+ [%value item=A]
46+ [%skip code=@ud]
47++$ full-box |$ [A]
48+ [%wrap item=(full-payload A)]
49+ [%other code=@ud]
50+++ make-full |= x=A ^- (full-payload A) [%value x]
51+++ full-valid ^- (full-box msg) [%wrap (make-full %go)]
52+++ full-cord ^- (full-box @t) [%wrap (make-full "hi")]
53+++ full-ship ^- (full-box @p) [%wrap (make-full ~zod)]
54+++ full-generic |= x=A ^- (full-box A) [%wrap (make-full x)]
55+++ full-wrong ^- (full-box @t) [%wrap (make-full ~zod)]
56+++ full-missing ^- (full-box msg) [%wrap (make-full %missing)]
57+++ full-pending
58+ ~& %orphan
59+ ^- (full-box msg) [%wrap (make-full %go)]
tests/golden/types-nested-union-context/tokens.txtnew file+660
@@ -0,0 +1,660 @@
1+1:1 glyph +$
2+1:4 name msg
3+2:3 INDENT
4+2:3 lit %go
5+3:3 NEWLINE
6+3:3 lit %stay
7+4:1 DEDENT
8+4:1 NEWLINE
9+4:1 glyph +$
10+4:4 name alt
11+5:3 INDENT
12+5:3 lit %go
13+6:3 NEWLINE
14+6:3 lit %stay
15+7:1 DEDENT
16+7:1 NEWLINE
17+7:1 glyph +$
18+7:4 name payload
19+7:12 glyph |$
20+7:15 glyph [
21+7:16 tight tvar A
22+7:17 tight glyph ]
23+8:3 INDENT
24+8:3 glyph [
25+8:4 tight lit %value
26+8:11 name item
27+8:15 tight glyph =
28+8:16 tight tvar A
29+8:17 tight glyph ]
30+9:3 NEWLINE
31+9:3 lit %empty
32+10:1 DEDENT
33+10:1 NEWLINE
34+10:1 glyph +$
35+10:4 name box
36+10:8 glyph |$
37+10:11 glyph [
38+10:12 tight tvar A
39+10:13 tight glyph ]
40+11:3 INDENT
41+11:3 glyph [
42+11:4 tight lit %wrap
43+11:10 name item
44+11:14 tight glyph =
45+11:15 tight glyph (
46+11:16 tight name payload
47+11:24 tvar A
48+11:25 tight glyph )
49+11:26 tight glyph ]
50+12:3 NEWLINE
51+12:3 lit %none
52+13:1 DEDENT
53+13:1 NEWLINE
54+13:1 glyph +$
55+13:4 name reverse
56+13:12 glyph |$
57+13:15 glyph [
58+13:16 tight tvar A
59+13:18 tvar B
60+13:19 tight glyph ]
61+14:3 INDENT
62+14:3 glyph [
63+14:4 tight lit %left
64+14:10 name item
65+14:14 tight glyph =
66+14:15 tight tvar A
67+14:16 tight glyph ]
68+15:3 NEWLINE
69+15:3 glyph [
70+15:4 tight lit %right
71+15:11 name item
72+15:15 tight glyph =
73+15:16 tight tvar B
74+15:17 tight glyph ]
75+16:1 DEDENT
76+16:1 NEWLINE
77+16:1 glyph ++
78+16:4 name lift
79+16:9 glyph |=
80+16:12 name x
81+16:13 tight glyph =
82+16:14 tight tvar A
83+16:16 glyph ^-
84+16:19 glyph (
85+16:20 tight name payload
86+16:28 tvar A
87+16:29 tight glyph )
88+16:31 glyph [
89+16:32 tight lit %value
90+16:39 name x
91+16:40 tight glyph ]
92+17:1 NEWLINE
93+17:1 glyph ++
94+17:4 name direct
95+17:11 glyph ^-
96+17:14 glyph (
97+17:15 tight name payload
98+17:23 name msg
99+17:26 tight glyph )
100+17:28 glyph (
101+17:29 tight name lift
102+17:34 lit %go
103+17:37 tight glyph )
104+18:1 NEWLINE
105+18:1 glyph ++
106+18:4 name nested
107+18:11 glyph ^-
108+18:14 glyph (
109+18:15 tight name box
110+18:19 name msg
111+18:22 tight glyph )
112+18:24 glyph [
113+18:25 tight lit %wrap
114+18:31 glyph (
115+18:32 tight name lift
116+18:37 lit %go
117+18:40 tight glyph )
118+18:41 tight glyph ]
119+19:1 NEWLINE
120+19:1 glyph ++
121+19:4 name nested-alias
122+19:17 glyph |=
123+19:20 name p
124+19:21 tight glyph =
125+19:22 tight glyph (
126+19:23 tight name payload
127+19:31 name msg
128+19:34 tight glyph )
129+19:36 glyph ^-
130+19:39 glyph (
131+19:40 tight name box
132+19:44 name msg
133+19:47 tight glyph )
134+19:49 glyph [
135+19:50 tight lit %wrap
136+19:56 name p
137+19:57 tight glyph ]
138+20:1 NEWLINE
139+20:1 glyph ++
140+20:4 name nested-typed
141+20:17 glyph ^-
142+20:20 glyph (
143+20:21 tight name box
144+20:25 name msg
145+20:28 tight glyph )
146+20:30 glyph [
147+20:31 tight lit %wrap
148+20:37 glyph (
149+20:38 tight name lift
150+20:43 glyph (
151+20:44 tight glyph ^-
152+20:47 name msg
153+20:51 lit %go
154+20:54 tight glyph )
155+20:55 tight glyph )
156+20:56 tight glyph ]
157+21:1 NEWLINE
158+21:1 glyph ++
159+21:4 name nested-cord
160+21:16 glyph ^-
161+21:19 glyph (
162+21:20 tight name box
163+21:24 aura @t
164+21:26 tight glyph )
165+21:28 glyph [
166+21:29 tight lit %wrap
167+21:35 glyph (
168+21:36 tight name lift
169+21:41 str "hi"
170+21:45 tight glyph )
171+21:46 tight glyph ]
172+22:1 NEWLINE
173+22:1 glyph ++
174+22:4 name nested-ship
175+22:16 glyph ^-
176+22:19 glyph (
177+22:20 tight name box
178+22:24 aura @p
179+22:26 tight glyph )
180+22:28 glyph [
181+22:29 tight lit %wrap
182+22:35 glyph (
183+22:36 tight name lift
184+22:41 lit ~zod
185+22:45 tight glyph )
186+22:46 tight glyph ]
187+23:1 NEWLINE
188+23:1 glyph ++
189+23:4 name independent
190+23:16 glyph |=
191+23:19 glyph [
192+23:20 tight name t
193+23:21 tight glyph =
194+23:22 tight aura @t
195+23:25 name p
196+23:26 tight glyph =
197+23:27 tight aura @p
198+23:29 tight glyph ]
199+24:3 INDENT
200+24:3 glyph [
201+24:4 tight glyph (
202+24:5 tight glyph ^-
203+24:8 glyph (
204+24:9 tight name box
205+24:13 aura @t
206+24:15 tight glyph )
207+24:17 glyph [
208+24:18 tight lit %wrap
209+24:24 glyph (
210+24:25 tight name lift
211+24:30 name t
212+24:31 tight glyph )
213+24:32 tight glyph ]
214+24:33 tight glyph )
215+24:35 glyph (
216+24:36 tight glyph ^-
217+24:39 glyph (
218+24:40 tight name box
219+24:44 aura @p
220+24:46 tight glyph )
221+24:48 glyph [
222+24:49 tight lit %wrap
223+24:55 glyph (
224+24:56 tight name lift
225+24:61 name p
226+24:62 tight glyph )
227+24:63 tight glyph ]
228+24:64 tight glyph )
229+24:65 tight glyph ]
230+25:1 DEDENT
231+25:1 NEWLINE
232+25:1 glyph ++
233+25:4 name wrong-payload
234+25:18 glyph ^-
235+25:21 glyph (
236+25:22 tight name box
237+25:26 aura @t
238+25:28 tight glyph )
239+25:30 glyph [
240+25:31 tight lit %wrap
241+25:37 glyph (
242+25:38 tight name lift
243+25:43 lit ~zod
244+25:47 tight glyph )
245+25:48 tight glyph ]
246+26:1 NEWLINE
247+26:1 glyph ++
248+26:4 name wrong-tag
249+26:14 glyph ^-
250+26:17 glyph (
251+26:18 tight name box
252+26:22 name msg
253+26:25 tight glyph )
254+26:27 glyph [
255+26:28 tight lit %wrap
256+26:34 glyph (
257+26:35 tight name lift
258+26:40 lit %absent
259+26:47 tight glyph )
260+26:48 tight glyph ]
261+27:1 NEWLINE
262+27:1 glyph ++
263+27:4 name wrong-origin
264+27:17 glyph |=
265+27:20 name x
266+27:21 tight glyph =
267+27:22 tight name alt
268+27:26 glyph ^-
269+27:29 glyph (
270+27:30 tight name box
271+27:34 name msg
272+27:37 tight glyph )
273+27:39 glyph [
274+27:40 tight lit %wrap
275+27:46 glyph (
276+27:47 tight name lift
277+27:52 name x
278+27:53 tight glyph )
279+27:54 tight glyph ]
280+28:1 NEWLINE
281+28:1 glyph ++
282+28:4 name generic
283+28:12 glyph |=
284+28:15 name x
285+28:16 tight glyph =
286+28:17 tight tvar A
287+28:19 glyph ^-
288+28:22 glyph (
289+28:23 tight name box
290+28:27 tvar A
291+28:28 tight glyph )
292+28:30 glyph [
293+28:31 tight lit %wrap
294+28:37 glyph (
295+28:38 tight name lift
296+28:43 name x
297+28:44 tight glyph )
298+28:45 tight glyph ]
299+29:1 NEWLINE
300+29:1 glyph ++
301+29:4 name repeated
302+29:13 glyph |=
303+29:16 name x
304+29:17 tight glyph =
305+29:18 tight tvar A
306+29:20 glyph ^-
307+29:23 glyph [
308+29:24 tight name a
309+29:25 tight glyph =
310+29:26 tight glyph (
311+29:27 tight name box
312+29:31 tvar A
313+29:32 tight glyph )
314+29:34 name b
315+29:35 tight glyph =
316+29:36 tight glyph (
317+29:37 tight name box
318+29:41 tvar A
319+29:42 tight glyph )
320+29:43 tight glyph ]
321+29:45 glyph [
322+29:46 tight name a
323+29:47 tight glyph =
324+29:48 tight glyph [
325+29:49 tight lit %wrap
326+29:55 glyph (
327+29:56 tight name lift
328+29:61 name x
329+29:62 tight glyph )
330+29:63 tight glyph ]
331+29:65 name b
332+29:66 tight glyph =
333+29:67 tight glyph [
334+29:68 tight lit %wrap
335+29:74 glyph (
336+29:75 tight name lift
337+29:80 name x
338+29:81 tight glyph )
339+29:82 tight glyph ]
340+29:83 tight glyph ]
341+30:1 NEWLINE
342+30:1 glyph ++
343+30:4 name unrelated-pending
344+31:3 INDENT
345+31:3 glyph ~&
346+31:6 lit %orphan
347+32:5 INDENT
348+32:5 glyph ^-
349+32:8 glyph (
350+32:9 tight name box
351+32:13 name msg
352+32:16 tight glyph )
353+32:18 glyph [
354+32:19 tight lit %wrap
355+32:25 glyph (
356+32:26 tight name lift
357+32:31 lit %go
358+32:34 tight glyph )
359+32:35 tight glyph ]
360+33:1 DEDENT
361+33:1 DEDENT
362+33:1 NEWLINE
363+33:1 glyph ++
364+33:4 name pending-null
365+34:3 INDENT
366+34:3 glyph ~&
367+34:6 lit ~
368+35:5 INDENT
369+35:5 glyph ^-
370+35:8 glyph (
371+35:9 tight name box
372+35:13 name msg
373+35:16 tight glyph )
374+35:18 glyph [
375+35:19 tight lit %wrap
376+35:25 glyph (
377+35:26 tight name lift
378+35:31 lit %go
379+35:34 tight glyph )
380+35:35 tight glyph ]
381+36:1 DEDENT
382+36:1 DEDENT
383+36:1 NEWLINE
384+36:1 glyph ++
385+36:4 name discarded-constructor
386+37:3 INDENT
387+37:3 glyph ~&
388+37:6 glyph |=
389+37:8 tight lit %orphan
390+38:5 INDENT
391+38:5 glyph ^-
392+38:8 glyph (
393+38:9 tight name box
394+38:13 name msg
395+38:16 tight glyph )
396+38:18 glyph [
397+38:19 tight lit %wrap
398+38:25 glyph (
399+38:26 tight name lift
400+38:31 lit %go
401+38:34 tight glyph )
402+38:35 tight glyph ]
403+39:1 DEDENT
404+39:1 DEDENT
405+39:1 NEWLINE
406+39:1 glyph ++
407+39:4 name unknown-output
408+39:19 glyph [
409+39:20 tight lit %wrap
410+39:26 glyph (
411+39:27 tight name lift
412+39:32 lit %go
413+39:35 tight glyph )
414+39:36 tight glyph ]
415+40:1 NEWLINE
416+40:1 glyph ++
417+40:4 name unknown-target
418+40:19 glyph |=
419+40:22 name x
420+40:23 tight glyph =
421+40:24 tight tvar A
422+40:26 glyph ^-
423+40:29 tvar A
424+40:31 glyph [
425+40:32 tight lit %wrap
426+40:38 glyph (
427+40:39 tight name lift
428+40:44 lit %go
429+40:47 tight glyph )
430+40:48 tight glyph ]
431+41:1 NEWLINE
432+41:1 glyph ++
433+41:4 name outer-callback
434+41:19 glyph |=
435+41:22 glyph [
436+41:23 tight name p
437+41:24 tight glyph =
438+41:25 tight glyph (
439+41:26 tight name payload
440+41:34 tvar A
441+41:35 tight glyph )
442+41:37 name fn
443+41:39 tight glyph =
444+41:40 tight glyph $-(
445+41:43 tight glyph (
446+41:44 tight name payload
447+41:52 tvar A
448+41:53 tight glyph )
449+41:55 tvar B
450+41:56 tight glyph )
451+41:57 tight glyph ]
452+41:59 glyph (
453+41:60 tight name fn
454+41:63 name p
455+41:64 tight glyph )
456+42:1 NEWLINE
457+42:1 glyph ++
458+42:4 name ctor-context
459+42:17 glyph ^-
460+42:20 glyph (
461+42:21 tight name box
462+42:25 aura @t
463+42:27 tight glyph )
464+42:29 glyph (
465+42:30 tight name outer-callback
466+42:45 glyph (
467+42:46 tight name lift
468+42:51 str "hi"
469+42:55 tight glyph )
470+42:57 glyph |=
471+42:59 tight lit %wrap
472+42:64 tight glyph )
473+43:1 NEWLINE
474+43:1 glyph ++
475+43:4 name other-case
476+43:15 glyph ^-
477+43:18 glyph (
478+43:19 tight name box
479+43:23 aura @t
480+43:25 tight glyph )
481+43:27 lit %none
482+44:1 NEWLINE
483+44:1 glyph +$
484+44:4 name full-payload
485+44:17 glyph |$
486+44:20 glyph [
487+44:21 tight tvar A
488+44:22 tight glyph ]
489+45:3 INDENT
490+45:3 glyph [
491+45:4 tight lit %value
492+45:11 name item
493+45:15 tight glyph =
494+45:16 tight tvar A
495+45:17 tight glyph ]
496+46:3 NEWLINE
497+46:3 glyph [
498+46:4 tight lit %skip
499+46:10 name code
500+46:14 tight glyph =
501+46:15 tight aura @ud
502+46:18 tight glyph ]
503+47:1 DEDENT
504+47:1 NEWLINE
505+47:1 glyph +$
506+47:4 name full-box
507+47:13 glyph |$
508+47:16 glyph [
509+47:17 tight tvar A
510+47:18 tight glyph ]
511+48:3 INDENT
512+48:3 glyph [
513+48:4 tight lit %wrap
514+48:10 name item
515+48:14 tight glyph =
516+48:15 tight glyph (
517+48:16 tight name full-payload
518+48:29 tvar A
519+48:30 tight glyph )
520+48:31 tight glyph ]
521+49:3 NEWLINE
522+49:3 glyph [
523+49:4 tight lit %other
524+49:11 name code
525+49:15 tight glyph =
526+49:16 tight aura @ud
527+49:19 tight glyph ]
528+50:1 DEDENT
529+50:1 NEWLINE
530+50:1 glyph ++
531+50:4 name make-full
532+50:14 glyph |=
533+50:17 name x
534+50:18 tight glyph =
535+50:19 tight tvar A
536+50:21 glyph ^-
537+50:24 glyph (
538+50:25 tight name full-payload
539+50:38 tvar A
540+50:39 tight glyph )
541+50:41 glyph [
542+50:42 tight lit %value
543+50:49 name x
544+50:50 tight glyph ]
545+51:1 NEWLINE
546+51:1 glyph ++
547+51:4 name full-valid
548+51:15 glyph ^-
549+51:18 glyph (
550+51:19 tight name full-box
551+51:28 name msg
552+51:31 tight glyph )
553+51:33 glyph [
554+51:34 tight lit %wrap
555+51:40 glyph (
556+51:41 tight name make-full
557+51:51 lit %go
558+51:54 tight glyph )
559+51:55 tight glyph ]
560+52:1 NEWLINE
561+52:1 glyph ++
562+52:4 name full-cord
563+52:14 glyph ^-
564+52:17 glyph (
565+52:18 tight name full-box
566+52:27 aura @t
567+52:29 tight glyph )
568+52:31 glyph [
569+52:32 tight lit %wrap
570+52:38 glyph (
571+52:39 tight name make-full
572+52:49 str "hi"
573+52:53 tight glyph )
574+52:54 tight glyph ]
575+53:1 NEWLINE
576+53:1 glyph ++
577+53:4 name full-ship
578+53:14 glyph ^-
579+53:17 glyph (
580+53:18 tight name full-box
581+53:27 aura @p
582+53:29 tight glyph )
583+53:31 glyph [
584+53:32 tight lit %wrap
585+53:38 glyph (
586+53:39 tight name make-full
587+53:49 lit ~zod
588+53:53 tight glyph )
589+53:54 tight glyph ]
590+54:1 NEWLINE
591+54:1 glyph ++
592+54:4 name full-generic
593+54:17 glyph |=
594+54:20 name x
595+54:21 tight glyph =
596+54:22 tight tvar A
597+54:24 glyph ^-
598+54:27 glyph (
599+54:28 tight name full-box
600+54:37 tvar A
601+54:38 tight glyph )
602+54:40 glyph [
603+54:41 tight lit %wrap
604+54:47 glyph (
605+54:48 tight name make-full
606+54:58 name x
607+54:59 tight glyph )
608+54:60 tight glyph ]
609+55:1 NEWLINE
610+55:1 glyph ++
611+55:4 name full-wrong
612+55:15 glyph ^-
613+55:18 glyph (
614+55:19 tight name full-box
615+55:28 aura @t
616+55:30 tight glyph )
617+55:32 glyph [
618+55:33 tight lit %wrap
619+55:39 glyph (
620+55:40 tight name make-full
621+55:50 lit ~zod
622+55:54 tight glyph )
623+55:55 tight glyph ]
624+56:1 NEWLINE
625+56:1 glyph ++
626+56:4 name full-missing
627+56:17 glyph ^-
628+56:20 glyph (
629+56:21 tight name full-box
630+56:30 name msg
631+56:33 tight glyph )
632+56:35 glyph [
633+56:36 tight lit %wrap
634+56:42 glyph (
635+56:43 tight name make-full
636+56:53 lit %missing
637+56:61 tight glyph )
638+56:62 tight glyph ]
639+57:1 NEWLINE
640+57:1 glyph ++
641+57:4 name full-pending
642+58:3 INDENT
643+58:3 glyph ~&
644+58:6 lit %orphan
645+59:5 INDENT
646+59:5 glyph ^-
647+59:8 glyph (
648+59:9 tight name full-box
649+59:18 name msg
650+59:21 tight glyph )
651+59:23 glyph [
652+59:24 tight lit %wrap
653+59:30 glyph (
654+59:31 tight name make-full
655+59:41 lit %go
656+59:44 tight glyph )
657+59:45 tight glyph ]
658+59:46 DEDENT
659+59:46 DEDENT
660+59:46 NEWLINE
tests/golden/types-nested-union-context/tree.txtnew file+302
@@ -0,0 +1,302 @@
1+(module
2+ (mold 1:1 msg
3+ (union 2:3 (const 2:3 %go) (const 3:3 %stay)))
4+ (mold 4:1 alt
5+ (union 5:3 (const 5:3 %go) (const 6:3 %stay)))
6+ (mold 7:1 payload
7+ (generic 7:12 A
8+ (union 8:3
9+ (cell 8:3
10+ (const 8:4 %value)
11+ (face 8:11 item (tvar 8:16 A)))
12+ (const 9:3 %empty))))
13+ (mold 10:1 box
14+ (generic 10:8 A
15+ (union 11:3
16+ (cell 11:3
17+ (const 11:4 %wrap)
18+ (face 11:10 item
19+ (apply 11:15 payload (tvar 11:24 A))))
20+ (const 12:3 %none))))
21+ (mold 13:1 reverse
22+ (generic 13:12 A B
23+ (union 14:3
24+ (cell 14:3
25+ (const 14:4 %left)
26+ (face 14:10 item (tvar 14:15 A)))
27+ (cell 15:3
28+ (const 15:4 %right)
29+ (face 15:11 item (tvar 15:16 B))))))
30+ (value 16:1 lift
31+ (gate 16:9
32+ (face 16:12 x (tvar 16:14 A))
33+ (cast 16:16
34+ (apply 16:19 payload (tvar 16:28 A))
35+ (tuple 16:31 (lit 16:32 %value) (wing 16:39 x)))))
36+ (value 17:1 direct
37+ (cast 17:11
38+ (apply 17:14 payload (ref 17:23 msg))
39+ (group 17:28
40+ (call 17:29 (wing 17:29 lift) (lit 17:34 %go)))))
41+ (value 18:1 nested
42+ (cast 18:11
43+ (apply 18:14 box (ref 18:19 msg))
44+ (tuple 18:24
45+ (lit 18:25 %wrap)
46+ (group 18:31
47+ (call 18:32 (wing 18:32 lift) (lit 18:37 %go))))))
48+ (value 19:1 nested-alias
49+ (gate 19:17
50+ (face 19:20 p
51+ (apply 19:22 payload (ref 19:31 msg)))
52+ (cast 19:36
53+ (apply 19:39 box (ref 19:44 msg))
54+ (tuple 19:49 (lit 19:50 %wrap) (wing 19:56 p)))))
55+ (value 20:1 nested-typed
56+ (cast 20:17
57+ (apply 20:20 box (ref 20:25 msg))
58+ (tuple 20:30
59+ (lit 20:31 %wrap)
60+ (group 20:37
61+ (call 20:38
62+ (wing 20:38 lift)
63+ (group 20:43
64+ (cast 20:44 (ref 20:47 msg) (lit 20:51 %go))))))))
65+ (value 21:1 nested-cord
66+ (cast 21:16
67+ (apply 21:19 box (aura 21:24 @t))
68+ (tuple 21:28
69+ (lit 21:29 %wrap)
70+ (group 21:35
71+ (call 21:36 (wing 21:36 lift) (str 21:41 "hi"))))))
72+ (value 22:1 nested-ship
73+ (cast 22:16
74+ (apply 22:19 box (aura 22:24 @p))
75+ (tuple 22:28
76+ (lit 22:29 %wrap)
77+ (group 22:35
78+ (call 22:36 (wing 22:36 lift) (lit 22:41 ~zod))))))
79+ (value 23:1 independent
80+ (gate 23:16
81+ (cell 23:19
82+ (face 23:20 t (aura 23:22 @t))
83+ (face 23:25 p (aura 23:27 @p)))
84+ (body 24:3
85+ (tuple 24:3
86+ (group 24:4
87+ (cast 24:5
88+ (apply 24:8 box (aura 24:13 @t))
89+ (tuple 24:17
90+ (lit 24:18 %wrap)
91+ (group 24:24
92+ (call 24:25 (wing 24:25 lift) (wing 24:30 t))))))
93+ (group 24:35
94+ (cast 24:36
95+ (apply 24:39 box (aura 24:44 @p))
96+ (tuple 24:48
97+ (lit 24:49 %wrap)
98+ (group 24:55
99+ (call 24:56 (wing 24:56 lift) (wing 24:61 p))))))))))
100+ (value 25:1 wrong-payload
101+ (cast 25:18
102+ (apply 25:21 box (aura 25:26 @t))
103+ (tuple 25:30
104+ (lit 25:31 %wrap)
105+ (group 25:37
106+ (call 25:38 (wing 25:38 lift) (lit 25:43 ~zod))))))
107+ (value 26:1 wrong-tag
108+ (cast 26:14
109+ (apply 26:17 box (ref 26:22 msg))
110+ (tuple 26:27
111+ (lit 26:28 %wrap)
112+ (group 26:34
113+ (call 26:35 (wing 26:35 lift) (lit 26:40 %absent))))))
114+ (value 27:1 wrong-origin
115+ (gate 27:17
116+ (face 27:20 x (ref 27:22 alt))
117+ (cast 27:26
118+ (apply 27:29 box (ref 27:34 msg))
119+ (tuple 27:39
120+ (lit 27:40 %wrap)
121+ (group 27:46
122+ (call 27:47 (wing 27:47 lift) (wing 27:52 x)))))))
123+ (value 28:1 generic
124+ (gate 28:12
125+ (face 28:15 x (tvar 28:17 A))
126+ (cast 28:19
127+ (apply 28:22 box (tvar 28:27 A))
128+ (tuple 28:30
129+ (lit 28:31 %wrap)
130+ (group 28:37
131+ (call 28:38 (wing 28:38 lift) (wing 28:43 x)))))))
132+ (value 29:1 repeated
133+ (gate 29:13
134+ (face 29:16 x (tvar 29:18 A))
135+ (cast 29:20
136+ (cell 29:23
137+ (face 29:24 a
138+ (apply 29:26 box (tvar 29:31 A)))
139+ (face 29:34 b
140+ (apply 29:36 box (tvar 29:41 A))))
141+ (tuple 29:45
142+ (face 29:46 a
143+ (tuple 29:48
144+ (lit 29:49 %wrap)
145+ (group 29:55
146+ (call 29:56 (wing 29:56 lift) (wing 29:61 x)))))
147+ (face 29:65 b
148+ (tuple 29:67
149+ (lit 29:68 %wrap)
150+ (group 29:74
151+ (call 29:75 (wing 29:75 lift) (wing 29:80 x)))))))))
152+ (value 30:1 unrelated-pending
153+ (body 31:3
154+ (trace 31:3
155+ (lit 31:6 %orphan)
156+ (body 32:5
157+ (cast 32:5
158+ (apply 32:8 box (ref 32:13 msg))
159+ (tuple 32:18
160+ (lit 32:19 %wrap)
161+ (group 32:25
162+ (call 32:26 (wing 32:26 lift) (lit 32:31 %go)))))))))
163+ (value 33:1 pending-null
164+ (body 34:3
165+ (trace 34:3
166+ (lit 34:6 ~)
167+ (body 35:5
168+ (cast 35:5
169+ (apply 35:8 box (ref 35:13 msg))
170+ (tuple 35:18
171+ (lit 35:19 %wrap)
172+ (group 35:25
173+ (call 35:26 (wing 35:26 lift) (lit 35:31 %go)))))))))
174+ (value 36:1 discarded-constructor
175+ (body 37:3
176+ (trace 37:3
177+ (ctor 37:6 %orphan)
178+ (body 38:5
179+ (cast 38:5
180+ (apply 38:8 box (ref 38:13 msg))
181+ (tuple 38:18
182+ (lit 38:19 %wrap)
183+ (group 38:25
184+ (call 38:26 (wing 38:26 lift) (lit 38:31 %go)))))))))
185+ (value 39:1 unknown-output
186+ (tuple 39:19
187+ (lit 39:20 %wrap)
188+ (group 39:26
189+ (call 39:27 (wing 39:27 lift) (lit 39:32 %go)))))
190+ (value 40:1 unknown-target
191+ (gate 40:19
192+ (face 40:22 x (tvar 40:24 A))
193+ (cast 40:26
194+ (tvar 40:29 A)
195+ (tuple 40:31
196+ (lit 40:32 %wrap)
197+ (group 40:38
198+ (call 40:39 (wing 40:39 lift) (lit 40:44 %go)))))))
199+ (value 41:1 outer-callback
200+ (gate 41:19
201+ (cell 41:22
202+ (face 41:23 p
203+ (apply 41:25 payload (tvar 41:34 A)))
204+ (face 41:37 fn
205+ (fn 41:40
206+ (apply 41:43 payload (tvar 41:52 A))
207+ (tvar 41:55 B))))
208+ (group 41:59
209+ (call 41:60 (wing 41:60 fn) (wing 41:63 p)))))
210+ (value 42:1 ctor-context
211+ (cast 42:17
212+ (apply 42:20 box (aura 42:25 @t))
213+ (group 42:29
214+ (call 42:30
215+ (wing 42:30 outer-callback)
216+ (group 42:45
217+ (call 42:46 (wing 42:46 lift) (str 42:51 "hi")))
218+ (ctor 42:57 %wrap)))))
219+ (value 43:1 other-case
220+ (cast 43:15
221+ (apply 43:18 box (aura 43:23 @t))
222+ (lit 43:27 %none)))
223+ (mold 44:1 full-payload
224+ (generic 44:17 A
225+ (union 45:3
226+ (cell 45:3
227+ (const 45:4 %value)
228+ (face 45:11 item (tvar 45:16 A)))
229+ (cell 46:3
230+ (const 46:4 %skip)
231+ (face 46:10 code (aura 46:15 @ud))))))
232+ (mold 47:1 full-box
233+ (generic 47:13 A
234+ (union 48:3
235+ (cell 48:3
236+ (const 48:4 %wrap)
237+ (face 48:10 item
238+ (apply 48:15 full-payload (tvar 48:29 A))))
239+ (cell 49:3
240+ (const 49:4 %other)
241+ (face 49:11 code (aura 49:16 @ud))))))
242+ (value 50:1 make-full
243+ (gate 50:14
244+ (face 50:17 x (tvar 50:19 A))
245+ (cast 50:21
246+ (apply 50:24 full-payload (tvar 50:38 A))
247+ (tuple 50:41 (lit 50:42 %value) (wing 50:49 x)))))
248+ (value 51:1 full-valid
249+ (cast 51:15
250+ (apply 51:18 full-box (ref 51:28 msg))
251+ (tuple 51:33
252+ (lit 51:34 %wrap)
253+ (group 51:40
254+ (call 51:41 (wing 51:41 make-full) (lit 51:51 %go))))))
255+ (value 52:1 full-cord
256+ (cast 52:14
257+ (apply 52:17 full-box (aura 52:27 @t))
258+ (tuple 52:31
259+ (lit 52:32 %wrap)
260+ (group 52:38
261+ (call 52:39 (wing 52:39 make-full) (str 52:49 "hi"))))))
262+ (value 53:1 full-ship
263+ (cast 53:14
264+ (apply 53:17 full-box (aura 53:27 @p))
265+ (tuple 53:31
266+ (lit 53:32 %wrap)
267+ (group 53:38
268+ (call 53:39 (wing 53:39 make-full) (lit 53:49 ~zod))))))
269+ (value 54:1 full-generic
270+ (gate 54:17
271+ (face 54:20 x (tvar 54:22 A))
272+ (cast 54:24
273+ (apply 54:27 full-box (tvar 54:37 A))
274+ (tuple 54:40
275+ (lit 54:41 %wrap)
276+ (group 54:47
277+ (call 54:48 (wing 54:48 make-full) (wing 54:58 x)))))))
278+ (value 55:1 full-wrong
279+ (cast 55:15
280+ (apply 55:18 full-box (aura 55:28 @t))
281+ (tuple 55:32
282+ (lit 55:33 %wrap)
283+ (group 55:39
284+ (call 55:40 (wing 55:40 make-full) (lit 55:50 ~zod))))))
285+ (value 56:1 full-missing
286+ (cast 56:17
287+ (apply 56:20 full-box (ref 56:30 msg))
288+ (tuple 56:35
289+ (lit 56:36 %wrap)
290+ (group 56:42
291+ (call 56:43 (wing 56:43 make-full) (lit 56:53 %missing))))))
292+ (value 57:1 full-pending
293+ (body 58:3
294+ (trace 58:3
295+ (lit 58:6 %orphan)
296+ (body 59:5
297+ (cast 59:5
298+ (apply 59:8 full-box (ref 59:18 msg))
299+ (tuple 59:23
300+ (lit 59:24 %wrap)
301+ (group 59:30
302+ (call 59:31 (wing 59:31 make-full) (lit 59:41 %go))))))))))
tests/golden/types-nested-union-context/types.txtnew file+49
@@ -0,0 +1,49 @@
1+partial inference; module not checked
2++$ msg: cases proven disjoint; mold not checked
3++$ alt: cases proven disjoint; mold not checked
4++$ payload: cases proven disjoint; mold not checked
5++$ box: cases proven disjoint; mold not checked
6++$ reverse: cases proven disjoint; mold not checked
7+++ lift: $-(A (payload A))
8+++ direct: (payload msg)
9+++ nested: cast constraint is not supported by partial inference
10+++ nested-alias: cast constraint is not supported by partial inference
11+++ nested-typed: cast constraint is not supported by partial inference
12+++ nested-cord: cast constraint is not supported by partial inference
13+++ nested-ship: cast constraint is not supported by partial inference
14+++ independent: cast constraint is not supported by partial inference
15+++ wrong-payload: cast constraint is not supported by partial inference
16+++ wrong-tag: cast constraint is not supported by partial inference
17+++ wrong-origin: cast constraint is not supported by partial inference
18+++ generic: cast constraint is not supported by partial inference
19+++ repeated: cast constraint is not supported by partial inference
20+++ unrelated-pending: cast constraint is not supported by partial inference
21+++ pending-null: cast constraint is not supported by partial inference
22+++ discarded-constructor: cast constraint is not supported by partial inference
23+++ unknown-output: tag needs context in partial inference
24+++ unknown-target: explicit capital constraints are not supported by partial inference
25+++ outer-callback: $-([p=(payload A) fn=$-((payload A) B)] B)
26+++ ctor-context: (box @t)
27+++ other-case: (box @t)
28++$ full-payload: cases proven disjoint; mold not checked
29++$ full-box: cases proven disjoint; mold not checked
30+++ make-full: $-(A (full-payload A))
31+++ full-valid: (full-box msg)
32+++ full-cord: (full-box @t)
33+++ full-ship: (full-box @p)
34+++ full-generic: $-(A (full-box A))
35+++ full-wrong: call's sample and argument types do not unify
36+/tests/golden/types-nested-union-context/source.jibb:55:40: called gate
37+++ full-wrong ^- (full-box @t) [%wrap (make-full ~zod)]
38+ ^
39+/tests/golden/types-nested-union-context/source.jibb:55:50: argument has type @p
40+++ full-wrong ^- (full-box @t) [%wrap (make-full ~zod)]
41+ ^
42+++ full-missing: msg has no case `%missing`
43+/tests/golden/types-nested-union-context/source.jibb:56:43: expected union
44+++ full-missing ^- (full-box msg) [%wrap (make-full %missing)]
45+ ^
46+/tests/golden/types-nested-union-context/source.jibb:56:53: tag
47+++ full-missing ^- (full-box msg) [%wrap (make-full %missing)]
48+ ^
49+++ full-pending: tag needs context in partial inference
tests/golden/types-prelude-sub-nested/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: Overview, Effects: `+$ sub |$ [M]` includes `[%watch a=(ask M)]`; "A request such as `(todos.todo |=%got)` comes from a declared path or a store's `state`."
2+tests: Source-backed `(sub msg)` context reaches nested `pure`, including independent and generic uses, missing tags, mismatched payloads, distinct origins and pending constraints. This is a partial inference report and does not prove a value is watchable or executable.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-prelude-sub-nested/modules.txtnew file+1
@@ -0,0 +1 @@
1+# Use the source-backed prelude.
tests/golden/types-prelude-sub-nested/source.jibbnew file+20
@@ -0,0 +1,20 @@
1++$ msg
2+ %idle
3+ %busy
4++$ other
5+ %idle
6+ %busy
7+++ direct ^- (ask msg) (pure %idle)
8+++ watch ^- (sub msg) [%watch (pure %idle)]
9+++ watch-typed ^- (sub msg) [%watch (pure (^- msg %idle))]
10+++ watch-cord ^- (sub @t) [%watch (pure "hi")]
11+++ watch-ship ^- (sub @p) [%watch (pure ~zod)]
12+++ wrong ^- (sub @t) [%watch (pure ~zod)]
13+++ missing ^- (sub msg) [%watch (pure %missing)]
14+++ alien |= x=other ^- (sub msg) [%watch (pure x)]
15+++ generic |= x=A ^- (sub A) [%watch (pure x)]
16+++ pending
17+ ~& %orphan
18+ ^- (sub msg) [%watch (pure %idle)]
19+++ unknown |= x=A [%watch (pure x)]
20+++ unknown-target |= x=A ^- A [%watch (pure %idle)]
tests/golden/types-prelude-sub-nested/tokens.txtnew file+211
@@ -0,0 +1,211 @@
1+1:1 glyph +$
2+1:4 name msg
3+2:3 INDENT
4+2:3 lit %idle
5+3:3 NEWLINE
6+3:3 lit %busy
7+4:1 DEDENT
8+4:1 NEWLINE
9+4:1 glyph +$
10+4:4 name other
11+5:3 INDENT
12+5:3 lit %idle
13+6:3 NEWLINE
14+6:3 lit %busy
15+7:1 DEDENT
16+7:1 NEWLINE
17+7:1 glyph ++
18+7:4 name direct
19+7:11 glyph ^-
20+7:14 glyph (
21+7:15 tight name ask
22+7:19 name msg
23+7:22 tight glyph )
24+7:24 glyph (
25+7:25 tight name pure
26+7:30 lit %idle
27+7:35 tight glyph )
28+8:1 NEWLINE
29+8:1 glyph ++
30+8:4 name watch
31+8:10 glyph ^-
32+8:13 glyph (
33+8:14 tight name sub
34+8:18 name msg
35+8:21 tight glyph )
36+8:23 glyph [
37+8:24 tight lit %watch
38+8:31 glyph (
39+8:32 tight name pure
40+8:37 lit %idle
41+8:42 tight glyph )
42+8:43 tight glyph ]
43+9:1 NEWLINE
44+9:1 glyph ++
45+9:4 name watch-typed
46+9:16 glyph ^-
47+9:19 glyph (
48+9:20 tight name sub
49+9:24 name msg
50+9:27 tight glyph )
51+9:29 glyph [
52+9:30 tight lit %watch
53+9:37 glyph (
54+9:38 tight name pure
55+9:43 glyph (
56+9:44 tight glyph ^-
57+9:47 name msg
58+9:51 lit %idle
59+9:56 tight glyph )
60+9:57 tight glyph )
61+9:58 tight glyph ]
62+10:1 NEWLINE
63+10:1 glyph ++
64+10:4 name watch-cord
65+10:15 glyph ^-
66+10:18 glyph (
67+10:19 tight name sub
68+10:23 aura @t
69+10:25 tight glyph )
70+10:27 glyph [
71+10:28 tight lit %watch
72+10:35 glyph (
73+10:36 tight name pure
74+10:41 str "hi"
75+10:45 tight glyph )
76+10:46 tight glyph ]
77+11:1 NEWLINE
78+11:1 glyph ++
79+11:4 name watch-ship
80+11:15 glyph ^-
81+11:18 glyph (
82+11:19 tight name sub
83+11:23 aura @p
84+11:25 tight glyph )
85+11:27 glyph [
86+11:28 tight lit %watch
87+11:35 glyph (
88+11:36 tight name pure
89+11:41 lit ~zod
90+11:45 tight glyph )
91+11:46 tight glyph ]
92+12:1 NEWLINE
93+12:1 glyph ++
94+12:4 name wrong
95+12:10 glyph ^-
96+12:13 glyph (
97+12:14 tight name sub
98+12:18 aura @t
99+12:20 tight glyph )
100+12:22 glyph [
101+12:23 tight lit %watch
102+12:30 glyph (
103+12:31 tight name pure
104+12:36 lit ~zod
105+12:40 tight glyph )
106+12:41 tight glyph ]
107+13:1 NEWLINE
108+13:1 glyph ++
109+13:4 name missing
110+13:12 glyph ^-
111+13:15 glyph (
112+13:16 tight name sub
113+13:20 name msg
114+13:23 tight glyph )
115+13:25 glyph [
116+13:26 tight lit %watch
117+13:33 glyph (
118+13:34 tight name pure
119+13:39 lit %missing
120+13:47 tight glyph )
121+13:48 tight glyph ]
122+14:1 NEWLINE
123+14:1 glyph ++
124+14:4 name alien
125+14:10 glyph |=
126+14:13 name x
127+14:14 tight glyph =
128+14:15 tight name other
129+14:21 glyph ^-
130+14:24 glyph (
131+14:25 tight name sub
132+14:29 name msg
133+14:32 tight glyph )
134+14:34 glyph [
135+14:35 tight lit %watch
136+14:42 glyph (
137+14:43 tight name pure
138+14:48 name x
139+14:49 tight glyph )
140+14:50 tight glyph ]
141+15:1 NEWLINE
142+15:1 glyph ++
143+15:4 name generic
144+15:12 glyph |=
145+15:15 name x
146+15:16 tight glyph =
147+15:17 tight tvar A
148+15:19 glyph ^-
149+15:22 glyph (
150+15:23 tight name sub
151+15:27 tvar A
152+15:28 tight glyph )
153+15:30 glyph [
154+15:31 tight lit %watch
155+15:38 glyph (
156+15:39 tight name pure
157+15:44 name x
158+15:45 tight glyph )
159+15:46 tight glyph ]
160+16:1 NEWLINE
161+16:1 glyph ++
162+16:4 name pending
163+17:3 INDENT
164+17:3 glyph ~&
165+17:6 lit %orphan
166+18:5 INDENT
167+18:5 glyph ^-
168+18:8 glyph (
169+18:9 tight name sub
170+18:13 name msg
171+18:16 tight glyph )
172+18:18 glyph [
173+18:19 tight lit %watch
174+18:26 glyph (
175+18:27 tight name pure
176+18:32 lit %idle
177+18:37 tight glyph )
178+18:38 tight glyph ]
179+19:1 DEDENT
180+19:1 DEDENT
181+19:1 NEWLINE
182+19:1 glyph ++
183+19:4 name unknown
184+19:12 glyph |=
185+19:15 name x
186+19:16 tight glyph =
187+19:17 tight tvar A
188+19:19 glyph [
189+19:20 tight lit %watch
190+19:27 glyph (
191+19:28 tight name pure
192+19:33 name x
193+19:34 tight glyph )
194+19:35 tight glyph ]
195+20:1 NEWLINE
196+20:1 glyph ++
197+20:4 name unknown-target
198+20:19 glyph |=
199+20:22 name x
200+20:23 tight glyph =
201+20:24 tight tvar A
202+20:26 glyph ^-
203+20:29 tvar A
204+20:31 glyph [
205+20:32 tight lit %watch
206+20:39 glyph (
207+20:40 tight name pure
208+20:45 lit %idle
209+20:50 tight glyph )
210+20:51 tight glyph ]
211+20:52 NEWLINE
tests/golden/types-prelude-sub-nested/tree.txtnew file+100
@@ -0,0 +1,100 @@
1+(module
2+ (mold 1:1 msg
3+ (union 2:3 (const 2:3 %idle) (const 3:3 %busy)))
4+ (mold 4:1 other
5+ (union 5:3 (const 5:3 %idle) (const 6:3 %busy)))
6+ (value 7:1 direct
7+ (cast 7:11
8+ (apply 7:14 ask (ref 7:19 msg))
9+ (group 7:24
10+ (call 7:25 (wing 7:25 pure) (lit 7:30 %idle)))))
11+ (value 8:1 watch
12+ (cast 8:10
13+ (apply 8:13 sub (ref 8:18 msg))
14+ (tuple 8:23
15+ (lit 8:24 %watch)
16+ (group 8:31
17+ (call 8:32 (wing 8:32 pure) (lit 8:37 %idle))))))
18+ (value 9:1 watch-typed
19+ (cast 9:16
20+ (apply 9:19 sub (ref 9:24 msg))
21+ (tuple 9:29
22+ (lit 9:30 %watch)
23+ (group 9:37
24+ (call 9:38
25+ (wing 9:38 pure)
26+ (group 9:43
27+ (cast 9:44 (ref 9:47 msg) (lit 9:51 %idle))))))))
28+ (value 10:1 watch-cord
29+ (cast 10:15
30+ (apply 10:18 sub (aura 10:23 @t))
31+ (tuple 10:27
32+ (lit 10:28 %watch)
33+ (group 10:35
34+ (call 10:36 (wing 10:36 pure) (str 10:41 "hi"))))))
35+ (value 11:1 watch-ship
36+ (cast 11:15
37+ (apply 11:18 sub (aura 11:23 @p))
38+ (tuple 11:27
39+ (lit 11:28 %watch)
40+ (group 11:35
41+ (call 11:36 (wing 11:36 pure) (lit 11:41 ~zod))))))
42+ (value 12:1 wrong
43+ (cast 12:10
44+ (apply 12:13 sub (aura 12:18 @t))
45+ (tuple 12:22
46+ (lit 12:23 %watch)
47+ (group 12:30
48+ (call 12:31 (wing 12:31 pure) (lit 12:36 ~zod))))))
49+ (value 13:1 missing
50+ (cast 13:12
51+ (apply 13:15 sub (ref 13:20 msg))
52+ (tuple 13:25
53+ (lit 13:26 %watch)
54+ (group 13:33
55+ (call 13:34 (wing 13:34 pure) (lit 13:39 %missing))))))
56+ (value 14:1 alien
57+ (gate 14:10
58+ (face 14:13 x (ref 14:15 other))
59+ (cast 14:21
60+ (apply 14:24 sub (ref 14:29 msg))
61+ (tuple 14:34
62+ (lit 14:35 %watch)
63+ (group 14:42
64+ (call 14:43 (wing 14:43 pure) (wing 14:48 x)))))))
65+ (value 15:1 generic
66+ (gate 15:12
67+ (face 15:15 x (tvar 15:17 A))
68+ (cast 15:19
69+ (apply 15:22 sub (tvar 15:27 A))
70+ (tuple 15:30
71+ (lit 15:31 %watch)
72+ (group 15:38
73+ (call 15:39 (wing 15:39 pure) (wing 15:44 x)))))))
74+ (value 16:1 pending
75+ (body 17:3
76+ (trace 17:3
77+ (lit 17:6 %orphan)
78+ (body 18:5
79+ (cast 18:5
80+ (apply 18:8 sub (ref 18:13 msg))
81+ (tuple 18:18
82+ (lit 18:19 %watch)
83+ (group 18:26
84+ (call 18:27 (wing 18:27 pure) (lit 18:32 %idle)))))))))
85+ (value 19:1 unknown
86+ (gate 19:12
87+ (face 19:15 x (tvar 19:17 A))
88+ (tuple 19:19
89+ (lit 19:20 %watch)
90+ (group 19:27
91+ (call 19:28 (wing 19:28 pure) (wing 19:33 x))))))
92+ (value 20:1 unknown-target
93+ (gate 20:19
94+ (face 20:22 x (tvar 20:24 A))
95+ (cast 20:26
96+ (tvar 20:29 A)
97+ (tuple 20:31
98+ (lit 20:32 %watch)
99+ (group 20:39
100+ (call 20:40 (wing 20:40 pure) (lit 20:45 %idle))))))))
tests/golden/types-prelude-sub-nested/types.txtnew file+27
@@ -0,0 +1,27 @@
1+partial inference; module not checked
2++$ msg: cases proven disjoint; mold not checked
3++$ other: cases proven disjoint; mold not checked
4+++ direct: (ask msg)
5+++ watch: (sub msg)
6+++ watch-typed: (sub msg)
7+++ watch-cord: (sub @t)
8+++ watch-ship: (sub @p)
9+++ wrong: call's sample and argument types do not unify
10+/tests/golden/types-prelude-sub-nested/source.jibb:12:31: called gate
11+++ wrong ^- (sub @t) [%watch (pure ~zod)]
12+ ^
13+/tests/golden/types-prelude-sub-nested/source.jibb:12:36: argument has type @p
14+++ wrong ^- (sub @t) [%watch (pure ~zod)]
15+ ^
16+++ missing: msg has no case `%missing`
17+/tests/golden/types-prelude-sub-nested/source.jibb:13:34: expected union
18+++ missing ^- (sub msg) [%watch (pure %missing)]
19+ ^
20+/tests/golden/types-prelude-sub-nested/source.jibb:13:39: tag
21+++ missing ^- (sub msg) [%watch (pure %missing)]
22+ ^
23+++ alien: call constraint is not supported by partial inference
24+++ generic: $-(A (sub A))
25+++ pending: tag needs context in partial inference
26+++ unknown: tag needs context in partial inference
27+++ unknown-target: explicit capital constraints are not supported by partial inference
tests/golden/types-prelude-sub/types.txt+1−1
@@ -16,7 +16,7 @@ partial inference; module not checked
1616++ complete: union branch result matching needs unsupported inference
1717+$ my-msg: cases proven disjoint; mold not checked
1818++ take-watch: $-((sub my-msg) (ask my-msg))
19−++ watch-pure: cast constraint is not supported by partial inference
19+++ watch-pure: (sub my-msg)
2020++ watch-generic: $-((ask A) (sub A))
2121++ independent-text: $-((ask @t) (sub @t))
2222++ independent-ship: $-((ask @p) (sub @p))
tests/lib/jibb-nested-union-guards.hoonnew file+67
@@ -0,0 +1,67 @@
1+:: Nested tagged-case context requires a direct union and unique explicit case.
2+/+ jibb
3+|%
4+++ nested-union-base-errors
5+ ^- (list tape)
6+ =/ a=itype:jibb [%cell [%const [%term %tas %a '%a']] [%atom %t]]
7+ =/ b=itype:jibb [%cell [%const [%term %tas %b '%b']] [%atom %p]]
8+ =/ union=itype:jibb [%union ~[a b] ~ ~ ~]
9+ =/ variable=itype:jibb [%var 0]
10+ =/ bound=isub:jibb ~[[0 union]]
11+ =/ failures=(list tape) ~
12+ =? failures !(contextual-direct-union:jibb union)
13+ ["direct union not recognized" failures]
14+ =? failures !(contextual-direct-union:jibb [%face %item union])
15+ ["explicit faced union not recognized" failures]
16+ =? failures (contextual-direct-union:jibb variable)
17+ ["variable-bound root treated as direct union" failures]
18+ =/ tests=(list [label=@t target=itype:jibb tag=@ sub=isub:jibb expect=?])
19+ :~ ['unique tag' union %a ~ &]
20+ ['missing tag' union %missing ~ |]
21+ ['null-headed zero' [%union ~[[%cell [%const [%null %n 0 '~']] [%atom %t]] b] ~ ~ ~] 0 ~ &]
22+ ['loobean-headed zero' [%union ~[[%cell [%const [%loobean %f 0 '%.y']] [%atom %t]] b] ~ ~ ~] 0 ~ &]
23+ ['term-headed zero' [%union ~[[%cell [%const [%term %tas 0 '%$']] [%atom %t]] b] ~ ~ ~] 0 ~ &]
24+ ['equal zero heads' [%union ~[[%cell [%const [%null %n 0 '~']] [%atom %t]] [%cell [%const [%loobean %f 0 '%.y']] [%atom %p]]] ~ ~ ~] 0 ~ |]
25+ ['variable root' variable %a bound |]
26+ ['bare term competitor' [%union ~[a [%const [%term %tas %b '%b']]] ~ ~ ~] %a ~ |]
27+ ['null competitor' [%union ~[a [%const [%null %n 0 '~']]] ~ ~ ~] %a ~ |]
28+ ['variable competitor' [%union ~[a variable] ~ ~ ~] %a bound |]
29+ ['variable head' [%union ~[a [%cell variable [%atom %t]]] ~ ~ ~] %a bound |]
30+ ['duplicate tag' [%union ~[a a] ~ ~ ~] %a ~ |]
31+ ['duplicate other head' [%union ~[a b [%cell [%const [%term %tas %b '%b']] [%atom %t]]] ~ ~ ~] %a ~ |]
32+ ['faced competitor' [%union ~[a [%face %x b]] ~ ~ ~] %a ~ |]
33+ ==
34+ =/ errs=(list @t)
35+ %+ turn tests
36+ |= test=[label=@t target=itype:jibb tag=@ sub=isub:jibb expect=?]
37+ =/ found=(unit itype:jibb) (contextual-tagged-case:jibb target.test tag.test sub.test)
38+ ?: =(expect.test ?=(^ found)) ''
39+ (cat 3 label.test ': incorrect case selection')
40+ (weld (turn (skim errs |=(x=@t !=(x ''))) trip) failures)
41+++ nested-union-substitution-errors
42+ ^- (list tape)
43+ =/ tests=(list [name=@t sub=isub:jibb want=?])
44+ :~ ['empty' ~ &]
45+ ['atom' ~[[0 [%atom %t]]] &]
46+ ['variable chain to atom' ~[[0 [%var 1]] [1 [%atom %t]]] &]
47+ ['cell' ~[[0 [%cell [%atom %t] [%atom %p]]]] |]
48+ ['face' ~[[0 [%face %x [%atom %t]]]] |]
49+ ['gate' ~[[0 [%fn [%atom %t] [%atom %t]]]] |]
50+ ['union' ~[[0 [%union ~[[%const [%term %tas %x '%x']]] ~ ~ ~]]] |]
51+ ['collection' ~[[0 [%collection %list ~[[%atom %t]]]]] |]
52+ ['variable chain to union' ~[[0 [%var 1]] [1 [%union ~[[%const [%term %tas %x '%x']]] ~ ~ ~]]] |]
53+ ==
54+ =/ errors=(list @t)
55+ %+ turn tests
56+ |= test=[name=@t sub=isub:jibb want=?]
57+ ?: =(want.test (contextual-simple-sub:jibb sub.test)) ''
58+ (cat 3 name.test ': incorrect provenance')
59+ =/ errors (skim errors |=(x=@t !=(x '')))
60+ (turn errors trip)
61+++ nested-union-guard-errors
62+ ^- (list tape)
63+ (weld nested-union-base-errors nested-union-substitution-errors)
64+++ test-nested-union-guards
65+ ^- tang
66+ (turn nested-union-guard-errors |=(reason=tape leaf+reason))
67+--
tests/lib/jibb.hoon+831−807
@@ -1743,661 +1743,677 @@
17431743/* tok-493 %txt /tests/golden/types-nested-missing-tag/tokens/txt
17441744/* tre-493 %txt /tests/golden/types-nested-missing-tag/tree/txt
17451745/* typ-493 %txt /tests/golden/types-nested-missing-tag/types/txt
1746−/* src-494 %jibb /tests/golden/types-null-context/source/jibb
1747−/* tok-494 %txt /tests/golden/types-null-context/tokens/txt
1748−/* tre-494 %txt /tests/golden/types-null-context/tree/txt
1749−/* typ-494 %txt /tests/golden/types-null-context/types/txt
1750−/* src-495 %jibb /tests/golden/types-null-overlap/source/jibb
1751−/* tok-495 %txt /tests/golden/types-null-overlap/tokens/txt
1752−/* tre-495 %txt /tests/golden/types-null-overlap/tree/txt
1753−/* typ-495 %txt /tests/golden/types-null-overlap/types/txt
1754−/* src-496 %jibb /tests/golden/types-null-unresolved/source/jibb
1755−/* tok-496 %txt /tests/golden/types-null-unresolved/tokens/txt
1756−/* tre-496 %txt /tests/golden/types-null-unresolved/tree/txt
1757−/* typ-496 %txt /tests/golden/types-null-unresolved/types/txt
1758−/* src-497 %jibb /tests/golden/types-pair-context/source/jibb
1759−/* tok-497 %txt /tests/golden/types-pair-context/tokens/txt
1760−/* tre-497 %txt /tests/golden/types-pair-context/tree/txt
1761−/* typ-497 %txt /tests/golden/types-pair-context/types/txt
1762−/* src-498 %jibb /tests/golden/types-partial-apply/source/jibb
1763−/* tok-498 %txt /tests/golden/types-partial-apply/tokens/txt
1764−/* tre-498 %txt /tests/golden/types-partial-apply/tree/txt
1765−/* typ-498 %txt /tests/golden/types-partial-apply/types/txt
1766−/* src-499 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1767−/* tok-499 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1768−/* tre-499 %txt /tests/golden/types-partial-atom-alias/tree/txt
1769−/* typ-499 %txt /tests/golden/types-partial-atom-alias/types/txt
1770−/* src-500 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1771−/* tok-500 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1772−/* tre-500 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1773−/* typ-500 %txt /tests/golden/types-partial-atom-constraint/types/txt
1774−/* src-501 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1775−/* tok-501 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1776−/* tre-501 %txt /tests/golden/types-partial-atom-widening/tree/txt
1777−/* typ-501 %txt /tests/golden/types-partial-atom-widening/types/txt
1778−/* src-502 %jibb /tests/golden/types-partial-aura/source/jibb
1779−/* tok-502 %txt /tests/golden/types-partial-aura/tokens/txt
1780−/* tre-502 %txt /tests/golden/types-partial-aura/tree/txt
1781−/* typ-502 %txt /tests/golden/types-partial-aura/types/txt
1782−/* src-503 %jibb /tests/golden/types-partial-aura-family/source/jibb
1783−/* tok-503 %txt /tests/golden/types-partial-aura-family/tokens/txt
1784−/* tre-503 %txt /tests/golden/types-partial-aura-family/tree/txt
1785−/* typ-503 %txt /tests/golden/types-partial-aura-family/types/txt
1786−/* src-504 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1787−/* tok-504 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1788−/* tre-504 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1789−/* typ-504 %txt /tests/golden/types-partial-aura-generalization/types/txt
1790−/* src-505 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1791−/* tok-505 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1792−/* tre-505 %txt /tests/golden/types-partial-bare-atom/tree/txt
1793−/* typ-505 %txt /tests/golden/types-partial-bare-atom/types/txt
1794−/* src-506 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1795−/* tok-506 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1796−/* tre-506 %txt /tests/golden/types-partial-branch-widening/tree/txt
1797−/* typ-506 %txt /tests/golden/types-partial-branch-widening/types/txt
1798−/* src-507 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1799−/* tok-507 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1800−/* tre-507 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1801−/* typ-507 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1802−/* src-508 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1803−/* tok-508 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1804−/* tre-508 %txt /tests/golden/types-partial-decimal-default/tree/txt
1805−/* typ-508 %txt /tests/golden/types-partial-decimal-default/types/txt
1806−/* src-509 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1807−/* tok-509 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1808−/* tre-509 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1809−/* typ-509 %txt /tests/golden/types-partial-dependency-chain/types/txt
1810−/* src-510 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1811−/* tok-510 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1812−/* tre-510 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1813−/* typ-510 %txt /tests/golden/types-partial-explicit-capital/types/txt
1814−/* src-511 %jibb /tests/golden/types-partial-forward/source/jibb
1815−/* tok-511 %txt /tests/golden/types-partial-forward/tokens/txt
1816−/* tre-511 %txt /tests/golden/types-partial-forward/tree/txt
1817−/* typ-511 %txt /tests/golden/types-partial-forward/types/txt
1818−/* src-512 %jibb /tests/golden/types-partial-generalization/source/jibb
1819−/* tok-512 %txt /tests/golden/types-partial-generalization/tokens/txt
1820−/* tre-512 %txt /tests/golden/types-partial-generalization/tree/txt
1821−/* typ-512 %txt /tests/golden/types-partial-generalization/types/txt
1822−/* src-513 %jibb /tests/golden/types-partial-identity/source/jibb
1823−/* tok-513 %txt /tests/golden/types-partial-identity/tokens/txt
1824−/* tre-513 %txt /tests/golden/types-partial-identity/tree/txt
1825−/* typ-513 %txt /tests/golden/types-partial-identity/types/txt
1826−/* src-514 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1827−/* tok-514 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1828−/* tre-514 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1829−/* typ-514 %txt /tests/golden/types-partial-independent-atoms/types/txt
1830−/* src-515 %jibb /tests/golden/types-partial-local-molds/source/jibb
1831−/* tok-515 %txt /tests/golden/types-partial-local-molds/tokens/txt
1832−/* tre-515 %txt /tests/golden/types-partial-local-molds/tree/txt
1833−/* typ-515 %txt /tests/golden/types-partial-local-molds/types/txt
1834−/* src-516 %jibb /tests/golden/types-partial-locals/source/jibb
1835−/* tok-516 %txt /tests/golden/types-partial-locals/tokens/txt
1836−/* tre-516 %txt /tests/golden/types-partial-locals/tree/txt
1837−/* typ-516 %txt /tests/golden/types-partial-locals/types/txt
1838−/* src-517 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1839−/* tok-517 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1840−/* tre-517 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1841−/* typ-517 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1842−/* src-518 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1843−/* tok-518 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1844−/* tre-518 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1845−/* typ-518 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1846−/* src-519 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1847−/* tok-519 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1848−/* tre-519 %txt /tests/golden/types-partial-mold-composite/tree/txt
1849−/* typ-519 %txt /tests/golden/types-partial-mold-composite/types/txt
1850−/* src-520 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1851−/* tok-520 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1852−/* tre-520 %txt /tests/golden/types-partial-mold-forward/tree/txt
1853−/* typ-520 %txt /tests/golden/types-partial-mold-forward/types/txt
1854−/* src-521 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1855−/* tok-521 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1856−/* tre-521 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1857−/* typ-521 %txt /tests/golden/types-partial-mold-recursive/types/txt
1858−/* src-522 %jibb /tests/golden/types-partial-occurs/source/jibb
1859−/* tok-522 %txt /tests/golden/types-partial-occurs/tokens/txt
1860−/* tre-522 %txt /tests/golden/types-partial-occurs/tree/txt
1861−/* typ-522 %txt /tests/golden/types-partial-occurs/types/txt
1862−/* src-523 %jibb /tests/golden/types-partial-projection/source/jibb
1863−/* tok-523 %txt /tests/golden/types-partial-projection/tokens/txt
1864−/* tre-523 %txt /tests/golden/types-partial-projection/tree/txt
1865−/* typ-523 %txt /tests/golden/types-partial-projection/types/txt
1866−/* src-524 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1867−/* tok-524 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1868−/* tre-524 %txt /tests/golden/types-partial-shadow-global/tree/txt
1869−/* typ-524 %txt /tests/golden/types-partial-shadow-global/types/txt
1870−/* src-525 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1871−/* tok-525 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1872−/* tre-525 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1873−/* typ-525 %txt /tests/golden/types-partial-shared-tvar/types/txt
1874−/* src-526 %jibb /tests/golden/types-partial-union-cases/source/jibb
1875−/* tok-526 %txt /tests/golden/types-partial-union-cases/tokens/txt
1876−/* tre-526 %txt /tests/golden/types-partial-union-cases/tree/txt
1877−/* typ-526 %txt /tests/golden/types-partial-union-cases/types/txt
1878−/* src-527 %jibb /tests/golden/types-partial-union-edges/source/jibb
1879−/* tok-527 %txt /tests/golden/types-partial-union-edges/tokens/txt
1880−/* tre-527 %txt /tests/golden/types-partial-union-edges/tree/txt
1881−/* typ-527 %txt /tests/golden/types-partial-union-edges/types/txt
1882−/* src-528 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1883−/* tok-528 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1884−/* tre-528 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1885−/* typ-528 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1886−/* src-529 %jibb /tests/golden/types-positional-faces/source/jibb
1887−/* tok-529 %txt /tests/golden/types-positional-faces/tokens/txt
1888−/* tre-529 %txt /tests/golden/types-positional-faces/tree/txt
1889−/* typ-529 %txt /tests/golden/types-positional-faces/types/txt
1890−/* src-530 %jibb /tests/golden/types-prelude-arithmetic/source/jibb
1891−/* tok-530 %txt /tests/golden/types-prelude-arithmetic/tokens/txt
1892−/* tre-530 %txt /tests/golden/types-prelude-arithmetic/tree/txt
1893−/* typ-530 %txt /tests/golden/types-prelude-arithmetic/types/txt
1894−/* src-531 %jibb /tests/golden/types-prelude-ask/source/jibb
1895−/* tok-531 %txt /tests/golden/types-prelude-ask/tokens/txt
1896−/* tre-531 %txt /tests/golden/types-prelude-ask/tree/txt
1897−/* typ-531 %txt /tests/golden/types-prelude-ask/types/txt
1898−/* src-532 %jibb /tests/golden/types-prelude-bond/source/jibb
1899−/* tok-532 %txt /tests/golden/types-prelude-bond/tokens/txt
1900−/* tre-532 %txt /tests/golden/types-prelude-bond/tree/txt
1901−/* typ-532 %txt /tests/golden/types-prelude-bond/types/txt
1902−/* src-533 %jibb /tests/golden/types-prelude-cmd/source/jibb
1903−/* tok-533 %txt /tests/golden/types-prelude-cmd/tokens/txt
1904−/* tre-533 %txt /tests/golden/types-prelude-cmd/tree/txt
1905−/* typ-533 %txt /tests/golden/types-prelude-cmd/types/txt
1906−/* src-534 %jibb /tests/golden/types-prelude-direct/source/jibb
1907−/* tok-534 %txt /tests/golden/types-prelude-direct/tokens/txt
1908−/* tre-534 %txt /tests/golden/types-prelude-direct/tree/txt
1909−/* typ-534 %txt /tests/golden/types-prelude-direct/types/txt
1910−/* src-535 %jibb /tests/golden/types-prelude-functional/source/jibb
1911−/* tok-535 %txt /tests/golden/types-prelude-functional/tokens/txt
1912−/* tre-535 %txt /tests/golden/types-prelude-functional/tree/txt
1913−/* typ-535 %txt /tests/golden/types-prelude-functional/types/txt
1914−/* src-536 %jibb /tests/golden/types-prelude-generic-alias/source/jibb
1915−/* tok-536 %txt /tests/golden/types-prelude-generic-alias/tokens/txt
1916−/* tre-536 %txt /tests/golden/types-prelude-generic-alias/tree/txt
1917−/* mod-536-1 %jibb /tests/golden/types-prelude-generic-alias/modules/ui/alias-helper/jibb
1918−/* typ-536 %txt /tests/golden/types-prelude-generic-alias/types/txt
1919−/* mtre-536 %txt /tests/golden/types-prelude-generic-alias/module-trees/txt
1920−/* src-537 %jibb /tests/golden/types-prelude-interface/source/jibb
1921−/* tok-537 %txt /tests/golden/types-prelude-interface/tokens/txt
1922−/* tre-537 %txt /tests/golden/types-prelude-interface/tree/txt
1923−/* mod-537-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1924−/* mod-537-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1925−/* typ-537 %txt /tests/golden/types-prelude-interface/types/txt
1926−/* mtre-537 %txt /tests/golden/types-prelude-interface/module-trees/txt
1927−/* src-538 %jibb /tests/golden/types-prelude-like/source/jibb
1928−/* tok-538 %txt /tests/golden/types-prelude-like/tokens/txt
1929−/* tre-538 %txt /tests/golden/types-prelude-like/tree/txt
1930−/* typ-538 %txt /tests/golden/types-prelude-like/types/txt
1931−/* src-539 %jibb /tests/golden/types-prelude-list-alias/source/jibb
1932−/* tok-539 %txt /tests/golden/types-prelude-list-alias/tokens/txt
1933−/* tre-539 %txt /tests/golden/types-prelude-list-alias/tree/txt
1934−/* typ-539 %txt /tests/golden/types-prelude-list-alias/types/txt
1935−/* src-540 %jibb /tests/golden/types-prelude-list-functions/source/jibb
1936−/* tok-540 %txt /tests/golden/types-prelude-list-functions/tokens/txt
1937−/* tre-540 %txt /tests/golden/types-prelude-list-functions/tree/txt
1938−/* mod-540-1 %jibb /tests/golden/types-prelude-list-functions/modules/ui/lib/jibb
1939−/* typ-540 %txt /tests/golden/types-prelude-list-functions/types/txt
1940−/* mtre-540 %txt /tests/golden/types-prelude-list-functions/module-trees/txt
1941−/* src-541 %jibb /tests/golden/types-prelude-list-helpers/source/jibb
1942−/* tok-541 %txt /tests/golden/types-prelude-list-helpers/tokens/txt
1943−/* tre-541 %txt /tests/golden/types-prelude-list-helpers/tree/txt
1944−/* typ-541 %txt /tests/golden/types-prelude-list-helpers/types/txt
1945−/* src-542 %jibb /tests/golden/types-prelude-predicates/source/jibb
1946−/* tok-542 %txt /tests/golden/types-prelude-predicates/tokens/txt
1947−/* tre-542 %txt /tests/golden/types-prelude-predicates/tree/txt
1948−/* typ-542 %txt /tests/golden/types-prelude-predicates/types/txt
1949−/* src-543 %jibb /tests/golden/types-prelude-sub/source/jibb
1950−/* tok-543 %txt /tests/golden/types-prelude-sub/tokens/txt
1951−/* tre-543 %txt /tests/golden/types-prelude-sub/tree/txt
1952−/* typ-543 %txt /tests/golden/types-prelude-sub/types/txt
1953−/* src-544 %jibb /tests/golden/types-prelude-unit-helpers/source/jibb
1954−/* tok-544 %txt /tests/golden/types-prelude-unit-helpers/tokens/txt
1955−/* tre-544 %txt /tests/golden/types-prelude-unit-helpers/tree/txt
1956−/* typ-544 %txt /tests/golden/types-prelude-unit-helpers/types/txt
1957−/* src-545 %jibb /tests/golden/types-proj-explicit-context/source/jibb
1958−/* tok-545 %txt /tests/golden/types-proj-explicit-context/tokens/txt
1959−/* tre-545 %txt /tests/golden/types-proj-explicit-context/tree/txt
1960−/* typ-545 %txt /tests/golden/types-proj-explicit-context/types/txt
1961−/* src-546 %jibb /tests/golden/types-proj-nested-no-implicit/source/jibb
1962−/* tok-546 %txt /tests/golden/types-proj-nested-no-implicit/tokens/txt
1963−/* tre-546 %txt /tests/golden/types-proj-nested-no-implicit/tree/txt
1964−/* typ-546 %txt /tests/golden/types-proj-nested-no-implicit/types/txt
1965−/* src-547 %jibb /tests/golden/types-proj-reserved-imported-definition/source/jibb
1966−/* tok-547 %txt /tests/golden/types-proj-reserved-imported-definition/tokens/txt
1967−/* tre-547 %txt /tests/golden/types-proj-reserved-imported-definition/tree/txt
1968−/* mod-547-1 %jibb /tests/golden/types-proj-reserved-imported-definition/modules/ui/lib/jibb
1969−/* typ-547 %txt /tests/golden/types-proj-reserved-imported-definition/types/txt
1970−/* mtre-547 %txt /tests/golden/types-proj-reserved-imported-definition/module-trees/txt
1971−/* src-548 %jibb /tests/golden/types-proj-reserved-jibb-import/source/jibb
1972−/* tok-548 %txt /tests/golden/types-proj-reserved-jibb-import/tokens/txt
1973−/* tre-548 %txt /tests/golden/types-proj-reserved-jibb-import/tree/txt
1974−/* mod-548-1 %jibb /tests/golden/types-proj-reserved-jibb-import/modules/ui/lib/jibb
1975−/* typ-548 %txt /tests/golden/types-proj-reserved-jibb-import/types/txt
1976−/* mtre-548 %txt /tests/golden/types-proj-reserved-jibb-import/module-trees/txt
1977−/* src-549 %jibb /tests/golden/types-proj-reserved-local/source/jibb
1978−/* tok-549 %txt /tests/golden/types-proj-reserved-local/tokens/txt
1979−/* tre-549 %txt /tests/golden/types-proj-reserved-local/tree/txt
1980−/* typ-549 %txt /tests/golden/types-proj-reserved-local/types/txt
1981−/* src-550 %jibb /tests/golden/types-proj-reserved-local-mold/source/jibb
1982−/* tok-550 %txt /tests/golden/types-proj-reserved-local-mold/tokens/txt
1983−/* tre-550 %txt /tests/golden/types-proj-reserved-local-mold/tree/txt
1984−/* typ-550 %txt /tests/golden/types-proj-reserved-local-mold/types/txt
1985−/* src-551 %jibb /tests/golden/types-proj-reserved-mark-import/source/jibb
1986−/* tok-551 %txt /tests/golden/types-proj-reserved-mark-import/tokens/txt
1987−/* tre-551 %txt /tests/golden/types-proj-reserved-mark-import/tree/txt
1988−/* typ-551 %txt /tests/golden/types-proj-reserved-mark-import/types/txt
1989−/* src-552 %jibb /tests/golden/types-proj-reserved-mold/source/jibb
1990−/* tok-552 %txt /tests/golden/types-proj-reserved-mold/tokens/txt
1991−/* tre-552 %txt /tests/golden/types-proj-reserved-mold/tree/txt
1992−/* typ-552 %txt /tests/golden/types-proj-reserved-mold/types/txt
1993−/* src-553 %jibb /tests/golden/types-proj-reserved-pattern/source/jibb
1994−/* tok-553 %txt /tests/golden/types-proj-reserved-pattern/tokens/txt
1995−/* tre-553 %txt /tests/golden/types-proj-reserved-pattern/tree/txt
1996−/* typ-553 %txt /tests/golden/types-proj-reserved-pattern/types/txt
1997−/* src-554 %jibb /tests/golden/types-proj-reserved-positive/source/jibb
1998−/* tok-554 %txt /tests/golden/types-proj-reserved-positive/tokens/txt
1999−/* tre-554 %txt /tests/golden/types-proj-reserved-positive/tree/txt
2000−/* typ-554 %txt /tests/golden/types-proj-reserved-positive/types/txt
2001−/* src-555 %jibb /tests/golden/types-proj-reserved-sample/source/jibb
2002−/* tok-555 %txt /tests/golden/types-proj-reserved-sample/tokens/txt
2003−/* tre-555 %txt /tests/golden/types-proj-reserved-sample/tree/txt
2004−/* typ-555 %txt /tests/golden/types-proj-reserved-sample/types/txt
2005−/* src-556 %jibb /tests/golden/types-proj-reserved-sur-import/source/jibb
2006−/* tok-556 %txt /tests/golden/types-proj-reserved-sur-import/tokens/txt
2007−/* tre-556 %txt /tests/golden/types-proj-reserved-sur-import/tree/txt
2008−/* typ-556 %txt /tests/golden/types-proj-reserved-sur-import/types/txt
2009−/* src-557 %jibb /tests/golden/types-proj-reserved-unused-pattern/source/jibb
2010−/* tok-557 %txt /tests/golden/types-proj-reserved-unused-pattern/tokens/txt
2011−/* tre-557 %txt /tests/golden/types-proj-reserved-unused-pattern/tree/txt
2012−/* typ-557 %txt /tests/golden/types-proj-reserved-unused-pattern/types/txt
2013−/* src-558 %jibb /tests/golden/types-proj-reserved-unused-sample/source/jibb
2014−/* tok-558 %txt /tests/golden/types-proj-reserved-unused-sample/tokens/txt
2015−/* tre-558 %txt /tests/golden/types-proj-reserved-unused-sample/tree/txt
2016−/* typ-558 %txt /tests/golden/types-proj-reserved-unused-sample/types/txt
2017−/* src-559 %jibb /tests/golden/types-proj-reserved-unused-value/source/jibb
2018−/* tok-559 %txt /tests/golden/types-proj-reserved-unused-value/tokens/txt
2019−/* tre-559 %txt /tests/golden/types-proj-reserved-unused-value/tree/txt
2020−/* typ-559 %txt /tests/golden/types-proj-reserved-unused-value/types/txt
2021−/* src-560 %jibb /tests/golden/types-proj-reserved-value/source/jibb
2022−/* tok-560 %txt /tests/golden/types-proj-reserved-value/tokens/txt
2023−/* tre-560 %txt /tests/golden/types-proj-reserved-value/tree/txt
2024−/* typ-560 %txt /tests/golden/types-proj-reserved-value/types/txt
2025−/* src-561 %jibb /tests/golden/types-proj-single-duplicate/source/jibb
2026−/* tok-561 %txt /tests/golden/types-proj-single-duplicate/tokens/txt
2027−/* tre-561 %txt /tests/golden/types-proj-single-duplicate/tree/txt
2028−/* typ-561 %txt /tests/golden/types-proj-single-duplicate/types/txt
2029−/* src-562 %jibb /tests/golden/types-proj-single-field/source/jibb
2030−/* tok-562 %txt /tests/golden/types-proj-single-field/tokens/txt
2031−/* tre-562 %txt /tests/golden/types-proj-single-field/tree/txt
2032−/* typ-562 %txt /tests/golden/types-proj-single-field/types/txt
2033−/* src-563 %jibb /tests/golden/types-proj-single-sample-face/source/jibb
2034−/* tok-563 %txt /tests/golden/types-proj-single-sample-face/tokens/txt
2035−/* tre-563 %txt /tests/golden/types-proj-single-sample-face/tree/txt
2036−/* typ-563 %txt /tests/golden/types-proj-single-sample-face/types/txt
2037−/* src-564 %jibb /tests/golden/types-proj-single-wrapped/source/jibb
2038−/* tok-564 %txt /tests/golden/types-proj-single-wrapped/tokens/txt
2039−/* tre-564 %txt /tests/golden/types-proj-single-wrapped/tree/txt
2040−/* typ-564 %txt /tests/golden/types-proj-single-wrapped/types/txt
2041−/* src-565 %jibb /tests/golden/types-qath-faces/source/jibb
2042−/* tok-565 %txt /tests/golden/types-qath-faces/tokens/txt
2043−/* tre-565 %txt /tests/golden/types-qath-faces/tree/txt
2044−/* typ-565 %txt /tests/golden/types-qath-faces/types/txt
2045−/* src-566 %jibb /tests/golden/types-qath-holes/source/jibb
2046−/* tok-566 %txt /tests/golden/types-qath-holes/tokens/txt
2047−/* tre-566 %txt /tests/golden/types-qath-holes/tree/txt
2048−/* typ-566 %txt /tests/golden/types-qath-holes/types/txt
2049−/* src-567 %jibb /tests/golden/types-qath-module-identity/source/jibb
2050−/* tok-567 %txt /tests/golden/types-qath-module-identity/tokens/txt
2051−/* tre-567 %txt /tests/golden/types-qath-module-identity/tree/txt
2052−/* mod-567-1 %jibb /tests/golden/types-qath-module-identity/modules/ui/one/jibb
2053−/* mod-567-2 %jibb /tests/golden/types-qath-module-identity/modules/ui/two/jibb
2054−/* mod-567-3 %jibb /tests/golden/types-qath-module-identity/modules/ui/mid/jibb
2055−/* typ-567 %txt /tests/golden/types-qath-module-identity/types/txt
2056−/* mtre-567 %txt /tests/golden/types-qath-module-identity/module-trees/txt
2057−/* src-568 %jibb /tests/golden/types-qath-recursive/source/jibb
2058−/* tok-568 %txt /tests/golden/types-qath-recursive/tokens/txt
2059−/* tre-568 %txt /tests/golden/types-qath-recursive/tree/txt
2060−/* typ-568 %txt /tests/golden/types-qath-recursive/types/txt
2061−/* src-569 %jibb /tests/golden/types-record-bound-variable/source/jibb
2062−/* tok-569 %txt /tests/golden/types-record-bound-variable/tokens/txt
2063−/* tre-569 %txt /tests/golden/types-record-bound-variable/tree/txt
2064−/* typ-569 %txt /tests/golden/types-record-bound-variable/types/txt
2065−/* src-570 %jibb /tests/golden/types-record-cast-context/source/jibb
2066−/* tok-570 %txt /tests/golden/types-record-cast-context/tokens/txt
2067−/* tre-570 %txt /tests/golden/types-record-cast-context/tree/txt
2068−/* typ-570 %txt /tests/golden/types-record-cast-context/types/txt
2069−/* src-571 %jibb /tests/golden/types-record-change/source/jibb
2070−/* tok-571 %txt /tests/golden/types-record-change/tokens/txt
2071−/* tre-571 %txt /tests/golden/types-record-change/tree/txt
2072−/* typ-571 %txt /tests/golden/types-record-change/types/txt
2073−/* src-572 %jibb /tests/golden/types-record-change-generic/source/jibb
2074−/* tok-572 %txt /tests/golden/types-record-change-generic/tokens/txt
2075−/* tre-572 %txt /tests/golden/types-record-change-generic/tree/txt
2076−/* typ-572 %txt /tests/golden/types-record-change-generic/types/txt
2077−/* src-573 %jibb /tests/golden/types-record-faces/source/jibb
2078−/* tok-573 %txt /tests/golden/types-record-faces/tokens/txt
2079−/* tre-573 %txt /tests/golden/types-record-faces/tree/txt
2080−/* typ-573 %txt /tests/golden/types-record-faces/types/txt
2081−/* src-574 %jibb /tests/golden/types-record-field-edit-separate/source/jibb
2082−/* tok-574 %txt /tests/golden/types-record-field-edit-separate/tokens/txt
2083−/* tre-574 %txt /tests/golden/types-record-field-edit-separate/tree/txt
2084−/* typ-574 %txt /tests/golden/types-record-field-edit-separate/types/txt
2085−/* src-575 %jibb /tests/golden/types-record-field-expr-duplicate/source/jibb
2086−/* tok-575 %txt /tests/golden/types-record-field-expr-duplicate/tokens/txt
2087−/* tre-575 %txt /tests/golden/types-record-field-expr-duplicate/tree/txt
2088−/* typ-575 %txt /tests/golden/types-record-field-expr-duplicate/types/txt
2089−/* src-576 %jibb /tests/golden/types-record-field-expr-separate/source/jibb
2090−/* tok-576 %txt /tests/golden/types-record-field-expr-separate/tokens/txt
2091−/* tre-576 %txt /tests/golden/types-record-field-expr-separate/tree/txt
2092−/* typ-576 %txt /tests/golden/types-record-field-expr-separate/types/txt
2093−/* src-577 %jibb /tests/golden/types-record-field-module-reachable/source/jibb
2094−/* tok-577 %txt /tests/golden/types-record-field-module-reachable/tokens/txt
2095−/* tre-577 %txt /tests/golden/types-record-field-module-reachable/tree/txt
2096−/* mod-577-1 %jibb /tests/golden/types-record-field-module-reachable/modules/ui/lib/jibb
2097−/* typ-577 %txt /tests/golden/types-record-field-module-reachable/types/txt
2098−/* mtre-577 %txt /tests/golden/types-record-field-module-reachable/module-trees/txt
2099−/* src-578 %jibb /tests/golden/types-record-field-module-unused/source/jibb
2100−/* tok-578 %txt /tests/golden/types-record-field-module-unused/tokens/txt
2101−/* tre-578 %txt /tests/golden/types-record-field-module-unused/tree/txt
2102−/* mod-578-1 %jibb /tests/golden/types-record-field-module-unused/modules/ui/good/jibb
2103−/* mod-578-2 %jibb /tests/golden/types-record-field-module-unused/modules/ui/unused/jibb
2104−/* typ-578 %txt /tests/golden/types-record-field-module-unused/types/txt
2105−/* mtre-578 %txt /tests/golden/types-record-field-module-unused/module-trees/txt
2106−/* src-579 %jibb /tests/golden/types-record-field-nested-mold/source/jibb
2107−/* tok-579 %txt /tests/golden/types-record-field-nested-mold/tokens/txt
2108−/* tre-579 %txt /tests/golden/types-record-field-nested-mold/tree/txt
2109−/* typ-579 %txt /tests/golden/types-record-field-nested-mold/types/txt
2110−/* src-580 %jibb /tests/golden/types-record-field-outer-inner/source/jibb
2111−/* tok-580 %txt /tests/golden/types-record-field-outer-inner/tokens/txt
2112−/* tre-580 %txt /tests/golden/types-record-field-outer-inner/tree/txt
2113−/* typ-580 %txt /tests/golden/types-record-field-outer-inner/types/txt
2114−/* src-581 %jibb /tests/golden/types-record-field-sample-duplicate/source/jibb
2115−/* tok-581 %txt /tests/golden/types-record-field-sample-duplicate/tokens/txt
2116−/* tre-581 %txt /tests/golden/types-record-field-sample-duplicate/tree/txt
2117−/* typ-581 %txt /tests/golden/types-record-field-sample-duplicate/types/txt
2118−/* src-582 %jibb /tests/golden/types-record-field-separate-molds/source/jibb
2119−/* tok-582 %txt /tests/golden/types-record-field-separate-molds/tokens/txt
2120−/* tre-582 %txt /tests/golden/types-record-field-separate-molds/tree/txt
2121−/* typ-582 %txt /tests/golden/types-record-field-separate-molds/types/txt
2122−/* src-583 %jibb /tests/golden/types-record-field-unused-mold/source/jibb
2123−/* tok-583 %txt /tests/golden/types-record-field-unused-mold/tokens/txt
2124−/* tre-583 %txt /tests/golden/types-record-field-unused-mold/tree/txt
2125−/* typ-583 %txt /tests/golden/types-record-field-unused-mold/types/txt
2126−/* src-584 %jibb /tests/golden/types-record-import/source/jibb
2127−/* tok-584 %txt /tests/golden/types-record-import/tokens/txt
2128−/* tre-584 %txt /tests/golden/types-record-import/tree/txt
2129−/* mod-584-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
2130−/* typ-584 %txt /tests/golden/types-record-import/types/txt
2131−/* mtre-584 %txt /tests/golden/types-record-import/module-trees/txt
2132−/* src-585 %jibb /tests/golden/types-record-local-scheme/source/jibb
2133−/* tok-585 %txt /tests/golden/types-record-local-scheme/tokens/txt
2134−/* tre-585 %txt /tests/golden/types-record-local-scheme/tree/txt
2135−/* typ-585 %txt /tests/golden/types-record-local-scheme/types/txt
2136−/* src-586 %jibb /tests/golden/types-record-nested/source/jibb
2137−/* tok-586 %txt /tests/golden/types-record-nested/tokens/txt
2138−/* tre-586 %txt /tests/golden/types-record-nested/tree/txt
2139−/* typ-586 %txt /tests/golden/types-record-nested/types/txt
2140−/* src-587 %jibb /tests/golden/types-record-to-tuple/source/jibb
2141−/* tok-587 %txt /tests/golden/types-record-to-tuple/tokens/txt
2142−/* tre-587 %txt /tests/golden/types-record-to-tuple/tree/txt
2143−/* typ-587 %txt /tests/golden/types-record-to-tuple/types/txt
2144−/* src-588 %jibb /tests/golden/types-recursion-scc-failures/source/jibb
2145−/* tok-588 %txt /tests/golden/types-recursion-scc-failures/tokens/txt
2146−/* tre-588 %txt /tests/golden/types-recursion-scc-failures/tree/txt
2147−/* typ-588 %txt /tests/golden/types-recursion-scc-failures/types/txt
2148−/* src-589 %jibb /tests/golden/types-recursion-scc-groups/source/jibb
2149−/* tok-589 %txt /tests/golden/types-recursion-scc-groups/tokens/txt
2150−/* tre-589 %txt /tests/golden/types-recursion-scc-groups/tree/txt
2151−/* typ-589 %txt /tests/golden/types-recursion-scc-groups/types/txt
2152−/* src-590 %jibb /tests/golden/types-recursion-scc-import/source/jibb
2153−/* tok-590 %txt /tests/golden/types-recursion-scc-import/tokens/txt
2154−/* tre-590 %txt /tests/golden/types-recursion-scc-import/tree/txt
2155−/* mod-590-1 %jibb /tests/golden/types-recursion-scc-import/modules/ui/lib/jibb
2156−/* typ-590 %txt /tests/golden/types-recursion-scc-import/types/txt
2157−/* mtre-590 %txt /tests/golden/types-recursion-scc-import/module-trees/txt
2158−/* src-591 %jibb /tests/golden/types-recursion-scc-import-bad/source/jibb
2159−/* tok-591 %txt /tests/golden/types-recursion-scc-import-bad/tokens/txt
2160−/* tre-591 %txt /tests/golden/types-recursion-scc-import-bad/tree/txt
2161−/* mod-591-1 %jibb /tests/golden/types-recursion-scc-import-bad/modules/ui/lib/jibb
2162−/* typ-591 %txt /tests/golden/types-recursion-scc-import-bad/types/txt
2163−/* mtre-591 %txt /tests/golden/types-recursion-scc-import-bad/module-trees/txt
2164−/* src-592 %jibb /tests/golden/types-recursion-scc-local/source/jibb
2165−/* tok-592 %txt /tests/golden/types-recursion-scc-local/tokens/txt
2166−/* tre-592 %txt /tests/golden/types-recursion-scc-local/tree/txt
2167−/* typ-592 %txt /tests/golden/types-recursion-scc-local/types/txt
2168−/* src-593 %jibb /tests/golden/types-recursion-scc-order/source/jibb
2169−/* tok-593 %txt /tests/golden/types-recursion-scc-order/tokens/txt
2170−/* tre-593 %txt /tests/golden/types-recursion-scc-order/tree/txt
2171−/* typ-593 %txt /tests/golden/types-recursion-scc-order/types/txt
2172−/* src-594 %jibb /tests/golden/types-recursion-scc-shadow/source/jibb
2173−/* tok-594 %txt /tests/golden/types-recursion-scc-shadow/tokens/txt
2174−/* tre-594 %txt /tests/golden/types-recursion-scc-shadow/tree/txt
2175−/* typ-594 %txt /tests/golden/types-recursion-scc-shadow/types/txt
2176−/* src-595 %jibb /tests/golden/types-recursive-branch/source/jibb
2177−/* tok-595 %txt /tests/golden/types-recursive-branch/tokens/txt
2178−/* tre-595 %txt /tests/golden/types-recursive-branch/tree/txt
2179−/* typ-595 %txt /tests/golden/types-recursive-branch/types/txt
2180−/* src-596 %jibb /tests/golden/types-recursive-gate/source/jibb
2181−/* tok-596 %txt /tests/golden/types-recursive-gate/tokens/txt
2182−/* tre-596 %txt /tests/golden/types-recursive-gate/tree/txt
2183−/* typ-596 %txt /tests/golden/types-recursive-gate/types/txt
2184−/* src-597 %jibb /tests/golden/types-recursive-sample/source/jibb
2185−/* tok-597 %txt /tests/golden/types-recursive-sample/tokens/txt
2186−/* tre-597 %txt /tests/golden/types-recursive-sample/tree/txt
2187−/* typ-597 %txt /tests/golden/types-recursive-sample/types/txt
2188−/* src-598 %jibb /tests/golden/types-request-normal/source/jibb
2189−/* tok-598 %txt /tests/golden/types-request-normal/tokens/txt
2190−/* tre-598 %txt /tests/golden/types-request-normal/tree/txt
2191−/* mod-598-1 %jibb /tests/golden/types-request-normal/modules/ui/api/demo/jibb
2192−/* typ-598 %txt /tests/golden/types-request-normal/types/txt
2193−/* mark-598-1 %txt /tests/golden/types-request-normal/mar/full/txt
2194−/* mtre-598 %txt /tests/golden/types-request-normal/module-trees/txt
2195−/* src-599 %jibb /tests/golden/types-scope-library-poke/source/jibb
2196−/* tok-599 %txt /tests/golden/types-scope-library-poke/tokens/txt
2197−/* tre-599 %txt /tests/golden/types-scope-library-poke/tree/txt
2198−/* typ-599 %txt /tests/golden/types-scope-library-poke/types/txt
2199−/* src-600 %jibb /tests/golden/types-scope-root-api/source/jibb
2200−/* tok-600 %txt /tests/golden/types-scope-root-api/tokens/txt
2201−/* tre-600 %txt /tests/golden/types-scope-root-api/tree/txt
2202−/* typ-600 %txt /tests/golden/types-scope-root-api/types/txt
2203−/* src-601 %jibb /tests/golden/types-scope-store-duplicate/source/jibb
2204−/* tok-601 %txt /tests/golden/types-scope-store-duplicate/tokens/txt
2205−/* tre-601 %txt /tests/golden/types-scope-store-duplicate/tree/txt
2206−/* typ-601 %txt /tests/golden/types-scope-store-duplicate/types/txt
2207−/* src-602 %jibb /tests/golden/types-scope-store-shadow/source/jibb
2208−/* tok-602 %txt /tests/golden/types-scope-store-shadow/tokens/txt
2209−/* tre-602 %txt /tests/golden/types-scope-store-shadow/tree/txt
2210−/* typ-602 %txt /tests/golden/types-scope-store-shadow/types/txt
2211−/* src-603 %jibb /tests/golden/types-single-case-pattern/source/jibb
2212−/* tok-603 %txt /tests/golden/types-single-case-pattern/tokens/txt
2213−/* tre-603 %txt /tests/golden/types-single-case-pattern/tree/txt
2214−/* typ-603 %txt /tests/golden/types-single-case-pattern/types/txt
2215−/* src-604 %jibb /tests/golden/types-string-interpolation/source/jibb
2216−/* tok-604 %txt /tests/golden/types-string-interpolation/tokens/txt
2217−/* tre-604 %txt /tests/golden/types-string-interpolation/tree/txt
2218−/* typ-604 %txt /tests/golden/types-string-interpolation/types/txt
2219−/* src-605 %jibb /tests/golden/types-tuple-context/source/jibb
2220−/* tok-605 %txt /tests/golden/types-tuple-context/tokens/txt
2221−/* tre-605 %txt /tests/golden/types-tuple-context/tree/txt
2222−/* typ-605 %txt /tests/golden/types-tuple-context/types/txt
2223−/* src-606 %jibb /tests/golden/types-tuple-context-nested/source/jibb
2224−/* tok-606 %txt /tests/golden/types-tuple-context-nested/tokens/txt
2225−/* tre-606 %txt /tests/golden/types-tuple-context-nested/tree/txt
2226−/* typ-606 %txt /tests/golden/types-tuple-context-nested/types/txt
2227−/* src-607 %jibb /tests/golden/types-union-alias/source/jibb
2228−/* tok-607 %txt /tests/golden/types-union-alias/tokens/txt
2229−/* tre-607 %txt /tests/golden/types-union-alias/tree/txt
2230−/* typ-607 %txt /tests/golden/types-union-alias/types/txt
2231−/* src-608 %jibb /tests/golden/types-union-branch-context/source/jibb
2232−/* tok-608 %txt /tests/golden/types-union-branch-context/tokens/txt
2233−/* tre-608 %txt /tests/golden/types-union-branch-context/tree/txt
2234−/* typ-608 %txt /tests/golden/types-union-branch-context/types/txt
2235−/* src-609 %jibb /tests/golden/types-union-branch-pending/source/jibb
2236−/* tok-609 %txt /tests/golden/types-union-branch-pending/tokens/txt
2237−/* tre-609 %txt /tests/golden/types-union-branch-pending/tree/txt
2238−/* typ-609 %txt /tests/golden/types-union-branch-pending/types/txt
2239−/* src-610 %jibb /tests/golden/types-union-constructor-shape/source/jibb
2240−/* tok-610 %txt /tests/golden/types-union-constructor-shape/tokens/txt
2241−/* tre-610 %txt /tests/golden/types-union-constructor-shape/tree/txt
2242−/* typ-610 %txt /tests/golden/types-union-constructor-shape/types/txt
2243−/* src-611 %jibb /tests/golden/types-union-context-flow/source/jibb
2244−/* tok-611 %txt /tests/golden/types-union-context-flow/tokens/txt
2245−/* tre-611 %txt /tests/golden/types-union-context-flow/tree/txt
2246−/* typ-611 %txt /tests/golden/types-union-context-flow/types/txt
2247−/* src-612 %jibb /tests/golden/types-union-finite/source/jibb
2248−/* tok-612 %txt /tests/golden/types-union-finite/tokens/txt
2249−/* tre-612 %txt /tests/golden/types-union-finite/tree/txt
2250−/* typ-612 %txt /tests/golden/types-union-finite/types/txt
2251−/* src-613 %jibb /tests/golden/types-union-finite-context/source/jibb
2252−/* tok-613 %txt /tests/golden/types-union-finite-context/tokens/txt
2253−/* tre-613 %txt /tests/golden/types-union-finite-context/tree/txt
2254−/* typ-613 %txt /tests/golden/types-union-finite-context/types/txt
2255−/* src-614 %jibb /tests/golden/types-union-finite-generic/source/jibb
2256−/* tok-614 %txt /tests/golden/types-union-finite-generic/tokens/txt
2257−/* tre-614 %txt /tests/golden/types-union-finite-generic/tree/txt
2258−/* typ-614 %txt /tests/golden/types-union-finite-generic/types/txt
2259−/* src-615 %jibb /tests/golden/types-union-finite-limit/source/jibb
2260−/* tok-615 %txt /tests/golden/types-union-finite-limit/tokens/txt
2261−/* tre-615 %txt /tests/golden/types-union-finite-limit/tree/txt
2262−/* typ-615 %txt /tests/golden/types-union-finite-limit/types/txt
2263−/* src-616 %jibb /tests/golden/types-union-import/source/jibb
2264−/* tok-616 %txt /tests/golden/types-union-import/tokens/txt
2265−/* tre-616 %txt /tests/golden/types-union-import/tree/txt
2266−/* mod-616-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
2267−/* typ-616 %txt /tests/golden/types-union-import/types/txt
2268−/* mtre-616 %txt /tests/golden/types-union-import/module-trees/txt
2269−/* src-617 %jibb /tests/golden/types-union-local-pending/source/jibb
2270−/* tok-617 %txt /tests/golden/types-union-local-pending/tokens/txt
2271−/* tre-617 %txt /tests/golden/types-union-local-pending/tree/txt
2272−/* typ-617 %txt /tests/golden/types-union-local-pending/types/txt
2273−/* src-618 %jibb /tests/golden/types-union-nonwing-subject/source/jibb
2274−/* tok-618 %txt /tests/golden/types-union-nonwing-subject/tokens/txt
2275−/* tre-618 %txt /tests/golden/types-union-nonwing-subject/tree/txt
2276−/* typ-618 %txt /tests/golden/types-union-nonwing-subject/types/txt
2277−/* src-619 %jibb /tests/golden/types-union-overlap/source/jibb
2278−/* tok-619 %txt /tests/golden/types-union-overlap/tokens/txt
2279−/* tre-619 %txt /tests/golden/types-union-overlap/tree/txt
2280−/* typ-619 %txt /tests/golden/types-union-overlap/types/txt
2281−/* src-620 %jibb /tests/golden/types-union-overlap-nested/source/jibb
2282−/* tok-620 %txt /tests/golden/types-union-overlap-nested/tokens/txt
2283−/* tre-620 %txt /tests/golden/types-union-overlap-nested/tree/txt
2284−/* typ-620 %txt /tests/golden/types-union-overlap-nested/types/txt
2285−/* src-621 %jibb /tests/golden/types-union-pattern-result-context/source/jibb
2286−/* tok-621 %txt /tests/golden/types-union-pattern-result-context/tokens/txt
2287−/* tre-621 %txt /tests/golden/types-union-pattern-result-context/tree/txt
2288−/* typ-621 %txt /tests/golden/types-union-pattern-result-context/types/txt
2289−/* src-622 %jibb /tests/golden/types-union-pattern-result-controls/source/jibb
2290−/* tok-622 %txt /tests/golden/types-union-pattern-result-controls/tokens/txt
2291−/* tre-622 %txt /tests/golden/types-union-pattern-result-controls/tree/txt
2292−/* typ-622 %txt /tests/golden/types-union-pattern-result-controls/types/txt
2293−/* src-623 %jibb /tests/golden/types-union-patterns/source/jibb
2294−/* tok-623 %txt /tests/golden/types-union-patterns/tokens/txt
2295−/* tre-623 %txt /tests/golden/types-union-patterns/tree/txt
2296−/* typ-623 %txt /tests/golden/types-union-patterns/types/txt
2297−/* src-624 %jibb /tests/golden/types-union-patterns-generic/source/jibb
2298−/* tok-624 %txt /tests/golden/types-union-patterns-generic/tokens/txt
2299−/* tre-624 %txt /tests/golden/types-union-patterns-generic/tree/txt
2300−/* typ-624 %txt /tests/golden/types-union-patterns-generic/types/txt
2301−/* src-625 %jibb /tests/golden/types-union-patterns-import/source/jibb
2302−/* tok-625 %txt /tests/golden/types-union-patterns-import/tokens/txt
2303−/* tre-625 %txt /tests/golden/types-union-patterns-import/tree/txt
2304−/* mod-625-1 %jibb /tests/golden/types-union-patterns-import/modules/ui/lib/jibb
2305−/* typ-625 %txt /tests/golden/types-union-patterns-import/types/txt
2306−/* mtre-625 %txt /tests/golden/types-union-patterns-import/module-trees/txt
2307−/* src-626 %jibb /tests/golden/types-union-phantom-generic/source/jibb
2308−/* tok-626 %txt /tests/golden/types-union-phantom-generic/tokens/txt
2309−/* tre-626 %txt /tests/golden/types-union-phantom-generic/tree/txt
2310−/* typ-626 %txt /tests/golden/types-union-phantom-generic/types/txt
2311−/* src-627 %jibb /tests/golden/types-union-polymorphic-identity/source/jibb
2312−/* tok-627 %txt /tests/golden/types-union-polymorphic-identity/tokens/txt
2313−/* tre-627 %txt /tests/golden/types-union-polymorphic-identity/tree/txt
2314−/* mod-627-1 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/one/jibb
2315−/* mod-627-2 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/two/jibb
2316−/* typ-627 %txt /tests/golden/types-union-polymorphic-identity/types/txt
2317−/* mtre-627 %txt /tests/golden/types-union-polymorphic-identity/module-trees/txt
2318−/* src-628 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
2319−/* tok-628 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
2320−/* tre-628 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
2321−/* mod-628-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
2322−/* typ-628 %txt /tests/golden/types-union-print-cross-namespace/types/txt
2323−/* mtre-628 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
2324−/* src-629 %jibb /tests/golden/types-union-print-distinct/source/jibb
2325−/* tok-629 %txt /tests/golden/types-union-print-distinct/tokens/txt
2326−/* tre-629 %txt /tests/golden/types-union-print-distinct/tree/txt
2327−/* mod-629-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
2328−/* mod-629-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
2329−/* mod-629-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
2330−/* typ-629 %txt /tests/golden/types-union-print-distinct/types/txt
2331−/* mtre-629 %txt /tests/golden/types-union-print-distinct/module-trees/txt
2332−/* src-630 %jibb /tests/golden/types-union-print-escape/source/jibb
2333−/* tok-630 %txt /tests/golden/types-union-print-escape/tokens/txt
2334−/* tre-630 %txt /tests/golden/types-union-print-escape/tree/txt
2335−/* typ-630 %txt /tests/golden/types-union-print-escape/types/txt
2336−/* src-631 %jibb /tests/golden/types-union-print-local/source/jibb
2337−/* tok-631 %txt /tests/golden/types-union-print-local/tokens/txt
2338−/* tre-631 %txt /tests/golden/types-union-print-local/tree/txt
2339−/* typ-631 %txt /tests/golden/types-union-print-local/types/txt
2340−/* src-632 %jibb /tests/golden/types-union-print-nested/source/jibb
2341−/* tok-632 %txt /tests/golden/types-union-print-nested/tokens/txt
2342−/* tre-632 %txt /tests/golden/types-union-print-nested/tree/txt
2343−/* typ-632 %txt /tests/golden/types-union-print-nested/types/txt
2344−/* src-633 %jibb /tests/golden/types-union-print-same-origin/source/jibb
2345−/* tok-633 %txt /tests/golden/types-union-print-same-origin/tokens/txt
2346−/* tre-633 %txt /tests/golden/types-union-print-same-origin/tree/txt
2347−/* mod-633-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
2348−/* typ-633 %txt /tests/golden/types-union-print-same-origin/types/txt
2349−/* mtre-633 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
2350−/* src-634 %jibb /tests/golden/types-union-print-transitive/source/jibb
2351−/* tok-634 %txt /tests/golden/types-union-print-transitive/tokens/txt
2352−/* tre-634 %txt /tests/golden/types-union-print-transitive/tree/txt
2353−/* mod-634-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
2354−/* mod-634-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
2355−/* typ-634 %txt /tests/golden/types-union-print-transitive/types/txt
2356−/* mtre-634 %txt /tests/golden/types-union-print-transitive/module-trees/txt
2357−/* src-635 %jibb /tests/golden/types-union-singleton/source/jibb
2358−/* tok-635 %txt /tests/golden/types-union-singleton/tokens/txt
2359−/* tre-635 %txt /tests/golden/types-union-singleton/tree/txt
2360−/* typ-635 %txt /tests/golden/types-union-singleton/types/txt
2361−/* src-636 %jibb /tests/golden/types-union-tag-atoms/source/jibb
2362−/* tok-636 %txt /tests/golden/types-union-tag-atoms/tokens/txt
2363−/* tre-636 %txt /tests/golden/types-union-tag-atoms/tree/txt
2364−/* typ-636 %txt /tests/golden/types-union-tag-atoms/types/txt
2365−/* src-637 %jibb /tests/golden/types-union-tags/source/jibb
2366−/* tok-637 %txt /tests/golden/types-union-tags/tokens/txt
2367−/* tre-637 %txt /tests/golden/types-union-tags/tree/txt
2368−/* typ-637 %txt /tests/golden/types-union-tags/types/txt
2369−/* src-638 %jibb /tests/golden/types-union-unresolved/source/jibb
2370−/* tok-638 %txt /tests/golden/types-union-unresolved/tokens/txt
2371−/* tre-638 %txt /tests/golden/types-union-unresolved/tree/txt
2372−/* typ-638 %txt /tests/golden/types-union-unresolved/types/txt
2373−/* src-639 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
2374−/* tok-639 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
2375−/* tre-639 %txt /tests/golden/types-union-unresolved-flow/tree/txt
2376−/* typ-639 %txt /tests/golden/types-union-unresolved-flow/types/txt
2377−/* src-640 %jibb /tests/golden/types-unit-construction/source/jibb
2378−/* tok-640 %txt /tests/golden/types-unit-construction/tokens/txt
2379−/* tre-640 %txt /tests/golden/types-unit-construction/tree/txt
2380−/* typ-640 %txt /tests/golden/types-unit-construction/types/txt
2381−/* src-641 %jibb /tests/golden/types-unit-context/source/jibb
2382−/* tok-641 %txt /tests/golden/types-unit-context/tokens/txt
2383−/* tre-641 %txt /tests/golden/types-unit-context/tree/txt
2384−/* typ-641 %txt /tests/golden/types-unit-context/types/txt
2385−/* src-642 %jibb /tests/golden/types-unit-patterns/source/jibb
2386−/* tok-642 %txt /tests/golden/types-unit-patterns/tokens/txt
2387−/* tre-642 %txt /tests/golden/types-unit-patterns/tree/txt
2388−/* typ-642 %txt /tests/golden/types-unit-patterns/types/txt
2389−/* src-643 %jibb /tests/golden/types-value-cycle-shadow/source/jibb
2390−/* tok-643 %txt /tests/golden/types-value-cycle-shadow/tokens/txt
2391−/* tre-643 %txt /tests/golden/types-value-cycle-shadow/tree/txt
2392−/* typ-643 %txt /tests/golden/types-value-cycle-shadow/types/txt
2393−/* src-644 %jibb /tests/golden/types-value-cycle-unsupported/source/jibb
2394−/* tok-644 %txt /tests/golden/types-value-cycle-unsupported/tokens/txt
2395−/* tre-644 %txt /tests/golden/types-value-cycle-unsupported/tree/txt
2396−/* typ-644 %txt /tests/golden/types-value-cycle-unsupported/types/txt
2397−/* src-645 %jibb /tests/golden/types-value-cycles/source/jibb
2398−/* tok-645 %txt /tests/golden/types-value-cycles/tokens/txt
2399−/* tre-645 %txt /tests/golden/types-value-cycles/tree/txt
2400−/* typ-645 %txt /tests/golden/types-value-cycles/types/txt
1746+/* src-494 %jibb /tests/golden/types-nested-noun-context/source/jibb
1747+/* tok-494 %txt /tests/golden/types-nested-noun-context/tokens/txt
1748+/* tre-494 %txt /tests/golden/types-nested-noun-context/tree/txt
1749+/* typ-494 %txt /tests/golden/types-nested-noun-context/types/txt
1750+/* src-495 %jibb /tests/golden/types-nested-shallow-preserve/source/jibb
1751+/* tok-495 %txt /tests/golden/types-nested-shallow-preserve/tokens/txt
1752+/* tre-495 %txt /tests/golden/types-nested-shallow-preserve/tree/txt
1753+/* typ-495 %txt /tests/golden/types-nested-shallow-preserve/types/txt
1754+/* src-496 %jibb /tests/golden/types-nested-union-context/source/jibb
1755+/* tok-496 %txt /tests/golden/types-nested-union-context/tokens/txt
1756+/* tre-496 %txt /tests/golden/types-nested-union-context/tree/txt
1757+/* typ-496 %txt /tests/golden/types-nested-union-context/types/txt
1758+/* src-497 %jibb /tests/golden/types-null-context/source/jibb
1759+/* tok-497 %txt /tests/golden/types-null-context/tokens/txt
1760+/* tre-497 %txt /tests/golden/types-null-context/tree/txt
1761+/* typ-497 %txt /tests/golden/types-null-context/types/txt
1762+/* src-498 %jibb /tests/golden/types-null-overlap/source/jibb
1763+/* tok-498 %txt /tests/golden/types-null-overlap/tokens/txt
1764+/* tre-498 %txt /tests/golden/types-null-overlap/tree/txt
1765+/* typ-498 %txt /tests/golden/types-null-overlap/types/txt
1766+/* src-499 %jibb /tests/golden/types-null-unresolved/source/jibb
1767+/* tok-499 %txt /tests/golden/types-null-unresolved/tokens/txt
1768+/* tre-499 %txt /tests/golden/types-null-unresolved/tree/txt
1769+/* typ-499 %txt /tests/golden/types-null-unresolved/types/txt
1770+/* src-500 %jibb /tests/golden/types-pair-context/source/jibb
1771+/* tok-500 %txt /tests/golden/types-pair-context/tokens/txt
1772+/* tre-500 %txt /tests/golden/types-pair-context/tree/txt
1773+/* typ-500 %txt /tests/golden/types-pair-context/types/txt
1774+/* src-501 %jibb /tests/golden/types-partial-apply/source/jibb
1775+/* tok-501 %txt /tests/golden/types-partial-apply/tokens/txt
1776+/* tre-501 %txt /tests/golden/types-partial-apply/tree/txt
1777+/* typ-501 %txt /tests/golden/types-partial-apply/types/txt
1778+/* src-502 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1779+/* tok-502 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1780+/* tre-502 %txt /tests/golden/types-partial-atom-alias/tree/txt
1781+/* typ-502 %txt /tests/golden/types-partial-atom-alias/types/txt
1782+/* src-503 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1783+/* tok-503 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1784+/* tre-503 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1785+/* typ-503 %txt /tests/golden/types-partial-atom-constraint/types/txt
1786+/* src-504 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1787+/* tok-504 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1788+/* tre-504 %txt /tests/golden/types-partial-atom-widening/tree/txt
1789+/* typ-504 %txt /tests/golden/types-partial-atom-widening/types/txt
1790+/* src-505 %jibb /tests/golden/types-partial-aura/source/jibb
1791+/* tok-505 %txt /tests/golden/types-partial-aura/tokens/txt
1792+/* tre-505 %txt /tests/golden/types-partial-aura/tree/txt
1793+/* typ-505 %txt /tests/golden/types-partial-aura/types/txt
1794+/* src-506 %jibb /tests/golden/types-partial-aura-family/source/jibb
1795+/* tok-506 %txt /tests/golden/types-partial-aura-family/tokens/txt
1796+/* tre-506 %txt /tests/golden/types-partial-aura-family/tree/txt
1797+/* typ-506 %txt /tests/golden/types-partial-aura-family/types/txt
1798+/* src-507 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1799+/* tok-507 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1800+/* tre-507 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1801+/* typ-507 %txt /tests/golden/types-partial-aura-generalization/types/txt
1802+/* src-508 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1803+/* tok-508 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1804+/* tre-508 %txt /tests/golden/types-partial-bare-atom/tree/txt
1805+/* typ-508 %txt /tests/golden/types-partial-bare-atom/types/txt
1806+/* src-509 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1807+/* tok-509 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1808+/* tre-509 %txt /tests/golden/types-partial-branch-widening/tree/txt
1809+/* typ-509 %txt /tests/golden/types-partial-branch-widening/types/txt
1810+/* src-510 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1811+/* tok-510 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1812+/* tre-510 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1813+/* typ-510 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1814+/* src-511 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1815+/* tok-511 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1816+/* tre-511 %txt /tests/golden/types-partial-decimal-default/tree/txt
1817+/* typ-511 %txt /tests/golden/types-partial-decimal-default/types/txt
1818+/* src-512 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1819+/* tok-512 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1820+/* tre-512 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1821+/* typ-512 %txt /tests/golden/types-partial-dependency-chain/types/txt
1822+/* src-513 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1823+/* tok-513 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1824+/* tre-513 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1825+/* typ-513 %txt /tests/golden/types-partial-explicit-capital/types/txt
1826+/* src-514 %jibb /tests/golden/types-partial-forward/source/jibb
1827+/* tok-514 %txt /tests/golden/types-partial-forward/tokens/txt
1828+/* tre-514 %txt /tests/golden/types-partial-forward/tree/txt
1829+/* typ-514 %txt /tests/golden/types-partial-forward/types/txt
1830+/* src-515 %jibb /tests/golden/types-partial-generalization/source/jibb
1831+/* tok-515 %txt /tests/golden/types-partial-generalization/tokens/txt
1832+/* tre-515 %txt /tests/golden/types-partial-generalization/tree/txt
1833+/* typ-515 %txt /tests/golden/types-partial-generalization/types/txt
1834+/* src-516 %jibb /tests/golden/types-partial-identity/source/jibb
1835+/* tok-516 %txt /tests/golden/types-partial-identity/tokens/txt
1836+/* tre-516 %txt /tests/golden/types-partial-identity/tree/txt
1837+/* typ-516 %txt /tests/golden/types-partial-identity/types/txt
1838+/* src-517 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1839+/* tok-517 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1840+/* tre-517 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1841+/* typ-517 %txt /tests/golden/types-partial-independent-atoms/types/txt
1842+/* src-518 %jibb /tests/golden/types-partial-local-molds/source/jibb
1843+/* tok-518 %txt /tests/golden/types-partial-local-molds/tokens/txt
1844+/* tre-518 %txt /tests/golden/types-partial-local-molds/tree/txt
1845+/* typ-518 %txt /tests/golden/types-partial-local-molds/types/txt
1846+/* src-519 %jibb /tests/golden/types-partial-locals/source/jibb
1847+/* tok-519 %txt /tests/golden/types-partial-locals/tokens/txt
1848+/* tre-519 %txt /tests/golden/types-partial-locals/tree/txt
1849+/* typ-519 %txt /tests/golden/types-partial-locals/types/txt
1850+/* src-520 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1851+/* tok-520 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1852+/* tre-520 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1853+/* typ-520 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1854+/* src-521 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1855+/* tok-521 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1856+/* tre-521 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1857+/* typ-521 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1858+/* src-522 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1859+/* tok-522 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1860+/* tre-522 %txt /tests/golden/types-partial-mold-composite/tree/txt
1861+/* typ-522 %txt /tests/golden/types-partial-mold-composite/types/txt
1862+/* src-523 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1863+/* tok-523 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1864+/* tre-523 %txt /tests/golden/types-partial-mold-forward/tree/txt
1865+/* typ-523 %txt /tests/golden/types-partial-mold-forward/types/txt
1866+/* src-524 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1867+/* tok-524 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1868+/* tre-524 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1869+/* typ-524 %txt /tests/golden/types-partial-mold-recursive/types/txt
1870+/* src-525 %jibb /tests/golden/types-partial-occurs/source/jibb
1871+/* tok-525 %txt /tests/golden/types-partial-occurs/tokens/txt
1872+/* tre-525 %txt /tests/golden/types-partial-occurs/tree/txt
1873+/* typ-525 %txt /tests/golden/types-partial-occurs/types/txt
1874+/* src-526 %jibb /tests/golden/types-partial-projection/source/jibb
1875+/* tok-526 %txt /tests/golden/types-partial-projection/tokens/txt
1876+/* tre-526 %txt /tests/golden/types-partial-projection/tree/txt
1877+/* typ-526 %txt /tests/golden/types-partial-projection/types/txt
1878+/* src-527 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1879+/* tok-527 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1880+/* tre-527 %txt /tests/golden/types-partial-shadow-global/tree/txt
1881+/* typ-527 %txt /tests/golden/types-partial-shadow-global/types/txt
1882+/* src-528 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1883+/* tok-528 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1884+/* tre-528 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1885+/* typ-528 %txt /tests/golden/types-partial-shared-tvar/types/txt
1886+/* src-529 %jibb /tests/golden/types-partial-union-cases/source/jibb
1887+/* tok-529 %txt /tests/golden/types-partial-union-cases/tokens/txt
1888+/* tre-529 %txt /tests/golden/types-partial-union-cases/tree/txt
1889+/* typ-529 %txt /tests/golden/types-partial-union-cases/types/txt
1890+/* src-530 %jibb /tests/golden/types-partial-union-edges/source/jibb
1891+/* tok-530 %txt /tests/golden/types-partial-union-edges/tokens/txt
1892+/* tre-530 %txt /tests/golden/types-partial-union-edges/tree/txt
1893+/* typ-530 %txt /tests/golden/types-partial-union-edges/types/txt
1894+/* src-531 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1895+/* tok-531 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1896+/* tre-531 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1897+/* typ-531 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1898+/* src-532 %jibb /tests/golden/types-positional-faces/source/jibb
1899+/* tok-532 %txt /tests/golden/types-positional-faces/tokens/txt
1900+/* tre-532 %txt /tests/golden/types-positional-faces/tree/txt
1901+/* typ-532 %txt /tests/golden/types-positional-faces/types/txt
1902+/* src-533 %jibb /tests/golden/types-prelude-arithmetic/source/jibb
1903+/* tok-533 %txt /tests/golden/types-prelude-arithmetic/tokens/txt
1904+/* tre-533 %txt /tests/golden/types-prelude-arithmetic/tree/txt
1905+/* typ-533 %txt /tests/golden/types-prelude-arithmetic/types/txt
1906+/* src-534 %jibb /tests/golden/types-prelude-ask/source/jibb
1907+/* tok-534 %txt /tests/golden/types-prelude-ask/tokens/txt
1908+/* tre-534 %txt /tests/golden/types-prelude-ask/tree/txt
1909+/* typ-534 %txt /tests/golden/types-prelude-ask/types/txt
1910+/* src-535 %jibb /tests/golden/types-prelude-bond/source/jibb
1911+/* tok-535 %txt /tests/golden/types-prelude-bond/tokens/txt
1912+/* tre-535 %txt /tests/golden/types-prelude-bond/tree/txt
1913+/* typ-535 %txt /tests/golden/types-prelude-bond/types/txt
1914+/* src-536 %jibb /tests/golden/types-prelude-cmd/source/jibb
1915+/* tok-536 %txt /tests/golden/types-prelude-cmd/tokens/txt
1916+/* tre-536 %txt /tests/golden/types-prelude-cmd/tree/txt
1917+/* typ-536 %txt /tests/golden/types-prelude-cmd/types/txt
1918+/* src-537 %jibb /tests/golden/types-prelude-direct/source/jibb
1919+/* tok-537 %txt /tests/golden/types-prelude-direct/tokens/txt
1920+/* tre-537 %txt /tests/golden/types-prelude-direct/tree/txt
1921+/* typ-537 %txt /tests/golden/types-prelude-direct/types/txt
1922+/* src-538 %jibb /tests/golden/types-prelude-functional/source/jibb
1923+/* tok-538 %txt /tests/golden/types-prelude-functional/tokens/txt
1924+/* tre-538 %txt /tests/golden/types-prelude-functional/tree/txt
1925+/* typ-538 %txt /tests/golden/types-prelude-functional/types/txt
1926+/* src-539 %jibb /tests/golden/types-prelude-generic-alias/source/jibb
1927+/* tok-539 %txt /tests/golden/types-prelude-generic-alias/tokens/txt
1928+/* tre-539 %txt /tests/golden/types-prelude-generic-alias/tree/txt
1929+/* mod-539-1 %jibb /tests/golden/types-prelude-generic-alias/modules/ui/alias-helper/jibb
1930+/* typ-539 %txt /tests/golden/types-prelude-generic-alias/types/txt
1931+/* mtre-539 %txt /tests/golden/types-prelude-generic-alias/module-trees/txt
1932+/* src-540 %jibb /tests/golden/types-prelude-interface/source/jibb
1933+/* tok-540 %txt /tests/golden/types-prelude-interface/tokens/txt
1934+/* tre-540 %txt /tests/golden/types-prelude-interface/tree/txt
1935+/* mod-540-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1936+/* mod-540-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1937+/* typ-540 %txt /tests/golden/types-prelude-interface/types/txt
1938+/* mtre-540 %txt /tests/golden/types-prelude-interface/module-trees/txt
1939+/* src-541 %jibb /tests/golden/types-prelude-like/source/jibb
1940+/* tok-541 %txt /tests/golden/types-prelude-like/tokens/txt
1941+/* tre-541 %txt /tests/golden/types-prelude-like/tree/txt
1942+/* typ-541 %txt /tests/golden/types-prelude-like/types/txt
1943+/* src-542 %jibb /tests/golden/types-prelude-list-alias/source/jibb
1944+/* tok-542 %txt /tests/golden/types-prelude-list-alias/tokens/txt
1945+/* tre-542 %txt /tests/golden/types-prelude-list-alias/tree/txt
1946+/* typ-542 %txt /tests/golden/types-prelude-list-alias/types/txt
1947+/* src-543 %jibb /tests/golden/types-prelude-list-functions/source/jibb
1948+/* tok-543 %txt /tests/golden/types-prelude-list-functions/tokens/txt
1949+/* tre-543 %txt /tests/golden/types-prelude-list-functions/tree/txt
1950+/* mod-543-1 %jibb /tests/golden/types-prelude-list-functions/modules/ui/lib/jibb
1951+/* typ-543 %txt /tests/golden/types-prelude-list-functions/types/txt
1952+/* mtre-543 %txt /tests/golden/types-prelude-list-functions/module-trees/txt
1953+/* src-544 %jibb /tests/golden/types-prelude-list-helpers/source/jibb
1954+/* tok-544 %txt /tests/golden/types-prelude-list-helpers/tokens/txt
1955+/* tre-544 %txt /tests/golden/types-prelude-list-helpers/tree/txt
1956+/* typ-544 %txt /tests/golden/types-prelude-list-helpers/types/txt
1957+/* src-545 %jibb /tests/golden/types-prelude-predicates/source/jibb
1958+/* tok-545 %txt /tests/golden/types-prelude-predicates/tokens/txt
1959+/* tre-545 %txt /tests/golden/types-prelude-predicates/tree/txt
1960+/* typ-545 %txt /tests/golden/types-prelude-predicates/types/txt
1961+/* src-546 %jibb /tests/golden/types-prelude-sub/source/jibb
1962+/* tok-546 %txt /tests/golden/types-prelude-sub/tokens/txt
1963+/* tre-546 %txt /tests/golden/types-prelude-sub/tree/txt
1964+/* typ-546 %txt /tests/golden/types-prelude-sub/types/txt
1965+/* src-547 %jibb /tests/golden/types-prelude-sub-nested/source/jibb
1966+/* tok-547 %txt /tests/golden/types-prelude-sub-nested/tokens/txt
1967+/* tre-547 %txt /tests/golden/types-prelude-sub-nested/tree/txt
1968+/* typ-547 %txt /tests/golden/types-prelude-sub-nested/types/txt
1969+/* src-548 %jibb /tests/golden/types-prelude-unit-helpers/source/jibb
1970+/* tok-548 %txt /tests/golden/types-prelude-unit-helpers/tokens/txt
1971+/* tre-548 %txt /tests/golden/types-prelude-unit-helpers/tree/txt
1972+/* typ-548 %txt /tests/golden/types-prelude-unit-helpers/types/txt
1973+/* src-549 %jibb /tests/golden/types-proj-explicit-context/source/jibb
1974+/* tok-549 %txt /tests/golden/types-proj-explicit-context/tokens/txt
1975+/* tre-549 %txt /tests/golden/types-proj-explicit-context/tree/txt
1976+/* typ-549 %txt /tests/golden/types-proj-explicit-context/types/txt
1977+/* src-550 %jibb /tests/golden/types-proj-nested-no-implicit/source/jibb
1978+/* tok-550 %txt /tests/golden/types-proj-nested-no-implicit/tokens/txt
1979+/* tre-550 %txt /tests/golden/types-proj-nested-no-implicit/tree/txt
1980+/* typ-550 %txt /tests/golden/types-proj-nested-no-implicit/types/txt
1981+/* src-551 %jibb /tests/golden/types-proj-reserved-imported-definition/source/jibb
1982+/* tok-551 %txt /tests/golden/types-proj-reserved-imported-definition/tokens/txt
1983+/* tre-551 %txt /tests/golden/types-proj-reserved-imported-definition/tree/txt
1984+/* mod-551-1 %jibb /tests/golden/types-proj-reserved-imported-definition/modules/ui/lib/jibb
1985+/* typ-551 %txt /tests/golden/types-proj-reserved-imported-definition/types/txt
1986+/* mtre-551 %txt /tests/golden/types-proj-reserved-imported-definition/module-trees/txt
1987+/* src-552 %jibb /tests/golden/types-proj-reserved-jibb-import/source/jibb
1988+/* tok-552 %txt /tests/golden/types-proj-reserved-jibb-import/tokens/txt
1989+/* tre-552 %txt /tests/golden/types-proj-reserved-jibb-import/tree/txt
1990+/* mod-552-1 %jibb /tests/golden/types-proj-reserved-jibb-import/modules/ui/lib/jibb
1991+/* typ-552 %txt /tests/golden/types-proj-reserved-jibb-import/types/txt
1992+/* mtre-552 %txt /tests/golden/types-proj-reserved-jibb-import/module-trees/txt
1993+/* src-553 %jibb /tests/golden/types-proj-reserved-local/source/jibb
1994+/* tok-553 %txt /tests/golden/types-proj-reserved-local/tokens/txt
1995+/* tre-553 %txt /tests/golden/types-proj-reserved-local/tree/txt
1996+/* typ-553 %txt /tests/golden/types-proj-reserved-local/types/txt
1997+/* src-554 %jibb /tests/golden/types-proj-reserved-local-mold/source/jibb
1998+/* tok-554 %txt /tests/golden/types-proj-reserved-local-mold/tokens/txt
1999+/* tre-554 %txt /tests/golden/types-proj-reserved-local-mold/tree/txt
2000+/* typ-554 %txt /tests/golden/types-proj-reserved-local-mold/types/txt
2001+/* src-555 %jibb /tests/golden/types-proj-reserved-mark-import/source/jibb
2002+/* tok-555 %txt /tests/golden/types-proj-reserved-mark-import/tokens/txt
2003+/* tre-555 %txt /tests/golden/types-proj-reserved-mark-import/tree/txt
2004+/* typ-555 %txt /tests/golden/types-proj-reserved-mark-import/types/txt
2005+/* src-556 %jibb /tests/golden/types-proj-reserved-mold/source/jibb
2006+/* tok-556 %txt /tests/golden/types-proj-reserved-mold/tokens/txt
2007+/* tre-556 %txt /tests/golden/types-proj-reserved-mold/tree/txt
2008+/* typ-556 %txt /tests/golden/types-proj-reserved-mold/types/txt
2009+/* src-557 %jibb /tests/golden/types-proj-reserved-pattern/source/jibb
2010+/* tok-557 %txt /tests/golden/types-proj-reserved-pattern/tokens/txt
2011+/* tre-557 %txt /tests/golden/types-proj-reserved-pattern/tree/txt
2012+/* typ-557 %txt /tests/golden/types-proj-reserved-pattern/types/txt
2013+/* src-558 %jibb /tests/golden/types-proj-reserved-positive/source/jibb
2014+/* tok-558 %txt /tests/golden/types-proj-reserved-positive/tokens/txt
2015+/* tre-558 %txt /tests/golden/types-proj-reserved-positive/tree/txt
2016+/* typ-558 %txt /tests/golden/types-proj-reserved-positive/types/txt
2017+/* src-559 %jibb /tests/golden/types-proj-reserved-sample/source/jibb
2018+/* tok-559 %txt /tests/golden/types-proj-reserved-sample/tokens/txt
2019+/* tre-559 %txt /tests/golden/types-proj-reserved-sample/tree/txt
2020+/* typ-559 %txt /tests/golden/types-proj-reserved-sample/types/txt
2021+/* src-560 %jibb /tests/golden/types-proj-reserved-sur-import/source/jibb
2022+/* tok-560 %txt /tests/golden/types-proj-reserved-sur-import/tokens/txt
2023+/* tre-560 %txt /tests/golden/types-proj-reserved-sur-import/tree/txt
2024+/* typ-560 %txt /tests/golden/types-proj-reserved-sur-import/types/txt
2025+/* src-561 %jibb /tests/golden/types-proj-reserved-unused-pattern/source/jibb
2026+/* tok-561 %txt /tests/golden/types-proj-reserved-unused-pattern/tokens/txt
2027+/* tre-561 %txt /tests/golden/types-proj-reserved-unused-pattern/tree/txt
2028+/* typ-561 %txt /tests/golden/types-proj-reserved-unused-pattern/types/txt
2029+/* src-562 %jibb /tests/golden/types-proj-reserved-unused-sample/source/jibb
2030+/* tok-562 %txt /tests/golden/types-proj-reserved-unused-sample/tokens/txt
2031+/* tre-562 %txt /tests/golden/types-proj-reserved-unused-sample/tree/txt
2032+/* typ-562 %txt /tests/golden/types-proj-reserved-unused-sample/types/txt
2033+/* src-563 %jibb /tests/golden/types-proj-reserved-unused-value/source/jibb
2034+/* tok-563 %txt /tests/golden/types-proj-reserved-unused-value/tokens/txt
2035+/* tre-563 %txt /tests/golden/types-proj-reserved-unused-value/tree/txt
2036+/* typ-563 %txt /tests/golden/types-proj-reserved-unused-value/types/txt
2037+/* src-564 %jibb /tests/golden/types-proj-reserved-value/source/jibb
2038+/* tok-564 %txt /tests/golden/types-proj-reserved-value/tokens/txt
2039+/* tre-564 %txt /tests/golden/types-proj-reserved-value/tree/txt
2040+/* typ-564 %txt /tests/golden/types-proj-reserved-value/types/txt
2041+/* src-565 %jibb /tests/golden/types-proj-single-duplicate/source/jibb
2042+/* tok-565 %txt /tests/golden/types-proj-single-duplicate/tokens/txt
2043+/* tre-565 %txt /tests/golden/types-proj-single-duplicate/tree/txt
2044+/* typ-565 %txt /tests/golden/types-proj-single-duplicate/types/txt
2045+/* src-566 %jibb /tests/golden/types-proj-single-field/source/jibb
2046+/* tok-566 %txt /tests/golden/types-proj-single-field/tokens/txt
2047+/* tre-566 %txt /tests/golden/types-proj-single-field/tree/txt
2048+/* typ-566 %txt /tests/golden/types-proj-single-field/types/txt
2049+/* src-567 %jibb /tests/golden/types-proj-single-sample-face/source/jibb
2050+/* tok-567 %txt /tests/golden/types-proj-single-sample-face/tokens/txt
2051+/* tre-567 %txt /tests/golden/types-proj-single-sample-face/tree/txt
2052+/* typ-567 %txt /tests/golden/types-proj-single-sample-face/types/txt
2053+/* src-568 %jibb /tests/golden/types-proj-single-wrapped/source/jibb
2054+/* tok-568 %txt /tests/golden/types-proj-single-wrapped/tokens/txt
2055+/* tre-568 %txt /tests/golden/types-proj-single-wrapped/tree/txt
2056+/* typ-568 %txt /tests/golden/types-proj-single-wrapped/types/txt
2057+/* src-569 %jibb /tests/golden/types-qath-faces/source/jibb
2058+/* tok-569 %txt /tests/golden/types-qath-faces/tokens/txt
2059+/* tre-569 %txt /tests/golden/types-qath-faces/tree/txt
2060+/* typ-569 %txt /tests/golden/types-qath-faces/types/txt
2061+/* src-570 %jibb /tests/golden/types-qath-holes/source/jibb
2062+/* tok-570 %txt /tests/golden/types-qath-holes/tokens/txt
2063+/* tre-570 %txt /tests/golden/types-qath-holes/tree/txt
2064+/* typ-570 %txt /tests/golden/types-qath-holes/types/txt
2065+/* src-571 %jibb /tests/golden/types-qath-module-identity/source/jibb
2066+/* tok-571 %txt /tests/golden/types-qath-module-identity/tokens/txt
2067+/* tre-571 %txt /tests/golden/types-qath-module-identity/tree/txt
2068+/* mod-571-1 %jibb /tests/golden/types-qath-module-identity/modules/ui/one/jibb
2069+/* mod-571-2 %jibb /tests/golden/types-qath-module-identity/modules/ui/two/jibb
2070+/* mod-571-3 %jibb /tests/golden/types-qath-module-identity/modules/ui/mid/jibb
2071+/* typ-571 %txt /tests/golden/types-qath-module-identity/types/txt
2072+/* mtre-571 %txt /tests/golden/types-qath-module-identity/module-trees/txt
2073+/* src-572 %jibb /tests/golden/types-qath-recursive/source/jibb
2074+/* tok-572 %txt /tests/golden/types-qath-recursive/tokens/txt
2075+/* tre-572 %txt /tests/golden/types-qath-recursive/tree/txt
2076+/* typ-572 %txt /tests/golden/types-qath-recursive/types/txt
2077+/* src-573 %jibb /tests/golden/types-record-bound-variable/source/jibb
2078+/* tok-573 %txt /tests/golden/types-record-bound-variable/tokens/txt
2079+/* tre-573 %txt /tests/golden/types-record-bound-variable/tree/txt
2080+/* typ-573 %txt /tests/golden/types-record-bound-variable/types/txt
2081+/* src-574 %jibb /tests/golden/types-record-cast-context/source/jibb
2082+/* tok-574 %txt /tests/golden/types-record-cast-context/tokens/txt
2083+/* tre-574 %txt /tests/golden/types-record-cast-context/tree/txt
2084+/* typ-574 %txt /tests/golden/types-record-cast-context/types/txt
2085+/* src-575 %jibb /tests/golden/types-record-change/source/jibb
2086+/* tok-575 %txt /tests/golden/types-record-change/tokens/txt
2087+/* tre-575 %txt /tests/golden/types-record-change/tree/txt
2088+/* typ-575 %txt /tests/golden/types-record-change/types/txt
2089+/* src-576 %jibb /tests/golden/types-record-change-generic/source/jibb
2090+/* tok-576 %txt /tests/golden/types-record-change-generic/tokens/txt
2091+/* tre-576 %txt /tests/golden/types-record-change-generic/tree/txt
2092+/* typ-576 %txt /tests/golden/types-record-change-generic/types/txt
2093+/* src-577 %jibb /tests/golden/types-record-faces/source/jibb
2094+/* tok-577 %txt /tests/golden/types-record-faces/tokens/txt
2095+/* tre-577 %txt /tests/golden/types-record-faces/tree/txt
2096+/* typ-577 %txt /tests/golden/types-record-faces/types/txt
2097+/* src-578 %jibb /tests/golden/types-record-field-edit-separate/source/jibb
2098+/* tok-578 %txt /tests/golden/types-record-field-edit-separate/tokens/txt
2099+/* tre-578 %txt /tests/golden/types-record-field-edit-separate/tree/txt
2100+/* typ-578 %txt /tests/golden/types-record-field-edit-separate/types/txt
2101+/* src-579 %jibb /tests/golden/types-record-field-expr-duplicate/source/jibb
2102+/* tok-579 %txt /tests/golden/types-record-field-expr-duplicate/tokens/txt
2103+/* tre-579 %txt /tests/golden/types-record-field-expr-duplicate/tree/txt
2104+/* typ-579 %txt /tests/golden/types-record-field-expr-duplicate/types/txt
2105+/* src-580 %jibb /tests/golden/types-record-field-expr-separate/source/jibb
2106+/* tok-580 %txt /tests/golden/types-record-field-expr-separate/tokens/txt
2107+/* tre-580 %txt /tests/golden/types-record-field-expr-separate/tree/txt
2108+/* typ-580 %txt /tests/golden/types-record-field-expr-separate/types/txt
2109+/* src-581 %jibb /tests/golden/types-record-field-module-reachable/source/jibb
2110+/* tok-581 %txt /tests/golden/types-record-field-module-reachable/tokens/txt
2111+/* tre-581 %txt /tests/golden/types-record-field-module-reachable/tree/txt
2112+/* mod-581-1 %jibb /tests/golden/types-record-field-module-reachable/modules/ui/lib/jibb
2113+/* typ-581 %txt /tests/golden/types-record-field-module-reachable/types/txt
2114+/* mtre-581 %txt /tests/golden/types-record-field-module-reachable/module-trees/txt
2115+/* src-582 %jibb /tests/golden/types-record-field-module-unused/source/jibb
2116+/* tok-582 %txt /tests/golden/types-record-field-module-unused/tokens/txt
2117+/* tre-582 %txt /tests/golden/types-record-field-module-unused/tree/txt
2118+/* mod-582-1 %jibb /tests/golden/types-record-field-module-unused/modules/ui/good/jibb
2119+/* mod-582-2 %jibb /tests/golden/types-record-field-module-unused/modules/ui/unused/jibb
2120+/* typ-582 %txt /tests/golden/types-record-field-module-unused/types/txt
2121+/* mtre-582 %txt /tests/golden/types-record-field-module-unused/module-trees/txt
2122+/* src-583 %jibb /tests/golden/types-record-field-nested-mold/source/jibb
2123+/* tok-583 %txt /tests/golden/types-record-field-nested-mold/tokens/txt
2124+/* tre-583 %txt /tests/golden/types-record-field-nested-mold/tree/txt
2125+/* typ-583 %txt /tests/golden/types-record-field-nested-mold/types/txt
2126+/* src-584 %jibb /tests/golden/types-record-field-outer-inner/source/jibb
2127+/* tok-584 %txt /tests/golden/types-record-field-outer-inner/tokens/txt
2128+/* tre-584 %txt /tests/golden/types-record-field-outer-inner/tree/txt
2129+/* typ-584 %txt /tests/golden/types-record-field-outer-inner/types/txt
2130+/* src-585 %jibb /tests/golden/types-record-field-sample-duplicate/source/jibb
2131+/* tok-585 %txt /tests/golden/types-record-field-sample-duplicate/tokens/txt
2132+/* tre-585 %txt /tests/golden/types-record-field-sample-duplicate/tree/txt
2133+/* typ-585 %txt /tests/golden/types-record-field-sample-duplicate/types/txt
2134+/* src-586 %jibb /tests/golden/types-record-field-separate-molds/source/jibb
2135+/* tok-586 %txt /tests/golden/types-record-field-separate-molds/tokens/txt
2136+/* tre-586 %txt /tests/golden/types-record-field-separate-molds/tree/txt
2137+/* typ-586 %txt /tests/golden/types-record-field-separate-molds/types/txt
2138+/* src-587 %jibb /tests/golden/types-record-field-unused-mold/source/jibb
2139+/* tok-587 %txt /tests/golden/types-record-field-unused-mold/tokens/txt
2140+/* tre-587 %txt /tests/golden/types-record-field-unused-mold/tree/txt
2141+/* typ-587 %txt /tests/golden/types-record-field-unused-mold/types/txt
2142+/* src-588 %jibb /tests/golden/types-record-import/source/jibb
2143+/* tok-588 %txt /tests/golden/types-record-import/tokens/txt
2144+/* tre-588 %txt /tests/golden/types-record-import/tree/txt
2145+/* mod-588-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
2146+/* typ-588 %txt /tests/golden/types-record-import/types/txt
2147+/* mtre-588 %txt /tests/golden/types-record-import/module-trees/txt
2148+/* src-589 %jibb /tests/golden/types-record-local-scheme/source/jibb
2149+/* tok-589 %txt /tests/golden/types-record-local-scheme/tokens/txt
2150+/* tre-589 %txt /tests/golden/types-record-local-scheme/tree/txt
2151+/* typ-589 %txt /tests/golden/types-record-local-scheme/types/txt
2152+/* src-590 %jibb /tests/golden/types-record-nested/source/jibb
2153+/* tok-590 %txt /tests/golden/types-record-nested/tokens/txt
2154+/* tre-590 %txt /tests/golden/types-record-nested/tree/txt
2155+/* typ-590 %txt /tests/golden/types-record-nested/types/txt
2156+/* src-591 %jibb /tests/golden/types-record-to-tuple/source/jibb
2157+/* tok-591 %txt /tests/golden/types-record-to-tuple/tokens/txt
2158+/* tre-591 %txt /tests/golden/types-record-to-tuple/tree/txt
2159+/* typ-591 %txt /tests/golden/types-record-to-tuple/types/txt
2160+/* src-592 %jibb /tests/golden/types-recursion-scc-failures/source/jibb
2161+/* tok-592 %txt /tests/golden/types-recursion-scc-failures/tokens/txt
2162+/* tre-592 %txt /tests/golden/types-recursion-scc-failures/tree/txt
2163+/* typ-592 %txt /tests/golden/types-recursion-scc-failures/types/txt
2164+/* src-593 %jibb /tests/golden/types-recursion-scc-groups/source/jibb
2165+/* tok-593 %txt /tests/golden/types-recursion-scc-groups/tokens/txt
2166+/* tre-593 %txt /tests/golden/types-recursion-scc-groups/tree/txt
2167+/* typ-593 %txt /tests/golden/types-recursion-scc-groups/types/txt
2168+/* src-594 %jibb /tests/golden/types-recursion-scc-import/source/jibb
2169+/* tok-594 %txt /tests/golden/types-recursion-scc-import/tokens/txt
2170+/* tre-594 %txt /tests/golden/types-recursion-scc-import/tree/txt
2171+/* mod-594-1 %jibb /tests/golden/types-recursion-scc-import/modules/ui/lib/jibb
2172+/* typ-594 %txt /tests/golden/types-recursion-scc-import/types/txt
2173+/* mtre-594 %txt /tests/golden/types-recursion-scc-import/module-trees/txt
2174+/* src-595 %jibb /tests/golden/types-recursion-scc-import-bad/source/jibb
2175+/* tok-595 %txt /tests/golden/types-recursion-scc-import-bad/tokens/txt
2176+/* tre-595 %txt /tests/golden/types-recursion-scc-import-bad/tree/txt
2177+/* mod-595-1 %jibb /tests/golden/types-recursion-scc-import-bad/modules/ui/lib/jibb
2178+/* typ-595 %txt /tests/golden/types-recursion-scc-import-bad/types/txt
2179+/* mtre-595 %txt /tests/golden/types-recursion-scc-import-bad/module-trees/txt
2180+/* src-596 %jibb /tests/golden/types-recursion-scc-local/source/jibb
2181+/* tok-596 %txt /tests/golden/types-recursion-scc-local/tokens/txt
2182+/* tre-596 %txt /tests/golden/types-recursion-scc-local/tree/txt
2183+/* typ-596 %txt /tests/golden/types-recursion-scc-local/types/txt
2184+/* src-597 %jibb /tests/golden/types-recursion-scc-order/source/jibb
2185+/* tok-597 %txt /tests/golden/types-recursion-scc-order/tokens/txt
2186+/* tre-597 %txt /tests/golden/types-recursion-scc-order/tree/txt
2187+/* typ-597 %txt /tests/golden/types-recursion-scc-order/types/txt
2188+/* src-598 %jibb /tests/golden/types-recursion-scc-shadow/source/jibb
2189+/* tok-598 %txt /tests/golden/types-recursion-scc-shadow/tokens/txt
2190+/* tre-598 %txt /tests/golden/types-recursion-scc-shadow/tree/txt
2191+/* typ-598 %txt /tests/golden/types-recursion-scc-shadow/types/txt
2192+/* src-599 %jibb /tests/golden/types-recursive-branch/source/jibb
2193+/* tok-599 %txt /tests/golden/types-recursive-branch/tokens/txt
2194+/* tre-599 %txt /tests/golden/types-recursive-branch/tree/txt
2195+/* typ-599 %txt /tests/golden/types-recursive-branch/types/txt
2196+/* src-600 %jibb /tests/golden/types-recursive-gate/source/jibb
2197+/* tok-600 %txt /tests/golden/types-recursive-gate/tokens/txt
2198+/* tre-600 %txt /tests/golden/types-recursive-gate/tree/txt
2199+/* typ-600 %txt /tests/golden/types-recursive-gate/types/txt
2200+/* src-601 %jibb /tests/golden/types-recursive-sample/source/jibb
2201+/* tok-601 %txt /tests/golden/types-recursive-sample/tokens/txt
2202+/* tre-601 %txt /tests/golden/types-recursive-sample/tree/txt
2203+/* typ-601 %txt /tests/golden/types-recursive-sample/types/txt
2204+/* src-602 %jibb /tests/golden/types-request-normal/source/jibb
2205+/* tok-602 %txt /tests/golden/types-request-normal/tokens/txt
2206+/* tre-602 %txt /tests/golden/types-request-normal/tree/txt
2207+/* mod-602-1 %jibb /tests/golden/types-request-normal/modules/ui/api/demo/jibb
2208+/* typ-602 %txt /tests/golden/types-request-normal/types/txt
2209+/* mark-602-1 %txt /tests/golden/types-request-normal/mar/full/txt
2210+/* mtre-602 %txt /tests/golden/types-request-normal/module-trees/txt
2211+/* src-603 %jibb /tests/golden/types-scope-library-poke/source/jibb
2212+/* tok-603 %txt /tests/golden/types-scope-library-poke/tokens/txt
2213+/* tre-603 %txt /tests/golden/types-scope-library-poke/tree/txt
2214+/* typ-603 %txt /tests/golden/types-scope-library-poke/types/txt
2215+/* src-604 %jibb /tests/golden/types-scope-root-api/source/jibb
2216+/* tok-604 %txt /tests/golden/types-scope-root-api/tokens/txt
2217+/* tre-604 %txt /tests/golden/types-scope-root-api/tree/txt
2218+/* typ-604 %txt /tests/golden/types-scope-root-api/types/txt
2219+/* src-605 %jibb /tests/golden/types-scope-store-duplicate/source/jibb
2220+/* tok-605 %txt /tests/golden/types-scope-store-duplicate/tokens/txt
2221+/* tre-605 %txt /tests/golden/types-scope-store-duplicate/tree/txt
2222+/* typ-605 %txt /tests/golden/types-scope-store-duplicate/types/txt
2223+/* src-606 %jibb /tests/golden/types-scope-store-shadow/source/jibb
2224+/* tok-606 %txt /tests/golden/types-scope-store-shadow/tokens/txt
2225+/* tre-606 %txt /tests/golden/types-scope-store-shadow/tree/txt
2226+/* typ-606 %txt /tests/golden/types-scope-store-shadow/types/txt
2227+/* src-607 %jibb /tests/golden/types-single-case-pattern/source/jibb
2228+/* tok-607 %txt /tests/golden/types-single-case-pattern/tokens/txt
2229+/* tre-607 %txt /tests/golden/types-single-case-pattern/tree/txt
2230+/* typ-607 %txt /tests/golden/types-single-case-pattern/types/txt
2231+/* src-608 %jibb /tests/golden/types-string-interpolation/source/jibb
2232+/* tok-608 %txt /tests/golden/types-string-interpolation/tokens/txt
2233+/* tre-608 %txt /tests/golden/types-string-interpolation/tree/txt
2234+/* typ-608 %txt /tests/golden/types-string-interpolation/types/txt
2235+/* src-609 %jibb /tests/golden/types-tuple-context/source/jibb
2236+/* tok-609 %txt /tests/golden/types-tuple-context/tokens/txt
2237+/* tre-609 %txt /tests/golden/types-tuple-context/tree/txt
2238+/* typ-609 %txt /tests/golden/types-tuple-context/types/txt
2239+/* src-610 %jibb /tests/golden/types-tuple-context-nested/source/jibb
2240+/* tok-610 %txt /tests/golden/types-tuple-context-nested/tokens/txt
2241+/* tre-610 %txt /tests/golden/types-tuple-context-nested/tree/txt
2242+/* typ-610 %txt /tests/golden/types-tuple-context-nested/types/txt
2243+/* src-611 %jibb /tests/golden/types-union-alias/source/jibb
2244+/* tok-611 %txt /tests/golden/types-union-alias/tokens/txt
2245+/* tre-611 %txt /tests/golden/types-union-alias/tree/txt
2246+/* typ-611 %txt /tests/golden/types-union-alias/types/txt
2247+/* src-612 %jibb /tests/golden/types-union-branch-context/source/jibb
2248+/* tok-612 %txt /tests/golden/types-union-branch-context/tokens/txt
2249+/* tre-612 %txt /tests/golden/types-union-branch-context/tree/txt
2250+/* typ-612 %txt /tests/golden/types-union-branch-context/types/txt
2251+/* src-613 %jibb /tests/golden/types-union-branch-pending/source/jibb
2252+/* tok-613 %txt /tests/golden/types-union-branch-pending/tokens/txt
2253+/* tre-613 %txt /tests/golden/types-union-branch-pending/tree/txt
2254+/* typ-613 %txt /tests/golden/types-union-branch-pending/types/txt
2255+/* src-614 %jibb /tests/golden/types-union-constructor-shape/source/jibb
2256+/* tok-614 %txt /tests/golden/types-union-constructor-shape/tokens/txt
2257+/* tre-614 %txt /tests/golden/types-union-constructor-shape/tree/txt
2258+/* typ-614 %txt /tests/golden/types-union-constructor-shape/types/txt
2259+/* src-615 %jibb /tests/golden/types-union-context-flow/source/jibb
2260+/* tok-615 %txt /tests/golden/types-union-context-flow/tokens/txt
2261+/* tre-615 %txt /tests/golden/types-union-context-flow/tree/txt
2262+/* typ-615 %txt /tests/golden/types-union-context-flow/types/txt
2263+/* src-616 %jibb /tests/golden/types-union-finite/source/jibb
2264+/* tok-616 %txt /tests/golden/types-union-finite/tokens/txt
2265+/* tre-616 %txt /tests/golden/types-union-finite/tree/txt
2266+/* typ-616 %txt /tests/golden/types-union-finite/types/txt
2267+/* src-617 %jibb /tests/golden/types-union-finite-context/source/jibb
2268+/* tok-617 %txt /tests/golden/types-union-finite-context/tokens/txt
2269+/* tre-617 %txt /tests/golden/types-union-finite-context/tree/txt
2270+/* typ-617 %txt /tests/golden/types-union-finite-context/types/txt
2271+/* src-618 %jibb /tests/golden/types-union-finite-generic/source/jibb
2272+/* tok-618 %txt /tests/golden/types-union-finite-generic/tokens/txt
2273+/* tre-618 %txt /tests/golden/types-union-finite-generic/tree/txt
2274+/* typ-618 %txt /tests/golden/types-union-finite-generic/types/txt
2275+/* src-619 %jibb /tests/golden/types-union-finite-limit/source/jibb
2276+/* tok-619 %txt /tests/golden/types-union-finite-limit/tokens/txt
2277+/* tre-619 %txt /tests/golden/types-union-finite-limit/tree/txt
2278+/* typ-619 %txt /tests/golden/types-union-finite-limit/types/txt
2279+/* src-620 %jibb /tests/golden/types-union-import/source/jibb
2280+/* tok-620 %txt /tests/golden/types-union-import/tokens/txt
2281+/* tre-620 %txt /tests/golden/types-union-import/tree/txt
2282+/* mod-620-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
2283+/* typ-620 %txt /tests/golden/types-union-import/types/txt
2284+/* mtre-620 %txt /tests/golden/types-union-import/module-trees/txt
2285+/* src-621 %jibb /tests/golden/types-union-local-pending/source/jibb
2286+/* tok-621 %txt /tests/golden/types-union-local-pending/tokens/txt
2287+/* tre-621 %txt /tests/golden/types-union-local-pending/tree/txt
2288+/* typ-621 %txt /tests/golden/types-union-local-pending/types/txt
2289+/* src-622 %jibb /tests/golden/types-union-nonwing-subject/source/jibb
2290+/* tok-622 %txt /tests/golden/types-union-nonwing-subject/tokens/txt
2291+/* tre-622 %txt /tests/golden/types-union-nonwing-subject/tree/txt
2292+/* typ-622 %txt /tests/golden/types-union-nonwing-subject/types/txt
2293+/* src-623 %jibb /tests/golden/types-union-overlap/source/jibb
2294+/* tok-623 %txt /tests/golden/types-union-overlap/tokens/txt
2295+/* tre-623 %txt /tests/golden/types-union-overlap/tree/txt
2296+/* typ-623 %txt /tests/golden/types-union-overlap/types/txt
2297+/* src-624 %jibb /tests/golden/types-union-overlap-nested/source/jibb
2298+/* tok-624 %txt /tests/golden/types-union-overlap-nested/tokens/txt
2299+/* tre-624 %txt /tests/golden/types-union-overlap-nested/tree/txt
2300+/* typ-624 %txt /tests/golden/types-union-overlap-nested/types/txt
2301+/* src-625 %jibb /tests/golden/types-union-pattern-result-context/source/jibb
2302+/* tok-625 %txt /tests/golden/types-union-pattern-result-context/tokens/txt
2303+/* tre-625 %txt /tests/golden/types-union-pattern-result-context/tree/txt
2304+/* typ-625 %txt /tests/golden/types-union-pattern-result-context/types/txt
2305+/* src-626 %jibb /tests/golden/types-union-pattern-result-controls/source/jibb
2306+/* tok-626 %txt /tests/golden/types-union-pattern-result-controls/tokens/txt
2307+/* tre-626 %txt /tests/golden/types-union-pattern-result-controls/tree/txt
2308+/* typ-626 %txt /tests/golden/types-union-pattern-result-controls/types/txt
2309+/* src-627 %jibb /tests/golden/types-union-patterns/source/jibb
2310+/* tok-627 %txt /tests/golden/types-union-patterns/tokens/txt
2311+/* tre-627 %txt /tests/golden/types-union-patterns/tree/txt
2312+/* typ-627 %txt /tests/golden/types-union-patterns/types/txt
2313+/* src-628 %jibb /tests/golden/types-union-patterns-generic/source/jibb
2314+/* tok-628 %txt /tests/golden/types-union-patterns-generic/tokens/txt
2315+/* tre-628 %txt /tests/golden/types-union-patterns-generic/tree/txt
2316+/* typ-628 %txt /tests/golden/types-union-patterns-generic/types/txt
2317+/* src-629 %jibb /tests/golden/types-union-patterns-import/source/jibb
2318+/* tok-629 %txt /tests/golden/types-union-patterns-import/tokens/txt
2319+/* tre-629 %txt /tests/golden/types-union-patterns-import/tree/txt
2320+/* mod-629-1 %jibb /tests/golden/types-union-patterns-import/modules/ui/lib/jibb
2321+/* typ-629 %txt /tests/golden/types-union-patterns-import/types/txt
2322+/* mtre-629 %txt /tests/golden/types-union-patterns-import/module-trees/txt
2323+/* src-630 %jibb /tests/golden/types-union-phantom-generic/source/jibb
2324+/* tok-630 %txt /tests/golden/types-union-phantom-generic/tokens/txt
2325+/* tre-630 %txt /tests/golden/types-union-phantom-generic/tree/txt
2326+/* typ-630 %txt /tests/golden/types-union-phantom-generic/types/txt
2327+/* src-631 %jibb /tests/golden/types-union-polymorphic-identity/source/jibb
2328+/* tok-631 %txt /tests/golden/types-union-polymorphic-identity/tokens/txt
2329+/* tre-631 %txt /tests/golden/types-union-polymorphic-identity/tree/txt
2330+/* mod-631-1 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/one/jibb
2331+/* mod-631-2 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/two/jibb
2332+/* typ-631 %txt /tests/golden/types-union-polymorphic-identity/types/txt
2333+/* mtre-631 %txt /tests/golden/types-union-polymorphic-identity/module-trees/txt
2334+/* src-632 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
2335+/* tok-632 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
2336+/* tre-632 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
2337+/* mod-632-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
2338+/* typ-632 %txt /tests/golden/types-union-print-cross-namespace/types/txt
2339+/* mtre-632 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
2340+/* src-633 %jibb /tests/golden/types-union-print-distinct/source/jibb
2341+/* tok-633 %txt /tests/golden/types-union-print-distinct/tokens/txt
2342+/* tre-633 %txt /tests/golden/types-union-print-distinct/tree/txt
2343+/* mod-633-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
2344+/* mod-633-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
2345+/* mod-633-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
2346+/* typ-633 %txt /tests/golden/types-union-print-distinct/types/txt
2347+/* mtre-633 %txt /tests/golden/types-union-print-distinct/module-trees/txt
2348+/* src-634 %jibb /tests/golden/types-union-print-escape/source/jibb
2349+/* tok-634 %txt /tests/golden/types-union-print-escape/tokens/txt
2350+/* tre-634 %txt /tests/golden/types-union-print-escape/tree/txt
2351+/* typ-634 %txt /tests/golden/types-union-print-escape/types/txt
2352+/* src-635 %jibb /tests/golden/types-union-print-local/source/jibb
2353+/* tok-635 %txt /tests/golden/types-union-print-local/tokens/txt
2354+/* tre-635 %txt /tests/golden/types-union-print-local/tree/txt
2355+/* typ-635 %txt /tests/golden/types-union-print-local/types/txt
2356+/* src-636 %jibb /tests/golden/types-union-print-nested/source/jibb
2357+/* tok-636 %txt /tests/golden/types-union-print-nested/tokens/txt
2358+/* tre-636 %txt /tests/golden/types-union-print-nested/tree/txt
2359+/* typ-636 %txt /tests/golden/types-union-print-nested/types/txt
2360+/* src-637 %jibb /tests/golden/types-union-print-same-origin/source/jibb
2361+/* tok-637 %txt /tests/golden/types-union-print-same-origin/tokens/txt
2362+/* tre-637 %txt /tests/golden/types-union-print-same-origin/tree/txt
2363+/* mod-637-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
2364+/* typ-637 %txt /tests/golden/types-union-print-same-origin/types/txt
2365+/* mtre-637 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
2366+/* src-638 %jibb /tests/golden/types-union-print-transitive/source/jibb
2367+/* tok-638 %txt /tests/golden/types-union-print-transitive/tokens/txt
2368+/* tre-638 %txt /tests/golden/types-union-print-transitive/tree/txt
2369+/* mod-638-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
2370+/* mod-638-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
2371+/* typ-638 %txt /tests/golden/types-union-print-transitive/types/txt
2372+/* mtre-638 %txt /tests/golden/types-union-print-transitive/module-trees/txt
2373+/* src-639 %jibb /tests/golden/types-union-singleton/source/jibb
2374+/* tok-639 %txt /tests/golden/types-union-singleton/tokens/txt
2375+/* tre-639 %txt /tests/golden/types-union-singleton/tree/txt
2376+/* typ-639 %txt /tests/golden/types-union-singleton/types/txt
2377+/* src-640 %jibb /tests/golden/types-union-tag-atoms/source/jibb
2378+/* tok-640 %txt /tests/golden/types-union-tag-atoms/tokens/txt
2379+/* tre-640 %txt /tests/golden/types-union-tag-atoms/tree/txt
2380+/* typ-640 %txt /tests/golden/types-union-tag-atoms/types/txt
2381+/* src-641 %jibb /tests/golden/types-union-tags/source/jibb
2382+/* tok-641 %txt /tests/golden/types-union-tags/tokens/txt
2383+/* tre-641 %txt /tests/golden/types-union-tags/tree/txt
2384+/* typ-641 %txt /tests/golden/types-union-tags/types/txt
2385+/* src-642 %jibb /tests/golden/types-union-unresolved/source/jibb
2386+/* tok-642 %txt /tests/golden/types-union-unresolved/tokens/txt
2387+/* tre-642 %txt /tests/golden/types-union-unresolved/tree/txt
2388+/* typ-642 %txt /tests/golden/types-union-unresolved/types/txt
2389+/* src-643 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
2390+/* tok-643 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
2391+/* tre-643 %txt /tests/golden/types-union-unresolved-flow/tree/txt
2392+/* typ-643 %txt /tests/golden/types-union-unresolved-flow/types/txt
2393+/* src-644 %jibb /tests/golden/types-unit-construction/source/jibb
2394+/* tok-644 %txt /tests/golden/types-unit-construction/tokens/txt
2395+/* tre-644 %txt /tests/golden/types-unit-construction/tree/txt
2396+/* typ-644 %txt /tests/golden/types-unit-construction/types/txt
2397+/* src-645 %jibb /tests/golden/types-unit-context/source/jibb
2398+/* tok-645 %txt /tests/golden/types-unit-context/tokens/txt
2399+/* tre-645 %txt /tests/golden/types-unit-context/tree/txt
2400+/* typ-645 %txt /tests/golden/types-unit-context/types/txt
2401+/* src-646 %jibb /tests/golden/types-unit-patterns/source/jibb
2402+/* tok-646 %txt /tests/golden/types-unit-patterns/tokens/txt
2403+/* tre-646 %txt /tests/golden/types-unit-patterns/tree/txt
2404+/* typ-646 %txt /tests/golden/types-unit-patterns/types/txt
2405+/* src-647 %jibb /tests/golden/types-value-cycle-shadow/source/jibb
2406+/* tok-647 %txt /tests/golden/types-value-cycle-shadow/tokens/txt
2407+/* tre-647 %txt /tests/golden/types-value-cycle-shadow/tree/txt
2408+/* typ-647 %txt /tests/golden/types-value-cycle-shadow/types/txt
2409+/* src-648 %jibb /tests/golden/types-value-cycle-unsupported/source/jibb
2410+/* tok-648 %txt /tests/golden/types-value-cycle-unsupported/tokens/txt
2411+/* tre-648 %txt /tests/golden/types-value-cycle-unsupported/tree/txt
2412+/* typ-648 %txt /tests/golden/types-value-cycle-unsupported/types/txt
2413+/* src-649 %jibb /tests/golden/types-value-cycles/source/jibb
2414+/* tok-649 %txt /tests/golden/types-value-cycles/tokens/txt
2415+/* tre-649 %txt /tests/golden/types-value-cycles/tree/txt
2416+/* typ-649 %txt /tests/golden/types-value-cycles/types/txt
24012417=/ prepared-prelude (prepare-prelude-with-internal:jibb prelude-source internal-source)
24022418|%
24032419:: one arm per case
@@ -3388,310 +3404,318 @@
33883404 (weld (weld (check ~.types-multi-import src-492 `tok-492 `tre-492) (check-module-types ~.types-multi-import ~[%tests %golden ~.types-multi-import %source %jibb] src-492 `typ-492 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-492-1]])) (check-module-trees ~.types-multi-import `mtre-492 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-492-1]]))
33893405++ test-types-nested-missing-tag
33903406 (weld (check ~.types-nested-missing-tag src-493 `tok-493 `tre-493) (check-module-types ~.types-nested-missing-tag ~[%tests %golden ~.types-nested-missing-tag %source %jibb] src-493 `typ-493 ~ ~ ~))
3407+++ test-types-nested-noun-context
3408+ (weld (check ~.types-nested-noun-context src-494 `tok-494 `tre-494) (check-types ~.types-nested-noun-context ~[%tests %golden ~.types-nested-noun-context %source %jibb] src-494 `typ-494))
3409+++ test-types-nested-shallow-preserve
3410+ (weld (check ~.types-nested-shallow-preserve src-495 `tok-495 `tre-495) (check-module-types ~.types-nested-shallow-preserve ~[%tests %golden ~.types-nested-shallow-preserve %source %jibb] src-495 `typ-495 ~ ~ ~))
3411+++ test-types-nested-union-context
3412+ (weld (check ~.types-nested-union-context src-496 `tok-496 `tre-496) (check-types ~.types-nested-union-context ~[%tests %golden ~.types-nested-union-context %source %jibb] src-496 `typ-496))
33913413++ test-types-null-context
3392− (weld (check ~.types-null-context src-494 `tok-494 `tre-494) (check-types ~.types-null-context ~[%tests %golden ~.types-null-context %source %jibb] src-494 `typ-494))
3414+ (weld (check ~.types-null-context src-497 `tok-497 `tre-497) (check-types ~.types-null-context ~[%tests %golden ~.types-null-context %source %jibb] src-497 `typ-497))
33933415++ test-types-null-overlap
3394− (weld (check ~.types-null-overlap src-495 `tok-495 `tre-495) (check-types ~.types-null-overlap ~[%tests %golden ~.types-null-overlap %source %jibb] src-495 `typ-495))
3416+ (weld (check ~.types-null-overlap src-498 `tok-498 `tre-498) (check-types ~.types-null-overlap ~[%tests %golden ~.types-null-overlap %source %jibb] src-498 `typ-498))
33953417++ test-types-null-unresolved
3396− (weld (check ~.types-null-unresolved src-496 `tok-496 `tre-496) (check-types ~.types-null-unresolved ~[%tests %golden ~.types-null-unresolved %source %jibb] src-496 `typ-496))
3418+ (weld (check ~.types-null-unresolved src-499 `tok-499 `tre-499) (check-types ~.types-null-unresolved ~[%tests %golden ~.types-null-unresolved %source %jibb] src-499 `typ-499))
33973419++ test-types-pair-context
3398− (weld (check ~.types-pair-context src-497 `tok-497 `tre-497) (check-module-types ~.types-pair-context ~[%tests %golden ~.types-pair-context %source %jibb] src-497 `typ-497 ~ ~ ~))
3420+ (weld (check ~.types-pair-context src-500 `tok-500 `tre-500) (check-module-types ~.types-pair-context ~[%tests %golden ~.types-pair-context %source %jibb] src-500 `typ-500 ~ ~ ~))
33993421++ test-types-partial-apply
3400− (weld (check ~.types-partial-apply src-498 `tok-498 `tre-498) (check-types ~.types-partial-apply ~[%tests %golden ~.types-partial-apply %source %jibb] src-498 `typ-498))
3422+ (weld (check ~.types-partial-apply src-501 `tok-501 `tre-501) (check-types ~.types-partial-apply ~[%tests %golden ~.types-partial-apply %source %jibb] src-501 `typ-501))
34013423++ test-types-partial-atom-alias
3402− (weld (check ~.types-partial-atom-alias src-499 `tok-499 `tre-499) (check-types ~.types-partial-atom-alias ~[%tests %golden ~.types-partial-atom-alias %source %jibb] src-499 `typ-499))
3424+ (weld (check ~.types-partial-atom-alias src-502 `tok-502 `tre-502) (check-types ~.types-partial-atom-alias ~[%tests %golden ~.types-partial-atom-alias %source %jibb] src-502 `typ-502))
34033425++ test-types-partial-atom-constraint
3404− (weld (check ~.types-partial-atom-constraint src-500 `tok-500 `tre-500) (check-types ~.types-partial-atom-constraint ~[%tests %golden ~.types-partial-atom-constraint %source %jibb] src-500 `typ-500))
3426+ (weld (check ~.types-partial-atom-constraint src-503 `tok-503 `tre-503) (check-types ~.types-partial-atom-constraint ~[%tests %golden ~.types-partial-atom-constraint %source %jibb] src-503 `typ-503))
34053427++ test-types-partial-atom-widening
3406− (weld (check ~.types-partial-atom-widening src-501 `tok-501 `tre-501) (check-types ~.types-partial-atom-widening ~[%tests %golden ~.types-partial-atom-widening %source %jibb] src-501 `typ-501))
3428+ (weld (check ~.types-partial-atom-widening src-504 `tok-504 `tre-504) (check-types ~.types-partial-atom-widening ~[%tests %golden ~.types-partial-atom-widening %source %jibb] src-504 `typ-504))
34073429++ test-types-partial-aura
3408− (weld (check ~.types-partial-aura src-502 `tok-502 `tre-502) (check-types ~.types-partial-aura ~[%tests %golden ~.types-partial-aura %source %jibb] src-502 `typ-502))
3430+ (weld (check ~.types-partial-aura src-505 `tok-505 `tre-505) (check-types ~.types-partial-aura ~[%tests %golden ~.types-partial-aura %source %jibb] src-505 `typ-505))
34093431++ test-types-partial-aura-family
3410− (weld (check ~.types-partial-aura-family src-503 `tok-503 `tre-503) (check-types ~.types-partial-aura-family ~[%tests %golden ~.types-partial-aura-family %source %jibb] src-503 `typ-503))
3432+ (weld (check ~.types-partial-aura-family src-506 `tok-506 `tre-506) (check-types ~.types-partial-aura-family ~[%tests %golden ~.types-partial-aura-family %source %jibb] src-506 `typ-506))
34113433++ test-types-partial-aura-generalization
3412− (weld (check ~.types-partial-aura-generalization src-504 `tok-504 `tre-504) (check-types ~.types-partial-aura-generalization ~[%tests %golden ~.types-partial-aura-generalization %source %jibb] src-504 `typ-504))
3434+ (weld (check ~.types-partial-aura-generalization src-507 `tok-507 `tre-507) (check-types ~.types-partial-aura-generalization ~[%tests %golden ~.types-partial-aura-generalization %source %jibb] src-507 `typ-507))
34133435++ test-types-partial-bare-atom
3414− (weld (check ~.types-partial-bare-atom src-505 `tok-505 `tre-505) (check-types ~.types-partial-bare-atom ~[%tests %golden ~.types-partial-bare-atom %source %jibb] src-505 `typ-505))
3436+ (weld (check ~.types-partial-bare-atom src-508 `tok-508 `tre-508) (check-types ~.types-partial-bare-atom ~[%tests %golden ~.types-partial-bare-atom %source %jibb] src-508 `typ-508))
34153437++ test-types-partial-branch-widening
3416− (weld (check ~.types-partial-branch-widening src-506 `tok-506 `tre-506) (check-types ~.types-partial-branch-widening ~[%tests %golden ~.types-partial-branch-widening %source %jibb] src-506 `typ-506))
3438+ (weld (check ~.types-partial-branch-widening src-509 `tok-509 `tre-509) (check-types ~.types-partial-branch-widening ~[%tests %golden ~.types-partial-branch-widening %source %jibb] src-509 `typ-509))
34173439++ test-types-partial-conflicting-sites
3418− (weld (check ~.types-partial-conflicting-sites src-507 `tok-507 `tre-507) (check-types ~.types-partial-conflicting-sites ~[%tests %golden ~.types-partial-conflicting-sites %source %jibb] src-507 `typ-507))
3440+ (weld (check ~.types-partial-conflicting-sites src-510 `tok-510 `tre-510) (check-types ~.types-partial-conflicting-sites ~[%tests %golden ~.types-partial-conflicting-sites %source %jibb] src-510 `typ-510))
34193441++ test-types-partial-decimal-default
3420− (weld (check ~.types-partial-decimal-default src-508 `tok-508 `tre-508) (check-types ~.types-partial-decimal-default ~[%tests %golden ~.types-partial-decimal-default %source %jibb] src-508 `typ-508))
3442+ (weld (check ~.types-partial-decimal-default src-511 `tok-511 `tre-511) (check-types ~.types-partial-decimal-default ~[%tests %golden ~.types-partial-decimal-default %source %jibb] src-511 `typ-511))
34213443++ test-types-partial-dependency-chain
3422− (weld (check ~.types-partial-dependency-chain src-509 `tok-509 `tre-509) (check-types ~.types-partial-dependency-chain ~[%tests %golden ~.types-partial-dependency-chain %source %jibb] src-509 `typ-509))
3444+ (weld (check ~.types-partial-dependency-chain src-512 `tok-512 `tre-512) (check-types ~.types-partial-dependency-chain ~[%tests %golden ~.types-partial-dependency-chain %source %jibb] src-512 `typ-512))
34233445++ test-types-partial-explicit-capital
3424− (weld (check ~.types-partial-explicit-capital src-510 `tok-510 `tre-510) (check-types ~.types-partial-explicit-capital ~[%tests %golden ~.types-partial-explicit-capital %source %jibb] src-510 `typ-510))
3446+ (weld (check ~.types-partial-explicit-capital src-513 `tok-513 `tre-513) (check-types ~.types-partial-explicit-capital ~[%tests %golden ~.types-partial-explicit-capital %source %jibb] src-513 `typ-513))
34253447++ test-types-partial-forward
3426− (weld (check ~.types-partial-forward src-511 `tok-511 `tre-511) (check-types ~.types-partial-forward ~[%tests %golden ~.types-partial-forward %source %jibb] src-511 `typ-511))
3448+ (weld (check ~.types-partial-forward src-514 `tok-514 `tre-514) (check-types ~.types-partial-forward ~[%tests %golden ~.types-partial-forward %source %jibb] src-514 `typ-514))
34273449++ test-types-partial-generalization
3428− (weld (check ~.types-partial-generalization src-512 `tok-512 `tre-512) (check-types ~.types-partial-generalization ~[%tests %golden ~.types-partial-generalization %source %jibb] src-512 `typ-512))
3450+ (weld (check ~.types-partial-generalization src-515 `tok-515 `tre-515) (check-types ~.types-partial-generalization ~[%tests %golden ~.types-partial-generalization %source %jibb] src-515 `typ-515))
34293451++ test-types-partial-identity
3430− (weld (check ~.types-partial-identity src-513 `tok-513 `tre-513) (check-types ~.types-partial-identity ~[%tests %golden ~.types-partial-identity %source %jibb] src-513 `typ-513))
3452+ (weld (check ~.types-partial-identity src-516 `tok-516 `tre-516) (check-types ~.types-partial-identity ~[%tests %golden ~.types-partial-identity %source %jibb] src-516 `typ-516))
34313453++ test-types-partial-independent-atoms
3432− (weld (check ~.types-partial-independent-atoms src-514 `tok-514 `tre-514) (check-types ~.types-partial-independent-atoms ~[%tests %golden ~.types-partial-independent-atoms %source %jibb] src-514 `typ-514))
3454+ (weld (check ~.types-partial-independent-atoms src-517 `tok-517 `tre-517) (check-types ~.types-partial-independent-atoms ~[%tests %golden ~.types-partial-independent-atoms %source %jibb] src-517 `typ-517))
34333455++ test-types-partial-local-molds
3434− (weld (check ~.types-partial-local-molds src-515 `tok-515 `tre-515) (check-types ~.types-partial-local-molds ~[%tests %golden ~.types-partial-local-molds %source %jibb] src-515 `typ-515))
3456+ (weld (check ~.types-partial-local-molds src-518 `tok-518 `tre-518) (check-types ~.types-partial-local-molds ~[%tests %golden ~.types-partial-local-molds %source %jibb] src-518 `typ-518))
34353457++ test-types-partial-locals
3436− (weld (check ~.types-partial-locals src-516 `tok-516 `tre-516) (check-types ~.types-partial-locals ~[%tests %golden ~.types-partial-locals %source %jibb] src-516 `typ-516))
3458+ (weld (check ~.types-partial-locals src-519 `tok-519 `tre-519) (check-types ~.types-partial-locals ~[%tests %golden ~.types-partial-locals %source %jibb] src-519 `typ-519))
34373459++ test-types-partial-many-atom-constraints
3438− (weld (check ~.types-partial-many-atom-constraints src-517 `tok-517 `tre-517) (check-types ~.types-partial-many-atom-constraints ~[%tests %golden ~.types-partial-many-atom-constraints %source %jibb] src-517 `typ-517))
3460+ (weld (check ~.types-partial-many-atom-constraints src-520 `tok-520 `tre-520) (check-types ~.types-partial-many-atom-constraints ~[%tests %golden ~.types-partial-many-atom-constraints %source %jibb] src-520 `typ-520))
34393461++ test-types-partial-mold-bare-aura
3440− (weld (check ~.types-partial-mold-bare-aura src-518 `tok-518 `tre-518) (check-types ~.types-partial-mold-bare-aura ~[%tests %golden ~.types-partial-mold-bare-aura %source %jibb] src-518 `typ-518))
3462+ (weld (check ~.types-partial-mold-bare-aura src-521 `tok-521 `tre-521) (check-types ~.types-partial-mold-bare-aura ~[%tests %golden ~.types-partial-mold-bare-aura %source %jibb] src-521 `typ-521))
34413463++ test-types-partial-mold-composite
3442− (weld (check ~.types-partial-mold-composite src-519 `tok-519 `tre-519) (check-types ~.types-partial-mold-composite ~[%tests %golden ~.types-partial-mold-composite %source %jibb] src-519 `typ-519))
3464+ (weld (check ~.types-partial-mold-composite src-522 `tok-522 `tre-522) (check-types ~.types-partial-mold-composite ~[%tests %golden ~.types-partial-mold-composite %source %jibb] src-522 `typ-522))
34433465++ test-types-partial-mold-forward
3444− (weld (check ~.types-partial-mold-forward src-520 `tok-520 `tre-520) (check-types ~.types-partial-mold-forward ~[%tests %golden ~.types-partial-mold-forward %source %jibb] src-520 `typ-520))
3466+ (weld (check ~.types-partial-mold-forward src-523 `tok-523 `tre-523) (check-types ~.types-partial-mold-forward ~[%tests %golden ~.types-partial-mold-forward %source %jibb] src-523 `typ-523))
34453467++ test-types-partial-mold-recursive
3446− (weld (check ~.types-partial-mold-recursive src-521 `tok-521 `tre-521) (check-types ~.types-partial-mold-recursive ~[%tests %golden ~.types-partial-mold-recursive %source %jibb] src-521 `typ-521))
3468+ (weld (check ~.types-partial-mold-recursive src-524 `tok-524 `tre-524) (check-types ~.types-partial-mold-recursive ~[%tests %golden ~.types-partial-mold-recursive %source %jibb] src-524 `typ-524))
34473469++ test-types-partial-occurs
3448− (weld (check ~.types-partial-occurs src-522 `tok-522 `tre-522) (check-types ~.types-partial-occurs ~[%tests %golden ~.types-partial-occurs %source %jibb] src-522 `typ-522))
3470+ (weld (check ~.types-partial-occurs src-525 `tok-525 `tre-525) (check-types ~.types-partial-occurs ~[%tests %golden ~.types-partial-occurs %source %jibb] src-525 `typ-525))
34493471++ test-types-partial-projection
3450− (weld (check ~.types-partial-projection src-523 `tok-523 `tre-523) (check-types ~.types-partial-projection ~[%tests %golden ~.types-partial-projection %source %jibb] src-523 `typ-523))
3472+ (weld (check ~.types-partial-projection src-526 `tok-526 `tre-526) (check-types ~.types-partial-projection ~[%tests %golden ~.types-partial-projection %source %jibb] src-526 `typ-526))
34513473++ test-types-partial-shadow-global
3452− (weld (check ~.types-partial-shadow-global src-524 `tok-524 `tre-524) (check-types ~.types-partial-shadow-global ~[%tests %golden ~.types-partial-shadow-global %source %jibb] src-524 `typ-524))
3474+ (weld (check ~.types-partial-shadow-global src-527 `tok-527 `tre-527) (check-types ~.types-partial-shadow-global ~[%tests %golden ~.types-partial-shadow-global %source %jibb] src-527 `typ-527))
34533475++ test-types-partial-shared-tvar
3454− (weld (check ~.types-partial-shared-tvar src-525 `tok-525 `tre-525) (check-types ~.types-partial-shared-tvar ~[%tests %golden ~.types-partial-shared-tvar %source %jibb] src-525 `typ-525))
3476+ (weld (check ~.types-partial-shared-tvar src-528 `tok-528 `tre-528) (check-types ~.types-partial-shared-tvar ~[%tests %golden ~.types-partial-shared-tvar %source %jibb] src-528 `typ-528))
34553477++ test-types-partial-union-cases
3456− (weld (check ~.types-partial-union-cases src-526 `tok-526 `tre-526) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-526 `typ-526))
3478+ (weld (check ~.types-partial-union-cases src-529 `tok-529 `tre-529) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-529 `typ-529))
34573479++ test-types-partial-union-edges
3458− (weld (check ~.types-partial-union-edges src-527 `tok-527 `tre-527) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-527 `typ-527))
3480+ (weld (check ~.types-partial-union-edges src-530 `tok-530 `tre-530) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-530 `typ-530))
34593481++ test-types-partial-unresolved-tag
3460− (weld (check ~.types-partial-unresolved-tag src-528 `tok-528 `tre-528) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-528 `typ-528))
3482+ (weld (check ~.types-partial-unresolved-tag src-531 `tok-531 `tre-531) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-531 `typ-531))
34613483++ test-types-positional-faces
3462− (weld (check ~.types-positional-faces src-529 `tok-529 `tre-529) (check-types ~.types-positional-faces ~[%tests %golden ~.types-positional-faces %source %jibb] src-529 `typ-529))
3484+ (weld (check ~.types-positional-faces src-532 `tok-532 `tre-532) (check-types ~.types-positional-faces ~[%tests %golden ~.types-positional-faces %source %jibb] src-532 `typ-532))
34633485++ test-types-prelude-arithmetic
3464− (weld (check ~.types-prelude-arithmetic src-530 `tok-530 `tre-530) (check-module-types ~.types-prelude-arithmetic ~[%tests %golden ~.types-prelude-arithmetic %source %jibb] src-530 `typ-530 ~ ~ ~))
3486+ (weld (check ~.types-prelude-arithmetic src-533 `tok-533 `tre-533) (check-module-types ~.types-prelude-arithmetic ~[%tests %golden ~.types-prelude-arithmetic %source %jibb] src-533 `typ-533 ~ ~ ~))
34653487++ test-types-prelude-ask
3466− (weld (check ~.types-prelude-ask src-531 `tok-531 `tre-531) (check-module-types ~.types-prelude-ask ~[%tests %golden ~.types-prelude-ask %source %jibb] src-531 `typ-531 ~ ~ ~))
3488+ (weld (check ~.types-prelude-ask src-534 `tok-534 `tre-534) (check-module-types ~.types-prelude-ask ~[%tests %golden ~.types-prelude-ask %source %jibb] src-534 `typ-534 ~ ~ ~))
34673489++ test-types-prelude-bond
3468− (weld (check ~.types-prelude-bond src-532 `tok-532 `tre-532) (check-module-types ~.types-prelude-bond ~[%tests %golden ~.types-prelude-bond %source %jibb] src-532 `typ-532 ~ ~ ~))
3490+ (weld (check ~.types-prelude-bond src-535 `tok-535 `tre-535) (check-module-types ~.types-prelude-bond ~[%tests %golden ~.types-prelude-bond %source %jibb] src-535 `typ-535 ~ ~ ~))
34693491++ test-types-prelude-cmd
3470− (weld (check ~.types-prelude-cmd src-533 `tok-533 `tre-533) (check-module-types ~.types-prelude-cmd ~[%tests %golden ~.types-prelude-cmd %source %jibb] src-533 `typ-533 ~ ~ ~))
3492+ (weld (check ~.types-prelude-cmd src-536 `tok-536 `tre-536) (check-module-types ~.types-prelude-cmd ~[%tests %golden ~.types-prelude-cmd %source %jibb] src-536 `typ-536 ~ ~ ~))
34713493++ test-types-prelude-direct
3472− (weld (check ~.types-prelude-direct src-534 `tok-534 `tre-534) (check-module-types ~.types-prelude-direct ~[%tests %golden ~.types-prelude-direct %source %jibb] src-534 `typ-534 ~ ~ ~))
3494+ (weld (check ~.types-prelude-direct src-537 `tok-537 `tre-537) (check-module-types ~.types-prelude-direct ~[%tests %golden ~.types-prelude-direct %source %jibb] src-537 `typ-537 ~ ~ ~))
34733495++ test-types-prelude-functional
3474− (weld (check ~.types-prelude-functional src-535 `tok-535 `tre-535) (check-module-types ~.types-prelude-functional ~[%tests %golden ~.types-prelude-functional %source %jibb] src-535 `typ-535 ~ ~ ~))
3496+ (weld (check ~.types-prelude-functional src-538 `tok-538 `tre-538) (check-module-types ~.types-prelude-functional ~[%tests %golden ~.types-prelude-functional %source %jibb] src-538 `typ-538 ~ ~ ~))
34753497++ test-types-prelude-generic-alias
3476− (weld (weld (check ~.types-prelude-generic-alias src-536 `tok-536 `tre-536) (check-module-types ~.types-prelude-generic-alias ~[%tests %golden ~.types-prelude-generic-alias %source %jibb] src-536 `typ-536 ~ ~ ~[['/ui/alias-helper.jibb' ~[~.ui ~.alias-helper ~.jibb] mod-536-1]])) (check-module-trees ~.types-prelude-generic-alias `mtre-536 ~[['/ui/alias-helper.jibb' ~[~.ui ~.alias-helper ~.jibb] mod-536-1]]))
3498+ (weld (weld (check ~.types-prelude-generic-alias src-539 `tok-539 `tre-539) (check-module-types ~.types-prelude-generic-alias ~[%tests %golden ~.types-prelude-generic-alias %source %jibb] src-539 `typ-539 ~ ~ ~[['/ui/alias-helper.jibb' ~[~.ui ~.alias-helper ~.jibb] mod-539-1]])) (check-module-trees ~.types-prelude-generic-alias `mtre-539 ~[['/ui/alias-helper.jibb' ~[~.ui ~.alias-helper ~.jibb] mod-539-1]]))
34773499++ test-types-prelude-interface
3478− (weld (weld (check ~.types-prelude-interface src-537 `tok-537 `tre-537) (check-module-types ~.types-prelude-interface ~[%tests %golden ~.types-prelude-interface %source %jibb] src-537 `typ-537 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-537-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-537-2]])) (check-module-trees ~.types-prelude-interface `mtre-537 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-537-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-537-2]]))
3500+ (weld (weld (check ~.types-prelude-interface src-540 `tok-540 `tre-540) (check-module-types ~.types-prelude-interface ~[%tests %golden ~.types-prelude-interface %source %jibb] src-540 `typ-540 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-540-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-540-2]])) (check-module-trees ~.types-prelude-interface `mtre-540 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-540-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-540-2]]))
34793501++ test-types-prelude-like
3480− (weld (check ~.types-prelude-like src-538 `tok-538 `tre-538) (check-module-types ~.types-prelude-like ~[%tests %golden ~.types-prelude-like %source %jibb] src-538 `typ-538 ~ ~ ~))
3502+ (weld (check ~.types-prelude-like src-541 `tok-541 `tre-541) (check-module-types ~.types-prelude-like ~[%tests %golden ~.types-prelude-like %source %jibb] src-541 `typ-541 ~ ~ ~))
34813503++ test-types-prelude-list-alias
3482− (weld (check ~.types-prelude-list-alias src-539 `tok-539 `tre-539) (check-module-types ~.types-prelude-list-alias ~[%tests %golden ~.types-prelude-list-alias %source %jibb] src-539 `typ-539 ~ ~ ~))
3504+ (weld (check ~.types-prelude-list-alias src-542 `tok-542 `tre-542) (check-module-types ~.types-prelude-list-alias ~[%tests %golden ~.types-prelude-list-alias %source %jibb] src-542 `typ-542 ~ ~ ~))
34833505++ test-types-prelude-list-functions
3484− (weld (weld (check ~.types-prelude-list-functions src-540 `tok-540 `tre-540) (check-module-types ~.types-prelude-list-functions ~[%tests %golden ~.types-prelude-list-functions %source %jibb] src-540 `typ-540 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-540-1]])) (check-module-trees ~.types-prelude-list-functions `mtre-540 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-540-1]]))
3506+ (weld (weld (check ~.types-prelude-list-functions src-543 `tok-543 `tre-543) (check-module-types ~.types-prelude-list-functions ~[%tests %golden ~.types-prelude-list-functions %source %jibb] src-543 `typ-543 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-543-1]])) (check-module-trees ~.types-prelude-list-functions `mtre-543 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-543-1]]))
34853507++ test-types-prelude-list-helpers
3486− (weld (check ~.types-prelude-list-helpers src-541 `tok-541 `tre-541) (check-module-types ~.types-prelude-list-helpers ~[%tests %golden ~.types-prelude-list-helpers %source %jibb] src-541 `typ-541 ~ ~ ~))
3508+ (weld (check ~.types-prelude-list-helpers src-544 `tok-544 `tre-544) (check-module-types ~.types-prelude-list-helpers ~[%tests %golden ~.types-prelude-list-helpers %source %jibb] src-544 `typ-544 ~ ~ ~))
34873509++ test-types-prelude-predicates
3488− (weld (check ~.types-prelude-predicates src-542 `tok-542 `tre-542) (check-module-types ~.types-prelude-predicates ~[%tests %golden ~.types-prelude-predicates %source %jibb] src-542 `typ-542 ~ ~ ~))
3510+ (weld (check ~.types-prelude-predicates src-545 `tok-545 `tre-545) (check-module-types ~.types-prelude-predicates ~[%tests %golden ~.types-prelude-predicates %source %jibb] src-545 `typ-545 ~ ~ ~))
34893511++ test-types-prelude-sub
3490− (weld (check ~.types-prelude-sub src-543 `tok-543 `tre-543) (check-module-types ~.types-prelude-sub ~[%tests %golden ~.types-prelude-sub %source %jibb] src-543 `typ-543 ~ ~ ~))
3512+ (weld (check ~.types-prelude-sub src-546 `tok-546 `tre-546) (check-module-types ~.types-prelude-sub ~[%tests %golden ~.types-prelude-sub %source %jibb] src-546 `typ-546 ~ ~ ~))
3513+++ test-types-prelude-sub-nested
3514+ (weld (check ~.types-prelude-sub-nested src-547 `tok-547 `tre-547) (check-module-types ~.types-prelude-sub-nested ~[%tests %golden ~.types-prelude-sub-nested %source %jibb] src-547 `typ-547 ~ ~ ~))
34913515++ test-types-prelude-unit-helpers
3492− (weld (check ~.types-prelude-unit-helpers src-544 `tok-544 `tre-544) (check-module-types ~.types-prelude-unit-helpers ~[%tests %golden ~.types-prelude-unit-helpers %source %jibb] src-544 `typ-544 ~ ~ ~))
3516+ (weld (check ~.types-prelude-unit-helpers src-548 `tok-548 `tre-548) (check-module-types ~.types-prelude-unit-helpers ~[%tests %golden ~.types-prelude-unit-helpers %source %jibb] src-548 `typ-548 ~ ~ ~))
34933517++ test-types-proj-explicit-context
3494− (weld (check ~.types-proj-explicit-context src-545 `tok-545 `tre-545) (check-module-types ~.types-proj-explicit-context ~[%tests %golden ~.types-proj-explicit-context %source %jibb] src-545 `typ-545 ~ ~ ~))
3518+ (weld (check ~.types-proj-explicit-context src-549 `tok-549 `tre-549) (check-module-types ~.types-proj-explicit-context ~[%tests %golden ~.types-proj-explicit-context %source %jibb] src-549 `typ-549 ~ ~ ~))
34953519++ test-types-proj-nested-no-implicit
3496− (weld (check ~.types-proj-nested-no-implicit src-546 `tok-546 `tre-546) (check-module-types ~.types-proj-nested-no-implicit ~[%tests %golden ~.types-proj-nested-no-implicit %source %jibb] src-546 `typ-546 ~ ~ ~))
3520+ (weld (check ~.types-proj-nested-no-implicit src-550 `tok-550 `tre-550) (check-module-types ~.types-proj-nested-no-implicit ~[%tests %golden ~.types-proj-nested-no-implicit %source %jibb] src-550 `typ-550 ~ ~ ~))
34973521++ test-types-proj-reserved-imported-definition
3498− (weld (weld (check ~.types-proj-reserved-imported-definition src-547 `tok-547 `tre-547) (check-module-types ~.types-proj-reserved-imported-definition ~[%tests %golden ~.types-proj-reserved-imported-definition %source %jibb] src-547 `typ-547 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-547-1]])) (check-module-trees ~.types-proj-reserved-imported-definition `mtre-547 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-547-1]]))
3522+ (weld (weld (check ~.types-proj-reserved-imported-definition src-551 `tok-551 `tre-551) (check-module-types ~.types-proj-reserved-imported-definition ~[%tests %golden ~.types-proj-reserved-imported-definition %source %jibb] src-551 `typ-551 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-551-1]])) (check-module-trees ~.types-proj-reserved-imported-definition `mtre-551 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-551-1]]))
34993523++ test-types-proj-reserved-jibb-import
3500− (weld (weld (check ~.types-proj-reserved-jibb-import src-548 `tok-548 `tre-548) (check-module-types ~.types-proj-reserved-jibb-import ~[%tests %golden ~.types-proj-reserved-jibb-import %source %jibb] src-548 `typ-548 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-548-1]])) (check-module-trees ~.types-proj-reserved-jibb-import `mtre-548 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-548-1]]))
3524+ (weld (weld (check ~.types-proj-reserved-jibb-import src-552 `tok-552 `tre-552) (check-module-types ~.types-proj-reserved-jibb-import ~[%tests %golden ~.types-proj-reserved-jibb-import %source %jibb] src-552 `typ-552 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-552-1]])) (check-module-trees ~.types-proj-reserved-jibb-import `mtre-552 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-552-1]]))
35013525++ test-types-proj-reserved-local
3502− (weld (check ~.types-proj-reserved-local src-549 `tok-549 `tre-549) (check-module-types ~.types-proj-reserved-local ~[%tests %golden ~.types-proj-reserved-local %source %jibb] src-549 `typ-549 ~ ~ ~))
3526+ (weld (check ~.types-proj-reserved-local src-553 `tok-553 `tre-553) (check-module-types ~.types-proj-reserved-local ~[%tests %golden ~.types-proj-reserved-local %source %jibb] src-553 `typ-553 ~ ~ ~))
35033527++ test-types-proj-reserved-local-mold
3504− (weld (check ~.types-proj-reserved-local-mold src-550 `tok-550 `tre-550) (check-module-types ~.types-proj-reserved-local-mold ~[%tests %golden ~.types-proj-reserved-local-mold %source %jibb] src-550 `typ-550 ~ ~ ~))
3528+ (weld (check ~.types-proj-reserved-local-mold src-554 `tok-554 `tre-554) (check-module-types ~.types-proj-reserved-local-mold ~[%tests %golden ~.types-proj-reserved-local-mold %source %jibb] src-554 `typ-554 ~ ~ ~))
35053529++ test-types-proj-reserved-mark-import
3506− (weld (check ~.types-proj-reserved-mark-import src-551 `tok-551 `tre-551) (check-module-types ~.types-proj-reserved-mark-import ~[%tests %golden ~.types-proj-reserved-mark-import %source %jibb] src-551 `typ-551 ~ ~ ~))
3530+ (weld (check ~.types-proj-reserved-mark-import src-555 `tok-555 `tre-555) (check-module-types ~.types-proj-reserved-mark-import ~[%tests %golden ~.types-proj-reserved-mark-import %source %jibb] src-555 `typ-555 ~ ~ ~))
35073531++ test-types-proj-reserved-mold
3508− (weld (check ~.types-proj-reserved-mold src-552 `tok-552 `tre-552) (check-module-types ~.types-proj-reserved-mold ~[%tests %golden ~.types-proj-reserved-mold %source %jibb] src-552 `typ-552 ~ ~ ~))
3532+ (weld (check ~.types-proj-reserved-mold src-556 `tok-556 `tre-556) (check-module-types ~.types-proj-reserved-mold ~[%tests %golden ~.types-proj-reserved-mold %source %jibb] src-556 `typ-556 ~ ~ ~))
35093533++ test-types-proj-reserved-pattern
3510− (weld (check ~.types-proj-reserved-pattern src-553 `tok-553 `tre-553) (check-module-types ~.types-proj-reserved-pattern ~[%tests %golden ~.types-proj-reserved-pattern %source %jibb] src-553 `typ-553 ~ ~ ~))
3534+ (weld (check ~.types-proj-reserved-pattern src-557 `tok-557 `tre-557) (check-module-types ~.types-proj-reserved-pattern ~[%tests %golden ~.types-proj-reserved-pattern %source %jibb] src-557 `typ-557 ~ ~ ~))
35113535++ test-types-proj-reserved-positive
3512− (weld (check ~.types-proj-reserved-positive src-554 `tok-554 `tre-554) (check-module-types ~.types-proj-reserved-positive ~[%tests %golden ~.types-proj-reserved-positive %source %jibb] src-554 `typ-554 ~ ~ ~))
3536+ (weld (check ~.types-proj-reserved-positive src-558 `tok-558 `tre-558) (check-module-types ~.types-proj-reserved-positive ~[%tests %golden ~.types-proj-reserved-positive %source %jibb] src-558 `typ-558 ~ ~ ~))
35133537++ test-types-proj-reserved-sample
3514− (weld (check ~.types-proj-reserved-sample src-555 `tok-555 `tre-555) (check-module-types ~.types-proj-reserved-sample ~[%tests %golden ~.types-proj-reserved-sample %source %jibb] src-555 `typ-555 ~ ~ ~))
3538+ (weld (check ~.types-proj-reserved-sample src-559 `tok-559 `tre-559) (check-module-types ~.types-proj-reserved-sample ~[%tests %golden ~.types-proj-reserved-sample %source %jibb] src-559 `typ-559 ~ ~ ~))
35153539++ test-types-proj-reserved-sur-import
3516− (weld (check ~.types-proj-reserved-sur-import src-556 `tok-556 `tre-556) (check-module-types ~.types-proj-reserved-sur-import ~[%tests %golden ~.types-proj-reserved-sur-import %source %jibb] src-556 `typ-556 ~ ~ ~))
3540+ (weld (check ~.types-proj-reserved-sur-import src-560 `tok-560 `tre-560) (check-module-types ~.types-proj-reserved-sur-import ~[%tests %golden ~.types-proj-reserved-sur-import %source %jibb] src-560 `typ-560 ~ ~ ~))
35173541++ test-types-proj-reserved-unused-pattern
3518− (weld (check ~.types-proj-reserved-unused-pattern src-557 `tok-557 `tre-557) (check-module-types ~.types-proj-reserved-unused-pattern ~[%tests %golden ~.types-proj-reserved-unused-pattern %source %jibb] src-557 `typ-557 ~ ~ ~))
3542+ (weld (check ~.types-proj-reserved-unused-pattern src-561 `tok-561 `tre-561) (check-module-types ~.types-proj-reserved-unused-pattern ~[%tests %golden ~.types-proj-reserved-unused-pattern %source %jibb] src-561 `typ-561 ~ ~ ~))
35193543++ test-types-proj-reserved-unused-sample
3520− (weld (check ~.types-proj-reserved-unused-sample src-558 `tok-558 `tre-558) (check-module-types ~.types-proj-reserved-unused-sample ~[%tests %golden ~.types-proj-reserved-unused-sample %source %jibb] src-558 `typ-558 ~ ~ ~))
3544+ (weld (check ~.types-proj-reserved-unused-sample src-562 `tok-562 `tre-562) (check-module-types ~.types-proj-reserved-unused-sample ~[%tests %golden ~.types-proj-reserved-unused-sample %source %jibb] src-562 `typ-562 ~ ~ ~))
35213545++ test-types-proj-reserved-unused-value
3522− (weld (check ~.types-proj-reserved-unused-value src-559 `tok-559 `tre-559) (check-module-types ~.types-proj-reserved-unused-value ~[%tests %golden ~.types-proj-reserved-unused-value %source %jibb] src-559 `typ-559 ~ ~ ~))
3546+ (weld (check ~.types-proj-reserved-unused-value src-563 `tok-563 `tre-563) (check-module-types ~.types-proj-reserved-unused-value ~[%tests %golden ~.types-proj-reserved-unused-value %source %jibb] src-563 `typ-563 ~ ~ ~))
35233547++ test-types-proj-reserved-value
3524− (weld (check ~.types-proj-reserved-value src-560 `tok-560 `tre-560) (check-module-types ~.types-proj-reserved-value ~[%tests %golden ~.types-proj-reserved-value %source %jibb] src-560 `typ-560 ~ ~ ~))
3548+ (weld (check ~.types-proj-reserved-value src-564 `tok-564 `tre-564) (check-module-types ~.types-proj-reserved-value ~[%tests %golden ~.types-proj-reserved-value %source %jibb] src-564 `typ-564 ~ ~ ~))
35253549++ test-types-proj-single-duplicate
3526− (weld (check ~.types-proj-single-duplicate src-561 `tok-561 `tre-561) (check-module-types ~.types-proj-single-duplicate ~[%tests %golden ~.types-proj-single-duplicate %source %jibb] src-561 `typ-561 ~ ~ ~))
3550+ (weld (check ~.types-proj-single-duplicate src-565 `tok-565 `tre-565) (check-module-types ~.types-proj-single-duplicate ~[%tests %golden ~.types-proj-single-duplicate %source %jibb] src-565 `typ-565 ~ ~ ~))
35273551++ test-types-proj-single-field
3528− (weld (check ~.types-proj-single-field src-562 `tok-562 `tre-562) (check-module-types ~.types-proj-single-field ~[%tests %golden ~.types-proj-single-field %source %jibb] src-562 `typ-562 ~ ~ ~))
3552+ (weld (check ~.types-proj-single-field src-566 `tok-566 `tre-566) (check-module-types ~.types-proj-single-field ~[%tests %golden ~.types-proj-single-field %source %jibb] src-566 `typ-566 ~ ~ ~))
35293553++ test-types-proj-single-sample-face
3530− (weld (check ~.types-proj-single-sample-face src-563 `tok-563 `tre-563) (check-module-types ~.types-proj-single-sample-face ~[%tests %golden ~.types-proj-single-sample-face %source %jibb] src-563 `typ-563 ~ ~ ~))
3554+ (weld (check ~.types-proj-single-sample-face src-567 `tok-567 `tre-567) (check-module-types ~.types-proj-single-sample-face ~[%tests %golden ~.types-proj-single-sample-face %source %jibb] src-567 `typ-567 ~ ~ ~))
35313555++ test-types-proj-single-wrapped
3532− (weld (check ~.types-proj-single-wrapped src-564 `tok-564 `tre-564) (check-module-types ~.types-proj-single-wrapped ~[%tests %golden ~.types-proj-single-wrapped %source %jibb] src-564 `typ-564 ~ ~ ~))
3556+ (weld (check ~.types-proj-single-wrapped src-568 `tok-568 `tre-568) (check-module-types ~.types-proj-single-wrapped ~[%tests %golden ~.types-proj-single-wrapped %source %jibb] src-568 `typ-568 ~ ~ ~))
35333557++ test-types-qath-faces
3534− (weld (check ~.types-qath-faces src-565 `tok-565 `tre-565) (check-module-types ~.types-qath-faces ~[%tests %golden ~.types-qath-faces %source %jibb] src-565 `typ-565 ~ ~ ~))
3558+ (weld (check ~.types-qath-faces src-569 `tok-569 `tre-569) (check-module-types ~.types-qath-faces ~[%tests %golden ~.types-qath-faces %source %jibb] src-569 `typ-569 ~ ~ ~))
35353559++ test-types-qath-holes
3536− (weld (check ~.types-qath-holes src-566 `tok-566 `tre-566) (check-module-types ~.types-qath-holes ~[%tests %golden ~.types-qath-holes %source %jibb] src-566 `typ-566 ~ ~ ~))
3560+ (weld (check ~.types-qath-holes src-570 `tok-570 `tre-570) (check-module-types ~.types-qath-holes ~[%tests %golden ~.types-qath-holes %source %jibb] src-570 `typ-570 ~ ~ ~))
35373561++ test-types-qath-module-identity
3538− (weld (weld (check ~.types-qath-module-identity src-567 `tok-567 `tre-567) (check-module-types ~.types-qath-module-identity ~[%tests %golden ~.types-qath-module-identity %source %jibb] src-567 `typ-567 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-567-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-567-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-567-3]])) (check-module-trees ~.types-qath-module-identity `mtre-567 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-567-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-567-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-567-3]]))
3562+ (weld (weld (check ~.types-qath-module-identity src-571 `tok-571 `tre-571) (check-module-types ~.types-qath-module-identity ~[%tests %golden ~.types-qath-module-identity %source %jibb] src-571 `typ-571 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-571-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-571-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-571-3]])) (check-module-trees ~.types-qath-module-identity `mtre-571 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-571-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-571-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-571-3]]))
35393563++ test-types-qath-recursive
3540− (weld (check ~.types-qath-recursive src-568 `tok-568 `tre-568) (check-module-types ~.types-qath-recursive ~[%tests %golden ~.types-qath-recursive %source %jibb] src-568 `typ-568 ~ ~ ~))
3564+ (weld (check ~.types-qath-recursive src-572 `tok-572 `tre-572) (check-module-types ~.types-qath-recursive ~[%tests %golden ~.types-qath-recursive %source %jibb] src-572 `typ-572 ~ ~ ~))
35413565++ test-types-record-bound-variable
3542− (weld (check ~.types-record-bound-variable src-569 `tok-569 `tre-569) (check-types ~.types-record-bound-variable ~[%tests %golden ~.types-record-bound-variable %source %jibb] src-569 `typ-569))
3566+ (weld (check ~.types-record-bound-variable src-573 `tok-573 `tre-573) (check-types ~.types-record-bound-variable ~[%tests %golden ~.types-record-bound-variable %source %jibb] src-573 `typ-573))
35433567++ test-types-record-cast-context
3544− (weld (check ~.types-record-cast-context src-570 `tok-570 `tre-570) (check-module-types ~.types-record-cast-context ~[%tests %golden ~.types-record-cast-context %source %jibb] src-570 `typ-570 ~ ~ ~))
3568+ (weld (check ~.types-record-cast-context src-574 `tok-574 `tre-574) (check-module-types ~.types-record-cast-context ~[%tests %golden ~.types-record-cast-context %source %jibb] src-574 `typ-574 ~ ~ ~))
35453569++ test-types-record-change
3546− (weld (check ~.types-record-change src-571 `tok-571 `tre-571) (check-module-types ~.types-record-change ~[%tests %golden ~.types-record-change %source %jibb] src-571 `typ-571 ~ ~ ~))
3570+ (weld (check ~.types-record-change src-575 `tok-575 `tre-575) (check-module-types ~.types-record-change ~[%tests %golden ~.types-record-change %source %jibb] src-575 `typ-575 ~ ~ ~))
35473571++ test-types-record-change-generic
3548− (weld (check ~.types-record-change-generic src-572 `tok-572 `tre-572) (check-module-types ~.types-record-change-generic ~[%tests %golden ~.types-record-change-generic %source %jibb] src-572 `typ-572 ~ ~ ~))
3572+ (weld (check ~.types-record-change-generic src-576 `tok-576 `tre-576) (check-module-types ~.types-record-change-generic ~[%tests %golden ~.types-record-change-generic %source %jibb] src-576 `typ-576 ~ ~ ~))
35493573++ test-types-record-faces
3550− (weld (check ~.types-record-faces src-573 `tok-573 `tre-573) (check-types ~.types-record-faces ~[%tests %golden ~.types-record-faces %source %jibb] src-573 `typ-573))
3574+ (weld (check ~.types-record-faces src-577 `tok-577 `tre-577) (check-types ~.types-record-faces ~[%tests %golden ~.types-record-faces %source %jibb] src-577 `typ-577))
35513575++ test-types-record-field-edit-separate
3552− (weld (check ~.types-record-field-edit-separate src-574 `tok-574 `tre-574) (check-types ~.types-record-field-edit-separate ~[%tests %golden ~.types-record-field-edit-separate %source %jibb] src-574 `typ-574))
3576+ (weld (check ~.types-record-field-edit-separate src-578 `tok-578 `tre-578) (check-types ~.types-record-field-edit-separate ~[%tests %golden ~.types-record-field-edit-separate %source %jibb] src-578 `typ-578))
35533577++ test-types-record-field-expr-duplicate
3554− (weld (check ~.types-record-field-expr-duplicate src-575 `tok-575 `tre-575) (check-types ~.types-record-field-expr-duplicate ~[%tests %golden ~.types-record-field-expr-duplicate %source %jibb] src-575 `typ-575))
3578+ (weld (check ~.types-record-field-expr-duplicate src-579 `tok-579 `tre-579) (check-types ~.types-record-field-expr-duplicate ~[%tests %golden ~.types-record-field-expr-duplicate %source %jibb] src-579 `typ-579))
35553579++ test-types-record-field-expr-separate
3556− (weld (check ~.types-record-field-expr-separate src-576 `tok-576 `tre-576) (check-types ~.types-record-field-expr-separate ~[%tests %golden ~.types-record-field-expr-separate %source %jibb] src-576 `typ-576))
3580+ (weld (check ~.types-record-field-expr-separate src-580 `tok-580 `tre-580) (check-types ~.types-record-field-expr-separate ~[%tests %golden ~.types-record-field-expr-separate %source %jibb] src-580 `typ-580))
35573581++ test-types-record-field-module-reachable
3558− (weld (weld (check ~.types-record-field-module-reachable src-577 `tok-577 `tre-577) (check-module-types ~.types-record-field-module-reachable ~[%tests %golden ~.types-record-field-module-reachable %source %jibb] src-577 `typ-577 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-577-1]])) (check-module-trees ~.types-record-field-module-reachable `mtre-577 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-577-1]]))
3582+ (weld (weld (check ~.types-record-field-module-reachable src-581 `tok-581 `tre-581) (check-module-types ~.types-record-field-module-reachable ~[%tests %golden ~.types-record-field-module-reachable %source %jibb] src-581 `typ-581 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-581-1]])) (check-module-trees ~.types-record-field-module-reachable `mtre-581 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-581-1]]))
35593583++ test-types-record-field-module-unused
3560− (weld (weld (check ~.types-record-field-module-unused src-578 `tok-578 `tre-578) (check-module-types ~.types-record-field-module-unused ~[%tests %golden ~.types-record-field-module-unused %source %jibb] src-578 `typ-578 ~ ~ ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-578-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-578-2]])) (check-module-trees ~.types-record-field-module-unused `mtre-578 ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-578-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-578-2]]))
3584+ (weld (weld (check ~.types-record-field-module-unused src-582 `tok-582 `tre-582) (check-module-types ~.types-record-field-module-unused ~[%tests %golden ~.types-record-field-module-unused %source %jibb] src-582 `typ-582 ~ ~ ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-582-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-582-2]])) (check-module-trees ~.types-record-field-module-unused `mtre-582 ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-582-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-582-2]]))
35613585++ test-types-record-field-nested-mold
3562− (weld (check ~.types-record-field-nested-mold src-579 `tok-579 `tre-579) (check-types ~.types-record-field-nested-mold ~[%tests %golden ~.types-record-field-nested-mold %source %jibb] src-579 `typ-579))
3586+ (weld (check ~.types-record-field-nested-mold src-583 `tok-583 `tre-583) (check-types ~.types-record-field-nested-mold ~[%tests %golden ~.types-record-field-nested-mold %source %jibb] src-583 `typ-583))
35633587++ test-types-record-field-outer-inner
3564− (weld (check ~.types-record-field-outer-inner src-580 `tok-580 `tre-580) (check-types ~.types-record-field-outer-inner ~[%tests %golden ~.types-record-field-outer-inner %source %jibb] src-580 `typ-580))
3588+ (weld (check ~.types-record-field-outer-inner src-584 `tok-584 `tre-584) (check-types ~.types-record-field-outer-inner ~[%tests %golden ~.types-record-field-outer-inner %source %jibb] src-584 `typ-584))
35653589++ test-types-record-field-sample-duplicate
3566− (weld (check ~.types-record-field-sample-duplicate src-581 `tok-581 `tre-581) (check-types ~.types-record-field-sample-duplicate ~[%tests %golden ~.types-record-field-sample-duplicate %source %jibb] src-581 `typ-581))
3590+ (weld (check ~.types-record-field-sample-duplicate src-585 `tok-585 `tre-585) (check-types ~.types-record-field-sample-duplicate ~[%tests %golden ~.types-record-field-sample-duplicate %source %jibb] src-585 `typ-585))
35673591++ test-types-record-field-separate-molds
3568− (weld (check ~.types-record-field-separate-molds src-582 `tok-582 `tre-582) (check-types ~.types-record-field-separate-molds ~[%tests %golden ~.types-record-field-separate-molds %source %jibb] src-582 `typ-582))
3592+ (weld (check ~.types-record-field-separate-molds src-586 `tok-586 `tre-586) (check-types ~.types-record-field-separate-molds ~[%tests %golden ~.types-record-field-separate-molds %source %jibb] src-586 `typ-586))
35693593++ test-types-record-field-unused-mold
3570− (weld (check ~.types-record-field-unused-mold src-583 `tok-583 `tre-583) (check-types ~.types-record-field-unused-mold ~[%tests %golden ~.types-record-field-unused-mold %source %jibb] src-583 `typ-583))
3594+ (weld (check ~.types-record-field-unused-mold src-587 `tok-587 `tre-587) (check-types ~.types-record-field-unused-mold ~[%tests %golden ~.types-record-field-unused-mold %source %jibb] src-587 `typ-587))
35713595++ test-types-record-import
3572− (weld (weld (check ~.types-record-import src-584 `tok-584 `tre-584) (check-module-types ~.types-record-import ~[%tests %golden ~.types-record-import %source %jibb] src-584 `typ-584 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-584-1]])) (check-module-trees ~.types-record-import `mtre-584 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-584-1]]))
3596+ (weld (weld (check ~.types-record-import src-588 `tok-588 `tre-588) (check-module-types ~.types-record-import ~[%tests %golden ~.types-record-import %source %jibb] src-588 `typ-588 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-588-1]])) (check-module-trees ~.types-record-import `mtre-588 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-588-1]]))
35733597++ test-types-record-local-scheme
3574− (weld (check ~.types-record-local-scheme src-585 `tok-585 `tre-585) (check-types ~.types-record-local-scheme ~[%tests %golden ~.types-record-local-scheme %source %jibb] src-585 `typ-585))
3598+ (weld (check ~.types-record-local-scheme src-589 `tok-589 `tre-589) (check-types ~.types-record-local-scheme ~[%tests %golden ~.types-record-local-scheme %source %jibb] src-589 `typ-589))
35753599++ test-types-record-nested
3576− (weld (check ~.types-record-nested src-586 `tok-586 `tre-586) (check-types ~.types-record-nested ~[%tests %golden ~.types-record-nested %source %jibb] src-586 `typ-586))
3600+ (weld (check ~.types-record-nested src-590 `tok-590 `tre-590) (check-types ~.types-record-nested ~[%tests %golden ~.types-record-nested %source %jibb] src-590 `typ-590))
35773601++ test-types-record-to-tuple
3578− (weld (check ~.types-record-to-tuple src-587 `tok-587 `tre-587) (check-types ~.types-record-to-tuple ~[%tests %golden ~.types-record-to-tuple %source %jibb] src-587 `typ-587))
3602+ (weld (check ~.types-record-to-tuple src-591 `tok-591 `tre-591) (check-types ~.types-record-to-tuple ~[%tests %golden ~.types-record-to-tuple %source %jibb] src-591 `typ-591))
35793603++ test-types-recursion-scc-failures
3580− (weld (check ~.types-recursion-scc-failures src-588 `tok-588 `tre-588) (check-module-types ~.types-recursion-scc-failures ~[%tests %golden ~.types-recursion-scc-failures %source %jibb] src-588 `typ-588 ~ ~ ~))
3604+ (weld (check ~.types-recursion-scc-failures src-592 `tok-592 `tre-592) (check-module-types ~.types-recursion-scc-failures ~[%tests %golden ~.types-recursion-scc-failures %source %jibb] src-592 `typ-592 ~ ~ ~))
35813605++ test-types-recursion-scc-groups
3582− (weld (check ~.types-recursion-scc-groups src-589 `tok-589 `tre-589) (check-module-types ~.types-recursion-scc-groups ~[%tests %golden ~.types-recursion-scc-groups %source %jibb] src-589 `typ-589 ~ ~ ~))
3606+ (weld (check ~.types-recursion-scc-groups src-593 `tok-593 `tre-593) (check-module-types ~.types-recursion-scc-groups ~[%tests %golden ~.types-recursion-scc-groups %source %jibb] src-593 `typ-593 ~ ~ ~))
35833607++ test-types-recursion-scc-import
3584− (weld (weld (check ~.types-recursion-scc-import src-590 `tok-590 `tre-590) (check-module-types ~.types-recursion-scc-import ~[%tests %golden ~.types-recursion-scc-import %source %jibb] src-590 `typ-590 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-590-1]])) (check-module-trees ~.types-recursion-scc-import `mtre-590 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-590-1]]))
3608+ (weld (weld (check ~.types-recursion-scc-import src-594 `tok-594 `tre-594) (check-module-types ~.types-recursion-scc-import ~[%tests %golden ~.types-recursion-scc-import %source %jibb] src-594 `typ-594 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-594-1]])) (check-module-trees ~.types-recursion-scc-import `mtre-594 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-594-1]]))
35853609++ test-types-recursion-scc-import-bad
3586− (weld (weld (check ~.types-recursion-scc-import-bad src-591 `tok-591 `tre-591) (check-module-types ~.types-recursion-scc-import-bad ~[%tests %golden ~.types-recursion-scc-import-bad %source %jibb] src-591 `typ-591 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-591-1]])) (check-module-trees ~.types-recursion-scc-import-bad `mtre-591 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-591-1]]))
3610+ (weld (weld (check ~.types-recursion-scc-import-bad src-595 `tok-595 `tre-595) (check-module-types ~.types-recursion-scc-import-bad ~[%tests %golden ~.types-recursion-scc-import-bad %source %jibb] src-595 `typ-595 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-595-1]])) (check-module-trees ~.types-recursion-scc-import-bad `mtre-595 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-595-1]]))
35873611++ test-types-recursion-scc-local
3588− (weld (check ~.types-recursion-scc-local src-592 `tok-592 `tre-592) (check-module-types ~.types-recursion-scc-local ~[%tests %golden ~.types-recursion-scc-local %source %jibb] src-592 `typ-592 ~ ~ ~))
3612+ (weld (check ~.types-recursion-scc-local src-596 `tok-596 `tre-596) (check-module-types ~.types-recursion-scc-local ~[%tests %golden ~.types-recursion-scc-local %source %jibb] src-596 `typ-596 ~ ~ ~))
35893613++ test-types-recursion-scc-order
3590− (weld (check ~.types-recursion-scc-order src-593 `tok-593 `tre-593) (check-module-types ~.types-recursion-scc-order ~[%tests %golden ~.types-recursion-scc-order %source %jibb] src-593 `typ-593 ~ ~ ~))
3614+ (weld (check ~.types-recursion-scc-order src-597 `tok-597 `tre-597) (check-module-types ~.types-recursion-scc-order ~[%tests %golden ~.types-recursion-scc-order %source %jibb] src-597 `typ-597 ~ ~ ~))
35913615++ test-types-recursion-scc-shadow
3592− (weld (check ~.types-recursion-scc-shadow src-594 `tok-594 `tre-594) (check-module-types ~.types-recursion-scc-shadow ~[%tests %golden ~.types-recursion-scc-shadow %source %jibb] src-594 `typ-594 ~ ~ ~))
3616+ (weld (check ~.types-recursion-scc-shadow src-598 `tok-598 `tre-598) (check-module-types ~.types-recursion-scc-shadow ~[%tests %golden ~.types-recursion-scc-shadow %source %jibb] src-598 `typ-598 ~ ~ ~))
35933617++ test-types-recursive-branch
3594− (weld (check ~.types-recursive-branch src-595 `tok-595 `tre-595) (check-module-types ~.types-recursive-branch ~[%tests %golden ~.types-recursive-branch %source %jibb] src-595 `typ-595 ~ ~ ~))
3618+ (weld (check ~.types-recursive-branch src-599 `tok-599 `tre-599) (check-module-types ~.types-recursive-branch ~[%tests %golden ~.types-recursive-branch %source %jibb] src-599 `typ-599 ~ ~ ~))
35953619++ test-types-recursive-gate
3596− (weld (check ~.types-recursive-gate src-596 `tok-596 `tre-596) (check-types ~.types-recursive-gate ~[%tests %golden ~.types-recursive-gate %source %jibb] src-596 `typ-596))
3620+ (weld (check ~.types-recursive-gate src-600 `tok-600 `tre-600) (check-types ~.types-recursive-gate ~[%tests %golden ~.types-recursive-gate %source %jibb] src-600 `typ-600))
35973621++ test-types-recursive-sample
3598− (weld (check ~.types-recursive-sample src-597 `tok-597 `tre-597) (check-types ~.types-recursive-sample ~[%tests %golden ~.types-recursive-sample %source %jibb] src-597 `typ-597))
3622+ (weld (check ~.types-recursive-sample src-601 `tok-601 `tre-601) (check-types ~.types-recursive-sample ~[%tests %golden ~.types-recursive-sample %source %jibb] src-601 `typ-601))
35993623++ test-types-request-normal
3600− (weld (weld (check ~.types-request-normal src-598 `tok-598 `tre-598) (check-module-types ~.types-request-normal ~[%tests %golden ~.types-request-normal %source %jibb] src-598 `typ-598 ~ ~[[%full mark-598-1]] ~[['/ui/api/demo.jibb' ~[~.ui ~.api ~.demo ~.jibb] mod-598-1]])) (check-module-trees ~.types-request-normal `mtre-598 ~[['/ui/api/demo.jibb' ~[~.ui ~.api ~.demo ~.jibb] mod-598-1]]))
3624+ (weld (weld (check ~.types-request-normal src-602 `tok-602 `tre-602) (check-module-types ~.types-request-normal ~[%tests %golden ~.types-request-normal %source %jibb] src-602 `typ-602 ~ ~[[%full mark-602-1]] ~[['/ui/api/demo.jibb' ~[~.ui ~.api ~.demo ~.jibb] mod-602-1]])) (check-module-trees ~.types-request-normal `mtre-602 ~[['/ui/api/demo.jibb' ~[~.ui ~.api ~.demo ~.jibb] mod-602-1]]))
36013625++ test-types-scope-library-poke
3602− (weld (check-at ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-599 `tok-599 `tre-599) (check-module-types ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-599 `typ-599 ~ ~ ~))
3626+ (weld (check-at ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-603 `tok-603 `tre-603) (check-module-types ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-603 `typ-603 ~ ~ ~))
36033627++ test-types-scope-root-api
3604− (weld (check-at ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-600 `tok-600 `tre-600) (check-module-types ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-600 `typ-600 ~ ~ ~))
3628+ (weld (check-at ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-604 `tok-604 `tre-604) (check-module-types ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-604 `typ-604 ~ ~ ~))
36053629++ test-types-scope-store-duplicate
3606− (weld (check-at ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-601 `tok-601 `tre-601) (check-module-types ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-601 `typ-601 ~ ~ ~))
3630+ (weld (check-at ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-605 `tok-605 `tre-605) (check-module-types ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-605 `typ-605 ~ ~ ~))
36073631++ test-types-scope-store-shadow
3608− (weld (check-at ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-602 `tok-602 `tre-602) (check-module-types ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-602 `typ-602 ~ ~ ~))
3632+ (weld (check-at ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-606 `tok-606 `tre-606) (check-module-types ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-606 `typ-606 ~ ~ ~))
36093633++ test-types-single-case-pattern
3610− (weld (check ~.types-single-case-pattern src-603 `tok-603 `tre-603) (check-module-types ~.types-single-case-pattern ~[%tests %golden ~.types-single-case-pattern %source %jibb] src-603 `typ-603 ~ ~ ~))
3634+ (weld (check ~.types-single-case-pattern src-607 `tok-607 `tre-607) (check-module-types ~.types-single-case-pattern ~[%tests %golden ~.types-single-case-pattern %source %jibb] src-607 `typ-607 ~ ~ ~))
36113635++ test-types-string-interpolation
3612− (weld (check ~.types-string-interpolation src-604 `tok-604 `tre-604) (check-module-types ~.types-string-interpolation ~[%tests %golden ~.types-string-interpolation %source %jibb] src-604 `typ-604 ~ ~ ~))
3636+ (weld (check ~.types-string-interpolation src-608 `tok-608 `tre-608) (check-module-types ~.types-string-interpolation ~[%tests %golden ~.types-string-interpolation %source %jibb] src-608 `typ-608 ~ ~ ~))
36133637++ test-types-tuple-context
3614− (weld (check ~.types-tuple-context src-605 `tok-605 `tre-605) (check-module-types ~.types-tuple-context ~[%tests %golden ~.types-tuple-context %source %jibb] src-605 `typ-605 ~ ~ ~))
3638+ (weld (check ~.types-tuple-context src-609 `tok-609 `tre-609) (check-module-types ~.types-tuple-context ~[%tests %golden ~.types-tuple-context %source %jibb] src-609 `typ-609 ~ ~ ~))
36153639++ test-types-tuple-context-nested
3616− (weld (check ~.types-tuple-context-nested src-606 `tok-606 `tre-606) (check-module-types ~.types-tuple-context-nested ~[%tests %golden ~.types-tuple-context-nested %source %jibb] src-606 `typ-606 ~ ~ ~))
3640+ (weld (check ~.types-tuple-context-nested src-610 `tok-610 `tre-610) (check-module-types ~.types-tuple-context-nested ~[%tests %golden ~.types-tuple-context-nested %source %jibb] src-610 `typ-610 ~ ~ ~))
36173641++ test-types-union-alias
3618− (weld (check ~.types-union-alias src-607 `tok-607 `tre-607) (check-types ~.types-union-alias ~[%tests %golden ~.types-union-alias %source %jibb] src-607 `typ-607))
3642+ (weld (check ~.types-union-alias src-611 `tok-611 `tre-611) (check-types ~.types-union-alias ~[%tests %golden ~.types-union-alias %source %jibb] src-611 `typ-611))
36193643++ test-types-union-branch-context
3620− (weld (check ~.types-union-branch-context src-608 `tok-608 `tre-608) (check-types ~.types-union-branch-context ~[%tests %golden ~.types-union-branch-context %source %jibb] src-608 `typ-608))
3644+ (weld (check ~.types-union-branch-context src-612 `tok-612 `tre-612) (check-types ~.types-union-branch-context ~[%tests %golden ~.types-union-branch-context %source %jibb] src-612 `typ-612))
36213645++ test-types-union-branch-pending
3622− (weld (check ~.types-union-branch-pending src-609 `tok-609 `tre-609) (check-types ~.types-union-branch-pending ~[%tests %golden ~.types-union-branch-pending %source %jibb] src-609 `typ-609))
3646+ (weld (check ~.types-union-branch-pending src-613 `tok-613 `tre-613) (check-types ~.types-union-branch-pending ~[%tests %golden ~.types-union-branch-pending %source %jibb] src-613 `typ-613))
36233647++ test-types-union-constructor-shape
3624− (weld (check ~.types-union-constructor-shape src-610 `tok-610 `tre-610) (check-types ~.types-union-constructor-shape ~[%tests %golden ~.types-union-constructor-shape %source %jibb] src-610 `typ-610))
3648+ (weld (check ~.types-union-constructor-shape src-614 `tok-614 `tre-614) (check-types ~.types-union-constructor-shape ~[%tests %golden ~.types-union-constructor-shape %source %jibb] src-614 `typ-614))
36253649++ test-types-union-context-flow
3626− (weld (check ~.types-union-context-flow src-611 `tok-611 `tre-611) (check-types ~.types-union-context-flow ~[%tests %golden ~.types-union-context-flow %source %jibb] src-611 `typ-611))
3650+ (weld (check ~.types-union-context-flow src-615 `tok-615 `tre-615) (check-types ~.types-union-context-flow ~[%tests %golden ~.types-union-context-flow %source %jibb] src-615 `typ-615))
36273651++ test-types-union-finite
3628− (weld (check ~.types-union-finite src-612 `tok-612 `tre-612) (check-module-types ~.types-union-finite ~[%tests %golden ~.types-union-finite %source %jibb] src-612 `typ-612 ~ ~ ~))
3652+ (weld (check ~.types-union-finite src-616 `tok-616 `tre-616) (check-module-types ~.types-union-finite ~[%tests %golden ~.types-union-finite %source %jibb] src-616 `typ-616 ~ ~ ~))
36293653++ test-types-union-finite-context
3630− (weld (check ~.types-union-finite-context src-613 `tok-613 `tre-613) (check-module-types ~.types-union-finite-context ~[%tests %golden ~.types-union-finite-context %source %jibb] src-613 `typ-613 ~ ~ ~))
3654+ (weld (check ~.types-union-finite-context src-617 `tok-617 `tre-617) (check-module-types ~.types-union-finite-context ~[%tests %golden ~.types-union-finite-context %source %jibb] src-617 `typ-617 ~ ~ ~))
36313655++ test-types-union-finite-generic
3632− (weld (check ~.types-union-finite-generic src-614 `tok-614 `tre-614) (check-module-types ~.types-union-finite-generic ~[%tests %golden ~.types-union-finite-generic %source %jibb] src-614 `typ-614 ~ ~ ~))
3656+ (weld (check ~.types-union-finite-generic src-618 `tok-618 `tre-618) (check-module-types ~.types-union-finite-generic ~[%tests %golden ~.types-union-finite-generic %source %jibb] src-618 `typ-618 ~ ~ ~))
36333657++ test-types-union-finite-limit
3634− (weld (check ~.types-union-finite-limit src-615 `tok-615 `tre-615) (check-module-types ~.types-union-finite-limit ~[%tests %golden ~.types-union-finite-limit %source %jibb] src-615 `typ-615 ~ ~ ~))
3658+ (weld (check ~.types-union-finite-limit src-619 `tok-619 `tre-619) (check-module-types ~.types-union-finite-limit ~[%tests %golden ~.types-union-finite-limit %source %jibb] src-619 `typ-619 ~ ~ ~))
36353659++ test-types-union-import
3636− (weld (weld (check ~.types-union-import src-616 `tok-616 `tre-616) (check-module-types ~.types-union-import ~[%tests %golden ~.types-union-import %source %jibb] src-616 `typ-616 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-616-1]])) (check-module-trees ~.types-union-import `mtre-616 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-616-1]]))
3660+ (weld (weld (check ~.types-union-import src-620 `tok-620 `tre-620) (check-module-types ~.types-union-import ~[%tests %golden ~.types-union-import %source %jibb] src-620 `typ-620 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-620-1]])) (check-module-trees ~.types-union-import `mtre-620 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-620-1]]))
36373661++ test-types-union-local-pending
3638− (weld (check ~.types-union-local-pending src-617 `tok-617 `tre-617) (check-types ~.types-union-local-pending ~[%tests %golden ~.types-union-local-pending %source %jibb] src-617 `typ-617))
3662+ (weld (check ~.types-union-local-pending src-621 `tok-621 `tre-621) (check-types ~.types-union-local-pending ~[%tests %golden ~.types-union-local-pending %source %jibb] src-621 `typ-621))
36393663++ test-types-union-nonwing-subject
3640− (weld (check ~.types-union-nonwing-subject src-618 `tok-618 `tre-618) (check-module-types ~.types-union-nonwing-subject ~[%tests %golden ~.types-union-nonwing-subject %source %jibb] src-618 `typ-618 ~ ~ ~))
3664+ (weld (check ~.types-union-nonwing-subject src-622 `tok-622 `tre-622) (check-module-types ~.types-union-nonwing-subject ~[%tests %golden ~.types-union-nonwing-subject %source %jibb] src-622 `typ-622 ~ ~ ~))
36413665++ test-types-union-overlap
3642− (weld (check ~.types-union-overlap src-619 `tok-619 `tre-619) (check-types ~.types-union-overlap ~[%tests %golden ~.types-union-overlap %source %jibb] src-619 `typ-619))
3666+ (weld (check ~.types-union-overlap src-623 `tok-623 `tre-623) (check-types ~.types-union-overlap ~[%tests %golden ~.types-union-overlap %source %jibb] src-623 `typ-623))
36433667++ test-types-union-overlap-nested
3644− (weld (check ~.types-union-overlap-nested src-620 `tok-620 `tre-620) (check-types ~.types-union-overlap-nested ~[%tests %golden ~.types-union-overlap-nested %source %jibb] src-620 `typ-620))
3668+ (weld (check ~.types-union-overlap-nested src-624 `tok-624 `tre-624) (check-types ~.types-union-overlap-nested ~[%tests %golden ~.types-union-overlap-nested %source %jibb] src-624 `typ-624))
36453669++ test-types-union-pattern-result-context
3646− (weld (check ~.types-union-pattern-result-context src-621 `tok-621 `tre-621) (check-module-types ~.types-union-pattern-result-context ~[%tests %golden ~.types-union-pattern-result-context %source %jibb] src-621 `typ-621 ~ ~ ~))
3670+ (weld (check ~.types-union-pattern-result-context src-625 `tok-625 `tre-625) (check-module-types ~.types-union-pattern-result-context ~[%tests %golden ~.types-union-pattern-result-context %source %jibb] src-625 `typ-625 ~ ~ ~))
36473671++ test-types-union-pattern-result-controls
3648− (weld (check ~.types-union-pattern-result-controls src-622 `tok-622 `tre-622) (check-module-types ~.types-union-pattern-result-controls ~[%tests %golden ~.types-union-pattern-result-controls %source %jibb] src-622 `typ-622 ~ ~ ~))
3672+ (weld (check ~.types-union-pattern-result-controls src-626 `tok-626 `tre-626) (check-module-types ~.types-union-pattern-result-controls ~[%tests %golden ~.types-union-pattern-result-controls %source %jibb] src-626 `typ-626 ~ ~ ~))
36493673++ test-types-union-patterns
3650− (weld (check ~.types-union-patterns src-623 `tok-623 `tre-623) (check-module-types ~.types-union-patterns ~[%tests %golden ~.types-union-patterns %source %jibb] src-623 `typ-623 ~ ~ ~))
3674+ (weld (check ~.types-union-patterns src-627 `tok-627 `tre-627) (check-module-types ~.types-union-patterns ~[%tests %golden ~.types-union-patterns %source %jibb] src-627 `typ-627 ~ ~ ~))
36513675++ test-types-union-patterns-generic
3652− (weld (check ~.types-union-patterns-generic src-624 `tok-624 `tre-624) (check-module-types ~.types-union-patterns-generic ~[%tests %golden ~.types-union-patterns-generic %source %jibb] src-624 `typ-624 ~ ~ ~))
3676+ (weld (check ~.types-union-patterns-generic src-628 `tok-628 `tre-628) (check-module-types ~.types-union-patterns-generic ~[%tests %golden ~.types-union-patterns-generic %source %jibb] src-628 `typ-628 ~ ~ ~))
36533677++ test-types-union-patterns-import
3654− (weld (weld (check ~.types-union-patterns-import src-625 `tok-625 `tre-625) (check-module-types ~.types-union-patterns-import ~[%tests %golden ~.types-union-patterns-import %source %jibb] src-625 `typ-625 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-625-1]])) (check-module-trees ~.types-union-patterns-import `mtre-625 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-625-1]]))
3678+ (weld (weld (check ~.types-union-patterns-import src-629 `tok-629 `tre-629) (check-module-types ~.types-union-patterns-import ~[%tests %golden ~.types-union-patterns-import %source %jibb] src-629 `typ-629 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-629-1]])) (check-module-trees ~.types-union-patterns-import `mtre-629 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-629-1]]))
36553679++ test-types-union-phantom-generic
3656− (weld (check ~.types-union-phantom-generic src-626 `tok-626 `tre-626) (check-types ~.types-union-phantom-generic ~[%tests %golden ~.types-union-phantom-generic %source %jibb] src-626 `typ-626))
3680+ (weld (check ~.types-union-phantom-generic src-630 `tok-630 `tre-630) (check-types ~.types-union-phantom-generic ~[%tests %golden ~.types-union-phantom-generic %source %jibb] src-630 `typ-630))
36573681++ test-types-union-polymorphic-identity
3658− (weld (weld (check ~.types-union-polymorphic-identity src-627 `tok-627 `tre-627) (check-module-types ~.types-union-polymorphic-identity ~[%tests %golden ~.types-union-polymorphic-identity %source %jibb] src-627 `typ-627 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-627-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-627-2]])) (check-module-trees ~.types-union-polymorphic-identity `mtre-627 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-627-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-627-2]]))
3682+ (weld (weld (check ~.types-union-polymorphic-identity src-631 `tok-631 `tre-631) (check-module-types ~.types-union-polymorphic-identity ~[%tests %golden ~.types-union-polymorphic-identity %source %jibb] src-631 `typ-631 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-631-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-631-2]])) (check-module-trees ~.types-union-polymorphic-identity `mtre-631 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-631-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-631-2]]))
36593683++ test-types-union-print-cross-namespace
3660− (weld (weld (check ~.types-union-print-cross-namespace src-628 `tok-628 `tre-628) (check-module-types ~.types-union-print-cross-namespace ~[%tests %golden ~.types-union-print-cross-namespace %source %jibb] src-628 `typ-628 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-628-1]])) (check-module-trees ~.types-union-print-cross-namespace `mtre-628 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-628-1]]))
3684+ (weld (weld (check ~.types-union-print-cross-namespace src-632 `tok-632 `tre-632) (check-module-types ~.types-union-print-cross-namespace ~[%tests %golden ~.types-union-print-cross-namespace %source %jibb] src-632 `typ-632 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-632-1]])) (check-module-trees ~.types-union-print-cross-namespace `mtre-632 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-632-1]]))
36613685++ test-types-union-print-distinct
3662− (weld (weld (check ~.types-union-print-distinct src-629 `tok-629 `tre-629) (check-module-types ~.types-union-print-distinct ~[%tests %golden ~.types-union-print-distinct %source %jibb] src-629 `typ-629 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-629-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-629-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-629-3]])) (check-module-trees ~.types-union-print-distinct `mtre-629 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-629-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-629-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-629-3]]))
3686+ (weld (weld (check ~.types-union-print-distinct src-633 `tok-633 `tre-633) (check-module-types ~.types-union-print-distinct ~[%tests %golden ~.types-union-print-distinct %source %jibb] src-633 `typ-633 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-633-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-633-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-633-3]])) (check-module-trees ~.types-union-print-distinct `mtre-633 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-633-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-633-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-633-3]]))
36633687++ test-types-union-print-escape
3664− (weld (check ~.types-union-print-escape src-630 `tok-630 `tre-630) (check-types ~.types-union-print-escape ~[%tests %golden ~.types-union-print-escape %source %jibb] src-630 `typ-630))
3688+ (weld (check ~.types-union-print-escape src-634 `tok-634 `tre-634) (check-types ~.types-union-print-escape ~[%tests %golden ~.types-union-print-escape %source %jibb] src-634 `typ-634))
36653689++ test-types-union-print-local
3666− (weld (check ~.types-union-print-local src-631 `tok-631 `tre-631) (check-types ~.types-union-print-local ~[%tests %golden ~.types-union-print-local %source %jibb] src-631 `typ-631))
3690+ (weld (check ~.types-union-print-local src-635 `tok-635 `tre-635) (check-types ~.types-union-print-local ~[%tests %golden ~.types-union-print-local %source %jibb] src-635 `typ-635))
36673691++ test-types-union-print-nested
3668− (weld (check ~.types-union-print-nested src-632 `tok-632 `tre-632) (check-types ~.types-union-print-nested ~[%tests %golden ~.types-union-print-nested %source %jibb] src-632 `typ-632))
3692+ (weld (check ~.types-union-print-nested src-636 `tok-636 `tre-636) (check-types ~.types-union-print-nested ~[%tests %golden ~.types-union-print-nested %source %jibb] src-636 `typ-636))
36693693++ test-types-union-print-same-origin
3670− (weld (weld (check ~.types-union-print-same-origin src-633 `tok-633 `tre-633) (check-module-types ~.types-union-print-same-origin ~[%tests %golden ~.types-union-print-same-origin %source %jibb] src-633 `typ-633 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-633-1]])) (check-module-trees ~.types-union-print-same-origin `mtre-633 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-633-1]]))
3694+ (weld (weld (check ~.types-union-print-same-origin src-637 `tok-637 `tre-637) (check-module-types ~.types-union-print-same-origin ~[%tests %golden ~.types-union-print-same-origin %source %jibb] src-637 `typ-637 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-637-1]])) (check-module-trees ~.types-union-print-same-origin `mtre-637 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-637-1]]))
36713695++ test-types-union-print-transitive
3672− (weld (weld (check ~.types-union-print-transitive src-634 `tok-634 `tre-634) (check-module-types ~.types-union-print-transitive ~[%tests %golden ~.types-union-print-transitive %source %jibb] src-634 `typ-634 ~ ~ ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-634-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-634-2]])) (check-module-trees ~.types-union-print-transitive `mtre-634 ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-634-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-634-2]]))
3696+ (weld (weld (check ~.types-union-print-transitive src-638 `tok-638 `tre-638) (check-module-types ~.types-union-print-transitive ~[%tests %golden ~.types-union-print-transitive %source %jibb] src-638 `typ-638 ~ ~ ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-638-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-638-2]])) (check-module-trees ~.types-union-print-transitive `mtre-638 ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-638-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-638-2]]))
36733697++ test-types-union-singleton
3674− (weld (check ~.types-union-singleton src-635 `tok-635 `tre-635) (check-types ~.types-union-singleton ~[%tests %golden ~.types-union-singleton %source %jibb] src-635 `typ-635))
3698+ (weld (check ~.types-union-singleton src-639 `tok-639 `tre-639) (check-types ~.types-union-singleton ~[%tests %golden ~.types-union-singleton %source %jibb] src-639 `typ-639))
36753699++ test-types-union-tag-atoms
3676− (weld (check ~.types-union-tag-atoms src-636 `tok-636 `tre-636) (check-types ~.types-union-tag-atoms ~[%tests %golden ~.types-union-tag-atoms %source %jibb] src-636 `typ-636))
3700+ (weld (check ~.types-union-tag-atoms src-640 `tok-640 `tre-640) (check-types ~.types-union-tag-atoms ~[%tests %golden ~.types-union-tag-atoms %source %jibb] src-640 `typ-640))
36773701++ test-types-union-tags
3678− (weld (check ~.types-union-tags src-637 `tok-637 `tre-637) (check-types ~.types-union-tags ~[%tests %golden ~.types-union-tags %source %jibb] src-637 `typ-637))
3702+ (weld (check ~.types-union-tags src-641 `tok-641 `tre-641) (check-types ~.types-union-tags ~[%tests %golden ~.types-union-tags %source %jibb] src-641 `typ-641))
36793703++ test-types-union-unresolved
3680− (weld (check ~.types-union-unresolved src-638 `tok-638 `tre-638) (check-types ~.types-union-unresolved ~[%tests %golden ~.types-union-unresolved %source %jibb] src-638 `typ-638))
3704+ (weld (check ~.types-union-unresolved src-642 `tok-642 `tre-642) (check-types ~.types-union-unresolved ~[%tests %golden ~.types-union-unresolved %source %jibb] src-642 `typ-642))
36813705++ test-types-union-unresolved-flow
3682− (weld (check ~.types-union-unresolved-flow src-639 `tok-639 `tre-639) (check-types ~.types-union-unresolved-flow ~[%tests %golden ~.types-union-unresolved-flow %source %jibb] src-639 `typ-639))
3706+ (weld (check ~.types-union-unresolved-flow src-643 `tok-643 `tre-643) (check-types ~.types-union-unresolved-flow ~[%tests %golden ~.types-union-unresolved-flow %source %jibb] src-643 `typ-643))
36833707++ test-types-unit-construction
3684− (weld (check ~.types-unit-construction src-640 `tok-640 `tre-640) (check-module-types ~.types-unit-construction ~[%tests %golden ~.types-unit-construction %source %jibb] src-640 `typ-640 ~ ~ ~))
3708+ (weld (check ~.types-unit-construction src-644 `tok-644 `tre-644) (check-module-types ~.types-unit-construction ~[%tests %golden ~.types-unit-construction %source %jibb] src-644 `typ-644 ~ ~ ~))
36853709++ test-types-unit-context
3686− (weld (check ~.types-unit-context src-641 `tok-641 `tre-641) (check-module-types ~.types-unit-context ~[%tests %golden ~.types-unit-context %source %jibb] src-641 `typ-641 ~ ~ ~))
3710+ (weld (check ~.types-unit-context src-645 `tok-645 `tre-645) (check-module-types ~.types-unit-context ~[%tests %golden ~.types-unit-context %source %jibb] src-645 `typ-645 ~ ~ ~))
36873711++ test-types-unit-patterns
3688− (weld (check ~.types-unit-patterns src-642 `tok-642 `tre-642) (check-types ~.types-unit-patterns ~[%tests %golden ~.types-unit-patterns %source %jibb] src-642 `typ-642))
3712+ (weld (check ~.types-unit-patterns src-646 `tok-646 `tre-646) (check-types ~.types-unit-patterns ~[%tests %golden ~.types-unit-patterns %source %jibb] src-646 `typ-646))
36893713++ test-types-value-cycle-shadow
3690− (weld (check ~.types-value-cycle-shadow src-643 `tok-643 `tre-643) (check-module-types ~.types-value-cycle-shadow ~[%tests %golden ~.types-value-cycle-shadow %source %jibb] src-643 `typ-643 ~ ~ ~))
3714+ (weld (check ~.types-value-cycle-shadow src-647 `tok-647 `tre-647) (check-module-types ~.types-value-cycle-shadow ~[%tests %golden ~.types-value-cycle-shadow %source %jibb] src-647 `typ-647 ~ ~ ~))
36913715++ test-types-value-cycle-unsupported
3692− (weld (check ~.types-value-cycle-unsupported src-644 `tok-644 `tre-644) (check-module-types ~.types-value-cycle-unsupported ~[%tests %golden ~.types-value-cycle-unsupported %source %jibb] src-644 `typ-644 ~ ~ ~))
3716+ (weld (check ~.types-value-cycle-unsupported src-648 `tok-648 `tre-648) (check-module-types ~.types-value-cycle-unsupported ~[%tests %golden ~.types-value-cycle-unsupported %source %jibb] src-648 `typ-648 ~ ~ ~))
36933717++ test-types-value-cycles
3694− (weld (check ~.types-value-cycles src-645 `tok-645 `tre-645) (check-module-types ~.types-value-cycles ~[%tests %golden ~.types-value-cycles %source %jibb] src-645 `typ-645 ~ ~ ~))
3718+ (weld (check ~.types-value-cycles src-649 `tok-649 `tre-649) (check-module-types ~.types-value-cycles ~[%tests %golden ~.types-value-cycles %source %jibb] src-649 `typ-649 ~ ~ ~))
36953719::
36963720:: +check: run golden:jibb on a case and compare both outputs
36973721::
tests/type-todo-api/about.txt+1−1
@@ -1 +1 @@
1−The exact my-app todo API is checked with its actual /sur and mark reader fixtures. The eval runner verifies that the API fixture matches the application source. Positive and negative reports cover request callback polymorphism, the named one-diff fold, typed path arguments, poke and exported molds. The interface guards check source and request evidence and reject missing or duplicate inputs, unsupported sibling declarations and private imports. Reports are partial inference, not a complete module check or runtime/watchability proof.
1+The exact my-app todo API is checked with its actual /sur and mark reader fixtures. The eval runner verifies that the API fixture matches the application source. Positive and negative reports cover request callback polymorphism, the named one-diff fold, typed path arguments, poke, exported molds and a typed subscription expression. The interface guards check source and request evidence and reject missing or duplicate inputs, unsupported sibling declarations and private imports. Reports are partial inference, not a complete module check or runtime/watchability proof.
tests/type-todo-api/expected.txt+3
@@ -12,3 +12,6 @@ partial inference; module not checked
1212++ todos-id: $-((list [id=@ud [done=? text=@t]]) (list [id=@ud [done=? text=@t]]))
1313++ update-id: $-(([%added item=[id=@ud [done=? text=@t]]] [%toggled id=@ud]) ([%added item=[id=@ud [done=? text=@t]]] [%toggled id=@ud]))
1414++ item-mark-id: $-([id=@ud [done=? text=@t]] [id=@ud [done=? text=@t]])
15++$ model: not checked
16++$ msg: cases proven disjoint; mold not checked
17+++ subs: $-([todos=(list [id=@ud [done=? text=@t]]) [draft=@t error=(unit @t)]] (list (sub msg)))
tests/type-todo-api/negative-expected.txt+9
@@ -15,3 +15,12 @@ partial inference; module not checked
1515/tests/type-todo-api/negative.jibb:5:32: argument
1616++ bad-action (todo-action.api [%typo text="hello"])
1717 ^
18++$ msg: cases proven disjoint; mold not checked
19+++ missing: call's sample and argument types do not unify
20+/tests/type-todo-api/negative.jibb:9:26: called gate
21+++ missing ^- (ask msg) (todos.api |=%absent)
22+ ^
23+/tests/type-todo-api/negative.jibb:9:36: argument
24+++ missing ^- (ask msg) (todos.api |=%absent)
25+ ^
26+++ pending: tag needs context in partial inference
tests/type-todo-api/negative.txt+7
@@ -3,3 +3,10 @@
33++ bad-param (todo-by-id.api ~zod |=(x=todo-item.api "ok"))
44++ missing-fold (changes.api |=(xs=todos.api "ok"))
55++ bad-action (todo-action.api [%typo text="hello"])
6++$ msg
7+ [%got todos=(list item.api)]
8+ %other
9+++ missing ^- (ask msg) (todos.api |=%absent)
10+++ pending
11+ ~& %unrelated
12+ ^- (ask msg) (todos.api |=%got)
tests/type-todo-api/source.txt+7
@@ -12,3 +12,10 @@
1212++ todos-id |= x=todos.api x
1313++ update-id |= x=todo-update.api x
1414++ item-mark-id |= x=todo-item.api x
15++$ model [todos=(list item.api) draft=@t error=(unit @t)]
16++$ msg
17+ [%got todos=(list item.api)]
18+ %other
19+++ subs |= m=model
20+ ^- (list (sub msg))
21+ ~[[%watch (todos.api |=%got)]]
tools/testdata/ship-selftest+2−1
@@ -314,7 +314,8 @@ def generator_checks(tmp):
314314 'tests/lib/jibb-closed-gate-guards.hoon',
315315 'tests/lib/jibb-todo-api.hoon',
316316 'tests/lib/jibb-constructor-fit-guards.hoon',
317− 'tests/lib/jibb-sub-guards.hoon'}
317+ 'tests/lib/jibb-sub-guards.hoon',
318+ 'tests/lib/jibb-nested-union-guards.hoon'}
318319 <= normal_tests, sorted(normal_tests))
319320 for label, kwargs in (('custom library', {'lib': STUB}),
320321 ('custom goldens', {'golden': CASES}),
tools/type-nested-union-guards-testnew file+29
@@ -0,0 +1,29 @@
1+#!/usr/bin/env python3
2+"""Run the shared nested union context guards under eval."""
3+from pathlib import Path
4+import argparse
5+import subprocess
6+import sys
7+import tempfile
8+
9+root = Path(__file__).resolve().parent.parent
10+parser = argparse.ArgumentParser(description=__doc__)
11+parser.add_argument('--lib', default=str(root / 'jibb-dev/lib/jibb.hoon'))
12+args = parser.parse_args()
13+tests = (root / 'tests/lib/jibb-nested-union-guards.hoon').read_text()
14+tests = tests[tests.index('\n|%\n') + 1:]
15+expression = ('=/ jibb .\n=/ suite\n' + tests +
16+ '\n=/ failures=(list tape) nested-union-guard-errors:suite\n^- @t\n' +
17+ "?~ failures 'nested union guards passed'\n" +
18+ '(of-wain:format (turn failures crip))\n')
19+with tempfile.TemporaryDirectory(prefix='jibb-nested-union-guards-') as tmp:
20+ program = Path(tmp) / 'guards.hoon'
21+ program.write_text(expression)
22+ result = subprocess.run([str(root / 'tools/hoon'), '--lib', args.lib,
23+ '--raw', '-f', str(program)], stdout=subprocess.PIPE)
24+if result.returncode:
25+ sys.exit(result.returncode)
26+if result.stdout != b'nested union guards passed\n':
27+ sys.stderr.buffer.write(result.stdout)
28+ sys.exit(1)
29+print('nested union context guards passed')