on master help sign in
Infer source-backed arithmetic without loobeans
1a891e2iko
docs/compiler.md+1−1
@@ -98,7 +98,7 @@ The source-backed `+api-path-analysis-source` is a separate partial analysis, no
98
98
99`+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.
99`+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.
100
100
101−The supplied prelude is parsed into a **partial interface**: all names actually declared in the source are reserved, while only the molds and values this fragment can infer are available. These include the validated standard `list` mold, `unit`, the doc-exact generic `cmd` union, `same`, `fall`, `need`, `bond`, `lure`, `weld`, `snoc`, `turn`, `flop`, `rear`, `drop`, `skim`, `skip`, `murn`, `join`, `snip`, `levy`, `lien`, `cork`, `corl`, `cury` and `curr`; unsupported entries remain unavailable. The validated `list` is injected while the prelude’s gates are inferred; `weld` and `turn` use ordinary explicit result casts. An absent or altered `list` is not injected, and an altered declaration cannot leak through a direct or transitive mold alias. The same validated template is available when prelude mold aliases are prepared, so supported direct and transitive aliases can use it. A named prelude union keeps the fixed `/lib/jibb/prelude/jibb` origin in every module, and its name remains unqualified when a library exports a type containing it. The prelude inventory is incomplete, so reserving the names in this source does not establish complete shadowing coverage. The source-backed internal prelude defines `poke`, which the public prelude re-exports as an ordinary transparent type. A dedicated trusted internal-prelude preparation path also supplies an atom-constrained private comparison scheme for a Jibb-written `gth` wrapper. Ordinary module resolution rejects that primitive path even if a caller supplies a spoofed root or bundle. The low-level prepared interface is still trusted host input; the host must select the vendored sources and canonicalize paths. Primitive execution and shape-based jet recognition are not implemented. Addition, decrement and length remain unavailable until arithmetic constraints distinguish their results from loobeans. The partial checker resolves its supported source shape, preserves its public name, and rejects ordinary imports of the private internal path. An imported API with one mark and a matching direct `+$ poke` declaration can export a derived constructor and retain agent/mark metadata when the source representation has the supported agent case. Other API shapes, complete private module checking, root API and kind checking, stores, `ask`, `pure`, lowering and runtime effects remain unfinished. A possible store or root API declaring `+$ poke` reports that kind or scope needs unsupported inference; definite duplicate declarations and unrelated shadowing still report conflicts. Prepared interfaces and caches are trusted caller inputs; the future host and linker must ensure the private source validated during preparation is the same version used to lower derived constructors. A `*` payload may contain gates, so the fragment treats it conservatively; full gate-free checks are unfinished. The shared module-scope fixture compares the prepared and source-taking paths against the real prelude and a two-module golden under eval and on the ship.
101+The supplied prelude is parsed into a **partial interface**: all names actually declared in the source are reserved, while only the molds and values this fragment can infer are available. These include the validated standard `list` mold, `unit`, the doc-exact generic `cmd` union, `same`, `fall`, `need`, `bond`, `lure`, `weld`, `snoc`, `turn`, `flop`, `rear`, `drop`, `skim`, `skip`, `murn`, `join`, `snip`, `levy`, `lien`, `cork`, `corl`, `cury` and `curr`; unsupported entries remain unavailable. The validated `list` is injected while the prelude’s gates are inferred; `weld` and `turn` use ordinary explicit result casts. An absent or altered `list` is not injected, and an altered declaration cannot leak through a direct or transitive mold alias. The same validated template is available when prelude mold aliases are prepared, so supported direct and transitive aliases can use it. A named prelude union keeps the fixed `/lib/jibb/prelude/jibb` origin in every module, and its name remains unqualified when a library exports a type containing it. The prelude inventory is incomplete, so reserving the names in this source does not establish complete shadowing coverage. The source-backed internal prelude defines `poke`, which the public prelude re-exports as an ordinary transparent type. A dedicated trusted internal-prelude preparation path also supplies private comparison and arithmetic schemes for the Jibb-written `gth`, `add` and `dec` wrappers. Ordinary module resolution rejects that primitive path even if a caller supplies a spoofed root or bundle. The low-level prepared interface is still trusted host input; the host must select the vendored sources and canonicalize paths. Primitive execution and shape-based jet recognition are not implemented. The source-backed `add` and `dec` wrappers use private arithmetic interfaces whose shared atom variable excludes loobeans; the partial checker preserves that constraint through supported inference and prints `where A is an atom other than ?`. Length and primitive execution remain unavailable. The partial checker resolves its supported source shape, preserves its public name, and rejects ordinary imports of the private internal path. An imported API with one mark and a matching direct `+$ poke` declaration can export a derived constructor and retain agent/mark metadata when the source representation has the supported agent case. Other API shapes, complete private module checking, root API and kind checking, stores, `ask`, `pure`, lowering and runtime effects remain unfinished. A possible store or root API declaring `+$ poke` reports that kind or scope needs unsupported inference; definite duplicate declarations and unrelated shadowing still report conflicts. Prepared interfaces and caches are trusted caller inputs; the future host and linker must ensure the private source validated during preparation is the same version used to lower derived constructors. A `*` payload may contain gates, so the fragment treats it conservatively; full gate-free checks are unfinished. The shared module-scope fixture compares the prepared and source-taking paths against the real prelude and a two-module golden under eval and on the ship.
102
102
103`+prepare-prelude` derives the interface and declared-name inventory from the trusted vendored source. Hosts can reuse its result with `+golden-types-with-prepared-prelude`; they must pass the unchanged result of preparation, not an independently constructed value. Empty, malformed and duplicate-name prelude sources fail closed. The source-taking `+prepare-prelude` and `+golden-types-with-prelude` do not supply the internal module; their `-and-internal` or `-with-internal` variants accept its source for the supported private import. API files, modules with `main`, unsupported definitions and many other features remain outside this subset. The older `+golden-types-with-modules` entry point fails closed for imports because it has no prelude scope. None of these partial reports claims the module has been checked.
103`+prepare-prelude` derives the interface and declared-name inventory from the trusted vendored source. Hosts can reuse its result with `+golden-types-with-prepared-prelude`; they must pass the unchanged result of preparation, not an independently constructed value. Empty, malformed and duplicate-name prelude sources fail closed. The source-taking `+prepare-prelude` and `+golden-types-with-prelude` do not supply the internal module; their `-and-internal` or `-with-internal` variants accept its source for the supported private import. API files, modules with `main`, unsupported definitions and many other features remain outside this subset. The older `+golden-types-with-modules` entry point fails closed for imports because it has no prelude scope. None of these partial reports claims the module has been checked.
104
104
docs/development.md+2
@@ -70,6 +70,7 @@ git clone https://github.com/urbit/tools /root/src/tools
70| `tools/type-list-alias-test` | Runs the shared prelude list-alias and provenance guards under eval and on the ship |
70| `tools/type-list-alias-test` | Runs the shared prelude list-alias and provenance guards under eval and on the ship |
71| `tools/type-qath-guards-test` | Runs source-provenance, recursive unfolding and face guards under eval and on the ship |
71| `tools/type-qath-guards-test` | Runs source-provenance, recursive unfolding and face guards under eval and on the ship |
72| `tools/type-proj-guards-test` | Runs projection evidence, name-scope and dependency guards under eval and on the ship |
72| `tools/type-proj-guards-test` | Runs projection evidence, name-scope and dependency guards under eval and on the ship |
73+| `tools/type-arithmetic-guards-test` | Runs restricted atom-variable, unification and projection guards under eval and on the ship |
73| `tools/type-module-scope-test` | Checks the partial module checker’s prelude boundary and duplicate-source rejection against `tests/type-module-scope/expected.txt` under eval |
74| `tools/type-module-scope-test` | Checks the partial module checker’s prelude boundary and duplicate-source rejection against `tests/type-module-scope/expected.txt` under eval |
74| `tools/clay-fixtures` | Syncs `my-app`, builds its example `/sur` files and marks through Clay, checks selected mold and mark projections and the partial checker, and records Ford and mark subject shapes on the fake ship |
75| `tools/clay-fixtures` | Syncs `my-app`, builds its example `/sur` files and marks through Clay, checks selected mold and mark projections and the partial checker, and records Ford and mark subject shapes on the fake ship |
75| `tools/hoon` | Evaluates Hoon with the library in scope, as `tools/hoon '(golden /a/b/jibb (crip "++ main view"))'`; `--cord name=file` binds a file's text, `-f` reads the expression from a file |
76| `tools/hoon` | Evaluates Hoon with the library in scope, as `tools/hoon '(golden /a/b/jibb (crip "++ main view"))'`; `--cord name=file` binds a file's text, `-f` reads the expression from a file |
@@ -96,6 +97,7 @@ tools/type-hole-guards-test # hole defaulting and API guards pass
96tools/type-list-alias-test # prelude list-alias guards pass
97tools/type-list-alias-test # prelude list-alias guards pass
97tools/type-qath-guards-test # qath source and unfolding guards pass
98tools/type-qath-guards-test # qath source and unfolding guards pass
98tools/type-proj-guards-test # projection evidence and scope guards pass
99tools/type-proj-guards-test # projection evidence and scope guards pass
100+tools/type-arithmetic-guards-test # arithmetic constraint guards pass
99tools/type-module-scope-test # module/prelude scope golden report matches
101tools/type-module-scope-test # module/prelude scope golden report matches
100tools/hoon check-spans-test # prints <<>>
102tools/hoon check-spans-test # prints <<>>
101tools/hoon itype-unify-test # type-unification controls pass
103tools/hoon itype-unify-test # type-unification controls pass
docs/open-questions.md+2−2
@@ -18,7 +18,7 @@ On 2026-10-30, @iko adopted gate-free `eq` arguments and map and set keys, treat
18
18
19## Questions milestone 2 raises
19## Questions milestone 2 raises
20
20
21−Found while writing [prompts/milestone-2.md](prompts/milestone-2.md), checking it against the doc's examples, and building the checker. The numbering is retained so existing references stay valid. Questions 3, 18 and 33 remain open; the field-order detail in question 32 is being clarified. The other questions are settled.
21+Found while writing [prompts/milestone-2.md](prompts/milestone-2.md), checking it against the doc's examples, and building the checker. The numbering is retained so existing references stay valid. Questions 3 and 18 remain open; the field-order detail in question 32 is being clarified. The other questions are settled.
22
22
231. **Settled: how the prelude identifies jetted functions.** On 2026-10-30, @iko said the prelude functions have working Jibb implementations, and the compiler recognizes their shapes and uses the Hoon versions so jets can fire.
231. **Settled: how the prelude identifies jetted functions.** On 2026-10-30, @iko said the prelude functions have working Jibb implementations, and the compiler recognizes their shapes and uses the Hoon versions so jets can fire.
242. **Settled: how the prelude keeps helpers private.** On 2026-10-30, @iko chose a separate internal prelude module imported by the prelude, without exposing the imported helpers.
242. **Settled: how the prelude keeps helpers private.** On 2026-10-30, @iko chose a separate internal prelude module imported by the prelude, without exposing the imported helpers.
@@ -62,7 +62,7 @@ Found while writing [prompts/milestone-2.md](prompts/milestone-2.md), checking i
62
62
6332. **Partly settled: type-directed record projection.** On 2026-10-31, @iko chose an explicit `(proj record)` whose expected result type selects the fields. There is no automatic projection, and `proj` is reserved against definitions and imports. The result contains exactly the fields of its expected type. Whether the result may reorder fields from the source remains open.
6332. **Partly settled: type-directed record projection.** On 2026-10-31, @iko chose an explicit `(proj record)` whose expected result type selects the fields. There is no automatic projection, and `proj` is reserved against definitions and imports. The result contains exactly the fields of its expected type. Whether the result may reorder fields from the source remains open.
64
64
65−33. **Watching a request with unknown provenance.** An island cannot watch an API case that needs a separate scry path, but `ask` is transparent and a request can be constructed, selected or passed through a gate. If the checker cannot prove whether a request is watchable, must it reject the watch, or can a runtime check decide? Asked @iko on 2026-10-31; proposed: require proof at compile time, so the stated island restriction holds before execution.
65+33. **Settled: watching a request with unknown provenance.** On 2026-10-31, @iko said an island may watch a request only if the checker proves it watchable at compile time. An unknown request, including one built or passed through a gate without sufficient evidence, is rejected rather than deferred to a runtime check.
66
66
67## Grammar questions never put to the doc's author
67## Grammar questions never put to the doc's author
68
68
docs/prelude-inventory.md+1−1
@@ -14,7 +14,7 @@ Hoon `+$` arms are marked **mold** below; `++` arms can be gates, doors or mold
14
14
15`add`, `dec`, `div`, `dvr`, `gte`, `gth`, `lte`, `lth`, `max`, `min`, `mod`, `mul`, `sub`.
15`add`, `dec`, `div`, `dvr`, `gte`, `gth`, `lte`, `lth`, `max`, `min`, `mod`, `mul`, `sub`.
16
16
17−The source-backed `gth` gate calls a compiler-supplied private comparison interface. The partial checker accepts supported equal-aura atom arguments, including loobeans, and returns `?`; lowering, jet recognition and execution remain unfinished. `add` and `dec` are not yet exposed: treating every atom-constrained type as closed under arithmetic would incorrectly infer loobean results for operations that can produce other atoms.
17+The source-backed `gth` gate calls a compiler-supplied private comparison interface. The partial checker accepts supported equal-aura atom arguments, including loobeans, and returns `?`; lowering, jet recognition and execution remain unfinished. The public `add` and `dec` gates are written in Jibb over private primitive interfaces. The partial checker infers a shared atom type that excludes loobeans, including through supported generic calls. Primitive execution and jet recognition remain unfinished.
18
18
19## 1c
19## 1c
20
20
docs/prompts/milestone-2.md+1−1
@@ -109,7 +109,7 @@ The rules are scattered across the tabs. This is a map of them, not a replacemen
109- "Island data and models can't hold gates; the checker names the field."
109- "Island data and models can't hold gates; the checker names the field."
110
110
111**API files, stores and derived gates** (overview: Agent APIs, Effects; Grammar: Modules)
111**API files, stores and derived gates** (overview: Agent APIs, Effects; Grammar: Modules)
112−- `/ui/api/<agent>.jibb` declares `+$ poke` and `+$ paths`; "`poke` and `paths` are declarations, not molds." "A path case is a request name, a path and a type", and "A case can name another scry path, as in `[%changes /updates (facts todos todo-update) scry=/todos]`, used only by pages." An island watching a request whose case has `scry=` has a type error.
112+- `/ui/api/<agent>.jibb` declares `+$ poke` and `+$ paths`; "`poke` and `paths` are declarations, not molds." "A path case is a request name, a path and a type", and "A case can name another scry path, as in `[%changes /updates (facts todos todo-update) scry=/todos]`, used only by pages." An island may watch a request only when the checker proves it is watchable; a separate `scry=` path or unknown watchability is a type error.
113- Each poke type gives a constructor, as `todo-action.todo`, and each path case a request, as `(todos.todo |=%got)`. A path with typed segments takes them too: the overview's `(post.api slug same)` suggests they come first. A `(facts full diff …)` case's request also takes a fold, as `$-([[%todo-update todo-update] todos] todos)`.
113- Each poke type gives a constructor, as `todo-action.todo`, and each path case a request, as `(todos.todo |=%got)`. A path with typed segments takes them too: the overview's `(post.api slug same)` suggests they come first. A `(facts full diff …)` case's request also takes a fold, as `$-([[%todo-update todo-update] todos] todos)`.
114- A store's `+$ poke` is a declaration, not a mold. A store exports a constructor per poke type and a `state` request. Clashing derived names are errors, including clashes with an import face. The checker must account for the fact that the type of `main` determines whether a module is a store.
114- A store's `+$ poke` is a declaration, not a mold. A store exports a constructor per poke type and a `state` request. Clashing derived names are errors, including clashes with an import face. The checker must account for the fact that the type of `main` determines whether a module is a store.
115
115
docs/spec/decisions.md+1−1
@@ -33,7 +33,7 @@ The choices behind the Language tab, made on 2026-10-23; a later date marks a re
33| Inference | Hindley–Milner with aura variables; `@` is any atom, a specific atom fits `@` and a more specific aura fits an ancestor in its Hoon aura family, but each reverse needs a check, and repeated atom-constrained capitals give the same type; a number takes `@ud` only where its `++` isn't generic over its aura; distinct specific auras remain distinct; faces are part of record types, and an unnamed position can take a face but two different faces don't unify; principal types | Decided 2026-10-30 |
33| Inference | Hindley–Milner with aura variables; `@` is any atom, a specific atom fits `@` and a more specific aura fits an ancestor in its Hoon aura family, but each reverse needs a check, and repeated atom-constrained capitals give the same type; a number takes `@ud` only where its `++` isn't generic over its aura; distinct specific auras remain distinct; faces are part of record types, and an unnamed position can take a face but two different faces don't unify; principal types | Decided 2026-10-30 |
34| Effects | The library unions `cmd` and `sub`; `poke`, `ask` and `qath` are transparent types defined in the internal prelude and re-exported normally; derived gates and `pure` also construct requests; islands read agents only by watching; replies get full state, and diffs take a fold; timers carry the time; `%who` gives the owner's `@p`; nacks reach replies as text | Decided 2026-10-31 |
34| Effects | The library unions `cmd` and `sub`; `poke`, `ask` and `qath` are transparent types defined in the internal prelude and re-exported normally; derived gates and `pure` also construct requests; islands read agents only by watching; replies get full state, and diffs take a fold; timers carry the time; `%who` gives the owner's `@p`; nacks reach replies as text | Decided 2026-10-31 |
35| Poke representation | The source-backed private internal prelude module defines `poke`, and the public prelude re-exports it as an ordinary transparent type. Ordinary modules can construct and inspect its values | Decided 2026-10-31 |
35| Poke representation | The source-backed private internal prelude module defines `poke`, and the public prelude re-exports it as an ordinary transparent type. Ordinary modules can construct and inspect its values | Decided 2026-10-31 |
36−| Agent APIs | `/ui/api/<agent>.jibb` with `+$ poke` and `+$ paths`, over the agent's mark types; a case is a name, a path and a type, with `(facts full diff …)` for diffs, told apart by mark; an optional scry path, for pages; an island watching such a request has a type error; typed segments by aura | Decided 2026-10-30 |
36+| Agent APIs | `/ui/api/<agent>.jibb` with `+$ poke` and `+$ paths`, over the agent's mark types; a case is a name, a path and a type, with `(facts full diff …)` for diffs, told apart by mark; an optional scry path, for pages; an island may watch a request only when the checker proves it is watchable, so a separate scry path or unknown watchability is an error; typed segments by aura | Decided 2026-10-31 |
37| Mark names | Any name: `/%` names types after marks, and constructors poke with their type's mark; no alias marks | Decided 2026-10-26 |
37| Mark names | Any name: `/%` names types after marks, and constructors poke with their type's mark; no alias marks | Decided 2026-10-26 |
38| Derived gates | API files and stores give a constructor per poke type and a checked request per path or store state; clashing names are errors, including a derived name that clashes with an import face | Decided 2026-10-30 |
38| Derived gates | API files and stores give a constructor per poke type and a checked request per path or store state; clashing names are errors, including a derived name that clashes with an import face | Decided 2026-10-30 |
39| Hoon types | A fixed translation table; `map`, `set`, `qeu`, `jar`, `jug` by name; `mop` as `(mop K V)`, read with `on`; imported `$%`, `$?` and `$^` cases must differ as nouns, and records with duplicate field names are errors where used; unused molds skipped | Decided 2026-10-30 |
39| Hoon types | A fixed translation table; `map`, `set`, `qeu`, `jar`, `jug` by name; `mop` as `(mop K V)`, read with `on`; imported `$%`, `$?` and `$^` cases must differ as nouns, and records with duplicate field names are errors where used; unused molds skipped | Decided 2026-10-30 |
docs/spec/grammar.md+1−1
@@ -102,7 +102,7 @@ A file is a module: imports, then definitions.
102- Molds and values have separate namespaces, told apart by position: `todo-action.todo` is a mold and its constructor, `todos.todo` a mold and a request.
102- Molds and values have separate namespaces, told apart by position: `todo-action.todo` is a mold and its constructor, `todos.todo` a mold and a request.
103- `main`'s type decides the kind: `(element !!)` a page; `(page R D)` a page with data, from parameters `R` to data `D`; `(program D X M)` an island, with data, model and messages; `(store S)` a store with state `S`. They're built by `(page load view)`, `(program init update view subs)` and `(store init update)`. A module without `main` is a library.
103- `main`'s type decides the kind: `(element !!)` a page; `(page R D)` a page with data, from parameters `R` to data `D`; `(program D X M)` an island, with data, model and messages; `(store S)` a store with state `S`. They're built by `(page load view)`, `(program init update view subs)` and `(store init update)`. A module without `main` is a library.
104- Everything is exported and read through the import's face, as `card.card`. The prelude keeps private helpers in a separate internal module; it imports them without exposing them.
104- Everything is exported and read through the import's face, as `card.card`. The prelude keeps private helpers in a separate internal module; it imports them without exposing them.
105−- An API module, `/ui/api/<agent>.jibb`, also exports derived gates: a constructor per `poke` type, adding the agent and mark, and a request per `paths` case, taking a reply over full state, plus a fold for `(facts full diff …)`. An island that watches a request whose case has a separate `scry=` path has a type error. A store's `+$ poke` is a declaration, not a mold; a store exports a constructor per `poke` type and a `state` request. Clashing derived names are errors, including a derived name that clashes with an import face.
105+- An API module, `/ui/api/<agent>.jibb`, also exports derived gates: a constructor per `poke` type, adding the agent and mark, and a request per `paths` case, taking a reply over full state, plus a fold for `(facts full diff …)`. An island may watch a request only when the checker proves it is watchable. A request whose case has a separate `scry=` path, or whose watchability cannot be proved, is a type error. A store's `+$ poke` is a declaration, not a mold; a store exports a constructor per `poke` type and a `state` request. Clashing derived names are errors, including a derived name that clashes with an import face.
106
106
107Names the host reads, by file:
107Names the host reads, by file:
108
108
docs/spec/overview.md+1−1
@@ -152,7 +152,7 @@ Loads and renders run in Nock.
152
152
153- `poke`, `ask` and `qath` are transparent types defined in the internal prelude and re-exported normally. Derived gates and `pure` also construct requests. A derived poke constructor such as `(todo-action.todo [%add draft.m])` checks its value and supplies the agent and mark, so one island can poke several agents. The agent's mark rechecks on the ship; a nack's `tang` reaches the reply as text. Store constructors poke the store in the browser.
153- `poke`, `ask` and `qath` are transparent types defined in the internal prelude and re-exported normally. Derived gates and `pure` also construct requests. A derived poke constructor such as `(todo-action.todo [%add draft.m])` checks its value and supplies the agent and mark, so one island can poke several agents. The agent's mark rechecks on the ship; a nack's `tang` reaches the reply as text. Store constructors poke the store in the browser.
154- A request such as `(todos.todo |=%got)` comes from a declared path or a store's `state`; its reply always gets full state. A path with diffs also takes a fold, `(changes.todo |=%got apply)`, which the runtime applies first. Facts are checked; a bad one crashes the reply, which counts as a crashed `update`.
154- A request such as `(todos.todo |=%got)` comes from a declared path or a store's `state`; its reply always gets full state. A path with diffs also takes a fold, `(changes.todo |=%got apply)`, which the runtime applies first. Facts are checked; a bad one crashes the reply, which counts as a crashed `update`.
155−- Islands read agents only by watching. A watch's first fact must be full state, so watching a request whose path case has a separate `scry=` path is a type error in an island. The runtime acks facts, rewatches after a kick or a dropped connection and reseeds from the first fact; a refused watch shows the crash notice.
155+- Islands read agents only by watching. A watch's first fact must be full state, so watching a request whose path case has a separate `scry=` path is a type error in an island. The checker must prove a request is watchable; unknown watchability is also a type error. The runtime acks facts, rewatches after a kick or a dropped connection and reseeds from the first fact; a refused watch shows the crash notice.
156- Watches match by agent and path, timers by gap, and the newest reply is always used. After each `update`, `subs` is diffed to start and stop watches and timers. `%now` and `%every` give the time, `%who` the owner's `@p` from `/~/name`; `%wait` is a one-shot delay.
156- Watches match by agent and path, timers by gap, and the newest reply is always used. After each `update`, `subs` is diffed to start and stop watches and timers. `%now` and `%every` give the time, `%who` the owner's `@p` from `/~/name`; `%wait` is a one-shot delay.
157
157
158Inputs send a message per `input` event, and one per IME composition, so validation runs as you type; only commands reach the ship. After every event, controls reset to the latest view, so a toggle whose poke fails unchecks. A field's text is rewritten only when it differs, which keeps the caret. Fields are read-only until their island starts.
158Inputs send a message per `input` event, and one per IME composition, so validation runs as you type; only commands reach the ship. After every event, controls reset to the latest view, so a toggle whose poke fails unchecks. A field's text is rewritten only when it differs, which keeps the caret. Fields are read-only until their island starts.
docs/status.md+7−6
@@ -25,7 +25,7 @@ On 2026-10-31, @iko chose explicit, result-directed `(proj record)` to construct
25
25
26The internal prelude also defines `qath` as a transparent recursive knot sequence, re-exported by the public prelude. The partial checker recognizes its source identity, supports selected null/cell construction and matching, and types static application-path literals. Other recursive shapes, broader patterns and dynamic application-path segments remain unsupported. A 256-step limit applies per inference attempt, not to parsing or retries; checking routes and static files remains milestone 4. `ask` is still unfinished.
26The internal prelude also defines `qath` as a transparent recursive knot sequence, re-exported by the public prelude. The partial checker recognizes its source identity, supports selected null/cell construction and matching, and types static application-path literals. Other recursive shapes, broader patterns and dynamic application-path segments remain unsupported. A 256-step limit applies per inference attempt, not to parsing or retries; checking routes and static files remains milestone 4. `ask` is still unfinished.
27
27
28−The repository spec records the subsequent type-system and prelude decisions; those changes also need synchronization to the Claude document. An initial inference fragment and a standalone Hoon type reader are being tested. The fragment explicitly reports that it does not check a module; partial bridges pass Hoon `*` in supported nonrecursive molds, selected Hoon atoms, term singletons, the null singleton, the two loobean singletons and their exact fork, nested faced or unfaced cells, supported disjoint unions and opaque standard collections from `/sur` molds and marks into inference. Collections retain their names and supported arguments for printing and unification; nested supported union arguments are retained too. The bridge trusts unchanged results from the source-aware reader; a materialized type graph alone cannot reveal cases Hoon already collapsed. The source-validated standard prelude `list` mold shares this representation with imported lists; other Jibb-written collection molds and most prelude collection operations remain unsupported; malformed names and arities fail closed. Selected self-recursive `/sur` molds, including Tlon `notes.import-node` with list-wrapped self references, cross as opaque module-and-name identities; aliases, foreign references, recursive marks, unfolding and construction remain unsupported. The reader handles mark samples, including a source-proved nonrecursive union from a single Ford-imported `/sur` core, recursive molds whose origins can be verified through Ford imports, nested collections, direct ordered maps, including source-validated named operands such as Tlon `notes.log`, certain ordered-map fields, direct `$^` unions whose cases can be proved disjoint, and one verified explicit union argument in a list, set, map or unit. Tagged `$%` cases can additionally use restricted local named payload molds, bare `~` fields and one level of local named tagged unions, as in real Tlon `notes`, with bounded source proof; unsupported or ambiguous dependencies fail closed. Ambiguous recursive origins fail closed; recognizable explicit unions are checked from source before Hoon can collapse their cases, as @iko confirmed for imported `$%`, `$?` and `$^`, while other nested unions, nested ordered maps, general union disjointness and complete import integration remain unfinished. Opt-in structured reader APIs preserve successful graphs and distinguish definite unsupported-aura and core evidence from failures the reader cannot prove; unverified union disjointness and name-only vase recognition remain unsupported. They revalidate and re-walk failed types. An opt-in partial checker entry point consumes unchanged reader results and reports definite aura or core errors at imported mold use sites when their inputs are unique. Ordered replay covers nested cell samples, record and function casts, and non-generic same-module aliases; unsupported prefixes, cycles and shadowing stop it. Union molds, generic applications, transitive modules and unsupported reader outcomes remain generic. Replay repeats inference and may add work. The partial checker resolves a subset of ordinary library imports in dependency order using supplied Jibb sources and a source-derived partial prelude interface, caches completed interfaces per run, detects missing sources and cycles, and resolves nested fields of imported values with independent scheme instantiation. The source-backed internal prelude defines `poke` and the public prelude re-exports it as a transparent type. A dedicated trusted preparation path supplies a private comparison scheme to the Jibb-written `gth` wrapper; ordinary imports cannot access them. Primitive execution and jet recognition are unfinished, and addition, decrement and length remain unavailable until arithmetic constraints distinguish their results from loobeans. The partial checker resolves its supported source shape and rejects ordinary imports of the private path. An imported API with one mark and a matching direct `+$ poke` declaration can export a constructor and retain agent/mark metadata when the representation has the supported agent case. A separate partial analysis resolves supported API path declarations and their full and diff mark types, including the todo paths; it does not create requests or check an API module. Complete private module checking, other API shapes, request gates, root API and kind checking, stores, `ask`, `pure`, lowering and runtime effects remain unfinished. A possible store or root API with `+$ poke` reports unsupported kind or scope, while definite duplicates and unrelated shadowing still report conflicts. The prelude includes the doc-exact generic `cmd` union; the prelude inventory is incomplete. The inference fragment supports unrestricted `@`, selected one-way widenings including aura-family ancestors, generalized atom constraints arising from explicit capitals or bare sample binders, acyclic local value definitions with captures, selected single self-recursive top-level and local gates, simple and nonrecursive generic mold aliases, selected faced record casts and field reads, and contextual tags, `~` and constructors for closed disjoint unions, including direct nonrecursive generic unions and propagation through complete loobean and unit-shaped branches in casts and known union-sample calls, including nested branches. Known loobean result context also propagates through supported complete branches and binder-only cell arms; binder-only arms over union subjects remain unsupported. A directly known named union can instantiate an unconstrained generic gate sample with its origin, generic arguments and faces preserved; unnamed, pending, recursive and variable-bound cases remain unsupported. A known gate with an unresolved result variable can receive a known enclosing result type before its arguments are inferred; unknown calls and unresolved targets remain conservative. Multi-argument calls form a right-nested sample, retain known faces and shared type variables, and can use known sample positions to contextualize list and union arguments. A definite mismatch points to the failing argument when the fragment can establish it, otherwise to the combined sample; unsupported contextual forms still fail closed. For a supported recursive gate, the checker infers the sample first and uses its exact type, including field faces, for one monomorphic self reference. It generalizes after the body is checked; subsequent uses instantiate it independently. Incompatible recursive arguments can report the gate and argument sites. For a complete loobean branch with one direct self-call arm, a separately inferred closed base type can seed the recursive result before the whole body is checked. Open or pending base types do not seed it; other branch shapes remain subject to the fragment’s existing limits. A supported single local recursive gate also uses a monomorphic self reference and generalizes variables free of the enclosing environment after checking its body; captured variables remain shared. The checker collects written capitals per `++` before inference, excluding nested definitions: a capital used in an enclosing definition is shared with its locals even when written later, while a capital introduced only in a local definition is generalized there. Sibling locals can introduce independent capitals with the same spelling; generic mold parameters keep their own scope. Top-level groups of syntactic gates are inferred together with monomorphic placeholders and shared substitutions, then generalized only after the whole group checks; downstream uses and library interfaces instantiate those schemes independently. A dependency graph identifies groups with two iterative depth-first passes; its conservative local-reference edges can reject otherwise valid programs. Supported local mutually recursive gate groups also use shared monomorphic placeholders and generalize only after the group checks, preserving captured outer variables. A bounded dependency proof reports certain non-gate cycles through values and gates when an explicit atom or loobean result cast and simple unshadowed expressions establish the cycle. Other mixed gate/value cycles, polymorphic recursion, unresolved literal constraints and unresolved branch joins remain unsupported. Reporting repeats inference for a single recursive gate outside a group; grouped reports use the stored schemes. Its performance cost remains unmeasured. A single-arm cell pattern accepts two or more binders, the last capturing the remaining tail; duplicate and shadowed binders are rejected. A structured single-arm pattern also works for a known non-union cell when coverage is proven, including nested literal and wildcard positions. Intermediate union or collection tails, nested patterns, wildcards and faced records remain unsupported. String interpolation accepts known atom auras, unrestricted `@`, tapes and isolated decimal literals; a known cell asks for a printer, and an explicitly generic atom asks for an aura. Loobeans, term singletons, non-tape collections, open types and a type fixed only later remain unsupported. A known closed union with two or more arms supports patterns that provably cover or exclude each remaining case, including payload binders, imported and generic cases, and binder-free catch-alls. Partial boolean patterns can split known `?` positions into their two noun values, up to 64 alternatives across the union; binders retain their original case type. Missing alternatives and covered arms are reported. Other partial patterns, expansions above the limit, binders spanning distinct cases, differing arm result types and some complex two-arm subjects remain unsupported. A cast or known call sample can supply result context through whole-case arms and supported finite loobean refinements for a known union accessed by a wing, a grouped wing or a supported shallow call, including nested cell and list positions; other partial-pattern contexts and subject forms remain unsupported. The Grammar’s `step` block infers in this fragment, but its module is not yet checked. A bare tag proved absent from a known union reports the union and tag sites in casts, single-argument calls, unit payloads, list items and supported branch arms; imported unnamed unions print their cases. Ordered fit replay can identify a missing tag nested in a syntactic tuple, stopping at an earlier mismatch or uncertainty. Known faced records support uniquely named field changes, including nested wings, with field context passed to replacements and the original record type retained. Missing fields, empty changes and definite mismatches report sites; the expected-type site is the edit because the original field declaration location is not retained. Unknown or partly unfaced spines, ambiguous fields and repeated edits remain unsupported. A known record cast supplies field context to its tuple or record initializer, including nested list and union fields; mismatch diagnostics use the cast mold because the original field declaration location is not retained. Isolated cart-style `init` and `update` expressions infer, while the complete cart-store fails closed because its kind and declaration scope remain unchecked. Uncontextualized list literals infer a fresh element type, including empty and nested lists, with independently generalized uses. Unresolved item tags and uncertain widening remain unsupported. Backtick unit construction uses the validated standard prelude unit template, infers its payload without losing pending constraints, and makes the prelude’s `some` available. Ordinary result annotations also let its `bind`, `biff`, `both`, `clap`, `clef` and `flit` infer. A known unit in a cast, call, list item or record field supplies context to its payload, including nested units and lists; mismatches identify the payload and context. Unrelated union identities, some variable-dependent fits, and missing or altered prelude unit templates remain unsupported. Contextual null-headed cells fit their cases, but do not supply a `|=%$` constructor; unresolved nulls remain pending and are reported separately from tags. A known union of `~` and a null-headed cell supports a complete `~` / `[~ value]` branch in either order, including shadow checks; unknown subjects, missing or duplicate arms, and unresolved branch results remain unsupported. This fragment infers the prelude’s `fall` and `need` signatures. With the validated prelude list and a known cast or gate sample, empty, nonempty and nested list literals infer their element types, including contextual union tags; a mismatched element names both sites. In that context `~` and zero-valued terms fit an empty list, and two-item unfaced cells form cons lists, including nested cons and imported-list contexts; invalid heads or tails name both sites. A known gate sample also supplies context to matching positions in a single tuple or record argument, including nested cells; zero literals can fit list positions. A bound zero constant remains unsupported rather than a definite mismatch, and an unknown callee does not supply context. Faced or longer cells and a missing or altered prelude list fail closed. A known list result also supplies context through complete loobean, unit-shaped and list-shaped branches, including recursive and nested branches. For a known standard list with a supported element type, a complete `~` / `[item rest]` branch infers the element and tail types in either arm order and checks binders for shadowing. Unknown subjects, unsupported element types and other or incomplete list patterns remain unsupported. A value with type variable `A` can fit a field whose type is that same `A`, including in generic union payloads and nested or repeated record fields. Other variable-dependent face merges remain unsupported. Forced equality of distinct written capitals now reports both source sites, following @iko’s decision; forcing one to a concrete type remains unsupported. Imported record spines with repeated faces fail closed where used, but only with a generic unsupported diagnostic. Hoon may erase unfaced nested-cell boundaries, so the check can conservatively reject valid names in distinct erased scopes. Supported closed unions print using an in-scope name or imported alias; an unnamed nongeneric union prints its cases, parenthesized when nested. The latter is print-only. Generic union types retain all arguments in their printed name; if that name is unavailable, the partial printer reports the limitation. Different import faces for the same origin remain compatible; compatibility across distinct union origins and some generic-argument comparisons remain unsupported. Nonrecursive generic aliases can reorder, repeat or omit parameters while retaining a union’s origin, including through local scopes and library interfaces. A generic union declared directly inside a body remains unsupported, as do differing-variable face constraints in a union payload. A transitive generic union whose name is unavailable is reported as unsupported instead of hiding its arguments. Unfixed decimal literals default to `@ud` in gate-free inferred types; recursive molds, general branch tag context, other constraint cases and defaulting inside gate types still need work. Collection recognition checks the originating core and fails closed on shadows or unsupported Ford subject shapes; a wrapper regression also rejects forged subjects, samples and tails. Its golden fixtures include three real Tlon files. A Clay test passes a Ford-built nested union through the reader into partial inference. The partial prelude includes `murn`, `join`, `snip`, `rear` and the newly agreed shared-type `clap`, parsed but still awaiting checker and backend validation, and [prelude-inventory.md](prelude-inventory.md) is a source audit, not the complete inventory or signatures. The milestone remains unfinished.
28+The repository spec records the subsequent type-system and prelude decisions; those changes also need synchronization to the Claude document. An initial inference fragment and a standalone Hoon type reader are being tested. The fragment explicitly reports that it does not check a module; partial bridges pass Hoon `*` in supported nonrecursive molds, selected Hoon atoms, term singletons, the null singleton, the two loobean singletons and their exact fork, nested faced or unfaced cells, supported disjoint unions and opaque standard collections from `/sur` molds and marks into inference. Collections retain their names and supported arguments for printing and unification; nested supported union arguments are retained too. The bridge trusts unchanged results from the source-aware reader; a materialized type graph alone cannot reveal cases Hoon already collapsed. The source-validated standard prelude `list` mold shares this representation with imported lists; other Jibb-written collection molds and most prelude collection operations remain unsupported; malformed names and arities fail closed. Selected self-recursive `/sur` molds, including Tlon `notes.import-node` with list-wrapped self references, cross as opaque module-and-name identities; aliases, foreign references, recursive marks, unfolding and construction remain unsupported. The reader handles mark samples, including a source-proved nonrecursive union from a single Ford-imported `/sur` core, recursive molds whose origins can be verified through Ford imports, nested collections, direct ordered maps, including source-validated named operands such as Tlon `notes.log`, certain ordered-map fields, direct `$^` unions whose cases can be proved disjoint, and one verified explicit union argument in a list, set, map or unit. Tagged `$%` cases can additionally use restricted local named payload molds, bare `~` fields and one level of local named tagged unions, as in real Tlon `notes`, with bounded source proof; unsupported or ambiguous dependencies fail closed. Ambiguous recursive origins fail closed; recognizable explicit unions are checked from source before Hoon can collapse their cases, as @iko confirmed for imported `$%`, `$?` and `$^`, while other nested unions, nested ordered maps, general union disjointness and complete import integration remain unfinished. Opt-in structured reader APIs preserve successful graphs and distinguish definite unsupported-aura and core evidence from failures the reader cannot prove; unverified union disjointness and name-only vase recognition remain unsupported. They revalidate and re-walk failed types. An opt-in partial checker entry point consumes unchanged reader results and reports definite aura or core errors at imported mold use sites when their inputs are unique. Ordered replay covers nested cell samples, record and function casts, and non-generic same-module aliases; unsupported prefixes, cycles and shadowing stop it. Union molds, generic applications, transitive modules and unsupported reader outcomes remain generic. Replay repeats inference and may add work. The partial checker resolves a subset of ordinary library imports in dependency order using supplied Jibb sources and a source-derived partial prelude interface, caches completed interfaces per run, detects missing sources and cycles, and resolves nested fields of imported values with independent scheme instantiation. The source-backed internal prelude defines `poke` and the public prelude re-exports it as a transparent type. A dedicated trusted preparation path supplies private comparison and arithmetic schemes to the Jibb-written `gth`, `add` and `dec` wrappers; ordinary imports cannot access them. The public `add` and `dec` wrappers use private arithmetic interfaces; supported inference preserves the shared atom constraint that excludes loobeans. Primitive execution, jet recognition and length remain unfinished. The partial checker resolves its supported source shape and rejects ordinary imports of the private path. An imported API with one mark and a matching direct `+$ poke` declaration can export a constructor and retain agent/mark metadata when the representation has the supported agent case. A separate partial analysis resolves supported API path declarations and their full and diff mark types, including the todo paths; it does not create requests or check an API module. Complete private module checking, other API shapes, request gates, root API and kind checking, stores, `ask`, `pure`, lowering and runtime effects remain unfinished. A possible store or root API with `+$ poke` reports unsupported kind or scope, while definite duplicates and unrelated shadowing still report conflicts. The prelude includes the doc-exact generic `cmd` union; the prelude inventory is incomplete. The inference fragment supports unrestricted `@`, selected one-way widenings including aura-family ancestors, generalized atom constraints arising from explicit capitals or bare sample binders, acyclic local value definitions with captures, selected single self-recursive top-level and local gates, simple and nonrecursive generic mold aliases, selected faced record casts and field reads, and contextual tags, `~` and constructors for closed disjoint unions, including direct nonrecursive generic unions and propagation through complete loobean and unit-shaped branches in casts and known union-sample calls, including nested branches. Known loobean result context also propagates through supported complete branches and binder-only cell arms; binder-only arms over union subjects remain unsupported. A directly known named union can instantiate an unconstrained generic gate sample with its origin, generic arguments and faces preserved; unnamed, pending, recursive and variable-bound cases remain unsupported. A known gate with an unresolved result variable can receive a known enclosing result type before its arguments are inferred; unknown calls and unresolved targets remain conservative. Multi-argument calls form a right-nested sample, retain known faces and shared type variables, and can use known sample positions to contextualize list and union arguments. A definite mismatch points to the failing argument when the fragment can establish it, otherwise to the combined sample; unsupported contextual forms still fail closed. For a supported recursive gate, the checker infers the sample first and uses its exact type, including field faces, for one monomorphic self reference. It generalizes after the body is checked; subsequent uses instantiate it independently. Incompatible recursive arguments can report the gate and argument sites. For a complete loobean branch with one direct self-call arm, a separately inferred closed base type can seed the recursive result before the whole body is checked. Open or pending base types do not seed it; other branch shapes remain subject to the fragment’s existing limits. A supported single local recursive gate also uses a monomorphic self reference and generalizes variables free of the enclosing environment after checking its body; captured variables remain shared. The checker collects written capitals per `++` before inference, excluding nested definitions: a capital used in an enclosing definition is shared with its locals even when written later, while a capital introduced only in a local definition is generalized there. Sibling locals can introduce independent capitals with the same spelling; generic mold parameters keep their own scope. Top-level groups of syntactic gates are inferred together with monomorphic placeholders and shared substitutions, then generalized only after the whole group checks; downstream uses and library interfaces instantiate those schemes independently. A dependency graph identifies groups with two iterative depth-first passes; its conservative local-reference edges can reject otherwise valid programs. Supported local mutually recursive gate groups also use shared monomorphic placeholders and generalize only after the group checks, preserving captured outer variables. A bounded dependency proof reports certain non-gate cycles through values and gates when an explicit atom or loobean result cast and simple unshadowed expressions establish the cycle. Other mixed gate/value cycles, polymorphic recursion, unresolved literal constraints and unresolved branch joins remain unsupported. Reporting repeats inference for a single recursive gate outside a group; grouped reports use the stored schemes. Its performance cost remains unmeasured. A single-arm cell pattern accepts two or more binders, the last capturing the remaining tail; duplicate and shadowed binders are rejected. A structured single-arm pattern also works for a known non-union cell when coverage is proven, including nested literal and wildcard positions. Intermediate union or collection tails, nested patterns, wildcards and faced records remain unsupported. String interpolation accepts known atom auras, unrestricted `@`, tapes and isolated decimal literals; a known cell asks for a printer, and an explicitly generic atom asks for an aura. Loobeans, term singletons, non-tape collections, open types and a type fixed only later remain unsupported. A known closed union with two or more arms supports patterns that provably cover or exclude each remaining case, including payload binders, imported and generic cases, and binder-free catch-alls. Partial boolean patterns can split known `?` positions into their two noun values, up to 64 alternatives across the union; binders retain their original case type. Missing alternatives and covered arms are reported. Other partial patterns, expansions above the limit, binders spanning distinct cases, differing arm result types and some complex two-arm subjects remain unsupported. A cast or known call sample can supply result context through whole-case arms and supported finite loobean refinements for a known union accessed by a wing, a grouped wing or a supported shallow call, including nested cell and list positions; other partial-pattern contexts and subject forms remain unsupported. The Grammar’s `step` block infers in this fragment, but its module is not yet checked. A bare tag proved absent from a known union reports the union and tag sites in casts, single-argument calls, unit payloads, list items and supported branch arms; imported unnamed unions print their cases. Ordered fit replay can identify a missing tag nested in a syntactic tuple, stopping at an earlier mismatch or uncertainty. Known faced records support uniquely named field changes, including nested wings, with field context passed to replacements and the original record type retained. Missing fields, empty changes and definite mismatches report sites; the expected-type site is the edit because the original field declaration location is not retained. Unknown or partly unfaced spines, ambiguous fields and repeated edits remain unsupported. A known record cast supplies field context to its tuple or record initializer, including nested list and union fields; mismatch diagnostics use the cast mold because the original field declaration location is not retained. Isolated cart-style `init` and `update` expressions infer, while the complete cart-store fails closed because its kind and declaration scope remain unchecked. Uncontextualized list literals infer a fresh element type, including empty and nested lists, with independently generalized uses. Unresolved item tags and uncertain widening remain unsupported. Backtick unit construction uses the validated standard prelude unit template, infers its payload without losing pending constraints, and makes the prelude’s `some` available. Ordinary result annotations also let its `bind`, `biff`, `both`, `clap`, `clef` and `flit` infer. A known unit in a cast, call, list item or record field supplies context to its payload, including nested units and lists; mismatches identify the payload and context. Unrelated union identities, some variable-dependent fits, and missing or altered prelude unit templates remain unsupported. Contextual null-headed cells fit their cases, but do not supply a `|=%$` constructor; unresolved nulls remain pending and are reported separately from tags. A known union of `~` and a null-headed cell supports a complete `~` / `[~ value]` branch in either order, including shadow checks; unknown subjects, missing or duplicate arms, and unresolved branch results remain unsupported. This fragment infers the prelude’s `fall` and `need` signatures. With the validated prelude list and a known cast or gate sample, empty, nonempty and nested list literals infer their element types, including contextual union tags; a mismatched element names both sites. In that context `~` and zero-valued terms fit an empty list, and two-item unfaced cells form cons lists, including nested cons and imported-list contexts; invalid heads or tails name both sites. A known gate sample also supplies context to matching positions in a single tuple or record argument, including nested cells; zero literals can fit list positions. A bound zero constant remains unsupported rather than a definite mismatch, and an unknown callee does not supply context. Faced or longer cells and a missing or altered prelude list fail closed. A known list result also supplies context through complete loobean, unit-shaped and list-shaped branches, including recursive and nested branches. For a known standard list with a supported element type, a complete `~` / `[item rest]` branch infers the element and tail types in either arm order and checks binders for shadowing. Unknown subjects, unsupported element types and other or incomplete list patterns remain unsupported. A value with type variable `A` can fit a field whose type is that same `A`, including in generic union payloads and nested or repeated record fields. Other variable-dependent face merges remain unsupported. Forced equality of distinct written capitals now reports both source sites, following @iko’s decision; forcing one to a concrete type remains unsupported. Imported record spines with repeated faces fail closed where used, but only with a generic unsupported diagnostic. Hoon may erase unfaced nested-cell boundaries, so the check can conservatively reject valid names in distinct erased scopes. Supported closed unions print using an in-scope name or imported alias; an unnamed nongeneric union prints its cases, parenthesized when nested. The latter is print-only. Generic union types retain all arguments in their printed name; if that name is unavailable, the partial printer reports the limitation. Different import faces for the same origin remain compatible; compatibility across distinct union origins and some generic-argument comparisons remain unsupported. Nonrecursive generic aliases can reorder, repeat or omit parameters while retaining a union’s origin, including through local scopes and library interfaces. A generic union declared directly inside a body remains unsupported, as do differing-variable face constraints in a union payload. A transitive generic union whose name is unavailable is reported as unsupported instead of hiding its arguments. Unfixed decimal literals default to `@ud` in gate-free inferred types; recursive molds, general branch tag context, other constraint cases and defaulting inside gate types still need work. Collection recognition checks the originating core and fails closed on shadows or unsupported Ford subject shapes; a wrapper regression also rejects forged subjects, samples and tails. Its golden fixtures include three real Tlon files. A Clay test passes a Ford-built nested union through the reader into partial inference. The partial prelude includes `murn`, `join`, `snip`, `rear` and the newly agreed shared-type `clap`, parsed but still awaiting checker and backend validation, and [prelude-inventory.md](prelude-inventory.md) is a source audit, not the complete inventory or signatures. The milestone remains unfinished.
29
29
30The shared prelude interface reserves every name present in the supplied vendored source and makes only supported inferred entries available, including `list`, `unit`, `same`, `fall`, `need`, `bond`, `lure`, `weld`, `snoc` and `turn`. The validated standard `list` mold is injected when the prelude’s own gates are inferred; `weld` and `turn` have ordinary explicit result casts. An absent or altered `list` is not injected, and an altered declaration cannot leak through direct or transitive mold aliases. The same validated template is available when prelude mold aliases are prepared, so supported direct and transitive aliases can use it. Unsupported entries such as most list helpers remain reserved but unavailable; backend validation of the helpers remains outstanding. All callers use the same prelude origin, so a library can export a type containing unqualified `(unit A)` to another module. Preparation rejects empty, malformed, conflicting or import-bearing source; the prepared value is trusted and must come unchanged from `+prepare-prelude`. The module-scope fixture compares the prepared and source-taking paths against the real prelude and a two-module golden under eval and on the ship. The source and checker remain incomplete, so this does not establish complete shadowing coverage or a checked module.
30The shared prelude interface reserves every name present in the supplied vendored source and makes only supported inferred entries available, including `list`, `unit`, `same`, `fall`, `need`, `bond`, `lure`, `weld`, `snoc` and `turn`. The validated standard `list` mold is injected when the prelude’s own gates are inferred; `weld` and `turn` have ordinary explicit result casts. An absent or altered `list` is not injected, and an altered declaration cannot leak through direct or transitive mold aliases. The same validated template is available when prelude mold aliases are prepared, so supported direct and transitive aliases can use it. Unsupported entries such as most list helpers remain reserved but unavailable; backend validation of the helpers remains outstanding. All callers use the same prelude origin, so a library can export a type containing unqualified `(unit A)` to another module. Preparation rejects empty, malformed, conflicting or import-bearing source; the prepared value is trusted and must come unchanged from `+prepare-prelude`. The module-scope fixture compares the prepared and source-taking paths against the real prelude and a two-module golden under eval and on the ship. The source and checker remain incomplete, so this does not establish complete shadowing coverage or a checked module.
31
31
@@ -45,8 +45,8 @@ What the plan asks for, and where it is:
45
45
46Besides the plan's list:
46Besides the plan's list:
47
47
48−- 628 golden cases: 408 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.
48+- 633 golden cases: 413 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.
49−- The 628-case corpus passed under `urbit eval` in 82.9 s while other checks were running. The fake ship passed all 642 tests, including the importer, importer/checker and mark/checker bridges, module scope, unification, hole, qath and projection guards, with 57.8 s for sync and 66.3 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.
49+- The 633-case corpus passed under `urbit eval` in 85.6 s while other checks were running. The fake ship passed all 648 tests, including the importer, importer/checker and mark/checker bridges, module scope, unification, hole, qath, projection and arithmetic guards, with 52.5 s for sync and 68.3 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.
50- `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.
50- `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.
51- 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.
51- 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.
52- 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).
52- 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).
@@ -129,14 +129,15 @@ Besides the plan's list:
129| ba1fec4 | 2026-10-31 | Add the curried `bond` prelude gate |
129| ba1fec4 | 2026-10-31 | Add the curried `bond` prelude gate |
130| 0ea700d | 2026-10-31 | Infer a source-defined recursive `qath` subset and record the explicit `proj` decision |
130| 0ea700d | 2026-10-31 | Infer a source-defined recursive `qath` subset and record the explicit `proj` decision |
131| 75f5952 | 2026-10-31 | Check a subset of explicit `proj` calls and retain their lowering evidence |
131| 75f5952 | 2026-10-31 | Check a subset of explicit `proj` calls and retain their lowering evidence |
132−| This change | 2026-10-31 | Infer supported single-field projections |
132+| cf17925 | 2026-10-31 | Infer supported single-field projections |
133+| This change | 2026-10-31 | Infer source-backed addition and decrement without loobean operands; record the watchability decision |
133
134
134## Checking it
135## Checking it
135
136
136On a machine set up as [development.md](development.md) says:
137On a machine set up as [development.md](development.md) says:
137
138
138```
139```
139−tools/golden # 628 cases under urbit eval
140+tools/golden # 633 cases under urbit eval
140tools/importer-test # the Hoon importer fixture projection
141tools/importer-test # the Hoon importer fixture projection
141tools/type-import-test # the importer/checker bridge fixture
142tools/type-import-test # the importer/checker bridge fixture
142tools/type-tlon-test # the real Tlon reader/checker fixture
143tools/type-tlon-test # the real Tlon reader/checker fixture
@@ -153,7 +154,7 @@ tools/testdata/selftest # the tools themselves
153tools/doc-blocks docs/spec # the doc's examples are golden cases
154tools/doc-blocks docs/spec # the doc's examples are golden cases
154tools/ship start
155tools/ship start
155tools/ship gen-tests --check # tests/lib/jibb.hoon is up to date
156tools/ship gen-tests --check # tests/lib/jibb.hoon is up to date
156−tools/ship test # the same 628 cases as -test arms on the ship
157+tools/ship test # the same 633 cases as -test arms on the ship
157tools/testdata/ship-selftest
158tools/testdata/ship-selftest
158tools/testdata/clay-fixtures-selftest # scratch fixture cleanup without a ship
159tools/testdata/clay-fixtures-selftest # scratch fixture cleanup without a ship
159tools/ship check-commit # |commit stores .jibb files
160tools/ship check-commit # |commit stores .jibb files
jibb-dev/lib/jibb.hoon+161−28
@@ -4623,7 +4623,7 @@
4623:: the private prelude dependency. A later lowerer must replace the call by
4623:: the private prelude dependency. A later lowerer must replace the call by
4624:: an inline gate applied to the operand once; no lowering is implemented yet.
4624:: an inline gate applied to the operand once; no lowering is implemented yet.
4625:: Ordinary fits never insert a projection. Unknown or variable-origin record
4625:: Ordinary fits never insert a projection. Unknown or variable-origin record
4626−:: spines, implicit narrowing inside selected fields, and projections in
4626+:: spines, nested projected fields and projections in
4627:: recursive groups remain unsupported. Directional fits bound faced-spine
4627:: recursive groups remain unsupported. Directional fits bound faced-spine
4628:: proofs to fewer than 1,024 cells; the projection planner has a separate
4628:: proofs to fewer than 1,024 cells; the projection planner has a separate
4629:: 4,096-step bound. These are inference limits, not language limits.
4629:: 4,096-step bound. These are inference limits, not language limits.
@@ -4632,7 +4632,9 @@
4632 $~ [%var 0]
4632 $~ [%var 0]
4633 $% [%var id=@ud]
4633 $% [%var id=@ud]
4634 [%avar id=@ud]
4634 [%avar id=@ud]
4635+ [%rvar id=@ud]
4635 [%nvar id=@ud]
4636 [%nvar id=@ud]
4637+ [%rnvar id=@ud]
4636 [%atom aura=@ta]
4638 [%atom aura=@ta]
4637 [%any-atom ~]
4639 [%any-atom ~]
4638 [%flag ~]
4640 [%flag ~]
@@ -4665,18 +4667,32 @@
4665 %var
4667 %var
4666 =/ found=(unit itype) (itype-lookup id.t sub)
4668 =/ found=(unit itype) (itype-lookup id.t sub)
4667 ?~ found t
4669 ?~ found t
4670+ ?: &(|(?=(%rvar -.u.found) ?=(%rnvar -.u.found)) =(id.t +.u.found)) u.found
4668 $(t u.found)
4671 $(t u.found)
4669 %avar
4672 %avar
4670 =/ found=(unit itype) (itype-lookup id.t sub)
4673 =/ found=(unit itype) (itype-lookup id.t sub)
4671 ?~ found t
4674 ?~ found t
4675+ ?: &(|(?=(%rvar -.u.found) ?=(%rnvar -.u.found)) =(id.t +.u.found)) u.found
4676+ $(t u.found)
4677+ %rvar
4678+ =/ found=(unit itype) (itype-lookup id.t sub)
4679+ ?~ found t
4680+ ?: &(|(?=(%rvar -.u.found) ?=(%rnvar -.u.found)) =(id.t +.u.found)) u.found
4672 $(t u.found)
4681 $(t u.found)
4673 %nvar
4682 %nvar
4674 =/ found=(unit itype) (itype-lookup id.t sub)
4683 =/ found=(unit itype) (itype-lookup id.t sub)
4675 ?~ found t
4684 ?~ found t
4685+ ?: &(|(?=(%rvar -.u.found) ?=(%rnvar -.u.found)) =(id.t +.u.found)) u.found
4686+ $(t u.found)
4687+ %rnvar
4688+ =/ found=(unit itype) (itype-lookup id.t sub)
4689+ ?~ found t
4690+ ?: &(|(?=(%rvar -.u.found) ?=(%rnvar -.u.found)) =(id.t +.u.found)) u.found
4676 $(t u.found)
4691 $(t u.found)
4677 %tag
4692 %tag
4678 =/ found=(unit itype) (itype-lookup id.t sub)
4693 =/ found=(unit itype) (itype-lookup id.t sub)
4679 ?~ found t
4694 ?~ found t
4695+ ?: &(|(?=(%rvar -.u.found) ?=(%rnvar -.u.found)) =(id.t +.u.found)) u.found
4680 $(t u.found)
4696 $(t u.found)
4681 ==
4697 ==
4682::
4698::
@@ -4687,7 +4703,9 @@
4687 ?- -.t
4703 ?- -.t
4688 %var =(n id.t)
4704 %var =(n id.t)
4689 %avar =(n id.t)
4705 %avar =(n id.t)
4706+ %rvar =(n id.t)
4690 %nvar =(n id.t)
4707 %nvar =(n id.t)
4708+ %rnvar =(n id.t)
4691 %atom |
4709 %atom |
4692 %any-atom |
4710 %any-atom |
4693 %flag |
4711 %flag |
@@ -4733,6 +4751,32 @@
4733 ?: ?=(%var -.b)
4751 ?: ?=(%var -.b)
4734 ?: (itype-occurs id.b a sub) ~
4752 ?: (itype-occurs id.b a sub) ~
4735 `[[id.b a] sub]
4753 `[[id.b a] sub]
4754+ :: Arithmetic's aura variable excludes loobeans; decimal literals
4755+ :: remain defaultable until a later constraint makes them concrete.
4756+ ?: &(?=(%nvar -.a) ?=(%rvar -.b))
4757+ `[[id.b [%rnvar id.a]] [id.a [%rnvar id.a]] sub]
4758+ ?: &(?=(%rvar -.a) ?=(%nvar -.b))
4759+ `[[id.a [%rnvar id.b]] [id.b [%rnvar id.b]] sub]
4760+ ?: &(?=(%rnvar -.a) ?=(%rvar -.b)) `[[id.b a] sub]
4761+ ?: &(?=(%rvar -.a) ?=(%rnvar -.b)) `[[id.a b] sub]
4762+ ?: &(?=(%rnvar -.a) ?=(%nvar -.b)) `[[id.b a] sub]
4763+ ?: &(?=(%nvar -.a) ?=(%rnvar -.b)) `[[id.a b] sub]
4764+ ?: &(?=(%rnvar -.a) ?=(%avar -.b)) `[[id.b a] sub]
4765+ ?: &(?=(%avar -.a) ?=(%rnvar -.b)) `[[id.a b] sub]
4766+ ?: ?=(%rnvar -.a)
4767+ ?. |(?=(%rnvar -.b) ?=(%atom -.b)) ~
4768+ `[[id.a b] sub]
4769+ ?: ?=(%rnvar -.b)
4770+ ?. ?=(%atom -.a) ~
4771+ `[[id.b a] sub]
4772+ ?: &(?=(%avar -.a) ?=(%rvar -.b)) `[[id.a b] sub]
4773+ ?: &(?=(%rvar -.a) ?=(%avar -.b)) `[[id.b a] sub]
4774+ ?: ?=(%rvar -.a)
4775+ ?. |(?=(%rvar -.b) ?=(%atom -.b)) ~
4776+ `[[id.a b] sub]
4777+ ?: ?=(%rvar -.b)
4778+ ?. ?=(%atom -.a) ~
4779+ `[[id.b a] sub]
4736 :: The narrower decimal constraint survives a match with an atom
4780 :: The narrower decimal constraint survives a match with an atom
4737 :: variable; decimal syntax alone does not make it a loobean.
4781 :: variable; decimal syntax alone does not make it a loobean.
4738 ?: &(?=(%nvar -.a) ?=(%avar -.b)) `[[id.b a] sub]
4782 ?: &(?=(%nvar -.a) ?=(%avar -.b)) `[[id.b a] sub]
@@ -4787,7 +4831,9 @@
4787 ?- -.t
4831 ?- -.t
4788 %var |
4832 %var |
4789 %avar |
4833 %avar |
4834+ %rvar |
4790 %nvar |
4835 %nvar |
4836+ %rnvar |
4791 %atom |
4837 %atom |
4792 %any-atom &
4838 %any-atom &
4793 %flag |
4839 %flag |
@@ -4859,7 +4905,9 @@
4859 ?- -.typ
4905 ?- -.typ
4860 %var |
4906 %var |
4861 %avar |
4907 %avar |
4908+ %rvar |
4862 %nvar |
4909 %nvar |
4910+ %rnvar |
4863 %atom &
4911 %atom &
4864 %any-atom &
4912 %any-atom &
4865 %flag &
4913 %flag &
@@ -4921,8 +4969,8 @@
4921 ?. =(name.a name.b) |
4969 ?. =(name.a name.b) |
4922 (itype-face-asym-collection-args args.a args.b sub)
4970 (itype-face-asym-collection-args args.a args.b sub)
4923 ?: &(?=(%face -.a) ?=(%face -.b)) $(a body.a, b body.b)
4971 ?: &(?=(%face -.a) ?=(%face -.b)) $(a body.a, b body.b)
4924− ?: ?=(%face -.a) !|(?=(%var -.b) ?=(%avar -.b) ?=(%nvar -.b))
4972+ ?: ?=(%face -.a) !|(?=(%var -.b) ?=(%avar -.b) ?=(%rvar -.b) |(?=(%nvar -.b) ?=(%rnvar -.b)))
4925− ?: ?=(%face -.b) !|(?=(%var -.a) ?=(%avar -.a) ?=(%nvar -.a))
4973+ ?: ?=(%face -.b) !|(?=(%var -.a) ?=(%avar -.a) ?=(%rvar -.a) |(?=(%nvar -.a) ?=(%rnvar -.a)))
4926 ?: &(?=(%cell -.a) ?=(%cell -.b)) |($(a hed.a, b hed.b) $(a tal.a, b tal.b))
4974 ?: &(?=(%cell -.a) ?=(%cell -.b)) |($(a hed.a, b hed.b) $(a tal.a, b tal.b))
4927 ?: &(?=(%fn -.a) ?=(%fn -.b)) |($(a sample.a, b sample.b) $(a product.a, b product.b))
4975 ?: &(?=(%fn -.a) ?=(%fn -.b)) |($(a sample.a, b sample.b) $(a product.a, b product.b))
4928 |
4976 |
@@ -5105,9 +5153,9 @@
5105 ?: too-wide [%unknown ~]
5153 ?: too-wide [%unknown ~]
5106 =/ spine-checked=? |(spine-proof ?=(^ known))
5154 =/ spine-checked=? |(spine-proof ?=(^ known))
5107 =/ uncertain=?
5155 =/ uncertain=?
5108− |(?=(%var -.actual) ?=(%avar -.actual) ?=(%nvar -.actual) ?=(%var -.expected) ?=(%avar -.expected) ?=(%nvar -.expected))
5156+ |(?=(%var -.actual) ?=(%avar -.actual) ?=(%rvar -.actual) |(?=(%nvar -.actual) ?=(%rnvar -.actual)) ?=(%var -.expected) ?=(%avar -.expected) ?=(%rvar -.expected) |(?=(%nvar -.expected) ?=(%rnvar -.expected)))
5109 =/ actual-open=?
5157 =/ actual-open=?
5110− |(?=(%var -.actual) ?=(%avar -.actual) ?=(%nvar -.actual))
5158+ |(?=(%var -.actual) ?=(%avar -.actual) ?=(%rvar -.actual) |(?=(%nvar -.actual) ?=(%rnvar -.actual)))
5111 =. actual (itype-walk actual sub)
5159 =. actual (itype-walk actual sub)
5112 =. expected (itype-walk expected sub)
5160 =. expected (itype-walk expected sub)
5113 ?: =(actual expected) [%ok sub next]
5161 ?: =(actual expected) [%ok sub next]
@@ -5150,7 +5198,7 @@
5150 ?: &(!uncertain ?=(%union -.actual) ?=(%face -.expected))
5198 ?: &(!uncertain ?=(%union -.actual) ?=(%face -.expected))
5151 $(expected body.expected)
5199 $(expected body.expected)
5152 ?: ?=(%union -.actual) [%unknown ~]
5200 ?: ?=(%union -.actual) [%unknown ~]
5153− ?: &(?=(%union -.expected) |(?=(%avar -.actual) ?=(%nvar -.actual))) [%unknown ~]
5201+ ?: &(?=(%union -.expected) |(?=(%avar -.actual) ?=(%rvar -.actual) |(?=(%nvar -.actual) ?=(%rnvar -.actual)))) [%unknown ~]
5154 ?: &(?=(%union -.expected) !?=(%var -.actual))
5202 ?: &(?=(%union -.expected) !?=(%var -.actual))
5155 (itype-fit-cases actual cases.expected sub next)
5203 (itype-fit-cases actual cases.expected sub next)
5156 ?: ?=(%tag -.actual)
5204 ?: ?=(%tag -.actual)
@@ -5158,7 +5206,7 @@
5158 =/ u=(unit isub) (itype-unify actual expected sub)
5206 =/ u=(unit isub) (itype-unify actual expected sub)
5159 ?~ u [%bad ~]
5207 ?~ u [%bad ~]
5160 [%ok u.u next]
5208 [%ok u.u next]
5161− ?: |(?=(%avar -.expected) ?=(%nvar -.expected)) [%unknown ~]
5209+ ?: |(?=(%avar -.expected) ?=(%rvar -.expected) |(?=(%nvar -.expected) ?=(%rnvar -.expected))) [%unknown ~]
5162 ?: ?=(%face -.expected) $(expected body.expected)
5210 ?: ?=(%face -.expected) $(expected body.expected)
5163 ?: constructor.actual
5211 ?: constructor.actual
5164 ?. ?=(%fn -.expected) [%bad ~]
5212 ?. ?=(%fn -.expected) [%bad ~]
@@ -5186,7 +5234,7 @@
5186 =/ u=(unit isub) (itype-unify actual expected sub)
5234 =/ u=(unit isub) (itype-unify actual expected sub)
5187 ?~ u [%bad ~]
5235 ?~ u [%bad ~]
5188 [%ok u.u next]
5236 [%ok u.u next]
5189− ?: |(?=(%avar -.expected) ?=(%nvar -.expected)) [%unknown ~]
5237+ ?: |(?=(%avar -.expected) ?=(%rvar -.expected) |(?=(%nvar -.expected) ?=(%rnvar -.expected))) [%unknown ~]
5190 ?: ?=(%face -.expected) $(expected body.expected)
5238 ?: ?=(%face -.expected) $(expected body.expected)
5191 ?: &(?=(%collection -.expected) =(%list name.expected) =(0 val.literal.actual))
5239 ?: &(?=(%collection -.expected) =(%list name.expected) =(0 val.literal.actual))
5192 [%unknown ~]
5240 [%unknown ~]
@@ -5200,8 +5248,14 @@
5200 ?: ?=(%any-atom -.expected) [%ok sub next]
5248 ?: ?=(%any-atom -.expected) [%ok sub next]
5201 [%bad ~]
5249 [%bad ~]
5202 ?: &(uncertain (itype-face-asym actual expected sub)) [%unknown ~]
5250 ?: &(uncertain (itype-face-asym actual expected sub)) [%unknown ~]
5251+ :: A known face labels the same noun. Peel it before applying the
5252+ :: directional unrestricted-atom rule, preserving raw-variable guards.
5253+ ?: &(!uncertain ?=(%any-atom -.actual) ?=(%face -.expected))
5254+ $(expected body.expected, skip-width |, spine-proof |)
5255+ ?: &(!uncertain ?=(%any-atom -.expected) ?=(%face -.actual))
5256+ $(actual body.actual, skip-width |, spine-proof |)
5203 ?: ?=(%any-atom -.expected)
5257 ?: ?=(%any-atom -.expected)
5204− ?: |(?=(%atom -.actual) ?=(%avar -.actual) ?=(%nvar -.actual) ?=(%flag -.actual)) [%ok sub next]
5258+ ?: |(?=(%atom -.actual) ?=(%avar -.actual) ?=(%rvar -.actual) |(?=(%nvar -.actual) ?=(%rnvar -.actual)) ?=(%flag -.actual)) [%ok sub next]
5205 ?: ?=(%var -.actual)
5259 ?: ?=(%var -.actual)
5206 =/ unified=(unit isub) (itype-unify actual [%avar next] sub)
5260 =/ unified=(unit isub) (itype-unify actual [%avar next] sub)
5207 ?~ unified [%bad ~]
5261 ?~ unified [%bad ~]
@@ -5212,7 +5266,7 @@
5212 =/ unified=(unit isub) (itype-unify actual expected sub)
5266 =/ unified=(unit isub) (itype-unify actual expected sub)
5213 ?~ unified [%bad ~]
5267 ?~ unified [%bad ~]
5214 [%ok u.unified next]
5268 [%ok u.unified next]
5215− ?: |(?=(%avar -.expected) ?=(%nvar -.expected)) [%unknown ~]
5269+ ?: |(?=(%avar -.expected) ?=(%rvar -.expected) |(?=(%nvar -.expected) ?=(%rnvar -.expected))) [%unknown ~]
5216 [%bad ~]
5270 [%bad ~]
5217 ?: &(?=(%atom -.actual) ?=(%atom -.expected))
5271 ?: &(?=(%atom -.actual) ?=(%atom -.expected))
5218 ?: (aura-prefix aura.expected aura.actual) [%ok sub next]
5272 ?: (aura-prefix aura.expected aura.actual) [%ok sub next]
@@ -5353,14 +5407,14 @@
5353 =/ index=(map term iwfield) *(map term iwfield)
5407 =/ index=(map term iwfield) *(map term iwfield)
5354 |-
5408 |-
5355 ?: =(0 fuel) ~
5409 ?: =(0 fuel) ~
5356− ?: |(?=(%var -.typ) ?=(%avar -.typ) ?=(%nvar -.typ)) ~
5410+ ?: |(?=(%var -.typ) ?=(%avar -.typ) ?=(%rvar -.typ) ?=(%nvar -.typ) ?=(%rnvar -.typ)) ~
5357 ?: ?=(%face -.typ)
5411 ?: ?=(%face -.typ)
5358 =/ entry=iwfield [name.typ axis body.typ]
5412 =/ entry=iwfield [name.typ axis body.typ]
5359 ?: ?=(^ (~(get by index) name.entry)) ~
5413 ?: ?=(^ (~(get by index) name.entry)) ~
5360 `[(flop [entry order]) (~(put by index) name.entry entry)]
5414 `[(flop [entry order]) (~(put by index) name.entry entry)]
5361 ?. ?=(%cell -.typ) ~
5415 ?. ?=(%cell -.typ) ~
5362 =/ head=itype hed.typ
5416 =/ head=itype hed.typ
5363− ?: |(?=(%var -.head) ?=(%avar -.head) ?=(%nvar -.head)) ~
5417+ ?: |(?=(%var -.head) ?=(%avar -.head) ?=(%rvar -.head) ?=(%nvar -.head) ?=(%rnvar -.head)) ~
5364 ?. ?=(%face -.head) ~
5418 ?. ?=(%face -.head) ~
5365 =/ entry=iwfield [name.head (mul 2 axis) body.head]
5419 =/ entry=iwfield [name.head (mul 2 axis) body.head]
5366 ?: ?=(^ (~(get by index) name.entry)) ~
5420 ?: ?=(^ (~(get by index) name.entry)) ~
@@ -5480,7 +5534,9 @@
5480 %const |
5534 %const |
5481 %var |
5535 %var |
5482 %avar |
5536 %avar |
5537+ %rvar |
5483 %nvar |
5538 %nvar |
5539+ %rnvar |
5484 %atom |
5540 %atom |
5485 %any-atom |
5541 %any-atom |
5486 %flag |
5542 %flag |
@@ -5493,6 +5549,7 @@
5493 ?: (itype-has-gate t) t
5549 ?: (itype-has-gate t) t
5494 ?- -.t
5550 ?- -.t
5495 %nvar [%atom %ud]
5551 %nvar [%atom %ud]
5552+ %rnvar [%atom %ud]
5496 %collection [%collection name.t (turn args.t |=(c=itype (default-decimals c)))]
5553 %collection [%collection name.t (turn args.t |=(c=itype (default-decimals c)))]
5497 %face [%face name.t $(t body.t)]
5554 %face [%face name.t $(t body.t)]
5498 %cell [%cell $(t hed.t) $(t tal.t)]
5555 %cell [%cell $(t hed.t) $(t tal.t)]
@@ -5509,7 +5566,9 @@
5509 ?- -.t
5566 ?- -.t
5510 %var `id.t
5567 %var `id.t
5511 %avar `id.t
5568 %avar `id.t
5569+ %rvar `id.t
5512 %nvar `id.t
5570 %nvar `id.t
5571+ %rnvar `id.t
5513 %tag `id.t
5572 %tag `id.t
5514 * ~
5573 * ~
5515 ==
5574 ==
@@ -5526,7 +5585,7 @@
5526 ^- ?
5585 ^- ?
5527 =. t (itype-walk t sub.state)
5586 =. t (itype-walk t sub.state)
5528 ?- -.t
5587 ?- -.t
5529− ?(%var %avar %nvar)
5588+ ?(%var %avar %rvar %nvar %rnvar)
5530 ?: (lien caps.state |=(c=icap (hole-same-variable t (itype-walk [%var id.c] sub.state)))) &
5589 ?: (lien caps.state |=(c=icap (hole-same-variable t (itype-walk [%var id.c] sub.state)))) &
5531 (lien params.state |=(p=[name=@t typ=itype] (hole-same-variable t (itype-walk typ.p sub.state))))
5590 (lien params.state |=(p=[name=@t typ=itype] (hole-same-variable t (itype-walk typ.p sub.state))))
5532 %tag |
5591 %tag |
@@ -5538,6 +5597,18 @@
5538 %cell &($(t hed.t) $(t tal.t))
5597 %cell &($(t hed.t) $(t tal.t))
5539 * &
5598 * &
5540 ==
5599 ==
5600+++ promote-restricted-numbers
5601+ |= [state=istate env=ienv]
5602+ ^- istate
5603+ =/ ids=(list @ud) (turn caps.state |=(c=icap id.c))
5604+ =/ free=(list @ud) (free-env-vars env sub.state)
5605+ |-
5606+ ?~ ids state
5607+ =/ t=itype (itype-walk [%var i.ids] sub.state)
5608+ ?: &(?=(%rnvar -.t) !(lien free |=(n=@ud =(n +.t))))
5609+ $(ids t.ids, state state(sub [[+.t [%rvar +.t]] sub.state]))
5610+ $(ids t.ids)
5611+::
5541++ default-hole-numbers
5612++ default-hole-numbers
5542 |= [all=(list ihole) prior=(list ihole) state=istate env=ienv permit=?]
5613 |= [all=(list ihole) prior=(list ihole) state=istate env=ienv permit=?]
5543 ^- istate
5614 ^- istate
@@ -5547,7 +5618,7 @@
5547 ?~ all state
5618 ?~ all state
5548 =/ t=itype (itype-walk [%var id.i.all] sub.state)
5619 =/ t=itype (itype-walk [%var id.i.all] sub.state)
5549 =/ free=(list @ud) (free-env-vars env sub.state)
5620 =/ free=(list @ud) (free-env-vars env sub.state)
5550− =? state &(?=(%nvar -.t) !(hole-known t state) !(lien free |=(id=@ud =(id id.t))))
5621+ =? state &(?=(?(%nvar %rnvar) -.t) !(hole-known t state) !(lien free |=(id=@ud =(id id.t))))
5551 state(sub [[id.t [%atom %ud]] sub.state])
5622 state(sub [[id.t [%atom %ud]] sub.state])
5552 $(all t.all)
5623 $(all t.all)
5553::
5624::
@@ -5563,7 +5634,7 @@
5563 ^- ?
5634 ^- ?
5564 =. t (itype-walk t sub.state)
5635 =. t (itype-walk t sub.state)
5565 ?- -.t
5636 ?- -.t
5566− ?(%tag %nvar %avar) !(hole-known t state)
5637+ ?(%tag %nvar %rnvar %avar %rvar) !(hole-known t state)
5567 %union |((lien cases.t |=(c=itype (hole-uncertain c state))) (lien args.t |=(c=itype (hole-uncertain c state))))
5638 %union |((lien cases.t |=(c=itype (hole-uncertain c state))) (lien args.t |=(c=itype (hole-uncertain c state))))
5568 %collection (lien args.t |=(c=itype (hole-uncertain c state)))
5639 %collection (lien args.t |=(c=itype (hole-uncertain c state)))
5569 %face $(t body.t)
5640 %face $(t body.t)
@@ -5589,7 +5660,9 @@
5589 ?- -.t
5660 ?- -.t
5590 %var ~[id.t]
5661 %var ~[id.t]
5591 %avar ~[id.t]
5662 %avar ~[id.t]
5663+ %rvar ~[id.t]
5592 %nvar ~[id.t]
5664 %nvar ~[id.t]
5665+ %rnvar ~[id.t]
5593 %atom ~
5666 %atom ~
5594 %any-atom ~
5667 %any-atom ~
5595 %flag ~
5668 %flag ~
@@ -5626,10 +5699,18 @@
5626 =/ found=(unit itype) (itype-lookup id.t ren)
5699 =/ found=(unit itype) (itype-lookup id.t ren)
5627 ?~ found t
5700 ?~ found t
5628 u.found
5701 u.found
5702+ %rvar
5703+ =/ found=(unit itype) (itype-lookup id.t ren)
5704+ ?~ found t
5705+ u.found
5629 %nvar
5706 %nvar
5630 =/ found=(unit itype) (itype-lookup id.t ren)
5707 =/ found=(unit itype) (itype-lookup id.t ren)
5631 ?~ found t
5708 ?~ found t
5632 u.found
5709 u.found
5710+ %rnvar
5711+ =/ found=(unit itype) (itype-lookup id.t ren)
5712+ ?~ found t
5713+ u.found
5633 %atom t
5714 %atom t
5634 %any-atom t
5715 %any-atom t
5635 %flag t
5716 %flag t
@@ -5654,7 +5735,9 @@
5654 ?- -.t
5735 ?- -.t
5655 %var |
5736 %var |
5656 %avar =(n id.t)
5737 %avar =(n id.t)
5738+ %rvar =(n id.t)
5657 %nvar =(n id.t)
5739 %nvar =(n id.t)
5740+ %rnvar =(n id.t)
5658 %atom |
5741 %atom |
5659 %any-atom |
5742 %any-atom |
5660 %flag |
5743 %flag |
@@ -5669,6 +5752,29 @@
5669 %fn |($(t sample.t) $(t product.t))
5752 %fn |($(t sample.t) $(t product.t))
5670 %cell |($(t hed.t) $(t tal.t))
5753 %cell |($(t hed.t) $(t tal.t))
5671 ==
5754 ==
5755+++ itype-var-is-restricted
5756+ |= [n=@ud t=itype]
5757+ ^- ?
5758+ ?- -.t
5759+ %var |
5760+ %avar |
5761+ %rvar =(n id.t)
5762+ %nvar |
5763+ %rnvar |
5764+ %atom |
5765+ %any-atom |
5766+ %flag |
5767+ %noun |
5768+ %tag |
5769+ %const |
5770+ %union |((lien cases.t |=(c=itype (itype-var-is-restricted n c))) (lien args.t |=(c=itype (itype-var-is-restricted n c))))
5771+ %recursive |
5772+ %jrec |
5773+ %collection (lien args.t |=(c=itype (itype-var-is-restricted n c)))
5774+ %face $(t body.t)
5775+ %fn |($(t sample.t) $(t product.t))
5776+ %cell |($(t hed.t) $(t tal.t))
5777+ ==
5672::
5778::
5673:: Canonical numbering makes printed variables independent of the order
5779:: Canonical numbering makes printed variables independent of the order
5674:: the unifier happened to allocate intermediates.
5780:: the unifier happened to allocate intermediates.
@@ -5680,7 +5786,7 @@
5680 =/ n=@ud 0
5786 =/ n=@ud 0
5681 |-
5787 |-
5682 ?~ vars (itype-rename t ren)
5788 ?~ vars (itype-rename t ren)
5683− =/ replacement=itype ?:((itype-var-is-atom i.vars t) [%avar n] [%var n])
5789+ =/ replacement=itype ?:((itype-var-is-restricted i.vars t) [%rvar n] ?:((itype-var-is-atom i.vars t) [%avar n] [%var n]))
5684 $(vars t.vars, ren [[i.vars replacement] ren], n +(n))
5790 $(vars t.vars, ren [[i.vars replacement] ren], n +(n))
5685::
5791::
5686++ instantiate-scheme
5792++ instantiate-scheme
@@ -5691,11 +5797,11 @@
5691 |-
5797 |-
5692 ?~ vars [(itype-rename typ.scheme ren) state]
5798 ?~ vars [(itype-rename typ.scheme ren) state]
5693 =/ replacement=itype
5799 =/ replacement=itype
5694− ?:((itype-var-is-atom i.vars typ.scheme) [%avar next.state] [%var next.state])
5800+ ?:((itype-var-is-restricted i.vars typ.scheme) [%rvar next.state] ?:((itype-var-is-atom i.vars typ.scheme) [%avar next.state] [%var next.state]))
5695 :: A generalized atom variable is a valid origin for re-generalizing
5801 :: A generalized atom variable is a valid origin for re-generalizing
5696 :: an alias, just as a sample binder is.
5802 :: an alias, just as a sample binder is.
5697 =/ st=istate state(next +(next.state))
5803 =/ st=istate state(next +(next.state))
5698− =? binders.st ?=(%avar -.replacement) [next.state binders.state]
5804+ =? binders.st |(?=(%avar -.replacement) ?=(%rvar -.replacement)) [next.state binders.state]
5699 $(vars t.vars, ren [[i.vars replacement] ren], state st)
5805 $(vars t.vars, ren [[i.vars replacement] ren], state st)
5700::
5806::
5701++ icap-lookup
5807++ icap-lookup
@@ -6752,6 +6858,7 @@
6752 =/ retried=? ?=(%| -.inferred)
6858 =/ retried=? ?=(%| -.inferred)
6753 =? inferred retried (infer-recursive-gate d env local-state)
6859 =? inferred retried (infer-recursive-gate d env local-state)
6754 ?: ?=(%| -.inferred) $(ds t.ds, remaining [d remaining])
6860 ?: ?=(%| -.inferred) $(ds t.ds, remaining [d remaining])
6861+ =. state.p.inferred (promote-restricted-numbers state.p.inferred env)
6755 =. state.p.inferred (default-hole-numbers holes.state.p.inferred holes.state state.p.inferred env !(itype-has-gate (itype-normalize typ.p.inferred sub.state.p.inferred)))
6862 =. state.p.inferred (default-hole-numbers holes.state.p.inferred holes.state state.p.inferred env !(itype-has-gate (itype-normalize typ.p.inferred sub.state.p.inferred)))
6756 =/ hole=(unit idiag) (unresolved-hole holes.state.p.inferred holes.state state.p.inferred)
6863 =/ hole=(unit idiag) (unresolved-hole holes.state.p.inferred holes.state state.p.inferred)
6757 ?^ hole [%| u.hole]
6864 ?^ hole [%| u.hole]
@@ -7158,12 +7265,14 @@
7158 =/ t=itype (itype-normalize typ.p.item sub.state.p.item)
7265 =/ t=itype (itype-normalize typ.p.item sub.state.p.item)
7159 ?: |(?=(%atom -.t) ?=(%any-atom -.t))
7266 ?: |(?=(%atom -.t) ?=(%any-atom -.t))
7160 $(ps t.ps, state state.p.item)
7267 $(ps t.ps, state state.p.item)
7161− ?: &(?=(%nvar -.t) ?=(%lit -.p.i.ps) =(%number form.lit.p.i.ps))
7268+ ?: &(|(?=(%nvar -.t) ?=(%rnvar -.t)) ?=(%lit -.p.i.ps) =(%number form.lit.p.i.ps))
7162 $(ps t.ps, state state.p.item)
7269 $(ps t.ps, state state.p.item)
7163 ?: &(?=(%collection -.t) =(%list name.t) =(~[[%atom 'tD']] args.t))
7270 ?: &(?=(%collection -.t) =(%list name.t) =(~[[%atom 'tD']] args.t))
7164 $(ps t.ps, state state.p.item)
7271 $(ps t.ps, state state.p.item)
7165 ?: &(?=(%avar -.t) (atom-var-from-cap id.t caps.state.p.item sub.state.p.item))
7272 ?: &(?=(%avar -.t) (atom-var-from-cap id.t caps.state.p.item sub.state.p.item))
7166 [%| ["a generic atom in interpolation needs an aura" ~[[(span-of p.i.ps) "atom with a generic aura"]]]]
7273 [%| ["a generic atom in interpolation needs an aura" ~[[(span-of p.i.ps) "atom with a generic aura"]]]]
7274+ ?: &(?=(%rvar -.t) (atom-var-from-cap id.t caps.state.p.item sub.state.p.item))
7275+ [%| ["a generic atom in interpolation needs an aura" ~[[(span-of p.i.ps) "atom with a generic aura"]]]]
7167 ?: ?=(%cell -.t)
7276 ?: ?=(%cell -.t)
7168 [%| ["a cell in interpolation needs a printer" ~[[(span-of p.i.ps) "cell without a printer"]]]]
7277 [%| ["a cell in interpolation needs a printer" ~[[(span-of p.i.ps) "cell without a printer"]]]]
7169 [%| ["interpolation type needs unsupported inference" ~]]
7278 [%| ["interpolation type needs unsupported inference" ~]]
@@ -7660,7 +7769,7 @@
7660 |= [e=expr actual=itype expected=itype sub=isub next=@ud context=span]
7769 |= [e=expr actual=itype expected=itype sub=isub next=@ud context=span]
7661 ^- (unit idiag)
7770 ^- (unit idiag)
7662 =/ original=[left=itype right=itype] [actual expected]
7771 =/ original=[left=itype right=itype] [actual expected]
7663− ?: |(?=(%var -.left.original) ?=(%avar -.left.original) ?=(%nvar -.left.original) ?=(%var -.right.original) ?=(%avar -.right.original) ?=(%nvar -.right.original)) ~
7772+ ?: |(?=(%var -.left.original) ?=(%avar -.left.original) ?=(%rvar -.left.original) |(?=(%nvar -.left.original) ?=(%rnvar -.left.original)) ?=(%var -.right.original) ?=(%avar -.right.original) ?=(%rvar -.right.original) |(?=(%nvar -.right.original) ?=(%rnvar -.right.original))) ~
7664 =/ fit=ifit (itype-fit actual expected sub next)
7773 =/ fit=ifit (itype-fit actual expected sub next)
7665 ?. ?=(%bad -.fit) ~
7774 ?. ?=(%bad -.fit) ~
7666 =. actual (itype-walk actual sub)
7775 =. actual (itype-walk actual sub)
@@ -7681,7 +7790,7 @@
7681 ?~ items ~
7790 ?~ items ~
7682 ?~ t.items (nested-missing-tag val.i.items actual expected sub next context)
7791 ?~ t.items (nested-missing-tag val.i.items actual expected sub next context)
7683 =/ original=[left=itype right=itype] [actual expected]
7792 =/ original=[left=itype right=itype] [actual expected]
7684− ?: |(?=(%var -.left.original) ?=(%avar -.left.original) ?=(%nvar -.left.original) ?=(%var -.right.original) ?=(%avar -.right.original) ?=(%nvar -.right.original)) ~
7793+ ?: |(?=(%var -.left.original) ?=(%avar -.left.original) ?=(%rvar -.left.original) |(?=(%nvar -.left.original) ?=(%rnvar -.left.original)) ?=(%var -.right.original) ?=(%avar -.right.original) ?=(%rvar -.right.original) |(?=(%nvar -.right.original) ?=(%rnvar -.right.original))) ~
7685 =. actual (itype-walk actual sub)
7794 =. actual (itype-walk actual sub)
7686 =. expected (itype-walk expected sub)
7795 =. expected (itype-walk expected sub)
7687 ?. &(?=(%cell -.actual) ?=(%cell -.expected)) ~
7796 ?. &(?=(%cell -.actual) ?=(%cell -.expected)) ~
@@ -7994,7 +8103,7 @@
7994 ^- (unit [at=span typ=itype])
8103 ^- (unit [at=span typ=itype])
7995 ?~ args ~
8104 ?~ args ~
7996 =/ original=[left=itype right=itype] [actual expected]
8105 =/ original=[left=itype right=itype] [actual expected]
7997− ?: |(?=(%var -.left.original) ?=(%avar -.left.original) ?=(%nvar -.left.original) ?=(%var -.right.original) ?=(%avar -.right.original) ?=(%nvar -.right.original)) ~
8106+ ?: |(?=(%var -.left.original) ?=(%avar -.left.original) ?=(%rvar -.left.original) |(?=(%nvar -.left.original) ?=(%rnvar -.left.original)) ?=(%var -.right.original) ?=(%avar -.right.original) ?=(%rvar -.right.original) |(?=(%nvar -.right.original) ?=(%rnvar -.right.original))) ~
7998 =. actual (itype-walk actual sub)
8107 =. actual (itype-walk actual sub)
7999 =. expected (itype-walk expected sub)
8108 =. expected (itype-walk expected sub)
8000 ?: &(?=(%face -.expected) !?=(%face -.actual))
8109 ?: &(?=(%face -.expected) !?=(%face -.actual))
@@ -8058,7 +8167,7 @@
8058 ?. ?=(%fn -.ht) (infer-call-with-head e env state head)
8167 ?. ?=(%fn -.ht) (infer-call-with-head e env state head)
8059 =/ result=itype (itype-walk product.ht sub.state.p.head)
8168 =/ result=itype (itype-walk product.ht sub.state.p.head)
8060 ?. ?=(%var -.result) (infer-call-with-head e env state head)
8169 ?. ?=(%var -.result) (infer-call-with-head e env state head)
8061− ?: |(?=(%var -.expected) ?=(%avar -.expected) ?=(%nvar -.expected) (itype-has-tag (itype-normalize expected sub.state.p.head)))
8170+ ?: |(?=(%var -.expected) ?=(%avar -.expected) ?=(%rvar -.expected) |(?=(%nvar -.expected) ?=(%rnvar -.expected)) (itype-has-tag (itype-normalize expected sub.state.p.head)))
8062 (infer-call-with-head e env state head)
8171 (infer-call-with-head e env state head)
8063 =/ sub=(unit isub) (itype-unify result expected sub.state.p.head)
8172 =/ sub=(unit isub) (itype-unify result expected sub.state.p.head)
8064 ?~ sub (infer-call-with-head e env state head)
8173 ?~ sub (infer-call-with-head e env state head)
@@ -8110,7 +8219,7 @@
8110 `(infer-simple-items items.e env state)
8219 `(infer-simple-items items.e env state)
8111 `(width-infer-items items.e index.u.target env state context)
8220 `(width-infer-items items.e index.u.target env state context)
8112::
8221::
8113−:: Recognize only the reserved unqualified, one-argument operation.
8222+:: Experimental intrinsic recognition; real bindings retain normal calls.
8114++ explicit-proj-call
8223++ explicit-proj-call
8115 |= [e=expr env=ienv state=istate]
8224 |= [e=expr env=ienv state=istate]
8116 ^- ?
8225 ^- ?
@@ -8366,9 +8475,15 @@
8366 %avar
8475 %avar
8367 ?: (lth id.t 26) [(add 65 id.t) ~]
8476 ?: (lth id.t 26) [(add 65 id.t) ~]
8368 "T{<id.t>}"
8477 "T{<id.t>}"
8478+ %rvar
8479+ ?: (lth id.t 26) [(add 65 id.t) ~]
8480+ "T{<id.t>}"
8369 %nvar
8481 %nvar
8370 ?: (lth id.t 26) [(add 65 id.t) ~]
8482 ?: (lth id.t 26) [(add 65 id.t) ~]
8371 "T{<id.t>}"
8483 "T{<id.t>}"
8484+ %rnvar
8485+ ?: (lth id.t 26) [(add 65 id.t) ~]
8486+ "T{<id.t>}"
8372 %atom "@{(trip aura.t)}"
8487 %atom "@{(trip aura.t)}"
8373 %any-atom "@"
8488 %any-atom "@"
8374 %flag "?"
8489 %flag "?"
@@ -8416,8 +8531,10 @@
8416 ^- ?
8531 ^- ?
8417 ?- -.typ
8532 ?- -.typ
8418 %nvar &
8533 %nvar &
8534+ %rnvar &
8419 %var |
8535 %var |
8420 %avar |
8536 %avar |
8537+ %rvar |
8421 %atom |
8538 %atom |
8422 %any-atom |
8539 %any-atom |
8423 %flag |
8540 %flag |
@@ -8437,7 +8554,7 @@
8437 |= [label=tape typ=itype sub=isub]
8554 |= [label=tape typ=itype sub=isub]
8438 ^- tape
8555 ^- tape
8439 =/ normalized=itype (itype-normalize typ sub)
8556 =/ normalized=itype (itype-normalize typ sub)
8440− ?: |(?=(%var -.normalized) ?=(%avar -.normalized) (itype-has-nvar normalized) (itype-has-tag normalized) (itype-has-union normalized)) label
8557+ ?: |(?=(%var -.normalized) ?=(%avar -.normalized) ?=(%rvar -.normalized) (itype-has-nvar normalized) (itype-has-tag normalized) (itype-has-union normalized)) label
8441 ?: (itype-has-hidden-recursive normalized) label
8558 ?: (itype-has-hidden-recursive normalized) label
8442 =/ vars=(list @ud) (unique-type-vars (itype-vars normalized))
8559 =/ vars=(list @ud) (unique-type-vars (itype-vars normalized))
8443 ?: (gth (lent vars) 26) label
8560 ?: (gth (lent vars) 26) label
@@ -8459,6 +8576,7 @@
8459 ?+ -.resolved ~
8576 ?+ -.resolved ~
8460 %var `id.resolved
8577 %var `id.resolved
8461 %avar `id.resolved
8578 %avar `id.resolved
8579+ %rvar `id.resolved
8462 ==
8580 ==
8463 ?~ ident $(caps t.caps)
8581 ?~ ident $(caps t.caps)
8464 ?: =(n u.ident) &
8582 ?: =(n u.ident) &
@@ -8473,6 +8591,7 @@
8473 ?+ -.resolved ~
8591 ?+ -.resolved ~
8474 %var `id.resolved
8592 %var `id.resolved
8475 %avar `id.resolved
8593 %avar `id.resolved
8594+ %rvar `id.resolved
8476 ==
8595 ==
8477 ?~ ident $(caps t.caps)
8596 ?~ ident $(caps t.caps)
8478 ?: =(n u.ident) `i.caps
8597 ?: =(n u.ident) `i.caps
@@ -8487,6 +8606,7 @@
8487 ?+ -.resolved ~
8606 ?+ -.resolved ~
8488 %var `id.resolved
8607 %var `id.resolved
8489 %avar `id.resolved
8608 %avar `id.resolved
8609+ %rvar `id.resolved
8490 ==
8610 ==
8491 ?~ ident $(caps t.caps)
8611 ?~ ident $(caps t.caps)
8492 =/ found=(unit icap) (cap-with-id u.ident t.caps sub)
8612 =/ found=(unit icap) (cap-with-id u.ident t.caps sub)
@@ -8502,6 +8622,7 @@
8502 ?+ -.resolved ~
8622 ?+ -.resolved ~
8503 %var `id.resolved
8623 %var `id.resolved
8504 %avar `id.resolved
8624 %avar `id.resolved
8625+ %rvar `id.resolved
8505 ==
8626 ==
8506 ?~ ident &
8627 ?~ ident &
8507 ?: (cap-id-in u.ident t.caps sub) &
8628 ?: (cap-id-in u.ident t.caps sub) &
@@ -8516,8 +8637,8 @@
8516 ^- ?
8637 ^- ?
8517 ?~ caps |
8638 ?~ caps |
8518 =/ resolved=itype (itype-walk [%var id.i.caps] sub)
8639 =/ resolved=itype (itype-walk [%var id.i.caps] sub)
8519− ?: ?=(%avar -.resolved)
8640+ ?: |(?=(%avar -.resolved) ?=(%rvar -.resolved))
8520− ?: =(n id.resolved) &
8641+ ?: =(n +.resolved) &
8521 $(caps t.caps)
8642 $(caps t.caps)
8522 $(caps t.caps)
8643 $(caps t.caps)
8523::
8644::
@@ -8527,7 +8648,9 @@
8527 ?- -.t
8648 ?- -.t
8528 %var |
8649 %var |
8529 %avar =(n id.t)
8650 %avar =(n id.t)
8651+ %rvar =(n id.t)
8530 %nvar |
8652 %nvar |
8653+ %rnvar |
8531 %atom |
8654 %atom |
8532 %any-atom |
8655 %any-atom |
8533 %flag |
8656 %flag |
@@ -8576,6 +8699,10 @@
8576 =/ out=tape ""
8699 =/ out=tape ""
8577 |-
8700 |-
8578 ?~ vars out
8701 ?~ vars out
8702+ ?: (itype-var-is-restricted i.vars t)
8703+ =/ sep=tape ?:(printed ", " " where ")
8704+ =/ clause=tape "{sep}{(show-itype [%rvar i.vars] ~)} is an atom other than ?"
8705+ $(vars t.vars, printed &, out (weld out clause))
8579 ?: (itype-var-is-atom i.vars t)
8706 ?: (itype-var-is-atom i.vars t)
8580 =/ sep=tape ?:(printed ", " " where ")
8707 =/ sep=tape ?:(printed ", " " where ")
8581 =/ clause=tape "{sep}{(show-itype [%avar i.vars] ~)} is an atom"
8708 =/ clause=tape "{sep}{(show-itype [%avar i.vars] ~)} is an atom"
@@ -8885,6 +9012,7 @@
8885 ?: (constrained-capitals caps.entry sub.state)
9012 ?: (constrained-capitals caps.entry sub.state)
8886 [%| ["explicit capital constraints are not supported by partial inference" ~]]
9013 [%| ["explicit capital constraints are not supported by partial inference" ~]]
8887 =/ typ=itype (itype-normalize typ.entry sub.state)
9014 =/ typ=itype (itype-normalize typ.entry sub.state)
9015+ ?: (itype-has-nvar typ) [%| ["recursive group needs unsupported inference" ~]]
8888 ?: |((itype-has-tag typ) (itype-has-hidden-generic typ) (itype-has-hidden-recursive typ) (unsupported-atom-vars typ caps.entry binders.state sub.state))
9016 ?: |((itype-has-tag typ) (itype-has-hidden-generic typ) (itype-has-hidden-recursive typ) (unsupported-atom-vars typ caps.entry binders.state sub.state))
8889 [%| ["recursive group needs unsupported inference" ~]]
9017 [%| ["recursive group needs unsupported inference" ~]]
8890 =/ free=(list @ud) (weld (free-env-vars env sub.state) (free-cap-vars caps.outer sub.state))
9018 =/ free=(list @ud) (weld (free-env-vars env sub.state) (free-cap-vars caps.outer sub.state))
@@ -8950,6 +9078,7 @@
8950 =/ result=iresult (infer-fragment val.d env initial)
9078 =/ result=iresult (infer-fragment val.d env initial)
8951 =? result ?=(%| -.result) (infer-recursive-gate d env initial)
9079 =? result ?=(%| -.result) (infer-recursive-gate d env initial)
8952 ?: ?=(%| -.result) $(ds t.ds)
9080 ?: ?=(%| -.result) $(ds t.ds)
9081+ =. state.p.result (promote-restricted-numbers state.p.result env)
8953 =. state.p.result (default-hole-numbers holes.state.p.result holes.initial state.p.result env !(itype-has-gate (itype-normalize typ.p.result sub.state.p.result)))
9082 =. state.p.result (default-hole-numbers holes.state.p.result holes.initial state.p.result env !(itype-has-gate (itype-normalize typ.p.result sub.state.p.result)))
8954 ?^ (unresolved-hole holes.state.p.result holes.initial state.p.result) $(ds t.ds)
9083 ?^ (unresolved-hole holes.state.p.result holes.initial state.p.result) $(ds t.ds)
8955 ?: (constrained-capitals caps.state.p.result sub.state.p.result) $(ds t.ds)
9084 ?: (constrained-capitals caps.state.p.result sub.state.p.result) $(ds t.ds)
@@ -9914,8 +10043,11 @@
9914 ^- ifile
10043 ^- ifile
9915 =/ a=itype [%avar 0]
10044 =/ a=itype [%avar 0]
9916 =/ pair=itype [%cell a a]
10045 =/ pair=itype [%cell a a]
10046+ =/ b=itype [%rvar 0]
10047+ =/ plus=ischeme [[%fn [%cell b b] b] ~[0]]
10048+ =/ minus=ischeme [[%fn b b] ~[0]]
9917 =/ greater=ischeme [[%fn pair [%flag ~]] ~[0]]
10049 =/ greater=ischeme [[%fn pair [%flag ~]] ~[0]]
9918− [~[[%raw-gth greater]] ~ /lib/jibb/primitives/jibb ~ ~ ~ ~]
10050+ [~[[%raw-add plus] [%raw-dec minus] [%raw-gth greater]] ~ /lib/jibb/primitives/jibb ~ ~ ~ ~]
9919::
10051::
9920++ infer-private-internal
10052++ infer-private-internal
9921 |= src=@t
10053 |= src=@t
@@ -10514,6 +10646,7 @@
10514 (infer-fragment val.d env initial)
10646 (infer-fragment val.d env initial)
10515 ?: ?=(%| -.result)
10647 ?: ?=(%| -.result)
10516 $(ds t.ds, lines [(show-inference-diagnostic file src name.d p.result) lines])
10648 $(ds t.ds, lines [(show-inference-diagnostic file src name.d p.result) lines])
10649+ =. state.p.result (promote-restricted-numbers state.p.result env)
10517 =. state.p.result (default-hole-numbers holes.state.p.result holes.initial state.p.result env !(itype-has-gate (itype-normalize typ.p.result sub.state.p.result)))
10650 =. state.p.result (default-hole-numbers holes.state.p.result holes.initial state.p.result env !(itype-has-gate (itype-normalize typ.p.result sub.state.p.result)))
10518 =/ hole=(unit idiag) (unresolved-hole holes.state.p.result holes.initial state.p.result)
10651 =/ hole=(unit idiag) (unresolved-hole holes.state.p.result holes.initial state.p.result)
10519 ?^ hole
10652 ?^ hole
jibb-dev/lib/jibb/internal.jibb+4
@@ -14,3 +14,7 @@
14+$ qath
14+$ qath
15 ~
15 ~
16 [i=@ta t=qath]
16 [i=@ta t=qath]
17+
18+:: Private compiler primitive wrappers; execution is a later milestone.
19+++ add-atom |= args=[A A] (raw-add.core args)
20+++ dec-atom |= atom=A (raw-dec.core atom)
jibb-dev/lib/jibb/prelude.jibb+2
@@ -324,3 +324,5 @@
324 [%who reply=$-(@p M)]
324 [%who reply=$-(@p M)]
325
325
326++ gth |= args=[A A] (gth-atom.internal args)
326++ gth |= args=[A A] (gth-atom.internal args)
327+++ add |= args=[A A] (add-atom.internal args)
328+++ dec |= atom=A (dec-atom.internal atom)
tests/golden/prelude-unit-list-transforms/source.jibb+9
@@ -1,5 +1,6 @@
1/= internal /lib/jibb/internal
1/= internal /lib/jibb/internal
2+$ poke poke.internal
2+$ poke poke.internal
3++$ qath qath.internal
3
4
4:: Initial prelude functions. The rest of the inventory is still to come.
5:: Initial prelude functions. The rest of the inventory is still to come.
5
6
@@ -149,6 +150,12 @@
149 ~ ~
150 ~ ~
150 [~ value] [value ~]
151 [~ value] [value ~]
151
152
153+++ bond |= fallback=$-(~ A)
154+ |= maybe=(unit A)
155+ ?- maybe
156+ ~ (fallback ~)
157+ [~ value] value
158+
152++ bind |= args=[(unit A) $-(A B)]
159++ bind |= args=[(unit A) $-(A B)]
153 ?- args
160 ?- args
154 [maybe f] ^- (unit B)
161 [maybe f] ^- (unit B)
@@ -317,3 +324,5 @@
317 [%who reply=$-(@p M)]
324 [%who reply=$-(@p M)]
318
325
319++ gth |= args=[A A] (gth-atom.internal args)
326++ gth |= args=[A A] (gth-atom.internal args)
327+++ add |= args=[A A] (add-atom.internal args)
328+++ dec |= atom=A (dec-atom.internal atom)
tests/golden/prelude-unit-list-transforms/tokens.txt+1950−1885
@@ -10,945 +10,936 @@
102:1 glyph +$
102:1 glyph +$
112:4 name poke
112:4 name poke
122:9 wing poke.internal
122:9 wing poke.internal
13−6:1 NEWLINE
13+3:1 NEWLINE
14−6:1 glyph ++
14+3:1 glyph +$
15+3:4 name qath
16+3:9 wing qath.internal
17+7:1 NEWLINE
18+7:1 glyph ++
15−6:4 name same
19+7:4 name same
16−6:9 glyph |=
20+7:9 glyph |=
17−6:12 name x
21+7:12 name x
18−6:13 tight glyph =
22+7:13 tight glyph =
19−6:14 tight tvar A
23+7:14 tight tvar A
20−6:16 name x
24+7:16 name x
21−8:1 NEWLINE
25+9:1 NEWLINE
22−8:1 glyph ++
26+9:1 glyph ++
23−8:4 name head
27+9:4 name head
24−8:9 glyph |=
28+9:9 glyph |=
25−8:12 name p
29+9:12 name p
26−8:13 tight glyph =
30+9:13 tight glyph =
27−8:14 tight glyph [
31+9:14 tight glyph [
28−8:15 tight tvar A
32+9:15 tight tvar A
29−8:17 tvar B
33+9:17 tvar B
30−8:18 tight glyph ]
34+9:18 tight glyph ]
31−9:3 INDENT
35+10:3 INDENT
32−9:3 glyph ?-
36+10:3 glyph ?-
33−9:6 name p
37+10:6 name p
34−10:5 INDENT
38+11:5 INDENT
35−10:5 glyph [
39+11:5 glyph [
36−10:6 tight name a
40+11:6 tight name a
37−10:8 name b
41+11:8 name b
38−10:9 tight glyph ]
42+11:9 tight glyph ]
39−10:11 name a
43+11:11 name a
40−12:1 DEDENT
44+13:1 DEDENT
41−12:1 DEDENT
45+13:1 DEDENT
42−12:1 NEWLINE
46+13:1 NEWLINE
43−12:1 glyph ++
47+13:1 glyph ++
44−12:4 name tail
48+13:4 name tail
45−12:9 glyph |=
49+13:9 glyph |=
46−12:12 name p
50+13:12 name p
47−12:13 tight glyph =
51+13:13 tight glyph =
48−12:14 tight glyph [
52+13:14 tight glyph [
49−12:15 tight tvar A
53+13:15 tight tvar A
50−12:17 tvar B
54+13:17 tvar B
51−12:18 tight glyph ]
55+13:18 tight glyph ]
52−13:3 INDENT
56+14:3 INDENT
53−13:3 glyph ?-
57+14:3 glyph ?-
54−13:6 name p
58+14:6 name p
55−14:5 INDENT
59+15:5 INDENT
56−14:5 glyph [
60+15:5 glyph [
57−14:6 tight name a
61+15:6 tight name a
58−14:8 name b
62+15:8 name b
59−14:9 tight glyph ]
63+15:9 tight glyph ]
60−14:11 name b
64+15:11 name b
61−16:1 DEDENT
65+17:1 DEDENT
62−16:1 DEDENT
66+17:1 DEDENT
63−16:1 NEWLINE
67+17:1 NEWLINE
64−16:1 glyph ++
68+17:1 glyph ++
65−16:4 name not
69+17:4 name not
66−16:8 glyph |=
70+17:8 glyph |=
67−16:11 name b
71+17:11 name b
68−16:12 tight glyph =
72+17:12 tight glyph =
69−16:13 tight glyph ?
73+17:13 tight glyph ?
70−17:3 INDENT
74+18:3 INDENT
71−17:3 glyph ?-
75+18:3 glyph ?-
72−17:6 name b
76+18:6 name b
73−18:5 INDENT
77+19:5 INDENT
74−18:5 lit %.y
78+19:5 lit %.y
75−18:9 lit %.n
79+19:9 lit %.n
76−19:5 NEWLINE
80+20:5 NEWLINE
77−19:5 lit %.n
81+20:5 lit %.n
78−19:9 lit %.y
82+20:9 lit %.y
79−21:1 DEDENT
83+22:1 DEDENT
80−21:1 DEDENT
84+22:1 DEDENT
81−21:1 NEWLINE
85+22:1 NEWLINE
82−21:1 glyph +$
86+22:1 glyph +$
83−21:4 name list
87+22:4 name list
84−21:9 glyph |$
88+22:9 glyph |$
85−21:12 glyph [
89+22:12 glyph [
86−21:13 tight tvar A
90+22:13 tight tvar A
87−21:14 tight glyph ]
91+22:14 tight glyph ]
88−22:3 INDENT
92+23:3 INDENT
89−22:3 lit ~
93+23:3 lit ~
90−23:3 NEWLINE
94+24:3 NEWLINE
91−23:3 glyph [
95+24:3 glyph [
92−23:4 tight name i
96+24:4 tight name i
93−23:5 tight glyph =
97+24:5 tight glyph =
94−23:6 tight tvar A
98+24:6 tight tvar A
95−23:8 name t
99+24:8 name t
96−23:9 tight glyph =
100+24:9 tight glyph =
97−23:10 tight glyph (
101+24:10 tight glyph (
98−23:11 tight name list
102+24:11 tight name list
99−23:16 tvar A
103+24:16 tvar A
100−23:17 tight glyph )
104+24:17 tight glyph )
101−23:18 tight glyph ]
105+24:18 tight glyph ]
102−25:1 DEDENT
106+26:1 DEDENT
103−25:1 NEWLINE
107+26:1 NEWLINE
104−25:1 glyph +$
108+26:1 glyph +$
105−25:4 name unit
109+26:4 name unit
106−25:9 glyph |$
110+26:9 glyph |$
107−25:12 glyph [
111+26:12 glyph [
108−25:13 tight tvar A
112+26:13 tight tvar A
109−25:14 tight glyph ]
113+26:14 tight glyph ]
110−26:3 INDENT
114+27:3 INDENT
111−26:3 lit ~
115+27:3 lit ~
112−27:3 NEWLINE
116+28:3 NEWLINE
113−27:3 glyph [
117+28:3 glyph [
114−27:4 tight lit ~
118+28:4 tight lit ~
115−27:6 name u
119+28:6 name u
116−27:7 tight glyph =
120+28:7 tight glyph =
117−27:8 tight tvar A
121+28:8 tight tvar A
118−27:9 tight glyph ]
122+28:9 tight glyph ]
119−29:1 DEDENT
123+30:1 DEDENT
120−29:1 NEWLINE
124+30:1 NEWLINE
121−29:1 glyph ++
125+30:1 glyph ++
122−29:4 name fall
126+30:4 name fall
123−29:9 glyph |=
127+30:9 glyph |=
124−29:12 name args
128+30:12 name args
125−29:16 tight glyph =
129+30:16 tight glyph =
126−29:17 tight glyph [
130+30:17 tight glyph [
127−29:18 tight glyph (
131+30:18 tight glyph (
128−29:19 tight name unit
132+30:19 tight name unit
129−29:24 tvar A
133+30:24 tvar A
130−29:25 tight glyph )
134+30:25 tight glyph )
131−29:27 tvar A
135+30:27 tvar A
132−29:28 tight glyph ]
136+30:28 tight glyph ]
133−30:3 INDENT
137+31:3 INDENT
134−30:3 glyph ?-
138+31:3 glyph ?-
135−30:6 name args
139+31:6 name args
136−31:5 INDENT
140+32:5 INDENT
137−31:5 glyph [
141+32:5 glyph [
138−31:6 tight name maybe
142+32:6 tight name maybe
139−31:12 name fallback
143+32:12 name fallback
140−31:20 tight glyph ]
144+32:20 tight glyph ]
141−32:7 INDENT
145+33:7 INDENT
142−32:7 glyph ?-
146+33:7 glyph ?-
143−32:10 name maybe
147+33:10 name maybe
144−33:9 INDENT
148+34:9 INDENT
145−33:9 lit ~
149+34:9 lit ~
146−33:11 name fallback
150+34:11 name fallback
147−34:9 NEWLINE
151+35:9 NEWLINE
148−34:9 glyph [
152+35:9 glyph [
149−34:10 tight lit ~
153+35:10 tight lit ~
150−34:12 name value
154+35:12 name value
151−34:17 tight glyph ]
155+35:17 tight glyph ]
152−34:19 name value
156+35:19 name value
153−36:1 DEDENT
157+37:1 DEDENT
154−36:1 DEDENT
158+37:1 DEDENT
155−36:1 DEDENT
159+37:1 DEDENT
156−36:1 DEDENT
160+37:1 DEDENT
157−36:1 NEWLINE
161+37:1 NEWLINE
158−36:1 glyph ++
162+37:1 glyph ++
159−36:4 name need
163+37:4 name need
160−36:9 glyph |=
164+37:9 glyph |=
161−36:12 name maybe
165+37:12 name maybe
162−36:17 tight glyph =
166+37:17 tight glyph =
163−36:18 tight glyph (
167+37:18 tight glyph (
164−36:19 tight name unit
168+37:19 tight name unit
165−36:24 tvar A
169+37:24 tvar A
166−36:25 tight glyph )
170+37:25 tight glyph )
167−37:3 INDENT
171+38:3 INDENT
168−37:3 glyph ?-
172+38:3 glyph ?-
169−37:6 name maybe
173+38:6 name maybe
170−38:5 INDENT
174+39:5 INDENT
171−38:5 lit ~
175+39:5 lit ~
172−38:7 glyph !!
176+39:7 glyph !!
173−39:5 NEWLINE
177+40:5 NEWLINE
174−39:5 glyph [
178+40:5 glyph [
175−39:6 tight lit ~
179+40:6 tight lit ~
176−39:8 name value
180+40:8 name value
177−39:13 tight glyph ]
181+40:13 tight glyph ]
178−39:15 name value
182+40:15 name value
179−41:1 DEDENT
183+42:1 DEDENT
180−41:1 DEDENT
184+42:1 DEDENT
181−41:1 NEWLINE
185+42:1 NEWLINE
182−41:1 glyph ++
186+42:1 glyph ++
183−41:4 name weld
187+42:4 name weld
184−41:9 glyph |=
188+42:9 glyph |=
185−41:12 name args
189+42:12 name args
186−41:16 tight glyph =
190+42:16 tight glyph =
187−41:17 tight glyph [
191+42:17 tight glyph [
188−41:18 tight glyph (
192+42:18 tight glyph (
189−41:19 tight name list
193+42:19 tight name list
190−41:24 tvar A
194+42:24 tvar A
191−41:25 tight glyph )
195+42:25 tight glyph )
192−41:27 glyph (
196+42:27 glyph (
193−41:28 tight name list
197+42:28 tight name list
194−41:33 tvar A
198+42:33 tvar A
195−41:34 tight glyph )
199+42:34 tight glyph )
196−41:35 tight glyph ]
200+42:35 tight glyph ]
197−42:3 INDENT
201+43:3 INDENT
198−42:3 glyph ?-
202+43:3 glyph ?-
199−42:6 name args
203+43:6 name args
200−43:5 INDENT
204+44:5 INDENT
201−43:5 glyph [
205+44:5 glyph [
202−43:6 tight name xs
206+44:6 tight name xs
203−43:9 name ys
207+44:9 name ys
204−43:11 tight glyph ]
208+44:11 tight glyph ]
205−44:7 INDENT
209+45:7 INDENT
206−44:7 glyph ^-
210+45:7 glyph ^-
207−44:10 glyph (
211+45:10 glyph (
208−44:11 tight name list
212+45:11 tight name list
209−44:16 tvar A
213+45:16 tvar A
210−44:17 tight glyph )
214+45:17 tight glyph )
211−45:9 INDENT
215+46:9 INDENT
212−45:9 glyph ?-
216+46:9 glyph ?-
213−45:12 name xs
217+46:12 name xs
214−46:11 INDENT
218+47:11 INDENT
215−46:11 lit ~
219+47:11 lit ~
216−46:13 name ys
220+47:13 name ys
217−47:11 NEWLINE
221+48:11 NEWLINE
218−47:11 glyph [
222+48:11 glyph [
219−47:12 tight name item
223+48:12 tight name item
220−47:17 name rest
224+48:17 name rest
221−47:21 tight glyph ]
225+48:21 tight glyph ]
222−47:23 glyph [
226+48:23 glyph [
223−47:24 tight name item
227+48:24 tight name item
224−47:29 glyph (
228+48:29 glyph (
225−47:30 tight name weld
229+48:30 tight name weld
226−47:35 name rest
230+48:35 name rest
227−47:40 name ys
231+48:40 name ys
228−47:42 tight glyph )
232+48:42 tight glyph )
229−47:43 tight glyph ]
233+48:43 tight glyph ]
230−49:1 DEDENT
234+50:1 DEDENT
231−49:1 DEDENT
235+50:1 DEDENT
232−49:1 DEDENT
236+50:1 DEDENT
233−49:1 DEDENT
237+50:1 DEDENT
234−49:1 DEDENT
238+50:1 DEDENT
235−49:1 NEWLINE
239+50:1 NEWLINE
236−49:1 glyph ++
240+50:1 glyph ++
237−49:4 name turn
241+50:4 name turn
238−49:9 glyph |=
242+50:9 glyph |=
239−49:12 name args
243+50:12 name args
240−49:16 tight glyph =
244+50:16 tight glyph =
241−49:17 tight glyph [
245+50:17 tight glyph [
242−49:18 tight glyph (
246+50:18 tight glyph (
243−49:19 tight name list
247+50:19 tight name list
244−49:24 tvar A
248+50:24 tvar A
245−49:25 tight glyph )
249+50:25 tight glyph )
246−49:27 glyph $-(
250+50:27 glyph $-(
247−49:30 tight tvar A
251+50:30 tight tvar A
248−49:32 tvar B
252+50:32 tvar B
249−49:33 tight glyph )
253+50:33 tight glyph )
250−49:34 tight glyph ]
254+50:34 tight glyph ]
251−50:3 INDENT
255+51:3 INDENT
252−50:3 glyph ?-
256+51:3 glyph ?-
253−50:6 name args
257+51:6 name args
254−51:5 INDENT
258+52:5 INDENT
255−51:5 glyph [
259+52:5 glyph [
256−51:6 tight name xs
260+52:6 tight name xs
257−51:9 name f
261+52:9 name f
258−51:10 tight glyph ]
262+52:10 tight glyph ]
259−52:7 INDENT
263+53:7 INDENT
260−52:7 glyph ^-
264+53:7 glyph ^-
261−52:10 glyph (
265+53:10 glyph (
262−52:11 tight name list
266+53:11 tight name list
263−52:16 tvar B
267+53:16 tvar B
264−52:17 tight glyph )
268+53:17 tight glyph )
265−53:9 INDENT
269+54:9 INDENT
266−53:9 glyph ?-
270+54:9 glyph ?-
267−53:12 name xs
271+54:12 name xs
268−54:11 INDENT
272+55:11 INDENT
269−54:11 lit ~
273+55:11 lit ~
270−54:13 lit ~
274+55:13 lit ~
271−55:11 NEWLINE
275+56:11 NEWLINE
272−55:11 glyph [
276+56:11 glyph [
273−55:12 tight name item
277+56:12 tight name item
274−55:17 name rest
278+56:17 name rest
275−55:21 tight glyph ]
279+56:21 tight glyph ]
276−55:23 glyph [
280+56:23 glyph [
277−55:24 tight glyph (
281+56:24 tight glyph (
278−55:25 tight name f
282+56:25 tight name f
279−55:27 name item
283+56:27 name item
280−55:31 tight glyph )
284+56:31 tight glyph )
281−55:33 glyph (
285+56:33 glyph (
282−55:34 tight name turn
286+56:34 tight name turn
283−55:39 name rest
287+56:39 name rest
284−55:44 name f
288+56:44 name f
285−55:45 tight glyph )
289+56:45 tight glyph )
286−55:46 tight glyph ]
290+56:46 tight glyph ]
287−57:1 DEDENT
291+58:1 DEDENT
288−57:1 DEDENT
292+58:1 DEDENT
289−57:1 DEDENT
293+58:1 DEDENT
290−57:1 DEDENT
294+58:1 DEDENT
291−57:1 DEDENT
295+58:1 DEDENT
292−57:1 NEWLINE
296+58:1 NEWLINE
293−57:1 glyph +$
297+58:1 glyph +$
294−57:4 name dime
298+58:4 name dime
295−57:9 glyph [
299+58:9 glyph [
296−57:10 tight name p
300+58:10 tight name p
297−57:11 tight glyph =
301+58:11 tight glyph =
298−57:12 tight aura @ta
302+58:12 tight aura @ta
299−57:16 name q
303+58:16 name q
300−57:17 tight glyph =
304+58:17 tight glyph =
301−57:18 tight aura @
305+58:18 tight aura @
302−57:19 tight glyph ]
306+58:19 tight glyph ]
303−59:1 NEWLINE
307+60:1 NEWLINE
304−59:1 glyph +$
308+60:1 glyph +$
305−59:4 name hair
309+60:4 name hair
306−59:9 glyph [
310+60:9 glyph [
307−59:10 tight name p
311+60:10 tight name p
308−59:11 tight glyph =
312+60:11 tight glyph =
309−59:12 tight aura @ud
313+60:12 tight aura @ud
310−59:16 name q
314+60:16 name q
311−59:17 tight glyph =
315+60:17 tight glyph =
312−59:18 tight aura @ud
316+60:18 tight aura @ud
313−59:21 tight glyph ]
317+60:21 tight glyph ]
314−61:1 NEWLINE
318+62:1 NEWLINE
315−61:1 glyph +$
319+62:1 glyph +$
316−61:4 name pint
320+62:4 name pint
317−61:9 glyph [
321+62:9 glyph [
318−61:10 tight name p
322+62:10 tight name p
319−61:11 tight glyph =
323+62:11 tight glyph =
320−61:12 tight glyph [
324+62:12 tight glyph [
321−61:13 tight name p
325+62:13 tight name p
322−61:14 tight glyph =
326+62:14 tight glyph =
323−61:15 tight aura @
327+62:15 tight aura @
324−61:17 name q
328+62:17 name q
325−61:18 tight glyph =
329+62:18 tight glyph =
326−61:19 tight aura @
330+62:19 tight aura @
327−61:20 tight glyph ]
331+62:20 tight glyph ]
328−61:22 name q
332+62:22 name q
329−61:23 tight glyph =
333+62:23 tight glyph =
330−61:24 tight glyph [
334+62:24 tight glyph [
331−61:25 tight name p
335+62:25 tight name p
332−61:26 tight glyph =
336+62:26 tight glyph =
333−61:27 tight aura @
337+62:27 tight aura @
334−61:29 name q
338+62:29 name q
335−61:30 tight glyph =
339+62:30 tight glyph =
336−61:31 tight aura @
340+62:31 tight aura @
337−61:32 tight glyph ]
341+62:32 tight glyph ]
338−61:33 tight glyph ]
342+62:33 tight glyph ]
339−63:1 NEWLINE
343+64:1 NEWLINE
340−63:1 glyph +$
344+64:1 glyph +$
341−63:4 name coin
345+64:4 name coin
342−64:3 INDENT
346+65:3 INDENT
343−64:3 glyph [
344−64:4 tight lit %$
345−64:7 name p
346−64:8 tight glyph =
347−64:9 tight name dime
348−64:13 tight glyph ]
349−65:3 NEWLINE
35065:3 glyph [
34765:3 glyph [
351−65:4 tight lit %blob
348+65:4 tight lit %$
352−65:10 name p
349+65:7 name p
353−65:11 tight glyph =
350+65:8 tight glyph =
354−65:12 tight glyph *
351+65:9 tight name dime
35565:13 tight glyph ]
35265:13 tight glyph ]
35666:3 NEWLINE
35366:3 NEWLINE
35766:3 glyph [
35466:3 glyph [
358−66:4 tight lit %many
355+66:4 tight lit %blob
35966:10 name p
35666:10 name p
36066:11 tight glyph =
35766:11 tight glyph =
361−66:12 tight glyph (
358+66:12 tight glyph *
362−66:13 tight name list
359+66:13 tight glyph ]
360+67:3 NEWLINE
361+67:3 glyph [
362+67:4 tight lit %many
363+67:10 name p
364+67:11 tight glyph =
365+67:12 tight glyph (
366+67:13 tight name list
363−66:18 name coin
367+67:18 name coin
364−66:22 tight glyph )
368+67:22 tight glyph )
365−66:23 tight glyph ]
369+67:23 tight glyph ]
366−68:1 DEDENT
370+69:1 DEDENT
367−68:1 NEWLINE
371+69:1 NEWLINE
368−68:1 glyph +$
372+69:1 glyph +$
369−68:4 name pair
373+69:4 name pair
370−68:9 glyph |$
374+69:9 glyph |$
371−68:12 glyph [
375+69:12 glyph [
372−68:13 tight tvar A
376+69:13 tight tvar A
373−68:15 tvar B
377+69:15 tvar B
374−68:16 tight glyph ]
378+69:16 tight glyph ]
375−68:18 glyph [
379+69:18 glyph [
376−68:19 tight name p
380+69:19 tight name p
377−68:20 tight glyph =
381+69:20 tight glyph =
378−68:21 tight tvar A
382+69:21 tight tvar A
379−68:23 name q
383+69:23 name q
380−68:24 tight glyph =
384+69:24 tight glyph =
381−68:25 tight tvar B
385+69:25 tight tvar B
382−68:26 tight glyph ]
386+69:26 tight glyph ]
383−70:1 NEWLINE
387+71:1 NEWLINE
384−70:1 glyph +$
388+71:1 glyph +$
385−70:4 name trel
389+71:4 name trel
386−70:9 glyph |$
390+71:9 glyph |$
387−70:12 glyph [
391+71:12 glyph [
388−70:13 tight tvar A
392+71:13 tight tvar A
389−70:15 tvar B
393+71:15 tvar B
390−70:17 tvar C
394+71:17 tvar C
391−70:18 tight glyph ]
395+71:18 tight glyph ]
392−70:20 glyph [
396+71:20 glyph [
393−70:21 tight name p
397+71:21 tight name p
394−70:22 tight glyph =
398+71:22 tight glyph =
395−70:23 tight tvar A
399+71:23 tight tvar A
396−70:25 name q
400+71:25 name q
397−70:26 tight glyph =
401+71:26 tight glyph =
398−70:27 tight tvar B
402+71:27 tight tvar B
399−70:29 name r
403+71:29 name r
400−70:30 tight glyph =
404+71:30 tight glyph =
401−70:31 tight tvar C
405+71:31 tight tvar C
402−70:32 tight glyph ]
406+71:32 tight glyph ]
403−72:1 NEWLINE
407+73:1 NEWLINE
404−72:1 glyph +$
408+73:1 glyph +$
405−72:4 name qual
409+73:4 name qual
406−72:9 glyph |$
410+73:9 glyph |$
407−72:12 glyph [
411+73:12 glyph [
408−72:13 tight tvar A
412+73:13 tight tvar A
409−72:15 tvar B
413+73:15 tvar B
410−72:17 tvar C
414+73:17 tvar C
411−72:19 tvar D
415+73:19 tvar D
412−72:20 tight glyph ]
416+73:20 tight glyph ]
413−72:22 glyph [
417+73:22 glyph [
414−72:23 tight name p
418+73:23 tight name p
415−72:24 tight glyph =
419+73:24 tight glyph =
416−72:25 tight tvar A
420+73:25 tight tvar A
417−72:27 name q
421+73:27 name q
418−72:28 tight glyph =
422+73:28 tight glyph =
419−72:29 tight tvar B
423+73:29 tight tvar B
420−72:31 name r
424+73:31 name r
421−72:32 tight glyph =
425+73:32 tight glyph =
422−72:33 tight tvar C
426+73:33 tight tvar C
423−72:35 name s
427+73:35 name s
424−72:36 tight glyph =
428+73:36 tight glyph =
425−72:37 tight tvar D
429+73:37 tight tvar D
426−72:38 tight glyph ]
430+73:38 tight glyph ]
427−74:1 NEWLINE
431+75:1 NEWLINE
428−74:1 glyph +$
432+75:1 glyph +$
429−74:4 name cord
433+75:4 name cord
430−74:9 aura @t
434+75:9 aura @t
431−76:1 NEWLINE
435+77:1 NEWLINE
432−76:1 glyph +$
436+77:1 glyph +$
433−76:4 name knot
437+77:4 name knot
434−76:9 aura @ta
438+77:9 aura @ta
435−78:1 NEWLINE
439+79:1 NEWLINE
436−78:1 glyph +$
440+79:1 glyph +$
437−78:4 name tape
441+79:4 name tape
438−78:9 glyph (
442+79:9 glyph (
439−78:10 tight name list
443+79:10 tight name list
440−78:15 aura @tD
444+79:15 aura @tD
441−78:18 tight glyph )
445+79:18 tight glyph )
442−80:1 NEWLINE
446+81:1 NEWLINE
443−80:1 glyph +$
447+81:1 glyph +$
444−80:4 name path
448+81:4 name path
445−80:9 glyph (
449+81:9 glyph (
446−80:10 tight name list
450+81:10 tight name list
447−80:15 name knot
451+81:15 name knot
448−80:19 tight glyph )
452+81:19 tight glyph )
449−82:1 NEWLINE
453+83:1 NEWLINE
450−82:1 glyph +$
454+83:1 glyph +$
451−82:4 name tank
455+83:4 name tank
452−83:3 INDENT
456+84:3 INDENT
453−83:3 name cord
454−84:3 NEWLINE
455−84:3 glyph [
456−84:4 tight lit %leaf
457−84:10 name p
457+84:3 name cord
458−84:11 tight glyph =
459−84:12 tight name tape
460−84:16 tight glyph ]
46185:3 NEWLINE
45885:3 NEWLINE
46285:3 glyph [
45985:3 glyph [
463−85:4 tight lit %palm
460+85:4 tight lit %leaf
46485:10 name p
46185:10 name p
46585:11 tight glyph =
46285:11 tight glyph =
466−85:12 tight glyph (
463+85:12 tight name tape
467−85:13 tight name qual
468−85:18 name tape
469−85:23 name tape
470−85:28 name tape
471−85:33 name tape
472−85:37 tight glyph )
473−85:39 name q
474−85:40 tight glyph =
475−85:41 tight glyph (
476−85:42 tight name list
477−85:47 name tank
478−85:51 tight glyph )
479−85:52 tight glyph ]
464+85:16 tight glyph ]
48086:3 NEWLINE
46586:3 NEWLINE
48186:3 glyph [
46686:3 glyph [
482−86:4 tight lit %rose
467+86:4 tight lit %palm
48386:10 name p
46886:10 name p
48486:11 tight glyph =
46986:11 tight glyph =
48586:12 tight glyph (
47086:12 tight glyph (
486−86:13 tight name trel
471+86:13 tight name qual
48786:18 name tape
47286:18 name tape
48886:23 name tape
47386:23 name tape
48986:28 name tape
47486:28 name tape
475+86:33 name tape
490−86:32 tight glyph )
476+86:37 tight glyph )
477+86:39 name q
478+86:40 tight glyph =
479+86:41 tight glyph (
480+86:42 tight name list
481+86:47 name tank
482+86:51 tight glyph )
483+86:52 tight glyph ]
484+87:3 NEWLINE
485+87:3 glyph [
486+87:4 tight lit %rose
487+87:10 name p
488+87:11 tight glyph =
489+87:12 tight glyph (
490+87:13 tight name trel
491+87:18 name tape
492+87:23 name tape
493+87:28 name tape
494+87:32 tight glyph )
491−86:34 name q
495+87:34 name q
492−86:35 tight glyph =
496+87:35 tight glyph =
493−86:36 tight glyph (
497+87:36 tight glyph (
494−86:37 tight name list
498+87:37 tight name list
495−86:42 name tank
499+87:42 name tank
496−86:46 tight glyph )
500+87:46 tight glyph )
497−86:47 tight glyph ]
501+87:47 tight glyph ]
498−88:1 DEDENT
502+89:1 DEDENT
499−88:1 NEWLINE
503+89:1 NEWLINE
500−88:1 glyph +$
504+89:1 glyph +$
501−88:4 name nail
505+89:4 name nail
502−88:9 glyph [
506+89:9 glyph [
503−88:10 tight name p
507+89:10 tight name p
504−88:11 tight glyph =
508+89:11 tight glyph =
505−88:12 tight name hair
509+89:12 tight name hair
506−88:17 name q
510+89:17 name q
507−88:18 tight glyph =
511+89:18 tight glyph =
508−88:19 tight name tape
512+89:19 tight name tape
509−88:23 tight glyph ]
513+89:23 tight glyph ]
510−90:1 NEWLINE
514+91:1 NEWLINE
511−90:1 glyph +$
515+91:1 glyph +$
512−90:4 name edge
516+91:4 name edge
513−90:9 glyph [
517+91:9 glyph [
514−90:10 tight name p
518+91:10 tight name p
515−90:11 tight glyph =
519+91:11 tight glyph =
516−90:12 tight name hair
520+91:12 tight name hair
517−90:17 name q
521+91:17 name q
518−90:18 tight glyph =
522+91:18 tight glyph =
519−90:19 tight glyph (
523+91:19 tight glyph (
520−90:20 tight name unit
524+91:20 tight name unit
521−90:25 glyph [
525+91:25 glyph [
522−90:26 tight name p
526+91:26 tight name p
523−90:27 tight glyph =
527+91:27 tight glyph =
524−90:28 tight glyph *
528+91:28 tight glyph *
525−90:30 name q
529+91:30 name q
526−90:31 tight glyph =
530+91:31 tight glyph =
527−90:32 tight name nail
531+91:32 tight name nail
528−90:36 tight glyph ]
532+91:36 tight glyph ]
529−90:37 tight glyph )
533+91:37 tight glyph )
530−90:38 tight glyph ]
534+91:38 tight glyph ]
531−92:1 NEWLINE
535+93:1 NEWLINE
532−92:1 glyph +$
536+93:1 glyph +$
533−92:4 name rule
537+93:4 name rule
534−92:9 glyph $-(
538+93:9 glyph $-(
535−92:12 tight name nail
539+93:12 tight name nail
536−92:17 name edge
540+93:17 name edge
537−92:21 tight glyph )
541+93:21 tight glyph )
538−94:1 NEWLINE
542+95:1 NEWLINE
539−94:1 glyph +$
543+95:1 glyph +$
540−94:4 name spot
544+95:4 name spot
541−94:9 glyph [
545+95:9 glyph [
542−94:10 tight name p
546+95:10 tight name p
543−94:11 tight glyph =
547+95:11 tight glyph =
544−94:12 tight name path
548+95:12 tight name path
545−94:17 name q
549+95:17 name q
546−94:18 tight glyph =
550+95:18 tight glyph =
547−94:19 tight name pint
551+95:19 tight name pint
548−94:23 tight glyph ]
552+95:23 tight glyph ]
549−96:1 NEWLINE
553+97:1 NEWLINE
550−96:1 glyph +$
554+97:1 glyph +$
551−96:4 name toon
555+97:4 name toon
552−97:3 INDENT
556+98:3 INDENT
553−97:3 glyph [
554−97:4 tight lit %0
555−97:7 name p
556−97:8 tight glyph =
557−97:9 tight glyph *
558−97:10 tight glyph ]
559−98:3 NEWLINE
56098:3 glyph [
55798:3 glyph [
561−98:4 tight lit %1
558+98:4 tight lit %0
56298:7 name p
55998:7 name p
56398:8 tight glyph =
56098:8 tight glyph =
56498:9 tight glyph *
56198:9 tight glyph *
56598:10 tight glyph ]
56298:10 tight glyph ]
56699:3 NEWLINE
56399:3 NEWLINE
56799:3 glyph [
56499:3 glyph [
568−99:4 tight lit %2
565+99:4 tight lit %1
56999:7 name p
56699:7 name p
57099:8 tight glyph =
56799:8 tight glyph =
571−99:9 tight glyph (
568+99:9 tight glyph *
572−99:10 tight name list
569+99:10 tight glyph ]
570+100:3 NEWLINE
571+100:3 glyph [
572+100:4 tight lit %2
573+100:7 name p
574+100:8 tight glyph =
575+100:9 tight glyph (
576+100:10 tight name list
573−99:15 name tank
577+100:15 name tank
574−99:19 tight glyph )
578+100:19 tight glyph )
575−99:20 tight glyph ]
579+100:20 tight glyph ]
576−101:1 DEDENT
580+102:1 DEDENT
577−101:1 NEWLINE
581+102:1 NEWLINE
578−101:1 glyph +$
582+102:1 glyph +$
579−101:4 name like
583+102:4 name like
580−101:9 glyph |$
584+102:9 glyph |$
581−101:12 glyph [
585+102:12 glyph [
582−101:13 tight tvar A
586+102:13 tight tvar A
583−101:14 tight glyph ]
587+102:14 tight glyph ]
584−101:16 glyph [
588+102:16 glyph [
585−101:17 tight name p
589+102:17 tight name p
586−101:18 tight glyph =
590+102:18 tight glyph =
587−101:19 tight name hair
591+102:19 tight name hair
588−101:24 name q
592+102:24 name q
589−101:25 tight glyph =
593+102:25 tight glyph =
590−101:26 tight glyph (
594+102:26 tight glyph (
591−101:27 tight name unit
595+102:27 tight name unit
592−101:32 glyph [
596+102:32 glyph [
593−101:33 tight name p
597+102:33 tight name p
594−101:34 tight glyph =
598+102:34 tight glyph =
595−101:35 tight tvar A
599+102:35 tight tvar A
596−101:37 name q
600+102:37 name q
597−101:38 tight glyph =
601+102:38 tight glyph =
598−101:39 tight name nail
602+102:39 tight name nail
599−101:43 tight glyph ]
603+102:43 tight glyph ]
600−101:44 tight glyph )
604+102:44 tight glyph )
601−101:45 tight glyph ]
605+102:45 tight glyph ]
602−103:1 NEWLINE
606+104:1 NEWLINE
603−103:1 glyph ++
607+104:1 glyph ++
604−103:4 name wonk
608+104:4 name wonk
605−103:9 glyph |=
609+104:9 glyph |=
606−103:12 name veq
610+104:12 name veq
607−103:15 tight glyph =
611+104:15 tight glyph =
608−103:16 tight glyph (
612+104:16 tight glyph (
609−103:17 tight name like
613+104:17 tight name like
610−103:22 tvar A
614+104:22 tvar A
611−103:23 tight glyph )
615+104:23 tight glyph )
612−104:3 INDENT
616+105:3 INDENT
613−104:3 glyph ?-
617+105:3 glyph ?-
614−104:6 wing q.veq
618+105:6 wing q.veq
615−105:5 INDENT
619+106:5 INDENT
616−105:5 lit ~
620+106:5 lit ~
617−105:7 glyph !!
621+106:7 glyph !!
618−106:5 NEWLINE
622+107:5 NEWLINE
619−106:5 glyph [
623+107:5 glyph [
620−106:6 tight lit ~
624+107:6 tight lit ~
621−106:8 name product
625+107:8 name product
622−106:15 tight glyph ]
626+107:15 tight glyph ]
623−106:17 wing p.product
627+107:17 wing p.product
624−108:1 DEDENT
628+109:1 DEDENT
625−108:1 DEDENT
629+109:1 DEDENT
626−108:1 NEWLINE
630+109:1 NEWLINE
627−108:1 glyph +$
631+109:1 glyph +$
628−108:4 name lone
632+109:4 name lone
629−108:9 glyph |$
633+109:9 glyph |$
630−108:12 glyph [
634+109:12 glyph [
631−108:13 tight tvar A
635+109:13 tight tvar A
632−108:14 tight glyph ]
636+109:14 tight glyph ]
633−108:16 glyph [
637+109:16 glyph [
634−108:17 tight name p
638+109:17 tight name p
635−108:18 tight glyph =
639+109:18 tight glyph =
636−108:19 tight tvar A
640+109:19 tight tvar A
637−108:20 tight glyph ]
641+109:20 tight glyph ]
638−110:1 NEWLINE
642+111:1 NEWLINE
639−110:1 glyph +$
643+111:1 glyph +$
640−110:4 name lest
644+111:4 name lest
641−110:9 glyph |$
645+111:9 glyph |$
642−110:12 glyph [
646+111:12 glyph [
643−110:13 tight tvar A
647+111:13 tight tvar A
644−110:14 tight glyph ]
648+111:14 tight glyph ]
645−110:16 glyph [
649+111:16 glyph [
646−110:17 tight name i
650+111:17 tight name i
647−110:18 tight glyph =
651+111:18 tight glyph =
648−110:19 tight tvar A
652+111:19 tight tvar A
649−110:21 name t
653+111:21 name t
650−110:22 tight glyph =
654+111:22 tight glyph =
651−110:23 tight glyph (
655+111:23 tight glyph (
652−110:24 tight name list
656+111:24 tight name list
653−110:29 tvar A
657+111:29 tvar A
654−110:30 tight glyph )
658+111:30 tight glyph )
655−110:31 tight glyph ]
659+111:31 tight glyph ]
656−112:1 NEWLINE
660+113:1 NEWLINE
657−112:1 glyph +$
661+113:1 glyph +$
658−112:4 name pole
662+113:4 name pole
659−112:9 glyph |$
663+113:9 glyph |$
660−112:12 glyph [
664+113:12 glyph [
661−112:13 tight tvar A
665+113:13 tight tvar A
662−112:14 tight glyph ]
666+113:14 tight glyph ]
663−113:3 INDENT
667+114:3 INDENT
664−113:3 lit ~
668+114:3 lit ~
665−114:3 NEWLINE
669+115:3 NEWLINE
666−114:3 glyph [
670+115:3 glyph [
667−114:4 tight tvar A
671+115:4 tight tvar A
668−114:6 glyph (
672+115:6 glyph (
669−114:7 tight name pole
673+115:7 tight name pole
670−114:12 tvar A
674+115:12 tvar A
671−114:13 tight glyph )
675+115:13 tight glyph )
672−114:14 tight glyph ]
676+115:14 tight glyph ]
673−116:1 DEDENT
677+117:1 DEDENT
674−116:1 NEWLINE
678+117:1 NEWLINE
675−116:1 glyph +$
679+117:1 glyph +$
676−116:4 name quip
680+117:4 name quip
677−116:9 glyph |$
681+117:9 glyph |$
678−116:12 glyph [
682+117:12 glyph [
679−116:13 tight tvar A
683+117:13 tight tvar A
680−116:15 tvar B
684+117:15 tvar B
681−116:16 tight glyph ]
685+117:16 tight glyph ]
682−116:18 glyph [
686+117:18 glyph [
683−116:19 tight glyph (
687+117:19 tight glyph (
684−116:20 tight name list
688+117:20 tight name list
685−116:25 tvar A
689+117:25 tvar A
686−116:26 tight glyph )
690+117:26 tight glyph )
687−116:28 tvar B
691+117:28 tvar B
688−116:29 tight glyph ]
692+117:29 tight glyph ]
689−118:1 NEWLINE
693+119:1 NEWLINE
690−118:1 glyph +$
694+119:1 glyph +$
691−118:4 name tree
695+119:4 name tree
692−118:9 glyph |$
696+119:9 glyph |$
693−118:12 glyph [
697+119:12 glyph [
694−118:13 tight tvar A
698+119:13 tight tvar A
695−118:14 tight glyph ]
699+119:14 tight glyph ]
696−119:3 INDENT
700+120:3 INDENT
697−119:3 lit ~
701+120:3 lit ~
698−120:3 NEWLINE
702+121:3 NEWLINE
699−120:3 glyph [
703+121:3 glyph [
700−120:4 tight name n
704+121:4 tight name n
701−120:5 tight glyph =
705+121:5 tight glyph =
702−120:6 tight tvar A
706+121:6 tight tvar A
703−120:8 name l
707+121:8 name l
704−120:9 tight glyph =
708+121:9 tight glyph =
705−120:10 tight glyph (
709+121:10 tight glyph (
706−120:11 tight name tree
710+121:11 tight name tree
707−120:16 tvar A
711+121:16 tvar A
708−120:17 tight glyph )
712+121:17 tight glyph )
709−120:19 name r
713+121:19 name r
710−120:20 tight glyph =
714+121:20 tight glyph =
711−120:21 tight glyph (
715+121:21 tight glyph (
712−120:22 tight name tree
716+121:22 tight name tree
713−120:27 tvar A
717+121:27 tvar A
714−120:28 tight glyph )
718+121:28 tight glyph )
715−120:29 tight glyph ]
719+121:29 tight glyph ]
716−122:1 DEDENT
720+123:1 DEDENT
717−122:1 NEWLINE
721+123:1 NEWLINE
718−122:1 glyph +$
722+123:1 glyph +$
719−122:4 name each
723+123:4 name each
720−122:9 glyph |$
724+123:9 glyph |$
721−122:12 glyph [
725+123:12 glyph [
722−122:13 tight tvar A
726+123:13 tight tvar A
723−122:15 tvar B
727+123:15 tvar B
724−122:16 tight glyph ]
725−123:3 INDENT
726−123:3 glyph [
727−123:4 tight lit %|
728−123:7 name p
729−123:8 tight glyph =
730−123:9 tight tvar B
731−123:10 tight glyph ]
728+123:16 tight glyph ]
732−124:3 NEWLINE
729+124:3 INDENT
733124:3 glyph [
730124:3 glyph [
734−124:4 tight lit %&
731+124:4 tight lit %|
735124:7 name p
732124:7 name p
736124:8 tight glyph =
733124:8 tight glyph =
737−124:9 tight tvar A
734+124:9 tight tvar B
738124:10 tight glyph ]
735124:10 tight glyph ]
736+125:3 NEWLINE
737+125:3 glyph [
738+125:4 tight lit %&
739+125:7 name p
740+125:8 tight glyph =
741+125:9 tight tvar A
742+125:10 tight glyph ]
739−126:1 DEDENT
743+127:1 DEDENT
740−126:1 NEWLINE
744+127:1 NEWLINE
741−126:1 glyph +$
745+127:1 glyph +$
742−126:4 name bloq
746+127:4 name bloq
743−126:9 aura @
747+127:9 aura @
744−128:1 NEWLINE
748+129:1 NEWLINE
745−128:1 glyph ++
749+129:1 glyph ++
746−128:4 name some
750+129:4 name some
747−128:9 glyph |=
751+129:9 glyph |=
748−128:12 name item
752+129:12 name item
749−128:16 tight glyph =
753+129:16 tight glyph =
750−128:17 tight tvar A
754+129:17 tight tvar A
751−128:19 glyph `
755+129:19 glyph `
752−128:20 tight name item
756+129:20 tight name item
753−130:1 NEWLINE
757+131:1 NEWLINE
754−130:1 glyph ++
758+131:1 glyph ++
755−130:4 name lure
759+131:4 name lure
756−130:9 glyph |=
760+131:9 glyph |=
757−130:12 name item
761+131:12 name item
758−130:16 tight glyph =
762+131:16 tight glyph =
759−130:17 tight tvar A
763+131:17 tight tvar A
760−131:3 INDENT
764+132:3 INDENT
761−131:3 glyph ^-
765+132:3 glyph ^-
762−131:6 glyph (
766+132:6 glyph (
763−131:7 tight name list
767+132:7 tight name list
764−131:12 tvar A
768+132:12 tvar A
765−131:13 tight glyph )
769+132:13 tight glyph )
766−131:15 glyph [
770+132:15 glyph [
767−131:16 tight name item
771+132:16 tight name item
768−131:21 lit ~
772+132:21 lit ~
769−131:22 tight glyph ]
773+132:22 tight glyph ]
770−133:1 DEDENT
774+134:1 DEDENT
771−133:1 NEWLINE
775+134:1 NEWLINE
772−133:1 glyph ++
776+134:1 glyph ++
773−133:4 name snoc
777+134:4 name snoc
774−133:9 glyph |=
778+134:9 glyph |=
775−133:12 name args
779+134:12 name args
776−133:16 tight glyph =
780+134:16 tight glyph =
777−133:17 tight glyph [
781+134:17 tight glyph [
778−133:18 tight glyph (
782+134:18 tight glyph (
779−133:19 tight name list
783+134:19 tight name list
780−133:24 tvar A
784+134:24 tvar A
781−133:25 tight glyph )
785+134:25 tight glyph )
782−133:27 tvar A
786+134:27 tvar A
783−133:28 tight glyph ]
787+134:28 tight glyph ]
784−134:3 INDENT
788+135:3 INDENT
785−134:3 glyph ?-
789+135:3 glyph ?-
786−134:6 name args
790+135:6 name args
787−135:5 INDENT
791+136:5 INDENT
788−135:5 glyph [
792+136:5 glyph [
789−135:6 tight name xs
793+136:6 tight name xs
790−135:9 name item
794+136:9 name item
791−135:13 tight glyph ]
795+136:13 tight glyph ]
792−135:15 glyph (
796+136:15 glyph (
793−135:16 tight name weld
797+136:16 tight name weld
794−135:21 name xs
798+136:21 name xs
795−135:24 glyph [
799+136:24 glyph [
796−135:25 tight name item
800+136:25 tight name item
797−135:30 lit ~
801+136:30 lit ~
798−135:31 tight glyph ]
802+136:31 tight glyph ]
799−135:32 tight glyph )
803+136:32 tight glyph )
800−137:1 DEDENT
804+138:1 DEDENT
801−137:1 DEDENT
805+138:1 DEDENT
802−137:1 NEWLINE
806+138:1 NEWLINE
803−137:1 glyph ++
807+138:1 glyph ++
804−137:4 name flop
808+138:4 name flop
805−137:9 glyph |=
809+138:9 glyph |=
806−137:12 name xs
810+138:12 name xs
807−137:14 tight glyph =
811+138:14 tight glyph =
808−137:15 tight glyph (
812+138:15 tight glyph (
809−137:16 tight name list
813+138:16 tight name list
810−137:21 tvar A
814+138:21 tvar A
811−137:22 tight glyph )
815+138:22 tight glyph )
812−138:3 INDENT
816+139:3 INDENT
813−138:3 glyph ++
817+139:3 glyph ++
814−138:6 name reverse-into
818+139:6 name reverse-into
815−138:19 glyph |=
819+139:19 glyph |=
816−138:22 name args
820+139:22 name args
817−138:26 tight glyph =
821+139:26 tight glyph =
818−138:27 tight glyph [
822+139:27 tight glyph [
819−138:28 tight glyph (
823+139:28 tight glyph (
820−138:29 tight name list
824+139:29 tight name list
821−138:34 tvar A
825+139:34 tvar A
822−138:35 tight glyph )
826+139:35 tight glyph )
823−138:37 glyph (
827+139:37 glyph (
824−138:38 tight name list
828+139:38 tight name list
825−138:43 tvar A
829+139:43 tvar A
826−138:44 tight glyph )
830+139:44 tight glyph )
827−138:45 tight glyph ]
831+139:45 tight glyph ]
828−139:5 INDENT
832+140:5 INDENT
829−139:5 glyph ?-
833+140:5 glyph ?-
830−139:8 name args
834+140:8 name args
831−140:7 INDENT
835+141:7 INDENT
832−140:7 glyph [
836+141:7 glyph [
833−140:8 tight name rest
837+141:8 tight name rest
834−140:13 name acc
838+141:13 name acc
835−140:16 tight glyph ]
839+141:16 tight glyph ]
836−141:9 INDENT
840+142:9 INDENT
837−141:9 glyph ?-
841+142:9 glyph ?-
838−141:12 name rest
842+142:12 name rest
839−142:11 INDENT
843+143:11 INDENT
840−142:11 lit ~
844+143:11 lit ~
841−142:13 name acc
845+143:13 name acc
842−143:11 NEWLINE
846+144:11 NEWLINE
843−143:11 glyph [
847+144:11 glyph [
844−143:12 tight name item
848+144:12 tight name item
845−143:17 name more
849+144:17 name more
846−143:21 tight glyph ]
850+144:21 tight glyph ]
847−143:23 glyph (
851+144:23 glyph (
848−143:24 tight name reverse-into
852+144:24 tight name reverse-into
849−143:37 name more
853+144:37 name more
850−143:42 glyph [
854+144:42 glyph [
851−143:43 tight name item
855+144:43 tight name item
852−143:48 name acc
856+144:48 name acc
853−143:51 tight glyph ]
857+144:51 tight glyph ]
854−143:52 tight glyph )
858+144:52 tight glyph )
855−144:3 DEDENT
859+145:3 DEDENT
856−144:3 DEDENT
860+145:3 DEDENT
857−144:3 DEDENT
861+145:3 DEDENT
858−144:3 DEDENT
862+145:3 DEDENT
859−144:3 NEWLINE
863+145:3 NEWLINE
860−144:3 glyph (
864+145:3 glyph (
861−144:4 tight name reverse-into
865+145:4 tight name reverse-into
862−144:17 name xs
866+145:17 name xs
863−144:20 lit ~
867+145:20 lit ~
864−144:21 tight glyph )
868+145:21 tight glyph )
865−146:1 DEDENT
869+147:1 DEDENT
866−146:1 NEWLINE
870+147:1 NEWLINE
867−146:1 glyph ++
871+147:1 glyph ++
868−146:4 name drop
872+147:4 name drop
869−146:9 glyph |=
873+147:9 glyph |=
870−146:12 name maybe
874+147:12 name maybe
871−146:17 tight glyph =
875+147:17 tight glyph =
872−146:18 tight glyph (
876+147:18 tight glyph (
873−146:19 tight name unit
877+147:19 tight name unit
874−146:24 tvar A
878+147:24 tvar A
875−146:25 tight glyph )
879+147:25 tight glyph )
876−147:3 INDENT
880+148:3 INDENT
877−147:3 glyph ^-
881+148:3 glyph ^-
878−147:6 glyph (
882+148:6 glyph (
879−147:7 tight name list
883+148:7 tight name list
880−147:12 tvar A
884+148:12 tvar A
881−147:13 tight glyph )
885+148:13 tight glyph )
882−148:5 INDENT
886+149:5 INDENT
883−148:5 glyph ?-
887+149:5 glyph ?-
884−148:8 name maybe
888+149:8 name maybe
885−149:7 INDENT
889+150:7 INDENT
886−149:7 lit ~
890+150:7 lit ~
887−149:9 lit ~
891+150:9 lit ~
888−150:7 NEWLINE
892+151:7 NEWLINE
889−150:7 glyph [
893+151:7 glyph [
890−150:8 tight lit ~
894+151:8 tight lit ~
891−150:10 name value
895+151:10 name value
892−150:15 tight glyph ]
896+151:15 tight glyph ]
893−150:17 glyph [
897+151:17 glyph [
894−150:18 tight name value
898+151:18 tight name value
895−150:24 lit ~
899+151:24 lit ~
896−150:25 tight glyph ]
900+151:25 tight glyph ]
897−152:1 DEDENT
901+153:1 DEDENT
898−152:1 DEDENT
902+153:1 DEDENT
899−152:1 DEDENT
903+153:1 DEDENT
900−152:1 NEWLINE
904+153:1 NEWLINE
901−152:1 glyph ++
905+153:1 glyph ++
902−152:4 name bind
906+153:4 name bond
903−152:9 glyph |=
907+153:9 glyph |=
904−152:12 name args
908+153:12 name fallback
905−152:16 tight glyph =
909+153:20 tight glyph =
906−152:17 tight glyph [
907−152:18 tight glyph (
908−152:19 tight name unit
909−152:24 tvar A
910−152:25 tight glyph )
910+153:21 tight glyph $-(
911−152:27 glyph $-(
911+153:24 tight lit ~
912−152:30 tight tvar A
913−152:32 tvar B
912+153:26 tvar A
914−152:33 tight glyph )
913+153:27 tight glyph )
915−152:34 tight glyph ]
916−153:3 INDENT
917−153:3 glyph ?-
918−153:6 name args
919−154:5 INDENT
914+154:3 INDENT
920−154:5 glyph [
915+154:3 glyph |=
921−154:6 tight name maybe
916+154:6 name maybe
922−154:12 name f
923−154:13 tight glyph ]
917+154:11 tight glyph =
924−154:15 glyph ^-
925−154:18 glyph (
918+154:12 tight glyph (
926−154:19 tight name unit
919+154:13 tight name unit
927−154:24 tvar B
920+154:18 tvar A
928−154:25 tight glyph )
921+154:19 tight glyph )
929−155:7 INDENT
922+155:5 INDENT
930−155:7 glyph ?-
923+155:5 glyph ?-
931−155:10 name maybe
924+155:8 name maybe
932−156:9 INDENT
925+156:7 INDENT
933−156:9 lit ~
926+156:7 lit ~
934−156:11 lit ~
935−157:9 NEWLINE
936−157:9 glyph [
927+156:9 glyph (
937−157:10 tight lit ~
928+156:10 tight name fallback
938−157:12 name value
929+156:19 lit ~
939−157:17 tight glyph ]
930+156:20 tight glyph )
940−157:19 glyph `
931+157:7 NEWLINE
941−157:20 tight glyph (
932+157:7 glyph [
942−157:21 tight name f
933+157:8 tight lit ~
943−157:23 name value
934+157:10 name value
944−157:28 tight glyph )
935+157:15 tight glyph ]
945−159:1 DEDENT
936+157:17 name value
946159:1 DEDENT
937159:1 DEDENT
947159:1 DEDENT
938159:1 DEDENT
948159:1 DEDENT
939159:1 DEDENT
949159:1 NEWLINE
940159:1 NEWLINE
950159:1 glyph ++
941159:1 glyph ++
951−159:4 name biff
942+159:4 name bind
952159:9 glyph |=
943159:9 glyph |=
953159:12 name args
944159:12 name args
954159:16 tight glyph =
945159:16 tight glyph =
@@ -959,12 +950,9 @@
959159:25 tight glyph )
950159:25 tight glyph )
960159:27 glyph $-(
951159:27 glyph $-(
961159:30 tight tvar A
952159:30 tight tvar A
962−159:32 glyph (
953+159:32 tvar B
963−159:33 tight name unit
964−159:38 tvar B
965−159:39 tight glyph )
954+159:33 tight glyph )
966−159:40 tight glyph )
967−159:41 tight glyph ]
955+159:34 tight glyph ]
968160:3 INDENT
956160:3 INDENT
969160:3 glyph ?-
957160:3 glyph ?-
970160:6 name args
958160:6 name args
@@ -989,17 +977,18 @@
989164:10 tight lit ~
977164:10 tight lit ~
990164:12 name value
978164:12 name value
991164:17 tight glyph ]
979164:17 tight glyph ]
992−164:19 glyph (
980+164:19 glyph `
981+164:20 tight glyph (
993−164:20 tight name f
982+164:21 tight name f
994−164:22 name value
983+164:23 name value
995−164:27 tight glyph )
984+164:28 tight glyph )
996166:1 DEDENT
985166:1 DEDENT
997166:1 DEDENT
986166:1 DEDENT
998166:1 DEDENT
987166:1 DEDENT
999166:1 DEDENT
988166:1 DEDENT
1000166:1 NEWLINE
989166:1 NEWLINE
1001166:1 glyph ++
990166:1 glyph ++
1002−166:4 name both
991+166:4 name biff
1003166:9 glyph |=
992166:9 glyph |=
1004166:12 name args
993166:12 name args
1005166:16 tight glyph =
994166:16 tight glyph =
@@ -1008,521 +997,518 @@
1008166:19 tight name unit
997166:19 tight name unit
1009166:24 tvar A
998166:24 tvar A
1010166:25 tight glyph )
999166:25 tight glyph )
1011−166:27 glyph (
1000+166:27 glyph $-(
1001+166:30 tight tvar A
1002+166:32 glyph (
1012−166:28 tight name unit
1003+166:33 tight name unit
1013−166:33 tvar B
1004+166:38 tvar B
1005+166:39 tight glyph )
1014−166:34 tight glyph )
1006+166:40 tight glyph )
1015−166:35 tight glyph ]
1007+166:41 tight glyph ]
1016167:3 INDENT
1008167:3 INDENT
1017167:3 glyph ?-
1009167:3 glyph ?-
1018167:6 name args
1010167:6 name args
1019168:5 INDENT
1011168:5 INDENT
1020168:5 glyph [
1012168:5 glyph [
1021−168:6 tight name first
1013+168:6 tight name maybe
1022−168:12 name second
1014+168:12 name f
1023−168:18 tight glyph ]
1015+168:13 tight glyph ]
1024−168:20 glyph ^-
1016+168:15 glyph ^-
1025−168:23 glyph (
1017+168:18 glyph (
1026−168:24 tight name unit
1018+168:19 tight name unit
1027−168:29 glyph [
1028−168:30 tight tvar A
1029−168:32 tvar B
1019+168:24 tvar B
1030−168:33 tight glyph ]
1031−168:34 tight glyph )
1020+168:25 tight glyph )
1032169:7 INDENT
1021169:7 INDENT
1033169:7 glyph ?-
1022169:7 glyph ?-
1034−169:10 name first
1023+169:10 name maybe
1035170:9 INDENT
1024170:9 INDENT
1036170:9 lit ~
1025170:9 lit ~
1037170:11 lit ~
1026170:11 lit ~
1038171:9 NEWLINE
1027171:9 NEWLINE
1039171:9 glyph [
1028171:9 glyph [
1040171:10 tight lit ~
1029171:10 tight lit ~
1041−171:12 name a
1030+171:12 name value
1031+171:17 tight glyph ]
1032+171:19 glyph (
1033+171:20 tight name f
1034+171:22 name value
1035+171:27 tight glyph )
1036+173:1 DEDENT
1037+173:1 DEDENT
1038+173:1 DEDENT
1039+173:1 DEDENT
1040+173:1 NEWLINE
1041+173:1 glyph ++
1042+173:4 name both
1043+173:9 glyph |=
1044+173:12 name args
1045+173:16 tight glyph =
1046+173:17 tight glyph [
1047+173:18 tight glyph (
1048+173:19 tight name unit
1049+173:24 tvar A
1050+173:25 tight glyph )
1051+173:27 glyph (
1052+173:28 tight name unit
1053+173:33 tvar B
1054+173:34 tight glyph )
1055+173:35 tight glyph ]
1056+174:3 INDENT
1057+174:3 glyph ?-
1058+174:6 name args
1059+175:5 INDENT
1060+175:5 glyph [
1061+175:6 tight name first
1062+175:12 name second
1063+175:18 tight glyph ]
1064+175:20 glyph ^-
1065+175:23 glyph (
1066+175:24 tight name unit
1067+175:29 glyph [
1068+175:30 tight tvar A
1069+175:32 tvar B
1070+175:33 tight glyph ]
1071+175:34 tight glyph )
1072+176:7 INDENT
1073+176:7 glyph ?-
1074+176:10 name first
1075+177:9 INDENT
1076+177:9 lit ~
1077+177:11 lit ~
1078+178:9 NEWLINE
1079+178:9 glyph [
1080+178:10 tight lit ~
1081+178:12 name a
1042−171:13 tight glyph ]
1082+178:13 tight glyph ]
1043−172:11 INDENT
1083+179:11 INDENT
1044−172:11 glyph ?-
1084+179:11 glyph ?-
1045−172:14 name second
1085+179:14 name second
1046−173:13 INDENT
1086+180:13 INDENT
1047−173:13 lit ~
1087+180:13 lit ~
1048−173:15 lit ~
1088+180:15 lit ~
1049−174:13 NEWLINE
1089+181:13 NEWLINE
1050−174:13 glyph [
1090+181:13 glyph [
1051−174:14 tight lit ~
1091+181:14 tight lit ~
1052−174:16 name b
1092+181:16 name b
1053−174:17 tight glyph ]
1093+181:17 tight glyph ]
1054−174:19 glyph `
1094+181:19 glyph `
1055−174:20 tight glyph [
1095+181:20 tight glyph [
1056−174:21 tight name a
1096+181:21 tight name a
1057−174:23 name b
1097+181:23 name b
1058−174:24 tight glyph ]
1098+181:24 tight glyph ]
1059−176:1 DEDENT
1099+183:1 DEDENT
1060−176:1 DEDENT
1100+183:1 DEDENT
1061−176:1 DEDENT
1101+183:1 DEDENT
1062−176:1 DEDENT
1102+183:1 DEDENT
1063−176:1 DEDENT
1103+183:1 DEDENT
1064−176:1 DEDENT
1104+183:1 DEDENT
1065−176:1 NEWLINE
1105+183:1 NEWLINE
1066−176:1 glyph ++
1106+183:1 glyph ++
1067−176:4 name clap
1107+183:4 name clap
1068−176:9 glyph |=
1108+183:9 glyph |=
1069−176:12 name args
1109+183:12 name args
1070−176:16 tight glyph =
1110+183:16 tight glyph =
1071−176:17 tight glyph [
1111+183:17 tight glyph [
1072−176:18 tight glyph (
1112+183:18 tight glyph (
1073−176:19 tight name unit
1113+183:19 tight name unit
1074−176:24 tvar A
1114+183:24 tvar A
1075−176:25 tight glyph )
1115+183:25 tight glyph )
1076−176:27 glyph (
1116+183:27 glyph (
1077−176:28 tight name unit
1117+183:28 tight name unit
1078−176:33 tvar A
1118+183:33 tvar A
1079−176:34 tight glyph )
1119+183:34 tight glyph )
1080−176:36 glyph $-(
1120+183:36 glyph $-(
1081−176:39 tight glyph [
1121+183:39 tight glyph [
1082−176:40 tight tvar A
1122+183:40 tight tvar A
1083−176:42 tvar A
1123+183:42 tvar A
1084−176:43 tight glyph ]
1124+183:43 tight glyph ]
1085−176:45 tvar A
1125+183:45 tvar A
1086−176:46 tight glyph )
1126+183:46 tight glyph )
1087−176:47 tight glyph ]
1127+183:47 tight glyph ]
1088−177:3 INDENT
1128+184:3 INDENT
1089−177:3 glyph ?-
1129+184:3 glyph ?-
1090−177:6 name args
1130+184:6 name args
1091−178:5 INDENT
1131+185:5 INDENT
1092−178:5 glyph [
1132+185:5 glyph [
1093−178:6 tight name first
1133+185:6 tight name first
1094−178:12 name second
1134+185:12 name second
1095−178:19 name combine
1135+185:19 name combine
1096−178:26 tight glyph ]
1136+185:26 tight glyph ]
1097−178:28 glyph ^-
1137+185:28 glyph ^-
1098−178:31 glyph (
1138+185:31 glyph (
1099−178:32 tight name unit
1139+185:32 tight name unit
1100−178:37 tvar A
1140+185:37 tvar A
1101−178:38 tight glyph )
1141+185:38 tight glyph )
1102−179:7 INDENT
1142+186:7 INDENT
1103−179:7 glyph ?-
1143+186:7 glyph ?-
1104−179:10 name first
1144+186:10 name first
1105−180:9 INDENT
1145+187:9 INDENT
1106−180:9 lit ~
1146+187:9 lit ~
1107−180:11 name second
1147+187:11 name second
1108−181:9 NEWLINE
1148+188:9 NEWLINE
1109−181:9 glyph [
1149+188:9 glyph [
1110−181:10 tight lit ~
1150+188:10 tight lit ~
1111−181:12 name a
1151+188:12 name a
1112−181:13 tight glyph ]
1152+188:13 tight glyph ]
1113−182:11 INDENT
1153+189:11 INDENT
1114−182:11 glyph ?-
1154+189:11 glyph ?-
1115−182:14 name second
1155+189:14 name second
1116−183:13 INDENT
1156+190:13 INDENT
1117−183:13 lit ~
1157+190:13 lit ~
1118−183:15 name first
1158+190:15 name first
1119−184:13 NEWLINE
1159+191:13 NEWLINE
1120−184:13 glyph [
1160+191:13 glyph [
1121−184:14 tight lit ~
1161+191:14 tight lit ~
1122−184:16 name b
1162+191:16 name b
1123−184:17 tight glyph ]
1163+191:17 tight glyph ]
1124−184:19 glyph `
1164+191:19 glyph `
1125−184:20 tight glyph (
1165+191:20 tight glyph (
1126−184:21 tight name combine
1166+191:21 tight name combine
1127−184:29 name a
1167+191:29 name a
1128−184:31 name b
1168+191:31 name b
1129−184:32 tight glyph )
1169+191:32 tight glyph )
1130−186:1 DEDENT
1170+193:1 DEDENT
1131−186:1 DEDENT
1171+193:1 DEDENT
1132−186:1 DEDENT
1172+193:1 DEDENT
1133−186:1 DEDENT
1173+193:1 DEDENT
1134−186:1 DEDENT
1174+193:1 DEDENT
1135−186:1 DEDENT
1175+193:1 DEDENT
1136−186:1 NEWLINE
1176+193:1 NEWLINE
1137−186:1 glyph ++
1177+193:1 glyph ++
1138−186:4 name clef
1178+193:4 name clef
1139−186:9 glyph |=
1179+193:9 glyph |=
1140−186:12 name args
1180+193:12 name args
1141−186:16 tight glyph =
1181+193:16 tight glyph =
1142−186:17 tight glyph [
1182+193:17 tight glyph [
1143−186:18 tight glyph (
1183+193:18 tight glyph (
1144−186:19 tight name unit
1184+193:19 tight name unit
1145−186:24 tvar A
1185+193:24 tvar A
1146−186:25 tight glyph )
1186+193:25 tight glyph )
1147−186:27 glyph (
1187+193:27 glyph (
1148−186:28 tight name unit
1188+193:28 tight name unit
1149−186:33 tvar B
1189+193:33 tvar B
1150−186:34 tight glyph )
1190+193:34 tight glyph )
1151−186:36 glyph $-(
1191+193:36 glyph $-(
1152−186:39 tight glyph [
1192+193:39 tight glyph [
1153−186:40 tight tvar A
1193+193:40 tight tvar A
1154−186:42 tvar B
1194+193:42 tvar B
1155−186:43 tight glyph ]
1195+193:43 tight glyph ]
1156−186:45 glyph (
1196+193:45 glyph (
1157−186:46 tight name unit
1197+193:46 tight name unit
1158−186:51 tvar C
1198+193:51 tvar C
1159−186:52 tight glyph )
1199+193:52 tight glyph )
1160−186:53 tight glyph )
1200+193:53 tight glyph )
1161−186:54 tight glyph ]
1201+193:54 tight glyph ]
1162−187:3 INDENT
1202+194:3 INDENT
1163−187:3 glyph ?-
1203+194:3 glyph ?-
1164−187:6 name args
1204+194:6 name args
1165−188:5 INDENT
1205+195:5 INDENT
1166−188:5 glyph [
1206+195:5 glyph [
1167−188:6 tight name first
1207+195:6 tight name first
1168−188:12 name second
1208+195:12 name second
1169−188:19 name combine
1209+195:19 name combine
1170−188:26 tight glyph ]
1210+195:26 tight glyph ]
1171−188:28 glyph ^-
1211+195:28 glyph ^-
1172−188:31 glyph (
1212+195:31 glyph (
1173−188:32 tight name unit
1213+195:32 tight name unit
1174−188:37 tvar C
1214+195:37 tvar C
1175−188:38 tight glyph )
1215+195:38 tight glyph )
1176−189:7 INDENT
1216+196:7 INDENT
1177−189:7 glyph ?-
1217+196:7 glyph ?-
1178−189:10 name first
1218+196:10 name first
1179−190:9 INDENT
1219+197:9 INDENT
1180−190:9 lit ~
1220+197:9 lit ~
1181−190:11 lit ~
1221+197:11 lit ~
1182−191:9 NEWLINE
1222+198:9 NEWLINE
1183−191:9 glyph [
1223+198:9 glyph [
1184−191:10 tight lit ~
1224+198:10 tight lit ~
1185−191:12 name a
1225+198:12 name a
1186−191:13 tight glyph ]
1226+198:13 tight glyph ]
1187−192:11 INDENT
1227+199:11 INDENT
1188−192:11 glyph ?-
1228+199:11 glyph ?-
1189−192:14 name second
1229+199:14 name second
1190−193:13 INDENT
1191−193:13 lit ~
1192−193:15 lit ~
1193−194:13 NEWLINE
1194−194:13 glyph [
1195−194:14 tight lit ~
1196−194:16 name b
1197−194:17 tight glyph ]
1198−194:19 glyph (
1199−194:20 tight name combine
1200−194:28 name a
1201−194:30 name b
1202−194:31 tight glyph )
1203−196:1 DEDENT
1204−196:1 DEDENT
1205−196:1 DEDENT
1206−196:1 DEDENT
1207−196:1 DEDENT
1208−196:1 DEDENT
1209−196:1 NEWLINE
1210−196:1 glyph ++
1211−196:4 name skim
1212−196:9 glyph |=
1213−196:12 name args
1214−196:16 tight glyph =
1215−196:17 tight glyph [
1216−196:18 tight glyph (
1217−196:19 tight name list
1218−196:24 tvar A
1219−196:25 tight glyph )
1220−196:27 glyph $-(
1221−196:30 tight tvar A
1222−196:32 glyph ?
1223−196:33 tight glyph )
1224−196:34 tight glyph ]
1225−197:3 INDENT
1226−197:3 glyph ?-
1227−197:6 name args
1228−198:5 INDENT
1230+200:13 INDENT
1229−198:5 glyph [
1230−198:6 tight name xs
1231−198:9 name predicate
1232−198:18 tight glyph ]
1233−198:20 glyph ^-
1234−198:23 glyph (
1235−198:24 tight name list
1236−198:29 tvar A
1237−198:30 tight glyph )
1238−199:9 INDENT
1239−199:9 glyph ?-
1240−199:12 name xs
1241−200:11 INDENT
1242−200:11 lit ~
1243200:13 lit ~
1231200:13 lit ~
1232+200:15 lit ~
1244−201:11 NEWLINE
1233+201:13 NEWLINE
1245−201:11 glyph [
1234+201:13 glyph [
1246−201:12 tight name item
1235+201:14 tight lit ~
1247−201:17 name rest
1236+201:16 name b
1248−201:21 tight glyph ]
1249−202:13 INDENT
1250−202:13 glyph ?-
1251−202:16 glyph (
1252−202:17 tight name predicate
1253−202:27 name item
1254−202:31 tight glyph )
1255−203:15 INDENT
1256−203:15 lit %.y
1257−203:19 glyph [
1258−203:20 tight name item
1259−203:25 glyph (
1260−203:26 tight name skim
1261−203:31 name rest
1262−203:36 name predicate
1263−203:45 tight glyph )
1264−203:46 tight glyph ]
1237+201:17 tight glyph ]
1265−204:15 NEWLINE
1266−204:15 lit %.n
1267−204:19 glyph (
1238+201:19 glyph (
1268−204:20 tight name skim
1239+201:20 tight name combine
1269−204:25 name rest
1240+201:28 name a
1270−204:30 name predicate
1241+201:30 name b
1271−204:39 tight glyph )
1242+201:31 tight glyph )
1272−206:1 DEDENT
1243+203:1 DEDENT
1273−206:1 DEDENT
1244+203:1 DEDENT
1274−206:1 DEDENT
1245+203:1 DEDENT
1275−206:1 DEDENT
1246+203:1 DEDENT
1276−206:1 DEDENT
1247+203:1 DEDENT
1277−206:1 DEDENT
1248+203:1 DEDENT
1278−206:1 NEWLINE
1249+203:1 NEWLINE
1279−206:1 glyph ++
1250+203:1 glyph ++
1280−206:4 name skip
1251+203:4 name skim
1281−206:9 glyph |=
1252+203:9 glyph |=
1282−206:12 name args
1253+203:12 name args
1283−206:16 tight glyph =
1254+203:16 tight glyph =
1284−206:17 tight glyph [
1255+203:17 tight glyph [
1285−206:18 tight glyph (
1256+203:18 tight glyph (
1286−206:19 tight name list
1257+203:19 tight name list
1287−206:24 tvar A
1258+203:24 tvar A
1288−206:25 tight glyph )
1259+203:25 tight glyph )
1289−206:27 glyph $-(
1260+203:27 glyph $-(
1290−206:30 tight tvar A
1261+203:30 tight tvar A
1291−206:32 glyph ?
1262+203:32 glyph ?
1292−206:33 tight glyph )
1263+203:33 tight glyph )
1293−206:34 tight glyph ]
1264+203:34 tight glyph ]
1294−207:3 INDENT
1265+204:3 INDENT
1295−207:3 glyph ?-
1266+204:3 glyph ?-
1296−207:6 name args
1267+204:6 name args
1297−208:5 INDENT
1268+205:5 INDENT
1298−208:5 glyph [
1269+205:5 glyph [
1299−208:6 tight name xs
1270+205:6 tight name xs
1300−208:9 name predicate
1271+205:9 name predicate
1301−208:18 tight glyph ]
1272+205:18 tight glyph ]
1302−208:20 glyph ^-
1273+205:20 glyph ^-
1303−208:23 glyph (
1274+205:23 glyph (
1304−208:24 tight name list
1275+205:24 tight name list
1305−208:29 tvar A
1276+205:29 tvar A
1306−208:30 tight glyph )
1277+205:30 tight glyph )
1307−209:9 INDENT
1278+206:9 INDENT
1308−209:9 glyph ?-
1279+206:9 glyph ?-
1309−209:12 name xs
1280+206:12 name xs
1310−210:11 INDENT
1281+207:11 INDENT
1311−210:11 lit ~
1282+207:11 lit ~
1312−210:13 lit ~
1283+207:13 lit ~
1313−211:11 NEWLINE
1284+208:11 NEWLINE
1314−211:11 glyph [
1285+208:11 glyph [
1315−211:12 tight name item
1286+208:12 tight name item
1316−211:17 name rest
1287+208:17 name rest
1317−211:21 tight glyph ]
1288+208:21 tight glyph ]
1318−212:13 INDENT
1289+209:13 INDENT
1319−212:13 glyph ?-
1290+209:13 glyph ?-
1320−212:16 glyph (
1291+209:16 glyph (
1321−212:17 tight name predicate
1292+209:17 tight name predicate
1322−212:27 name item
1293+209:27 name item
1323−212:31 tight glyph )
1294+209:31 tight glyph )
1324−213:15 INDENT
1295+210:15 INDENT
1325−213:15 lit %.y
1296+210:15 lit %.y
1326−213:19 glyph (
1297+210:19 glyph [
1327−213:20 tight name skip
1298+210:20 tight name item
1299+210:25 glyph (
1300+210:26 tight name skim
1328−213:25 name rest
1301+210:31 name rest
1329−213:30 name predicate
1302+210:36 name predicate
1330−213:39 tight glyph )
1303+210:45 tight glyph )
1304+210:46 tight glyph ]
1331−214:15 NEWLINE
1305+211:15 NEWLINE
1332−214:15 lit %.n
1306+211:15 lit %.n
1333−214:19 glyph [
1307+211:19 glyph (
1334−214:20 tight name item
1308+211:20 tight name skim
1335−214:25 glyph (
1336−214:26 tight name skip
1337−214:31 name rest
1309+211:25 name rest
1338−214:36 name predicate
1310+211:30 name predicate
1339−214:45 tight glyph )
1311+211:39 tight glyph )
1340−214:46 tight glyph ]
1341−216:1 DEDENT
1312+213:1 DEDENT
1342−216:1 DEDENT
1313+213:1 DEDENT
1343−216:1 DEDENT
1314+213:1 DEDENT
1344−216:1 DEDENT
1315+213:1 DEDENT
1345−216:1 DEDENT
1316+213:1 DEDENT
1346−216:1 DEDENT
1317+213:1 DEDENT
1347−216:1 NEWLINE
1318+213:1 NEWLINE
1348−216:1 glyph ++
1319+213:1 glyph ++
1349−216:4 name levy
1320+213:4 name skip
1350−216:9 glyph |=
1321+213:9 glyph |=
1351−216:12 name args
1322+213:12 name args
1352−216:16 tight glyph =
1323+213:16 tight glyph =
1353−216:17 tight glyph [
1324+213:17 tight glyph [
1354−216:18 tight glyph (
1325+213:18 tight glyph (
1355−216:19 tight name list
1326+213:19 tight name list
1356−216:24 tvar A
1327+213:24 tvar A
1357−216:25 tight glyph )
1328+213:25 tight glyph )
1358−216:27 glyph $-(
1329+213:27 glyph $-(
1359−216:30 tight tvar A
1330+213:30 tight tvar A
1360−216:32 glyph ?
1331+213:32 glyph ?
1361−216:33 tight glyph )
1332+213:33 tight glyph )
1362−216:34 tight glyph ]
1333+213:34 tight glyph ]
1363−217:3 INDENT
1334+214:3 INDENT
1364−217:3 glyph ^-
1335+214:3 glyph ?-
1365−217:6 glyph ?
1336+214:6 name args
1366−218:5 INDENT
1337+215:5 INDENT
1367−218:5 glyph ?-
1368−218:8 name args
1369−219:7 INDENT
1370−219:7 glyph [
1338+215:5 glyph [
1371−219:8 tight name xs
1339+215:6 tight name xs
1372−219:11 name predicate
1340+215:9 name predicate
1373−219:20 tight glyph ]
1341+215:18 tight glyph ]
1374−220:9 INDENT
1342+215:20 glyph ^-
1375−220:9 glyph ?-
1343+215:23 glyph (
1344+215:24 tight name list
1345+215:29 tvar A
1346+215:30 tight glyph )
1347+216:9 INDENT
1348+216:9 glyph ?-
1376−220:12 name xs
1349+216:12 name xs
1377−221:11 INDENT
1350+217:11 INDENT
1378−221:11 lit ~
1351+217:11 lit ~
1379−221:13 lit %.y
1352+217:13 lit ~
1380−222:11 NEWLINE
1353+218:11 NEWLINE
1381−222:11 glyph [
1354+218:11 glyph [
1382−222:12 tight name item
1355+218:12 tight name item
1383−222:17 name rest
1356+218:17 name rest
1384−222:21 tight glyph ]
1357+218:21 tight glyph ]
1385−223:13 INDENT
1358+219:13 INDENT
1386−223:13 glyph ?-
1359+219:13 glyph ?-
1387−223:16 glyph (
1360+219:16 glyph (
1388−223:17 tight name predicate
1361+219:17 tight name predicate
1389−223:27 name item
1362+219:27 name item
1390−223:31 tight glyph )
1363+219:31 tight glyph )
1391−224:15 INDENT
1364+220:15 INDENT
1392−224:15 lit %.y
1365+220:15 lit %.y
1393−224:19 glyph (
1366+220:19 glyph (
1394−224:20 tight name levy
1367+220:20 tight name skip
1395−224:25 name rest
1368+220:25 name rest
1396−224:30 name predicate
1369+220:30 name predicate
1397−224:39 tight glyph )
1370+220:39 tight glyph )
1398−225:15 NEWLINE
1371+221:15 NEWLINE
1399−225:15 lit %.n
1372+221:15 lit %.n
1400−225:19 lit %.n
1373+221:19 glyph [
1401−227:1 DEDENT
1374+221:20 tight name item
1375+221:25 glyph (
1376+221:26 tight name skip
1377+221:31 name rest
1378+221:36 name predicate
1379+221:45 tight glyph )
1380+221:46 tight glyph ]
1402−227:1 DEDENT
1381+223:1 DEDENT
1403−227:1 DEDENT
1382+223:1 DEDENT
1404−227:1 DEDENT
1383+223:1 DEDENT
1405−227:1 DEDENT
1384+223:1 DEDENT
1406−227:1 DEDENT
1385+223:1 DEDENT
1407−227:1 DEDENT
1386+223:1 DEDENT
1408−227:1 NEWLINE
1387+223:1 NEWLINE
1409−227:1 glyph ++
1388+223:1 glyph ++
1410−227:4 name lien
1389+223:4 name levy
1411−227:9 glyph |=
1390+223:9 glyph |=
1412−227:12 name args
1391+223:12 name args
1413−227:16 tight glyph =
1392+223:16 tight glyph =
1414−227:17 tight glyph [
1393+223:17 tight glyph [
1415−227:18 tight glyph (
1394+223:18 tight glyph (
1416−227:19 tight name list
1395+223:19 tight name list
1417−227:24 tvar A
1396+223:24 tvar A
1418−227:25 tight glyph )
1397+223:25 tight glyph )
1419−227:27 glyph $-(
1398+223:27 glyph $-(
1420−227:30 tight tvar A
1399+223:30 tight tvar A
1421−227:32 glyph ?
1400+223:32 glyph ?
1422−227:33 tight glyph )
1401+223:33 tight glyph )
1423−227:34 tight glyph ]
1402+223:34 tight glyph ]
1424−228:3 INDENT
1403+224:3 INDENT
1425−228:3 glyph ^-
1404+224:3 glyph ^-
1426−228:6 glyph ?
1405+224:6 glyph ?
1427−229:5 INDENT
1406+225:5 INDENT
1428−229:5 glyph ?-
1407+225:5 glyph ?-
1429−229:8 name args
1408+225:8 name args
1430−230:7 INDENT
1409+226:7 INDENT
1431−230:7 glyph [
1410+226:7 glyph [
1432−230:8 tight name xs
1411+226:8 tight name xs
1433−230:11 name predicate
1412+226:11 name predicate
1434−230:20 tight glyph ]
1413+226:20 tight glyph ]
1435−231:9 INDENT
1414+227:9 INDENT
1436−231:9 glyph ?-
1415+227:9 glyph ?-
1437−231:12 name xs
1416+227:12 name xs
1438−232:11 INDENT
1417+228:11 INDENT
1439−232:11 lit ~
1418+228:11 lit ~
1440−232:13 lit %.n
1419+228:13 lit %.y
1441−233:11 NEWLINE
1420+229:11 NEWLINE
1442−233:11 glyph [
1421+229:11 glyph [
1443−233:12 tight name item
1422+229:12 tight name item
1444−233:17 name rest
1423+229:17 name rest
1445−233:21 tight glyph ]
1424+229:21 tight glyph ]
1446−234:13 INDENT
1425+230:13 INDENT
1447−234:13 glyph ?-
1426+230:13 glyph ?-
1448−234:16 glyph (
1427+230:16 glyph (
1449−234:17 tight name predicate
1428+230:17 tight name predicate
1450−234:27 name item
1429+230:27 name item
1451−234:31 tight glyph )
1430+230:31 tight glyph )
1452−235:15 INDENT
1431+231:15 INDENT
1453−235:15 lit %.y
1432+231:15 lit %.y
1454−235:19 lit %.y
1455−236:15 NEWLINE
1456−236:15 lit %.n
1457−236:19 glyph (
1433+231:19 glyph (
1458−236:20 tight name lien
1434+231:20 tight name levy
1459−236:25 name rest
1435+231:25 name rest
1460−236:30 name predicate
1436+231:30 name predicate
1461−236:39 tight glyph )
1437+231:39 tight glyph )
1438+232:15 NEWLINE
1439+232:15 lit %.n
1440+232:19 lit %.n
1462−238:1 DEDENT
1441+234:1 DEDENT
1463−238:1 DEDENT
1442+234:1 DEDENT
1464−238:1 DEDENT
1443+234:1 DEDENT
1465−238:1 DEDENT
1444+234:1 DEDENT
1466−238:1 DEDENT
1445+234:1 DEDENT
1467−238:1 DEDENT
1446+234:1 DEDENT
1468−238:1 DEDENT
1447+234:1 DEDENT
1469−238:1 NEWLINE
1448+234:1 NEWLINE
1470−238:1 glyph ++
1449+234:1 glyph ++
1471−238:4 name roll
1450+234:4 name lien
1472−238:9 glyph |=
1451+234:9 glyph |=
1473−238:12 name args
1452+234:12 name args
1474−238:16 tight glyph =
1453+234:16 tight glyph =
1475−238:17 tight glyph [
1454+234:17 tight glyph [
1476−238:18 tight glyph (
1455+234:18 tight glyph (
1477−238:19 tight name list
1456+234:19 tight name list
1478−238:24 tvar A
1457+234:24 tvar A
1479−238:25 tight glyph )
1458+234:25 tight glyph )
1480−238:27 tvar B
1481−238:29 glyph $-(
1459+234:27 glyph $-(
1482−238:32 tight glyph [
1460+234:30 tight tvar A
1483−238:33 tight tvar A
1461+234:32 glyph ?
1484−238:35 tvar B
1462+234:33 tight glyph )
1485−238:36 tight glyph ]
1463+234:34 tight glyph ]
1486−238:38 tvar B
1464+235:3 INDENT
1487−238:39 tight glyph )
1465+235:3 glyph ^-
1488−238:40 tight glyph ]
1466+235:6 glyph ?
1489−239:3 INDENT
1467+236:5 INDENT
1490−239:3 glyph ?-
1468+236:5 glyph ?-
1491−239:6 name args
1469+236:8 name args
1492−240:5 INDENT
1470+237:7 INDENT
1493−240:5 glyph [
1471+237:7 glyph [
1494−240:6 tight name xs
1472+237:8 tight name xs
1495−240:9 name start
1473+237:11 name predicate
1496−240:15 name combine
1497−240:22 tight glyph ]
1474+237:20 tight glyph ]
1498−241:7 INDENT
1475+238:9 INDENT
1499−241:7 glyph ?-
1476+238:9 glyph ?-
1500−241:10 name xs
1477+238:12 name xs
1501−242:9 INDENT
1478+239:11 INDENT
1502−242:9 lit ~
1479+239:11 lit ~
1503−242:11 name start
1480+239:13 lit %.n
1504−243:9 NEWLINE
1481+240:11 NEWLINE
1505−243:9 glyph [
1482+240:11 glyph [
1506−243:10 tight name item
1483+240:12 tight name item
1507−243:15 name rest
1484+240:17 name rest
1508−243:19 tight glyph ]
1485+240:21 tight glyph ]
1486+241:13 INDENT
1487+241:13 glyph ?-
1509−243:21 glyph (
1488+241:16 glyph (
1510−243:22 tight name roll
1489+241:17 tight name predicate
1511−243:27 name rest
1490+241:27 name item
1491+241:31 tight glyph )
1492+242:15 INDENT
1493+242:15 lit %.y
1494+242:19 lit %.y
1495+243:15 NEWLINE
1496+243:15 lit %.n
1512−243:32 glyph (
1497+243:19 glyph (
1513−243:33 tight name combine
1498+243:20 tight name lien
1514−243:41 name item
1499+243:25 name rest
1515−243:46 name start
1500+243:30 name predicate
1516−243:51 tight glyph )
1501+243:39 tight glyph )
1517−243:53 name combine
1502+245:1 DEDENT
1518−243:60 tight glyph )
1503+245:1 DEDENT
1504+245:1 DEDENT
1519245:1 DEDENT
1505245:1 DEDENT
1520245:1 DEDENT
1506245:1 DEDENT
1521245:1 DEDENT
1507245:1 DEDENT
1522245:1 DEDENT
1508245:1 DEDENT
1523245:1 NEWLINE
1509245:1 NEWLINE
1524245:1 glyph ++
1510245:1 glyph ++
1525−245:4 name reel
1511+245:4 name roll
1526245:9 glyph |=
1512245:9 glyph |=
1527245:12 name args
1513245:12 name args
1528245:16 tight glyph =
1514245:16 tight glyph =
@@ -1561,14 +1547,14 @@
1561250:15 name rest
1547250:15 name rest
1562250:19 tight glyph ]
1548250:19 tight glyph ]
1563250:21 glyph (
1549250:21 glyph (
1564−250:22 tight name combine
1550+250:22 tight name roll
1565−250:30 name item
1551+250:27 name rest
1566−250:35 glyph (
1552+250:32 glyph (
1567−250:36 tight name reel
1553+250:33 tight name combine
1568−250:41 name rest
1554+250:41 name item
1569250:46 name start
1555250:46 name start
1570−250:52 name combine
1571−250:59 tight glyph )
1556+250:51 tight glyph )
1557+250:53 name combine
1572250:60 tight glyph )
1558250:60 tight glyph )
1573252:1 DEDENT
1559252:1 DEDENT
1574252:1 DEDENT
1560252:1 DEDENT
@@ -1576,492 +1562,571 @@
1576252:1 DEDENT
1562252:1 DEDENT
1577252:1 NEWLINE
1563252:1 NEWLINE
1578252:1 glyph ++
1564252:1 glyph ++
1579−252:4 name flit
1565+252:4 name reel
1580252:9 glyph |=
1566252:9 glyph |=
1581−252:12 name predicate
1567+252:12 name args
1582−252:21 tight glyph =
1568+252:16 tight glyph =
1569+252:17 tight glyph [
1583−252:22 tight glyph $-(
1570+252:18 tight glyph (
1571+252:19 tight name list
1572+252:24 tvar A
1584−252:25 tight tvar A
1573+252:25 tight glyph )
1585−252:27 glyph ?
1574+252:27 tvar B
1575+252:29 glyph $-(
1576+252:32 tight glyph [
1577+252:33 tight tvar A
1578+252:35 tvar B
1579+252:36 tight glyph ]
1580+252:38 tvar B
1586−252:28 tight glyph )
1581+252:39 tight glyph )
1582+252:40 tight glyph ]
1587253:3 INDENT
1583253:3 INDENT
1588−253:3 glyph |=
1584+253:3 glyph ?-
1589−253:6 name value
1585+253:6 name args
1590−253:11 tight glyph =
1591−253:12 tight tvar A
1592254:5 INDENT
1586254:5 INDENT
1593−254:5 glyph ^-
1587+254:5 glyph [
1594−254:8 glyph (
1588+254:6 tight name xs
1595−254:9 tight name unit
1589+254:9 name start
1596−254:14 tvar A
1590+254:15 name combine
1597−254:15 tight glyph )
1591+254:22 tight glyph ]
1598255:7 INDENT
1592255:7 INDENT
1599255:7 glyph ?-
1593255:7 glyph ?-
1600−255:10 glyph (
1594+255:10 name xs
1601−255:11 tight name predicate
1602−255:21 name value
1603−255:26 tight glyph )
1604256:9 INDENT
1595256:9 INDENT
1605−256:9 lit %.y
1596+256:9 lit ~
1606−256:13 glyph `
1597+256:11 name start
1607−256:14 tight name value
1608257:9 NEWLINE
1598257:9 NEWLINE
1609−257:9 lit %.n
1599+257:9 glyph [
1610−257:13 lit ~
1600+257:10 tight name item
1601+257:15 name rest
1602+257:19 tight glyph ]
1603+257:21 glyph (
1604+257:22 tight name combine
1605+257:30 name item
1606+257:35 glyph (
1607+257:36 tight name reel
1608+257:41 name rest
1609+257:46 name start
1610+257:52 name combine
1611+257:59 tight glyph )
1612+257:60 tight glyph )
1611259:1 DEDENT
1613259:1 DEDENT
1612259:1 DEDENT
1614259:1 DEDENT
1613259:1 DEDENT
1615259:1 DEDENT
1614259:1 DEDENT
1616259:1 DEDENT
1615259:1 NEWLINE
1617259:1 NEWLINE
1616259:1 glyph ++
1618259:1 glyph ++
1617−259:4 name murn
1619+259:4 name flit
1618259:9 glyph |=
1620259:9 glyph |=
1619−259:12 name args
1621+259:12 name predicate
1620−259:16 tight glyph =
1622+259:21 tight glyph =
1621−259:17 tight glyph [
1623+259:22 tight glyph $-(
1622−259:18 tight glyph (
1623−259:19 tight name list
1624−259:24 tvar A
1625−259:25 tight glyph )
1624+259:25 tight tvar A
1626−259:27 glyph $-(
1625+259:27 glyph ?
1627−259:30 tight tvar A
1628−259:32 glyph (
1629−259:33 tight name unit
1630−259:38 tvar B
1631−259:39 tight glyph )
1626+259:28 tight glyph )
1632−259:40 tight glyph )
1633−259:41 tight glyph ]
1634260:3 INDENT
1627260:3 INDENT
1635−260:3 glyph ?-
1628+260:3 glyph |=
1636−260:6 name args
1629+260:6 name value
1630+260:11 tight glyph =
1631+260:12 tight tvar A
1637261:5 INDENT
1632261:5 INDENT
1638−261:5 glyph [
1633+261:5 glyph ^-
1634+261:8 glyph (
1635+261:9 tight name unit
1636+261:14 tvar A
1637+261:15 tight glyph )
1638+262:7 INDENT
1639+262:7 glyph ?-
1640+262:10 glyph (
1641+262:11 tight name predicate
1642+262:21 name value
1643+262:26 tight glyph )
1644+263:9 INDENT
1645+263:9 lit %.y
1646+263:13 glyph `
1647+263:14 tight name value
1648+264:9 NEWLINE
1649+264:9 lit %.n
1650+264:13 lit ~
1651+266:1 DEDENT
1652+266:1 DEDENT
1653+266:1 DEDENT
1654+266:1 DEDENT
1655+266:1 NEWLINE
1656+266:1 glyph ++
1657+266:4 name murn
1658+266:9 glyph |=
1659+266:12 name args
1660+266:16 tight glyph =
1661+266:17 tight glyph [
1662+266:18 tight glyph (
1663+266:19 tight name list
1664+266:24 tvar A
1665+266:25 tight glyph )
1666+266:27 glyph $-(
1667+266:30 tight tvar A
1668+266:32 glyph (
1669+266:33 tight name unit
1670+266:38 tvar B
1671+266:39 tight glyph )
1672+266:40 tight glyph )
1673+266:41 tight glyph ]
1674+267:3 INDENT
1675+267:3 glyph ?-
1676+267:6 name args
1677+268:5 INDENT
1678+268:5 glyph [
1639−261:6 tight name xs
1679+268:6 tight name xs
1640−261:9 name f
1680+268:9 name f
1641−261:10 tight glyph ]
1681+268:10 tight glyph ]
1642−261:12 glyph ^-
1682+268:12 glyph ^-
1643−261:15 glyph (
1683+268:15 glyph (
1644−261:16 tight name list
1684+268:16 tight name list
1645−261:21 tvar B
1685+268:21 tvar B
1646−261:22 tight glyph )
1686+268:22 tight glyph )
1647−262:9 INDENT
1687+269:9 INDENT
1648−262:9 glyph ?-
1688+269:9 glyph ?-
1649−262:12 name xs
1689+269:12 name xs
1650−263:11 INDENT
1690+270:11 INDENT
1651−263:11 lit ~
1691+270:11 lit ~
1652−263:13 lit ~
1692+270:13 lit ~
1653−264:11 NEWLINE
1693+271:11 NEWLINE
1654−264:11 glyph [
1694+271:11 glyph [
1655−264:12 tight name item
1695+271:12 tight name item
1656−264:17 name rest
1696+271:17 name rest
1657−264:21 tight glyph ]
1697+271:21 tight glyph ]
1658−265:13 INDENT
1698+272:13 INDENT
1659−265:13 glyph ?-
1699+272:13 glyph ?-
1660−265:16 glyph (
1700+272:16 glyph (
1661−265:17 tight name f
1701+272:17 tight name f
1662−265:19 name item
1702+272:19 name item
1663−265:23 tight glyph )
1703+272:23 tight glyph )
1664−266:15 INDENT
1704+273:15 INDENT
1665−266:15 lit ~
1705+273:15 lit ~
1666−266:17 glyph (
1706+273:17 glyph (
1667−266:18 tight name murn
1707+273:18 tight name murn
1668−266:23 name rest
1708+273:23 name rest
1669−266:28 name f
1709+273:28 name f
1670−266:29 tight glyph )
1710+273:29 tight glyph )
1671−267:15 NEWLINE
1711+274:15 NEWLINE
1672−267:15 glyph [
1712+274:15 glyph [
1673−267:16 tight lit ~
1713+274:16 tight lit ~
1674−267:18 name value
1714+274:18 name value
1675−267:23 tight glyph ]
1715+274:23 tight glyph ]
1676−267:25 glyph [
1716+274:25 glyph [
1677−267:26 tight name value
1717+274:26 tight name value
1678−267:32 glyph (
1718+274:32 glyph (
1679−267:33 tight name murn
1719+274:33 tight name murn
1680−267:38 name rest
1720+274:38 name rest
1681−267:43 name f
1721+274:43 name f
1682−267:44 tight glyph )
1722+274:44 tight glyph )
1683−267:45 tight glyph ]
1723+274:45 tight glyph ]
1684−269:1 DEDENT
1724+276:1 DEDENT
1685−269:1 DEDENT
1725+276:1 DEDENT
1686−269:1 DEDENT
1726+276:1 DEDENT
1687−269:1 DEDENT
1727+276:1 DEDENT
1688−269:1 DEDENT
1728+276:1 DEDENT
1689−269:1 DEDENT
1729+276:1 DEDENT
1690−269:1 NEWLINE
1730+276:1 NEWLINE
1691−269:1 glyph ++
1731+276:1 glyph ++
1692−269:4 name join
1732+276:4 name join
1693−269:9 glyph |=
1733+276:9 glyph |=
1694−269:12 name args
1734+276:12 name args
1695−269:16 tight glyph =
1735+276:16 tight glyph =
1696−269:17 tight glyph [
1736+276:17 tight glyph [
1697−269:18 tight tvar A
1737+276:18 tight tvar A
1698−269:20 glyph (
1738+276:20 glyph (
1699−269:21 tight name list
1739+276:21 tight name list
1700−269:26 tvar A
1740+276:26 tvar A
1701−269:27 tight glyph )
1741+276:27 tight glyph )
1702−269:28 tight glyph ]
1742+276:28 tight glyph ]
1703−270:3 INDENT
1743+277:3 INDENT
1704−270:3 glyph ?-
1744+277:3 glyph ?-
1705−270:6 name args
1745+277:6 name args
1706−271:5 INDENT
1746+278:5 INDENT
1707−271:5 glyph [
1747+278:5 glyph [
1708−271:6 tight name separator
1748+278:6 tight name separator
1709−271:16 name xs
1749+278:16 name xs
1710−271:18 tight glyph ]
1750+278:18 tight glyph ]
1711−271:20 glyph ^-
1751+278:20 glyph ^-
1712−271:23 glyph (
1752+278:23 glyph (
1713−271:24 tight name list
1753+278:24 tight name list
1714−271:29 tvar A
1754+278:29 tvar A
1715−271:30 tight glyph )
1755+278:30 tight glyph )
1716−272:9 INDENT
1756+279:9 INDENT
1717−272:9 glyph ?-
1757+279:9 glyph ?-
1718−272:12 name xs
1719−273:11 INDENT
1720−273:11 lit ~
1721−273:13 lit ~
1722−274:11 NEWLINE
1723−274:11 glyph [
1724−274:12 tight name item
1725−274:17 name rest
1726−274:21 tight glyph ]
1727−275:13 INDENT
1728−275:13 glyph ?-
1729−275:16 name rest
1730−276:15 INDENT
1731−276:15 lit ~
1732−276:17 glyph [
1733−276:18 tight name item
1734−276:23 lit ~
1735−276:24 tight glyph ]
1736−277:15 NEWLINE
1737−277:15 glyph [
1738−277:16 tight name next
1739−277:21 name more
1740−277:25 tight glyph ]
1741−277:27 glyph [
1742−277:28 tight name item
1743−277:33 glyph [
1744−277:34 tight name separator
1745−277:44 glyph (
1746−277:45 tight name join
1747−277:50 name separator
1748−277:60 name rest
1749−277:64 tight glyph )
1750−277:65 tight glyph ]
1751−277:66 tight glyph ]
1752−279:1 DEDENT
1753−279:1 DEDENT
1754−279:1 DEDENT
1755−279:1 DEDENT
1756−279:1 DEDENT
1757−279:1 DEDENT
1758−279:1 NEWLINE
1759−279:1 glyph ++
1760−279:4 name snip
1761−279:9 glyph |=
1762279:12 name xs
1758279:12 name xs
1759+280:11 INDENT
1760+280:11 lit ~
1761+280:13 lit ~
1762+281:11 NEWLINE
1763+281:11 glyph [
1764+281:12 tight name item
1765+281:17 name rest
1766+281:21 tight glyph ]
1767+282:13 INDENT
1768+282:13 glyph ?-
1769+282:16 name rest
1770+283:15 INDENT
1771+283:15 lit ~
1772+283:17 glyph [
1773+283:18 tight name item
1774+283:23 lit ~
1775+283:24 tight glyph ]
1776+284:15 NEWLINE
1777+284:15 glyph [
1778+284:16 tight name next
1779+284:21 name more
1780+284:25 tight glyph ]
1781+284:27 glyph [
1782+284:28 tight name item
1783+284:33 glyph [
1784+284:34 tight name separator
1785+284:44 glyph (
1786+284:45 tight name join
1787+284:50 name separator
1788+284:60 name rest
1789+284:64 tight glyph )
1790+284:65 tight glyph ]
1791+284:66 tight glyph ]
1792+286:1 DEDENT
1793+286:1 DEDENT
1794+286:1 DEDENT
1795+286:1 DEDENT
1796+286:1 DEDENT
1797+286:1 DEDENT
1798+286:1 NEWLINE
1799+286:1 glyph ++
1800+286:4 name snip
1801+286:9 glyph |=
1802+286:12 name xs
1763−279:14 tight glyph =
1803+286:14 tight glyph =
1764−279:15 tight glyph (
1804+286:15 tight glyph (
1765−279:16 tight name list
1805+286:16 tight name list
1766−279:21 tvar A
1806+286:21 tvar A
1767−279:22 tight glyph )
1807+286:22 tight glyph )
1768−280:3 INDENT
1808+287:3 INDENT
1769−280:3 glyph ^-
1809+287:3 glyph ^-
1770−280:6 glyph (
1810+287:6 glyph (
1771−280:7 tight name list
1811+287:7 tight name list
1772−280:12 tvar A
1812+287:12 tvar A
1773−280:13 tight glyph )
1813+287:13 tight glyph )
1774−281:5 INDENT
1814+288:5 INDENT
1775−281:5 glyph ?-
1815+288:5 glyph ?-
1776−281:8 name xs
1816+288:8 name xs
1777−282:7 INDENT
1817+289:7 INDENT
1778−282:7 lit ~
1818+289:7 lit ~
1779−282:9 lit ~
1819+289:9 lit ~
1780−283:7 NEWLINE
1820+290:7 NEWLINE
1781−283:7 glyph [
1821+290:7 glyph [
1782−283:8 tight name item
1822+290:8 tight name item
1783−283:13 name rest
1823+290:13 name rest
1784−283:17 tight glyph ]
1824+290:17 tight glyph ]
1785−284:9 INDENT
1825+291:9 INDENT
1786−284:9 glyph ?-
1826+291:9 glyph ?-
1787−284:12 name rest
1827+291:12 name rest
1788−285:11 INDENT
1828+292:11 INDENT
1789−285:11 lit ~
1829+292:11 lit ~
1790−285:13 lit ~
1830+292:13 lit ~
1791−286:11 NEWLINE
1831+293:11 NEWLINE
1792−286:11 glyph [
1832+293:11 glyph [
1793−286:12 tight name next
1833+293:12 tight name next
1794−286:17 name more
1834+293:17 name more
1795−286:21 tight glyph ]
1835+293:21 tight glyph ]
1796−286:23 glyph [
1836+293:23 glyph [
1797−286:24 tight name item
1837+293:24 tight name item
1798−286:29 glyph (
1838+293:29 glyph (
1799−286:30 tight name snip
1839+293:30 tight name snip
1800−286:35 name rest
1840+293:35 name rest
1801−286:39 tight glyph )
1841+293:39 tight glyph )
1802−286:40 tight glyph ]
1842+293:40 tight glyph ]
1803−288:1 DEDENT
1843+295:1 DEDENT
1804−288:1 DEDENT
1844+295:1 DEDENT
1805−288:1 DEDENT
1845+295:1 DEDENT
1806−288:1 DEDENT
1846+295:1 DEDENT
1807−288:1 DEDENT
1847+295:1 DEDENT
1808−288:1 NEWLINE
1848+295:1 NEWLINE
1809−288:1 glyph ++
1849+295:1 glyph ++
1810−288:4 name rear
1850+295:4 name rear
1811−288:9 glyph |=
1851+295:9 glyph |=
1812−288:12 name xs
1852+295:12 name xs
1813−288:14 tight glyph =
1853+295:14 tight glyph =
1814−288:15 tight glyph (
1854+295:15 tight glyph (
1815−288:16 tight name list
1855+295:16 tight name list
1816−288:21 tvar A
1856+295:21 tvar A
1817−288:22 tight glyph )
1857+295:22 tight glyph )
1818−289:3 INDENT
1858+296:3 INDENT
1819−289:3 glyph ?-
1859+296:3 glyph ?-
1820−289:6 name xs
1860+296:6 name xs
1821−290:5 INDENT
1861+297:5 INDENT
1822−290:5 lit ~
1862+297:5 lit ~
1823−290:7 glyph !!
1863+297:7 glyph !!
1824−291:5 NEWLINE
1864+298:5 NEWLINE
1825−291:5 glyph [
1826−291:6 tight name item
1827−291:11 name rest
1828−291:15 tight glyph ]
1829−292:7 INDENT
1830−292:7 glyph ?-
1831−292:10 name rest
1832−293:9 INDENT
1833−293:9 lit ~
1834−293:11 name item
1835−294:9 NEWLINE
1836−294:9 glyph [
1837−294:10 tight name next
1838−294:15 name more
1839−294:19 tight glyph ]
1840−294:21 glyph (
1841−294:22 tight name rear
1842−294:27 name rest
1843−294:31 tight glyph )
1844−296:1 DEDENT
1845−296:1 DEDENT
1846−296:1 DEDENT
1847−296:1 DEDENT
1848−296:1 NEWLINE
1849−296:1 glyph ++
1850−296:4 name cork
1851−296:9 glyph |=
1852−296:12 name gates
1853−296:17 tight glyph =
1854−296:18 tight glyph [
1855−296:19 tight glyph $-(
1856−296:22 tight tvar A
1857−296:24 tvar B
1858−296:25 tight glyph )
1859−296:27 glyph $-(
1860−296:30 tight tvar B
1861−296:32 tvar C
1862−296:33 tight glyph )
1863−296:34 tight glyph ]
1864−297:3 INDENT
1865−297:3 glyph ?-
1866−297:6 name gates
1867−298:5 INDENT
1868298:5 glyph [
1865298:5 glyph [
1869−298:6 tight name f
1866+298:6 tight name item
1867+298:11 name rest
1868+298:15 tight glyph ]
1869+299:7 INDENT
1870+299:7 glyph ?-
1871+299:10 name rest
1872+300:9 INDENT
1873+300:9 lit ~
1874+300:11 name item
1875+301:9 NEWLINE
1876+301:9 glyph [
1877+301:10 tight name next
1878+301:15 name more
1879+301:19 tight glyph ]
1880+301:21 glyph (
1881+301:22 tight name rear
1882+301:27 name rest
1883+301:31 tight glyph )
1884+303:1 DEDENT
1885+303:1 DEDENT
1886+303:1 DEDENT
1887+303:1 DEDENT
1888+303:1 NEWLINE
1889+303:1 glyph ++
1890+303:4 name cork
1891+303:9 glyph |=
1892+303:12 name gates
1893+303:17 tight glyph =
1894+303:18 tight glyph [
1895+303:19 tight glyph $-(
1896+303:22 tight tvar A
1897+303:24 tvar B
1898+303:25 tight glyph )
1899+303:27 glyph $-(
1900+303:30 tight tvar B
1901+303:32 tvar C
1902+303:33 tight glyph )
1903+303:34 tight glyph ]
1904+304:3 INDENT
1905+304:3 glyph ?-
1906+304:6 name gates
1907+305:5 INDENT
1908+305:5 glyph [
1909+305:6 tight name f
1870−298:8 name g
1910+305:8 name g
1871−298:9 tight glyph ]
1911+305:9 tight glyph ]
1872−298:11 glyph |=
1912+305:11 glyph |=
1873−298:14 name x
1913+305:14 name x
1874−298:15 tight glyph =
1914+305:15 tight glyph =
1875−298:16 tight tvar A
1915+305:16 tight tvar A
1876−298:18 glyph (
1916+305:18 glyph (
1877−298:19 tight name g
1917+305:19 tight name g
1878−298:21 glyph (
1918+305:21 glyph (
1879−298:22 tight name f
1919+305:22 tight name f
1880−298:24 name x
1920+305:24 name x
1881−298:25 tight glyph )
1921+305:25 tight glyph )
1882−298:26 tight glyph )
1922+305:26 tight glyph )
1883−300:1 DEDENT
1923+307:1 DEDENT
1884−300:1 DEDENT
1924+307:1 DEDENT
1885−300:1 NEWLINE
1925+307:1 NEWLINE
1886−300:1 glyph ++
1926+307:1 glyph ++
1887−300:4 name corl
1927+307:4 name corl
1888−300:9 glyph |=
1928+307:9 glyph |=
1889−300:12 name gates
1929+307:12 name gates
1890−300:17 tight glyph =
1930+307:17 tight glyph =
1891−300:18 tight glyph [
1931+307:18 tight glyph [
1892−300:19 tight glyph $-(
1932+307:19 tight glyph $-(
1893−300:22 tight tvar B
1933+307:22 tight tvar B
1894−300:24 tvar C
1934+307:24 tvar C
1895−300:25 tight glyph )
1935+307:25 tight glyph )
1896−300:27 glyph $-(
1936+307:27 glyph $-(
1897−300:30 tight tvar A
1937+307:30 tight tvar A
1898−300:32 tvar B
1938+307:32 tvar B
1899−300:33 tight glyph )
1939+307:33 tight glyph )
1900−300:34 tight glyph ]
1940+307:34 tight glyph ]
1901−301:3 INDENT
1941+308:3 INDENT
1902−301:3 glyph ?-
1942+308:3 glyph ?-
1903−301:6 name gates
1943+308:6 name gates
1904−302:5 INDENT
1944+309:5 INDENT
1905−302:5 glyph [
1945+309:5 glyph [
1906−302:6 tight name f
1946+309:6 tight name f
1907−302:8 name g
1947+309:8 name g
1908−302:9 tight glyph ]
1948+309:9 tight glyph ]
1909−302:11 glyph |=
1949+309:11 glyph |=
1910−302:14 name x
1950+309:14 name x
1911−302:15 tight glyph =
1951+309:15 tight glyph =
1912−302:16 tight tvar A
1952+309:16 tight tvar A
1913−302:18 glyph (
1953+309:18 glyph (
1914−302:19 tight name f
1954+309:19 tight name f
1915−302:21 glyph (
1955+309:21 glyph (
1916−302:22 tight name g
1956+309:22 tight name g
1917−302:24 name x
1957+309:24 name x
1918−302:25 tight glyph )
1958+309:25 tight glyph )
1919−302:26 tight glyph )
1959+309:26 tight glyph )
1920−304:1 DEDENT
1960+311:1 DEDENT
1921−304:1 DEDENT
1961+311:1 DEDENT
1922−304:1 NEWLINE
1962+311:1 NEWLINE
1923−304:1 glyph ++
1963+311:1 glyph ++
1924−304:4 name cury
1964+311:4 name cury
1925−304:9 glyph |=
1965+311:9 glyph |=
1926−304:12 name args
1966+311:12 name args
1927−304:16 tight glyph =
1967+311:16 tight glyph =
1928−304:17 tight glyph [
1968+311:17 tight glyph [
1929−304:18 tight glyph $-(
1969+311:18 tight glyph $-(
1930−304:21 tight glyph [
1970+311:21 tight glyph [
1931−304:22 tight tvar A
1971+311:22 tight tvar A
1932−304:24 tvar B
1972+311:24 tvar B
1933−304:25 tight glyph ]
1973+311:25 tight glyph ]
1934−304:27 tvar C
1974+311:27 tvar C
1935−304:28 tight glyph )
1975+311:28 tight glyph )
1936−304:30 tvar A
1976+311:30 tvar A
1937−304:31 tight glyph ]
1977+311:31 tight glyph ]
1938−305:3 INDENT
1978+312:3 INDENT
1939−305:3 glyph ?-
1979+312:3 glyph ?-
1940−305:6 name args
1980+312:6 name args
1941−306:5 INDENT
1981+313:5 INDENT
1942−306:5 glyph [
1982+313:5 glyph [
1943−306:6 tight name f
1983+313:6 tight name f
1944−306:8 name a
1984+313:8 name a
1945−306:9 tight glyph ]
1985+313:9 tight glyph ]
1946−306:11 glyph |=
1986+313:11 glyph |=
1947−306:14 name b
1987+313:14 name b
1948−306:15 tight glyph =
1988+313:15 tight glyph =
1949−306:16 tight tvar B
1989+313:16 tight tvar B
1950−306:18 glyph (
1990+313:18 glyph (
1951−306:19 tight name f
1991+313:19 tight name f
1952−306:21 name a
1992+313:21 name a
1953−306:23 name b
1993+313:23 name b
1954−306:24 tight glyph )
1994+313:24 tight glyph )
1955−308:1 DEDENT
1995+315:1 DEDENT
1956−308:1 DEDENT
1996+315:1 DEDENT
1957−308:1 NEWLINE
1997+315:1 NEWLINE
1958−308:1 glyph ++
1998+315:1 glyph ++
1959−308:4 name curr
1999+315:4 name curr
1960−308:9 glyph |=
2000+315:9 glyph |=
1961−308:12 name args
2001+315:12 name args
1962−308:16 tight glyph =
2002+315:16 tight glyph =
1963−308:17 tight glyph [
2003+315:17 tight glyph [
1964−308:18 tight glyph $-(
2004+315:18 tight glyph $-(
1965−308:21 tight glyph [
2005+315:21 tight glyph [
1966−308:22 tight tvar A
2006+315:22 tight tvar A
1967−308:24 tvar B
2007+315:24 tvar B
1968−308:25 tight glyph ]
2008+315:25 tight glyph ]
1969−308:27 tvar C
2009+315:27 tvar C
1970−308:28 tight glyph )
2010+315:28 tight glyph )
1971−308:30 tvar B
2011+315:30 tvar B
1972−308:31 tight glyph ]
2012+315:31 tight glyph ]
1973−309:3 INDENT
2013+316:3 INDENT
1974−309:3 glyph ?-
2014+316:3 glyph ?-
1975−309:6 name args
2015+316:6 name args
1976−310:5 INDENT
2016+317:5 INDENT
1977−310:5 glyph [
2017+317:5 glyph [
1978−310:6 tight name f
2018+317:6 tight name f
1979−310:8 name b
2019+317:8 name b
1980−310:9 tight glyph ]
2020+317:9 tight glyph ]
1981−310:11 glyph |=
2021+317:11 glyph |=
1982−310:14 name a
2022+317:14 name a
1983−310:15 tight glyph =
2023+317:15 tight glyph =
1984−310:16 tight tvar A
2024+317:16 tight tvar A
1985−310:18 glyph (
2025+317:18 glyph (
1986−310:19 tight name f
2026+317:19 tight name f
1987−310:21 name a
2027+317:21 name a
1988−310:23 name b
2028+317:23 name b
1989−310:24 tight glyph )
2029+317:24 tight glyph )
1990−312:1 DEDENT
1991−312:1 DEDENT
2030+319:1 DEDENT
1992−312:1 NEWLINE
1993−312:1 glyph +$
1994−312:4 name cmd
1995−312:8 glyph |$
1996−312:11 glyph [
1997−312:12 tight tvar M
1998−312:13 tight glyph ]
1999−313:3 INDENT
2000−313:3 glyph [
2001−313:4 tight lit %poke
2002−313:10 name p
2003−313:11 tight glyph =
2004−313:12 tight name poke
2005−313:17 name reply
2006−313:22 tight glyph =
2007−313:23 tight glyph $-(
2008−313:26 tight glyph (
2009−313:27 tight name unit
2010−313:32 aura @t
2011−313:34 tight glyph )
2012−313:36 tvar M
2013−313:37 tight glyph )
2014−313:38 tight glyph ]
2015−314:3 NEWLINE
2016−314:3 glyph [
2017−314:4 tight lit %go
2018−314:8 name url
2019−314:11 tight glyph =
2020−314:12 tight aura @t
2021−314:14 tight glyph ]
2022−315:3 NEWLINE
2023−315:3 glyph [
2024−315:4 tight lit %wait
2025−315:10 name gap
2026−315:13 tight glyph =
2027−315:14 tight aura @dr
2028−315:18 name msg
2029−315:21 tight glyph =
2030−315:22 tight tvar M
2031−315:23 tight glyph ]
2032−316:3 NEWLINE
2033−316:3 glyph [
2034−316:4 tight lit %now
2035−316:9 name reply
2036−316:14 tight glyph =
2037−316:15 tight glyph $-(
2038−316:18 tight aura @da
2039−316:22 tvar M
2040−316:23 tight glyph )
2041−316:24 tight glyph ]
2042−317:3 NEWLINE
2043−317:3 glyph [
2044−317:4 tight lit %who
2045−317:9 name reply
2046−317:14 tight glyph =
2047−317:15 tight glyph $-(
2048−317:18 tight aura @p
2049−317:21 tvar M
2050−317:22 tight glyph )
2051−317:23 tight glyph ]
2052319:1 DEDENT
2031319:1 DEDENT
2053319:1 NEWLINE
2032319:1 NEWLINE
2054−319:1 glyph ++
2033+319:1 glyph +$
2034+319:4 name cmd
2035+319:8 glyph |$
2036+319:11 glyph [
2037+319:12 tight tvar M
2038+319:13 tight glyph ]
2039+320:3 INDENT
2040+320:3 glyph [
2041+320:4 tight lit %poke
2042+320:10 name p
2043+320:11 tight glyph =
2044+320:12 tight name poke
2045+320:17 name reply
2046+320:22 tight glyph =
2047+320:23 tight glyph $-(
2048+320:26 tight glyph (
2049+320:27 tight name unit
2050+320:32 aura @t
2051+320:34 tight glyph )
2052+320:36 tvar M
2053+320:37 tight glyph )
2054+320:38 tight glyph ]
2055+321:3 NEWLINE
2056+321:3 glyph [
2057+321:4 tight lit %go
2058+321:8 name url
2059+321:11 tight glyph =
2060+321:12 tight aura @t
2061+321:14 tight glyph ]
2062+322:3 NEWLINE
2063+322:3 glyph [
2064+322:4 tight lit %wait
2065+322:10 name gap
2066+322:13 tight glyph =
2067+322:14 tight aura @dr
2068+322:18 name msg
2069+322:21 tight glyph =
2070+322:22 tight tvar M
2071+322:23 tight glyph ]
2072+323:3 NEWLINE
2073+323:3 glyph [
2074+323:4 tight lit %now
2075+323:9 name reply
2076+323:14 tight glyph =
2077+323:15 tight glyph $-(
2078+323:18 tight aura @da
2079+323:22 tvar M
2080+323:23 tight glyph )
2081+323:24 tight glyph ]
2082+324:3 NEWLINE
2083+324:3 glyph [
2084+324:4 tight lit %who
2085+324:9 name reply
2086+324:14 tight glyph =
2087+324:15 tight glyph $-(
2088+324:18 tight aura @p
2089+324:21 tvar M
2090+324:22 tight glyph )
2091+324:23 tight glyph ]
2092+326:1 DEDENT
2093+326:1 NEWLINE
2094+326:1 glyph ++
2055−319:4 name gth
2095+326:4 name gth
2056−319:8 glyph |=
2096+326:8 glyph |=
2057−319:11 name args
2097+326:11 name args
2058−319:15 tight glyph =
2098+326:15 tight glyph =
2059−319:16 tight glyph [
2099+326:16 tight glyph [
2060−319:17 tight tvar A
2100+326:17 tight tvar A
2061−319:19 tvar A
2101+326:19 tvar A
2062−319:20 tight glyph ]
2102+326:20 tight glyph ]
2063−319:22 glyph (
2103+326:22 glyph (
2064−319:23 tight wing gth-atom.internal
2104+326:23 tight wing gth-atom.internal
2105+326:41 name args
2106+326:45 tight glyph )
2107+327:1 NEWLINE
2108+327:1 glyph ++
2109+327:4 name add
2110+327:8 glyph |=
2111+327:11 name args
2112+327:15 tight glyph =
2113+327:16 tight glyph [
2114+327:17 tight tvar A
2115+327:19 tvar A
2116+327:20 tight glyph ]
2117+327:22 glyph (
2118+327:23 tight wing add-atom.internal
2065−319:41 name args
2119+327:41 name args
2066−319:45 tight glyph )
2120+327:45 tight glyph )
2121+328:1 NEWLINE
2122+328:1 glyph ++
2123+328:4 name dec
2124+328:8 glyph |=
2125+328:11 name atom
2126+328:15 tight glyph =
2127+328:16 tight tvar A
2128+328:18 glyph (
2129+328:19 tight wing dec-atom.internal
2130+328:37 name atom
2131+328:41 tight glyph )
2067−319:46 NEWLINE
2132+328:42 NEWLINE
tests/golden/prelude-unit-list-transforms/tree.txt+864−834
@@ -1,395 +1,390 @@
1(module
1(module
2 (jibb 1:1 internal /lib/jibb/internal)
2 (jibb 1:1 internal /lib/jibb/internal)
3 (mold 2:1 poke (ref 2:9 poke.internal))
3 (mold 2:1 poke (ref 2:9 poke.internal))
4+ (mold 3:1 qath (ref 3:9 qath.internal))
4− (value 6:1 same
5+ (value 7:1 same
5− (gate 6:9
6+ (gate 7:9
6− (face 6:12 x (tvar 6:14 A))
7+ (face 7:12 x (tvar 7:14 A))
7− (wing 6:16 x)))
8+ (wing 7:16 x)))
8− (value 8:1 head
9+ (value 9:1 head
9− (gate 8:9
10+ (gate 9:9
10− (face 8:12 p
11+ (face 9:12 p
11− (cell 8:14 (tvar 8:15 A) (tvar 8:17 B)))
12+ (cell 9:14 (tvar 9:15 A) (tvar 9:17 B)))
12− (body 9:3
13+ (body 10:3
13− (branch 9:3
14+ (branch 10:3
14− (wing 9:6 p)
15+ (wing 10:6 p)
15− (arm 10:5
16+ (arm 11:5
16− (cell 10:5 (bind 10:6 a) (bind 10:8 b))
17+ (cell 11:5 (bind 11:6 a) (bind 11:8 b))
17− (wing 10:11 a))))))
18+ (wing 11:11 a))))))
18− (value 12:1 tail
19+ (value 13:1 tail
19− (gate 12:9
20+ (gate 13:9
20− (face 12:12 p
21+ (face 13:12 p
21− (cell 12:14 (tvar 12:15 A) (tvar 12:17 B)))
22+ (cell 13:14 (tvar 13:15 A) (tvar 13:17 B)))
22− (body 13:3
23+ (body 14:3
23− (branch 13:3
24+ (branch 14:3
24− (wing 13:6 p)
25+ (wing 14:6 p)
25− (arm 14:5
26+ (arm 15:5
26− (cell 14:5 (bind 14:6 a) (bind 14:8 b))
27+ (cell 15:5 (bind 15:6 a) (bind 15:8 b))
27− (wing 14:11 b))))))
28+ (wing 15:11 b))))))
28− (value 16:1 not
29+ (value 17:1 not
29− (gate 16:8
30+ (gate 17:8
30− (face 16:11 b (flag 16:13))
31+ (face 17:11 b (flag 17:13))
31− (body 17:3
32+ (body 18:3
32− (branch 17:3
33+ (branch 18:3
33− (wing 17:6 b)
34+ (wing 18:6 b)
34− (arm 18:5 (lit 18:5 %.y) (lit 18:9 %.n))
35+ (arm 19:5 (lit 19:5 %.y) (lit 19:9 %.n))
35− (arm 19:5 (lit 19:5 %.n) (lit 19:9 %.y))))))
36+ (arm 20:5 (lit 20:5 %.n) (lit 20:9 %.y))))))
36− (mold 21:1 list
37+ (mold 22:1 list
37− (generic 21:9 A
38+ (generic 22:9 A
38− (union 22:3
39+ (union 23:3
39− (const 22:3 ~)
40+ (const 23:3 ~)
40− (cell 23:3
41+ (cell 24:3
41− (face 23:4 i (tvar 23:6 A))
42+ (face 24:4 i (tvar 24:6 A))
42− (face 23:8 t
43+ (face 24:8 t
43− (apply 23:10 list (tvar 23:16 A)))))))
44+ (apply 24:10 list (tvar 24:16 A)))))))
44− (mold 25:1 unit
45+ (mold 26:1 unit
45− (generic 25:9 A
46+ (generic 26:9 A
46− (union 26:3
47+ (union 27:3
47− (const 26:3 ~)
48+ (const 27:3 ~)
48− (cell 27:3
49+ (cell 28:3
49− (const 27:4 ~)
50+ (const 28:4 ~)
50− (face 27:6 u (tvar 27:8 A))))))
51+ (face 28:6 u (tvar 28:8 A))))))
51− (value 29:1 fall
52+ (value 30:1 fall
52− (gate 29:9
53+ (gate 30:9
53− (face 29:12 args
54+ (face 30:12 args
54− (cell 29:17
55+ (cell 30:17
55− (apply 29:18 unit (tvar 29:24 A))
56+ (apply 30:18 unit (tvar 30:24 A))
56− (tvar 29:27 A)))
57+ (tvar 30:27 A)))
57− (body 30:3
58+ (body 31:3
58− (branch 30:3
59+ (branch 31:3
59− (wing 30:6 args)
60+ (wing 31:6 args)
60− (arm 31:5
61+ (arm 32:5
61− (cell 31:5 (bind 31:6 maybe) (bind 31:12 fallback))
62+ (cell 32:5 (bind 32:6 maybe) (bind 32:12 fallback))
62− (body 32:7
63+ (body 33:7
63− (branch 32:7
64+ (branch 33:7
64− (wing 32:10 maybe)
65+ (wing 33:10 maybe)
65− (arm 33:9 (lit 33:9 ~) (wing 33:11 fallback))
66+ (arm 34:9 (lit 34:9 ~) (wing 34:11 fallback))
66− (arm 34:9
67+ (arm 35:9
67− (cell 34:9 (lit 34:10 ~) (bind 34:12 value))
68+ (cell 35:9 (lit 35:10 ~) (bind 35:12 value))
68− (wing 34:19 value)))))))))
69+ (wing 35:19 value)))))))))
69− (value 36:1 need
70+ (value 37:1 need
70− (gate 36:9
71+ (gate 37:9
71− (face 36:12 maybe
72+ (face 37:12 maybe
72− (apply 36:18 unit (tvar 36:24 A)))
73+ (apply 37:18 unit (tvar 37:24 A)))
73− (body 37:3
74+ (body 38:3
74− (branch 37:3
75+ (branch 38:3
75− (wing 37:6 maybe)
76+ (wing 38:6 maybe)
76− (arm 38:5 (lit 38:5 ~) (crash 38:7))
77+ (arm 39:5 (lit 39:5 ~) (crash 39:7))
77− (arm 39:5
78+ (arm 40:5
78− (cell 39:5 (lit 39:6 ~) (bind 39:8 value))
79+ (cell 40:5 (lit 40:6 ~) (bind 40:8 value))
79− (wing 39:15 value))))))
80+ (wing 40:15 value))))))
80− (value 41:1 weld
81+ (value 42:1 weld
81− (gate 41:9
82+ (gate 42:9
82− (face 41:12 args
83+ (face 42:12 args
83− (cell 41:17
84+ (cell 42:17
84− (apply 41:18 list (tvar 41:24 A))
85+ (apply 42:18 list (tvar 42:24 A))
85− (apply 41:27 list (tvar 41:33 A))))
86+ (apply 42:27 list (tvar 42:33 A))))
86− (body 42:3
87+ (body 43:3
87− (branch 42:3
88+ (branch 43:3
88− (wing 42:6 args)
89+ (wing 43:6 args)
89− (arm 43:5
90+ (arm 44:5
90− (cell 43:5 (bind 43:6 xs) (bind 43:9 ys))
91+ (cell 44:5 (bind 44:6 xs) (bind 44:9 ys))
91− (body 44:7
92+ (body 45:7
92− (cast 44:7
93+ (cast 45:7
93− (apply 44:10 list (tvar 44:16 A))
94+ (apply 45:10 list (tvar 45:16 A))
94− (body 45:9
95+ (body 46:9
95− (branch 45:9
96+ (branch 46:9
96− (wing 45:12 xs)
97+ (wing 46:12 xs)
97− (arm 46:11 (lit 46:11 ~) (wing 46:13 ys))
98+ (arm 47:11 (lit 47:11 ~) (wing 47:13 ys))
98− (arm 47:11
99+ (arm 48:11
99− (cell 47:11 (bind 47:12 item) (bind 47:17 rest))
100+ (cell 48:11 (bind 48:12 item) (bind 48:17 rest))
100− (tuple 47:23
101+ (tuple 48:23
101− (wing 47:24 item)
102+ (wing 48:24 item)
102− (group 47:29
103+ (group 48:29
103− (call 47:30 (wing 47:30 weld) (wing 47:35 rest) (wing 47:40 ys))))))))))))))
104+ (call 48:30 (wing 48:30 weld) (wing 48:35 rest) (wing 48:40 ys))))))))))))))
104− (value 49:1 turn
105+ (value 50:1 turn
105− (gate 49:9
106+ (gate 50:9
106− (face 49:12 args
107+ (face 50:12 args
107− (cell 49:17
108+ (cell 50:17
108− (apply 49:18 list (tvar 49:24 A))
109+ (apply 50:18 list (tvar 50:24 A))
109− (fn 49:27 (tvar 49:30 A) (tvar 49:32 B))))
110+ (fn 50:27 (tvar 50:30 A) (tvar 50:32 B))))
110− (body 50:3
111+ (body 51:3
111− (branch 50:3
112+ (branch 51:3
112− (wing 50:6 args)
113+ (wing 51:6 args)
113− (arm 51:5
114+ (arm 52:5
114− (cell 51:5 (bind 51:6 xs) (bind 51:9 f))
115+ (cell 52:5 (bind 52:6 xs) (bind 52:9 f))
115− (body 52:7
116+ (body 53:7
116− (cast 52:7
117+ (cast 53:7
117− (apply 52:10 list (tvar 52:16 B))
118+ (apply 53:10 list (tvar 53:16 B))
118− (body 53:9
119+ (body 54:9
119− (branch 53:9
120+ (branch 54:9
120− (wing 53:12 xs)
121+ (wing 54:12 xs)
121− (arm 54:11 (lit 54:11 ~) (lit 54:13 ~))
122+ (arm 55:11 (lit 55:11 ~) (lit 55:13 ~))
122− (arm 55:11
123+ (arm 56:11
123− (cell 55:11 (bind 55:12 item) (bind 55:17 rest))
124+ (cell 56:11 (bind 56:12 item) (bind 56:17 rest))
124− (tuple 55:23
125+ (tuple 56:23
125− (group 55:24
126+ (group 56:24
126− (call 55:25 (wing 55:25 f) (wing 55:27 item)))
127+ (call 56:25 (wing 56:25 f) (wing 56:27 item)))
127− (group 55:33
128+ (group 56:33
128− (call 55:34 (wing 55:34 turn) (wing 55:39 rest) (wing 55:44 f))))))))))))))
129+ (call 56:34 (wing 56:34 turn) (wing 56:39 rest) (wing 56:44 f))))))))))))))
129− (mold 57:1 dime
130+ (mold 58:1 dime
130− (cell 57:9
131+ (cell 58:9
131− (face 57:10 p (aura 57:12 @ta))
132+ (face 58:10 p (aura 58:12 @ta))
132− (face 57:16 q (aura 57:18 @))))
133+ (face 58:16 q (aura 58:18 @))))
133− (mold 59:1 hair
134+ (mold 60:1 hair
134− (cell 59:9
135+ (cell 60:9
135− (face 59:10 p (aura 59:12 @ud))
136+ (face 60:10 p (aura 60:12 @ud))
136− (face 59:16 q (aura 59:18 @ud))))
137+ (face 60:16 q (aura 60:18 @ud))))
137− (mold 61:1 pint
138+ (mold 62:1 pint
138− (cell 61:9
139+ (cell 62:9
139− (face 61:10 p
140+ (face 62:10 p
140− (cell 61:12
141+ (cell 62:12
141− (face 61:13 p (aura 61:15 @))
142+ (face 62:13 p (aura 62:15 @))
142− (face 61:17 q (aura 61:19 @))))
143+ (face 62:17 q (aura 62:19 @))))
143− (face 61:22 q
144+ (face 62:22 q
144− (cell 61:24
145+ (cell 62:24
145− (face 61:25 p (aura 61:27 @))
146+ (face 62:25 p (aura 62:27 @))
146− (face 61:29 q (aura 61:31 @))))))
147+ (face 62:29 q (aura 62:31 @))))))
147− (mold 63:1 coin
148+ (mold 64:1 coin
148− (union 64:3
149+ (union 65:3
149− (cell 64:3
150− (const 64:4 %$)
151− (face 64:7 p (ref 64:9 dime)))
152 (cell 65:3
150 (cell 65:3
153− (const 65:4 %blob)
151+ (const 65:4 %$)
154− (face 65:10 p (noun 65:12)))
152+ (face 65:7 p (ref 65:9 dime)))
155 (cell 66:3
153 (cell 66:3
156− (const 66:4 %many)
154+ (const 66:4 %blob)
155+ (face 66:10 p (noun 66:12)))
156+ (cell 67:3
157+ (const 67:4 %many)
157− (face 66:10 p
158+ (face 67:10 p
158− (apply 66:12 list (ref 66:18 coin))))))
159+ (apply 67:12 list (ref 67:18 coin))))))
159− (mold 68:1 pair
160+ (mold 69:1 pair
160− (generic 68:9 A B
161+ (generic 69:9 A B
161− (cell 68:18
162+ (cell 69:18
162− (face 68:19 p (tvar 68:21 A))
163+ (face 69:19 p (tvar 69:21 A))
163− (face 68:23 q (tvar 68:25 B)))))
164+ (face 69:23 q (tvar 69:25 B)))))
164− (mold 70:1 trel
165+ (mold 71:1 trel
165− (generic 70:9 A B C
166+ (generic 71:9 A B C
166− (cell 70:20
167+ (cell 71:20
167− (face 70:21 p (tvar 70:23 A))
168+ (face 71:21 p (tvar 71:23 A))
168− (face 70:25 q (tvar 70:27 B))
169+ (face 71:25 q (tvar 71:27 B))
169− (face 70:29 r (tvar 70:31 C)))))
170+ (face 71:29 r (tvar 71:31 C)))))
170− (mold 72:1 qual
171+ (mold 73:1 qual
171− (generic 72:9 A B C D
172+ (generic 73:9 A B C D
172− (cell 72:22
173+ (cell 73:22
173− (face 72:23 p (tvar 72:25 A))
174+ (face 73:23 p (tvar 73:25 A))
174− (face 72:27 q (tvar 72:29 B))
175+ (face 73:27 q (tvar 73:29 B))
175− (face 72:31 r (tvar 72:33 C))
176+ (face 73:31 r (tvar 73:33 C))
176− (face 72:35 s (tvar 72:37 D)))))
177+ (face 73:35 s (tvar 73:37 D)))))
177− (mold 74:1 cord (aura 74:9 @t))
178+ (mold 75:1 cord (aura 75:9 @t))
178− (mold 76:1 knot (aura 76:9 @ta))
179+ (mold 77:1 knot (aura 77:9 @ta))
179− (mold 78:1 tape
180+ (mold 79:1 tape
180− (apply 78:9 list (aura 78:15 @tD)))
181+ (apply 79:9 list (aura 79:15 @tD)))
181− (mold 80:1 path
182+ (mold 81:1 path
182− (apply 80:9 list (ref 80:15 knot)))
183+ (apply 81:9 list (ref 81:15 knot)))
183− (mold 82:1 tank
184+ (mold 83:1 tank
184− (union 83:3
185+ (union 84:3
185− (ref 83:3 cord)
186+ (ref 84:3 cord)
186− (cell 84:3
187− (const 84:4 %leaf)
188− (face 84:10 p (ref 84:12 tape)))
189 (cell 85:3
187 (cell 85:3
190− (const 85:4 %palm)
188+ (const 85:4 %leaf)
191− (face 85:10 p
189+ (face 85:10 p (ref 85:12 tape)))
192− (apply 85:12 qual (ref 85:18 tape) (ref 85:23 tape) (ref 85:28 tape) (ref 85:33 tape)))
193− (face 85:39 q
194− (apply 85:41 list (ref 85:47 tank))))
195 (cell 86:3
190 (cell 86:3
196− (const 86:4 %rose)
191+ (const 86:4 %palm)
197 (face 86:10 p
192 (face 86:10 p
193+ (apply 86:12 qual (ref 86:18 tape) (ref 86:23 tape) (ref 86:28 tape) (ref 86:33 tape)))
194+ (face 86:39 q
195+ (apply 86:41 list (ref 86:47 tank))))
196+ (cell 87:3
197+ (const 87:4 %rose)
198+ (face 87:10 p
198− (apply 86:12 trel (ref 86:18 tape) (ref 86:23 tape) (ref 86:28 tape)))
199+ (apply 87:12 trel (ref 87:18 tape) (ref 87:23 tape) (ref 87:28 tape)))
199− (face 86:34 q
200+ (face 87:34 q
200− (apply 86:36 list (ref 86:42 tank))))))
201+ (apply 87:36 list (ref 87:42 tank))))))
201− (mold 88:1 nail
202+ (mold 89:1 nail
202− (cell 88:9
203+ (cell 89:9
203− (face 88:10 p (ref 88:12 hair))
204+ (face 89:10 p (ref 89:12 hair))
204− (face 88:17 q (ref 88:19 tape))))
205+ (face 89:17 q (ref 89:19 tape))))
205− (mold 90:1 edge
206+ (mold 91:1 edge
206− (cell 90:9
207+ (cell 91:9
207− (face 90:10 p (ref 90:12 hair))
208+ (face 91:10 p (ref 91:12 hair))
208− (face 90:17 q
209+ (face 91:17 q
209− (apply 90:19 unit
210+ (apply 91:19 unit
210− (cell 90:25
211+ (cell 91:25
211− (face 90:26 p (noun 90:28))
212+ (face 91:26 p (noun 91:28))
212− (face 90:30 q (ref 90:32 nail)))))))
213+ (face 91:30 q (ref 91:32 nail)))))))
213− (mold 92:1 rule
214+ (mold 93:1 rule
214− (fn 92:9 (ref 92:12 nail) (ref 92:17 edge)))
215+ (fn 93:9 (ref 93:12 nail) (ref 93:17 edge)))
215− (mold 94:1 spot
216+ (mold 95:1 spot
216− (cell 94:9
217+ (cell 95:9
217− (face 94:10 p (ref 94:12 path))
218+ (face 95:10 p (ref 95:12 path))
218− (face 94:17 q (ref 94:19 pint))))
219+ (face 95:17 q (ref 95:19 pint))))
219− (mold 96:1 toon
220+ (mold 97:1 toon
220− (union 97:3
221+ (union 98:3
221− (cell 97:3
222− (const 97:4 %0)
223− (face 97:7 p (noun 97:9)))
224 (cell 98:3
222 (cell 98:3
225− (const 98:4 %1)
223+ (const 98:4 %0)
226 (face 98:7 p (noun 98:9)))
224 (face 98:7 p (noun 98:9)))
227 (cell 99:3
225 (cell 99:3
228− (const 99:4 %2)
226+ (const 99:4 %1)
227+ (face 99:7 p (noun 99:9)))
228+ (cell 100:3
229+ (const 100:4 %2)
229− (face 99:7 p
230+ (face 100:7 p
230− (apply 99:9 list (ref 99:15 tank))))))
231+ (apply 100:9 list (ref 100:15 tank))))))
231− (mold 101:1 like
232+ (mold 102:1 like
232− (generic 101:9 A
233+ (generic 102:9 A
233− (cell 101:16
234+ (cell 102:16
234− (face 101:17 p (ref 101:19 hair))
235+ (face 102:17 p (ref 102:19 hair))
235− (face 101:24 q
236+ (face 102:24 q
236− (apply 101:26 unit
237+ (apply 102:26 unit
237− (cell 101:32
238+ (cell 102:32
238− (face 101:33 p (tvar 101:35 A))
239+ (face 102:33 p (tvar 102:35 A))
239− (face 101:37 q (ref 101:39 nail))))))))
240+ (face 102:37 q (ref 102:39 nail))))))))
240− (value 103:1 wonk
241+ (value 104:1 wonk
241− (gate 103:9
242+ (gate 104:9
242− (face 103:12 veq
243+ (face 104:12 veq
243− (apply 103:16 like (tvar 103:22 A)))
244+ (apply 104:16 like (tvar 104:22 A)))
244− (body 104:3
245+ (body 105:3
245− (branch 104:3
246+ (branch 105:3
246− (wing 104:6 q.veq)
247+ (wing 105:6 q.veq)
247− (arm 105:5 (lit 105:5 ~) (crash 105:7))
248+ (arm 106:5 (lit 106:5 ~) (crash 106:7))
248− (arm 106:5
249+ (arm 107:5
249− (cell 106:5 (lit 106:6 ~) (bind 106:8 product))
250+ (cell 107:5 (lit 107:6 ~) (bind 107:8 product))
250− (wing 106:17 p.product))))))
251+ (wing 107:17 p.product))))))
251− (mold 108:1 lone
252+ (mold 109:1 lone
252− (generic 108:9 A
253+ (generic 109:9 A
253− (cell 108:16
254+ (cell 109:16
254− (face 108:17 p (tvar 108:19 A)))))
255+ (face 109:17 p (tvar 109:19 A)))))
255− (mold 110:1 lest
256+ (mold 111:1 lest
256− (generic 110:9 A
257+ (generic 111:9 A
257− (cell 110:16
258+ (cell 111:16
258− (face 110:17 i (tvar 110:19 A))
259+ (face 111:17 i (tvar 111:19 A))
259− (face 110:21 t
260+ (face 111:21 t
260− (apply 110:23 list (tvar 110:29 A))))))
261+ (apply 111:23 list (tvar 111:29 A))))))
261− (mold 112:1 pole
262+ (mold 113:1 pole
262− (generic 112:9 A
263+ (generic 113:9 A
263− (union 113:3
264+ (union 114:3
264− (const 113:3 ~)
265+ (const 114:3 ~)
265− (cell 114:3
266+ (cell 115:3
266− (tvar 114:4 A)
267+ (tvar 115:4 A)
267− (apply 114:6 pole (tvar 114:12 A))))))
268+ (apply 115:6 pole (tvar 115:12 A))))))
268− (mold 116:1 quip
269+ (mold 117:1 quip
269− (generic 116:9 A B
270+ (generic 117:9 A B
270− (cell 116:18
271+ (cell 117:18
271− (apply 116:19 list (tvar 116:25 A))
272+ (apply 117:19 list (tvar 117:25 A))
272− (tvar 116:28 B))))
273+ (tvar 117:28 B))))
273− (mold 118:1 tree
274+ (mold 119:1 tree
274− (generic 118:9 A
275+ (generic 119:9 A
275− (union 119:3
276+ (union 120:3
276− (const 119:3 ~)
277+ (const 120:3 ~)
277− (cell 120:3
278+ (cell 121:3
278− (face 120:4 n (tvar 120:6 A))
279+ (face 121:4 n (tvar 121:6 A))
279− (face 120:8 l
280+ (face 121:8 l
280− (apply 120:10 tree (tvar 120:16 A)))
281+ (apply 121:10 tree (tvar 121:16 A)))
281− (face 120:19 r
282+ (face 121:19 r
282− (apply 120:21 tree (tvar 120:27 A)))))))
283+ (apply 121:21 tree (tvar 121:27 A)))))))
283− (mold 122:1 each
284+ (mold 123:1 each
284− (generic 122:9 A B
285+ (generic 123:9 A B
285− (union 123:3
286+ (union 124:3
286− (cell 123:3
287− (const 123:4 %|)
288− (face 123:7 p (tvar 123:9 B)))
289 (cell 124:3
287 (cell 124:3
290− (const 124:4 %&)
288+ (const 124:4 %|)
289+ (face 124:7 p (tvar 124:9 B)))
290+ (cell 125:3
291+ (const 125:4 %&)
291− (face 124:7 p (tvar 124:9 A))))))
292+ (face 125:7 p (tvar 125:9 A))))))
292− (mold 126:1 bloq (aura 126:9 @))
293+ (mold 127:1 bloq (aura 127:9 @))
293− (value 128:1 some
294+ (value 129:1 some
294− (gate 128:9
295+ (gate 129:9
295− (face 128:12 item (tvar 128:17 A))
296+ (face 129:12 item (tvar 129:17 A))
296− (unit 128:19 (wing 128:20 item))))
297+ (unit 129:19 (wing 129:20 item))))
297− (value 130:1 lure
298+ (value 131:1 lure
298− (gate 130:9
299+ (gate 131:9
299− (face 130:12 item (tvar 130:17 A))
300+ (face 131:12 item (tvar 131:17 A))
300− (body 131:3
301+ (body 132:3
301− (cast 131:3
302+ (cast 132:3
302− (apply 131:6 list (tvar 131:12 A))
303+ (apply 132:6 list (tvar 132:12 A))
303− (tuple 131:15 (wing 131:16 item) (lit 131:21 ~))))))
304+ (tuple 132:15 (wing 132:16 item) (lit 132:21 ~))))))
304− (value 133:1 snoc
305+ (value 134:1 snoc
305− (gate 133:9
306+ (gate 134:9
306− (face 133:12 args
307+ (face 134:12 args
307− (cell 133:17
308+ (cell 134:17
308− (apply 133:18 list (tvar 133:24 A))
309+ (apply 134:18 list (tvar 134:24 A))
309− (tvar 133:27 A)))
310+ (tvar 134:27 A)))
310− (body 134:3
311+ (body 135:3
311− (branch 134:3
312+ (branch 135:3
312− (wing 134:6 args)
313+ (wing 135:6 args)
313− (arm 135:5
314+ (arm 136:5
314− (cell 135:5 (bind 135:6 xs) (bind 135:9 item))
315+ (cell 136:5 (bind 136:6 xs) (bind 136:9 item))
315− (group 135:15
316+ (group 136:15
316− (call 135:16
317+ (call 136:16
317− (wing 135:16 weld)
318+ (wing 136:16 weld)
318− (wing 135:21 xs)
319+ (wing 136:21 xs)
319− (tuple 135:24 (wing 135:25 item) (lit 135:30 ~)))))))))
320+ (tuple 136:24 (wing 136:25 item) (lit 136:30 ~)))))))))
320− (value 137:1 flop
321+ (value 138:1 flop
321− (gate 137:9
322+ (gate 138:9
322− (face 137:12 xs
323+ (face 138:12 xs
323− (apply 137:15 list (tvar 137:21 A)))
324+ (apply 138:15 list (tvar 138:21 A)))
324− (body 138:3
325+ (body 139:3
325− (value 138:3 reverse-into
326+ (value 139:3 reverse-into
326− (gate 138:19
327+ (gate 139:19
327− (face 138:22 args
328+ (face 139:22 args
328− (cell 138:27
329+ (cell 139:27
329− (apply 138:28 list (tvar 138:34 A))
330+ (apply 139:28 list (tvar 139:34 A))
330− (apply 138:37 list (tvar 138:43 A))))
331+ (apply 139:37 list (tvar 139:43 A))))
331− (body 139:5
332+ (body 140:5
332− (branch 139:5
333+ (branch 140:5
333− (wing 139:8 args)
334+ (wing 140:8 args)
334− (arm 140:7
335+ (arm 141:7
335− (cell 140:7 (bind 140:8 rest) (bind 140:13 acc))
336+ (cell 141:7 (bind 141:8 rest) (bind 141:13 acc))
336− (body 141:9
337+ (body 142:9
337− (branch 141:9
338+ (branch 142:9
338− (wing 141:12 rest)
339+ (wing 142:12 rest)
339− (arm 142:11 (lit 142:11 ~) (wing 142:13 acc))
340+ (arm 143:11 (lit 143:11 ~) (wing 143:13 acc))
340− (arm 143:11
341+ (arm 144:11
341− (cell 143:11 (bind 143:12 item) (bind 143:17 more))
342+ (cell 144:11 (bind 144:12 item) (bind 144:17 more))
342− (group 143:23
343+ (group 144:23
343− (call 143:24
344+ (call 144:24
344− (wing 143:24 reverse-into)
345+ (wing 144:24 reverse-into)
345− (wing 143:37 more)
346+ (wing 144:37 more)
346− (tuple 143:42 (wing 143:43 item) (wing 143:48 acc))))))))))))
347+ (tuple 144:42 (wing 144:43 item) (wing 144:48 acc))))))))))))
347− (group 144:3
348+ (group 145:3
348− (call 144:4 (wing 144:4 reverse-into) (wing 144:17 xs) (lit 144:20 ~))))))
349+ (call 145:4 (wing 145:4 reverse-into) (wing 145:17 xs) (lit 145:20 ~))))))
349− (value 146:1 drop
350+ (value 147:1 drop
350− (gate 146:9
351+ (gate 147:9
351− (face 146:12 maybe
352+ (face 147:12 maybe
352− (apply 146:18 unit (tvar 146:24 A)))
353+ (apply 147:18 unit (tvar 147:24 A)))
353− (body 147:3
354+ (body 148:3
354− (cast 147:3
355+ (cast 148:3
355− (apply 147:6 list (tvar 147:12 A))
356+ (apply 148:6 list (tvar 148:12 A))
356− (body 148:5
357+ (body 149:5
357− (branch 148:5
358+ (branch 149:5
358− (wing 148:8 maybe)
359+ (wing 149:8 maybe)
359− (arm 149:7 (lit 149:7 ~) (lit 149:9 ~))
360+ (arm 150:7 (lit 150:7 ~) (lit 150:9 ~))
360− (arm 150:7
361+ (arm 151:7
361− (cell 150:7 (lit 150:8 ~) (bind 150:10 value))
362+ (cell 151:7 (lit 151:8 ~) (bind 151:10 value))
362− (tuple 150:17 (wing 150:18 value) (lit 150:24 ~)))))))))
363+ (tuple 151:17 (wing 151:18 value) (lit 151:24 ~)))))))))
363− (value 152:1 bind
364+ (value 153:1 bond
364− (gate 152:9
365+ (gate 153:9
365− (face 152:12 args
366+ (face 153:12 fallback
366− (cell 152:17
367+ (fn 153:21 (const 153:24 ~) (tvar 153:26 A)))
367− (apply 152:18 unit (tvar 152:24 A))
368− (fn 152:27 (tvar 152:30 A) (tvar 152:32 B))))
369− (body 153:3
368+ (body 154:3
370− (branch 153:3
369+ (gate 154:3
371− (wing 153:6 args)
372− (arm 154:5
373− (cell 154:5 (bind 154:6 maybe) (bind 154:12 f))
370+ (face 154:6 maybe
374− (cast 154:15
375− (apply 154:18 unit (tvar 154:24 B))
371+ (apply 154:12 unit (tvar 154:18 A)))
376− (body 155:7
372+ (body 155:5
377− (branch 155:7
373+ (branch 155:5
378− (wing 155:10 maybe)
374+ (wing 155:8 maybe)
379− (arm 156:9 (lit 156:9 ~) (lit 156:11 ~))
375+ (arm 156:7
380− (arm 157:9
376+ (lit 156:7 ~)
381− (cell 157:9 (lit 157:10 ~) (bind 157:12 value))
377+ (group 156:9
382− (unit 157:19
378+ (call 156:10 (wing 156:10 fallback) (lit 156:19 ~))))
383− (group 157:20
379+ (arm 157:7
380+ (cell 157:7 (lit 157:8 ~) (bind 157:10 value))
384− (call 157:21 (wing 157:21 f) (wing 157:23 value)))))))))))))
381+ (wing 157:17 value))))))))
385− (value 159:1 biff
382+ (value 159:1 bind
386 (gate 159:9
383 (gate 159:9
387 (face 159:12 args
384 (face 159:12 args
388 (cell 159:17
385 (cell 159:17
389 (apply 159:18 unit (tvar 159:24 A))
386 (apply 159:18 unit (tvar 159:24 A))
390− (fn 159:27
391− (tvar 159:30 A)
387+ (fn 159:27 (tvar 159:30 A) (tvar 159:32 B))))
392− (apply 159:32 unit (tvar 159:38 B)))))
393 (body 160:3
388 (body 160:3
394 (branch 160:3
389 (branch 160:3
395 (wing 160:6 args)
390 (wing 160:6 args)
@@ -403,249 +398,246 @@
403 (arm 163:9 (lit 163:9 ~) (lit 163:11 ~))
398 (arm 163:9 (lit 163:9 ~) (lit 163:11 ~))
404 (arm 164:9
399 (arm 164:9
405 (cell 164:9 (lit 164:10 ~) (bind 164:12 value))
400 (cell 164:9 (lit 164:10 ~) (bind 164:12 value))
406− (group 164:19
401+ (unit 164:19
402+ (group 164:20
407− (call 164:20 (wing 164:20 f) (wing 164:22 value))))))))))))
403+ (call 164:21 (wing 164:21 f) (wing 164:23 value)))))))))))))
408− (value 166:1 both
404+ (value 166:1 biff
409 (gate 166:9
405 (gate 166:9
410 (face 166:12 args
406 (face 166:12 args
411 (cell 166:17
407 (cell 166:17
412 (apply 166:18 unit (tvar 166:24 A))
408 (apply 166:18 unit (tvar 166:24 A))
409+ (fn 166:27
410+ (tvar 166:30 A)
413− (apply 166:27 unit (tvar 166:33 B))))
411+ (apply 166:32 unit (tvar 166:38 B)))))
414 (body 167:3
412 (body 167:3
415 (branch 167:3
413 (branch 167:3
416 (wing 167:6 args)
414 (wing 167:6 args)
417 (arm 168:5
415 (arm 168:5
418− (cell 168:5 (bind 168:6 first) (bind 168:12 second))
416+ (cell 168:5 (bind 168:6 maybe) (bind 168:12 f))
419− (cast 168:20
417+ (cast 168:15
420− (apply 168:23 unit
418+ (apply 168:18 unit (tvar 168:24 B))
421− (cell 168:29 (tvar 168:30 A) (tvar 168:32 B)))
422 (body 169:7
419 (body 169:7
423 (branch 169:7
420 (branch 169:7
424− (wing 169:10 first)
421+ (wing 169:10 maybe)
425 (arm 170:9 (lit 170:9 ~) (lit 170:11 ~))
422 (arm 170:9 (lit 170:9 ~) (lit 170:11 ~))
426 (arm 171:9
423 (arm 171:9
427− (cell 171:9 (lit 171:10 ~) (bind 171:12 a))
424+ (cell 171:9 (lit 171:10 ~) (bind 171:12 value))
425+ (group 171:19
426+ (call 171:20 (wing 171:20 f) (wing 171:22 value))))))))))))
427+ (value 173:1 both
428+ (gate 173:9
429+ (face 173:12 args
430+ (cell 173:17
431+ (apply 173:18 unit (tvar 173:24 A))
432+ (apply 173:27 unit (tvar 173:33 B))))
433+ (body 174:3
434+ (branch 174:3
435+ (wing 174:6 args)
436+ (arm 175:5
437+ (cell 175:5 (bind 175:6 first) (bind 175:12 second))
438+ (cast 175:20
439+ (apply 175:23 unit
440+ (cell 175:29 (tvar 175:30 A) (tvar 175:32 B)))
441+ (body 176:7
442+ (branch 176:7
443+ (wing 176:10 first)
444+ (arm 177:9 (lit 177:9 ~) (lit 177:11 ~))
445+ (arm 178:9
446+ (cell 178:9 (lit 178:10 ~) (bind 178:12 a))
428− (body 172:11
447+ (body 179:11
429− (branch 172:11
448+ (branch 179:11
430− (wing 172:14 second)
449+ (wing 179:14 second)
431− (arm 173:13 (lit 173:13 ~) (lit 173:15 ~))
450+ (arm 180:13 (lit 180:13 ~) (lit 180:15 ~))
432− (arm 174:13
451+ (arm 181:13
433− (cell 174:13 (lit 174:14 ~) (bind 174:16 b))
452+ (cell 181:13 (lit 181:14 ~) (bind 181:16 b))
434− (unit 174:19
453+ (unit 181:19
435− (tuple 174:20 (wing 174:21 a) (wing 174:23 b)))))))))))))))
454+ (tuple 181:20 (wing 181:21 a) (wing 181:23 b)))))))))))))))
436− (value 176:1 clap
455+ (value 183:1 clap
437− (gate 176:9
456+ (gate 183:9
438− (face 176:12 args
457+ (face 183:12 args
439− (cell 176:17
458+ (cell 183:17
440− (apply 176:18 unit (tvar 176:24 A))
459+ (apply 183:18 unit (tvar 183:24 A))
441− (apply 176:27 unit (tvar 176:33 A))
460+ (apply 183:27 unit (tvar 183:33 A))
442− (fn 176:36
461+ (fn 183:36
443− (cell 176:39 (tvar 176:40 A) (tvar 176:42 A))
462+ (cell 183:39 (tvar 183:40 A) (tvar 183:42 A))
444− (tvar 176:45 A))))
463+ (tvar 183:45 A))))
445− (body 177:3
464+ (body 184:3
446− (branch 177:3
465+ (branch 184:3
447− (wing 177:6 args)
466+ (wing 184:6 args)
448− (arm 178:5
467+ (arm 185:5
449− (cell 178:5 (bind 178:6 first) (bind 178:12 second) (bind 178:19 combine))
468+ (cell 185:5 (bind 185:6 first) (bind 185:12 second) (bind 185:19 combine))
450− (cast 178:28
469+ (cast 185:28
451− (apply 178:31 unit (tvar 178:37 A))
470+ (apply 185:31 unit (tvar 185:37 A))
452− (body 179:7
471+ (body 186:7
453− (branch 179:7
472+ (branch 186:7
454− (wing 179:10 first)
473+ (wing 186:10 first)
455− (arm 180:9 (lit 180:9 ~) (wing 180:11 second))
474+ (arm 187:9 (lit 187:9 ~) (wing 187:11 second))
456− (arm 181:9
475+ (arm 188:9
457− (cell 181:9 (lit 181:10 ~) (bind 181:12 a))
476+ (cell 188:9 (lit 188:10 ~) (bind 188:12 a))
458− (body 182:11
477+ (body 189:11
459− (branch 182:11
478+ (branch 189:11
460− (wing 182:14 second)
479+ (wing 189:14 second)
461− (arm 183:13 (lit 183:13 ~) (wing 183:15 first))
480+ (arm 190:13 (lit 190:13 ~) (wing 190:15 first))
462− (arm 184:13
481+ (arm 191:13
463− (cell 184:13 (lit 184:14 ~) (bind 184:16 b))
482+ (cell 191:13 (lit 191:14 ~) (bind 191:16 b))
464− (unit 184:19
483+ (unit 191:19
465− (group 184:20
484+ (group 191:20
466− (call 184:21 (wing 184:21 combine) (wing 184:29 a) (wing 184:31 b))))))))))))))))
485+ (call 191:21 (wing 191:21 combine) (wing 191:29 a) (wing 191:31 b))))))))))))))))
467− (value 186:1 clef
486+ (value 193:1 clef
468− (gate 186:9
487+ (gate 193:9
469− (face 186:12 args
488+ (face 193:12 args
470− (cell 186:17
489+ (cell 193:17
471− (apply 186:18 unit (tvar 186:24 A))
490+ (apply 193:18 unit (tvar 193:24 A))
472− (apply 186:27 unit (tvar 186:33 B))
491+ (apply 193:27 unit (tvar 193:33 B))
473− (fn 186:36
492+ (fn 193:36
474− (cell 186:39 (tvar 186:40 A) (tvar 186:42 B))
493+ (cell 193:39 (tvar 193:40 A) (tvar 193:42 B))
475− (apply 186:45 unit (tvar 186:51 C)))))
494+ (apply 193:45 unit (tvar 193:51 C)))))
476− (body 187:3
495+ (body 194:3
477− (branch 187:3
496+ (branch 194:3
478− (wing 187:6 args)
497+ (wing 194:6 args)
479− (arm 188:5
498+ (arm 195:5
480− (cell 188:5 (bind 188:6 first) (bind 188:12 second) (bind 188:19 combine))
499+ (cell 195:5 (bind 195:6 first) (bind 195:12 second) (bind 195:19 combine))
481− (cast 188:28
500+ (cast 195:28
482− (apply 188:31 unit (tvar 188:37 C))
501+ (apply 195:31 unit (tvar 195:37 C))
483− (body 189:7
502+ (body 196:7
484− (branch 189:7
503+ (branch 196:7
485− (wing 189:10 first)
504+ (wing 196:10 first)
486− (arm 190:9 (lit 190:9 ~) (lit 190:11 ~))
505+ (arm 197:9 (lit 197:9 ~) (lit 197:11 ~))
487− (arm 191:9
506+ (arm 198:9
488− (cell 191:9 (lit 191:10 ~) (bind 191:12 a))
507+ (cell 198:9 (lit 198:10 ~) (bind 198:12 a))
489− (body 192:11
508+ (body 199:11
490− (branch 192:11
509+ (branch 199:11
491− (wing 192:14 second)
510+ (wing 199:14 second)
492− (arm 193:13 (lit 193:13 ~) (lit 193:15 ~))
511+ (arm 200:13 (lit 200:13 ~) (lit 200:15 ~))
493− (arm 194:13
512+ (arm 201:13
494− (cell 194:13 (lit 194:14 ~) (bind 194:16 b))
513+ (cell 201:13 (lit 201:14 ~) (bind 201:16 b))
495− (group 194:19
514+ (group 201:19
496− (call 194:20 (wing 194:20 combine) (wing 194:28 a) (wing 194:30 b)))))))))))))))
515+ (call 201:20 (wing 201:20 combine) (wing 201:28 a) (wing 201:30 b)))))))))))))))
497− (value 196:1 skim
516+ (value 203:1 skim
498− (gate 196:9
517+ (gate 203:9
499− (face 196:12 args
518+ (face 203:12 args
500− (cell 196:17
519+ (cell 203:17
501− (apply 196:18 list (tvar 196:24 A))
520+ (apply 203:18 list (tvar 203:24 A))
502− (fn 196:27 (tvar 196:30 A) (flag 196:32))))
521+ (fn 203:27 (tvar 203:30 A) (flag 203:32))))
503− (body 197:3
522+ (body 204:3
504− (branch 197:3
523+ (branch 204:3
505− (wing 197:6 args)
524+ (wing 204:6 args)
506− (arm 198:5
525+ (arm 205:5
507− (cell 198:5 (bind 198:6 xs) (bind 198:9 predicate))
526+ (cell 205:5 (bind 205:6 xs) (bind 205:9 predicate))
508− (cast 198:20
527+ (cast 205:20
509− (apply 198:23 list (tvar 198:29 A))
528+ (apply 205:23 list (tvar 205:29 A))
510− (body 199:9
529+ (body 206:9
511− (branch 199:9
530+ (branch 206:9
512− (wing 199:12 xs)
531+ (wing 206:12 xs)
513− (arm 200:11 (lit 200:11 ~) (lit 200:13 ~))
532+ (arm 207:11 (lit 207:11 ~) (lit 207:13 ~))
514− (arm 201:11
533+ (arm 208:11
515− (cell 201:11 (bind 201:12 item) (bind 201:17 rest))
534+ (cell 208:11 (bind 208:12 item) (bind 208:17 rest))
516− (body 202:13
535+ (body 209:13
517− (branch 202:13
536+ (branch 209:13
518− (group 202:16
537+ (group 209:16
519− (call 202:17 (wing 202:17 predicate) (wing 202:27 item)))
538+ (call 209:17 (wing 209:17 predicate) (wing 209:27 item)))
520− (arm 203:15
539+ (arm 210:15
521− (lit 203:15 %.y)
540+ (lit 210:15 %.y)
522− (tuple 203:19
541+ (tuple 210:19
523− (wing 203:20 item)
542+ (wing 210:20 item)
524− (group 203:25
543+ (group 210:25
525− (call 203:26 (wing 203:26 skim) (wing 203:31 rest) (wing 203:36 predicate)))))
544+ (call 210:26 (wing 210:26 skim) (wing 210:31 rest) (wing 210:36 predicate)))))
526− (arm 204:15
545+ (arm 211:15
527− (lit 204:15 %.n)
546+ (lit 211:15 %.n)
528− (group 204:19
547+ (group 211:19
529− (call 204:20 (wing 204:20 skim) (wing 204:25 rest) (wing 204:30 predicate)))))))))))))))
548+ (call 211:20 (wing 211:20 skim) (wing 211:25 rest) (wing 211:30 predicate)))))))))))))))
530− (value 206:1 skip
549+ (value 213:1 skip
531− (gate 206:9
550+ (gate 213:9
532− (face 206:12 args
551+ (face 213:12 args
533− (cell 206:17
552+ (cell 213:17
534− (apply 206:18 list (tvar 206:24 A))
553+ (apply 213:18 list (tvar 213:24 A))
535− (fn 206:27 (tvar 206:30 A) (flag 206:32))))
554+ (fn 213:27 (tvar 213:30 A) (flag 213:32))))
536− (body 207:3
555+ (body 214:3
537− (branch 207:3
556+ (branch 214:3
538− (wing 207:6 args)
557+ (wing 214:6 args)
539− (arm 208:5
558+ (arm 215:5
540− (cell 208:5 (bind 208:6 xs) (bind 208:9 predicate))
559+ (cell 215:5 (bind 215:6 xs) (bind 215:9 predicate))
541− (cast 208:20
560+ (cast 215:20
542− (apply 208:23 list (tvar 208:29 A))
561+ (apply 215:23 list (tvar 215:29 A))
543− (body 209:9
562+ (body 216:9
544− (branch 209:9
563+ (branch 216:9
545− (wing 209:12 xs)
564+ (wing 216:12 xs)
546− (arm 210:11 (lit 210:11 ~) (lit 210:13 ~))
565+ (arm 217:11 (lit 217:11 ~) (lit 217:13 ~))
547− (arm 211:11
566+ (arm 218:11
548− (cell 211:11 (bind 211:12 item) (bind 211:17 rest))
567+ (cell 218:11 (bind 218:12 item) (bind 218:17 rest))
549− (body 212:13
568+ (body 219:13
550− (branch 212:13
569+ (branch 219:13
551− (group 212:16
570+ (group 219:16
552− (call 212:17 (wing 212:17 predicate) (wing 212:27 item)))
571+ (call 219:17 (wing 219:17 predicate) (wing 219:27 item)))
553− (arm 213:15
572+ (arm 220:15
554− (lit 213:15 %.y)
573+ (lit 220:15 %.y)
555− (group 213:19
574+ (group 220:19
556− (call 213:20 (wing 213:20 skip) (wing 213:25 rest) (wing 213:30 predicate))))
575+ (call 220:20 (wing 220:20 skip) (wing 220:25 rest) (wing 220:30 predicate))))
557− (arm 214:15
576+ (arm 221:15
558− (lit 214:15 %.n)
577+ (lit 221:15 %.n)
559− (tuple 214:19
578+ (tuple 221:19
560− (wing 214:20 item)
579+ (wing 221:20 item)
561− (group 214:25
580+ (group 221:25
562− (call 214:26 (wing 214:26 skip) (wing 214:31 rest) (wing 214:36 predicate))))))))))))))))
581+ (call 221:26 (wing 221:26 skip) (wing 221:31 rest) (wing 221:36 predicate))))))))))))))))
563− (value 216:1 levy
582+ (value 223:1 levy
564− (gate 216:9
583+ (gate 223:9
565− (face 216:12 args
584+ (face 223:12 args
566− (cell 216:17
585+ (cell 223:17
567− (apply 216:18 list (tvar 216:24 A))
586+ (apply 223:18 list (tvar 223:24 A))
568− (fn 216:27 (tvar 216:30 A) (flag 216:32))))
587+ (fn 223:27 (tvar 223:30 A) (flag 223:32))))
569− (body 217:3
588+ (body 224:3
570− (cast 217:3
589+ (cast 224:3
571− (flag 217:6)
590+ (flag 224:6)
572− (body 218:5
591+ (body 225:5
573− (branch 218:5
592+ (branch 225:5
574− (wing 218:8 args)
593+ (wing 225:8 args)
575− (arm 219:7
594+ (arm 226:7
576− (cell 219:7 (bind 219:8 xs) (bind 219:11 predicate))
595+ (cell 226:7 (bind 226:8 xs) (bind 226:11 predicate))
577− (body 220:9
596+ (body 227:9
578− (branch 220:9
597+ (branch 227:9
579− (wing 220:12 xs)
598+ (wing 227:12 xs)
580− (arm 221:11 (lit 221:11 ~) (lit 221:13 %.y))
599+ (arm 228:11 (lit 228:11 ~) (lit 228:13 %.y))
581− (arm 222:11
600+ (arm 229:11
582− (cell 222:11 (bind 222:12 item) (bind 222:17 rest))
601+ (cell 229:11 (bind 229:12 item) (bind 229:17 rest))
583− (body 223:13
602+ (body 230:13
584− (branch 223:13
603+ (branch 230:13
585− (group 223:16
604+ (group 230:16
586− (call 223:17 (wing 223:17 predicate) (wing 223:27 item)))
605+ (call 230:17 (wing 230:17 predicate) (wing 230:27 item)))
587− (arm 224:15
606+ (arm 231:15
588− (lit 224:15 %.y)
607+ (lit 231:15 %.y)
589− (group 224:19
608+ (group 231:19
590− (call 224:20 (wing 224:20 levy) (wing 224:25 rest) (wing 224:30 predicate))))
609+ (call 231:20 (wing 231:20 levy) (wing 231:25 rest) (wing 231:30 predicate))))
591− (arm 225:15 (lit 225:15 %.n) (lit 225:19 %.n))))))))))))))
610+ (arm 232:15 (lit 232:15 %.n) (lit 232:19 %.n))))))))))))))
592− (value 227:1 lien
611+ (value 234:1 lien
593− (gate 227:9
612+ (gate 234:9
594− (face 227:12 args
613+ (face 234:12 args
595− (cell 227:17
614+ (cell 234:17
596− (apply 227:18 list (tvar 227:24 A))
615+ (apply 234:18 list (tvar 234:24 A))
597− (fn 227:27 (tvar 227:30 A) (flag 227:32))))
616+ (fn 234:27 (tvar 234:30 A) (flag 234:32))))
598− (body 228:3
617+ (body 235:3
599− (cast 228:3
618+ (cast 235:3
600− (flag 228:6)
619+ (flag 235:6)
601− (body 229:5
620+ (body 236:5
602− (branch 229:5
621+ (branch 236:5
603− (wing 229:8 args)
622+ (wing 236:8 args)
604− (arm 230:7
623+ (arm 237:7
605− (cell 230:7 (bind 230:8 xs) (bind 230:11 predicate))
624+ (cell 237:7 (bind 237:8 xs) (bind 237:11 predicate))
606− (body 231:9
625+ (body 238:9
607− (branch 231:9
626+ (branch 238:9
608− (wing 231:12 xs)
627+ (wing 238:12 xs)
609− (arm 232:11 (lit 232:11 ~) (lit 232:13 %.n))
628+ (arm 239:11 (lit 239:11 ~) (lit 239:13 %.n))
610− (arm 233:11
629+ (arm 240:11
611− (cell 233:11 (bind 233:12 item) (bind 233:17 rest))
630+ (cell 240:11 (bind 240:12 item) (bind 240:17 rest))
612− (body 234:13
631+ (body 241:13
613− (branch 234:13
632+ (branch 241:13
614− (group 234:16
633+ (group 241:16
615− (call 234:17 (wing 234:17 predicate) (wing 234:27 item)))
634+ (call 241:17 (wing 241:17 predicate) (wing 241:27 item)))
616− (arm 235:15 (lit 235:15 %.y) (lit 235:19 %.y))
635+ (arm 242:15 (lit 242:15 %.y) (lit 242:19 %.y))
617− (arm 236:15
636+ (arm 243:15
618− (lit 236:15 %.n)
637+ (lit 243:15 %.n)
619− (group 236:19
638+ (group 243:19
620− (call 236:20 (wing 236:20 lien) (wing 236:25 rest) (wing 236:30 predicate))))))))))))))))
639+ (call 243:20 (wing 243:20 lien) (wing 243:25 rest) (wing 243:30 predicate))))))))))))))))
621− (value 238:1 roll
622− (gate 238:9
623− (face 238:12 args
624− (cell 238:17
625− (apply 238:18 list (tvar 238:24 A))
626− (tvar 238:27 B)
627− (fn 238:29
628− (cell 238:32 (tvar 238:33 A) (tvar 238:35 B))
629− (tvar 238:38 B))))
630− (body 239:3
631− (branch 239:3
632− (wing 239:6 args)
633− (arm 240:5
634− (cell 240:5 (bind 240:6 xs) (bind 240:9 start) (bind 240:15 combine))
635− (body 241:7
636− (branch 241:7
637− (wing 241:10 xs)
638− (arm 242:9 (lit 242:9 ~) (wing 242:11 start))
639− (arm 243:9
640− (cell 243:9 (bind 243:10 item) (bind 243:15 rest))
641− (group 243:21
642− (call 243:22
643− (wing 243:22 roll)
644− (wing 243:27 rest)
645− (group 243:32
646− (call 243:33 (wing 243:33 combine) (wing 243:41 item) (wing 243:46 start)))
647− (wing 243:53 combine)))))))))))
648− (value 245:1 reel
640+ (value 245:1 roll
649 (gate 245:9
641 (gate 245:9
650 (face 245:12 args
642 (face 245:12 args
651 (cell 245:17
643 (cell 245:17
@@ -667,235 +659,273 @@
667 (cell 250:9 (bind 250:10 item) (bind 250:15 rest))
659 (cell 250:9 (bind 250:10 item) (bind 250:15 rest))
668 (group 250:21
660 (group 250:21
669 (call 250:22
661 (call 250:22
670− (wing 250:22 combine)
662+ (wing 250:22 roll)
671− (wing 250:30 item)
663+ (wing 250:27 rest)
672− (group 250:35
664+ (group 250:32
673− (call 250:36 (wing 250:36 reel) (wing 250:41 rest) (wing 250:46 start) (wing 250:52 combine)))))))))))))
665+ (call 250:33 (wing 250:33 combine) (wing 250:41 item) (wing 250:46 start)))
666+ (wing 250:53 combine)))))))))))
674− (value 252:1 flit
667+ (value 252:1 reel
675 (gate 252:9
668 (gate 252:9
676− (face 252:12 predicate
669+ (face 252:12 args
670+ (cell 252:17
671+ (apply 252:18 list (tvar 252:24 A))
672+ (tvar 252:27 B)
673+ (fn 252:29
677− (fn 252:22 (tvar 252:25 A) (flag 252:27)))
674+ (cell 252:32 (tvar 252:33 A) (tvar 252:35 B))
675+ (tvar 252:38 B))))
678 (body 253:3
676 (body 253:3
679− (gate 253:3
677+ (branch 253:3
680− (face 253:6 value (tvar 253:12 A))
678+ (wing 253:6 args)
681− (body 254:5
679+ (arm 254:5
682− (cast 254:5
680+ (cell 254:5 (bind 254:6 xs) (bind 254:9 start) (bind 254:15 combine))
683− (apply 254:8 unit (tvar 254:14 A))
684− (body 255:7
681+ (body 255:7
685− (branch 255:7
682+ (branch 255:7
686− (group 255:10
683+ (wing 255:10 xs)
687− (call 255:11 (wing 255:11 predicate) (wing 255:21 value)))
684+ (arm 256:9 (lit 256:9 ~) (wing 256:11 start))
688− (arm 256:9
685+ (arm 257:9
689− (lit 256:9 %.y)
686+ (cell 257:9 (bind 257:10 item) (bind 257:15 rest))
690− (unit 256:13 (wing 256:14 value)))
687+ (group 257:21
691− (arm 257:9 (lit 257:9 %.n) (lit 257:13 ~))))))))))
688+ (call 257:22
689+ (wing 257:22 combine)
690+ (wing 257:30 item)
691+ (group 257:35
692+ (call 257:36 (wing 257:36 reel) (wing 257:41 rest) (wing 257:46 start) (wing 257:52 combine)))))))))))))
692− (value 259:1 murn
693+ (value 259:1 flit
693 (gate 259:9
694 (gate 259:9
694− (face 259:12 args
695+ (face 259:12 predicate
695− (cell 259:17
696− (apply 259:18 list (tvar 259:24 A))
697− (fn 259:27
696+ (fn 259:22 (tvar 259:25 A) (flag 259:27)))
698− (tvar 259:30 A)
699− (apply 259:32 unit (tvar 259:38 B)))))
700 (body 260:3
697 (body 260:3
698+ (gate 260:3
699+ (face 260:6 value (tvar 260:12 A))
700+ (body 261:5
701+ (cast 261:5
702+ (apply 261:8 unit (tvar 261:14 A))
703+ (body 262:7
704+ (branch 262:7
705+ (group 262:10
706+ (call 262:11 (wing 262:11 predicate) (wing 262:21 value)))
707+ (arm 263:9
708+ (lit 263:9 %.y)
709+ (unit 263:13 (wing 263:14 value)))
710+ (arm 264:9 (lit 264:9 %.n) (lit 264:13 ~))))))))))
711+ (value 266:1 murn
712+ (gate 266:9
713+ (face 266:12 args
714+ (cell 266:17
715+ (apply 266:18 list (tvar 266:24 A))
716+ (fn 266:27
717+ (tvar 266:30 A)
718+ (apply 266:32 unit (tvar 266:38 B)))))
719+ (body 267:3
701− (branch 260:3
720+ (branch 267:3
702− (wing 260:6 args)
721+ (wing 267:6 args)
703− (arm 261:5
722+ (arm 268:5
704− (cell 261:5 (bind 261:6 xs) (bind 261:9 f))
723+ (cell 268:5 (bind 268:6 xs) (bind 268:9 f))
705− (cast 261:12
724+ (cast 268:12
706− (apply 261:15 list (tvar 261:21 B))
725+ (apply 268:15 list (tvar 268:21 B))
707− (body 262:9
726+ (body 269:9
708− (branch 262:9
727+ (branch 269:9
709− (wing 262:12 xs)
728+ (wing 269:12 xs)
710− (arm 263:11 (lit 263:11 ~) (lit 263:13 ~))
729+ (arm 270:11 (lit 270:11 ~) (lit 270:13 ~))
711− (arm 264:11
730+ (arm 271:11
712− (cell 264:11 (bind 264:12 item) (bind 264:17 rest))
731+ (cell 271:11 (bind 271:12 item) (bind 271:17 rest))
713− (body 265:13
732+ (body 272:13
714− (branch 265:13
733+ (branch 272:13
715− (group 265:16
734+ (group 272:16
716− (call 265:17 (wing 265:17 f) (wing 265:19 item)))
735+ (call 272:17 (wing 272:17 f) (wing 272:19 item)))
717− (arm 266:15
736+ (arm 273:15
718− (lit 266:15 ~)
737+ (lit 273:15 ~)
719− (group 266:17
738+ (group 273:17
720− (call 266:18 (wing 266:18 murn) (wing 266:23 rest) (wing 266:28 f))))
739+ (call 273:18 (wing 273:18 murn) (wing 273:23 rest) (wing 273:28 f))))
721− (arm 267:15
740+ (arm 274:15
722− (cell 267:15 (lit 267:16 ~) (bind 267:18 value))
741+ (cell 274:15 (lit 274:16 ~) (bind 274:18 value))
723− (tuple 267:25
742+ (tuple 274:25
724− (wing 267:26 value)
743+ (wing 274:26 value)
725− (group 267:32
744+ (group 274:32
726− (call 267:33 (wing 267:33 murn) (wing 267:38 rest) (wing 267:43 f))))))))))))))))
745+ (call 274:33 (wing 274:33 murn) (wing 274:38 rest) (wing 274:43 f))))))))))))))))
727− (value 269:1 join
746+ (value 276:1 join
728− (gate 269:9
747+ (gate 276:9
729− (face 269:12 args
748+ (face 276:12 args
730− (cell 269:17
749+ (cell 276:17
731− (tvar 269:18 A)
750+ (tvar 276:18 A)
732− (apply 269:20 list (tvar 269:26 A))))
751+ (apply 276:20 list (tvar 276:26 A))))
733− (body 270:3
752+ (body 277:3
734− (branch 270:3
753+ (branch 277:3
735− (wing 270:6 args)
754+ (wing 277:6 args)
736− (arm 271:5
755+ (arm 278:5
737− (cell 271:5 (bind 271:6 separator) (bind 271:16 xs))
756+ (cell 278:5 (bind 278:6 separator) (bind 278:16 xs))
738− (cast 271:20
757+ (cast 278:20
739− (apply 271:23 list (tvar 271:29 A))
758+ (apply 278:23 list (tvar 278:29 A))
740− (body 272:9
759+ (body 279:9
741− (branch 272:9
760+ (branch 279:9
742− (wing 272:12 xs)
761+ (wing 279:12 xs)
743− (arm 273:11 (lit 273:11 ~) (lit 273:13 ~))
762+ (arm 280:11 (lit 280:11 ~) (lit 280:13 ~))
744− (arm 274:11
763+ (arm 281:11
745− (cell 274:11 (bind 274:12 item) (bind 274:17 rest))
764+ (cell 281:11 (bind 281:12 item) (bind 281:17 rest))
746− (body 275:13
765+ (body 282:13
747− (branch 275:13
766+ (branch 282:13
748− (wing 275:16 rest)
767+ (wing 282:16 rest)
749− (arm 276:15
768+ (arm 283:15
750− (lit 276:15 ~)
769+ (lit 283:15 ~)
751− (tuple 276:17 (wing 276:18 item) (lit 276:23 ~)))
770+ (tuple 283:17 (wing 283:18 item) (lit 283:23 ~)))
752− (arm 277:15
771+ (arm 284:15
753− (cell 277:15 (bind 277:16 next) (bind 277:21 more))
772+ (cell 284:15 (bind 284:16 next) (bind 284:21 more))
754− (tuple 277:27
773+ (tuple 284:27
755− (wing 277:28 item)
774+ (wing 284:28 item)
756− (tuple 277:33
775+ (tuple 284:33
757− (wing 277:34 separator)
776+ (wing 284:34 separator)
758− (group 277:44
777+ (group 284:44
759− (call 277:45 (wing 277:45 join) (wing 277:50 separator) (wing 277:60 rest)))))))))))))))))
778+ (call 284:45 (wing 284:45 join) (wing 284:50 separator) (wing 284:60 rest)))))))))))))))))
760− (value 279:1 snip
779+ (value 286:1 snip
761− (gate 279:9
780+ (gate 286:9
762− (face 279:12 xs
781+ (face 286:12 xs
763− (apply 279:15 list (tvar 279:21 A)))
782+ (apply 286:15 list (tvar 286:21 A)))
764− (body 280:3
783+ (body 287:3
765− (cast 280:3
784+ (cast 287:3
766− (apply 280:6 list (tvar 280:12 A))
785+ (apply 287:6 list (tvar 287:12 A))
767− (body 281:5
786+ (body 288:5
768− (branch 281:5
787+ (branch 288:5
769− (wing 281:8 xs)
788+ (wing 288:8 xs)
770− (arm 282:7 (lit 282:7 ~) (lit 282:9 ~))
789+ (arm 289:7 (lit 289:7 ~) (lit 289:9 ~))
771− (arm 283:7
790+ (arm 290:7
772− (cell 283:7 (bind 283:8 item) (bind 283:13 rest))
791+ (cell 290:7 (bind 290:8 item) (bind 290:13 rest))
773− (body 284:9
792+ (body 291:9
774− (branch 284:9
793+ (branch 291:9
775− (wing 284:12 rest)
794+ (wing 291:12 rest)
776− (arm 285:11 (lit 285:11 ~) (lit 285:13 ~))
795+ (arm 292:11 (lit 292:11 ~) (lit 292:13 ~))
777− (arm 286:11
796+ (arm 293:11
778− (cell 286:11 (bind 286:12 next) (bind 286:17 more))
797+ (cell 293:11 (bind 293:12 next) (bind 293:17 more))
779− (tuple 286:23
798+ (tuple 293:23
780− (wing 286:24 item)
799+ (wing 293:24 item)
781− (group 286:29
800+ (group 293:29
782− (call 286:30 (wing 286:30 snip) (wing 286:35 rest))))))))))))))
801+ (call 293:30 (wing 293:30 snip) (wing 293:35 rest))))))))))))))
783− (value 288:1 rear
802+ (value 295:1 rear
784− (gate 288:9
803+ (gate 295:9
785− (face 288:12 xs
804+ (face 295:12 xs
786− (apply 288:15 list (tvar 288:21 A)))
805+ (apply 295:15 list (tvar 295:21 A)))
787− (body 289:3
806+ (body 296:3
788− (branch 289:3
807+ (branch 296:3
789− (wing 289:6 xs)
808+ (wing 296:6 xs)
790− (arm 290:5 (lit 290:5 ~) (crash 290:7))
809+ (arm 297:5 (lit 297:5 ~) (crash 297:7))
791− (arm 291:5
792− (cell 291:5 (bind 291:6 item) (bind 291:11 rest))
793− (body 292:7
794− (branch 292:7
795− (wing 292:10 rest)
796− (arm 293:9 (lit 293:9 ~) (wing 293:11 item))
797− (arm 294:9
798− (cell 294:9 (bind 294:10 next) (bind 294:15 more))
799− (group 294:21
800− (call 294:22 (wing 294:22 rear) (wing 294:27 rest)))))))))))
801− (value 296:1 cork
802− (gate 296:9
803− (face 296:12 gates
804− (cell 296:18
805− (fn 296:19 (tvar 296:22 A) (tvar 296:24 B))
806− (fn 296:27 (tvar 296:30 B) (tvar 296:32 C))))
807− (body 297:3
808− (branch 297:3
809− (wing 297:6 gates)
810 (arm 298:5
810 (arm 298:5
811− (cell 298:5 (bind 298:6 f) (bind 298:8 g))
811+ (cell 298:5 (bind 298:6 item) (bind 298:11 rest))
812+ (body 299:7
813+ (branch 299:7
814+ (wing 299:10 rest)
815+ (arm 300:9 (lit 300:9 ~) (wing 300:11 item))
816+ (arm 301:9
817+ (cell 301:9 (bind 301:10 next) (bind 301:15 more))
818+ (group 301:21
819+ (call 301:22 (wing 301:22 rear) (wing 301:27 rest)))))))))))
820+ (value 303:1 cork
821+ (gate 303:9
822+ (face 303:12 gates
823+ (cell 303:18
824+ (fn 303:19 (tvar 303:22 A) (tvar 303:24 B))
825+ (fn 303:27 (tvar 303:30 B) (tvar 303:32 C))))
826+ (body 304:3
827+ (branch 304:3
828+ (wing 304:6 gates)
829+ (arm 305:5
830+ (cell 305:5 (bind 305:6 f) (bind 305:8 g))
812− (gate 298:11
831+ (gate 305:11
813− (face 298:14 x (tvar 298:16 A))
832+ (face 305:14 x (tvar 305:16 A))
814− (group 298:18
833+ (group 305:18
815− (call 298:19
834+ (call 305:19
816− (wing 298:19 g)
835+ (wing 305:19 g)
817− (group 298:21
836+ (group 305:21
818− (call 298:22 (wing 298:22 f) (wing 298:24 x)))))))))))
837+ (call 305:22 (wing 305:22 f) (wing 305:24 x)))))))))))
819− (value 300:1 corl
838+ (value 307:1 corl
820− (gate 300:9
839+ (gate 307:9
821− (face 300:12 gates
840+ (face 307:12 gates
822− (cell 300:18
841+ (cell 307:18
823− (fn 300:19 (tvar 300:22 B) (tvar 300:24 C))
842+ (fn 307:19 (tvar 307:22 B) (tvar 307:24 C))
824− (fn 300:27 (tvar 300:30 A) (tvar 300:32 B))))
843+ (fn 307:27 (tvar 307:30 A) (tvar 307:32 B))))
825− (body 301:3
844+ (body 308:3
826− (branch 301:3
845+ (branch 308:3
827− (wing 301:6 gates)
846+ (wing 308:6 gates)
828− (arm 302:5
847+ (arm 309:5
829− (cell 302:5 (bind 302:6 f) (bind 302:8 g))
848+ (cell 309:5 (bind 309:6 f) (bind 309:8 g))
830− (gate 302:11
849+ (gate 309:11
831− (face 302:14 x (tvar 302:16 A))
850+ (face 309:14 x (tvar 309:16 A))
832− (group 302:18
851+ (group 309:18
833− (call 302:19
852+ (call 309:19
834− (wing 302:19 f)
853+ (wing 309:19 f)
835− (group 302:21
854+ (group 309:21
836− (call 302:22 (wing 302:22 g) (wing 302:24 x)))))))))))
855+ (call 309:22 (wing 309:22 g) (wing 309:24 x)))))))))))
837− (value 304:1 cury
856+ (value 311:1 cury
838− (gate 304:9
857+ (gate 311:9
839− (face 304:12 args
858+ (face 311:12 args
840− (cell 304:17
859+ (cell 311:17
841− (fn 304:18
860+ (fn 311:18
842− (cell 304:21 (tvar 304:22 A) (tvar 304:24 B))
861+ (cell 311:21 (tvar 311:22 A) (tvar 311:24 B))
843− (tvar 304:27 C))
862+ (tvar 311:27 C))
844− (tvar 304:30 A)))
863+ (tvar 311:30 A)))
845− (body 305:3
864+ (body 312:3
846− (branch 305:3
865+ (branch 312:3
847− (wing 305:6 args)
866+ (wing 312:6 args)
848− (arm 306:5
867+ (arm 313:5
849− (cell 306:5 (bind 306:6 f) (bind 306:8 a))
868+ (cell 313:5 (bind 313:6 f) (bind 313:8 a))
850− (gate 306:11
869+ (gate 313:11
851− (face 306:14 b (tvar 306:16 B))
870+ (face 313:14 b (tvar 313:16 B))
852− (group 306:18
871+ (group 313:18
853− (call 306:19 (wing 306:19 f) (wing 306:21 a) (wing 306:23 b)))))))))
872+ (call 313:19 (wing 313:19 f) (wing 313:21 a) (wing 313:23 b)))))))))
854− (value 308:1 curr
873+ (value 315:1 curr
855− (gate 308:9
874+ (gate 315:9
856− (face 308:12 args
875+ (face 315:12 args
857− (cell 308:17
876+ (cell 315:17
858− (fn 308:18
877+ (fn 315:18
859− (cell 308:21 (tvar 308:22 A) (tvar 308:24 B))
878+ (cell 315:21 (tvar 315:22 A) (tvar 315:24 B))
860− (tvar 308:27 C))
879+ (tvar 315:27 C))
861− (tvar 308:30 B)))
880+ (tvar 315:30 B)))
862− (body 309:3
881+ (body 316:3
863− (branch 309:3
882+ (branch 316:3
864− (wing 309:6 args)
883+ (wing 316:6 args)
865− (arm 310:5
884+ (arm 317:5
866− (cell 310:5 (bind 310:6 f) (bind 310:8 b))
885+ (cell 317:5 (bind 317:6 f) (bind 317:8 b))
867− (gate 310:11
886+ (gate 317:11
868− (face 310:14 a (tvar 310:16 A))
887+ (face 317:14 a (tvar 317:16 A))
869− (group 310:18
888+ (group 317:18
870− (call 310:19 (wing 310:19 f) (wing 310:21 a) (wing 310:23 b)))))))))
889+ (call 317:19 (wing 317:19 f) (wing 317:21 a) (wing 317:23 b)))))))))
871− (mold 312:1 cmd
890+ (mold 319:1 cmd
872− (generic 312:8 M
891+ (generic 319:8 M
873− (union 313:3
892+ (union 320:3
874− (cell 313:3
893+ (cell 320:3
875− (const 313:4 %poke)
894+ (const 320:4 %poke)
876− (face 313:10 p (ref 313:12 poke))
895+ (face 320:10 p (ref 320:12 poke))
877− (face 313:17 reply
896+ (face 320:17 reply
878− (fn 313:23
897+ (fn 320:23
879− (apply 313:26 unit (aura 313:32 @t))
898+ (apply 320:26 unit (aura 320:32 @t))
880− (tvar 313:36 M))))
899+ (tvar 320:36 M))))
881− (cell 314:3
900+ (cell 321:3
882− (const 314:4 %go)
901+ (const 321:4 %go)
883− (face 314:8 url (aura 314:12 @t)))
902+ (face 321:8 url (aura 321:12 @t)))
884− (cell 315:3
903+ (cell 322:3
885− (const 315:4 %wait)
904+ (const 322:4 %wait)
886− (face 315:10 gap (aura 315:14 @dr))
905+ (face 322:10 gap (aura 322:14 @dr))
887− (face 315:18 msg (tvar 315:22 M)))
906+ (face 322:18 msg (tvar 322:22 M)))
888− (cell 316:3
907+ (cell 323:3
889− (const 316:4 %now)
908+ (const 323:4 %now)
890− (face 316:9 reply
909+ (face 323:9 reply
891− (fn 316:15 (aura 316:18 @da) (tvar 316:22 M))))
910+ (fn 323:15 (aura 323:18 @da) (tvar 323:22 M))))
892− (cell 317:3
911+ (cell 324:3
893− (const 317:4 %who)
912+ (const 324:4 %who)
894− (face 317:9 reply
913+ (face 324:9 reply
895− (fn 317:15 (aura 317:18 @p) (tvar 317:21 M)))))))
914+ (fn 324:15 (aura 324:18 @p) (tvar 324:21 M)))))))
896− (value 319:1 gth
915+ (value 326:1 gth
897− (gate 319:8
916+ (gate 326:8
898− (face 319:11 args
917+ (face 326:11 args
899− (cell 319:16 (tvar 319:17 A) (tvar 319:19 A)))
918+ (cell 326:16 (tvar 326:17 A) (tvar 326:19 A)))
900− (group 319:22
919+ (group 326:22
901− (call 319:23 (wing 319:23 gth-atom.internal) (wing 319:41 args))))))
920+ (call 326:23 (wing 326:23 gth-atom.internal) (wing 326:41 args)))))
921+ (value 327:1 add
922+ (gate 327:8
923+ (face 327:11 args
924+ (cell 327:16 (tvar 327:17 A) (tvar 327:19 A)))
925+ (group 327:22
926+ (call 327:23 (wing 327:23 add-atom.internal) (wing 327:41 args)))))
927+ (value 328:1 dec
928+ (gate 328:8
929+ (face 328:11 atom (tvar 328:16 A))
930+ (group 328:18
931+ (call 328:19 (wing 328:19 dec-atom.internal) (wing 328:37 atom))))))
tests/golden/prelude-unit-list-transforms/types.txt+4
@@ -1,5 +1,6 @@
1partial inference; module not checked
1partial inference; module not checked
2+$ poke: not checked
2+$ poke: not checked
3++$ qath: not checked
3++ same: $-(A A)
4++ same: $-(A A)
4++ head: $-([A B] A)
5++ head: $-([A B] A)
5++ tail: $-([A B] B)
6++ tail: $-([A B] B)
@@ -41,6 +42,7 @@ partial inference; module not checked
41++ snoc: sample mold is not supported by partial inference
42++ snoc: sample mold is not supported by partial inference
42++ flop: sample mold is not supported by partial inference
43++ flop: sample mold is not supported by partial inference
43++ drop: cast mold is not supported by partial inference
44++ drop: cast mold is not supported by partial inference
45+++ bond: $-($-(~ A) $-((unit A) A))
44++ bind: unit construction needs the standard prelude in partial inference
46++ bind: unit construction needs the standard prelude in partial inference
45++ biff: $-([(unit A) $-(A (unit B))] (unit B))
47++ biff: $-([(unit A) $-(A (unit B))] (unit B))
46++ both: unit construction needs the standard prelude in partial inference
48++ both: unit construction needs the standard prelude in partial inference
@@ -63,3 +65,5 @@ partial inference; module not checked
63++ curr: $-([$-([A B] C) B] $-(A C))
65++ curr: $-([$-([A B] C) B] $-(A C))
64+$ cmd: cases proven disjoint; mold not checked
66+$ cmd: cases proven disjoint; mold not checked
65++ gth: field access is not supported by partial inference
67++ gth: field access is not supported by partial inference
68+++ add: field access is not supported by partial inference
69+++ dec: field access is not supported by partial inference
tests/golden/types-arithmetic-combined/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: docs/spec/grammar.md, Molds, Atoms: "Arithmetic rejects loobean operands: `?` contains only 0 and 1, while an arithmetic result need not."
2+tests: Both inc operand orders retain non-loobean restrictions through aliases, concrete and generic holes, numeric defaulting, pending tags and @/? boundary checks.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-arithmetic-combined/modules.txtnew file+1
@@ -0,0 +1 @@
1+# Opt in to the actual source-backed prelude.
tests/golden/types-arithmetic-combined/source.jibbnew file+56
@@ -0,0 +1,56 @@
1+++ inc |= n=A (add n 1)
2+++ inc-reverse |= n=A (add 1 n)
3+++ inc-decimal ^- @ud (inc 2)
4+++ inc-hex ^- @ux (inc 0x2)
5+++ reverse-decimal ^- @ud (inc-reverse 2)
6+++ reverse-hex ^- @ux (inc-reverse 0x2)
7+++ default (add 1 2)
8+++ decrease-decimal ^- @ud (dec 2)
9+++ decrease-hex ^- @ux (dec 0x2)
10+++ bool-add (add %.n %.n)
11+++ bool-dec (dec %.n)
12+++ bool-reverse (add 1 %.y)
13+++ bool-inc (inc %.y)
14+++ bool-gate |= x=? (inc x)
15+++ bool-result ^- ? (add 1 1)
16+++ compare-bool (gth %.n %.y)
17+++ mixed (add ~zod "hi")
18+++ cells (add [1 2] [3 4])
19+++ distinct |= [a=A b=B] (add a b)
20+++ shared |= [a=A b=A] (add a b)
21+++ capture |= n=A
22+ ++ inner |= x=A (add n 1)
23+ (inner n)
24+++ nested |= n=A |= x=A (add n 1)
25+++ unrelated
26+ ~& %dangling
27+ (add 1 2)
28+++ identity |= x=A x
29+++ identity-bool (identity %.y)
30+++ alias-inc inc
31+++ alias-decimal ^- @ud (alias-inc 2)
32+++ alias-hex ^- @ux (alias-inc 0x2)
33+++ alias-bool (alias-inc %.y)
34+++ explicit-loobean-result |= n=A ^- ? (add n 1)
35+++ any-then-bool |= [x=@ b=?] (add x b)
36+++ bool-then-any |= [b=? x=@] (add b x)
37+++ any-dec |= x=@ (dec x)
38+++ any-plus-number |= x=@ (add x 1)
39+++ number-plus-any |= x=@ (add 1 x)
40+++ any-self |= x=@ (add x x)
41+++ hole-concrete |= n=_ ^- @ud (add n 1)
42+++ hole-written |= n=A ^- _ (add n 1)
43+++ hole-unresolved |= n=_ (add n 1)
44+++ standalone (add 1 2)
45+++ discarded-number
46+ ~& 2
47+ (add 1 2)
48+++ numeric-capture |= x
49+ ++ inner (add x 1)
50+ ^- @ux x
51+++ numeric-capture-reversed |= x
52+ ++ inner (add 1 x)
53+ ^- @ux x
54+++ bound-later |= x=A
55+ ++ inner (add x 1)
56+ x
tests/golden/types-arithmetic-combined/tokens.txtnew file+511
@@ -0,0 +1,511 @@
1+1:1 glyph ++
2+1:4 name inc
3+1:8 glyph |=
4+1:11 name n
5+1:12 tight glyph =
6+1:13 tight tvar A
7+1:15 glyph (
8+1:16 tight name add
9+1:20 name n
10+1:22 lit 1
11+1:23 tight glyph )
12+2:1 NEWLINE
13+2:1 glyph ++
14+2:4 name inc-reverse
15+2:16 glyph |=
16+2:19 name n
17+2:20 tight glyph =
18+2:21 tight tvar A
19+2:23 glyph (
20+2:24 tight name add
21+2:28 lit 1
22+2:30 name n
23+2:31 tight glyph )
24+3:1 NEWLINE
25+3:1 glyph ++
26+3:4 name inc-decimal
27+3:16 glyph ^-
28+3:19 aura @ud
29+3:23 glyph (
30+3:24 tight name inc
31+3:28 lit 2
32+3:29 tight glyph )
33+4:1 NEWLINE
34+4:1 glyph ++
35+4:4 name inc-hex
36+4:12 glyph ^-
37+4:15 aura @ux
38+4:19 glyph (
39+4:20 tight name inc
40+4:24 lit 0x2
41+4:27 tight glyph )
42+5:1 NEWLINE
43+5:1 glyph ++
44+5:4 name reverse-decimal
45+5:20 glyph ^-
46+5:23 aura @ud
47+5:27 glyph (
48+5:28 tight name inc-reverse
49+5:40 lit 2
50+5:41 tight glyph )
51+6:1 NEWLINE
52+6:1 glyph ++
53+6:4 name reverse-hex
54+6:16 glyph ^-
55+6:19 aura @ux
56+6:23 glyph (
57+6:24 tight name inc-reverse
58+6:36 lit 0x2
59+6:39 tight glyph )
60+7:1 NEWLINE
61+7:1 glyph ++
62+7:4 name default
63+7:12 glyph (
64+7:13 tight name add
65+7:17 lit 1
66+7:19 lit 2
67+7:20 tight glyph )
68+8:1 NEWLINE
69+8:1 glyph ++
70+8:4 name decrease-decimal
71+8:21 glyph ^-
72+8:24 aura @ud
73+8:28 glyph (
74+8:29 tight name dec
75+8:33 lit 2
76+8:34 tight glyph )
77+9:1 NEWLINE
78+9:1 glyph ++
79+9:4 name decrease-hex
80+9:17 glyph ^-
81+9:20 aura @ux
82+9:24 glyph (
83+9:25 tight name dec
84+9:29 lit 0x2
85+9:32 tight glyph )
86+10:1 NEWLINE
87+10:1 glyph ++
88+10:4 name bool-add
89+10:13 glyph (
90+10:14 tight name add
91+10:18 lit %.n
92+10:22 lit %.n
93+10:25 tight glyph )
94+11:1 NEWLINE
95+11:1 glyph ++
96+11:4 name bool-dec
97+11:13 glyph (
98+11:14 tight name dec
99+11:18 lit %.n
100+11:21 tight glyph )
101+12:1 NEWLINE
102+12:1 glyph ++
103+12:4 name bool-reverse
104+12:17 glyph (
105+12:18 tight name add
106+12:22 lit 1
107+12:24 lit %.y
108+12:27 tight glyph )
109+13:1 NEWLINE
110+13:1 glyph ++
111+13:4 name bool-inc
112+13:13 glyph (
113+13:14 tight name inc
114+13:18 lit %.y
115+13:21 tight glyph )
116+14:1 NEWLINE
117+14:1 glyph ++
118+14:4 name bool-gate
119+14:14 glyph |=
120+14:17 name x
121+14:18 tight glyph =
122+14:19 tight glyph ?
123+14:21 glyph (
124+14:22 tight name inc
125+14:26 name x
126+14:27 tight glyph )
127+15:1 NEWLINE
128+15:1 glyph ++
129+15:4 name bool-result
130+15:16 glyph ^-
131+15:19 glyph ?
132+15:21 glyph (
133+15:22 tight name add
134+15:26 lit 1
135+15:28 lit 1
136+15:29 tight glyph )
137+16:1 NEWLINE
138+16:1 glyph ++
139+16:4 name compare-bool
140+16:17 glyph (
141+16:18 tight name gth
142+16:22 lit %.n
143+16:26 lit %.y
144+16:29 tight glyph )
145+17:1 NEWLINE
146+17:1 glyph ++
147+17:4 name mixed
148+17:10 glyph (
149+17:11 tight name add
150+17:15 lit ~zod
151+17:20 str "hi"
152+17:24 tight glyph )
153+18:1 NEWLINE
154+18:1 glyph ++
155+18:4 name cells
156+18:10 glyph (
157+18:11 tight name add
158+18:15 glyph [
159+18:16 tight lit 1
160+18:18 lit 2
161+18:19 tight glyph ]
162+18:21 glyph [
163+18:22 tight lit 3
164+18:24 lit 4
165+18:25 tight glyph ]
166+18:26 tight glyph )
167+19:1 NEWLINE
168+19:1 glyph ++
169+19:4 name distinct
170+19:13 glyph |=
171+19:16 glyph [
172+19:17 tight name a
173+19:18 tight glyph =
174+19:19 tight tvar A
175+19:21 name b
176+19:22 tight glyph =
177+19:23 tight tvar B
178+19:24 tight glyph ]
179+19:26 glyph (
180+19:27 tight name add
181+19:31 name a
182+19:33 name b
183+19:34 tight glyph )
184+20:1 NEWLINE
185+20:1 glyph ++
186+20:4 name shared
187+20:11 glyph |=
188+20:14 glyph [
189+20:15 tight name a
190+20:16 tight glyph =
191+20:17 tight tvar A
192+20:19 name b
193+20:20 tight glyph =
194+20:21 tight tvar A
195+20:22 tight glyph ]
196+20:24 glyph (
197+20:25 tight name add
198+20:29 name a
199+20:31 name b
200+20:32 tight glyph )
201+21:1 NEWLINE
202+21:1 glyph ++
203+21:4 name capture
204+21:12 glyph |=
205+21:15 name n
206+21:16 tight glyph =
207+21:17 tight tvar A
208+22:3 INDENT
209+22:3 glyph ++
210+22:6 name inner
211+22:12 glyph |=
212+22:15 name x
213+22:16 tight glyph =
214+22:17 tight tvar A
215+22:19 glyph (
216+22:20 tight name add
217+22:24 name n
218+22:26 lit 1
219+22:27 tight glyph )
220+23:3 NEWLINE
221+23:3 glyph (
222+23:4 tight name inner
223+23:10 name n
224+23:11 tight glyph )
225+24:1 DEDENT
226+24:1 NEWLINE
227+24:1 glyph ++
228+24:4 name nested
229+24:11 glyph |=
230+24:14 name n
231+24:15 tight glyph =
232+24:16 tight tvar A
233+24:18 glyph |=
234+24:21 name x
235+24:22 tight glyph =
236+24:23 tight tvar A
237+24:25 glyph (
238+24:26 tight name add
239+24:30 name n
240+24:32 lit 1
241+24:33 tight glyph )
242+25:1 NEWLINE
243+25:1 glyph ++
244+25:4 name unrelated
245+26:3 INDENT
246+26:3 glyph ~&
247+26:6 lit %dangling
248+27:5 INDENT
249+27:5 glyph (
250+27:6 tight name add
251+27:10 lit 1
252+27:12 lit 2
253+27:13 tight glyph )
254+28:1 DEDENT
255+28:1 DEDENT
256+28:1 NEWLINE
257+28:1 glyph ++
258+28:4 name identity
259+28:13 glyph |=
260+28:16 name x
261+28:17 tight glyph =
262+28:18 tight tvar A
263+28:20 name x
264+29:1 NEWLINE
265+29:1 glyph ++
266+29:4 name identity-bool
267+29:18 glyph (
268+29:19 tight name identity
269+29:28 lit %.y
270+29:31 tight glyph )
271+30:1 NEWLINE
272+30:1 glyph ++
273+30:4 name alias-inc
274+30:14 name inc
275+31:1 NEWLINE
276+31:1 glyph ++
277+31:4 name alias-decimal
278+31:18 glyph ^-
279+31:21 aura @ud
280+31:25 glyph (
281+31:26 tight name alias-inc
282+31:36 lit 2
283+31:37 tight glyph )
284+32:1 NEWLINE
285+32:1 glyph ++
286+32:4 name alias-hex
287+32:14 glyph ^-
288+32:17 aura @ux
289+32:21 glyph (
290+32:22 tight name alias-inc
291+32:32 lit 0x2
292+32:35 tight glyph )
293+33:1 NEWLINE
294+33:1 glyph ++
295+33:4 name alias-bool
296+33:15 glyph (
297+33:16 tight name alias-inc
298+33:26 lit %.y
299+33:29 tight glyph )
300+34:1 NEWLINE
301+34:1 glyph ++
302+34:4 name explicit-loobean-result
303+34:28 glyph |=
304+34:31 name n
305+34:32 tight glyph =
306+34:33 tight tvar A
307+34:35 glyph ^-
308+34:38 glyph ?
309+34:40 glyph (
310+34:41 tight name add
311+34:45 name n
312+34:47 lit 1
313+34:48 tight glyph )
314+35:1 NEWLINE
315+35:1 glyph ++
316+35:4 name any-then-bool
317+35:18 glyph |=
318+35:21 glyph [
319+35:22 tight name x
320+35:23 tight glyph =
321+35:24 tight aura @
322+35:26 name b
323+35:27 tight glyph =
324+35:28 tight glyph ?
325+35:29 tight glyph ]
326+35:31 glyph (
327+35:32 tight name add
328+35:36 name x
329+35:38 name b
330+35:39 tight glyph )
331+36:1 NEWLINE
332+36:1 glyph ++
333+36:4 name bool-then-any
334+36:18 glyph |=
335+36:21 glyph [
336+36:22 tight name b
337+36:23 tight glyph =
338+36:24 tight glyph ?
339+36:26 name x
340+36:27 tight glyph =
341+36:28 tight aura @
342+36:29 tight glyph ]
343+36:31 glyph (
344+36:32 tight name add
345+36:36 name b
346+36:38 name x
347+36:39 tight glyph )
348+37:1 NEWLINE
349+37:1 glyph ++
350+37:4 name any-dec
351+37:12 glyph |=
352+37:15 name x
353+37:16 tight glyph =
354+37:17 tight aura @
355+37:19 glyph (
356+37:20 tight name dec
357+37:24 name x
358+37:25 tight glyph )
359+38:1 NEWLINE
360+38:1 glyph ++
361+38:4 name any-plus-number
362+38:20 glyph |=
363+38:23 name x
364+38:24 tight glyph =
365+38:25 tight aura @
366+38:27 glyph (
367+38:28 tight name add
368+38:32 name x
369+38:34 lit 1
370+38:35 tight glyph )
371+39:1 NEWLINE
372+39:1 glyph ++
373+39:4 name number-plus-any
374+39:20 glyph |=
375+39:23 name x
376+39:24 tight glyph =
377+39:25 tight aura @
378+39:27 glyph (
379+39:28 tight name add
380+39:32 lit 1
381+39:34 name x
382+39:35 tight glyph )
383+40:1 NEWLINE
384+40:1 glyph ++
385+40:4 name any-self
386+40:13 glyph |=
387+40:16 name x
388+40:17 tight glyph =
389+40:18 tight aura @
390+40:20 glyph (
391+40:21 tight name add
392+40:25 name x
393+40:27 name x
394+40:28 tight glyph )
395+41:1 NEWLINE
396+41:1 glyph ++
397+41:4 name hole-concrete
398+41:18 glyph |=
399+41:21 name n
400+41:22 tight glyph =
401+41:23 tight glyph _
402+41:25 glyph ^-
403+41:28 aura @ud
404+41:32 glyph (
405+41:33 tight name add
406+41:37 name n
407+41:39 lit 1
408+41:40 tight glyph )
409+42:1 NEWLINE
410+42:1 glyph ++
411+42:4 name hole-written
412+42:17 glyph |=
413+42:20 name n
414+42:21 tight glyph =
415+42:22 tight tvar A
416+42:24 glyph ^-
417+42:27 glyph _
418+42:29 glyph (
419+42:30 tight name add
420+42:34 name n
421+42:36 lit 1
422+42:37 tight glyph )
423+43:1 NEWLINE
424+43:1 glyph ++
425+43:4 name hole-unresolved
426+43:20 glyph |=
427+43:23 name n
428+43:24 tight glyph =
429+43:25 tight glyph _
430+43:27 glyph (
431+43:28 tight name add
432+43:32 name n
433+43:34 lit 1
434+43:35 tight glyph )
435+44:1 NEWLINE
436+44:1 glyph ++
437+44:4 name standalone
438+44:15 glyph (
439+44:16 tight name add
440+44:20 lit 1
441+44:22 lit 2
442+44:23 tight glyph )
443+45:1 NEWLINE
444+45:1 glyph ++
445+45:4 name discarded-number
446+46:3 INDENT
447+46:3 glyph ~&
448+46:6 lit 2
449+47:5 INDENT
450+47:5 glyph (
451+47:6 tight name add
452+47:10 lit 1
453+47:12 lit 2
454+47:13 tight glyph )
455+48:1 DEDENT
456+48:1 DEDENT
457+48:1 NEWLINE
458+48:1 glyph ++
459+48:4 name numeric-capture
460+48:20 glyph |=
461+48:23 name x
462+49:3 INDENT
463+49:3 glyph ++
464+49:6 name inner
465+49:12 glyph (
466+49:13 tight name add
467+49:17 name x
468+49:19 lit 1
469+49:20 tight glyph )
470+50:3 NEWLINE
471+50:3 glyph ^-
472+50:6 aura @ux
473+50:10 name x
474+51:1 DEDENT
475+51:1 NEWLINE
476+51:1 glyph ++
477+51:4 name numeric-capture-reversed
478+51:29 glyph |=
479+51:32 name x
480+52:3 INDENT
481+52:3 glyph ++
482+52:6 name inner
483+52:12 glyph (
484+52:13 tight name add
485+52:17 lit 1
486+52:19 name x
487+52:20 tight glyph )
488+53:3 NEWLINE
489+53:3 glyph ^-
490+53:6 aura @ux
491+53:10 name x
492+54:1 DEDENT
493+54:1 NEWLINE
494+54:1 glyph ++
495+54:4 name bound-later
496+54:16 glyph |=
497+54:19 name x
498+54:20 tight glyph =
499+54:21 tight tvar A
500+55:3 INDENT
501+55:3 glyph ++
502+55:6 name inner
503+55:12 glyph (
504+55:13 tight name add
505+55:17 name x
506+55:19 lit 1
507+55:20 tight glyph )
508+56:3 NEWLINE
509+56:3 name x
510+56:4 DEDENT
511+56:4 NEWLINE
tests/golden/types-arithmetic-combined/tree.txtnew file+232
@@ -0,0 +1,232 @@
1+(module
2+ (value 1:1 inc
3+ (gate 1:8
4+ (face 1:11 n (tvar 1:13 A))
5+ (group 1:15
6+ (call 1:16 (wing 1:16 add) (wing 1:20 n) (lit 1:22 1)))))
7+ (value 2:1 inc-reverse
8+ (gate 2:16
9+ (face 2:19 n (tvar 2:21 A))
10+ (group 2:23
11+ (call 2:24 (wing 2:24 add) (lit 2:28 1) (wing 2:30 n)))))
12+ (value 3:1 inc-decimal
13+ (cast 3:16
14+ (aura 3:19 @ud)
15+ (group 3:23
16+ (call 3:24 (wing 3:24 inc) (lit 3:28 2)))))
17+ (value 4:1 inc-hex
18+ (cast 4:12
19+ (aura 4:15 @ux)
20+ (group 4:19
21+ (call 4:20 (wing 4:20 inc) (lit 4:24 0x2)))))
22+ (value 5:1 reverse-decimal
23+ (cast 5:20
24+ (aura 5:23 @ud)
25+ (group 5:27
26+ (call 5:28 (wing 5:28 inc-reverse) (lit 5:40 2)))))
27+ (value 6:1 reverse-hex
28+ (cast 6:16
29+ (aura 6:19 @ux)
30+ (group 6:23
31+ (call 6:24 (wing 6:24 inc-reverse) (lit 6:36 0x2)))))
32+ (value 7:1 default
33+ (group 7:12
34+ (call 7:13 (wing 7:13 add) (lit 7:17 1) (lit 7:19 2))))
35+ (value 8:1 decrease-decimal
36+ (cast 8:21
37+ (aura 8:24 @ud)
38+ (group 8:28
39+ (call 8:29 (wing 8:29 dec) (lit 8:33 2)))))
40+ (value 9:1 decrease-hex
41+ (cast 9:17
42+ (aura 9:20 @ux)
43+ (group 9:24
44+ (call 9:25 (wing 9:25 dec) (lit 9:29 0x2)))))
45+ (value 10:1 bool-add
46+ (group 10:13
47+ (call 10:14 (wing 10:14 add) (lit 10:18 %.n) (lit 10:22 %.n))))
48+ (value 11:1 bool-dec
49+ (group 11:13
50+ (call 11:14 (wing 11:14 dec) (lit 11:18 %.n))))
51+ (value 12:1 bool-reverse
52+ (group 12:17
53+ (call 12:18 (wing 12:18 add) (lit 12:22 1) (lit 12:24 %.y))))
54+ (value 13:1 bool-inc
55+ (group 13:13
56+ (call 13:14 (wing 13:14 inc) (lit 13:18 %.y))))
57+ (value 14:1 bool-gate
58+ (gate 14:14
59+ (face 14:17 x (flag 14:19))
60+ (group 14:21
61+ (call 14:22 (wing 14:22 inc) (wing 14:26 x)))))
62+ (value 15:1 bool-result
63+ (cast 15:16
64+ (flag 15:19)
65+ (group 15:21
66+ (call 15:22 (wing 15:22 add) (lit 15:26 1) (lit 15:28 1)))))
67+ (value 16:1 compare-bool
68+ (group 16:17
69+ (call 16:18 (wing 16:18 gth) (lit 16:22 %.n) (lit 16:26 %.y))))
70+ (value 17:1 mixed
71+ (group 17:10
72+ (call 17:11 (wing 17:11 add) (lit 17:15 ~zod) (str 17:20 "hi"))))
73+ (value 18:1 cells
74+ (group 18:10
75+ (call 18:11
76+ (wing 18:11 add)
77+ (tuple 18:15 (lit 18:16 1) (lit 18:18 2))
78+ (tuple 18:21 (lit 18:22 3) (lit 18:24 4)))))
79+ (value 19:1 distinct
80+ (gate 19:13
81+ (cell 19:16
82+ (face 19:17 a (tvar 19:19 A))
83+ (face 19:21 b (tvar 19:23 B)))
84+ (group 19:26
85+ (call 19:27 (wing 19:27 add) (wing 19:31 a) (wing 19:33 b)))))
86+ (value 20:1 shared
87+ (gate 20:11
88+ (cell 20:14
89+ (face 20:15 a (tvar 20:17 A))
90+ (face 20:19 b (tvar 20:21 A)))
91+ (group 20:24
92+ (call 20:25 (wing 20:25 add) (wing 20:29 a) (wing 20:31 b)))))
93+ (value 21:1 capture
94+ (gate 21:12
95+ (face 21:15 n (tvar 21:17 A))
96+ (body 22:3
97+ (value 22:3 inner
98+ (gate 22:12
99+ (face 22:15 x (tvar 22:17 A))
100+ (group 22:19
101+ (call 22:20 (wing 22:20 add) (wing 22:24 n) (lit 22:26 1)))))
102+ (group 23:3
103+ (call 23:4 (wing 23:4 inner) (wing 23:10 n))))))
104+ (value 24:1 nested
105+ (gate 24:11
106+ (face 24:14 n (tvar 24:16 A))
107+ (gate 24:18
108+ (face 24:21 x (tvar 24:23 A))
109+ (group 24:25
110+ (call 24:26 (wing 24:26 add) (wing 24:30 n) (lit 24:32 1))))))
111+ (value 25:1 unrelated
112+ (body 26:3
113+ (trace 26:3
114+ (lit 26:6 %dangling)
115+ (body 27:5
116+ (group 27:5
117+ (call 27:6 (wing 27:6 add) (lit 27:10 1) (lit 27:12 2)))))))
118+ (value 28:1 identity
119+ (gate 28:13
120+ (face 28:16 x (tvar 28:18 A))
121+ (wing 28:20 x)))
122+ (value 29:1 identity-bool
123+ (group 29:18
124+ (call 29:19 (wing 29:19 identity) (lit 29:28 %.y))))
125+ (value 30:1 alias-inc (wing 30:14 inc))
126+ (value 31:1 alias-decimal
127+ (cast 31:18
128+ (aura 31:21 @ud)
129+ (group 31:25
130+ (call 31:26 (wing 31:26 alias-inc) (lit 31:36 2)))))
131+ (value 32:1 alias-hex
132+ (cast 32:14
133+ (aura 32:17 @ux)
134+ (group 32:21
135+ (call 32:22 (wing 32:22 alias-inc) (lit 32:32 0x2)))))
136+ (value 33:1 alias-bool
137+ (group 33:15
138+ (call 33:16 (wing 33:16 alias-inc) (lit 33:26 %.y))))
139+ (value 34:1 explicit-loobean-result
140+ (gate 34:28
141+ (face 34:31 n (tvar 34:33 A))
142+ (cast 34:35
143+ (flag 34:38)
144+ (group 34:40
145+ (call 34:41 (wing 34:41 add) (wing 34:45 n) (lit 34:47 1))))))
146+ (value 35:1 any-then-bool
147+ (gate 35:18
148+ (cell 35:21
149+ (face 35:22 x (aura 35:24 @))
150+ (face 35:26 b (flag 35:28)))
151+ (group 35:31
152+ (call 35:32 (wing 35:32 add) (wing 35:36 x) (wing 35:38 b)))))
153+ (value 36:1 bool-then-any
154+ (gate 36:18
155+ (cell 36:21
156+ (face 36:22 b (flag 36:24))
157+ (face 36:26 x (aura 36:28 @)))
158+ (group 36:31
159+ (call 36:32 (wing 36:32 add) (wing 36:36 b) (wing 36:38 x)))))
160+ (value 37:1 any-dec
161+ (gate 37:12
162+ (face 37:15 x (aura 37:17 @))
163+ (group 37:19
164+ (call 37:20 (wing 37:20 dec) (wing 37:24 x)))))
165+ (value 38:1 any-plus-number
166+ (gate 38:20
167+ (face 38:23 x (aura 38:25 @))
168+ (group 38:27
169+ (call 38:28 (wing 38:28 add) (wing 38:32 x) (lit 38:34 1)))))
170+ (value 39:1 number-plus-any
171+ (gate 39:20
172+ (face 39:23 x (aura 39:25 @))
173+ (group 39:27
174+ (call 39:28 (wing 39:28 add) (lit 39:32 1) (wing 39:34 x)))))
175+ (value 40:1 any-self
176+ (gate 40:13
177+ (face 40:16 x (aura 40:18 @))
178+ (group 40:20
179+ (call 40:21 (wing 40:21 add) (wing 40:25 x) (wing 40:27 x)))))
180+ (value 41:1 hole-concrete
181+ (gate 41:18
182+ (face 41:21 n (hole 41:23))
183+ (cast 41:25
184+ (aura 41:28 @ud)
185+ (group 41:32
186+ (call 41:33 (wing 41:33 add) (wing 41:37 n) (lit 41:39 1))))))
187+ (value 42:1 hole-written
188+ (gate 42:17
189+ (face 42:20 n (tvar 42:22 A))
190+ (cast 42:24
191+ (hole 42:27)
192+ (group 42:29
193+ (call 42:30 (wing 42:30 add) (wing 42:34 n) (lit 42:36 1))))))
194+ (value 43:1 hole-unresolved
195+ (gate 43:20
196+ (face 43:23 n (hole 43:25))
197+ (group 43:27
198+ (call 43:28 (wing 43:28 add) (wing 43:32 n) (lit 43:34 1)))))
199+ (value 44:1 standalone
200+ (group 44:15
201+ (call 44:16 (wing 44:16 add) (lit 44:20 1) (lit 44:22 2))))
202+ (value 45:1 discarded-number
203+ (body 46:3
204+ (trace 46:3
205+ (lit 46:6 2)
206+ (body 47:5
207+ (group 47:5
208+ (call 47:6 (wing 47:6 add) (lit 47:10 1) (lit 47:12 2)))))))
209+ (value 48:1 numeric-capture
210+ (gate 48:20
211+ (bind 48:23 x)
212+ (body 49:3
213+ (value 49:3 inner
214+ (group 49:12
215+ (call 49:13 (wing 49:13 add) (wing 49:17 x) (lit 49:19 1))))
216+ (cast 50:3 (aura 50:6 @ux) (wing 50:10 x)))))
217+ (value 51:1 numeric-capture-reversed
218+ (gate 51:29
219+ (bind 51:32 x)
220+ (body 52:3
221+ (value 52:3 inner
222+ (group 52:12
223+ (call 52:13 (wing 52:13 add) (lit 52:17 1) (wing 52:19 x))))
224+ (cast 53:3 (aura 53:6 @ux) (wing 53:10 x)))))
225+ (value 54:1 bound-later
226+ (gate 54:16
227+ (face 54:19 x (tvar 54:21 A))
228+ (body 55:3
229+ (value 55:3 inner
230+ (group 55:12
231+ (call 55:13 (wing 55:13 add) (wing 55:17 x) (lit 55:19 1))))
232+ (wing 56:3 x)))))
tests/golden/types-arithmetic-combined/types.txtnew file+120
@@ -0,0 +1,120 @@
1+partial inference; module not checked
2+++ inc: $-(A A) where A is an atom other than ?
3+++ inc-reverse: $-(A A) where A is an atom other than ?
4+++ inc-decimal: @ud
5+++ inc-hex: @ux
6+++ reverse-decimal: @ud
7+++ reverse-hex: @ux
8+++ default: @ud
9+++ decrease-decimal: @ud
10+++ decrease-hex: @ux
11+++ bool-add: call's sample and argument types do not unify
12+/tests/golden/types-arithmetic-combined/source.jibb:10:14: called gate has type $-([A A] A) where A is an atom other than ?
13+++ bool-add (add %.n %.n)
14+ ^
15+/tests/golden/types-arithmetic-combined/source.jibb:10:18: argument has type ?
16+++ bool-add (add %.n %.n)
17+ ^
18+++ bool-dec: call's sample and argument types do not unify
19+/tests/golden/types-arithmetic-combined/source.jibb:11:14: called gate has type $-(A A) where A is an atom other than ?
20+++ bool-dec (dec %.n)
21+ ^
22+/tests/golden/types-arithmetic-combined/source.jibb:11:18: argument has type ?
23+++ bool-dec (dec %.n)
24+ ^
25+++ bool-reverse: call's sample and argument types do not unify
26+/tests/golden/types-arithmetic-combined/source.jibb:12:18: called gate has type $-([A A] A) where A is an atom other than ?
27+++ bool-reverse (add 1 %.y)
28+ ^
29+/tests/golden/types-arithmetic-combined/source.jibb:12:22: argument
30+++ bool-reverse (add 1 %.y)
31+ ^
32+++ bool-inc: call's sample and argument types do not unify
33+/tests/golden/types-arithmetic-combined/source.jibb:13:14: called gate has type $-(A A) where A is an atom other than ?
34+++ bool-inc (inc %.y)
35+ ^
36+/tests/golden/types-arithmetic-combined/source.jibb:13:18: argument has type ?
37+++ bool-inc (inc %.y)
38+ ^
39+++ bool-gate: call's sample and argument types do not unify
40+/tests/golden/types-arithmetic-combined/source.jibb:14:22: called gate has type $-(A A) where A is an atom other than ?
41+++ bool-gate |= x=? (inc x)
42+ ^
43+/tests/golden/types-arithmetic-combined/source.jibb:14:26: argument has type ?
44+++ bool-gate |= x=? (inc x)
45+ ^
46+++ bool-result: cast mold and expression type do not unify
47+/tests/golden/types-arithmetic-combined/source.jibb:15:19: cast mold has type ?
48+++ bool-result ^- ? (add 1 1)
49+ ^
50+/tests/golden/types-arithmetic-combined/source.jibb:15:21: expression
51+++ bool-result ^- ? (add 1 1)
52+ ^
53+++ compare-bool: ?
54+++ mixed: call's sample and argument types do not unify
55+/tests/golden/types-arithmetic-combined/source.jibb:17:11: called gate has type $-([A A] A) where A is an atom other than ?
56+++ mixed (add ~zod "hi")
57+ ^
58+/tests/golden/types-arithmetic-combined/source.jibb:17:15: argument has type [@p @t]
59+++ mixed (add ~zod "hi")
60+ ^
61+++ cells: call's sample and argument types do not unify
62+/tests/golden/types-arithmetic-combined/source.jibb:18:11: called gate has type $-([A A] A) where A is an atom other than ?
63+++ cells (add [1 2] [3 4])
64+ ^
65+/tests/golden/types-arithmetic-combined/source.jibb:18:15: argument
66+++ cells (add [1 2] [3 4])
67+ ^
68+++ distinct: distinct type variables `A` and `B` must not be forced equal; use the same capital for a shared type
69+/tests/golden/types-arithmetic-combined/source.jibb:19:19: first type variable
70+++ distinct |= [a=A b=B] (add a b)
71+ ^
72+/tests/golden/types-arithmetic-combined/source.jibb:19:23: second type variable
73+++ distinct |= [a=A b=B] (add a b)
74+ ^
75+++ shared: $-([a=A b=A] A) where A is an atom other than ?
76+++ capture: explicit capital constraints are not supported by partial inference
77+++ nested: $-(A $-(A A)) where A is an atom other than ?
78+++ unrelated: tag needs context in partial inference
79+++ identity: $-(A A)
80+++ identity-bool: ?
81+++ alias-inc: $-(A A) where A is an atom other than ?
82+++ alias-decimal: @ud
83+++ alias-hex: @ux
84+++ alias-bool: call's sample and argument types do not unify
85+/tests/golden/types-arithmetic-combined/source.jibb:33:16: called gate has type $-(A A) where A is an atom other than ?
86+++ alias-bool (alias-inc %.y)
87+ ^
88+/tests/golden/types-arithmetic-combined/source.jibb:33:26: argument has type ?
89+++ alias-bool (alias-inc %.y)
90+ ^
91+++ explicit-loobean-result: cast mold and expression type do not unify
92+/tests/golden/types-arithmetic-combined/source.jibb:34:38: cast mold has type ?
93+++ explicit-loobean-result |= n=A ^- ? (add n 1)
94+ ^
95+/tests/golden/types-arithmetic-combined/source.jibb:34:40: expression
96+++ explicit-loobean-result |= n=A ^- ? (add n 1)
97+ ^
98+++ any-then-bool: call constraint is not supported by partial inference
99+++ bool-then-any: call's sample and argument types do not unify
100+/tests/golden/types-arithmetic-combined/source.jibb:36:32: called gate has type $-([A A] A) where A is an atom other than ?
101+++ bool-then-any |= [b=? x=@] (add b x)
102+ ^
103+/tests/golden/types-arithmetic-combined/source.jibb:36:36: argument has type ?
104+++ bool-then-any |= [b=? x=@] (add b x)
105+ ^
106+++ any-dec: call constraint is not supported by partial inference
107+++ any-plus-number: call constraint is not supported by partial inference
108+++ number-plus-any: call constraint is not supported by partial inference
109+++ any-self: call constraint is not supported by partial inference
110+++ hole-concrete: $-(@ud @ud)
111+++ hole-written: $-(A A) where A is an atom other than ?
112+++ hole-unresolved: type hole needs unsupported inference
113+/tests/golden/types-arithmetic-combined/source.jibb:43:25: type hole
114+++ hole-unresolved |= n=_ (add n 1)
115+ ^
116+++ standalone: @ud
117+++ discarded-number: @ud
118+++ numeric-capture: local definitions need unsupported inference
119+++ numeric-capture-reversed: local definitions need unsupported inference
120+++ bound-later: explicit capital constraints are not supported by partial inference
tests/golden/types-arithmetic-generic/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: docs/spec/grammar.md, Molds, Atoms: "Arithmetic rejects loobean operands: `?` contains only 0 and 1, while an arithmetic result need not."
2+tests: Generic add and dec, aliases and captured variables retain the restriction; ordinary identity and comparison still accept loobeans.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-arithmetic-generic/modules.txtnew file+1
@@ -0,0 +1 @@
1+# Opt in to the actual source-backed prelude.
tests/golden/types-arithmetic-generic/source.jibbnew file+21
@@ -0,0 +1,21 @@
1+++ sum |= [a=A b=A] (add a b)
2+++ decreasing |= x=A (dec x)
3+++ forward sum
4+++ text-aura ^- @t (sum "a" "b")
5+++ ship-aura ^- @p (sum ~zod ~nec)
6+++ decimal ^- @ud (sum 1 2)
7+++ hex ^- @ux (sum 0x1 0x2)
8+++ decrease-dec ^- @ud (decreasing 2)
9+++ decrease-hex ^- @ux (decreasing 0x2)
10+++ bad-sum (sum %.y %.n)
11+++ bad-dec (decreasing %.y)
12+++ bad-alias (forward %.y %.n)
13+++ compare (gth %.y %.n)
14+++ identity |= x=A x
15+++ accept-bool (identity %.y)
16+++ capture |= x=A
17+ ++ nested |= y=A (add x y)
18+ (nested x)
19+++ mixed |= [x=@ b=?] (sum x b)
20+++ opposite |= [b=? x=@] (sum b x)
21+++ any-dec |= x=@ (decreasing x)
tests/golden/types-arithmetic-generic/tokens.txtnew file+206
@@ -0,0 +1,206 @@
1+1:1 glyph ++
2+1:4 name sum
3+1:8 glyph |=
4+1:11 glyph [
5+1:12 tight name a
6+1:13 tight glyph =
7+1:14 tight tvar A
8+1:16 name b
9+1:17 tight glyph =
10+1:18 tight tvar A
11+1:19 tight glyph ]
12+1:21 glyph (
13+1:22 tight name add
14+1:26 name a
15+1:28 name b
16+1:29 tight glyph )
17+2:1 NEWLINE
18+2:1 glyph ++
19+2:4 name decreasing
20+2:15 glyph |=
21+2:18 name x
22+2:19 tight glyph =
23+2:20 tight tvar A
24+2:22 glyph (
25+2:23 tight name dec
26+2:27 name x
27+2:28 tight glyph )
28+3:1 NEWLINE
29+3:1 glyph ++
30+3:4 name forward
31+3:12 name sum
32+4:1 NEWLINE
33+4:1 glyph ++
34+4:4 name text-aura
35+4:14 glyph ^-
36+4:17 aura @t
37+4:20 glyph (
38+4:21 tight name sum
39+4:25 str "a"
40+4:29 str "b"
41+4:32 tight glyph )
42+5:1 NEWLINE
43+5:1 glyph ++
44+5:4 name ship-aura
45+5:14 glyph ^-
46+5:17 aura @p
47+5:20 glyph (
48+5:21 tight name sum
49+5:25 lit ~zod
50+5:30 lit ~nec
51+5:34 tight glyph )
52+6:1 NEWLINE
53+6:1 glyph ++
54+6:4 name decimal
55+6:12 glyph ^-
56+6:15 aura @ud
57+6:19 glyph (
58+6:20 tight name sum
59+6:24 lit 1
60+6:26 lit 2
61+6:27 tight glyph )
62+7:1 NEWLINE
63+7:1 glyph ++
64+7:4 name hex
65+7:8 glyph ^-
66+7:11 aura @ux
67+7:15 glyph (
68+7:16 tight name sum
69+7:20 lit 0x1
70+7:24 lit 0x2
71+7:27 tight glyph )
72+8:1 NEWLINE
73+8:1 glyph ++
74+8:4 name decrease-dec
75+8:17 glyph ^-
76+8:20 aura @ud
77+8:24 glyph (
78+8:25 tight name decreasing
79+8:36 lit 2
80+8:37 tight glyph )
81+9:1 NEWLINE
82+9:1 glyph ++
83+9:4 name decrease-hex
84+9:17 glyph ^-
85+9:20 aura @ux
86+9:24 glyph (
87+9:25 tight name decreasing
88+9:36 lit 0x2
89+9:39 tight glyph )
90+10:1 NEWLINE
91+10:1 glyph ++
92+10:4 name bad-sum
93+10:12 glyph (
94+10:13 tight name sum
95+10:17 lit %.y
96+10:21 lit %.n
97+10:24 tight glyph )
98+11:1 NEWLINE
99+11:1 glyph ++
100+11:4 name bad-dec
101+11:12 glyph (
102+11:13 tight name decreasing
103+11:24 lit %.y
104+11:27 tight glyph )
105+12:1 NEWLINE
106+12:1 glyph ++
107+12:4 name bad-alias
108+12:14 glyph (
109+12:15 tight name forward
110+12:23 lit %.y
111+12:27 lit %.n
112+12:30 tight glyph )
113+13:1 NEWLINE
114+13:1 glyph ++
115+13:4 name compare
116+13:12 glyph (
117+13:13 tight name gth
118+13:17 lit %.y
119+13:21 lit %.n
120+13:24 tight glyph )
121+14:1 NEWLINE
122+14:1 glyph ++
123+14:4 name identity
124+14:13 glyph |=
125+14:16 name x
126+14:17 tight glyph =
127+14:18 tight tvar A
128+14:20 name x
129+15:1 NEWLINE
130+15:1 glyph ++
131+15:4 name accept-bool
132+15:16 glyph (
133+15:17 tight name identity
134+15:26 lit %.y
135+15:29 tight glyph )
136+16:1 NEWLINE
137+16:1 glyph ++
138+16:4 name capture
139+16:12 glyph |=
140+16:15 name x
141+16:16 tight glyph =
142+16:17 tight tvar A
143+17:3 INDENT
144+17:3 glyph ++
145+17:6 name nested
146+17:13 glyph |=
147+17:16 name y
148+17:17 tight glyph =
149+17:18 tight tvar A
150+17:20 glyph (
151+17:21 tight name add
152+17:25 name x
153+17:27 name y
154+17:28 tight glyph )
155+18:3 NEWLINE
156+18:3 glyph (
157+18:4 tight name nested
158+18:11 name x
159+18:12 tight glyph )
160+19:1 DEDENT
161+19:1 NEWLINE
162+19:1 glyph ++
163+19:4 name mixed
164+19:10 glyph |=
165+19:13 glyph [
166+19:14 tight name x
167+19:15 tight glyph =
168+19:16 tight aura @
169+19:18 name b
170+19:19 tight glyph =
171+19:20 tight glyph ?
172+19:21 tight glyph ]
173+19:23 glyph (
174+19:24 tight name sum
175+19:28 name x
176+19:30 name b
177+19:31 tight glyph )
178+20:1 NEWLINE
179+20:1 glyph ++
180+20:4 name opposite
181+20:13 glyph |=
182+20:16 glyph [
183+20:17 tight name b
184+20:18 tight glyph =
185+20:19 tight glyph ?
186+20:21 name x
187+20:22 tight glyph =
188+20:23 tight aura @
189+20:24 tight glyph ]
190+20:26 glyph (
191+20:27 tight name sum
192+20:31 name b
193+20:33 name x
194+20:34 tight glyph )
195+21:1 NEWLINE
196+21:1 glyph ++
197+21:4 name any-dec
198+21:12 glyph |=
199+21:15 name x
200+21:16 tight glyph =
201+21:17 tight aura @
202+21:19 glyph (
203+21:20 tight name decreasing
204+21:31 name x
205+21:32 tight glyph )
206+21:33 NEWLINE
tests/golden/types-arithmetic-generic/tree.txtnew file+93
@@ -0,0 +1,93 @@
1+(module
2+ (value 1:1 sum
3+ (gate 1:8
4+ (cell 1:11
5+ (face 1:12 a (tvar 1:14 A))
6+ (face 1:16 b (tvar 1:18 A)))
7+ (group 1:21
8+ (call 1:22 (wing 1:22 add) (wing 1:26 a) (wing 1:28 b)))))
9+ (value 2:1 decreasing
10+ (gate 2:15
11+ (face 2:18 x (tvar 2:20 A))
12+ (group 2:22
13+ (call 2:23 (wing 2:23 dec) (wing 2:27 x)))))
14+ (value 3:1 forward (wing 3:12 sum))
15+ (value 4:1 text-aura
16+ (cast 4:14
17+ (aura 4:17 @t)
18+ (group 4:20
19+ (call 4:21 (wing 4:21 sum) (str 4:25 "a") (str 4:29 "b")))))
20+ (value 5:1 ship-aura
21+ (cast 5:14
22+ (aura 5:17 @p)
23+ (group 5:20
24+ (call 5:21 (wing 5:21 sum) (lit 5:25 ~zod) (lit 5:30 ~nec)))))
25+ (value 6:1 decimal
26+ (cast 6:12
27+ (aura 6:15 @ud)
28+ (group 6:19
29+ (call 6:20 (wing 6:20 sum) (lit 6:24 1) (lit 6:26 2)))))
30+ (value 7:1 hex
31+ (cast 7:8
32+ (aura 7:11 @ux)
33+ (group 7:15
34+ (call 7:16 (wing 7:16 sum) (lit 7:20 0x1) (lit 7:24 0x2)))))
35+ (value 8:1 decrease-dec
36+ (cast 8:17
37+ (aura 8:20 @ud)
38+ (group 8:24
39+ (call 8:25 (wing 8:25 decreasing) (lit 8:36 2)))))
40+ (value 9:1 decrease-hex
41+ (cast 9:17
42+ (aura 9:20 @ux)
43+ (group 9:24
44+ (call 9:25 (wing 9:25 decreasing) (lit 9:36 0x2)))))
45+ (value 10:1 bad-sum
46+ (group 10:12
47+ (call 10:13 (wing 10:13 sum) (lit 10:17 %.y) (lit 10:21 %.n))))
48+ (value 11:1 bad-dec
49+ (group 11:12
50+ (call 11:13 (wing 11:13 decreasing) (lit 11:24 %.y))))
51+ (value 12:1 bad-alias
52+ (group 12:14
53+ (call 12:15 (wing 12:15 forward) (lit 12:23 %.y) (lit 12:27 %.n))))
54+ (value 13:1 compare
55+ (group 13:12
56+ (call 13:13 (wing 13:13 gth) (lit 13:17 %.y) (lit 13:21 %.n))))
57+ (value 14:1 identity
58+ (gate 14:13
59+ (face 14:16 x (tvar 14:18 A))
60+ (wing 14:20 x)))
61+ (value 15:1 accept-bool
62+ (group 15:16
63+ (call 15:17 (wing 15:17 identity) (lit 15:26 %.y))))
64+ (value 16:1 capture
65+ (gate 16:12
66+ (face 16:15 x (tvar 16:17 A))
67+ (body 17:3
68+ (value 17:3 nested
69+ (gate 17:13
70+ (face 17:16 y (tvar 17:18 A))
71+ (group 17:20
72+ (call 17:21 (wing 17:21 add) (wing 17:25 x) (wing 17:27 y)))))
73+ (group 18:3
74+ (call 18:4 (wing 18:4 nested) (wing 18:11 x))))))
75+ (value 19:1 mixed
76+ (gate 19:10
77+ (cell 19:13
78+ (face 19:14 x (aura 19:16 @))
79+ (face 19:18 b (flag 19:20)))
80+ (group 19:23
81+ (call 19:24 (wing 19:24 sum) (wing 19:28 x) (wing 19:30 b)))))
82+ (value 20:1 opposite
83+ (gate 20:13
84+ (cell 20:16
85+ (face 20:17 b (flag 20:19))
86+ (face 20:21 x (aura 20:23 @)))
87+ (group 20:26
88+ (call 20:27 (wing 20:27 sum) (wing 20:31 b) (wing 20:33 x)))))
89+ (value 21:1 any-dec
90+ (gate 21:12
91+ (face 21:15 x (aura 21:17 @))
92+ (group 21:19
93+ (call 21:20 (wing 21:20 decreasing) (wing 21:31 x))))))
tests/golden/types-arithmetic-generic/types.txtnew file+44
@@ -0,0 +1,44 @@
1+partial inference; module not checked
2+++ sum: $-([a=A b=A] A) where A is an atom other than ?
3+++ decreasing: $-(A A) where A is an atom other than ?
4+++ forward: $-([a=A b=A] A) where A is an atom other than ?
5+++ text-aura: @t
6+++ ship-aura: @p
7+++ decimal: @ud
8+++ hex: @ux
9+++ decrease-dec: @ud
10+++ decrease-hex: @ux
11+++ bad-sum: call's sample and argument types do not unify
12+/tests/golden/types-arithmetic-generic/source.jibb:10:13: called gate has type $-([a=A b=A] A) where A is an atom other than ?
13+++ bad-sum (sum %.y %.n)
14+ ^
15+/tests/golden/types-arithmetic-generic/source.jibb:10:17: argument has type ?
16+++ bad-sum (sum %.y %.n)
17+ ^
18+++ bad-dec: call's sample and argument types do not unify
19+/tests/golden/types-arithmetic-generic/source.jibb:11:13: called gate has type $-(A A) where A is an atom other than ?
20+++ bad-dec (decreasing %.y)
21+ ^
22+/tests/golden/types-arithmetic-generic/source.jibb:11:24: argument has type ?
23+++ bad-dec (decreasing %.y)
24+ ^
25+++ bad-alias: call's sample and argument types do not unify
26+/tests/golden/types-arithmetic-generic/source.jibb:12:15: called gate has type $-([a=A b=A] A) where A is an atom other than ?
27+++ bad-alias (forward %.y %.n)
28+ ^
29+/tests/golden/types-arithmetic-generic/source.jibb:12:23: argument has type ?
30+++ bad-alias (forward %.y %.n)
31+ ^
32+++ compare: ?
33+++ identity: $-(A A)
34+++ accept-bool: ?
35+++ capture: $-(A A) where A is an atom other than ?
36+++ mixed: call constraint is not supported by partial inference
37+++ opposite: call's sample and argument types do not unify
38+/tests/golden/types-arithmetic-generic/source.jibb:20:27: called gate has type $-([a=A b=A] A) where A is an atom other than ?
39+++ opposite |= [b=? x=@] (sum b x)
40+ ^
41+/tests/golden/types-arithmetic-generic/source.jibb:20:31: argument has type ?
42+++ opposite |= [b=? x=@] (sum b x)
43+ ^
44+++ any-dec: call constraint is not supported by partial inference
tests/golden/types-arithmetic-module/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: docs/spec/grammar.md, Molds, Atoms: "Arithmetic rejects loobean operands: `?` contains only 0 and 1, while an arithmetic result need not."
2+tests: Imported generic arithmetic and aliases preserve restrictions under independent instantiation and reject loobeans; broad @ stays unsupported.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-arithmetic-module/module-trees.txtnew file+26
@@ -0,0 +1,26 @@
1+/ui/math.jibb
2+(module
3+ (value 1:1 sum
4+ (gate 1:8
5+ (cell 1:11
6+ (face 1:12 a (tvar 1:14 A))
7+ (face 1:16 b (tvar 1:18 A)))
8+ (group 1:21
9+ (call 1:22 (wing 1:22 add) (wing 1:26 a) (wing 1:28 b)))))
10+ (value 2:1 down
11+ (gate 2:9
12+ (face 2:12 x (tvar 2:14 A))
13+ (group 2:16
14+ (call 2:17 (wing 2:17 dec) (wing 2:21 x)))))
15+ (value 3:1 alias (wing 3:10 sum))
16+ (value 4:1 inc
17+ (gate 4:8
18+ (face 4:11 n (tvar 4:13 A))
19+ (group 4:15
20+ (call 4:16 (wing 4:16 add) (wing 4:20 n) (lit 4:22 1)))))
21+ (value 5:1 inc-reverse
22+ (gate 5:16
23+ (face 5:19 n (tvar 5:21 A))
24+ (group 5:23
25+ (call 5:24 (wing 5:24 add) (lit 5:28 1) (wing 5:30 n)))))
26+ (value 6:1 alias-inc (wing 6:14 inc)))
tests/golden/types-arithmetic-module/modules.txtnew file+1
@@ -0,0 +1 @@
1+/ui/math.jibb
tests/golden/types-arithmetic-module/modules/ui/math.jibbnew file+6
@@ -0,0 +1,6 @@
1+++ sum |= [a=A b=A] (add a b)
2+++ down |= x=A (dec x)
3+++ alias sum
4+++ inc |= n=A (add n 1)
5+++ inc-reverse |= n=A (add 1 n)
6+++ alias-inc inc
tests/golden/types-arithmetic-module/source.jibbnew file+16
@@ -0,0 +1,16 @@
1+/= math /ui/math
2+++ decimal ^- @ud (sum.math 1 2)
3+++ hex ^- @ux (sum.math 0x1 0x2)
4+++ text ^- @t (alias.math "a" "b")
5+++ ship ^- @p (down.math ~zod)
6+++ reject-bool (sum.math %.y %.n)
7+++ reject-down (down.math %.y)
8+++ reject-alias (alias.math %.n %.y)
9+++ reject-any |= x=@ (down.math x)
10+++ nested |= x=A
11+ ++ local |= y=A (sum.math x y)
12+ (local x)
13+++ inc-decimal ^- @ud (inc.math 2)
14+++ inc-hex ^- @ux (inc-reverse.math 0x2)
15+++ inc-bool (inc.math %.y)
16+++ alias-bool (alias-inc.math %.n)
tests/golden/types-arithmetic-module/tokens.txtnew file+137
@@ -0,0 +1,137 @@
1+1:1 glyph /=
2+1:4 name math
3+1:9 glyph /
4+1:10 tight knot ui
5+1:12 tight glyph /
6+1:13 tight knot math
7+2:1 NEWLINE
8+2:1 glyph ++
9+2:4 name decimal
10+2:12 glyph ^-
11+2:15 aura @ud
12+2:19 glyph (
13+2:20 tight wing sum.math
14+2:29 lit 1
15+2:31 lit 2
16+2:32 tight glyph )
17+3:1 NEWLINE
18+3:1 glyph ++
19+3:4 name hex
20+3:8 glyph ^-
21+3:11 aura @ux
22+3:15 glyph (
23+3:16 tight wing sum.math
24+3:25 lit 0x1
25+3:29 lit 0x2
26+3:32 tight glyph )
27+4:1 NEWLINE
28+4:1 glyph ++
29+4:4 name text
30+4:9 glyph ^-
31+4:12 aura @t
32+4:15 glyph (
33+4:16 tight wing alias.math
34+4:27 str "a"
35+4:31 str "b"
36+4:34 tight glyph )
37+5:1 NEWLINE
38+5:1 glyph ++
39+5:4 name ship
40+5:9 glyph ^-
41+5:12 aura @p
42+5:15 glyph (
43+5:16 tight wing down.math
44+5:26 lit ~zod
45+5:30 tight glyph )
46+6:1 NEWLINE
47+6:1 glyph ++
48+6:4 name reject-bool
49+6:16 glyph (
50+6:17 tight wing sum.math
51+6:26 lit %.y
52+6:30 lit %.n
53+6:33 tight glyph )
54+7:1 NEWLINE
55+7:1 glyph ++
56+7:4 name reject-down
57+7:16 glyph (
58+7:17 tight wing down.math
59+7:27 lit %.y
60+7:30 tight glyph )
61+8:1 NEWLINE
62+8:1 glyph ++
63+8:4 name reject-alias
64+8:17 glyph (
65+8:18 tight wing alias.math
66+8:29 lit %.n
67+8:33 lit %.y
68+8:36 tight glyph )
69+9:1 NEWLINE
70+9:1 glyph ++
71+9:4 name reject-any
72+9:15 glyph |=
73+9:18 name x
74+9:19 tight glyph =
75+9:20 tight aura @
76+9:22 glyph (
77+9:23 tight wing down.math
78+9:33 name x
79+9:34 tight glyph )
80+10:1 NEWLINE
81+10:1 glyph ++
82+10:4 name nested
83+10:11 glyph |=
84+10:14 name x
85+10:15 tight glyph =
86+10:16 tight tvar A
87+11:3 INDENT
88+11:3 glyph ++
89+11:6 name local
90+11:12 glyph |=
91+11:15 name y
92+11:16 tight glyph =
93+11:17 tight tvar A
94+11:19 glyph (
95+11:20 tight wing sum.math
96+11:29 name x
97+11:31 name y
98+11:32 tight glyph )
99+12:3 NEWLINE
100+12:3 glyph (
101+12:4 tight name local
102+12:10 name x
103+12:11 tight glyph )
104+13:1 DEDENT
105+13:1 NEWLINE
106+13:1 glyph ++
107+13:4 name inc-decimal
108+13:16 glyph ^-
109+13:19 aura @ud
110+13:23 glyph (
111+13:24 tight wing inc.math
112+13:33 lit 2
113+13:34 tight glyph )
114+14:1 NEWLINE
115+14:1 glyph ++
116+14:4 name inc-hex
117+14:12 glyph ^-
118+14:15 aura @ux
119+14:19 glyph (
120+14:20 tight wing inc-reverse.math
121+14:37 lit 0x2
122+14:40 tight glyph )
123+15:1 NEWLINE
124+15:1 glyph ++
125+15:4 name inc-bool
126+15:13 glyph (
127+15:14 tight wing inc.math
128+15:23 lit %.y
129+15:26 tight glyph )
130+16:1 NEWLINE
131+16:1 glyph ++
132+16:4 name alias-bool
133+16:15 glyph (
134+16:16 tight wing alias-inc.math
135+16:31 lit %.n
136+16:34 tight glyph )
137+16:35 NEWLINE
tests/golden/types-arithmetic-module/tree.txtnew file+63
@@ -0,0 +1,63 @@
1+(module
2+ (jibb 1:1 math /ui/math)
3+ (value 2:1 decimal
4+ (cast 2:12
5+ (aura 2:15 @ud)
6+ (group 2:19
7+ (call 2:20 (wing 2:20 sum.math) (lit 2:29 1) (lit 2:31 2)))))
8+ (value 3:1 hex
9+ (cast 3:8
10+ (aura 3:11 @ux)
11+ (group 3:15
12+ (call 3:16 (wing 3:16 sum.math) (lit 3:25 0x1) (lit 3:29 0x2)))))
13+ (value 4:1 text
14+ (cast 4:9
15+ (aura 4:12 @t)
16+ (group 4:15
17+ (call 4:16 (wing 4:16 alias.math) (str 4:27 "a") (str 4:31 "b")))))
18+ (value 5:1 ship
19+ (cast 5:9
20+ (aura 5:12 @p)
21+ (group 5:15
22+ (call 5:16 (wing 5:16 down.math) (lit 5:26 ~zod)))))
23+ (value 6:1 reject-bool
24+ (group 6:16
25+ (call 6:17 (wing 6:17 sum.math) (lit 6:26 %.y) (lit 6:30 %.n))))
26+ (value 7:1 reject-down
27+ (group 7:16
28+ (call 7:17 (wing 7:17 down.math) (lit 7:27 %.y))))
29+ (value 8:1 reject-alias
30+ (group 8:17
31+ (call 8:18 (wing 8:18 alias.math) (lit 8:29 %.n) (lit 8:33 %.y))))
32+ (value 9:1 reject-any
33+ (gate 9:15
34+ (face 9:18 x (aura 9:20 @))
35+ (group 9:22
36+ (call 9:23 (wing 9:23 down.math) (wing 9:33 x)))))
37+ (value 10:1 nested
38+ (gate 10:11
39+ (face 10:14 x (tvar 10:16 A))
40+ (body 11:3
41+ (value 11:3 local
42+ (gate 11:12
43+ (face 11:15 y (tvar 11:17 A))
44+ (group 11:19
45+ (call 11:20 (wing 11:20 sum.math) (wing 11:29 x) (wing 11:31 y)))))
46+ (group 12:3
47+ (call 12:4 (wing 12:4 local) (wing 12:10 x))))))
48+ (value 13:1 inc-decimal
49+ (cast 13:16
50+ (aura 13:19 @ud)
51+ (group 13:23
52+ (call 13:24 (wing 13:24 inc.math) (lit 13:33 2)))))
53+ (value 14:1 inc-hex
54+ (cast 14:12
55+ (aura 14:15 @ux)
56+ (group 14:19
57+ (call 14:20 (wing 14:20 inc-reverse.math) (lit 14:37 0x2)))))
58+ (value 15:1 inc-bool
59+ (group 15:13
60+ (call 15:14 (wing 15:14 inc.math) (lit 15:23 %.y))))
61+ (value 16:1 alias-bool
62+ (group 16:15
63+ (call 16:16 (wing 16:16 alias-inc.math) (lit 16:31 %.n)))))
tests/golden/types-arithmetic-module/types.txtnew file+44
@@ -0,0 +1,44 @@
1+partial inference; module not checked
2+++ decimal: @ud
3+++ hex: @ux
4+++ text: @t
5+++ ship: @p
6+++ reject-bool: call's sample and argument types do not unify
7+/tests/golden/types-arithmetic-module/source.jibb:6:17: called gate has type $-([a=A b=A] A) where A is an atom other than ?
8+++ reject-bool (sum.math %.y %.n)
9+ ^
10+/tests/golden/types-arithmetic-module/source.jibb:6:26: argument has type ?
11+++ reject-bool (sum.math %.y %.n)
12+ ^
13+++ reject-down: call's sample and argument types do not unify
14+/tests/golden/types-arithmetic-module/source.jibb:7:17: called gate has type $-(A A) where A is an atom other than ?
15+++ reject-down (down.math %.y)
16+ ^
17+/tests/golden/types-arithmetic-module/source.jibb:7:27: argument has type ?
18+++ reject-down (down.math %.y)
19+ ^
20+++ reject-alias: call's sample and argument types do not unify
21+/tests/golden/types-arithmetic-module/source.jibb:8:18: called gate has type $-([a=A b=A] A) where A is an atom other than ?
22+++ reject-alias (alias.math %.n %.y)
23+ ^
24+/tests/golden/types-arithmetic-module/source.jibb:8:29: argument has type ?
25+++ reject-alias (alias.math %.n %.y)
26+ ^
27+++ reject-any: call constraint is not supported by partial inference
28+++ nested: local definitions need unsupported inference
29+++ inc-decimal: @ud
30+++ inc-hex: @ux
31+++ inc-bool: call's sample and argument types do not unify
32+/tests/golden/types-arithmetic-module/source.jibb:15:14: called gate has type $-(A A) where A is an atom other than ?
33+++ inc-bool (inc.math %.y)
34+ ^
35+/tests/golden/types-arithmetic-module/source.jibb:15:23: argument has type ?
36+++ inc-bool (inc.math %.y)
37+ ^
38+++ alias-bool: call's sample and argument types do not unify
39+/tests/golden/types-arithmetic-module/source.jibb:16:16: called gate has type $-(A A) where A is an atom other than ?
40+++ alias-bool (alias-inc.math %.n)
41+ ^
42+/tests/golden/types-arithmetic-module/source.jibb:16:31: argument has type ?
43+++ alias-bool (alias-inc.math %.n)
44+ ^
tests/golden/types-arithmetic-proj-qath/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: docs/spec/grammar.md, Molds, Atoms: "Arithmetic rejects loobean operands: `?` contains only 0 and 1, while an arithmetic result need not."
2+tests: Arithmetic retains non-loobean constraints through wider and single-field projected records and qath values; incompatible auras, loobean operands, and scalar binder faces do not silently infer.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-arithmetic-proj-qath/modules.txtnew file+1
@@ -0,0 +1 @@
1+# Opt in to the actual source-backed prelude.
tests/golden/types-arithmetic-proj-qath/source.jibbnew file+18
@@ -0,0 +1,18 @@
1+++ project-increment |= r=[a=A b=@t c=@ud]
2+ ^- [a=A b=@t] (proj [a=(add a.r 1) b=b.r c=c.r])
3+++ good ^- [a=@ux b=@t] (project-increment [a=0x7 b="x" c=0])
4+++ flag (project-increment [a=%.y b="x" c=0])
5+++ mixed (add ~zod "x")
6+++ path-and-number [path=%/foo number=(add 1 2)]
7+++ path-value |= p=qath [path=p number=(add 1 2)]
8+++ with-path |= r=[a=A b=qath c=@ud]
9+ ^- [a=A b=qath] (proj [a=(dec a.r) b=b.r c=c.r])
10+++ wrong-width ^- [a=@ud b=@t] [a=(add 1 2) b="x" c=0]
11+++ select-one |= r=[a=A b=@t]
12+ ^- [a=A] (proj [a=(add a.r 1) b=b.r])
13+++ select-one-ux ^- [a=@ux] (select-one [a=0x7 b="x"])
14+++ select-one-bool (select-one [a=%.y b="x"])
15+++ scalar |= x=@t x
16+++ no-binder-field (scalar (proj [x="ok" y=~zod]))
17+++ select-one-nested |= r=[a=A b=@t]
18+ ^- [outer=[a=A] marker=@ud] [outer=(proj [a=(add a.r 1) b=b.r]) marker=0]
tests/golden/types-arithmetic-proj-qath/tokens.txtnew file+351
@@ -0,0 +1,351 @@
1+1:1 glyph ++
2+1:4 name project-increment
3+1:22 glyph |=
4+1:25 name r
5+1:26 tight glyph =
6+1:27 tight glyph [
7+1:28 tight name a
8+1:29 tight glyph =
9+1:30 tight tvar A
10+1:32 name b
11+1:33 tight glyph =
12+1:34 tight aura @t
13+1:37 name c
14+1:38 tight glyph =
15+1:39 tight aura @ud
16+1:42 tight glyph ]
17+2:3 INDENT
18+2:3 glyph ^-
19+2:6 glyph [
20+2:7 tight name a
21+2:8 tight glyph =
22+2:9 tight tvar A
23+2:11 name b
24+2:12 tight glyph =
25+2:13 tight aura @t
26+2:15 tight glyph ]
27+2:17 glyph (
28+2:18 tight name proj
29+2:23 glyph [
30+2:24 tight name a
31+2:25 tight glyph =
32+2:26 tight glyph (
33+2:27 tight name add
34+2:31 wing a.r
35+2:35 lit 1
36+2:36 tight glyph )
37+2:38 name b
38+2:39 tight glyph =
39+2:40 tight wing b.r
40+2:44 name c
41+2:45 tight glyph =
42+2:46 tight wing c.r
43+2:49 tight glyph ]
44+2:50 tight glyph )
45+3:1 DEDENT
46+3:1 NEWLINE
47+3:1 glyph ++
48+3:4 name good
49+3:9 glyph ^-
50+3:12 glyph [
51+3:13 tight name a
52+3:14 tight glyph =
53+3:15 tight aura @ux
54+3:19 name b
55+3:20 tight glyph =
56+3:21 tight aura @t
57+3:23 tight glyph ]
58+3:25 glyph (
59+3:26 tight name project-increment
60+3:44 glyph [
61+3:45 tight name a
62+3:46 tight glyph =
63+3:47 tight lit 0x7
64+3:51 name b
65+3:52 tight glyph =
66+3:53 tight str "x"
67+3:57 name c
68+3:58 tight glyph =
69+3:59 tight lit 0
70+3:60 tight glyph ]
71+3:61 tight glyph )
72+4:1 NEWLINE
73+4:1 glyph ++
74+4:4 name flag
75+4:9 glyph (
76+4:10 tight name project-increment
77+4:28 glyph [
78+4:29 tight name a
79+4:30 tight glyph =
80+4:31 tight lit %.y
81+4:35 name b
82+4:36 tight glyph =
83+4:37 tight str "x"
84+4:41 name c
85+4:42 tight glyph =
86+4:43 tight lit 0
87+4:44 tight glyph ]
88+4:45 tight glyph )
89+5:1 NEWLINE
90+5:1 glyph ++
91+5:4 name mixed
92+5:10 glyph (
93+5:11 tight name add
94+5:15 lit ~zod
95+5:20 str "x"
96+5:23 tight glyph )
97+6:1 NEWLINE
98+6:1 glyph ++
99+6:4 name path-and-number
100+6:20 glyph [
101+6:21 tight name path
102+6:25 tight glyph =
103+6:26 tight glyph %/
104+6:28 tight knot foo
105+6:32 name number
106+6:38 tight glyph =
107+6:39 tight glyph (
108+6:40 tight name add
109+6:44 lit 1
110+6:46 lit 2
111+6:47 tight glyph )
112+6:48 tight glyph ]
113+7:1 NEWLINE
114+7:1 glyph ++
115+7:4 name path-value
116+7:15 glyph |=
117+7:18 name p
118+7:19 tight glyph =
119+7:20 tight name qath
120+7:25 glyph [
121+7:26 tight name path
122+7:30 tight glyph =
123+7:31 tight name p
124+7:33 name number
125+7:39 tight glyph =
126+7:40 tight glyph (
127+7:41 tight name add
128+7:45 lit 1
129+7:47 lit 2
130+7:48 tight glyph )
131+7:49 tight glyph ]
132+8:1 NEWLINE
133+8:1 glyph ++
134+8:4 name with-path
135+8:14 glyph |=
136+8:17 name r
137+8:18 tight glyph =
138+8:19 tight glyph [
139+8:20 tight name a
140+8:21 tight glyph =
141+8:22 tight tvar A
142+8:24 name b
143+8:25 tight glyph =
144+8:26 tight name qath
145+8:31 name c
146+8:32 tight glyph =
147+8:33 tight aura @ud
148+8:36 tight glyph ]
149+9:3 INDENT
150+9:3 glyph ^-
151+9:6 glyph [
152+9:7 tight name a
153+9:8 tight glyph =
154+9:9 tight tvar A
155+9:11 name b
156+9:12 tight glyph =
157+9:13 tight name qath
158+9:17 tight glyph ]
159+9:19 glyph (
160+9:20 tight name proj
161+9:25 glyph [
162+9:26 tight name a
163+9:27 tight glyph =
164+9:28 tight glyph (
165+9:29 tight name dec
166+9:33 wing a.r
167+9:36 tight glyph )
168+9:38 name b
169+9:39 tight glyph =
170+9:40 tight wing b.r
171+9:44 name c
172+9:45 tight glyph =
173+9:46 tight wing c.r
174+9:49 tight glyph ]
175+9:50 tight glyph )
176+10:1 DEDENT
177+10:1 NEWLINE
178+10:1 glyph ++
179+10:4 name wrong-width
180+10:16 glyph ^-
181+10:19 glyph [
182+10:20 tight name a
183+10:21 tight glyph =
184+10:22 tight aura @ud
185+10:26 name b
186+10:27 tight glyph =
187+10:28 tight aura @t
188+10:30 tight glyph ]
189+10:32 glyph [
190+10:33 tight name a
191+10:34 tight glyph =
192+10:35 tight glyph (
193+10:36 tight name add
194+10:40 lit 1
195+10:42 lit 2
196+10:43 tight glyph )
197+10:45 name b
198+10:46 tight glyph =
199+10:47 tight str "x"
200+10:51 name c
201+10:52 tight glyph =
202+10:53 tight lit 0
203+10:54 tight glyph ]
204+11:1 NEWLINE
205+11:1 glyph ++
206+11:4 name select-one
207+11:15 glyph |=
208+11:18 name r
209+11:19 tight glyph =
210+11:20 tight glyph [
211+11:21 tight name a
212+11:22 tight glyph =
213+11:23 tight tvar A
214+11:25 name b
215+11:26 tight glyph =
216+11:27 tight aura @t
217+11:29 tight glyph ]
218+12:3 INDENT
219+12:3 glyph ^-
220+12:6 glyph [
221+12:7 tight name a
222+12:8 tight glyph =
223+12:9 tight tvar A
224+12:10 tight glyph ]
225+12:12 glyph (
226+12:13 tight name proj
227+12:18 glyph [
228+12:19 tight name a
229+12:20 tight glyph =
230+12:21 tight glyph (
231+12:22 tight name add
232+12:26 wing a.r
233+12:30 lit 1
234+12:31 tight glyph )
235+12:33 name b
236+12:34 tight glyph =
237+12:35 tight wing b.r
238+12:38 tight glyph ]
239+12:39 tight glyph )
240+13:1 DEDENT
241+13:1 NEWLINE
242+13:1 glyph ++
243+13:4 name select-one-ux
244+13:18 glyph ^-
245+13:21 glyph [
246+13:22 tight name a
247+13:23 tight glyph =
248+13:24 tight aura @ux
249+13:27 tight glyph ]
250+13:29 glyph (
251+13:30 tight name select-one
252+13:41 glyph [
253+13:42 tight name a
254+13:43 tight glyph =
255+13:44 tight lit 0x7
256+13:48 name b
257+13:49 tight glyph =
258+13:50 tight str "x"
259+13:53 tight glyph ]
260+13:54 tight glyph )
261+14:1 NEWLINE
262+14:1 glyph ++
263+14:4 name select-one-bool
264+14:20 glyph (
265+14:21 tight name select-one
266+14:32 glyph [
267+14:33 tight name a
268+14:34 tight glyph =
269+14:35 tight lit %.y
270+14:39 name b
271+14:40 tight glyph =
272+14:41 tight str "x"
273+14:44 tight glyph ]
274+14:45 tight glyph )
275+15:1 NEWLINE
276+15:1 glyph ++
277+15:4 name scalar
278+15:11 glyph |=
279+15:14 name x
280+15:15 tight glyph =
281+15:16 tight aura @t
282+15:19 name x
283+16:1 NEWLINE
284+16:1 glyph ++
285+16:4 name no-binder-field
286+16:20 glyph (
287+16:21 tight name scalar
288+16:28 glyph (
289+16:29 tight name proj
290+16:34 glyph [
291+16:35 tight name x
292+16:36 tight glyph =
293+16:37 tight str "ok"
294+16:42 name y
295+16:43 tight glyph =
296+16:44 tight lit ~zod
297+16:48 tight glyph ]
298+16:49 tight glyph )
299+16:50 tight glyph )
300+17:1 NEWLINE
301+17:1 glyph ++
302+17:4 name select-one-nested
303+17:22 glyph |=
304+17:25 name r
305+17:26 tight glyph =
306+17:27 tight glyph [
307+17:28 tight name a
308+17:29 tight glyph =
309+17:30 tight tvar A
310+17:32 name b
311+17:33 tight glyph =
312+17:34 tight aura @t
313+17:36 tight glyph ]
314+18:3 INDENT
315+18:3 glyph ^-
316+18:6 glyph [
317+18:7 tight name outer
318+18:12 tight glyph =
319+18:13 tight glyph [
320+18:14 tight name a
321+18:15 tight glyph =
322+18:16 tight tvar A
323+18:17 tight glyph ]
324+18:19 name marker
325+18:25 tight glyph =
326+18:26 tight aura @ud
327+18:29 tight glyph ]
328+18:31 glyph [
329+18:32 tight name outer
330+18:37 tight glyph =
331+18:38 tight glyph (
332+18:39 tight name proj
333+18:44 glyph [
334+18:45 tight name a
335+18:46 tight glyph =
336+18:47 tight glyph (
337+18:48 tight name add
338+18:52 wing a.r
339+18:56 lit 1
340+18:57 tight glyph )
341+18:59 name b
342+18:60 tight glyph =
343+18:61 tight wing b.r
344+18:64 tight glyph ]
345+18:65 tight glyph )
346+18:67 name marker
347+18:73 tight glyph =
348+18:74 tight lit 0
349+18:75 tight glyph ]
350+18:76 DEDENT
351+18:76 NEWLINE
tests/golden/types-arithmetic-proj-qath/tree.txtnew file+164
@@ -0,0 +1,164 @@
1+(module
2+ (value 1:1 project-increment
3+ (gate 1:22
4+ (face 1:25 r
5+ (cell 1:27
6+ (face 1:28 a (tvar 1:30 A))
7+ (face 1:32 b (aura 1:34 @t))
8+ (face 1:37 c (aura 1:39 @ud))))
9+ (body 2:3
10+ (cast 2:3
11+ (cell 2:6
12+ (face 2:7 a (tvar 2:9 A))
13+ (face 2:11 b (aura 2:13 @t)))
14+ (group 2:17
15+ (call 2:18
16+ (wing 2:18 proj)
17+ (tuple 2:23
18+ (face 2:24 a
19+ (group 2:26
20+ (call 2:27 (wing 2:27 add) (wing 2:31 a.r) (lit 2:35 1))))
21+ (face 2:38 b (wing 2:40 b.r))
22+ (face 2:44 c (wing 2:46 c.r)))))))))
23+ (value 3:1 good
24+ (cast 3:9
25+ (cell 3:12
26+ (face 3:13 a (aura 3:15 @ux))
27+ (face 3:19 b (aura 3:21 @t)))
28+ (group 3:25
29+ (call 3:26
30+ (wing 3:26 project-increment)
31+ (tuple 3:44
32+ (face 3:45 a (lit 3:47 0x7))
33+ (face 3:51 b (str 3:53 "x"))
34+ (face 3:57 c (lit 3:59 0)))))))
35+ (value 4:1 flag
36+ (group 4:9
37+ (call 4:10
38+ (wing 4:10 project-increment)
39+ (tuple 4:28
40+ (face 4:29 a (lit 4:31 %.y))
41+ (face 4:35 b (str 4:37 "x"))
42+ (face 4:41 c (lit 4:43 0))))))
43+ (value 5:1 mixed
44+ (group 5:10
45+ (call 5:11 (wing 5:11 add) (lit 5:15 ~zod) (str 5:20 "x"))))
46+ (value 6:1 path-and-number
47+ (tuple 6:20
48+ (face 6:21 path (qath 6:26 foo))
49+ (face 6:32 number
50+ (group 6:39
51+ (call 6:40 (wing 6:40 add) (lit 6:44 1) (lit 6:46 2))))))
52+ (value 7:1 path-value
53+ (gate 7:15
54+ (face 7:18 p (ref 7:20 qath))
55+ (tuple 7:25
56+ (face 7:26 path (wing 7:31 p))
57+ (face 7:33 number
58+ (group 7:40
59+ (call 7:41 (wing 7:41 add) (lit 7:45 1) (lit 7:47 2)))))))
60+ (value 8:1 with-path
61+ (gate 8:14
62+ (face 8:17 r
63+ (cell 8:19
64+ (face 8:20 a (tvar 8:22 A))
65+ (face 8:24 b (ref 8:26 qath))
66+ (face 8:31 c (aura 8:33 @ud))))
67+ (body 9:3
68+ (cast 9:3
69+ (cell 9:6
70+ (face 9:7 a (tvar 9:9 A))
71+ (face 9:11 b (ref 9:13 qath)))
72+ (group 9:19
73+ (call 9:20
74+ (wing 9:20 proj)
75+ (tuple 9:25
76+ (face 9:26 a
77+ (group 9:28
78+ (call 9:29 (wing 9:29 dec) (wing 9:33 a.r))))
79+ (face 9:38 b (wing 9:40 b.r))
80+ (face 9:44 c (wing 9:46 c.r)))))))))
81+ (value 10:1 wrong-width
82+ (cast 10:16
83+ (cell 10:19
84+ (face 10:20 a (aura 10:22 @ud))
85+ (face 10:26 b (aura 10:28 @t)))
86+ (tuple 10:32
87+ (face 10:33 a
88+ (group 10:35
89+ (call 10:36 (wing 10:36 add) (lit 10:40 1) (lit 10:42 2))))
90+ (face 10:45 b (str 10:47 "x"))
91+ (face 10:51 c (lit 10:53 0)))))
92+ (value 11:1 select-one
93+ (gate 11:15
94+ (face 11:18 r
95+ (cell 11:20
96+ (face 11:21 a (tvar 11:23 A))
97+ (face 11:25 b (aura 11:27 @t))))
98+ (body 12:3
99+ (cast 12:3
100+ (cell 12:6
101+ (face 12:7 a (tvar 12:9 A)))
102+ (group 12:12
103+ (call 12:13
104+ (wing 12:13 proj)
105+ (tuple 12:18
106+ (face 12:19 a
107+ (group 12:21
108+ (call 12:22 (wing 12:22 add) (wing 12:26 a.r) (lit 12:30 1))))
109+ (face 12:33 b (wing 12:35 b.r)))))))))
110+ (value 13:1 select-one-ux
111+ (cast 13:18
112+ (cell 13:21
113+ (face 13:22 a (aura 13:24 @ux)))
114+ (group 13:29
115+ (call 13:30
116+ (wing 13:30 select-one)
117+ (tuple 13:41
118+ (face 13:42 a (lit 13:44 0x7))
119+ (face 13:48 b (str 13:50 "x")))))))
120+ (value 14:1 select-one-bool
121+ (group 14:20
122+ (call 14:21
123+ (wing 14:21 select-one)
124+ (tuple 14:32
125+ (face 14:33 a (lit 14:35 %.y))
126+ (face 14:39 b (str 14:41 "x"))))))
127+ (value 15:1 scalar
128+ (gate 15:11
129+ (face 15:14 x (aura 15:16 @t))
130+ (wing 15:19 x)))
131+ (value 16:1 no-binder-field
132+ (group 16:20
133+ (call 16:21
134+ (wing 16:21 scalar)
135+ (group 16:28
136+ (call 16:29
137+ (wing 16:29 proj)
138+ (tuple 16:34
139+ (face 16:35 x (str 16:37 "ok"))
140+ (face 16:42 y (lit 16:44 ~zod))))))))
141+ (value 17:1 select-one-nested
142+ (gate 17:22
143+ (face 17:25 r
144+ (cell 17:27
145+ (face 17:28 a (tvar 17:30 A))
146+ (face 17:32 b (aura 17:34 @t))))
147+ (body 18:3
148+ (cast 18:3
149+ (cell 18:6
150+ (face 18:7 outer
151+ (cell 18:13
152+ (face 18:14 a (tvar 18:16 A))))
153+ (face 18:19 marker (aura 18:26 @ud)))
154+ (tuple 18:31
155+ (face 18:32 outer
156+ (group 18:38
157+ (call 18:39
158+ (wing 18:39 proj)
159+ (tuple 18:44
160+ (face 18:45 a
161+ (group 18:47
162+ (call 18:48 (wing 18:48 add) (wing 18:52 a.r) (lit 18:56 1))))
163+ (face 18:59 b (wing 18:61 b.r))))))
164+ (face 18:67 marker (lit 18:74 0))))))))
tests/golden/types-arithmetic-proj-qath/types.txtnew file+33
@@ -0,0 +1,33 @@
1+partial inference; module not checked
2+++ project-increment: $-([a=A [b=@t c=@ud]] [a=A b=@t]) where A is an atom other than ?
3+++ good: [a=@ux b=@t]
4+++ flag: call's sample and argument types do not unify
5+/tests/golden/types-arithmetic-proj-qath/source.jibb:4:10: called gate has type $-([a=A [b=@t c=@ud]] [a=A b=@t]) where A is an atom other than ?
6+++ flag (project-increment [a=%.y b="x" c=0])
7+ ^
8+/tests/golden/types-arithmetic-proj-qath/source.jibb:4:28: argument
9+++ flag (project-increment [a=%.y b="x" c=0])
10+ ^
11+++ mixed: call's sample and argument types do not unify
12+/tests/golden/types-arithmetic-proj-qath/source.jibb:5:11: called gate has type $-([A A] A) where A is an atom other than ?
13+++ mixed (add ~zod "x")
14+ ^
15+/tests/golden/types-arithmetic-proj-qath/source.jibb:5:15: argument has type [@p @t]
16+++ mixed (add ~zod "x")
17+ ^
18+++ path-and-number: [path=qath number=@ud]
19+++ path-value: unresolved aura-variable inference
20+++ with-path: $-([a=A [b=qath c=@ud]] [a=A b=qath]) where A is an atom other than ?
21+++ wrong-width: record width constraint needs unsupported inference
22+++ select-one: $-([a=A b=@t] [a=A]) where A is an atom other than ?
23+++ select-one-ux: [a=@ux]
24+++ select-one-bool: call's sample and argument types do not unify
25+/tests/golden/types-arithmetic-proj-qath/source.jibb:14:21: called gate has type $-([a=A b=@t] [a=A]) where A is an atom other than ?
26+++ select-one-bool (select-one [a=%.y b="x"])
27+ ^
28+/tests/golden/types-arithmetic-proj-qath/source.jibb:14:32: argument has type [a=? b=@t]
29+++ select-one-bool (select-one [a=%.y b="x"])
30+ ^
31+++ scalar: $-(@t @t)
32+++ no-binder-field: proj needs an expected record type
33+++ select-one-nested: $-([a=A b=@t] [outer=[a=A] marker=@ud]) where A is an atom other than ?
tests/golden/types-arithmetic-scopes/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: docs/spec/grammar.md, Molds, Atoms: "Arithmetic rejects loobean operands: `?` contains only 0 and 1, while an arithmetic result need not."
2+tests: Independent aura instantiation, shared and distinct capitals, nested/local captures, pending literals and direct/mutual recursion preserve the constraint or fail closed.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-arithmetic-scopes/modules.txtnew file+1
@@ -0,0 +1 @@
1+# Opt in to the actual source-backed prelude.
tests/golden/types-arithmetic-scopes/source.jibbnew file+22
@@ -0,0 +1,22 @@
1+++ inc |= n=A (add n 1)
2+++ inc-r |= n=A (add 1 n)
3+++ text-case ^- @t (inc "x")
4+++ ship-case ^- @p (inc ~zod)
5+++ shared-case |= [a=A b=A] (add a b)
6+++ distinct |= [a=A b=B] (add a b)
7+++ nested |= n=A |= x=A (add n 1)
8+++ local-fresh |= outer=@t
9+ ++ inner |= n=A (add n 1)
10+ [(inner "a") (inner ~zod)]
11+++ local-capture |= outer=A
12+ ++ inner |= n=A (add outer 1)
13+ (inner outer)
14+++ trace-tag
15+ ~& %dangling
16+ (add 1 2)
17+++ trace-number
18+ ~& 4
19+ (add 1 2)
20+++ recurse |= n=A (add n (recurse n))
21+++ mutual-a |= n=A (add n (mutual-b n))
22+++ mutual-b |= n=A (add n (mutual-a n))
tests/golden/types-arithmetic-scopes/tokens.txtnew file+221
@@ -0,0 +1,221 @@
1+1:1 glyph ++
2+1:4 name inc
3+1:8 glyph |=
4+1:11 name n
5+1:12 tight glyph =
6+1:13 tight tvar A
7+1:15 glyph (
8+1:16 tight name add
9+1:20 name n
10+1:22 lit 1
11+1:23 tight glyph )
12+2:1 NEWLINE
13+2:1 glyph ++
14+2:4 name inc-r
15+2:10 glyph |=
16+2:13 name n
17+2:14 tight glyph =
18+2:15 tight tvar A
19+2:17 glyph (
20+2:18 tight name add
21+2:22 lit 1
22+2:24 name n
23+2:25 tight glyph )
24+3:1 NEWLINE
25+3:1 glyph ++
26+3:4 name text-case
27+3:14 glyph ^-
28+3:17 aura @t
29+3:20 glyph (
30+3:21 tight name inc
31+3:25 str "x"
32+3:28 tight glyph )
33+4:1 NEWLINE
34+4:1 glyph ++
35+4:4 name ship-case
36+4:14 glyph ^-
37+4:17 aura @p
38+4:20 glyph (
39+4:21 tight name inc
40+4:25 lit ~zod
41+4:29 tight glyph )
42+5:1 NEWLINE
43+5:1 glyph ++
44+5:4 name shared-case
45+5:16 glyph |=
46+5:19 glyph [
47+5:20 tight name a
48+5:21 tight glyph =
49+5:22 tight tvar A
50+5:24 name b
51+5:25 tight glyph =
52+5:26 tight tvar A
53+5:27 tight glyph ]
54+5:29 glyph (
55+5:30 tight name add
56+5:34 name a
57+5:36 name b
58+5:37 tight glyph )
59+6:1 NEWLINE
60+6:1 glyph ++
61+6:4 name distinct
62+6:13 glyph |=
63+6:16 glyph [
64+6:17 tight name a
65+6:18 tight glyph =
66+6:19 tight tvar A
67+6:21 name b
68+6:22 tight glyph =
69+6:23 tight tvar B
70+6:24 tight glyph ]
71+6:26 glyph (
72+6:27 tight name add
73+6:31 name a
74+6:33 name b
75+6:34 tight glyph )
76+7:1 NEWLINE
77+7:1 glyph ++
78+7:4 name nested
79+7:11 glyph |=
80+7:14 name n
81+7:15 tight glyph =
82+7:16 tight tvar A
83+7:18 glyph |=
84+7:21 name x
85+7:22 tight glyph =
86+7:23 tight tvar A
87+7:25 glyph (
88+7:26 tight name add
89+7:30 name n
90+7:32 lit 1
91+7:33 tight glyph )
92+8:1 NEWLINE
93+8:1 glyph ++
94+8:4 name local-fresh
95+8:16 glyph |=
96+8:19 name outer
97+8:24 tight glyph =
98+8:25 tight aura @t
99+9:3 INDENT
100+9:3 glyph ++
101+9:6 name inner
102+9:12 glyph |=
103+9:15 name n
104+9:16 tight glyph =
105+9:17 tight tvar A
106+9:19 glyph (
107+9:20 tight name add
108+9:24 name n
109+9:26 lit 1
110+9:27 tight glyph )
111+10:3 NEWLINE
112+10:3 glyph [
113+10:4 tight glyph (
114+10:5 tight name inner
115+10:11 str "a"
116+10:14 tight glyph )
117+10:16 glyph (
118+10:17 tight name inner
119+10:23 lit ~zod
120+10:27 tight glyph )
121+10:28 tight glyph ]
122+11:1 DEDENT
123+11:1 NEWLINE
124+11:1 glyph ++
125+11:4 name local-capture
126+11:18 glyph |=
127+11:21 name outer
128+11:26 tight glyph =
129+11:27 tight tvar A
130+12:3 INDENT
131+12:3 glyph ++
132+12:6 name inner
133+12:12 glyph |=
134+12:15 name n
135+12:16 tight glyph =
136+12:17 tight tvar A
137+12:19 glyph (
138+12:20 tight name add
139+12:24 name outer
140+12:30 lit 1
141+12:31 tight glyph )
142+13:3 NEWLINE
143+13:3 glyph (
144+13:4 tight name inner
145+13:10 name outer
146+13:15 tight glyph )
147+14:1 DEDENT
148+14:1 NEWLINE
149+14:1 glyph ++
150+14:4 name trace-tag
151+15:3 INDENT
152+15:3 glyph ~&
153+15:6 lit %dangling
154+16:5 INDENT
155+16:5 glyph (
156+16:6 tight name add
157+16:10 lit 1
158+16:12 lit 2
159+16:13 tight glyph )
160+17:1 DEDENT
161+17:1 DEDENT
162+17:1 NEWLINE
163+17:1 glyph ++
164+17:4 name trace-number
165+18:3 INDENT
166+18:3 glyph ~&
167+18:6 lit 4
168+19:5 INDENT
169+19:5 glyph (
170+19:6 tight name add
171+19:10 lit 1
172+19:12 lit 2
173+19:13 tight glyph )
174+20:1 DEDENT
175+20:1 DEDENT
176+20:1 NEWLINE
177+20:1 glyph ++
178+20:4 name recurse
179+20:12 glyph |=
180+20:15 name n
181+20:16 tight glyph =
182+20:17 tight tvar A
183+20:19 glyph (
184+20:20 tight name add
185+20:24 name n
186+20:26 glyph (
187+20:27 tight name recurse
188+20:35 name n
189+20:36 tight glyph )
190+20:37 tight glyph )
191+21:1 NEWLINE
192+21:1 glyph ++
193+21:4 name mutual-a
194+21:13 glyph |=
195+21:16 name n
196+21:17 tight glyph =
197+21:18 tight tvar A
198+21:20 glyph (
199+21:21 tight name add
200+21:25 name n
201+21:27 glyph (
202+21:28 tight name mutual-b
203+21:37 name n
204+21:38 tight glyph )
205+21:39 tight glyph )
206+22:1 NEWLINE
207+22:1 glyph ++
208+22:4 name mutual-b
209+22:13 glyph |=
210+22:16 name n
211+22:17 tight glyph =
212+22:18 tight tvar A
213+22:20 glyph (
214+22:21 tight name add
215+22:25 name n
216+22:27 glyph (
217+22:28 tight name mutual-a
218+22:37 name n
219+22:38 tight glyph )
220+22:39 tight glyph )
221+22:40 NEWLINE
tests/golden/types-arithmetic-scopes/tree.txtnew file+108
@@ -0,0 +1,108 @@
1+(module
2+ (value 1:1 inc
3+ (gate 1:8
4+ (face 1:11 n (tvar 1:13 A))
5+ (group 1:15
6+ (call 1:16 (wing 1:16 add) (wing 1:20 n) (lit 1:22 1)))))
7+ (value 2:1 inc-r
8+ (gate 2:10
9+ (face 2:13 n (tvar 2:15 A))
10+ (group 2:17
11+ (call 2:18 (wing 2:18 add) (lit 2:22 1) (wing 2:24 n)))))
12+ (value 3:1 text-case
13+ (cast 3:14
14+ (aura 3:17 @t)
15+ (group 3:20
16+ (call 3:21 (wing 3:21 inc) (str 3:25 "x")))))
17+ (value 4:1 ship-case
18+ (cast 4:14
19+ (aura 4:17 @p)
20+ (group 4:20
21+ (call 4:21 (wing 4:21 inc) (lit 4:25 ~zod)))))
22+ (value 5:1 shared-case
23+ (gate 5:16
24+ (cell 5:19
25+ (face 5:20 a (tvar 5:22 A))
26+ (face 5:24 b (tvar 5:26 A)))
27+ (group 5:29
28+ (call 5:30 (wing 5:30 add) (wing 5:34 a) (wing 5:36 b)))))
29+ (value 6:1 distinct
30+ (gate 6:13
31+ (cell 6:16
32+ (face 6:17 a (tvar 6:19 A))
33+ (face 6:21 b (tvar 6:23 B)))
34+ (group 6:26
35+ (call 6:27 (wing 6:27 add) (wing 6:31 a) (wing 6:33 b)))))
36+ (value 7:1 nested
37+ (gate 7:11
38+ (face 7:14 n (tvar 7:16 A))
39+ (gate 7:18
40+ (face 7:21 x (tvar 7:23 A))
41+ (group 7:25
42+ (call 7:26 (wing 7:26 add) (wing 7:30 n) (lit 7:32 1))))))
43+ (value 8:1 local-fresh
44+ (gate 8:16
45+ (face 8:19 outer (aura 8:25 @t))
46+ (body 9:3
47+ (value 9:3 inner
48+ (gate 9:12
49+ (face 9:15 n (tvar 9:17 A))
50+ (group 9:19
51+ (call 9:20 (wing 9:20 add) (wing 9:24 n) (lit 9:26 1)))))
52+ (tuple 10:3
53+ (group 10:4
54+ (call 10:5 (wing 10:5 inner) (str 10:11 "a")))
55+ (group 10:16
56+ (call 10:17 (wing 10:17 inner) (lit 10:23 ~zod)))))))
57+ (value 11:1 local-capture
58+ (gate 11:18
59+ (face 11:21 outer (tvar 11:27 A))
60+ (body 12:3
61+ (value 12:3 inner
62+ (gate 12:12
63+ (face 12:15 n (tvar 12:17 A))
64+ (group 12:19
65+ (call 12:20 (wing 12:20 add) (wing 12:24 outer) (lit 12:30 1)))))
66+ (group 13:3
67+ (call 13:4 (wing 13:4 inner) (wing 13:10 outer))))))
68+ (value 14:1 trace-tag
69+ (body 15:3
70+ (trace 15:3
71+ (lit 15:6 %dangling)
72+ (body 16:5
73+ (group 16:5
74+ (call 16:6 (wing 16:6 add) (lit 16:10 1) (lit 16:12 2)))))))
75+ (value 17:1 trace-number
76+ (body 18:3
77+ (trace 18:3
78+ (lit 18:6 4)
79+ (body 19:5
80+ (group 19:5
81+ (call 19:6 (wing 19:6 add) (lit 19:10 1) (lit 19:12 2)))))))
82+ (value 20:1 recurse
83+ (gate 20:12
84+ (face 20:15 n (tvar 20:17 A))
85+ (group 20:19
86+ (call 20:20
87+ (wing 20:20 add)
88+ (wing 20:24 n)
89+ (group 20:26
90+ (call 20:27 (wing 20:27 recurse) (wing 20:35 n)))))))
91+ (value 21:1 mutual-a
92+ (gate 21:13
93+ (face 21:16 n (tvar 21:18 A))
94+ (group 21:20
95+ (call 21:21
96+ (wing 21:21 add)
97+ (wing 21:25 n)
98+ (group 21:27
99+ (call 21:28 (wing 21:28 mutual-b) (wing 21:37 n)))))))
100+ (value 22:1 mutual-b
101+ (gate 22:13
102+ (face 22:16 n (tvar 22:18 A))
103+ (group 22:20
104+ (call 22:21
105+ (wing 22:21 add)
106+ (wing 22:25 n)
107+ (group 22:27
108+ (call 22:28 (wing 22:28 mutual-a) (wing 22:37 n))))))))
tests/golden/types-arithmetic-scopes/types.txtnew file+21
@@ -0,0 +1,21 @@
1+partial inference; module not checked
2+++ inc: $-(A A) where A is an atom other than ?
3+++ inc-r: $-(A A) where A is an atom other than ?
4+++ text-case: @t
5+++ ship-case: @p
6+++ shared-case: $-([a=A b=A] A) where A is an atom other than ?
7+++ distinct: distinct type variables `A` and `B` must not be forced equal; use the same capital for a shared type
8+/tests/golden/types-arithmetic-scopes/source.jibb:6:19: first type variable
9+++ distinct |= [a=A b=B] (add a b)
10+ ^
11+/tests/golden/types-arithmetic-scopes/source.jibb:6:23: second type variable
12+++ distinct |= [a=A b=B] (add a b)
13+ ^
14+++ nested: $-(A $-(A A)) where A is an atom other than ?
15+++ local-fresh: $-(@t [@t @p])
16+++ local-capture: explicit capital constraints are not supported by partial inference
17+++ trace-tag: tag needs context in partial inference
18+++ trace-number: @ud
19+++ recurse: $-(A A) where A is an atom other than ?
20+++ mutual-a: $-(A A) where A is an atom other than ?
21+++ mutual-b: $-(A A) where A is an atom other than ?
tests/golden/types-prelude-arithmetic/about.txt+2−2
@@ -1,4 +1,4 @@
1−source: Overview, Prelude: arithmetic gates are ordinary Jibb wrappers around private compiler-supplied primitives. A shared atom type must not promise that arithmetic on loobeans remains a loobean.
1+source: docs/spec/grammar.md, Molds, Atoms: "Arithmetic rejects loobean operands: `?` contains only 0 and 1, while an arithmetic result need not."
2−tests: The source-backed `gth` infers for loobeans and ordinary atom auras and rejects mismatched auras and cells. An independent atom-constrained identity remains applicable to both flags and text. Addition, decrement and length are unavailable until arithmetic can preserve sound result constraints; primitive lowering, jet recognition and execution remain unfinished. The module report is partial.
2+tests: The source-backed add, dec and gth wrappers preserve numeric auras, constrained generic types, and independent comparison behavior. Loobean operands are rejected by add and dec; lent remains unavailable. Primitive lowering, jet recognition and execution remain unfinished. The module report is partial.
3expect: parses
3expect: parses
4expect-types: a partial inference report
4expect-types: a partial inference report
tests/golden/types-prelude-arithmetic/source.jibb+5−5
@@ -10,11 +10,11 @@
10 x
10 x
11++ atom-id-bool (atom-id %.n)
11++ atom-id-bool (atom-id %.n)
12++ atom-id-text (atom-id "hi")
12++ atom-id-text (atom-id "hi")
13−++ unavailable-add (add %.n %.n)
13+++ reject-bool-add (add %.n %.n)
14−++ unavailable-add-decimal (add 1 2)
14+++ add-decimal (add 1 2)
15−++ unavailable-add-hex (add 0x1 0x2)
15+++ add-hex (add 0x1 0x2)
16−++ unavailable-dec (dec %.n)
16+++ reject-bool-dec (dec %.n)
17−++ unavailable-dec-hex (dec 0x2)
17+++ dec-hex (dec 0x2)
18++ unavailable-length (lent ~["a"])
18++ unavailable-length (lent ~["a"])
19++ captured |= x=? (add x x)
19++ captured |= x=? (add x x)
20++ captured-local |= x=?
20++ captured-local |= x=?
tests/golden/types-prelude-arithmetic/tokens.txt+19−19
@@ -104,7 +104,7 @@
10412:30 tight glyph )
10412:30 tight glyph )
10513:1 NEWLINE
10513:1 NEWLINE
10613:1 glyph ++
10613:1 glyph ++
107−13:4 name unavailable-add
107+13:4 name reject-bool-add
10813:20 glyph (
10813:20 glyph (
10913:21 tight name add
10913:21 tight name add
11013:25 lit %.n
11013:25 lit %.n
@@ -112,34 +112,34 @@
11213:32 tight glyph )
11213:32 tight glyph )
11314:1 NEWLINE
11314:1 NEWLINE
11414:1 glyph ++
11414:1 glyph ++
115−14:4 name unavailable-add-decimal
115+14:4 name add-decimal
116−14:28 glyph (
116+14:16 glyph (
117−14:29 tight name add
117+14:17 tight name add
118−14:33 lit 1
118+14:21 lit 1
119−14:35 lit 2
119+14:23 lit 2
120−14:36 tight glyph )
120+14:24 tight glyph )
12115:1 NEWLINE
12115:1 NEWLINE
12215:1 glyph ++
12215:1 glyph ++
123−15:4 name unavailable-add-hex
123+15:4 name add-hex
124−15:24 glyph (
124+15:12 glyph (
125−15:25 tight name add
125+15:13 tight name add
126−15:29 lit 0x1
126+15:17 lit 0x1
127−15:33 lit 0x2
127+15:21 lit 0x2
128−15:36 tight glyph )
128+15:24 tight glyph )
12916:1 NEWLINE
12916:1 NEWLINE
13016:1 glyph ++
13016:1 glyph ++
131−16:4 name unavailable-dec
131+16:4 name reject-bool-dec
13216:20 glyph (
13216:20 glyph (
13316:21 tight name dec
13316:21 tight name dec
13416:25 lit %.n
13416:25 lit %.n
13516:28 tight glyph )
13516:28 tight glyph )
13617:1 NEWLINE
13617:1 NEWLINE
13717:1 glyph ++
13717:1 glyph ++
138−17:4 name unavailable-dec-hex
138+17:4 name dec-hex
139−17:24 glyph (
139+17:12 glyph (
140−17:25 tight name dec
140+17:13 tight name dec
141−17:29 lit 0x2
141+17:17 lit 0x2
142−17:32 tight glyph )
142+17:20 tight glyph )
14318:1 NEWLINE
14318:1 NEWLINE
14418:1 glyph ++
14418:1 glyph ++
14518:4 name unavailable-length
14518:4 name unavailable-length
tests/golden/types-prelude-arithmetic/tree.txt+11−11
@@ -42,21 +42,21 @@
42 (value 12:1 atom-id-text
42 (value 12:1 atom-id-text
43 (group 12:17
43 (group 12:17
44 (call 12:18 (wing 12:18 atom-id) (str 12:26 "hi"))))
44 (call 12:18 (wing 12:18 atom-id) (str 12:26 "hi"))))
45− (value 13:1 unavailable-add
45+ (value 13:1 reject-bool-add
46 (group 13:20
46 (group 13:20
47 (call 13:21 (wing 13:21 add) (lit 13:25 %.n) (lit 13:29 %.n))))
47 (call 13:21 (wing 13:21 add) (lit 13:25 %.n) (lit 13:29 %.n))))
48− (value 14:1 unavailable-add-decimal
48+ (value 14:1 add-decimal
49− (group 14:28
49+ (group 14:16
50− (call 14:29 (wing 14:29 add) (lit 14:33 1) (lit 14:35 2))))
50+ (call 14:17 (wing 14:17 add) (lit 14:21 1) (lit 14:23 2))))
51− (value 15:1 unavailable-add-hex
51+ (value 15:1 add-hex
52− (group 15:24
52+ (group 15:12
53− (call 15:25 (wing 15:25 add) (lit 15:29 0x1) (lit 15:33 0x2))))
53+ (call 15:13 (wing 15:13 add) (lit 15:17 0x1) (lit 15:21 0x2))))
54− (value 16:1 unavailable-dec
54+ (value 16:1 reject-bool-dec
55 (group 16:20
55 (group 16:20
56 (call 16:21 (wing 16:21 dec) (lit 16:25 %.n))))
56 (call 16:21 (wing 16:21 dec) (lit 16:25 %.n))))
57− (value 17:1 unavailable-dec-hex
57+ (value 17:1 dec-hex
58− (group 17:24
58+ (group 17:12
59− (call 17:25 (wing 17:25 dec) (lit 17:29 0x2))))
59+ (call 17:13 (wing 17:13 dec) (lit 17:17 0x2))))
60 (value 18:1 unavailable-length
60 (value 18:1 unavailable-length
61 (group 18:23
61 (group 18:23
62 (call 18:24
62 (call 18:24
tests/golden/types-prelude-arithmetic/types.txt+25−7
@@ -21,12 +21,30 @@ partial inference; module not checked
21++ atom-id: $-(A A) where A is an atom
21++ atom-id: $-(A A) where A is an atom
22++ atom-id-bool: ?
22++ atom-id-bool: ?
23++ atom-id-text: @t
23++ atom-id-text: @t
24−++ unavailable-add: name is not available to partial inference
24+++ reject-bool-add: call's sample and argument types do not unify
25−++ unavailable-add-decimal: name is not available to partial inference
25+/tests/golden/types-prelude-arithmetic/source.jibb:13:21: called gate has type $-([A A] A) where A is an atom other than ?
26−++ unavailable-add-hex: name is not available to partial inference
26+++ reject-bool-add (add %.n %.n)
27−++ unavailable-dec: name is not available to partial inference
27+ ^
28−++ unavailable-dec-hex: name is not available to partial inference
28+/tests/golden/types-prelude-arithmetic/source.jibb:13:25: argument has type ?
29+++ reject-bool-add (add %.n %.n)
30+ ^
31+++ add-decimal: @ud
32+++ add-hex: @ux
33+++ reject-bool-dec: call's sample and argument types do not unify
34+/tests/golden/types-prelude-arithmetic/source.jibb:16:21: called gate has type $-(A A) where A is an atom other than ?
35+++ reject-bool-dec (dec %.n)
36+ ^
37+/tests/golden/types-prelude-arithmetic/source.jibb:16:25: argument has type ?
38+++ reject-bool-dec (dec %.n)
39+ ^
40+++ dec-hex: @ux
29++ unavailable-length: name is not available to partial inference
41++ unavailable-length: name is not available to partial inference
30−++ captured: name is not available to partial inference
42+++ captured: call's sample and argument types do not unify
43+/tests/golden/types-prelude-arithmetic/source.jibb:19:21: called gate has type $-([A A] A) where A is an atom other than ?
44+++ captured |= x=? (add x x)
45+ ^
46+/tests/golden/types-prelude-arithmetic/source.jibb:19:25: argument has type ?
47+++ captured |= x=? (add x x)
48+ ^
31++ captured-local: local definitions need unsupported inference
49++ captured-local: local definitions need unsupported inference
32−++ inc: name is not available to partial inference
50+++ inc: $-(A A) where A is an atom other than ?
tests/lib/jibb-arithmetic-guards.hoonnew file+58
@@ -0,0 +1,58 @@
1+:: Check restricted numeric unifier invariants under eval and ship.
2+/+ jibb
3+|%
4+++ arithmetic-guard-errors
5+ ^- (list tape)
6+ =/ one=(unit isub:jibb) (itype-unify:jibb [%rvar 0] [%nvar 1] ~)
7+ =/ two=(unit isub:jibb) (itype-unify:jibb [%nvar 1] [%rvar 0] ~)
8+ ?~ one ~["restricted-then-numeric merge failed"]
9+ ?~ two ~["numeric-then-restricted merge failed"]
10+ =/ left=itype:jibb (itype-walk:jibb [%rvar 0] u.one)
11+ =/ right=itype:jibb (itype-walk:jibb [%nvar 1] u.one)
12+ =/ rleft=itype:jibb (itype-walk:jibb [%rvar 0] u.two)
13+ =/ rright=itype:jibb (itype-walk:jibb [%nvar 1] u.two)
14+ =/ bound=(unit isub:jibb) (itype-unify:jibb left [%atom %ux] u.one)
15+ =/ extra=(unit isub:jibb) (itype-unify:jibb right [%nvar 2] u.one)
16+ ?~ bound ~["combined variable did not bind to a concrete aura"]
17+ ?~ extra ~["second numeric variable did not merge"]
18+ =/ checks=(list ?)
19+ :~ ?=(%rnvar -.left)
20+ =(left right)
21+ =(rleft rright)
22+ ?=(%rnvar -.rleft)
23+ =(left (itype-walk:jibb left u.one))
24+ ?=(~ (itype-unify:jibb left [%flag ~] u.one))
25+ ?=(~ (itype-unify:jibb left [%any-atom ~] u.one))
26+ =([%atom %ux] (itype-walk:jibb [%rvar 0] u.bound))
27+ =([%atom %ux] (itype-walk:jibb [%nvar 1] u.bound))
28+ =(left (itype-walk:jibb [%nvar 2] u.extra))
29+ ==
30+ ?: (levy checks |=(ok=? ok)) arithmetic-face-guard-errors
31+ ~["combined numeric/restricted substitution invariant failed"]
32+++ arithmetic-face-guard-errors
33+ ^- (list tape)
34+ =/ text=itype:jibb [%face %outer [%face %inner [%atom %t]]]
35+ =/ broad=itype:jibb [%face %outer [%face %inner [%any-atom ~]]]
36+ =/ different=itype:jibb [%face %outer [%face %wrong [%atom %t]]]
37+ =/ raw=itype:jibb [%var 0]
38+ =/ any=itype:jibb [%any-atom ~]
39+ =/ sub=isub:jibb ~[[0 text]]
40+ =/ flag=itype:jibb [%face %f [%flag ~]]
41+ =/ restricted=itype:jibb [%face %f [%rvar 1]]
42+ =/ cell=itype:jibb [%face %f [%cell [%atom %t] [%atom %p]]]
43+ =/ faced-any=itype:jibb [%face %f [%any-atom ~]]
44+ =/ checks=(list ?)
45+ :~ =(%ok -:(itype-fit:jibb text broad ~ 2))
46+ =(%bad -:(itype-fit:jibb broad text ~ 2))
47+ =(%bad -:(itype-fit:jibb text different ~ 2))
48+ =(%unknown -:(itype-fit:jibb raw any sub 2))
49+ =(%unknown -:(itype-fit:jibb any raw sub 2))
50+ =(%bad -:(itype-fit:jibb flag restricted ~ 2))
51+ =(%bad -:(itype-fit:jibb cell faced-any ~ 2))
52+ ==
53+ ?: (levy checks |=(ok=? ok)) ~
54+ ~["faced atom fit or uncertainty invariant failed"]
55+++ test-arithmetic-guards
56+ ^- tang
57+ (turn arithmetic-guard-errors |=(reason=tape leaf+reason))
58+--
tests/lib/jibb.hoon+1238−1206
@@ -1336,993 +1336,1015 @@
1336/* tok-409 %txt /tests/golden/prelude-unit-list-transforms/tokens/txt
1336/* tok-409 %txt /tests/golden/prelude-unit-list-transforms/tokens/txt
1337/* tre-409 %txt /tests/golden/prelude-unit-list-transforms/tree/txt
1337/* tre-409 %txt /tests/golden/prelude-unit-list-transforms/tree/txt
1338/* typ-409 %txt /tests/golden/prelude-unit-list-transforms/types/txt
1338/* typ-409 %txt /tests/golden/prelude-unit-list-transforms/types/txt
1339−/* src-410 %jibb /tests/golden/types-capital-distinct/source/jibb
1339+/* src-410 %jibb /tests/golden/types-arithmetic-combined/source/jibb
1340−/* tok-410 %txt /tests/golden/types-capital-distinct/tokens/txt
1340+/* tok-410 %txt /tests/golden/types-arithmetic-combined/tokens/txt
1341−/* tre-410 %txt /tests/golden/types-capital-distinct/tree/txt
1341+/* tre-410 %txt /tests/golden/types-arithmetic-combined/tree/txt
1342−/* typ-410 %txt /tests/golden/types-capital-distinct/types/txt
1342+/* typ-410 %txt /tests/golden/types-arithmetic-combined/types/txt
1343−/* src-411 %jibb /tests/golden/types-cell-pattern-many/source/jibb
1343+/* src-411 %jibb /tests/golden/types-arithmetic-generic/source/jibb
1344−/* tok-411 %txt /tests/golden/types-cell-pattern-many/tokens/txt
1344+/* tok-411 %txt /tests/golden/types-arithmetic-generic/tokens/txt
1345−/* tre-411 %txt /tests/golden/types-cell-pattern-many/tree/txt
1345+/* tre-411 %txt /tests/golden/types-arithmetic-generic/tree/txt
1346−/* typ-411 %txt /tests/golden/types-cell-pattern-many/types/txt
1346+/* typ-411 %txt /tests/golden/types-arithmetic-generic/types/txt
1347−/* src-412 %jibb /tests/golden/types-cell-pattern-schemes/source/jibb
1347+/* src-412 %jibb /tests/golden/types-arithmetic-module/source/jibb
1348−/* tok-412 %txt /tests/golden/types-cell-pattern-schemes/tokens/txt
1348+/* tok-412 %txt /tests/golden/types-arithmetic-module/tokens/txt
1349−/* tre-412 %txt /tests/golden/types-cell-pattern-schemes/tree/txt
1349+/* tre-412 %txt /tests/golden/types-arithmetic-module/tree/txt
1350−/* typ-412 %txt /tests/golden/types-cell-pattern-schemes/types/txt
1350+/* mod-412-1 %jibb /tests/golden/types-arithmetic-module/modules/ui/math/jibb
1351−/* src-413 %jibb /tests/golden/types-cell-pattern-tail/source/jibb
1351+/* typ-412 %txt /tests/golden/types-arithmetic-module/types/txt
1352−/* tok-413 %txt /tests/golden/types-cell-pattern-tail/tokens/txt
1352+/* mtre-412 %txt /tests/golden/types-arithmetic-module/module-trees/txt
1353−/* tre-413 %txt /tests/golden/types-cell-pattern-tail/tree/txt
1353+/* src-413 %jibb /tests/golden/types-arithmetic-proj-qath/source/jibb
1354−/* typ-413 %txt /tests/golden/types-cell-pattern-tail/types/txt
1354+/* tok-413 %txt /tests/golden/types-arithmetic-proj-qath/tokens/txt
1355−/* src-414 %jibb /tests/golden/types-deferred-call-context/source/jibb
1355+/* tre-413 %txt /tests/golden/types-arithmetic-proj-qath/tree/txt
1356−/* tok-414 %txt /tests/golden/types-deferred-call-context/tokens/txt
1356+/* typ-413 %txt /tests/golden/types-arithmetic-proj-qath/types/txt
1357−/* tre-414 %txt /tests/golden/types-deferred-call-context/tree/txt
1357+/* src-414 %jibb /tests/golden/types-arithmetic-scopes/source/jibb
1358−/* typ-414 %txt /tests/golden/types-deferred-call-context/types/txt
1358+/* tok-414 %txt /tests/golden/types-arithmetic-scopes/tokens/txt
1359−/* src-415 %jibb /tests/golden/types-flag-branch-context/source/jibb
1359+/* tre-414 %txt /tests/golden/types-arithmetic-scopes/tree/txt
1360−/* tok-415 %txt /tests/golden/types-flag-branch-context/tokens/txt
1360+/* typ-414 %txt /tests/golden/types-arithmetic-scopes/types/txt
1361−/* tre-415 %txt /tests/golden/types-flag-branch-context/tree/txt
1361+/* src-415 %jibb /tests/golden/types-capital-distinct/source/jibb
1362−/* typ-415 %txt /tests/golden/types-flag-branch-context/types/txt
1362+/* tok-415 %txt /tests/golden/types-capital-distinct/tokens/txt
1363−/* src-416 %jibb /tests/golden/types-generic-arity/source/jibb
1363+/* tre-415 %txt /tests/golden/types-capital-distinct/tree/txt
1364−/* tok-416 %txt /tests/golden/types-generic-arity/tokens/txt
1364+/* typ-415 %txt /tests/golden/types-capital-distinct/types/txt
1365−/* tre-416 %txt /tests/golden/types-generic-arity/tree/txt
1365+/* src-416 %jibb /tests/golden/types-cell-pattern-many/source/jibb
1366−/* typ-416 %txt /tests/golden/types-generic-arity/types/txt
1366+/* tok-416 %txt /tests/golden/types-cell-pattern-many/tokens/txt
1367−/* src-417 %jibb /tests/golden/types-generic-face-inference/source/jibb
1367+/* tre-416 %txt /tests/golden/types-cell-pattern-many/tree/txt
1368−/* tok-417 %txt /tests/golden/types-generic-face-inference/tokens/txt
1368+/* typ-416 %txt /tests/golden/types-cell-pattern-many/types/txt
1369−/* tre-417 %txt /tests/golden/types-generic-face-inference/tree/txt
1369+/* src-417 %jibb /tests/golden/types-cell-pattern-schemes/source/jibb
1370−/* typ-417 %txt /tests/golden/types-generic-face-inference/types/txt
1370+/* tok-417 %txt /tests/golden/types-cell-pattern-schemes/tokens/txt
1371−/* src-418 %jibb /tests/golden/types-generic-gates/source/jibb
1371+/* tre-417 %txt /tests/golden/types-cell-pattern-schemes/tree/txt
1372−/* tok-418 %txt /tests/golden/types-generic-gates/tokens/txt
1372+/* typ-417 %txt /tests/golden/types-cell-pattern-schemes/types/txt
1373−/* tre-418 %txt /tests/golden/types-generic-gates/tree/txt
1373+/* src-418 %jibb /tests/golden/types-cell-pattern-tail/source/jibb
1374−/* typ-418 %txt /tests/golden/types-generic-gates/types/txt
1374+/* tok-418 %txt /tests/golden/types-cell-pattern-tail/tokens/txt
1375−/* src-419 %jibb /tests/golden/types-generic-import-reverse/source/jibb
1375+/* tre-418 %txt /tests/golden/types-cell-pattern-tail/tree/txt
1376−/* tok-419 %txt /tests/golden/types-generic-import-reverse/tokens/txt
1376+/* typ-418 %txt /tests/golden/types-cell-pattern-tail/types/txt
1377−/* tre-419 %txt /tests/golden/types-generic-import-reverse/tree/txt
1377+/* src-419 %jibb /tests/golden/types-deferred-call-context/source/jibb
1378−/* mod-419-1 %jibb /tests/golden/types-generic-import-reverse/modules/ui/lib/jibb
1378+/* tok-419 %txt /tests/golden/types-deferred-call-context/tokens/txt
1379−/* typ-419 %txt /tests/golden/types-generic-import-reverse/types/txt
1379+/* tre-419 %txt /tests/golden/types-deferred-call-context/tree/txt
1380−/* mtre-419 %txt /tests/golden/types-generic-import-reverse/module-trees/txt
1380+/* typ-419 %txt /tests/golden/types-deferred-call-context/types/txt
1381−/* src-420 %jibb /tests/golden/types-generic-lexical-alias/source/jibb
1381+/* src-420 %jibb /tests/golden/types-flag-branch-context/source/jibb
1382−/* tok-420 %txt /tests/golden/types-generic-lexical-alias/tokens/txt
1382+/* tok-420 %txt /tests/golden/types-flag-branch-context/tokens/txt
1383−/* tre-420 %txt /tests/golden/types-generic-lexical-alias/tree/txt
1383+/* tre-420 %txt /tests/golden/types-flag-branch-context/tree/txt
1384−/* typ-420 %txt /tests/golden/types-generic-lexical-alias/types/txt
1384+/* typ-420 %txt /tests/golden/types-flag-branch-context/types/txt
1385−/* src-421 %jibb /tests/golden/types-generic-local-parameter/source/jibb
1385+/* src-421 %jibb /tests/golden/types-generic-arity/source/jibb
1386−/* tok-421 %txt /tests/golden/types-generic-local-parameter/tokens/txt
1386+/* tok-421 %txt /tests/golden/types-generic-arity/tokens/txt
1387−/* tre-421 %txt /tests/golden/types-generic-local-parameter/tree/txt
1387+/* tre-421 %txt /tests/golden/types-generic-arity/tree/txt
1388−/* typ-421 %txt /tests/golden/types-generic-local-parameter/types/txt
1388+/* typ-421 %txt /tests/golden/types-generic-arity/types/txt
1389−/* src-422 %jibb /tests/golden/types-generic-local-scope/source/jibb
1389+/* src-422 %jibb /tests/golden/types-generic-face-inference/source/jibb
1390−/* tok-422 %txt /tests/golden/types-generic-local-scope/tokens/txt
1390+/* tok-422 %txt /tests/golden/types-generic-face-inference/tokens/txt
1391−/* tre-422 %txt /tests/golden/types-generic-local-scope/tree/txt
1391+/* tre-422 %txt /tests/golden/types-generic-face-inference/tree/txt
1392−/* typ-422 %txt /tests/golden/types-generic-local-scope/types/txt
1392+/* typ-422 %txt /tests/golden/types-generic-face-inference/types/txt
1393−/* src-423 %jibb /tests/golden/types-generic-module/source/jibb
1393+/* src-423 %jibb /tests/golden/types-generic-gates/source/jibb
1394−/* tok-423 %txt /tests/golden/types-generic-module/tokens/txt
1394+/* tok-423 %txt /tests/golden/types-generic-gates/tokens/txt
1395−/* tre-423 %txt /tests/golden/types-generic-module/tree/txt
1395+/* tre-423 %txt /tests/golden/types-generic-gates/tree/txt
1396−/* mod-423-1 %jibb /tests/golden/types-generic-module/modules/ui/lib/jibb
1396+/* typ-423 %txt /tests/golden/types-generic-gates/types/txt
1397−/* typ-423 %txt /tests/golden/types-generic-module/types/txt
1397+/* src-424 %jibb /tests/golden/types-generic-import-reverse/source/jibb
1398−/* mtre-423 %txt /tests/golden/types-generic-module/module-trees/txt
1398+/* tok-424 %txt /tests/golden/types-generic-import-reverse/tokens/txt
1399−/* src-424 %jibb /tests/golden/types-generic-nested-scope/source/jibb
1399+/* tre-424 %txt /tests/golden/types-generic-import-reverse/tree/txt
1400−/* tok-424 %txt /tests/golden/types-generic-nested-scope/tokens/txt
1400+/* mod-424-1 %jibb /tests/golden/types-generic-import-reverse/modules/ui/lib/jibb
1401−/* tre-424 %txt /tests/golden/types-generic-nested-scope/tree/txt
1401+/* typ-424 %txt /tests/golden/types-generic-import-reverse/types/txt
1402−/* typ-424 %txt /tests/golden/types-generic-nested-scope/types/txt
1402+/* mtre-424 %txt /tests/golden/types-generic-import-reverse/module-trees/txt
1403−/* src-425 %jibb /tests/golden/types-generic-parameters/source/jibb
1403+/* src-425 %jibb /tests/golden/types-generic-lexical-alias/source/jibb
1404−/* tok-425 %txt /tests/golden/types-generic-parameters/tokens/txt
1404+/* tok-425 %txt /tests/golden/types-generic-lexical-alias/tokens/txt
1405−/* tre-425 %txt /tests/golden/types-generic-parameters/tree/txt
1405+/* tre-425 %txt /tests/golden/types-generic-lexical-alias/tree/txt
1406−/* typ-425 %txt /tests/golden/types-generic-parameters/types/txt
1406+/* typ-425 %txt /tests/golden/types-generic-lexical-alias/types/txt
1407−/* src-426 %jibb /tests/golden/types-generic-record/source/jibb
1407+/* src-426 %jibb /tests/golden/types-generic-local-parameter/source/jibb
1408−/* tok-426 %txt /tests/golden/types-generic-record/tokens/txt
1408+/* tok-426 %txt /tests/golden/types-generic-local-parameter/tokens/txt
1409−/* tre-426 %txt /tests/golden/types-generic-record/tree/txt
1409+/* tre-426 %txt /tests/golden/types-generic-local-parameter/tree/txt
1410−/* typ-426 %txt /tests/golden/types-generic-record/types/txt
1410+/* typ-426 %txt /tests/golden/types-generic-local-parameter/types/txt
1411−/* src-427 %jibb /tests/golden/types-generic-recursive-union/source/jibb
1411+/* src-427 %jibb /tests/golden/types-generic-local-scope/source/jibb
1412−/* tok-427 %txt /tests/golden/types-generic-recursive-union/tokens/txt
1412+/* tok-427 %txt /tests/golden/types-generic-local-scope/tokens/txt
1413−/* tre-427 %txt /tests/golden/types-generic-recursive-union/tree/txt
1413+/* tre-427 %txt /tests/golden/types-generic-local-scope/tree/txt
1414−/* typ-427 %txt /tests/golden/types-generic-recursive-union/types/txt
1414+/* typ-427 %txt /tests/golden/types-generic-local-scope/types/txt
1415−/* src-428 %jibb /tests/golden/types-generic-repeated/source/jibb
1415+/* src-428 %jibb /tests/golden/types-generic-module/source/jibb
1416−/* tok-428 %txt /tests/golden/types-generic-repeated/tokens/txt
1416+/* tok-428 %txt /tests/golden/types-generic-module/tokens/txt
1417−/* tre-428 %txt /tests/golden/types-generic-repeated/tree/txt
1417+/* tre-428 %txt /tests/golden/types-generic-module/tree/txt
1418−/* typ-428 %txt /tests/golden/types-generic-repeated/types/txt
1418+/* mod-428-1 %jibb /tests/golden/types-generic-module/modules/ui/lib/jibb
1419−/* src-429 %jibb /tests/golden/types-generic-union-alias/source/jibb
1419+/* typ-428 %txt /tests/golden/types-generic-module/types/txt
1420−/* tok-429 %txt /tests/golden/types-generic-union-alias/tokens/txt
1420+/* mtre-428 %txt /tests/golden/types-generic-module/module-trees/txt
1421−/* tre-429 %txt /tests/golden/types-generic-union-alias/tree/txt
1421+/* src-429 %jibb /tests/golden/types-generic-nested-scope/source/jibb
1422−/* typ-429 %txt /tests/golden/types-generic-union-alias/types/txt
1422+/* tok-429 %txt /tests/golden/types-generic-nested-scope/tokens/txt
1423−/* src-430 %jibb /tests/golden/types-generic-union-alias-face/source/jibb
1423+/* tre-429 %txt /tests/golden/types-generic-nested-scope/tree/txt
1424−/* tok-430 %txt /tests/golden/types-generic-union-alias-face/tokens/txt
1424+/* typ-429 %txt /tests/golden/types-generic-nested-scope/types/txt
1425−/* tre-430 %txt /tests/golden/types-generic-union-alias-face/tree/txt
1425+/* src-430 %jibb /tests/golden/types-generic-parameters/source/jibb
1426−/* mod-430-1 %jibb /tests/golden/types-generic-union-alias-face/modules/ui/base/jibb
1426+/* tok-430 %txt /tests/golden/types-generic-parameters/tokens/txt
1427−/* typ-430 %txt /tests/golden/types-generic-union-alias-face/types/txt
1427+/* tre-430 %txt /tests/golden/types-generic-parameters/tree/txt
1428−/* mtre-430 %txt /tests/golden/types-generic-union-alias-face/module-trees/txt
1428+/* typ-430 %txt /tests/golden/types-generic-parameters/types/txt
1429−/* src-431 %jibb /tests/golden/types-generic-union-capitals/source/jibb
1429+/* src-431 %jibb /tests/golden/types-generic-record/source/jibb
1430−/* tok-431 %txt /tests/golden/types-generic-union-capitals/tokens/txt
1430+/* tok-431 %txt /tests/golden/types-generic-record/tokens/txt
1431−/* tre-431 %txt /tests/golden/types-generic-union-capitals/tree/txt
1431+/* tre-431 %txt /tests/golden/types-generic-record/tree/txt
1432−/* typ-431 %txt /tests/golden/types-generic-union-capitals/types/txt
1432+/* typ-431 %txt /tests/golden/types-generic-record/types/txt
1433−/* src-432 %jibb /tests/golden/types-generic-union-errors/source/jibb
1433+/* src-432 %jibb /tests/golden/types-generic-recursive-union/source/jibb
1434−/* tok-432 %txt /tests/golden/types-generic-union-errors/tokens/txt
1434+/* tok-432 %txt /tests/golden/types-generic-recursive-union/tokens/txt
1435−/* tre-432 %txt /tests/golden/types-generic-union-errors/tree/txt
1435+/* tre-432 %txt /tests/golden/types-generic-recursive-union/tree/txt
1436−/* typ-432 %txt /tests/golden/types-generic-union-errors/types/txt
1436+/* typ-432 %txt /tests/golden/types-generic-recursive-union/types/txt
1437−/* src-433 %jibb /tests/golden/types-generic-union-escaping/source/jibb
1437+/* src-433 %jibb /tests/golden/types-generic-repeated/source/jibb
1438−/* tok-433 %txt /tests/golden/types-generic-union-escaping/tokens/txt
1438+/* tok-433 %txt /tests/golden/types-generic-repeated/tokens/txt
1439−/* tre-433 %txt /tests/golden/types-generic-union-escaping/tree/txt
1439+/* tre-433 %txt /tests/golden/types-generic-repeated/tree/txt
1440−/* mod-433-1 %jibb /tests/golden/types-generic-union-escaping/modules/ui/base/jibb
1440+/* typ-433 %txt /tests/golden/types-generic-repeated/types/txt
1441−/* mod-433-2 %jibb /tests/golden/types-generic-union-escaping/modules/ui/mid/jibb
1441+/* src-434 %jibb /tests/golden/types-generic-union-alias/source/jibb
1442−/* typ-433 %txt /tests/golden/types-generic-union-escaping/types/txt
1442+/* tok-434 %txt /tests/golden/types-generic-union-alias/tokens/txt
1443−/* mtre-433 %txt /tests/golden/types-generic-union-escaping/module-trees/txt
1443+/* tre-434 %txt /tests/golden/types-generic-union-alias/tree/txt
1444−/* src-434 %jibb /tests/golden/types-generic-union-import/source/jibb
1444+/* typ-434 %txt /tests/golden/types-generic-union-alias/types/txt
1445−/* tok-434 %txt /tests/golden/types-generic-union-import/tokens/txt
1445+/* src-435 %jibb /tests/golden/types-generic-union-alias-face/source/jibb
1446−/* tre-434 %txt /tests/golden/types-generic-union-import/tree/txt
1446+/* tok-435 %txt /tests/golden/types-generic-union-alias-face/tokens/txt
1447−/* mod-434-1 %jibb /tests/golden/types-generic-union-import/modules/ui/shared/jibb
1447+/* tre-435 %txt /tests/golden/types-generic-union-alias-face/tree/txt
1448−/* mod-434-2 %jibb /tests/golden/types-generic-union-import/modules/ui/twin/jibb
1448+/* mod-435-1 %jibb /tests/golden/types-generic-union-alias-face/modules/ui/base/jibb
1449−/* typ-434 %txt /tests/golden/types-generic-union-import/types/txt
1449+/* typ-435 %txt /tests/golden/types-generic-union-alias-face/types/txt
1450−/* mtre-434 %txt /tests/golden/types-generic-union-import/module-trees/txt
1450+/* mtre-435 %txt /tests/golden/types-generic-union-alias-face/module-trees/txt
1451−/* src-435 %jibb /tests/golden/types-generic-union-local/source/jibb
1451+/* src-436 %jibb /tests/golden/types-generic-union-capitals/source/jibb
1452−/* tok-435 %txt /tests/golden/types-generic-union-local/tokens/txt
1452+/* tok-436 %txt /tests/golden/types-generic-union-capitals/tokens/txt
1453−/* tre-435 %txt /tests/golden/types-generic-union-local/tree/txt
1453+/* tre-436 %txt /tests/golden/types-generic-union-capitals/tree/txt
1454−/* typ-435 %txt /tests/golden/types-generic-union-local/types/txt
1454+/* typ-436 %txt /tests/golden/types-generic-union-capitals/types/txt
1455−/* src-436 %jibb /tests/golden/types-generic-union-transitive/source/jibb
1455+/* src-437 %jibb /tests/golden/types-generic-union-errors/source/jibb
1456−/* tok-436 %txt /tests/golden/types-generic-union-transitive/tokens/txt
1456+/* tok-437 %txt /tests/golden/types-generic-union-errors/tokens/txt
1457−/* tre-436 %txt /tests/golden/types-generic-union-transitive/tree/txt
1457+/* tre-437 %txt /tests/golden/types-generic-union-errors/tree/txt
1458−/* mod-436-1 %jibb /tests/golden/types-generic-union-transitive/modules/ui/base/jibb
1458+/* typ-437 %txt /tests/golden/types-generic-union-errors/types/txt
1459−/* mod-436-2 %jibb /tests/golden/types-generic-union-transitive/modules/ui/mid/jibb
1459+/* src-438 %jibb /tests/golden/types-generic-union-escaping/source/jibb
1460−/* typ-436 %txt /tests/golden/types-generic-union-transitive/types/txt
1460+/* tok-438 %txt /tests/golden/types-generic-union-escaping/tokens/txt
1461−/* mtre-436 %txt /tests/golden/types-generic-union-transitive/module-trees/txt
1461+/* tre-438 %txt /tests/golden/types-generic-union-escaping/tree/txt
1462−/* src-437 %jibb /tests/golden/types-hole-concrete/source/jibb
1462+/* mod-438-1 %jibb /tests/golden/types-generic-union-escaping/modules/ui/base/jibb
1463−/* tok-437 %txt /tests/golden/types-hole-concrete/tokens/txt
1463+/* mod-438-2 %jibb /tests/golden/types-generic-union-escaping/modules/ui/mid/jibb
1464−/* tre-437 %txt /tests/golden/types-hole-concrete/tree/txt
1464+/* typ-438 %txt /tests/golden/types-generic-union-escaping/types/txt
1465−/* typ-437 %txt /tests/golden/types-hole-concrete/types/txt
1465+/* mtre-438 %txt /tests/golden/types-generic-union-escaping/module-trees/txt
1466−/* src-438 %jibb /tests/golden/types-hole-generic-mold/source/jibb
1466+/* src-439 %jibb /tests/golden/types-generic-union-import/source/jibb
1467−/* tok-438 %txt /tests/golden/types-hole-generic-mold/tokens/txt
1467+/* tok-439 %txt /tests/golden/types-generic-union-import/tokens/txt
1468−/* tre-438 %txt /tests/golden/types-hole-generic-mold/tree/txt
1468+/* tre-439 %txt /tests/golden/types-generic-union-import/tree/txt
1469−/* typ-438 %txt /tests/golden/types-hole-generic-mold/types/txt
1469+/* mod-439-1 %jibb /tests/golden/types-generic-union-import/modules/ui/shared/jibb
1470−/* src-439 %jibb /tests/golden/types-hole-local-boundary/source/jibb
1470+/* mod-439-2 %jibb /tests/golden/types-generic-union-import/modules/ui/twin/jibb
1471−/* tok-439 %txt /tests/golden/types-hole-local-boundary/tokens/txt
1471+/* typ-439 %txt /tests/golden/types-generic-union-import/types/txt
1472−/* tre-439 %txt /tests/golden/types-hole-local-boundary/tree/txt
1472+/* mtre-439 %txt /tests/golden/types-generic-union-import/module-trees/txt
1473−/* typ-439 %txt /tests/golden/types-hole-local-boundary/types/txt
1473+/* src-440 %jibb /tests/golden/types-generic-union-local/source/jibb
1474−/* src-440 %jibb /tests/golden/types-hole-module-boundary/source/jibb
1474+/* tok-440 %txt /tests/golden/types-generic-union-local/tokens/txt
1475−/* tok-440 %txt /tests/golden/types-hole-module-boundary/tokens/txt
1475+/* tre-440 %txt /tests/golden/types-generic-union-local/tree/txt
1476−/* tre-440 %txt /tests/golden/types-hole-module-boundary/tree/txt
1476+/* typ-440 %txt /tests/golden/types-generic-union-local/types/txt
1477−/* mod-440-1 %jibb /tests/golden/types-hole-module-boundary/modules/ui/lib/jibb
1477+/* src-441 %jibb /tests/golden/types-generic-union-transitive/source/jibb
1478−/* typ-440 %txt /tests/golden/types-hole-module-boundary/types/txt
1478+/* tok-441 %txt /tests/golden/types-generic-union-transitive/tokens/txt
1479−/* mtre-440 %txt /tests/golden/types-hole-module-boundary/module-trees/txt
1479+/* tre-441 %txt /tests/golden/types-generic-union-transitive/tree/txt
1480−/* src-441 %jibb /tests/golden/types-hole-named-complex/source/jibb
1480+/* mod-441-1 %jibb /tests/golden/types-generic-union-transitive/modules/ui/base/jibb
1481−/* tok-441 %txt /tests/golden/types-hole-named-complex/tokens/txt
1481+/* mod-441-2 %jibb /tests/golden/types-generic-union-transitive/modules/ui/mid/jibb
1482−/* tre-441 %txt /tests/golden/types-hole-named-complex/tree/txt
1482+/* typ-441 %txt /tests/golden/types-generic-union-transitive/types/txt
1483−/* typ-441 %txt /tests/golden/types-hole-named-complex/types/txt
1483+/* mtre-441 %txt /tests/golden/types-generic-union-transitive/module-trees/txt
1484−/* src-442 %jibb /tests/golden/types-hole-numeric-capture/source/jibb
1484+/* src-442 %jibb /tests/golden/types-hole-concrete/source/jibb
1485−/* tok-442 %txt /tests/golden/types-hole-numeric-capture/tokens/txt
1485+/* tok-442 %txt /tests/golden/types-hole-concrete/tokens/txt
1486−/* tre-442 %txt /tests/golden/types-hole-numeric-capture/tree/txt
1486+/* tre-442 %txt /tests/golden/types-hole-concrete/tree/txt
1487−/* typ-442 %txt /tests/golden/types-hole-numeric-capture/types/txt
1487+/* typ-442 %txt /tests/golden/types-hole-concrete/types/txt
1488−/* src-443 %jibb /tests/golden/types-hole-unbound-mold/source/jibb
1488+/* src-443 %jibb /tests/golden/types-hole-generic-mold/source/jibb
1489−/* tok-443 %txt /tests/golden/types-hole-unbound-mold/tokens/txt
1489+/* tok-443 %txt /tests/golden/types-hole-generic-mold/tokens/txt
1490−/* tre-443 %txt /tests/golden/types-hole-unbound-mold/tree/txt
1490+/* tre-443 %txt /tests/golden/types-hole-generic-mold/tree/txt
1491−/* typ-443 %txt /tests/golden/types-hole-unbound-mold/types/txt
1491+/* typ-443 %txt /tests/golden/types-hole-generic-mold/types/txt
1492−/* src-444 %jibb /tests/golden/types-hole-unsupported/source/jibb
1492+/* src-444 %jibb /tests/golden/types-hole-local-boundary/source/jibb
1493−/* tok-444 %txt /tests/golden/types-hole-unsupported/tokens/txt
1493+/* tok-444 %txt /tests/golden/types-hole-local-boundary/tokens/txt
1494−/* tre-444 %txt /tests/golden/types-hole-unsupported/tree/txt
1494+/* tre-444 %txt /tests/golden/types-hole-local-boundary/tree/txt
1495−/* typ-444 %txt /tests/golden/types-hole-unsupported/types/txt
1495+/* typ-444 %txt /tests/golden/types-hole-local-boundary/types/txt
1496−/* src-445 %jibb /tests/golden/types-hole-user-generic/source/jibb
1496+/* src-445 %jibb /tests/golden/types-hole-module-boundary/source/jibb
1497−/* tok-445 %txt /tests/golden/types-hole-user-generic/tokens/txt
1497+/* tok-445 %txt /tests/golden/types-hole-module-boundary/tokens/txt
1498−/* tre-445 %txt /tests/golden/types-hole-user-generic/tree/txt
1498+/* tre-445 %txt /tests/golden/types-hole-module-boundary/tree/txt
1499−/* typ-445 %txt /tests/golden/types-hole-user-generic/types/txt
1499+/* mod-445-1 %jibb /tests/golden/types-hole-module-boundary/modules/ui/lib/jibb
1500−/* src-446 %jibb /tests/golden/types-hole-user-named/source/jibb
1500+/* typ-445 %txt /tests/golden/types-hole-module-boundary/types/txt
1501−/* tok-446 %txt /tests/golden/types-hole-user-named/tokens/txt
1501+/* mtre-445 %txt /tests/golden/types-hole-module-boundary/module-trees/txt
1502−/* tre-446 %txt /tests/golden/types-hole-user-named/tree/txt
1502+/* src-446 %jibb /tests/golden/types-hole-named-complex/source/jibb
1503−/* typ-446 %txt /tests/golden/types-hole-user-named/types/txt
1503+/* tok-446 %txt /tests/golden/types-hole-named-complex/tokens/txt
1504−/* src-447 %jibb /tests/golden/types-hole-user-value/source/jibb
1504+/* tre-446 %txt /tests/golden/types-hole-named-complex/tree/txt
1505−/* tok-447 %txt /tests/golden/types-hole-user-value/tokens/txt
1505+/* typ-446 %txt /tests/golden/types-hole-named-complex/types/txt
1506−/* tre-447 %txt /tests/golden/types-hole-user-value/tree/txt
1506+/* src-447 %jibb /tests/golden/types-hole-numeric-capture/source/jibb
1507−/* typ-447 %txt /tests/golden/types-hole-user-value/types/txt
1507+/* tok-447 %txt /tests/golden/types-hole-numeric-capture/tokens/txt
1508−/* src-448 %jibb /tests/golden/types-import-duplicate-mark/source/jibb
1508+/* tre-447 %txt /tests/golden/types-hole-numeric-capture/tree/txt
1509−/* tok-448 %txt /tests/golden/types-import-duplicate-mark/tokens/txt
1509+/* typ-447 %txt /tests/golden/types-hole-numeric-capture/types/txt
1510−/* tre-448 %txt /tests/golden/types-import-duplicate-mark/tree/txt
1510+/* src-448 %jibb /tests/golden/types-hole-unbound-mold/source/jibb
1511−/* typ-448 %txt /tests/golden/types-import-duplicate-mark/types/txt
1511+/* tok-448 %txt /tests/golden/types-hole-unbound-mold/tokens/txt
1512−/* mark-448-1 %txt /tests/golden/types-import-duplicate-mark/mar/duplicate/txt
1512+/* tre-448 %txt /tests/golden/types-hole-unbound-mold/tree/txt
1513−/* src-449 %jibb /tests/golden/types-import-duplicate-sur/source/jibb
1513+/* typ-448 %txt /tests/golden/types-hole-unbound-mold/types/txt
1514−/* tok-449 %txt /tests/golden/types-import-duplicate-sur/tokens/txt
1514+/* src-449 %jibb /tests/golden/types-hole-unsupported/source/jibb
1515−/* tre-449 %txt /tests/golden/types-import-duplicate-sur/tree/txt
1515+/* tok-449 %txt /tests/golden/types-hole-unsupported/tokens/txt
1516−/* typ-449 %txt /tests/golden/types-import-duplicate-sur/types/txt
1516+/* tre-449 %txt /tests/golden/types-hole-unsupported/tree/txt
1517−/* imp-449-1 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1517+/* typ-449 %txt /tests/golden/types-hole-unsupported/types/txt
1518−/* imp-449-2 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1518+/* src-450 %jibb /tests/golden/types-hole-user-generic/source/jibb
1519−/* imp-449-3 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1519+/* tok-450 %txt /tests/golden/types-hole-user-generic/tokens/txt
1520−/* src-450 %jibb /tests/golden/types-import-hoon-flags/source/jibb
1520+/* tre-450 %txt /tests/golden/types-hole-user-generic/tree/txt
1521−/* tok-450 %txt /tests/golden/types-import-hoon-flags/tokens/txt
1521+/* typ-450 %txt /tests/golden/types-hole-user-generic/types/txt
1522−/* tre-450 %txt /tests/golden/types-import-hoon-flags/tree/txt
1522+/* src-451 %jibb /tests/golden/types-hole-user-named/source/jibb
1523−/* typ-450 %txt /tests/golden/types-import-hoon-flags/types/txt
1523+/* tok-451 %txt /tests/golden/types-hole-user-named/tokens/txt
1524−/* imp-450-1 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1524+/* tre-451 %txt /tests/golden/types-hole-user-named/tree/txt
1525−/* imp-450-2 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1525+/* typ-451 %txt /tests/golden/types-hole-user-named/types/txt
1526−/* imp-450-3 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1526+/* src-452 %jibb /tests/golden/types-hole-user-value/source/jibb
1527−/* imp-450-4 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1527+/* tok-452 %txt /tests/golden/types-hole-user-value/tokens/txt
1528−/* src-451 %jibb /tests/golden/types-import-hoon-noun/source/jibb
1528+/* tre-452 %txt /tests/golden/types-hole-user-value/tree/txt
1529−/* tok-451 %txt /tests/golden/types-import-hoon-noun/tokens/txt
1529+/* typ-452 %txt /tests/golden/types-hole-user-value/types/txt
1530−/* tre-451 %txt /tests/golden/types-import-hoon-noun/tree/txt
1530+/* src-453 %jibb /tests/golden/types-import-duplicate-mark/source/jibb
1531−/* typ-451 %txt /tests/golden/types-import-hoon-noun/types/txt
1531+/* tok-453 %txt /tests/golden/types-import-duplicate-mark/tokens/txt
1532−/* imp-451-1 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1532+/* tre-453 %txt /tests/golden/types-import-duplicate-mark/tree/txt
1533−/* imp-451-2 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1533+/* typ-453 %txt /tests/golden/types-import-duplicate-mark/types/txt
1534−/* imp-451-3 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1534+/* mark-453-1 %txt /tests/golden/types-import-duplicate-mark/mar/duplicate/txt
1535−/* imp-451-4 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1535+/* src-454 %jibb /tests/golden/types-import-duplicate-sur/source/jibb
1536−/* src-452 %jibb /tests/golden/types-import-mark/source/jibb
1536+/* tok-454 %txt /tests/golden/types-import-duplicate-sur/tokens/txt
1537−/* tok-452 %txt /tests/golden/types-import-mark/tokens/txt
1537+/* tre-454 %txt /tests/golden/types-import-duplicate-sur/tree/txt
1538−/* tre-452 %txt /tests/golden/types-import-mark/tree/txt
1538+/* typ-454 %txt /tests/golden/types-import-duplicate-sur/types/txt
1539−/* typ-452 %txt /tests/golden/types-import-mark/types/txt
1539+/* imp-454-1 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1540−/* imp-452-1 %txt /tests/golden/types-import-mark/sur/fixture/txt
1540+/* imp-454-2 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1541−/* mark-452-1 %txt /tests/golden/types-import-mark/mar/label/txt
1541+/* imp-454-3 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1542−/* src-453 %jibb /tests/golden/types-import-mark-record/source/jibb
1542+/* src-455 %jibb /tests/golden/types-import-hoon-flags/source/jibb
1543−/* tok-453 %txt /tests/golden/types-import-mark-record/tokens/txt
1543+/* tok-455 %txt /tests/golden/types-import-hoon-flags/tokens/txt
1544−/* tre-453 %txt /tests/golden/types-import-mark-record/tree/txt
1544+/* tre-455 %txt /tests/golden/types-import-hoon-flags/tree/txt
1545−/* typ-453 %txt /tests/golden/types-import-mark-record/types/txt
1545+/* typ-455 %txt /tests/golden/types-import-hoon-flags/types/txt
1546−/* mark-453-1 %txt /tests/golden/types-import-mark-record/mar/note/txt
1546+/* imp-455-1 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1547−/* mark-453-2 %txt /tests/golden/types-import-mark-record/mar/choice/txt
1547+/* imp-455-2 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1548−/* src-454 %jibb /tests/golden/types-import-missing-mold/source/jibb
1548+/* imp-455-3 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1549−/* tok-454 %txt /tests/golden/types-import-missing-mold/tokens/txt
1549+/* imp-455-4 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1550−/* tre-454 %txt /tests/golden/types-import-missing-mold/tree/txt
1550+/* src-456 %jibb /tests/golden/types-import-hoon-noun/source/jibb
1551−/* typ-454 %txt /tests/golden/types-import-missing-mold/types/txt
1551+/* tok-456 %txt /tests/golden/types-import-hoon-noun/tokens/txt
1552−/* imp-454-1 %txt /tests/golden/types-import-missing-mold/sur/fixture/txt
1552+/* tre-456 %txt /tests/golden/types-import-hoon-noun/tree/txt
1553−/* src-455 %jibb /tests/golden/types-import-sur/source/jibb
1553+/* typ-456 %txt /tests/golden/types-import-hoon-noun/types/txt
1554−/* tok-455 %txt /tests/golden/types-import-sur/tokens/txt
1554+/* imp-456-1 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1555−/* tre-455 %txt /tests/golden/types-import-sur/tree/txt
1555+/* imp-456-2 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1556−/* typ-455 %txt /tests/golden/types-import-sur/types/txt
1556+/* imp-456-3 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1557−/* imp-455-1 %txt /tests/golden/types-import-sur/sur/fixture/txt
1557+/* imp-456-4 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1558−/* imp-455-2 %txt /tests/golden/types-import-sur/sur/fixture/txt
1558+/* src-457 %jibb /tests/golden/types-import-mark/source/jibb
1559−/* src-456 %jibb /tests/golden/types-import-sur-record-graph/source/jibb
1559+/* tok-457 %txt /tests/golden/types-import-mark/tokens/txt
1560−/* tok-456 %txt /tests/golden/types-import-sur-record-graph/tokens/txt
1560+/* tre-457 %txt /tests/golden/types-import-mark/tree/txt
1561−/* tre-456 %txt /tests/golden/types-import-sur-record-graph/tree/txt
1561+/* typ-457 %txt /tests/golden/types-import-mark/types/txt
1562−/* mod-456-1 %jibb /tests/golden/types-import-sur-record-graph/modules/ui/lib/jibb
1562+/* imp-457-1 %txt /tests/golden/types-import-mark/sur/fixture/txt
1563−/* typ-456 %txt /tests/golden/types-import-sur-record-graph/types/txt
1563+/* mark-457-1 %txt /tests/golden/types-import-mark/mar/label/txt
1564−/* imp-456-1 %txt /tests/golden/types-import-sur-record-graph/sur/fixture/txt
1564+/* src-458 %jibb /tests/golden/types-import-mark-record/source/jibb
1565−/* mtre-456 %txt /tests/golden/types-import-sur-record-graph/module-trees/txt
1565+/* tok-458 %txt /tests/golden/types-import-mark-record/tokens/txt
1566−/* src-457 %jibb /tests/golden/types-import-tlon-notes/source/jibb
1566+/* tre-458 %txt /tests/golden/types-import-mark-record/tree/txt
1567−/* tok-457 %txt /tests/golden/types-import-tlon-notes/tokens/txt
1567+/* typ-458 %txt /tests/golden/types-import-mark-record/types/txt
1568−/* tre-457 %txt /tests/golden/types-import-tlon-notes/tree/txt
1568+/* mark-458-1 %txt /tests/golden/types-import-mark-record/mar/note/txt
1569−/* typ-457 %txt /tests/golden/types-import-tlon-notes/types/txt
1569+/* mark-458-2 %txt /tests/golden/types-import-mark-record/mar/choice/txt
1570−/* imp-457-1 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1570+/* src-459 %jibb /tests/golden/types-import-missing-mold/source/jibb
1571−/* imp-457-2 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1571+/* tok-459 %txt /tests/golden/types-import-missing-mold/tokens/txt
1572−/* imp-457-3 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1572+/* tre-459 %txt /tests/golden/types-import-missing-mold/tree/txt
1573−/* imp-457-4 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1573+/* typ-459 %txt /tests/golden/types-import-missing-mold/types/txt
1574−/* imp-457-5 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1574+/* imp-459-1 %txt /tests/golden/types-import-missing-mold/sur/fixture/txt
1575−/* imp-457-6 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1575+/* src-460 %jibb /tests/golden/types-import-sur/source/jibb
1576−/* imp-457-7 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1576+/* tok-460 %txt /tests/golden/types-import-sur/tokens/txt
1577−/* src-458 %jibb /tests/golden/types-list-branch/source/jibb
1577+/* tre-460 %txt /tests/golden/types-import-sur/tree/txt
1578−/* tok-458 %txt /tests/golden/types-list-branch/tokens/txt
1578+/* typ-460 %txt /tests/golden/types-import-sur/types/txt
1579−/* tre-458 %txt /tests/golden/types-list-branch/tree/txt
1579+/* imp-460-1 %txt /tests/golden/types-import-sur/sur/fixture/txt
1580−/* typ-458 %txt /tests/golden/types-list-branch/types/txt
1580+/* imp-460-2 %txt /tests/golden/types-import-sur/sur/fixture/txt
1581−/* src-459 %jibb /tests/golden/types-list-cons/source/jibb
1581+/* src-461 %jibb /tests/golden/types-import-sur-record-graph/source/jibb
1582−/* tok-459 %txt /tests/golden/types-list-cons/tokens/txt
1582+/* tok-461 %txt /tests/golden/types-import-sur-record-graph/tokens/txt
1583−/* tre-459 %txt /tests/golden/types-list-cons/tree/txt
1583+/* tre-461 %txt /tests/golden/types-import-sur-record-graph/tree/txt
1584−/* typ-459 %txt /tests/golden/types-list-cons/types/txt
1584+/* mod-461-1 %jibb /tests/golden/types-import-sur-record-graph/modules/ui/lib/jibb
1585−/* src-460 %jibb /tests/golden/types-list-context/source/jibb
1585+/* typ-461 %txt /tests/golden/types-import-sur-record-graph/types/txt
1586−/* tok-460 %txt /tests/golden/types-list-context/tokens/txt
1586+/* imp-461-1 %txt /tests/golden/types-import-sur-record-graph/sur/fixture/txt
1587−/* tre-460 %txt /tests/golden/types-list-context/tree/txt
1587+/* mtre-461 %txt /tests/golden/types-import-sur-record-graph/module-trees/txt
1588−/* typ-460 %txt /tests/golden/types-list-context/types/txt
1588+/* src-462 %jibb /tests/golden/types-import-tlon-notes/source/jibb
1589−/* src-461 %jibb /tests/golden/types-list-imported/source/jibb
1589+/* tok-462 %txt /tests/golden/types-import-tlon-notes/tokens/txt
1590−/* tok-461 %txt /tests/golden/types-list-imported/tokens/txt
1590+/* tre-462 %txt /tests/golden/types-import-tlon-notes/tree/txt
1591−/* tre-461 %txt /tests/golden/types-list-imported/tree/txt
1591+/* typ-462 %txt /tests/golden/types-import-tlon-notes/types/txt
1592−/* typ-461 %txt /tests/golden/types-list-imported/types/txt
1592+/* imp-462-1 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1593−/* imp-461-1 %txt /tests/golden/types-list-imported/sur/fixture/txt
1593+/* imp-462-2 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1594−/* imp-461-2 %txt /tests/golden/types-list-imported/sur/fixture/txt
1594+/* imp-462-3 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1595−/* src-462 %jibb /tests/golden/types-list-open/source/jibb
1595+/* imp-462-4 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1596−/* tok-462 %txt /tests/golden/types-list-open/tokens/txt
1596+/* imp-462-5 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1597−/* tre-462 %txt /tests/golden/types-list-open/tree/txt
1597+/* imp-462-6 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1598−/* typ-462 %txt /tests/golden/types-list-open/types/txt
1598+/* imp-462-7 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1599−/* src-463 %jibb /tests/golden/types-list-open-constraints/source/jibb
1599+/* src-463 %jibb /tests/golden/types-list-branch/source/jibb
1600−/* tok-463 %txt /tests/golden/types-list-open-constraints/tokens/txt
1600+/* tok-463 %txt /tests/golden/types-list-branch/tokens/txt
1601−/* tre-463 %txt /tests/golden/types-list-open-constraints/tree/txt
1601+/* tre-463 %txt /tests/golden/types-list-branch/tree/txt
1602−/* typ-463 %txt /tests/golden/types-list-open-constraints/types/txt
1602+/* typ-463 %txt /tests/golden/types-list-branch/types/txt
1603−/* src-464 %jibb /tests/golden/types-list-pattern-imported/source/jibb
1603+/* src-464 %jibb /tests/golden/types-list-cons/source/jibb
1604−/* tok-464 %txt /tests/golden/types-list-pattern-imported/tokens/txt
1604+/* tok-464 %txt /tests/golden/types-list-cons/tokens/txt
1605−/* tre-464 %txt /tests/golden/types-list-pattern-imported/tree/txt
1605+/* tre-464 %txt /tests/golden/types-list-cons/tree/txt
1606−/* typ-464 %txt /tests/golden/types-list-pattern-imported/types/txt
1606+/* typ-464 %txt /tests/golden/types-list-cons/types/txt
1607−/* imp-464-1 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1607+/* src-465 %jibb /tests/golden/types-list-context/source/jibb
1608−/* imp-464-2 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1608+/* tok-465 %txt /tests/golden/types-list-context/tokens/txt
1609−/* src-465 %jibb /tests/golden/types-list-patterns/source/jibb
1609+/* tre-465 %txt /tests/golden/types-list-context/tree/txt
1610−/* tok-465 %txt /tests/golden/types-list-patterns/tokens/txt
1610+/* typ-465 %txt /tests/golden/types-list-context/types/txt
1611−/* tre-465 %txt /tests/golden/types-list-patterns/tree/txt
1611+/* src-466 %jibb /tests/golden/types-list-imported/source/jibb
1612−/* typ-465 %txt /tests/golden/types-list-patterns/types/txt
1612+/* tok-466 %txt /tests/golden/types-list-imported/tokens/txt
1613−/* src-466 %jibb /tests/golden/types-list-zero-fit/source/jibb
1613+/* tre-466 %txt /tests/golden/types-list-imported/tree/txt
1614−/* tok-466 %txt /tests/golden/types-list-zero-fit/tokens/txt
1614+/* typ-466 %txt /tests/golden/types-list-imported/types/txt
1615−/* tre-466 %txt /tests/golden/types-list-zero-fit/tree/txt
1615+/* imp-466-1 %txt /tests/golden/types-list-imported/sur/fixture/txt
1616−/* typ-466 %txt /tests/golden/types-list-zero-fit/types/txt
1616+/* imp-466-2 %txt /tests/golden/types-list-imported/sur/fixture/txt
1617−/* src-467 %jibb /tests/golden/types-local-capitals/source/jibb
1617+/* src-467 %jibb /tests/golden/types-list-open/source/jibb
1618−/* tok-467 %txt /tests/golden/types-local-capitals/tokens/txt
1618+/* tok-467 %txt /tests/golden/types-list-open/tokens/txt
1619−/* tre-467 %txt /tests/golden/types-local-capitals/tree/txt
1619+/* tre-467 %txt /tests/golden/types-list-open/tree/txt
1620−/* typ-467 %txt /tests/golden/types-local-capitals/types/txt
1620+/* typ-467 %txt /tests/golden/types-list-open/types/txt
1621−/* src-468 %jibb /tests/golden/types-local-recursive/source/jibb
1621+/* src-468 %jibb /tests/golden/types-list-open-constraints/source/jibb
1622−/* tok-468 %txt /tests/golden/types-local-recursive/tokens/txt
1622+/* tok-468 %txt /tests/golden/types-list-open-constraints/tokens/txt
1623−/* tre-468 %txt /tests/golden/types-local-recursive/tree/txt
1623+/* tre-468 %txt /tests/golden/types-list-open-constraints/tree/txt
1624−/* typ-468 %txt /tests/golden/types-local-recursive/types/txt
1624+/* typ-468 %txt /tests/golden/types-list-open-constraints/types/txt
1625−/* src-469 %jibb /tests/golden/types-local-scc/source/jibb
1625+/* src-469 %jibb /tests/golden/types-list-pattern-imported/source/jibb
1626−/* tok-469 %txt /tests/golden/types-local-scc/tokens/txt
1626+/* tok-469 %txt /tests/golden/types-list-pattern-imported/tokens/txt
1627−/* tre-469 %txt /tests/golden/types-local-scc/tree/txt
1627+/* tre-469 %txt /tests/golden/types-list-pattern-imported/tree/txt
1628−/* typ-469 %txt /tests/golden/types-local-scc/types/txt
1628+/* typ-469 %txt /tests/golden/types-list-pattern-imported/types/txt
1629−/* src-470 %jibb /tests/golden/types-local-scc-adversarial/source/jibb
1629+/* imp-469-1 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1630−/* tok-470 %txt /tests/golden/types-local-scc-adversarial/tokens/txt
1630+/* imp-469-2 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1631−/* tre-470 %txt /tests/golden/types-local-scc-adversarial/tree/txt
1631+/* src-470 %jibb /tests/golden/types-list-patterns/source/jibb
1632−/* typ-470 %txt /tests/golden/types-local-scc-adversarial/types/txt
1632+/* tok-470 %txt /tests/golden/types-list-patterns/tokens/txt
1633−/* src-471 %jibb /tests/golden/types-missing-tag-context/source/jibb
1633+/* tre-470 %txt /tests/golden/types-list-patterns/tree/txt
1634−/* tok-471 %txt /tests/golden/types-missing-tag-context/tokens/txt
1634+/* typ-470 %txt /tests/golden/types-list-patterns/types/txt
1635−/* tre-471 %txt /tests/golden/types-missing-tag-context/tree/txt
1635+/* src-471 %jibb /tests/golden/types-list-zero-fit/source/jibb
1636−/* typ-471 %txt /tests/golden/types-missing-tag-context/types/txt
1636+/* tok-471 %txt /tests/golden/types-list-zero-fit/tokens/txt
1637−/* src-472 %jibb /tests/golden/types-missing-tag-imported/source/jibb
1637+/* tre-471 %txt /tests/golden/types-list-zero-fit/tree/txt
1638−/* tok-472 %txt /tests/golden/types-missing-tag-imported/tokens/txt
1638+/* typ-471 %txt /tests/golden/types-list-zero-fit/types/txt
1639−/* tre-472 %txt /tests/golden/types-missing-tag-imported/tree/txt
1639+/* src-472 %jibb /tests/golden/types-local-capitals/source/jibb
1640−/* typ-472 %txt /tests/golden/types-missing-tag-imported/types/txt
1640+/* tok-472 %txt /tests/golden/types-local-capitals/tokens/txt
1641−/* imp-472-1 %txt /tests/golden/types-missing-tag-imported/sur/fixture/txt
1641+/* tre-472 %txt /tests/golden/types-local-capitals/tree/txt
1642−/* imp-472-2 %txt /tests/golden/types-missing-tag-imported/sur/fixture/txt
1642+/* typ-472 %txt /tests/golden/types-local-capitals/types/txt
1643−/* src-473 %jibb /tests/golden/types-missing-tag-named/source/jibb
1643+/* src-473 %jibb /tests/golden/types-local-recursive/source/jibb
1644−/* tok-473 %txt /tests/golden/types-missing-tag-named/tokens/txt
1644+/* tok-473 %txt /tests/golden/types-local-recursive/tokens/txt
1645−/* tre-473 %txt /tests/golden/types-missing-tag-named/tree/txt
1645+/* tre-473 %txt /tests/golden/types-local-recursive/tree/txt
1646−/* typ-473 %txt /tests/golden/types-missing-tag-named/types/txt
1646+/* typ-473 %txt /tests/golden/types-local-recursive/types/txt
1647−/* src-474 %jibb /tests/golden/types-module-field-duplicate/source/jibb
1647+/* src-474 %jibb /tests/golden/types-local-scc/source/jibb
1648−/* tok-474 %txt /tests/golden/types-module-field-duplicate/tokens/txt
1648+/* tok-474 %txt /tests/golden/types-local-scc/tokens/txt
1649−/* tre-474 %txt /tests/golden/types-module-field-duplicate/tree/txt
1649+/* tre-474 %txt /tests/golden/types-local-scc/tree/txt
1650−/* mod-474-1 %jibb /tests/golden/types-module-field-duplicate/modules/ui/lib/jibb
1650+/* typ-474 %txt /tests/golden/types-local-scc/types/txt
1651−/* typ-474 %txt /tests/golden/types-module-field-duplicate/types/txt
1651+/* src-475 %jibb /tests/golden/types-local-scc-adversarial/source/jibb
1652−/* mtre-474 %txt /tests/golden/types-module-field-duplicate/module-trees/txt
1652+/* tok-475 %txt /tests/golden/types-local-scc-adversarial/tokens/txt
1653−/* src-475 %jibb /tests/golden/types-module-field-nonrecord/source/jibb
1653+/* tre-475 %txt /tests/golden/types-local-scc-adversarial/tree/txt
1654−/* tok-475 %txt /tests/golden/types-module-field-nonrecord/tokens/txt
1654+/* typ-475 %txt /tests/golden/types-local-scc-adversarial/types/txt
1655−/* tre-475 %txt /tests/golden/types-module-field-nonrecord/tree/txt
1655+/* src-476 %jibb /tests/golden/types-missing-tag-context/source/jibb
1656−/* mod-475-1 %jibb /tests/golden/types-module-field-nonrecord/modules/ui/lib/jibb
1656+/* tok-476 %txt /tests/golden/types-missing-tag-context/tokens/txt
1657−/* typ-475 %txt /tests/golden/types-module-field-nonrecord/types/txt
1657+/* tre-476 %txt /tests/golden/types-missing-tag-context/tree/txt
1658−/* mtre-475 %txt /tests/golden/types-module-field-nonrecord/module-trees/txt
1658+/* typ-476 %txt /tests/golden/types-missing-tag-context/types/txt
1659−/* src-476 %jibb /tests/golden/types-module-field-path/source/jibb
1659+/* src-477 %jibb /tests/golden/types-missing-tag-imported/source/jibb
1660−/* tok-476 %txt /tests/golden/types-module-field-path/tokens/txt
1660+/* tok-477 %txt /tests/golden/types-missing-tag-imported/tokens/txt
1661−/* tre-476 %txt /tests/golden/types-module-field-path/tree/txt
1661+/* tre-477 %txt /tests/golden/types-missing-tag-imported/tree/txt
1662−/* mod-476-1 %jibb /tests/golden/types-module-field-path/modules/ui/lib/jibb
1662+/* typ-477 %txt /tests/golden/types-missing-tag-imported/types/txt
1663−/* typ-476 %txt /tests/golden/types-module-field-path/types/txt
1663+/* imp-477-1 %txt /tests/golden/types-missing-tag-imported/sur/fixture/txt
1664−/* mtre-476 %txt /tests/golden/types-module-field-path/module-trees/txt
1664+/* imp-477-2 %txt /tests/golden/types-missing-tag-imported/sur/fixture/txt
1665−/* src-477 %jibb /tests/golden/types-module-field-shadow/source/jibb
1665+/* src-478 %jibb /tests/golden/types-missing-tag-named/source/jibb
1666−/* tok-477 %txt /tests/golden/types-module-field-shadow/tokens/txt
1666+/* tok-478 %txt /tests/golden/types-missing-tag-named/tokens/txt
1667−/* tre-477 %txt /tests/golden/types-module-field-shadow/tree/txt
1667+/* tre-478 %txt /tests/golden/types-missing-tag-named/tree/txt
1668−/* mod-477-1 %jibb /tests/golden/types-module-field-shadow/modules/ui/lib/jibb
1668+/* typ-478 %txt /tests/golden/types-missing-tag-named/types/txt
1669−/* typ-477 %txt /tests/golden/types-module-field-shadow/types/txt
1669+/* src-479 %jibb /tests/golden/types-module-field-duplicate/source/jibb
1670−/* mtre-477 %txt /tests/golden/types-module-field-shadow/module-trees/txt
1670+/* tok-479 %txt /tests/golden/types-module-field-duplicate/tokens/txt
1671−/* src-478 %jibb /tests/golden/types-module-fixtures/source/jibb
1671+/* tre-479 %txt /tests/golden/types-module-field-duplicate/tree/txt
1672−/* tok-478 %txt /tests/golden/types-module-fixtures/tokens/txt
1672+/* mod-479-1 %jibb /tests/golden/types-module-field-duplicate/modules/ui/lib/jibb
1673−/* tre-478 %txt /tests/golden/types-module-fixtures/tree/txt
1673+/* typ-479 %txt /tests/golden/types-module-field-duplicate/types/txt
1674−/* mod-478-1 %jibb /tests/golden/types-module-fixtures/modules/ui/api/blog/jibb
1674+/* mtre-479 %txt /tests/golden/types-module-field-duplicate/module-trees/txt
1675−/* mod-478-2 %jibb /tests/golden/types-module-fixtures/modules/ui/components/card/jibb
1675+/* src-480 %jibb /tests/golden/types-module-field-nonrecord/source/jibb
1676−/* typ-478 %txt /tests/golden/types-module-fixtures/types/txt
1676+/* tok-480 %txt /tests/golden/types-module-field-nonrecord/tokens/txt
1677−/* mtre-478 %txt /tests/golden/types-module-fixtures/module-trees/txt
1677+/* tre-480 %txt /tests/golden/types-module-field-nonrecord/tree/txt
1678−/* src-479 %jibb /tests/golden/types-module-mixed/source/jibb
1678+/* mod-480-1 %jibb /tests/golden/types-module-field-nonrecord/modules/ui/lib/jibb
1679−/* tok-479 %txt /tests/golden/types-module-mixed/tokens/txt
1679+/* typ-480 %txt /tests/golden/types-module-field-nonrecord/types/txt
1680−/* tre-479 %txt /tests/golden/types-module-mixed/tree/txt
1680+/* mtre-480 %txt /tests/golden/types-module-field-nonrecord/module-trees/txt
1681−/* mod-479-1 %jibb /tests/golden/types-module-mixed/modules/ui/helper/jibb
1681+/* src-481 %jibb /tests/golden/types-module-field-path/source/jibb
1682−/* typ-479 %txt /tests/golden/types-module-mixed/types/txt
1682+/* tok-481 %txt /tests/golden/types-module-field-path/tokens/txt
1683−/* imp-479-1 %txt /tests/golden/types-module-mixed/sur/fixture/txt
1683+/* tre-481 %txt /tests/golden/types-module-field-path/tree/txt
1684−/* mark-479-1 %txt /tests/golden/types-module-mixed/mar/label/txt
1684+/* mod-481-1 %jibb /tests/golden/types-module-field-path/modules/ui/lib/jibb
1685−/* mtre-479 %txt /tests/golden/types-module-mixed/module-trees/txt
1685+/* typ-481 %txt /tests/golden/types-module-field-path/types/txt
1686−/* src-480 %jibb /tests/golden/types-multi-call/source/jibb
1686+/* mtre-481 %txt /tests/golden/types-module-field-path/module-trees/txt
1687−/* tok-480 %txt /tests/golden/types-multi-call/tokens/txt
1687+/* src-482 %jibb /tests/golden/types-module-field-shadow/source/jibb
1688−/* tre-480 %txt /tests/golden/types-multi-call/tree/txt
1688+/* tok-482 %txt /tests/golden/types-module-field-shadow/tokens/txt
1689−/* typ-480 %txt /tests/golden/types-multi-call/types/txt
1689+/* tre-482 %txt /tests/golden/types-module-field-shadow/tree/txt
1690−/* src-481 %jibb /tests/golden/types-multi-import/source/jibb
1690+/* mod-482-1 %jibb /tests/golden/types-module-field-shadow/modules/ui/lib/jibb
1691−/* tok-481 %txt /tests/golden/types-multi-import/tokens/txt
1691+/* typ-482 %txt /tests/golden/types-module-field-shadow/types/txt
1692−/* tre-481 %txt /tests/golden/types-multi-import/tree/txt
1692+/* mtre-482 %txt /tests/golden/types-module-field-shadow/module-trees/txt
1693−/* mod-481-1 %jibb /tests/golden/types-multi-import/modules/ui/lib/jibb
1693+/* src-483 %jibb /tests/golden/types-module-fixtures/source/jibb
1694−/* typ-481 %txt /tests/golden/types-multi-import/types/txt
1694+/* tok-483 %txt /tests/golden/types-module-fixtures/tokens/txt
1695−/* mtre-481 %txt /tests/golden/types-multi-import/module-trees/txt
1695+/* tre-483 %txt /tests/golden/types-module-fixtures/tree/txt
1696−/* src-482 %jibb /tests/golden/types-nested-missing-tag/source/jibb
1696+/* mod-483-1 %jibb /tests/golden/types-module-fixtures/modules/ui/api/blog/jibb
1697−/* tok-482 %txt /tests/golden/types-nested-missing-tag/tokens/txt
1697+/* mod-483-2 %jibb /tests/golden/types-module-fixtures/modules/ui/components/card/jibb
1698−/* tre-482 %txt /tests/golden/types-nested-missing-tag/tree/txt
1698+/* typ-483 %txt /tests/golden/types-module-fixtures/types/txt
1699−/* typ-482 %txt /tests/golden/types-nested-missing-tag/types/txt
1699+/* mtre-483 %txt /tests/golden/types-module-fixtures/module-trees/txt
1700−/* src-483 %jibb /tests/golden/types-null-context/source/jibb
1700+/* src-484 %jibb /tests/golden/types-module-mixed/source/jibb
1701−/* tok-483 %txt /tests/golden/types-null-context/tokens/txt
1701+/* tok-484 %txt /tests/golden/types-module-mixed/tokens/txt
1702−/* tre-483 %txt /tests/golden/types-null-context/tree/txt
1702+/* tre-484 %txt /tests/golden/types-module-mixed/tree/txt
1703−/* typ-483 %txt /tests/golden/types-null-context/types/txt
1703+/* mod-484-1 %jibb /tests/golden/types-module-mixed/modules/ui/helper/jibb
1704−/* src-484 %jibb /tests/golden/types-null-overlap/source/jibb
1704+/* typ-484 %txt /tests/golden/types-module-mixed/types/txt
1705−/* tok-484 %txt /tests/golden/types-null-overlap/tokens/txt
1705+/* imp-484-1 %txt /tests/golden/types-module-mixed/sur/fixture/txt
1706−/* tre-484 %txt /tests/golden/types-null-overlap/tree/txt
1706+/* mark-484-1 %txt /tests/golden/types-module-mixed/mar/label/txt
1707−/* typ-484 %txt /tests/golden/types-null-overlap/types/txt
1707+/* mtre-484 %txt /tests/golden/types-module-mixed/module-trees/txt
1708−/* src-485 %jibb /tests/golden/types-null-unresolved/source/jibb
1708+/* src-485 %jibb /tests/golden/types-multi-call/source/jibb
1709−/* tok-485 %txt /tests/golden/types-null-unresolved/tokens/txt
1709+/* tok-485 %txt /tests/golden/types-multi-call/tokens/txt
1710−/* tre-485 %txt /tests/golden/types-null-unresolved/tree/txt
1710+/* tre-485 %txt /tests/golden/types-multi-call/tree/txt
1711−/* typ-485 %txt /tests/golden/types-null-unresolved/types/txt
1711+/* typ-485 %txt /tests/golden/types-multi-call/types/txt
1712−/* src-486 %jibb /tests/golden/types-pair-context/source/jibb
1712+/* src-486 %jibb /tests/golden/types-multi-import/source/jibb
1713−/* tok-486 %txt /tests/golden/types-pair-context/tokens/txt
1713+/* tok-486 %txt /tests/golden/types-multi-import/tokens/txt
1714−/* tre-486 %txt /tests/golden/types-pair-context/tree/txt
1714+/* tre-486 %txt /tests/golden/types-multi-import/tree/txt
1715−/* typ-486 %txt /tests/golden/types-pair-context/types/txt
1715+/* mod-486-1 %jibb /tests/golden/types-multi-import/modules/ui/lib/jibb
1716−/* src-487 %jibb /tests/golden/types-partial-apply/source/jibb
1716+/* typ-486 %txt /tests/golden/types-multi-import/types/txt
1717−/* tok-487 %txt /tests/golden/types-partial-apply/tokens/txt
1717+/* mtre-486 %txt /tests/golden/types-multi-import/module-trees/txt
1718−/* tre-487 %txt /tests/golden/types-partial-apply/tree/txt
1718+/* src-487 %jibb /tests/golden/types-nested-missing-tag/source/jibb
1719−/* typ-487 %txt /tests/golden/types-partial-apply/types/txt
1719+/* tok-487 %txt /tests/golden/types-nested-missing-tag/tokens/txt
1720−/* src-488 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1720+/* tre-487 %txt /tests/golden/types-nested-missing-tag/tree/txt
1721−/* tok-488 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1721+/* typ-487 %txt /tests/golden/types-nested-missing-tag/types/txt
1722−/* tre-488 %txt /tests/golden/types-partial-atom-alias/tree/txt
1722+/* src-488 %jibb /tests/golden/types-null-context/source/jibb
1723−/* typ-488 %txt /tests/golden/types-partial-atom-alias/types/txt
1723+/* tok-488 %txt /tests/golden/types-null-context/tokens/txt
1724−/* src-489 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1724+/* tre-488 %txt /tests/golden/types-null-context/tree/txt
1725−/* tok-489 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1725+/* typ-488 %txt /tests/golden/types-null-context/types/txt
1726−/* tre-489 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1726+/* src-489 %jibb /tests/golden/types-null-overlap/source/jibb
1727−/* typ-489 %txt /tests/golden/types-partial-atom-constraint/types/txt
1727+/* tok-489 %txt /tests/golden/types-null-overlap/tokens/txt
1728−/* src-490 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1728+/* tre-489 %txt /tests/golden/types-null-overlap/tree/txt
1729−/* tok-490 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1729+/* typ-489 %txt /tests/golden/types-null-overlap/types/txt
1730−/* tre-490 %txt /tests/golden/types-partial-atom-widening/tree/txt
1730+/* src-490 %jibb /tests/golden/types-null-unresolved/source/jibb
1731−/* typ-490 %txt /tests/golden/types-partial-atom-widening/types/txt
1731+/* tok-490 %txt /tests/golden/types-null-unresolved/tokens/txt
1732−/* src-491 %jibb /tests/golden/types-partial-aura/source/jibb
1732+/* tre-490 %txt /tests/golden/types-null-unresolved/tree/txt
1733−/* tok-491 %txt /tests/golden/types-partial-aura/tokens/txt
1733+/* typ-490 %txt /tests/golden/types-null-unresolved/types/txt
1734−/* tre-491 %txt /tests/golden/types-partial-aura/tree/txt
1734+/* src-491 %jibb /tests/golden/types-pair-context/source/jibb
1735−/* typ-491 %txt /tests/golden/types-partial-aura/types/txt
1735+/* tok-491 %txt /tests/golden/types-pair-context/tokens/txt
1736−/* src-492 %jibb /tests/golden/types-partial-aura-family/source/jibb
1736+/* tre-491 %txt /tests/golden/types-pair-context/tree/txt
1737−/* tok-492 %txt /tests/golden/types-partial-aura-family/tokens/txt
1737+/* typ-491 %txt /tests/golden/types-pair-context/types/txt
1738−/* tre-492 %txt /tests/golden/types-partial-aura-family/tree/txt
1738+/* src-492 %jibb /tests/golden/types-partial-apply/source/jibb
1739−/* typ-492 %txt /tests/golden/types-partial-aura-family/types/txt
1739+/* tok-492 %txt /tests/golden/types-partial-apply/tokens/txt
1740−/* src-493 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1740+/* tre-492 %txt /tests/golden/types-partial-apply/tree/txt
1741−/* tok-493 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1741+/* typ-492 %txt /tests/golden/types-partial-apply/types/txt
1742−/* tre-493 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1742+/* src-493 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1743−/* typ-493 %txt /tests/golden/types-partial-aura-generalization/types/txt
1743+/* tok-493 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1744−/* src-494 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1744+/* tre-493 %txt /tests/golden/types-partial-atom-alias/tree/txt
1745−/* tok-494 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1745+/* typ-493 %txt /tests/golden/types-partial-atom-alias/types/txt
1746−/* tre-494 %txt /tests/golden/types-partial-bare-atom/tree/txt
1746+/* src-494 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1747−/* typ-494 %txt /tests/golden/types-partial-bare-atom/types/txt
1747+/* tok-494 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1748−/* src-495 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1748+/* tre-494 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1749−/* tok-495 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1749+/* typ-494 %txt /tests/golden/types-partial-atom-constraint/types/txt
1750−/* tre-495 %txt /tests/golden/types-partial-branch-widening/tree/txt
1750+/* src-495 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1751−/* typ-495 %txt /tests/golden/types-partial-branch-widening/types/txt
1751+/* tok-495 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1752−/* src-496 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1752+/* tre-495 %txt /tests/golden/types-partial-atom-widening/tree/txt
1753−/* tok-496 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1753+/* typ-495 %txt /tests/golden/types-partial-atom-widening/types/txt
1754−/* tre-496 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1754+/* src-496 %jibb /tests/golden/types-partial-aura/source/jibb
1755−/* typ-496 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1755+/* tok-496 %txt /tests/golden/types-partial-aura/tokens/txt
1756−/* src-497 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1756+/* tre-496 %txt /tests/golden/types-partial-aura/tree/txt
1757−/* tok-497 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1757+/* typ-496 %txt /tests/golden/types-partial-aura/types/txt
1758−/* tre-497 %txt /tests/golden/types-partial-decimal-default/tree/txt
1758+/* src-497 %jibb /tests/golden/types-partial-aura-family/source/jibb
1759−/* typ-497 %txt /tests/golden/types-partial-decimal-default/types/txt
1759+/* tok-497 %txt /tests/golden/types-partial-aura-family/tokens/txt
1760−/* src-498 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1760+/* tre-497 %txt /tests/golden/types-partial-aura-family/tree/txt
1761−/* tok-498 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1761+/* typ-497 %txt /tests/golden/types-partial-aura-family/types/txt
1762−/* tre-498 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1762+/* src-498 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1763−/* typ-498 %txt /tests/golden/types-partial-dependency-chain/types/txt
1763+/* tok-498 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1764−/* src-499 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1764+/* tre-498 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1765−/* tok-499 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1765+/* typ-498 %txt /tests/golden/types-partial-aura-generalization/types/txt
1766−/* tre-499 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1766+/* src-499 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1767−/* typ-499 %txt /tests/golden/types-partial-explicit-capital/types/txt
1767+/* tok-499 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1768−/* src-500 %jibb /tests/golden/types-partial-forward/source/jibb
1768+/* tre-499 %txt /tests/golden/types-partial-bare-atom/tree/txt
1769−/* tok-500 %txt /tests/golden/types-partial-forward/tokens/txt
1769+/* typ-499 %txt /tests/golden/types-partial-bare-atom/types/txt
1770−/* tre-500 %txt /tests/golden/types-partial-forward/tree/txt
1770+/* src-500 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1771−/* typ-500 %txt /tests/golden/types-partial-forward/types/txt
1771+/* tok-500 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1772−/* src-501 %jibb /tests/golden/types-partial-generalization/source/jibb
1772+/* tre-500 %txt /tests/golden/types-partial-branch-widening/tree/txt
1773−/* tok-501 %txt /tests/golden/types-partial-generalization/tokens/txt
1773+/* typ-500 %txt /tests/golden/types-partial-branch-widening/types/txt
1774−/* tre-501 %txt /tests/golden/types-partial-generalization/tree/txt
1774+/* src-501 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1775−/* typ-501 %txt /tests/golden/types-partial-generalization/types/txt
1775+/* tok-501 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1776−/* src-502 %jibb /tests/golden/types-partial-identity/source/jibb
1776+/* tre-501 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1777−/* tok-502 %txt /tests/golden/types-partial-identity/tokens/txt
1777+/* typ-501 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1778−/* tre-502 %txt /tests/golden/types-partial-identity/tree/txt
1778+/* src-502 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1779−/* typ-502 %txt /tests/golden/types-partial-identity/types/txt
1779+/* tok-502 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1780−/* src-503 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1780+/* tre-502 %txt /tests/golden/types-partial-decimal-default/tree/txt
1781−/* tok-503 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1781+/* typ-502 %txt /tests/golden/types-partial-decimal-default/types/txt
1782−/* tre-503 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1782+/* src-503 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1783−/* typ-503 %txt /tests/golden/types-partial-independent-atoms/types/txt
1783+/* tok-503 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1784−/* src-504 %jibb /tests/golden/types-partial-local-molds/source/jibb
1784+/* tre-503 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1785−/* tok-504 %txt /tests/golden/types-partial-local-molds/tokens/txt
1785+/* typ-503 %txt /tests/golden/types-partial-dependency-chain/types/txt
1786−/* tre-504 %txt /tests/golden/types-partial-local-molds/tree/txt
1786+/* src-504 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1787−/* typ-504 %txt /tests/golden/types-partial-local-molds/types/txt
1787+/* tok-504 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1788−/* src-505 %jibb /tests/golden/types-partial-locals/source/jibb
1788+/* tre-504 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1789−/* tok-505 %txt /tests/golden/types-partial-locals/tokens/txt
1789+/* typ-504 %txt /tests/golden/types-partial-explicit-capital/types/txt
1790−/* tre-505 %txt /tests/golden/types-partial-locals/tree/txt
1790+/* src-505 %jibb /tests/golden/types-partial-forward/source/jibb
1791−/* typ-505 %txt /tests/golden/types-partial-locals/types/txt
1791+/* tok-505 %txt /tests/golden/types-partial-forward/tokens/txt
1792−/* src-506 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1792+/* tre-505 %txt /tests/golden/types-partial-forward/tree/txt
1793−/* tok-506 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1793+/* typ-505 %txt /tests/golden/types-partial-forward/types/txt
1794−/* tre-506 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1794+/* src-506 %jibb /tests/golden/types-partial-generalization/source/jibb
1795−/* typ-506 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1795+/* tok-506 %txt /tests/golden/types-partial-generalization/tokens/txt
1796−/* src-507 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1796+/* tre-506 %txt /tests/golden/types-partial-generalization/tree/txt
1797−/* tok-507 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1797+/* typ-506 %txt /tests/golden/types-partial-generalization/types/txt
1798−/* tre-507 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1798+/* src-507 %jibb /tests/golden/types-partial-identity/source/jibb
1799−/* typ-507 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1799+/* tok-507 %txt /tests/golden/types-partial-identity/tokens/txt
1800−/* src-508 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1800+/* tre-507 %txt /tests/golden/types-partial-identity/tree/txt
1801−/* tok-508 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1801+/* typ-507 %txt /tests/golden/types-partial-identity/types/txt
1802−/* tre-508 %txt /tests/golden/types-partial-mold-composite/tree/txt
1802+/* src-508 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1803−/* typ-508 %txt /tests/golden/types-partial-mold-composite/types/txt
1803+/* tok-508 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1804−/* src-509 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1804+/* tre-508 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1805−/* tok-509 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1805+/* typ-508 %txt /tests/golden/types-partial-independent-atoms/types/txt
1806−/* tre-509 %txt /tests/golden/types-partial-mold-forward/tree/txt
1806+/* src-509 %jibb /tests/golden/types-partial-local-molds/source/jibb
1807−/* typ-509 %txt /tests/golden/types-partial-mold-forward/types/txt
1807+/* tok-509 %txt /tests/golden/types-partial-local-molds/tokens/txt
1808−/* src-510 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1808+/* tre-509 %txt /tests/golden/types-partial-local-molds/tree/txt
1809−/* tok-510 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1809+/* typ-509 %txt /tests/golden/types-partial-local-molds/types/txt
1810−/* tre-510 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1810+/* src-510 %jibb /tests/golden/types-partial-locals/source/jibb
1811−/* typ-510 %txt /tests/golden/types-partial-mold-recursive/types/txt
1811+/* tok-510 %txt /tests/golden/types-partial-locals/tokens/txt
1812−/* src-511 %jibb /tests/golden/types-partial-occurs/source/jibb
1812+/* tre-510 %txt /tests/golden/types-partial-locals/tree/txt
1813−/* tok-511 %txt /tests/golden/types-partial-occurs/tokens/txt
1813+/* typ-510 %txt /tests/golden/types-partial-locals/types/txt
1814−/* tre-511 %txt /tests/golden/types-partial-occurs/tree/txt
1814+/* src-511 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1815−/* typ-511 %txt /tests/golden/types-partial-occurs/types/txt
1815+/* tok-511 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1816−/* src-512 %jibb /tests/golden/types-partial-projection/source/jibb
1816+/* tre-511 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1817−/* tok-512 %txt /tests/golden/types-partial-projection/tokens/txt
1817+/* typ-511 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1818−/* tre-512 %txt /tests/golden/types-partial-projection/tree/txt
1818+/* src-512 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1819−/* typ-512 %txt /tests/golden/types-partial-projection/types/txt
1819+/* tok-512 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1820−/* src-513 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1820+/* tre-512 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1821−/* tok-513 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1821+/* typ-512 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1822−/* tre-513 %txt /tests/golden/types-partial-shadow-global/tree/txt
1822+/* src-513 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1823−/* typ-513 %txt /tests/golden/types-partial-shadow-global/types/txt
1823+/* tok-513 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1824−/* src-514 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1824+/* tre-513 %txt /tests/golden/types-partial-mold-composite/tree/txt
1825−/* tok-514 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1825+/* typ-513 %txt /tests/golden/types-partial-mold-composite/types/txt
1826−/* tre-514 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1826+/* src-514 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1827−/* typ-514 %txt /tests/golden/types-partial-shared-tvar/types/txt
1827+/* tok-514 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1828−/* src-515 %jibb /tests/golden/types-partial-union-cases/source/jibb
1828+/* tre-514 %txt /tests/golden/types-partial-mold-forward/tree/txt
1829−/* tok-515 %txt /tests/golden/types-partial-union-cases/tokens/txt
1829+/* typ-514 %txt /tests/golden/types-partial-mold-forward/types/txt
1830−/* tre-515 %txt /tests/golden/types-partial-union-cases/tree/txt
1830+/* src-515 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1831−/* typ-515 %txt /tests/golden/types-partial-union-cases/types/txt
1831+/* tok-515 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1832−/* src-516 %jibb /tests/golden/types-partial-union-edges/source/jibb
1832+/* tre-515 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1833−/* tok-516 %txt /tests/golden/types-partial-union-edges/tokens/txt
1833+/* typ-515 %txt /tests/golden/types-partial-mold-recursive/types/txt
1834−/* tre-516 %txt /tests/golden/types-partial-union-edges/tree/txt
1834+/* src-516 %jibb /tests/golden/types-partial-occurs/source/jibb
1835−/* typ-516 %txt /tests/golden/types-partial-union-edges/types/txt
1835+/* tok-516 %txt /tests/golden/types-partial-occurs/tokens/txt
1836−/* src-517 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1836+/* tre-516 %txt /tests/golden/types-partial-occurs/tree/txt
1837−/* tok-517 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1837+/* typ-516 %txt /tests/golden/types-partial-occurs/types/txt
1838−/* tre-517 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1838+/* src-517 %jibb /tests/golden/types-partial-projection/source/jibb
1839−/* typ-517 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1839+/* tok-517 %txt /tests/golden/types-partial-projection/tokens/txt
1840−/* src-518 %jibb /tests/golden/types-prelude-arithmetic/source/jibb
1840+/* tre-517 %txt /tests/golden/types-partial-projection/tree/txt
1841−/* tok-518 %txt /tests/golden/types-prelude-arithmetic/tokens/txt
1841+/* typ-517 %txt /tests/golden/types-partial-projection/types/txt
1842−/* tre-518 %txt /tests/golden/types-prelude-arithmetic/tree/txt
1842+/* src-518 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1843−/* typ-518 %txt /tests/golden/types-prelude-arithmetic/types/txt
1843+/* tok-518 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1844−/* src-519 %jibb /tests/golden/types-prelude-bond/source/jibb
1844+/* tre-518 %txt /tests/golden/types-partial-shadow-global/tree/txt
1845−/* tok-519 %txt /tests/golden/types-prelude-bond/tokens/txt
1845+/* typ-518 %txt /tests/golden/types-partial-shadow-global/types/txt
1846−/* tre-519 %txt /tests/golden/types-prelude-bond/tree/txt
1846+/* src-519 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1847−/* typ-519 %txt /tests/golden/types-prelude-bond/types/txt
1847+/* tok-519 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1848−/* src-520 %jibb /tests/golden/types-prelude-cmd/source/jibb
1848+/* tre-519 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1849−/* tok-520 %txt /tests/golden/types-prelude-cmd/tokens/txt
1849+/* typ-519 %txt /tests/golden/types-partial-shared-tvar/types/txt
1850−/* tre-520 %txt /tests/golden/types-prelude-cmd/tree/txt
1850+/* src-520 %jibb /tests/golden/types-partial-union-cases/source/jibb
1851−/* typ-520 %txt /tests/golden/types-prelude-cmd/types/txt
1851+/* tok-520 %txt /tests/golden/types-partial-union-cases/tokens/txt
1852−/* src-521 %jibb /tests/golden/types-prelude-direct/source/jibb
1852+/* tre-520 %txt /tests/golden/types-partial-union-cases/tree/txt
1853−/* tok-521 %txt /tests/golden/types-prelude-direct/tokens/txt
1853+/* typ-520 %txt /tests/golden/types-partial-union-cases/types/txt
1854−/* tre-521 %txt /tests/golden/types-prelude-direct/tree/txt
1854+/* src-521 %jibb /tests/golden/types-partial-union-edges/source/jibb
1855−/* typ-521 %txt /tests/golden/types-prelude-direct/types/txt
1855+/* tok-521 %txt /tests/golden/types-partial-union-edges/tokens/txt
1856−/* src-522 %jibb /tests/golden/types-prelude-functional/source/jibb
1856+/* tre-521 %txt /tests/golden/types-partial-union-edges/tree/txt
1857−/* tok-522 %txt /tests/golden/types-prelude-functional/tokens/txt
1857+/* typ-521 %txt /tests/golden/types-partial-union-edges/types/txt
1858−/* tre-522 %txt /tests/golden/types-prelude-functional/tree/txt
1858+/* src-522 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1859−/* typ-522 %txt /tests/golden/types-prelude-functional/types/txt
1859+/* tok-522 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1860−/* src-523 %jibb /tests/golden/types-prelude-interface/source/jibb
1860+/* tre-522 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1861−/* tok-523 %txt /tests/golden/types-prelude-interface/tokens/txt
1861+/* typ-522 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1862−/* tre-523 %txt /tests/golden/types-prelude-interface/tree/txt
1862+/* src-523 %jibb /tests/golden/types-prelude-arithmetic/source/jibb
1863−/* mod-523-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1863+/* tok-523 %txt /tests/golden/types-prelude-arithmetic/tokens/txt
1864−/* mod-523-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1864+/* tre-523 %txt /tests/golden/types-prelude-arithmetic/tree/txt
1865−/* typ-523 %txt /tests/golden/types-prelude-interface/types/txt
1865+/* typ-523 %txt /tests/golden/types-prelude-arithmetic/types/txt
1866−/* mtre-523 %txt /tests/golden/types-prelude-interface/module-trees/txt
1866+/* src-524 %jibb /tests/golden/types-prelude-bond/source/jibb
1867−/* src-524 %jibb /tests/golden/types-prelude-list-alias/source/jibb
1867+/* tok-524 %txt /tests/golden/types-prelude-bond/tokens/txt
1868−/* tok-524 %txt /tests/golden/types-prelude-list-alias/tokens/txt
1868+/* tre-524 %txt /tests/golden/types-prelude-bond/tree/txt
1869−/* tre-524 %txt /tests/golden/types-prelude-list-alias/tree/txt
1869+/* typ-524 %txt /tests/golden/types-prelude-bond/types/txt
1870−/* typ-524 %txt /tests/golden/types-prelude-list-alias/types/txt
1870+/* src-525 %jibb /tests/golden/types-prelude-cmd/source/jibb
1871−/* src-525 %jibb /tests/golden/types-prelude-list-functions/source/jibb
1871+/* tok-525 %txt /tests/golden/types-prelude-cmd/tokens/txt
1872−/* tok-525 %txt /tests/golden/types-prelude-list-functions/tokens/txt
1872+/* tre-525 %txt /tests/golden/types-prelude-cmd/tree/txt
1873−/* tre-525 %txt /tests/golden/types-prelude-list-functions/tree/txt
1873+/* typ-525 %txt /tests/golden/types-prelude-cmd/types/txt
1874−/* mod-525-1 %jibb /tests/golden/types-prelude-list-functions/modules/ui/lib/jibb
1874+/* src-526 %jibb /tests/golden/types-prelude-direct/source/jibb
1875−/* typ-525 %txt /tests/golden/types-prelude-list-functions/types/txt
1875+/* tok-526 %txt /tests/golden/types-prelude-direct/tokens/txt
1876−/* mtre-525 %txt /tests/golden/types-prelude-list-functions/module-trees/txt
1876+/* tre-526 %txt /tests/golden/types-prelude-direct/tree/txt
1877−/* src-526 %jibb /tests/golden/types-prelude-list-helpers/source/jibb
1877+/* typ-526 %txt /tests/golden/types-prelude-direct/types/txt
1878−/* tok-526 %txt /tests/golden/types-prelude-list-helpers/tokens/txt
1878+/* src-527 %jibb /tests/golden/types-prelude-functional/source/jibb
1879−/* tre-526 %txt /tests/golden/types-prelude-list-helpers/tree/txt
1879+/* tok-527 %txt /tests/golden/types-prelude-functional/tokens/txt
1880−/* typ-526 %txt /tests/golden/types-prelude-list-helpers/types/txt
1880+/* tre-527 %txt /tests/golden/types-prelude-functional/tree/txt
1881−/* src-527 %jibb /tests/golden/types-prelude-predicates/source/jibb
1881+/* typ-527 %txt /tests/golden/types-prelude-functional/types/txt
1882−/* tok-527 %txt /tests/golden/types-prelude-predicates/tokens/txt
1882+/* src-528 %jibb /tests/golden/types-prelude-interface/source/jibb
1883−/* tre-527 %txt /tests/golden/types-prelude-predicates/tree/txt
1883+/* tok-528 %txt /tests/golden/types-prelude-interface/tokens/txt
1884−/* typ-527 %txt /tests/golden/types-prelude-predicates/types/txt
1884+/* tre-528 %txt /tests/golden/types-prelude-interface/tree/txt
1885−/* src-528 %jibb /tests/golden/types-prelude-unit-helpers/source/jibb
1885+/* mod-528-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1886−/* tok-528 %txt /tests/golden/types-prelude-unit-helpers/tokens/txt
1886+/* mod-528-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1887−/* tre-528 %txt /tests/golden/types-prelude-unit-helpers/tree/txt
1887+/* typ-528 %txt /tests/golden/types-prelude-interface/types/txt
1888−/* typ-528 %txt /tests/golden/types-prelude-unit-helpers/types/txt
1888+/* mtre-528 %txt /tests/golden/types-prelude-interface/module-trees/txt
1889−/* src-529 %jibb /tests/golden/types-proj-explicit-context/source/jibb
1889+/* src-529 %jibb /tests/golden/types-prelude-list-alias/source/jibb
1890−/* tok-529 %txt /tests/golden/types-proj-explicit-context/tokens/txt
1890+/* tok-529 %txt /tests/golden/types-prelude-list-alias/tokens/txt
1891−/* tre-529 %txt /tests/golden/types-proj-explicit-context/tree/txt
1891+/* tre-529 %txt /tests/golden/types-prelude-list-alias/tree/txt
1892−/* typ-529 %txt /tests/golden/types-proj-explicit-context/types/txt
1892+/* typ-529 %txt /tests/golden/types-prelude-list-alias/types/txt
1893−/* src-530 %jibb /tests/golden/types-proj-nested-no-implicit/source/jibb
1893+/* src-530 %jibb /tests/golden/types-prelude-list-functions/source/jibb
1894−/* tok-530 %txt /tests/golden/types-proj-nested-no-implicit/tokens/txt
1894+/* tok-530 %txt /tests/golden/types-prelude-list-functions/tokens/txt
1895−/* tre-530 %txt /tests/golden/types-proj-nested-no-implicit/tree/txt
1895+/* tre-530 %txt /tests/golden/types-prelude-list-functions/tree/txt
1896−/* typ-530 %txt /tests/golden/types-proj-nested-no-implicit/types/txt
1896+/* mod-530-1 %jibb /tests/golden/types-prelude-list-functions/modules/ui/lib/jibb
1897−/* src-531 %jibb /tests/golden/types-proj-reserved-imported-definition/source/jibb
1897+/* typ-530 %txt /tests/golden/types-prelude-list-functions/types/txt
1898−/* tok-531 %txt /tests/golden/types-proj-reserved-imported-definition/tokens/txt
1898+/* mtre-530 %txt /tests/golden/types-prelude-list-functions/module-trees/txt
1899−/* tre-531 %txt /tests/golden/types-proj-reserved-imported-definition/tree/txt
1899+/* src-531 %jibb /tests/golden/types-prelude-list-helpers/source/jibb
1900−/* mod-531-1 %jibb /tests/golden/types-proj-reserved-imported-definition/modules/ui/lib/jibb
1900+/* tok-531 %txt /tests/golden/types-prelude-list-helpers/tokens/txt
1901−/* typ-531 %txt /tests/golden/types-proj-reserved-imported-definition/types/txt
1901+/* tre-531 %txt /tests/golden/types-prelude-list-helpers/tree/txt
1902−/* mtre-531 %txt /tests/golden/types-proj-reserved-imported-definition/module-trees/txt
1902+/* typ-531 %txt /tests/golden/types-prelude-list-helpers/types/txt
1903−/* src-532 %jibb /tests/golden/types-proj-reserved-jibb-import/source/jibb
1903+/* src-532 %jibb /tests/golden/types-prelude-predicates/source/jibb
1904−/* tok-532 %txt /tests/golden/types-proj-reserved-jibb-import/tokens/txt
1904+/* tok-532 %txt /tests/golden/types-prelude-predicates/tokens/txt
1905−/* tre-532 %txt /tests/golden/types-proj-reserved-jibb-import/tree/txt
1905+/* tre-532 %txt /tests/golden/types-prelude-predicates/tree/txt
1906−/* mod-532-1 %jibb /tests/golden/types-proj-reserved-jibb-import/modules/ui/lib/jibb
1906+/* typ-532 %txt /tests/golden/types-prelude-predicates/types/txt
1907−/* typ-532 %txt /tests/golden/types-proj-reserved-jibb-import/types/txt
1907+/* src-533 %jibb /tests/golden/types-prelude-unit-helpers/source/jibb
1908−/* mtre-532 %txt /tests/golden/types-proj-reserved-jibb-import/module-trees/txt
1908+/* tok-533 %txt /tests/golden/types-prelude-unit-helpers/tokens/txt
1909−/* src-533 %jibb /tests/golden/types-proj-reserved-local/source/jibb
1909+/* tre-533 %txt /tests/golden/types-prelude-unit-helpers/tree/txt
1910−/* tok-533 %txt /tests/golden/types-proj-reserved-local/tokens/txt
1910+/* typ-533 %txt /tests/golden/types-prelude-unit-helpers/types/txt
1911−/* tre-533 %txt /tests/golden/types-proj-reserved-local/tree/txt
1911+/* src-534 %jibb /tests/golden/types-proj-explicit-context/source/jibb
1912−/* typ-533 %txt /tests/golden/types-proj-reserved-local/types/txt
1912+/* tok-534 %txt /tests/golden/types-proj-explicit-context/tokens/txt
1913−/* src-534 %jibb /tests/golden/types-proj-reserved-local-mold/source/jibb
1913+/* tre-534 %txt /tests/golden/types-proj-explicit-context/tree/txt
1914−/* tok-534 %txt /tests/golden/types-proj-reserved-local-mold/tokens/txt
1914+/* typ-534 %txt /tests/golden/types-proj-explicit-context/types/txt
1915−/* tre-534 %txt /tests/golden/types-proj-reserved-local-mold/tree/txt
1915+/* src-535 %jibb /tests/golden/types-proj-nested-no-implicit/source/jibb
1916−/* typ-534 %txt /tests/golden/types-proj-reserved-local-mold/types/txt
1916+/* tok-535 %txt /tests/golden/types-proj-nested-no-implicit/tokens/txt
1917−/* src-535 %jibb /tests/golden/types-proj-reserved-mark-import/source/jibb
1917+/* tre-535 %txt /tests/golden/types-proj-nested-no-implicit/tree/txt
1918−/* tok-535 %txt /tests/golden/types-proj-reserved-mark-import/tokens/txt
1918+/* typ-535 %txt /tests/golden/types-proj-nested-no-implicit/types/txt
1919−/* tre-535 %txt /tests/golden/types-proj-reserved-mark-import/tree/txt
1919+/* src-536 %jibb /tests/golden/types-proj-reserved-imported-definition/source/jibb
1920−/* typ-535 %txt /tests/golden/types-proj-reserved-mark-import/types/txt
1920+/* tok-536 %txt /tests/golden/types-proj-reserved-imported-definition/tokens/txt
1921−/* src-536 %jibb /tests/golden/types-proj-reserved-mold/source/jibb
1921+/* tre-536 %txt /tests/golden/types-proj-reserved-imported-definition/tree/txt
1922−/* tok-536 %txt /tests/golden/types-proj-reserved-mold/tokens/txt
1922+/* mod-536-1 %jibb /tests/golden/types-proj-reserved-imported-definition/modules/ui/lib/jibb
1923−/* tre-536 %txt /tests/golden/types-proj-reserved-mold/tree/txt
1923+/* typ-536 %txt /tests/golden/types-proj-reserved-imported-definition/types/txt
1924−/* typ-536 %txt /tests/golden/types-proj-reserved-mold/types/txt
1924+/* mtre-536 %txt /tests/golden/types-proj-reserved-imported-definition/module-trees/txt
1925−/* src-537 %jibb /tests/golden/types-proj-reserved-pattern/source/jibb
1925+/* src-537 %jibb /tests/golden/types-proj-reserved-jibb-import/source/jibb
1926−/* tok-537 %txt /tests/golden/types-proj-reserved-pattern/tokens/txt
1926+/* tok-537 %txt /tests/golden/types-proj-reserved-jibb-import/tokens/txt
1927−/* tre-537 %txt /tests/golden/types-proj-reserved-pattern/tree/txt
1927+/* tre-537 %txt /tests/golden/types-proj-reserved-jibb-import/tree/txt
1928−/* typ-537 %txt /tests/golden/types-proj-reserved-pattern/types/txt
1928+/* mod-537-1 %jibb /tests/golden/types-proj-reserved-jibb-import/modules/ui/lib/jibb
1929−/* src-538 %jibb /tests/golden/types-proj-reserved-positive/source/jibb
1929+/* typ-537 %txt /tests/golden/types-proj-reserved-jibb-import/types/txt
1930−/* tok-538 %txt /tests/golden/types-proj-reserved-positive/tokens/txt
1930+/* mtre-537 %txt /tests/golden/types-proj-reserved-jibb-import/module-trees/txt
1931−/* tre-538 %txt /tests/golden/types-proj-reserved-positive/tree/txt
1931+/* src-538 %jibb /tests/golden/types-proj-reserved-local/source/jibb
1932−/* typ-538 %txt /tests/golden/types-proj-reserved-positive/types/txt
1932+/* tok-538 %txt /tests/golden/types-proj-reserved-local/tokens/txt
1933−/* src-539 %jibb /tests/golden/types-proj-reserved-sample/source/jibb
1933+/* tre-538 %txt /tests/golden/types-proj-reserved-local/tree/txt
1934−/* tok-539 %txt /tests/golden/types-proj-reserved-sample/tokens/txt
1934+/* typ-538 %txt /tests/golden/types-proj-reserved-local/types/txt
1935−/* tre-539 %txt /tests/golden/types-proj-reserved-sample/tree/txt
1935+/* src-539 %jibb /tests/golden/types-proj-reserved-local-mold/source/jibb
1936−/* typ-539 %txt /tests/golden/types-proj-reserved-sample/types/txt
1936+/* tok-539 %txt /tests/golden/types-proj-reserved-local-mold/tokens/txt
1937−/* src-540 %jibb /tests/golden/types-proj-reserved-sur-import/source/jibb
1937+/* tre-539 %txt /tests/golden/types-proj-reserved-local-mold/tree/txt
1938−/* tok-540 %txt /tests/golden/types-proj-reserved-sur-import/tokens/txt
1938+/* typ-539 %txt /tests/golden/types-proj-reserved-local-mold/types/txt
1939−/* tre-540 %txt /tests/golden/types-proj-reserved-sur-import/tree/txt
1939+/* src-540 %jibb /tests/golden/types-proj-reserved-mark-import/source/jibb
1940−/* typ-540 %txt /tests/golden/types-proj-reserved-sur-import/types/txt
1940+/* tok-540 %txt /tests/golden/types-proj-reserved-mark-import/tokens/txt
1941−/* src-541 %jibb /tests/golden/types-proj-reserved-unused-pattern/source/jibb
1941+/* tre-540 %txt /tests/golden/types-proj-reserved-mark-import/tree/txt
1942−/* tok-541 %txt /tests/golden/types-proj-reserved-unused-pattern/tokens/txt
1942+/* typ-540 %txt /tests/golden/types-proj-reserved-mark-import/types/txt
1943−/* tre-541 %txt /tests/golden/types-proj-reserved-unused-pattern/tree/txt
1943+/* src-541 %jibb /tests/golden/types-proj-reserved-mold/source/jibb
1944−/* typ-541 %txt /tests/golden/types-proj-reserved-unused-pattern/types/txt
1944+/* tok-541 %txt /tests/golden/types-proj-reserved-mold/tokens/txt
1945−/* src-542 %jibb /tests/golden/types-proj-reserved-unused-sample/source/jibb
1945+/* tre-541 %txt /tests/golden/types-proj-reserved-mold/tree/txt
1946−/* tok-542 %txt /tests/golden/types-proj-reserved-unused-sample/tokens/txt
1946+/* typ-541 %txt /tests/golden/types-proj-reserved-mold/types/txt
1947−/* tre-542 %txt /tests/golden/types-proj-reserved-unused-sample/tree/txt
1947+/* src-542 %jibb /tests/golden/types-proj-reserved-pattern/source/jibb
1948−/* typ-542 %txt /tests/golden/types-proj-reserved-unused-sample/types/txt
1948+/* tok-542 %txt /tests/golden/types-proj-reserved-pattern/tokens/txt
1949−/* src-543 %jibb /tests/golden/types-proj-reserved-unused-value/source/jibb
1949+/* tre-542 %txt /tests/golden/types-proj-reserved-pattern/tree/txt
1950−/* tok-543 %txt /tests/golden/types-proj-reserved-unused-value/tokens/txt
1950+/* typ-542 %txt /tests/golden/types-proj-reserved-pattern/types/txt
1951−/* tre-543 %txt /tests/golden/types-proj-reserved-unused-value/tree/txt
1951+/* src-543 %jibb /tests/golden/types-proj-reserved-positive/source/jibb
1952−/* typ-543 %txt /tests/golden/types-proj-reserved-unused-value/types/txt
1952+/* tok-543 %txt /tests/golden/types-proj-reserved-positive/tokens/txt
1953−/* src-544 %jibb /tests/golden/types-proj-reserved-value/source/jibb
1953+/* tre-543 %txt /tests/golden/types-proj-reserved-positive/tree/txt
1954−/* tok-544 %txt /tests/golden/types-proj-reserved-value/tokens/txt
1954+/* typ-543 %txt /tests/golden/types-proj-reserved-positive/types/txt
1955−/* tre-544 %txt /tests/golden/types-proj-reserved-value/tree/txt
1955+/* src-544 %jibb /tests/golden/types-proj-reserved-sample/source/jibb
1956−/* typ-544 %txt /tests/golden/types-proj-reserved-value/types/txt
1956+/* tok-544 %txt /tests/golden/types-proj-reserved-sample/tokens/txt
1957−/* src-545 %jibb /tests/golden/types-proj-single-duplicate/source/jibb
1957+/* tre-544 %txt /tests/golden/types-proj-reserved-sample/tree/txt
1958−/* tok-545 %txt /tests/golden/types-proj-single-duplicate/tokens/txt
1958+/* typ-544 %txt /tests/golden/types-proj-reserved-sample/types/txt
1959−/* tre-545 %txt /tests/golden/types-proj-single-duplicate/tree/txt
1959+/* src-545 %jibb /tests/golden/types-proj-reserved-sur-import/source/jibb
1960−/* typ-545 %txt /tests/golden/types-proj-single-duplicate/types/txt
1960+/* tok-545 %txt /tests/golden/types-proj-reserved-sur-import/tokens/txt
1961−/* src-546 %jibb /tests/golden/types-proj-single-field/source/jibb
1961+/* tre-545 %txt /tests/golden/types-proj-reserved-sur-import/tree/txt
1962−/* tok-546 %txt /tests/golden/types-proj-single-field/tokens/txt
1962+/* typ-545 %txt /tests/golden/types-proj-reserved-sur-import/types/txt
1963−/* tre-546 %txt /tests/golden/types-proj-single-field/tree/txt
1963+/* src-546 %jibb /tests/golden/types-proj-reserved-unused-pattern/source/jibb
1964−/* typ-546 %txt /tests/golden/types-proj-single-field/types/txt
1964+/* tok-546 %txt /tests/golden/types-proj-reserved-unused-pattern/tokens/txt
1965−/* src-547 %jibb /tests/golden/types-proj-single-sample-face/source/jibb
1965+/* tre-546 %txt /tests/golden/types-proj-reserved-unused-pattern/tree/txt
1966−/* tok-547 %txt /tests/golden/types-proj-single-sample-face/tokens/txt
1966+/* typ-546 %txt /tests/golden/types-proj-reserved-unused-pattern/types/txt
1967−/* tre-547 %txt /tests/golden/types-proj-single-sample-face/tree/txt
1967+/* src-547 %jibb /tests/golden/types-proj-reserved-unused-sample/source/jibb
1968−/* typ-547 %txt /tests/golden/types-proj-single-sample-face/types/txt
1968+/* tok-547 %txt /tests/golden/types-proj-reserved-unused-sample/tokens/txt
1969−/* src-548 %jibb /tests/golden/types-proj-single-wrapped/source/jibb
1969+/* tre-547 %txt /tests/golden/types-proj-reserved-unused-sample/tree/txt
1970−/* tok-548 %txt /tests/golden/types-proj-single-wrapped/tokens/txt
1970+/* typ-547 %txt /tests/golden/types-proj-reserved-unused-sample/types/txt
1971−/* tre-548 %txt /tests/golden/types-proj-single-wrapped/tree/txt
1971+/* src-548 %jibb /tests/golden/types-proj-reserved-unused-value/source/jibb
1972−/* typ-548 %txt /tests/golden/types-proj-single-wrapped/types/txt
1972+/* tok-548 %txt /tests/golden/types-proj-reserved-unused-value/tokens/txt
1973−/* src-549 %jibb /tests/golden/types-qath-faces/source/jibb
1973+/* tre-548 %txt /tests/golden/types-proj-reserved-unused-value/tree/txt
1974−/* tok-549 %txt /tests/golden/types-qath-faces/tokens/txt
1974+/* typ-548 %txt /tests/golden/types-proj-reserved-unused-value/types/txt
1975−/* tre-549 %txt /tests/golden/types-qath-faces/tree/txt
1975+/* src-549 %jibb /tests/golden/types-proj-reserved-value/source/jibb
1976−/* typ-549 %txt /tests/golden/types-qath-faces/types/txt
1976+/* tok-549 %txt /tests/golden/types-proj-reserved-value/tokens/txt
1977−/* src-550 %jibb /tests/golden/types-qath-holes/source/jibb
1977+/* tre-549 %txt /tests/golden/types-proj-reserved-value/tree/txt
1978−/* tok-550 %txt /tests/golden/types-qath-holes/tokens/txt
1978+/* typ-549 %txt /tests/golden/types-proj-reserved-value/types/txt
1979−/* tre-550 %txt /tests/golden/types-qath-holes/tree/txt
1979+/* src-550 %jibb /tests/golden/types-proj-single-duplicate/source/jibb
1980−/* typ-550 %txt /tests/golden/types-qath-holes/types/txt
1980+/* tok-550 %txt /tests/golden/types-proj-single-duplicate/tokens/txt
1981−/* src-551 %jibb /tests/golden/types-qath-module-identity/source/jibb
1981+/* tre-550 %txt /tests/golden/types-proj-single-duplicate/tree/txt
1982−/* tok-551 %txt /tests/golden/types-qath-module-identity/tokens/txt
1982+/* typ-550 %txt /tests/golden/types-proj-single-duplicate/types/txt
1983−/* tre-551 %txt /tests/golden/types-qath-module-identity/tree/txt
1983+/* src-551 %jibb /tests/golden/types-proj-single-field/source/jibb
1984−/* mod-551-1 %jibb /tests/golden/types-qath-module-identity/modules/ui/one/jibb
1984+/* tok-551 %txt /tests/golden/types-proj-single-field/tokens/txt
1985−/* mod-551-2 %jibb /tests/golden/types-qath-module-identity/modules/ui/two/jibb
1985+/* tre-551 %txt /tests/golden/types-proj-single-field/tree/txt
1986−/* mod-551-3 %jibb /tests/golden/types-qath-module-identity/modules/ui/mid/jibb
1986+/* typ-551 %txt /tests/golden/types-proj-single-field/types/txt
1987−/* typ-551 %txt /tests/golden/types-qath-module-identity/types/txt
1987+/* src-552 %jibb /tests/golden/types-proj-single-sample-face/source/jibb
1988−/* mtre-551 %txt /tests/golden/types-qath-module-identity/module-trees/txt
1988+/* tok-552 %txt /tests/golden/types-proj-single-sample-face/tokens/txt
1989−/* src-552 %jibb /tests/golden/types-qath-recursive/source/jibb
1989+/* tre-552 %txt /tests/golden/types-proj-single-sample-face/tree/txt
1990−/* tok-552 %txt /tests/golden/types-qath-recursive/tokens/txt
1990+/* typ-552 %txt /tests/golden/types-proj-single-sample-face/types/txt
1991−/* tre-552 %txt /tests/golden/types-qath-recursive/tree/txt
1991+/* src-553 %jibb /tests/golden/types-proj-single-wrapped/source/jibb
1992−/* typ-552 %txt /tests/golden/types-qath-recursive/types/txt
1992+/* tok-553 %txt /tests/golden/types-proj-single-wrapped/tokens/txt
1993−/* src-553 %jibb /tests/golden/types-record-bound-variable/source/jibb
1993+/* tre-553 %txt /tests/golden/types-proj-single-wrapped/tree/txt
1994−/* tok-553 %txt /tests/golden/types-record-bound-variable/tokens/txt
1994+/* typ-553 %txt /tests/golden/types-proj-single-wrapped/types/txt
1995−/* tre-553 %txt /tests/golden/types-record-bound-variable/tree/txt
1995+/* src-554 %jibb /tests/golden/types-qath-faces/source/jibb
1996−/* typ-553 %txt /tests/golden/types-record-bound-variable/types/txt
1996+/* tok-554 %txt /tests/golden/types-qath-faces/tokens/txt
1997−/* src-554 %jibb /tests/golden/types-record-cast-context/source/jibb
1997+/* tre-554 %txt /tests/golden/types-qath-faces/tree/txt
1998−/* tok-554 %txt /tests/golden/types-record-cast-context/tokens/txt
1998+/* typ-554 %txt /tests/golden/types-qath-faces/types/txt
1999−/* tre-554 %txt /tests/golden/types-record-cast-context/tree/txt
1999+/* src-555 %jibb /tests/golden/types-qath-holes/source/jibb
2000−/* typ-554 %txt /tests/golden/types-record-cast-context/types/txt
2000+/* tok-555 %txt /tests/golden/types-qath-holes/tokens/txt
2001−/* src-555 %jibb /tests/golden/types-record-change/source/jibb
2001+/* tre-555 %txt /tests/golden/types-qath-holes/tree/txt
2002−/* tok-555 %txt /tests/golden/types-record-change/tokens/txt
2002+/* typ-555 %txt /tests/golden/types-qath-holes/types/txt
2003−/* tre-555 %txt /tests/golden/types-record-change/tree/txt
2003+/* src-556 %jibb /tests/golden/types-qath-module-identity/source/jibb
2004−/* typ-555 %txt /tests/golden/types-record-change/types/txt
2004+/* tok-556 %txt /tests/golden/types-qath-module-identity/tokens/txt
2005−/* src-556 %jibb /tests/golden/types-record-change-generic/source/jibb
2005+/* tre-556 %txt /tests/golden/types-qath-module-identity/tree/txt
2006−/* tok-556 %txt /tests/golden/types-record-change-generic/tokens/txt
2006+/* mod-556-1 %jibb /tests/golden/types-qath-module-identity/modules/ui/one/jibb
2007−/* tre-556 %txt /tests/golden/types-record-change-generic/tree/txt
2007+/* mod-556-2 %jibb /tests/golden/types-qath-module-identity/modules/ui/two/jibb
2008−/* typ-556 %txt /tests/golden/types-record-change-generic/types/txt
2008+/* mod-556-3 %jibb /tests/golden/types-qath-module-identity/modules/ui/mid/jibb
2009−/* src-557 %jibb /tests/golden/types-record-faces/source/jibb
2009+/* typ-556 %txt /tests/golden/types-qath-module-identity/types/txt
2010−/* tok-557 %txt /tests/golden/types-record-faces/tokens/txt
2010+/* mtre-556 %txt /tests/golden/types-qath-module-identity/module-trees/txt
2011−/* tre-557 %txt /tests/golden/types-record-faces/tree/txt
2011+/* src-557 %jibb /tests/golden/types-qath-recursive/source/jibb
2012−/* typ-557 %txt /tests/golden/types-record-faces/types/txt
2012+/* tok-557 %txt /tests/golden/types-qath-recursive/tokens/txt
2013−/* src-558 %jibb /tests/golden/types-record-field-edit-separate/source/jibb
2013+/* tre-557 %txt /tests/golden/types-qath-recursive/tree/txt
2014−/* tok-558 %txt /tests/golden/types-record-field-edit-separate/tokens/txt
2014+/* typ-557 %txt /tests/golden/types-qath-recursive/types/txt
2015−/* tre-558 %txt /tests/golden/types-record-field-edit-separate/tree/txt
2015+/* src-558 %jibb /tests/golden/types-record-bound-variable/source/jibb
2016−/* typ-558 %txt /tests/golden/types-record-field-edit-separate/types/txt
2016+/* tok-558 %txt /tests/golden/types-record-bound-variable/tokens/txt
2017−/* src-559 %jibb /tests/golden/types-record-field-expr-duplicate/source/jibb
2017+/* tre-558 %txt /tests/golden/types-record-bound-variable/tree/txt
2018−/* tok-559 %txt /tests/golden/types-record-field-expr-duplicate/tokens/txt
2018+/* typ-558 %txt /tests/golden/types-record-bound-variable/types/txt
2019−/* tre-559 %txt /tests/golden/types-record-field-expr-duplicate/tree/txt
2019+/* src-559 %jibb /tests/golden/types-record-cast-context/source/jibb
2020−/* typ-559 %txt /tests/golden/types-record-field-expr-duplicate/types/txt
2020+/* tok-559 %txt /tests/golden/types-record-cast-context/tokens/txt
2021−/* src-560 %jibb /tests/golden/types-record-field-expr-separate/source/jibb
2021+/* tre-559 %txt /tests/golden/types-record-cast-context/tree/txt
2022−/* tok-560 %txt /tests/golden/types-record-field-expr-separate/tokens/txt
2022+/* typ-559 %txt /tests/golden/types-record-cast-context/types/txt
2023−/* tre-560 %txt /tests/golden/types-record-field-expr-separate/tree/txt
2023+/* src-560 %jibb /tests/golden/types-record-change/source/jibb
2024−/* typ-560 %txt /tests/golden/types-record-field-expr-separate/types/txt
2024+/* tok-560 %txt /tests/golden/types-record-change/tokens/txt
2025−/* src-561 %jibb /tests/golden/types-record-field-module-reachable/source/jibb
2025+/* tre-560 %txt /tests/golden/types-record-change/tree/txt
2026−/* tok-561 %txt /tests/golden/types-record-field-module-reachable/tokens/txt
2026+/* typ-560 %txt /tests/golden/types-record-change/types/txt
2027−/* tre-561 %txt /tests/golden/types-record-field-module-reachable/tree/txt
2027+/* src-561 %jibb /tests/golden/types-record-change-generic/source/jibb
2028−/* mod-561-1 %jibb /tests/golden/types-record-field-module-reachable/modules/ui/lib/jibb
2028+/* tok-561 %txt /tests/golden/types-record-change-generic/tokens/txt
2029−/* typ-561 %txt /tests/golden/types-record-field-module-reachable/types/txt
2029+/* tre-561 %txt /tests/golden/types-record-change-generic/tree/txt
2030−/* mtre-561 %txt /tests/golden/types-record-field-module-reachable/module-trees/txt
2030+/* typ-561 %txt /tests/golden/types-record-change-generic/types/txt
2031−/* src-562 %jibb /tests/golden/types-record-field-module-unused/source/jibb
2031+/* src-562 %jibb /tests/golden/types-record-faces/source/jibb
2032−/* tok-562 %txt /tests/golden/types-record-field-module-unused/tokens/txt
2032+/* tok-562 %txt /tests/golden/types-record-faces/tokens/txt
2033−/* tre-562 %txt /tests/golden/types-record-field-module-unused/tree/txt
2033+/* tre-562 %txt /tests/golden/types-record-faces/tree/txt
2034−/* mod-562-1 %jibb /tests/golden/types-record-field-module-unused/modules/ui/good/jibb
2034+/* typ-562 %txt /tests/golden/types-record-faces/types/txt
2035−/* mod-562-2 %jibb /tests/golden/types-record-field-module-unused/modules/ui/unused/jibb
2035+/* src-563 %jibb /tests/golden/types-record-field-edit-separate/source/jibb
2036−/* typ-562 %txt /tests/golden/types-record-field-module-unused/types/txt
2036+/* tok-563 %txt /tests/golden/types-record-field-edit-separate/tokens/txt
2037−/* mtre-562 %txt /tests/golden/types-record-field-module-unused/module-trees/txt
2037+/* tre-563 %txt /tests/golden/types-record-field-edit-separate/tree/txt
2038−/* src-563 %jibb /tests/golden/types-record-field-nested-mold/source/jibb
2038+/* typ-563 %txt /tests/golden/types-record-field-edit-separate/types/txt
2039−/* tok-563 %txt /tests/golden/types-record-field-nested-mold/tokens/txt
2039+/* src-564 %jibb /tests/golden/types-record-field-expr-duplicate/source/jibb
2040−/* tre-563 %txt /tests/golden/types-record-field-nested-mold/tree/txt
2040+/* tok-564 %txt /tests/golden/types-record-field-expr-duplicate/tokens/txt
2041−/* typ-563 %txt /tests/golden/types-record-field-nested-mold/types/txt
2041+/* tre-564 %txt /tests/golden/types-record-field-expr-duplicate/tree/txt
2042−/* src-564 %jibb /tests/golden/types-record-field-outer-inner/source/jibb
2042+/* typ-564 %txt /tests/golden/types-record-field-expr-duplicate/types/txt
2043−/* tok-564 %txt /tests/golden/types-record-field-outer-inner/tokens/txt
2043+/* src-565 %jibb /tests/golden/types-record-field-expr-separate/source/jibb
2044−/* tre-564 %txt /tests/golden/types-record-field-outer-inner/tree/txt
2044+/* tok-565 %txt /tests/golden/types-record-field-expr-separate/tokens/txt
2045−/* typ-564 %txt /tests/golden/types-record-field-outer-inner/types/txt
2045+/* tre-565 %txt /tests/golden/types-record-field-expr-separate/tree/txt
2046−/* src-565 %jibb /tests/golden/types-record-field-sample-duplicate/source/jibb
2046+/* typ-565 %txt /tests/golden/types-record-field-expr-separate/types/txt
2047−/* tok-565 %txt /tests/golden/types-record-field-sample-duplicate/tokens/txt
2047+/* src-566 %jibb /tests/golden/types-record-field-module-reachable/source/jibb
2048−/* tre-565 %txt /tests/golden/types-record-field-sample-duplicate/tree/txt
2048+/* tok-566 %txt /tests/golden/types-record-field-module-reachable/tokens/txt
2049−/* typ-565 %txt /tests/golden/types-record-field-sample-duplicate/types/txt
2049+/* tre-566 %txt /tests/golden/types-record-field-module-reachable/tree/txt
2050−/* src-566 %jibb /tests/golden/types-record-field-separate-molds/source/jibb
2050+/* mod-566-1 %jibb /tests/golden/types-record-field-module-reachable/modules/ui/lib/jibb
2051−/* tok-566 %txt /tests/golden/types-record-field-separate-molds/tokens/txt
2051+/* typ-566 %txt /tests/golden/types-record-field-module-reachable/types/txt
2052−/* tre-566 %txt /tests/golden/types-record-field-separate-molds/tree/txt
2052+/* mtre-566 %txt /tests/golden/types-record-field-module-reachable/module-trees/txt
2053−/* typ-566 %txt /tests/golden/types-record-field-separate-molds/types/txt
2053+/* src-567 %jibb /tests/golden/types-record-field-module-unused/source/jibb
2054−/* src-567 %jibb /tests/golden/types-record-field-unused-mold/source/jibb
2054+/* tok-567 %txt /tests/golden/types-record-field-module-unused/tokens/txt
2055−/* tok-567 %txt /tests/golden/types-record-field-unused-mold/tokens/txt
2055+/* tre-567 %txt /tests/golden/types-record-field-module-unused/tree/txt
2056−/* tre-567 %txt /tests/golden/types-record-field-unused-mold/tree/txt
2056+/* mod-567-1 %jibb /tests/golden/types-record-field-module-unused/modules/ui/good/jibb
2057−/* typ-567 %txt /tests/golden/types-record-field-unused-mold/types/txt
2057+/* mod-567-2 %jibb /tests/golden/types-record-field-module-unused/modules/ui/unused/jibb
2058−/* src-568 %jibb /tests/golden/types-record-import/source/jibb
2058+/* typ-567 %txt /tests/golden/types-record-field-module-unused/types/txt
2059−/* tok-568 %txt /tests/golden/types-record-import/tokens/txt
2059+/* mtre-567 %txt /tests/golden/types-record-field-module-unused/module-trees/txt
2060−/* tre-568 %txt /tests/golden/types-record-import/tree/txt
2060+/* src-568 %jibb /tests/golden/types-record-field-nested-mold/source/jibb
2061−/* mod-568-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
2061+/* tok-568 %txt /tests/golden/types-record-field-nested-mold/tokens/txt
2062−/* typ-568 %txt /tests/golden/types-record-import/types/txt
2062+/* tre-568 %txt /tests/golden/types-record-field-nested-mold/tree/txt
2063−/* mtre-568 %txt /tests/golden/types-record-import/module-trees/txt
2063+/* typ-568 %txt /tests/golden/types-record-field-nested-mold/types/txt
2064−/* src-569 %jibb /tests/golden/types-record-local-scheme/source/jibb
2064+/* src-569 %jibb /tests/golden/types-record-field-outer-inner/source/jibb
2065−/* tok-569 %txt /tests/golden/types-record-local-scheme/tokens/txt
2065+/* tok-569 %txt /tests/golden/types-record-field-outer-inner/tokens/txt
2066−/* tre-569 %txt /tests/golden/types-record-local-scheme/tree/txt
2066+/* tre-569 %txt /tests/golden/types-record-field-outer-inner/tree/txt
2067−/* typ-569 %txt /tests/golden/types-record-local-scheme/types/txt
2067+/* typ-569 %txt /tests/golden/types-record-field-outer-inner/types/txt
2068−/* src-570 %jibb /tests/golden/types-record-nested/source/jibb
2068+/* src-570 %jibb /tests/golden/types-record-field-sample-duplicate/source/jibb
2069−/* tok-570 %txt /tests/golden/types-record-nested/tokens/txt
2069+/* tok-570 %txt /tests/golden/types-record-field-sample-duplicate/tokens/txt
2070−/* tre-570 %txt /tests/golden/types-record-nested/tree/txt
2070+/* tre-570 %txt /tests/golden/types-record-field-sample-duplicate/tree/txt
2071−/* typ-570 %txt /tests/golden/types-record-nested/types/txt
2071+/* typ-570 %txt /tests/golden/types-record-field-sample-duplicate/types/txt
2072−/* src-571 %jibb /tests/golden/types-record-to-tuple/source/jibb
2072+/* src-571 %jibb /tests/golden/types-record-field-separate-molds/source/jibb
2073−/* tok-571 %txt /tests/golden/types-record-to-tuple/tokens/txt
2073+/* tok-571 %txt /tests/golden/types-record-field-separate-molds/tokens/txt
2074−/* tre-571 %txt /tests/golden/types-record-to-tuple/tree/txt
2074+/* tre-571 %txt /tests/golden/types-record-field-separate-molds/tree/txt
2075−/* typ-571 %txt /tests/golden/types-record-to-tuple/types/txt
2075+/* typ-571 %txt /tests/golden/types-record-field-separate-molds/types/txt
2076−/* src-572 %jibb /tests/golden/types-recursion-scc-failures/source/jibb
2076+/* src-572 %jibb /tests/golden/types-record-field-unused-mold/source/jibb
2077−/* tok-572 %txt /tests/golden/types-recursion-scc-failures/tokens/txt
2077+/* tok-572 %txt /tests/golden/types-record-field-unused-mold/tokens/txt
2078−/* tre-572 %txt /tests/golden/types-recursion-scc-failures/tree/txt
2078+/* tre-572 %txt /tests/golden/types-record-field-unused-mold/tree/txt
2079−/* typ-572 %txt /tests/golden/types-recursion-scc-failures/types/txt
2079+/* typ-572 %txt /tests/golden/types-record-field-unused-mold/types/txt
2080−/* src-573 %jibb /tests/golden/types-recursion-scc-groups/source/jibb
2080+/* src-573 %jibb /tests/golden/types-record-import/source/jibb
2081−/* tok-573 %txt /tests/golden/types-recursion-scc-groups/tokens/txt
2081+/* tok-573 %txt /tests/golden/types-record-import/tokens/txt
2082−/* tre-573 %txt /tests/golden/types-recursion-scc-groups/tree/txt
2082+/* tre-573 %txt /tests/golden/types-record-import/tree/txt
2083−/* typ-573 %txt /tests/golden/types-recursion-scc-groups/types/txt
2083+/* mod-573-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
2084−/* src-574 %jibb /tests/golden/types-recursion-scc-import/source/jibb
2084+/* typ-573 %txt /tests/golden/types-record-import/types/txt
2085−/* tok-574 %txt /tests/golden/types-recursion-scc-import/tokens/txt
2085+/* mtre-573 %txt /tests/golden/types-record-import/module-trees/txt
2086−/* tre-574 %txt /tests/golden/types-recursion-scc-import/tree/txt
2086+/* src-574 %jibb /tests/golden/types-record-local-scheme/source/jibb
2087−/* mod-574-1 %jibb /tests/golden/types-recursion-scc-import/modules/ui/lib/jibb
2087+/* tok-574 %txt /tests/golden/types-record-local-scheme/tokens/txt
2088−/* typ-574 %txt /tests/golden/types-recursion-scc-import/types/txt
2088+/* tre-574 %txt /tests/golden/types-record-local-scheme/tree/txt
2089−/* mtre-574 %txt /tests/golden/types-recursion-scc-import/module-trees/txt
2089+/* typ-574 %txt /tests/golden/types-record-local-scheme/types/txt
2090−/* src-575 %jibb /tests/golden/types-recursion-scc-import-bad/source/jibb
2090+/* src-575 %jibb /tests/golden/types-record-nested/source/jibb
2091−/* tok-575 %txt /tests/golden/types-recursion-scc-import-bad/tokens/txt
2091+/* tok-575 %txt /tests/golden/types-record-nested/tokens/txt
2092−/* tre-575 %txt /tests/golden/types-recursion-scc-import-bad/tree/txt
2092+/* tre-575 %txt /tests/golden/types-record-nested/tree/txt
2093−/* mod-575-1 %jibb /tests/golden/types-recursion-scc-import-bad/modules/ui/lib/jibb
2093+/* typ-575 %txt /tests/golden/types-record-nested/types/txt
2094−/* typ-575 %txt /tests/golden/types-recursion-scc-import-bad/types/txt
2094+/* src-576 %jibb /tests/golden/types-record-to-tuple/source/jibb
2095−/* mtre-575 %txt /tests/golden/types-recursion-scc-import-bad/module-trees/txt
2095+/* tok-576 %txt /tests/golden/types-record-to-tuple/tokens/txt
2096−/* src-576 %jibb /tests/golden/types-recursion-scc-local/source/jibb
2096+/* tre-576 %txt /tests/golden/types-record-to-tuple/tree/txt
2097−/* tok-576 %txt /tests/golden/types-recursion-scc-local/tokens/txt
2097+/* typ-576 %txt /tests/golden/types-record-to-tuple/types/txt
2098−/* tre-576 %txt /tests/golden/types-recursion-scc-local/tree/txt
2098+/* src-577 %jibb /tests/golden/types-recursion-scc-failures/source/jibb
2099−/* typ-576 %txt /tests/golden/types-recursion-scc-local/types/txt
2099+/* tok-577 %txt /tests/golden/types-recursion-scc-failures/tokens/txt
2100−/* src-577 %jibb /tests/golden/types-recursion-scc-order/source/jibb
2100+/* tre-577 %txt /tests/golden/types-recursion-scc-failures/tree/txt
2101−/* tok-577 %txt /tests/golden/types-recursion-scc-order/tokens/txt
2101+/* typ-577 %txt /tests/golden/types-recursion-scc-failures/types/txt
2102−/* tre-577 %txt /tests/golden/types-recursion-scc-order/tree/txt
2102+/* src-578 %jibb /tests/golden/types-recursion-scc-groups/source/jibb
2103−/* typ-577 %txt /tests/golden/types-recursion-scc-order/types/txt
2103+/* tok-578 %txt /tests/golden/types-recursion-scc-groups/tokens/txt
2104−/* src-578 %jibb /tests/golden/types-recursion-scc-shadow/source/jibb
2104+/* tre-578 %txt /tests/golden/types-recursion-scc-groups/tree/txt
2105−/* tok-578 %txt /tests/golden/types-recursion-scc-shadow/tokens/txt
2105+/* typ-578 %txt /tests/golden/types-recursion-scc-groups/types/txt
2106−/* tre-578 %txt /tests/golden/types-recursion-scc-shadow/tree/txt
2106+/* src-579 %jibb /tests/golden/types-recursion-scc-import/source/jibb
2107−/* typ-578 %txt /tests/golden/types-recursion-scc-shadow/types/txt
2107+/* tok-579 %txt /tests/golden/types-recursion-scc-import/tokens/txt
2108−/* src-579 %jibb /tests/golden/types-recursive-branch/source/jibb
2108+/* tre-579 %txt /tests/golden/types-recursion-scc-import/tree/txt
2109−/* tok-579 %txt /tests/golden/types-recursive-branch/tokens/txt
2109+/* mod-579-1 %jibb /tests/golden/types-recursion-scc-import/modules/ui/lib/jibb
2110−/* tre-579 %txt /tests/golden/types-recursive-branch/tree/txt
2110+/* typ-579 %txt /tests/golden/types-recursion-scc-import/types/txt
2111−/* typ-579 %txt /tests/golden/types-recursive-branch/types/txt
2111+/* mtre-579 %txt /tests/golden/types-recursion-scc-import/module-trees/txt
2112−/* src-580 %jibb /tests/golden/types-recursive-gate/source/jibb
2112+/* src-580 %jibb /tests/golden/types-recursion-scc-import-bad/source/jibb
2113−/* tok-580 %txt /tests/golden/types-recursive-gate/tokens/txt
2113+/* tok-580 %txt /tests/golden/types-recursion-scc-import-bad/tokens/txt
2114−/* tre-580 %txt /tests/golden/types-recursive-gate/tree/txt
2114+/* tre-580 %txt /tests/golden/types-recursion-scc-import-bad/tree/txt
2115−/* typ-580 %txt /tests/golden/types-recursive-gate/types/txt
2115+/* mod-580-1 %jibb /tests/golden/types-recursion-scc-import-bad/modules/ui/lib/jibb
2116−/* src-581 %jibb /tests/golden/types-recursive-sample/source/jibb
2116+/* typ-580 %txt /tests/golden/types-recursion-scc-import-bad/types/txt
2117−/* tok-581 %txt /tests/golden/types-recursive-sample/tokens/txt
2117+/* mtre-580 %txt /tests/golden/types-recursion-scc-import-bad/module-trees/txt
2118−/* tre-581 %txt /tests/golden/types-recursive-sample/tree/txt
2118+/* src-581 %jibb /tests/golden/types-recursion-scc-local/source/jibb
2119−/* typ-581 %txt /tests/golden/types-recursive-sample/types/txt
2119+/* tok-581 %txt /tests/golden/types-recursion-scc-local/tokens/txt
2120−/* src-582 %jibb /tests/golden/types-scope-library-poke/source/jibb
2120+/* tre-581 %txt /tests/golden/types-recursion-scc-local/tree/txt
2121−/* tok-582 %txt /tests/golden/types-scope-library-poke/tokens/txt
2121+/* typ-581 %txt /tests/golden/types-recursion-scc-local/types/txt
2122−/* tre-582 %txt /tests/golden/types-scope-library-poke/tree/txt
2122+/* src-582 %jibb /tests/golden/types-recursion-scc-order/source/jibb
2123−/* typ-582 %txt /tests/golden/types-scope-library-poke/types/txt
2123+/* tok-582 %txt /tests/golden/types-recursion-scc-order/tokens/txt
2124−/* src-583 %jibb /tests/golden/types-scope-root-api/source/jibb
2124+/* tre-582 %txt /tests/golden/types-recursion-scc-order/tree/txt
2125−/* tok-583 %txt /tests/golden/types-scope-root-api/tokens/txt
2125+/* typ-582 %txt /tests/golden/types-recursion-scc-order/types/txt
2126−/* tre-583 %txt /tests/golden/types-scope-root-api/tree/txt
2126+/* src-583 %jibb /tests/golden/types-recursion-scc-shadow/source/jibb
2127−/* typ-583 %txt /tests/golden/types-scope-root-api/types/txt
2127+/* tok-583 %txt /tests/golden/types-recursion-scc-shadow/tokens/txt
2128−/* src-584 %jibb /tests/golden/types-scope-store-duplicate/source/jibb
2128+/* tre-583 %txt /tests/golden/types-recursion-scc-shadow/tree/txt
2129−/* tok-584 %txt /tests/golden/types-scope-store-duplicate/tokens/txt
2129+/* typ-583 %txt /tests/golden/types-recursion-scc-shadow/types/txt
2130−/* tre-584 %txt /tests/golden/types-scope-store-duplicate/tree/txt
2130+/* src-584 %jibb /tests/golden/types-recursive-branch/source/jibb
2131−/* typ-584 %txt /tests/golden/types-scope-store-duplicate/types/txt
2131+/* tok-584 %txt /tests/golden/types-recursive-branch/tokens/txt
2132−/* src-585 %jibb /tests/golden/types-scope-store-shadow/source/jibb
2132+/* tre-584 %txt /tests/golden/types-recursive-branch/tree/txt
2133−/* tok-585 %txt /tests/golden/types-scope-store-shadow/tokens/txt
2133+/* typ-584 %txt /tests/golden/types-recursive-branch/types/txt
2134−/* tre-585 %txt /tests/golden/types-scope-store-shadow/tree/txt
2134+/* src-585 %jibb /tests/golden/types-recursive-gate/source/jibb
2135−/* typ-585 %txt /tests/golden/types-scope-store-shadow/types/txt
2135+/* tok-585 %txt /tests/golden/types-recursive-gate/tokens/txt
2136−/* src-586 %jibb /tests/golden/types-single-case-pattern/source/jibb
2136+/* tre-585 %txt /tests/golden/types-recursive-gate/tree/txt
2137−/* tok-586 %txt /tests/golden/types-single-case-pattern/tokens/txt
2137+/* typ-585 %txt /tests/golden/types-recursive-gate/types/txt
2138−/* tre-586 %txt /tests/golden/types-single-case-pattern/tree/txt
2138+/* src-586 %jibb /tests/golden/types-recursive-sample/source/jibb
2139−/* typ-586 %txt /tests/golden/types-single-case-pattern/types/txt
2139+/* tok-586 %txt /tests/golden/types-recursive-sample/tokens/txt
2140−/* src-587 %jibb /tests/golden/types-string-interpolation/source/jibb
2140+/* tre-586 %txt /tests/golden/types-recursive-sample/tree/txt
2141−/* tok-587 %txt /tests/golden/types-string-interpolation/tokens/txt
2141+/* typ-586 %txt /tests/golden/types-recursive-sample/types/txt
2142−/* tre-587 %txt /tests/golden/types-string-interpolation/tree/txt
2142+/* src-587 %jibb /tests/golden/types-scope-library-poke/source/jibb
2143−/* typ-587 %txt /tests/golden/types-string-interpolation/types/txt
2143+/* tok-587 %txt /tests/golden/types-scope-library-poke/tokens/txt
2144−/* src-588 %jibb /tests/golden/types-tuple-context/source/jibb
2144+/* tre-587 %txt /tests/golden/types-scope-library-poke/tree/txt
2145−/* tok-588 %txt /tests/golden/types-tuple-context/tokens/txt
2145+/* typ-587 %txt /tests/golden/types-scope-library-poke/types/txt
2146−/* tre-588 %txt /tests/golden/types-tuple-context/tree/txt
2146+/* src-588 %jibb /tests/golden/types-scope-root-api/source/jibb
2147−/* typ-588 %txt /tests/golden/types-tuple-context/types/txt
2147+/* tok-588 %txt /tests/golden/types-scope-root-api/tokens/txt
2148−/* src-589 %jibb /tests/golden/types-tuple-context-nested/source/jibb
2148+/* tre-588 %txt /tests/golden/types-scope-root-api/tree/txt
2149−/* tok-589 %txt /tests/golden/types-tuple-context-nested/tokens/txt
2149+/* typ-588 %txt /tests/golden/types-scope-root-api/types/txt
2150−/* tre-589 %txt /tests/golden/types-tuple-context-nested/tree/txt
2150+/* src-589 %jibb /tests/golden/types-scope-store-duplicate/source/jibb
2151−/* typ-589 %txt /tests/golden/types-tuple-context-nested/types/txt
2151+/* tok-589 %txt /tests/golden/types-scope-store-duplicate/tokens/txt
2152−/* src-590 %jibb /tests/golden/types-union-alias/source/jibb
2152+/* tre-589 %txt /tests/golden/types-scope-store-duplicate/tree/txt
2153−/* tok-590 %txt /tests/golden/types-union-alias/tokens/txt
2153+/* typ-589 %txt /tests/golden/types-scope-store-duplicate/types/txt
2154−/* tre-590 %txt /tests/golden/types-union-alias/tree/txt
2154+/* src-590 %jibb /tests/golden/types-scope-store-shadow/source/jibb
2155−/* typ-590 %txt /tests/golden/types-union-alias/types/txt
2155+/* tok-590 %txt /tests/golden/types-scope-store-shadow/tokens/txt
2156−/* src-591 %jibb /tests/golden/types-union-branch-context/source/jibb
2156+/* tre-590 %txt /tests/golden/types-scope-store-shadow/tree/txt
2157−/* tok-591 %txt /tests/golden/types-union-branch-context/tokens/txt
2157+/* typ-590 %txt /tests/golden/types-scope-store-shadow/types/txt
2158−/* tre-591 %txt /tests/golden/types-union-branch-context/tree/txt
2158+/* src-591 %jibb /tests/golden/types-single-case-pattern/source/jibb
2159−/* typ-591 %txt /tests/golden/types-union-branch-context/types/txt
2159+/* tok-591 %txt /tests/golden/types-single-case-pattern/tokens/txt
2160−/* src-592 %jibb /tests/golden/types-union-branch-pending/source/jibb
2160+/* tre-591 %txt /tests/golden/types-single-case-pattern/tree/txt
2161−/* tok-592 %txt /tests/golden/types-union-branch-pending/tokens/txt
2161+/* typ-591 %txt /tests/golden/types-single-case-pattern/types/txt
2162−/* tre-592 %txt /tests/golden/types-union-branch-pending/tree/txt
2162+/* src-592 %jibb /tests/golden/types-string-interpolation/source/jibb
2163−/* typ-592 %txt /tests/golden/types-union-branch-pending/types/txt
2163+/* tok-592 %txt /tests/golden/types-string-interpolation/tokens/txt
2164−/* src-593 %jibb /tests/golden/types-union-constructor-shape/source/jibb
2164+/* tre-592 %txt /tests/golden/types-string-interpolation/tree/txt
2165−/* tok-593 %txt /tests/golden/types-union-constructor-shape/tokens/txt
2165+/* typ-592 %txt /tests/golden/types-string-interpolation/types/txt
2166−/* tre-593 %txt /tests/golden/types-union-constructor-shape/tree/txt
2166+/* src-593 %jibb /tests/golden/types-tuple-context/source/jibb
2167−/* typ-593 %txt /tests/golden/types-union-constructor-shape/types/txt
2167+/* tok-593 %txt /tests/golden/types-tuple-context/tokens/txt
2168−/* src-594 %jibb /tests/golden/types-union-context-flow/source/jibb
2168+/* tre-593 %txt /tests/golden/types-tuple-context/tree/txt
2169−/* tok-594 %txt /tests/golden/types-union-context-flow/tokens/txt
2169+/* typ-593 %txt /tests/golden/types-tuple-context/types/txt
2170−/* tre-594 %txt /tests/golden/types-union-context-flow/tree/txt
2170+/* src-594 %jibb /tests/golden/types-tuple-context-nested/source/jibb
2171−/* typ-594 %txt /tests/golden/types-union-context-flow/types/txt
2171+/* tok-594 %txt /tests/golden/types-tuple-context-nested/tokens/txt
2172−/* src-595 %jibb /tests/golden/types-union-finite/source/jibb
2172+/* tre-594 %txt /tests/golden/types-tuple-context-nested/tree/txt
2173−/* tok-595 %txt /tests/golden/types-union-finite/tokens/txt
2173+/* typ-594 %txt /tests/golden/types-tuple-context-nested/types/txt
2174−/* tre-595 %txt /tests/golden/types-union-finite/tree/txt
2174+/* src-595 %jibb /tests/golden/types-union-alias/source/jibb
2175−/* typ-595 %txt /tests/golden/types-union-finite/types/txt
2175+/* tok-595 %txt /tests/golden/types-union-alias/tokens/txt
2176−/* src-596 %jibb /tests/golden/types-union-finite-context/source/jibb
2176+/* tre-595 %txt /tests/golden/types-union-alias/tree/txt
2177−/* tok-596 %txt /tests/golden/types-union-finite-context/tokens/txt
2177+/* typ-595 %txt /tests/golden/types-union-alias/types/txt
2178−/* tre-596 %txt /tests/golden/types-union-finite-context/tree/txt
2178+/* src-596 %jibb /tests/golden/types-union-branch-context/source/jibb
2179−/* typ-596 %txt /tests/golden/types-union-finite-context/types/txt
2179+/* tok-596 %txt /tests/golden/types-union-branch-context/tokens/txt
2180−/* src-597 %jibb /tests/golden/types-union-finite-generic/source/jibb
2180+/* tre-596 %txt /tests/golden/types-union-branch-context/tree/txt
2181−/* tok-597 %txt /tests/golden/types-union-finite-generic/tokens/txt
2181+/* typ-596 %txt /tests/golden/types-union-branch-context/types/txt
2182−/* tre-597 %txt /tests/golden/types-union-finite-generic/tree/txt
2182+/* src-597 %jibb /tests/golden/types-union-branch-pending/source/jibb
2183−/* typ-597 %txt /tests/golden/types-union-finite-generic/types/txt
2183+/* tok-597 %txt /tests/golden/types-union-branch-pending/tokens/txt
2184−/* src-598 %jibb /tests/golden/types-union-finite-limit/source/jibb
2184+/* tre-597 %txt /tests/golden/types-union-branch-pending/tree/txt
2185−/* tok-598 %txt /tests/golden/types-union-finite-limit/tokens/txt
2185+/* typ-597 %txt /tests/golden/types-union-branch-pending/types/txt
2186−/* tre-598 %txt /tests/golden/types-union-finite-limit/tree/txt
2186+/* src-598 %jibb /tests/golden/types-union-constructor-shape/source/jibb
2187−/* typ-598 %txt /tests/golden/types-union-finite-limit/types/txt
2187+/* tok-598 %txt /tests/golden/types-union-constructor-shape/tokens/txt
2188−/* src-599 %jibb /tests/golden/types-union-import/source/jibb
2188+/* tre-598 %txt /tests/golden/types-union-constructor-shape/tree/txt
2189−/* tok-599 %txt /tests/golden/types-union-import/tokens/txt
2189+/* typ-598 %txt /tests/golden/types-union-constructor-shape/types/txt
2190−/* tre-599 %txt /tests/golden/types-union-import/tree/txt
2190+/* src-599 %jibb /tests/golden/types-union-context-flow/source/jibb
2191−/* mod-599-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
2191+/* tok-599 %txt /tests/golden/types-union-context-flow/tokens/txt
2192−/* typ-599 %txt /tests/golden/types-union-import/types/txt
2192+/* tre-599 %txt /tests/golden/types-union-context-flow/tree/txt
2193−/* mtre-599 %txt /tests/golden/types-union-import/module-trees/txt
2193+/* typ-599 %txt /tests/golden/types-union-context-flow/types/txt
2194−/* src-600 %jibb /tests/golden/types-union-local-pending/source/jibb
2194+/* src-600 %jibb /tests/golden/types-union-finite/source/jibb
2195−/* tok-600 %txt /tests/golden/types-union-local-pending/tokens/txt
2195+/* tok-600 %txt /tests/golden/types-union-finite/tokens/txt
2196−/* tre-600 %txt /tests/golden/types-union-local-pending/tree/txt
2196+/* tre-600 %txt /tests/golden/types-union-finite/tree/txt
2197−/* typ-600 %txt /tests/golden/types-union-local-pending/types/txt
2197+/* typ-600 %txt /tests/golden/types-union-finite/types/txt
2198−/* src-601 %jibb /tests/golden/types-union-nonwing-subject/source/jibb
2198+/* src-601 %jibb /tests/golden/types-union-finite-context/source/jibb
2199−/* tok-601 %txt /tests/golden/types-union-nonwing-subject/tokens/txt
2199+/* tok-601 %txt /tests/golden/types-union-finite-context/tokens/txt
2200−/* tre-601 %txt /tests/golden/types-union-nonwing-subject/tree/txt
2200+/* tre-601 %txt /tests/golden/types-union-finite-context/tree/txt
2201−/* typ-601 %txt /tests/golden/types-union-nonwing-subject/types/txt
2201+/* typ-601 %txt /tests/golden/types-union-finite-context/types/txt
2202−/* src-602 %jibb /tests/golden/types-union-overlap/source/jibb
2202+/* src-602 %jibb /tests/golden/types-union-finite-generic/source/jibb
2203−/* tok-602 %txt /tests/golden/types-union-overlap/tokens/txt
2203+/* tok-602 %txt /tests/golden/types-union-finite-generic/tokens/txt
2204−/* tre-602 %txt /tests/golden/types-union-overlap/tree/txt
2204+/* tre-602 %txt /tests/golden/types-union-finite-generic/tree/txt
2205−/* typ-602 %txt /tests/golden/types-union-overlap/types/txt
2205+/* typ-602 %txt /tests/golden/types-union-finite-generic/types/txt
2206−/* src-603 %jibb /tests/golden/types-union-overlap-nested/source/jibb
2206+/* src-603 %jibb /tests/golden/types-union-finite-limit/source/jibb
2207−/* tok-603 %txt /tests/golden/types-union-overlap-nested/tokens/txt
2207+/* tok-603 %txt /tests/golden/types-union-finite-limit/tokens/txt
2208−/* tre-603 %txt /tests/golden/types-union-overlap-nested/tree/txt
2208+/* tre-603 %txt /tests/golden/types-union-finite-limit/tree/txt
2209−/* typ-603 %txt /tests/golden/types-union-overlap-nested/types/txt
2209+/* typ-603 %txt /tests/golden/types-union-finite-limit/types/txt
2210−/* src-604 %jibb /tests/golden/types-union-pattern-result-context/source/jibb
2210+/* src-604 %jibb /tests/golden/types-union-import/source/jibb
2211−/* tok-604 %txt /tests/golden/types-union-pattern-result-context/tokens/txt
2211+/* tok-604 %txt /tests/golden/types-union-import/tokens/txt
2212−/* tre-604 %txt /tests/golden/types-union-pattern-result-context/tree/txt
2212+/* tre-604 %txt /tests/golden/types-union-import/tree/txt
2213−/* typ-604 %txt /tests/golden/types-union-pattern-result-context/types/txt
2213+/* mod-604-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
2214−/* src-605 %jibb /tests/golden/types-union-pattern-result-controls/source/jibb
2214+/* typ-604 %txt /tests/golden/types-union-import/types/txt
2215−/* tok-605 %txt /tests/golden/types-union-pattern-result-controls/tokens/txt
2215+/* mtre-604 %txt /tests/golden/types-union-import/module-trees/txt
2216−/* tre-605 %txt /tests/golden/types-union-pattern-result-controls/tree/txt
2216+/* src-605 %jibb /tests/golden/types-union-local-pending/source/jibb
2217−/* typ-605 %txt /tests/golden/types-union-pattern-result-controls/types/txt
2217+/* tok-605 %txt /tests/golden/types-union-local-pending/tokens/txt
2218−/* src-606 %jibb /tests/golden/types-union-patterns/source/jibb
2218+/* tre-605 %txt /tests/golden/types-union-local-pending/tree/txt
2219−/* tok-606 %txt /tests/golden/types-union-patterns/tokens/txt
2219+/* typ-605 %txt /tests/golden/types-union-local-pending/types/txt
2220−/* tre-606 %txt /tests/golden/types-union-patterns/tree/txt
2220+/* src-606 %jibb /tests/golden/types-union-nonwing-subject/source/jibb
2221−/* typ-606 %txt /tests/golden/types-union-patterns/types/txt
2221+/* tok-606 %txt /tests/golden/types-union-nonwing-subject/tokens/txt
2222−/* src-607 %jibb /tests/golden/types-union-patterns-generic/source/jibb
2222+/* tre-606 %txt /tests/golden/types-union-nonwing-subject/tree/txt
2223−/* tok-607 %txt /tests/golden/types-union-patterns-generic/tokens/txt
2223+/* typ-606 %txt /tests/golden/types-union-nonwing-subject/types/txt
2224−/* tre-607 %txt /tests/golden/types-union-patterns-generic/tree/txt
2224+/* src-607 %jibb /tests/golden/types-union-overlap/source/jibb
2225−/* typ-607 %txt /tests/golden/types-union-patterns-generic/types/txt
2225+/* tok-607 %txt /tests/golden/types-union-overlap/tokens/txt
2226−/* src-608 %jibb /tests/golden/types-union-patterns-import/source/jibb
2226+/* tre-607 %txt /tests/golden/types-union-overlap/tree/txt
2227−/* tok-608 %txt /tests/golden/types-union-patterns-import/tokens/txt
2227+/* typ-607 %txt /tests/golden/types-union-overlap/types/txt
2228−/* tre-608 %txt /tests/golden/types-union-patterns-import/tree/txt
2228+/* src-608 %jibb /tests/golden/types-union-overlap-nested/source/jibb
2229−/* mod-608-1 %jibb /tests/golden/types-union-patterns-import/modules/ui/lib/jibb
2229+/* tok-608 %txt /tests/golden/types-union-overlap-nested/tokens/txt
2230−/* typ-608 %txt /tests/golden/types-union-patterns-import/types/txt
2230+/* tre-608 %txt /tests/golden/types-union-overlap-nested/tree/txt
2231−/* mtre-608 %txt /tests/golden/types-union-patterns-import/module-trees/txt
2231+/* typ-608 %txt /tests/golden/types-union-overlap-nested/types/txt
2232−/* src-609 %jibb /tests/golden/types-union-phantom-generic/source/jibb
2232+/* src-609 %jibb /tests/golden/types-union-pattern-result-context/source/jibb
2233−/* tok-609 %txt /tests/golden/types-union-phantom-generic/tokens/txt
2233+/* tok-609 %txt /tests/golden/types-union-pattern-result-context/tokens/txt
2234−/* tre-609 %txt /tests/golden/types-union-phantom-generic/tree/txt
2234+/* tre-609 %txt /tests/golden/types-union-pattern-result-context/tree/txt
2235−/* typ-609 %txt /tests/golden/types-union-phantom-generic/types/txt
2235+/* typ-609 %txt /tests/golden/types-union-pattern-result-context/types/txt
2236−/* src-610 %jibb /tests/golden/types-union-polymorphic-identity/source/jibb
2236+/* src-610 %jibb /tests/golden/types-union-pattern-result-controls/source/jibb
2237−/* tok-610 %txt /tests/golden/types-union-polymorphic-identity/tokens/txt
2237+/* tok-610 %txt /tests/golden/types-union-pattern-result-controls/tokens/txt
2238−/* tre-610 %txt /tests/golden/types-union-polymorphic-identity/tree/txt
2238+/* tre-610 %txt /tests/golden/types-union-pattern-result-controls/tree/txt
2239−/* mod-610-1 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/one/jibb
2239+/* typ-610 %txt /tests/golden/types-union-pattern-result-controls/types/txt
2240−/* mod-610-2 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/two/jibb
2240+/* src-611 %jibb /tests/golden/types-union-patterns/source/jibb
2241−/* typ-610 %txt /tests/golden/types-union-polymorphic-identity/types/txt
2241+/* tok-611 %txt /tests/golden/types-union-patterns/tokens/txt
2242−/* mtre-610 %txt /tests/golden/types-union-polymorphic-identity/module-trees/txt
2242+/* tre-611 %txt /tests/golden/types-union-patterns/tree/txt
2243−/* src-611 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
2243+/* typ-611 %txt /tests/golden/types-union-patterns/types/txt
2244−/* tok-611 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
2244+/* src-612 %jibb /tests/golden/types-union-patterns-generic/source/jibb
2245−/* tre-611 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
2245+/* tok-612 %txt /tests/golden/types-union-patterns-generic/tokens/txt
2246−/* mod-611-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
2246+/* tre-612 %txt /tests/golden/types-union-patterns-generic/tree/txt
2247−/* typ-611 %txt /tests/golden/types-union-print-cross-namespace/types/txt
2247+/* typ-612 %txt /tests/golden/types-union-patterns-generic/types/txt
2248−/* mtre-611 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
2248+/* src-613 %jibb /tests/golden/types-union-patterns-import/source/jibb
2249−/* src-612 %jibb /tests/golden/types-union-print-distinct/source/jibb
2249+/* tok-613 %txt /tests/golden/types-union-patterns-import/tokens/txt
2250−/* tok-612 %txt /tests/golden/types-union-print-distinct/tokens/txt
2250+/* tre-613 %txt /tests/golden/types-union-patterns-import/tree/txt
2251−/* tre-612 %txt /tests/golden/types-union-print-distinct/tree/txt
2251+/* mod-613-1 %jibb /tests/golden/types-union-patterns-import/modules/ui/lib/jibb
2252−/* mod-612-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
2252+/* typ-613 %txt /tests/golden/types-union-patterns-import/types/txt
2253−/* mod-612-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
2253+/* mtre-613 %txt /tests/golden/types-union-patterns-import/module-trees/txt
2254−/* mod-612-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
2254+/* src-614 %jibb /tests/golden/types-union-phantom-generic/source/jibb
2255−/* typ-612 %txt /tests/golden/types-union-print-distinct/types/txt
2255+/* tok-614 %txt /tests/golden/types-union-phantom-generic/tokens/txt
2256−/* mtre-612 %txt /tests/golden/types-union-print-distinct/module-trees/txt
2256+/* tre-614 %txt /tests/golden/types-union-phantom-generic/tree/txt
2257−/* src-613 %jibb /tests/golden/types-union-print-escape/source/jibb
2257+/* typ-614 %txt /tests/golden/types-union-phantom-generic/types/txt
2258−/* tok-613 %txt /tests/golden/types-union-print-escape/tokens/txt
2258+/* src-615 %jibb /tests/golden/types-union-polymorphic-identity/source/jibb
2259−/* tre-613 %txt /tests/golden/types-union-print-escape/tree/txt
2259+/* tok-615 %txt /tests/golden/types-union-polymorphic-identity/tokens/txt
2260−/* typ-613 %txt /tests/golden/types-union-print-escape/types/txt
2260+/* tre-615 %txt /tests/golden/types-union-polymorphic-identity/tree/txt
2261−/* src-614 %jibb /tests/golden/types-union-print-local/source/jibb
2261+/* mod-615-1 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/one/jibb
2262−/* tok-614 %txt /tests/golden/types-union-print-local/tokens/txt
2262+/* mod-615-2 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/two/jibb
2263−/* tre-614 %txt /tests/golden/types-union-print-local/tree/txt
2263+/* typ-615 %txt /tests/golden/types-union-polymorphic-identity/types/txt
2264−/* typ-614 %txt /tests/golden/types-union-print-local/types/txt
2264+/* mtre-615 %txt /tests/golden/types-union-polymorphic-identity/module-trees/txt
2265−/* src-615 %jibb /tests/golden/types-union-print-nested/source/jibb
2265+/* src-616 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
2266−/* tok-615 %txt /tests/golden/types-union-print-nested/tokens/txt
2266+/* tok-616 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
2267−/* tre-615 %txt /tests/golden/types-union-print-nested/tree/txt
2267+/* tre-616 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
2268−/* typ-615 %txt /tests/golden/types-union-print-nested/types/txt
2268+/* mod-616-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
2269−/* src-616 %jibb /tests/golden/types-union-print-same-origin/source/jibb
2269+/* typ-616 %txt /tests/golden/types-union-print-cross-namespace/types/txt
2270−/* tok-616 %txt /tests/golden/types-union-print-same-origin/tokens/txt
2270+/* mtre-616 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
2271−/* tre-616 %txt /tests/golden/types-union-print-same-origin/tree/txt
2271+/* src-617 %jibb /tests/golden/types-union-print-distinct/source/jibb
2272−/* mod-616-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
2272+/* tok-617 %txt /tests/golden/types-union-print-distinct/tokens/txt
2273−/* typ-616 %txt /tests/golden/types-union-print-same-origin/types/txt
2273+/* tre-617 %txt /tests/golden/types-union-print-distinct/tree/txt
2274−/* mtre-616 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
2274+/* mod-617-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
2275−/* src-617 %jibb /tests/golden/types-union-print-transitive/source/jibb
2275+/* mod-617-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
2276−/* tok-617 %txt /tests/golden/types-union-print-transitive/tokens/txt
2276+/* mod-617-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
2277−/* tre-617 %txt /tests/golden/types-union-print-transitive/tree/txt
2277+/* typ-617 %txt /tests/golden/types-union-print-distinct/types/txt
2278−/* mod-617-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
2278+/* mtre-617 %txt /tests/golden/types-union-print-distinct/module-trees/txt
2279−/* mod-617-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
2279+/* src-618 %jibb /tests/golden/types-union-print-escape/source/jibb
2280−/* typ-617 %txt /tests/golden/types-union-print-transitive/types/txt
2280+/* tok-618 %txt /tests/golden/types-union-print-escape/tokens/txt
2281−/* mtre-617 %txt /tests/golden/types-union-print-transitive/module-trees/txt
2281+/* tre-618 %txt /tests/golden/types-union-print-escape/tree/txt
2282−/* src-618 %jibb /tests/golden/types-union-singleton/source/jibb
2282+/* typ-618 %txt /tests/golden/types-union-print-escape/types/txt
2283−/* tok-618 %txt /tests/golden/types-union-singleton/tokens/txt
2283+/* src-619 %jibb /tests/golden/types-union-print-local/source/jibb
2284−/* tre-618 %txt /tests/golden/types-union-singleton/tree/txt
2284+/* tok-619 %txt /tests/golden/types-union-print-local/tokens/txt
2285−/* typ-618 %txt /tests/golden/types-union-singleton/types/txt
2285+/* tre-619 %txt /tests/golden/types-union-print-local/tree/txt
2286−/* src-619 %jibb /tests/golden/types-union-tag-atoms/source/jibb
2286+/* typ-619 %txt /tests/golden/types-union-print-local/types/txt
2287−/* tok-619 %txt /tests/golden/types-union-tag-atoms/tokens/txt
2287+/* src-620 %jibb /tests/golden/types-union-print-nested/source/jibb
2288−/* tre-619 %txt /tests/golden/types-union-tag-atoms/tree/txt
2288+/* tok-620 %txt /tests/golden/types-union-print-nested/tokens/txt
2289−/* typ-619 %txt /tests/golden/types-union-tag-atoms/types/txt
2289+/* tre-620 %txt /tests/golden/types-union-print-nested/tree/txt
2290−/* src-620 %jibb /tests/golden/types-union-tags/source/jibb
2290+/* typ-620 %txt /tests/golden/types-union-print-nested/types/txt
2291−/* tok-620 %txt /tests/golden/types-union-tags/tokens/txt
2291+/* src-621 %jibb /tests/golden/types-union-print-same-origin/source/jibb
2292−/* tre-620 %txt /tests/golden/types-union-tags/tree/txt
2292+/* tok-621 %txt /tests/golden/types-union-print-same-origin/tokens/txt
2293−/* typ-620 %txt /tests/golden/types-union-tags/types/txt
2293+/* tre-621 %txt /tests/golden/types-union-print-same-origin/tree/txt
2294−/* src-621 %jibb /tests/golden/types-union-unresolved/source/jibb
2294+/* mod-621-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
2295−/* tok-621 %txt /tests/golden/types-union-unresolved/tokens/txt
2295+/* typ-621 %txt /tests/golden/types-union-print-same-origin/types/txt
2296−/* tre-621 %txt /tests/golden/types-union-unresolved/tree/txt
2296+/* mtre-621 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
2297−/* typ-621 %txt /tests/golden/types-union-unresolved/types/txt
2297+/* src-622 %jibb /tests/golden/types-union-print-transitive/source/jibb
2298−/* src-622 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
2298+/* tok-622 %txt /tests/golden/types-union-print-transitive/tokens/txt
2299−/* tok-622 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
2299+/* tre-622 %txt /tests/golden/types-union-print-transitive/tree/txt
2300−/* tre-622 %txt /tests/golden/types-union-unresolved-flow/tree/txt
2300+/* mod-622-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
2301−/* typ-622 %txt /tests/golden/types-union-unresolved-flow/types/txt
2301+/* mod-622-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
2302−/* src-623 %jibb /tests/golden/types-unit-construction/source/jibb
2302+/* typ-622 %txt /tests/golden/types-union-print-transitive/types/txt
2303−/* tok-623 %txt /tests/golden/types-unit-construction/tokens/txt
2303+/* mtre-622 %txt /tests/golden/types-union-print-transitive/module-trees/txt
2304−/* tre-623 %txt /tests/golden/types-unit-construction/tree/txt
2304+/* src-623 %jibb /tests/golden/types-union-singleton/source/jibb
2305−/* typ-623 %txt /tests/golden/types-unit-construction/types/txt
2305+/* tok-623 %txt /tests/golden/types-union-singleton/tokens/txt
2306−/* src-624 %jibb /tests/golden/types-unit-context/source/jibb
2306+/* tre-623 %txt /tests/golden/types-union-singleton/tree/txt
2307−/* tok-624 %txt /tests/golden/types-unit-context/tokens/txt
2307+/* typ-623 %txt /tests/golden/types-union-singleton/types/txt
2308−/* tre-624 %txt /tests/golden/types-unit-context/tree/txt
2308+/* src-624 %jibb /tests/golden/types-union-tag-atoms/source/jibb
2309−/* typ-624 %txt /tests/golden/types-unit-context/types/txt
2309+/* tok-624 %txt /tests/golden/types-union-tag-atoms/tokens/txt
2310−/* src-625 %jibb /tests/golden/types-unit-patterns/source/jibb
2310+/* tre-624 %txt /tests/golden/types-union-tag-atoms/tree/txt
2311−/* tok-625 %txt /tests/golden/types-unit-patterns/tokens/txt
2311+/* typ-624 %txt /tests/golden/types-union-tag-atoms/types/txt
2312−/* tre-625 %txt /tests/golden/types-unit-patterns/tree/txt
2312+/* src-625 %jibb /tests/golden/types-union-tags/source/jibb
2313−/* typ-625 %txt /tests/golden/types-unit-patterns/types/txt
2313+/* tok-625 %txt /tests/golden/types-union-tags/tokens/txt
2314−/* src-626 %jibb /tests/golden/types-value-cycle-shadow/source/jibb
2314+/* tre-625 %txt /tests/golden/types-union-tags/tree/txt
2315−/* tok-626 %txt /tests/golden/types-value-cycle-shadow/tokens/txt
2315+/* typ-625 %txt /tests/golden/types-union-tags/types/txt
2316−/* tre-626 %txt /tests/golden/types-value-cycle-shadow/tree/txt
2316+/* src-626 %jibb /tests/golden/types-union-unresolved/source/jibb
2317−/* typ-626 %txt /tests/golden/types-value-cycle-shadow/types/txt
2317+/* tok-626 %txt /tests/golden/types-union-unresolved/tokens/txt
2318−/* src-627 %jibb /tests/golden/types-value-cycle-unsupported/source/jibb
2318+/* tre-626 %txt /tests/golden/types-union-unresolved/tree/txt
2319−/* tok-627 %txt /tests/golden/types-value-cycle-unsupported/tokens/txt
2319+/* typ-626 %txt /tests/golden/types-union-unresolved/types/txt
2320−/* tre-627 %txt /tests/golden/types-value-cycle-unsupported/tree/txt
2320+/* src-627 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
2321−/* typ-627 %txt /tests/golden/types-value-cycle-unsupported/types/txt
2321+/* tok-627 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
2322−/* src-628 %jibb /tests/golden/types-value-cycles/source/jibb
2322+/* tre-627 %txt /tests/golden/types-union-unresolved-flow/tree/txt
2323−/* tok-628 %txt /tests/golden/types-value-cycles/tokens/txt
2323+/* typ-627 %txt /tests/golden/types-union-unresolved-flow/types/txt
2324−/* tre-628 %txt /tests/golden/types-value-cycles/tree/txt
2324+/* src-628 %jibb /tests/golden/types-unit-construction/source/jibb
2325−/* typ-628 %txt /tests/golden/types-value-cycles/types/txt
2325+/* tok-628 %txt /tests/golden/types-unit-construction/tokens/txt
2326+/* tre-628 %txt /tests/golden/types-unit-construction/tree/txt
2327+/* typ-628 %txt /tests/golden/types-unit-construction/types/txt
2328+/* src-629 %jibb /tests/golden/types-unit-context/source/jibb
2329+/* tok-629 %txt /tests/golden/types-unit-context/tokens/txt
2330+/* tre-629 %txt /tests/golden/types-unit-context/tree/txt
2331+/* typ-629 %txt /tests/golden/types-unit-context/types/txt
2332+/* src-630 %jibb /tests/golden/types-unit-patterns/source/jibb
2333+/* tok-630 %txt /tests/golden/types-unit-patterns/tokens/txt
2334+/* tre-630 %txt /tests/golden/types-unit-patterns/tree/txt
2335+/* typ-630 %txt /tests/golden/types-unit-patterns/types/txt
2336+/* src-631 %jibb /tests/golden/types-value-cycle-shadow/source/jibb
2337+/* tok-631 %txt /tests/golden/types-value-cycle-shadow/tokens/txt
2338+/* tre-631 %txt /tests/golden/types-value-cycle-shadow/tree/txt
2339+/* typ-631 %txt /tests/golden/types-value-cycle-shadow/types/txt
2340+/* src-632 %jibb /tests/golden/types-value-cycle-unsupported/source/jibb
2341+/* tok-632 %txt /tests/golden/types-value-cycle-unsupported/tokens/txt
2342+/* tre-632 %txt /tests/golden/types-value-cycle-unsupported/tree/txt
2343+/* typ-632 %txt /tests/golden/types-value-cycle-unsupported/types/txt
2344+/* src-633 %jibb /tests/golden/types-value-cycles/source/jibb
2345+/* tok-633 %txt /tests/golden/types-value-cycles/tokens/txt
2346+/* tre-633 %txt /tests/golden/types-value-cycles/tree/txt
2347+/* typ-633 %txt /tests/golden/types-value-cycles/types/txt
2326=/ prepared-prelude (prepare-prelude-with-internal:jibb prelude-source internal-source)
2348=/ prepared-prelude (prepare-prelude-with-internal:jibb prelude-source internal-source)
2327|%
2349|%
2328:: one arm per case
2350:: one arm per case
@@ -3145,444 +3167,454 @@
3145 (weld (check ~.prelude-list-unit src-408 `tok-408 `tre-408) (check-types ~.prelude-list-unit ~[%tests %golden ~.prelude-list-unit %source %jibb] src-408 `typ-408))
3167 (weld (check ~.prelude-list-unit src-408 `tok-408 `tre-408) (check-types ~.prelude-list-unit ~[%tests %golden ~.prelude-list-unit %source %jibb] src-408 `typ-408))
3146++ test-prelude-unit-list-transforms
3168++ test-prelude-unit-list-transforms
3147 (weld (check ~.prelude-unit-list-transforms src-409 `tok-409 `tre-409) (check-types ~.prelude-unit-list-transforms ~[%tests %golden ~.prelude-unit-list-transforms %source %jibb] src-409 `typ-409))
3169 (weld (check ~.prelude-unit-list-transforms src-409 `tok-409 `tre-409) (check-types ~.prelude-unit-list-transforms ~[%tests %golden ~.prelude-unit-list-transforms %source %jibb] src-409 `typ-409))
3170+++ test-types-arithmetic-combined
3171+ (weld (check ~.types-arithmetic-combined src-410 `tok-410 `tre-410) (check-module-types ~.types-arithmetic-combined ~[%tests %golden ~.types-arithmetic-combined %source %jibb] src-410 `typ-410 ~ ~ ~))
3172+++ test-types-arithmetic-generic
3173+ (weld (check ~.types-arithmetic-generic src-411 `tok-411 `tre-411) (check-module-types ~.types-arithmetic-generic ~[%tests %golden ~.types-arithmetic-generic %source %jibb] src-411 `typ-411 ~ ~ ~))
3174+++ test-types-arithmetic-module
3175+ (weld (weld (check ~.types-arithmetic-module src-412 `tok-412 `tre-412) (check-module-types ~.types-arithmetic-module ~[%tests %golden ~.types-arithmetic-module %source %jibb] src-412 `typ-412 ~ ~ ~[['/ui/math.jibb' ~[~.ui ~.math ~.jibb] mod-412-1]])) (check-module-trees ~.types-arithmetic-module `mtre-412 ~[['/ui/math.jibb' ~[~.ui ~.math ~.jibb] mod-412-1]]))
3176+++ test-types-arithmetic-proj-qath
3177+ (weld (check ~.types-arithmetic-proj-qath src-413 `tok-413 `tre-413) (check-module-types ~.types-arithmetic-proj-qath ~[%tests %golden ~.types-arithmetic-proj-qath %source %jibb] src-413 `typ-413 ~ ~ ~))
3178+++ test-types-arithmetic-scopes
3179+ (weld (check ~.types-arithmetic-scopes src-414 `tok-414 `tre-414) (check-module-types ~.types-arithmetic-scopes ~[%tests %golden ~.types-arithmetic-scopes %source %jibb] src-414 `typ-414 ~ ~ ~))
3148++ test-types-capital-distinct
3180++ test-types-capital-distinct
3149− (weld (check ~.types-capital-distinct src-410 `tok-410 `tre-410) (check-types ~.types-capital-distinct ~[%tests %golden ~.types-capital-distinct %source %jibb] src-410 `typ-410))
3181+ (weld (check ~.types-capital-distinct src-415 `tok-415 `tre-415) (check-types ~.types-capital-distinct ~[%tests %golden ~.types-capital-distinct %source %jibb] src-415 `typ-415))
3150++ test-types-cell-pattern-many
3182++ test-types-cell-pattern-many
3151− (weld (check ~.types-cell-pattern-many src-411 `tok-411 `tre-411) (check-module-types ~.types-cell-pattern-many ~[%tests %golden ~.types-cell-pattern-many %source %jibb] src-411 `typ-411 ~ ~ ~))
3183+ (weld (check ~.types-cell-pattern-many src-416 `tok-416 `tre-416) (check-module-types ~.types-cell-pattern-many ~[%tests %golden ~.types-cell-pattern-many %source %jibb] src-416 `typ-416 ~ ~ ~))
3152++ test-types-cell-pattern-schemes
3184++ test-types-cell-pattern-schemes
3153− (weld (check ~.types-cell-pattern-schemes src-412 `tok-412 `tre-412) (check-module-types ~.types-cell-pattern-schemes ~[%tests %golden ~.types-cell-pattern-schemes %source %jibb] src-412 `typ-412 ~ ~ ~))
3185+ (weld (check ~.types-cell-pattern-schemes src-417 `tok-417 `tre-417) (check-module-types ~.types-cell-pattern-schemes ~[%tests %golden ~.types-cell-pattern-schemes %source %jibb] src-417 `typ-417 ~ ~ ~))
3154++ test-types-cell-pattern-tail
3186++ test-types-cell-pattern-tail
3155− (weld (check ~.types-cell-pattern-tail src-413 `tok-413 `tre-413) (check-module-types ~.types-cell-pattern-tail ~[%tests %golden ~.types-cell-pattern-tail %source %jibb] src-413 `typ-413 ~ ~ ~))
3187+ (weld (check ~.types-cell-pattern-tail src-418 `tok-418 `tre-418) (check-module-types ~.types-cell-pattern-tail ~[%tests %golden ~.types-cell-pattern-tail %source %jibb] src-418 `typ-418 ~ ~ ~))
3156++ test-types-deferred-call-context
3188++ test-types-deferred-call-context
3157− (weld (check ~.types-deferred-call-context src-414 `tok-414 `tre-414) (check-module-types ~.types-deferred-call-context ~[%tests %golden ~.types-deferred-call-context %source %jibb] src-414 `typ-414 ~ ~ ~))
3189+ (weld (check ~.types-deferred-call-context src-419 `tok-419 `tre-419) (check-module-types ~.types-deferred-call-context ~[%tests %golden ~.types-deferred-call-context %source %jibb] src-419 `typ-419 ~ ~ ~))
3158++ test-types-flag-branch-context
3190++ test-types-flag-branch-context
3159− (weld (check ~.types-flag-branch-context src-415 `tok-415 `tre-415) (check-module-types ~.types-flag-branch-context ~[%tests %golden ~.types-flag-branch-context %source %jibb] src-415 `typ-415 ~ ~ ~))
3191+ (weld (check ~.types-flag-branch-context src-420 `tok-420 `tre-420) (check-module-types ~.types-flag-branch-context ~[%tests %golden ~.types-flag-branch-context %source %jibb] src-420 `typ-420 ~ ~ ~))
3160++ test-types-generic-arity
3192++ test-types-generic-arity
3161− (weld (check ~.types-generic-arity src-416 `tok-416 `tre-416) (check-types ~.types-generic-arity ~[%tests %golden ~.types-generic-arity %source %jibb] src-416 `typ-416))
3193+ (weld (check ~.types-generic-arity src-421 `tok-421 `tre-421) (check-types ~.types-generic-arity ~[%tests %golden ~.types-generic-arity %source %jibb] src-421 `typ-421))
3162++ test-types-generic-face-inference
3194++ test-types-generic-face-inference
3163− (weld (check ~.types-generic-face-inference src-417 `tok-417 `tre-417) (check-types ~.types-generic-face-inference ~[%tests %golden ~.types-generic-face-inference %source %jibb] src-417 `typ-417))
3195+ (weld (check ~.types-generic-face-inference src-422 `tok-422 `tre-422) (check-types ~.types-generic-face-inference ~[%tests %golden ~.types-generic-face-inference %source %jibb] src-422 `typ-422))
3164++ test-types-generic-gates
3196++ test-types-generic-gates
3165− (weld (check ~.types-generic-gates src-418 `tok-418 `tre-418) (check-types ~.types-generic-gates ~[%tests %golden ~.types-generic-gates %source %jibb] src-418 `typ-418))
3197+ (weld (check ~.types-generic-gates src-423 `tok-423 `tre-423) (check-types ~.types-generic-gates ~[%tests %golden ~.types-generic-gates %source %jibb] src-423 `typ-423))
3166++ test-types-generic-import-reverse
3198++ test-types-generic-import-reverse
3167− (weld (weld (check ~.types-generic-import-reverse src-419 `tok-419 `tre-419) (check-module-types ~.types-generic-import-reverse ~[%tests %golden ~.types-generic-import-reverse %source %jibb] src-419 `typ-419 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-419-1]])) (check-module-trees ~.types-generic-import-reverse `mtre-419 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-419-1]]))
3199+ (weld (weld (check ~.types-generic-import-reverse src-424 `tok-424 `tre-424) (check-module-types ~.types-generic-import-reverse ~[%tests %golden ~.types-generic-import-reverse %source %jibb] src-424 `typ-424 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-424-1]])) (check-module-trees ~.types-generic-import-reverse `mtre-424 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-424-1]]))
3168++ test-types-generic-lexical-alias
3200++ test-types-generic-lexical-alias
3169− (weld (check ~.types-generic-lexical-alias src-420 `tok-420 `tre-420) (check-types ~.types-generic-lexical-alias ~[%tests %golden ~.types-generic-lexical-alias %source %jibb] src-420 `typ-420))
3201+ (weld (check ~.types-generic-lexical-alias src-425 `tok-425 `tre-425) (check-types ~.types-generic-lexical-alias ~[%tests %golden ~.types-generic-lexical-alias %source %jibb] src-425 `typ-425))
3170++ test-types-generic-local-parameter
3202++ test-types-generic-local-parameter
3171− (weld (check ~.types-generic-local-parameter src-421 `tok-421 `tre-421) (check-types ~.types-generic-local-parameter ~[%tests %golden ~.types-generic-local-parameter %source %jibb] src-421 `typ-421))
3203+ (weld (check ~.types-generic-local-parameter src-426 `tok-426 `tre-426) (check-types ~.types-generic-local-parameter ~[%tests %golden ~.types-generic-local-parameter %source %jibb] src-426 `typ-426))
3172++ test-types-generic-local-scope
3204++ test-types-generic-local-scope
3173− (weld (check ~.types-generic-local-scope src-422 `tok-422 `tre-422) (check-types ~.types-generic-local-scope ~[%tests %golden ~.types-generic-local-scope %source %jibb] src-422 `typ-422))
3205+ (weld (check ~.types-generic-local-scope src-427 `tok-427 `tre-427) (check-types ~.types-generic-local-scope ~[%tests %golden ~.types-generic-local-scope %source %jibb] src-427 `typ-427))
3174++ test-types-generic-module
3206++ test-types-generic-module
3175− (weld (weld (check ~.types-generic-module src-423 `tok-423 `tre-423) (check-module-types ~.types-generic-module ~[%tests %golden ~.types-generic-module %source %jibb] src-423 `typ-423 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-423-1]])) (check-module-trees ~.types-generic-module `mtre-423 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-423-1]]))
3207+ (weld (weld (check ~.types-generic-module src-428 `tok-428 `tre-428) (check-module-types ~.types-generic-module ~[%tests %golden ~.types-generic-module %source %jibb] src-428 `typ-428 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-428-1]])) (check-module-trees ~.types-generic-module `mtre-428 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-428-1]]))
3176++ test-types-generic-nested-scope
3208++ test-types-generic-nested-scope
3177− (weld (check ~.types-generic-nested-scope src-424 `tok-424 `tre-424) (check-types ~.types-generic-nested-scope ~[%tests %golden ~.types-generic-nested-scope %source %jibb] src-424 `typ-424))
3209+ (weld (check ~.types-generic-nested-scope src-429 `tok-429 `tre-429) (check-types ~.types-generic-nested-scope ~[%tests %golden ~.types-generic-nested-scope %source %jibb] src-429 `typ-429))
3178++ test-types-generic-parameters
3210++ test-types-generic-parameters
3179− (weld (check ~.types-generic-parameters src-425 `tok-425 `tre-425) (check-types ~.types-generic-parameters ~[%tests %golden ~.types-generic-parameters %source %jibb] src-425 `typ-425))
3211+ (weld (check ~.types-generic-parameters src-430 `tok-430 `tre-430) (check-types ~.types-generic-parameters ~[%tests %golden ~.types-generic-parameters %source %jibb] src-430 `typ-430))
3180++ test-types-generic-record
3212++ test-types-generic-record
3181− (weld (check ~.types-generic-record src-426 `tok-426 `tre-426) (check-types ~.types-generic-record ~[%tests %golden ~.types-generic-record %source %jibb] src-426 `typ-426))
3213+ (weld (check ~.types-generic-record src-431 `tok-431 `tre-431) (check-types ~.types-generic-record ~[%tests %golden ~.types-generic-record %source %jibb] src-431 `typ-431))
3182++ test-types-generic-recursive-union
3214++ test-types-generic-recursive-union
3183− (weld (check ~.types-generic-recursive-union src-427 `tok-427 `tre-427) (check-types ~.types-generic-recursive-union ~[%tests %golden ~.types-generic-recursive-union %source %jibb] src-427 `typ-427))
3215+ (weld (check ~.types-generic-recursive-union src-432 `tok-432 `tre-432) (check-types ~.types-generic-recursive-union ~[%tests %golden ~.types-generic-recursive-union %source %jibb] src-432 `typ-432))
3184++ test-types-generic-repeated
3216++ test-types-generic-repeated
3185− (weld (check ~.types-generic-repeated src-428 `tok-428 `tre-428) (check-types ~.types-generic-repeated ~[%tests %golden ~.types-generic-repeated %source %jibb] src-428 `typ-428))
3217+ (weld (check ~.types-generic-repeated src-433 `tok-433 `tre-433) (check-types ~.types-generic-repeated ~[%tests %golden ~.types-generic-repeated %source %jibb] src-433 `typ-433))
3186++ test-types-generic-union-alias
3218++ test-types-generic-union-alias
3187− (weld (check ~.types-generic-union-alias src-429 `tok-429 `tre-429) (check-types ~.types-generic-union-alias ~[%tests %golden ~.types-generic-union-alias %source %jibb] src-429 `typ-429))
3219+ (weld (check ~.types-generic-union-alias src-434 `tok-434 `tre-434) (check-types ~.types-generic-union-alias ~[%tests %golden ~.types-generic-union-alias %source %jibb] src-434 `typ-434))
3188++ test-types-generic-union-alias-face
3220++ test-types-generic-union-alias-face
3189− (weld (weld (check ~.types-generic-union-alias-face src-430 `tok-430 `tre-430) (check-module-types ~.types-generic-union-alias-face ~[%tests %golden ~.types-generic-union-alias-face %source %jibb] src-430 `typ-430 ~ ~ ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-430-1]])) (check-module-trees ~.types-generic-union-alias-face `mtre-430 ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-430-1]]))
3221+ (weld (weld (check ~.types-generic-union-alias-face src-435 `tok-435 `tre-435) (check-module-types ~.types-generic-union-alias-face ~[%tests %golden ~.types-generic-union-alias-face %source %jibb] src-435 `typ-435 ~ ~ ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-435-1]])) (check-module-trees ~.types-generic-union-alias-face `mtre-435 ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-435-1]]))
3190++ test-types-generic-union-capitals
3222++ test-types-generic-union-capitals
3191− (weld (check ~.types-generic-union-capitals src-431 `tok-431 `tre-431) (check-types ~.types-generic-union-capitals ~[%tests %golden ~.types-generic-union-capitals %source %jibb] src-431 `typ-431))
3223+ (weld (check ~.types-generic-union-capitals src-436 `tok-436 `tre-436) (check-types ~.types-generic-union-capitals ~[%tests %golden ~.types-generic-union-capitals %source %jibb] src-436 `typ-436))
3192++ test-types-generic-union-errors
3224++ test-types-generic-union-errors
3193− (weld (check ~.types-generic-union-errors src-432 `tok-432 `tre-432) (check-types ~.types-generic-union-errors ~[%tests %golden ~.types-generic-union-errors %source %jibb] src-432 `typ-432))
3225+ (weld (check ~.types-generic-union-errors src-437 `tok-437 `tre-437) (check-types ~.types-generic-union-errors ~[%tests %golden ~.types-generic-union-errors %source %jibb] src-437 `typ-437))
3194++ test-types-generic-union-escaping
3226++ test-types-generic-union-escaping
3195− (weld (weld (check ~.types-generic-union-escaping src-433 `tok-433 `tre-433) (check-module-types ~.types-generic-union-escaping ~[%tests %golden ~.types-generic-union-escaping %source %jibb] src-433 `typ-433 ~ ~ ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-433-1] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-433-2]])) (check-module-trees ~.types-generic-union-escaping `mtre-433 ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-433-1] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-433-2]]))
3227+ (weld (weld (check ~.types-generic-union-escaping src-438 `tok-438 `tre-438) (check-module-types ~.types-generic-union-escaping ~[%tests %golden ~.types-generic-union-escaping %source %jibb] src-438 `typ-438 ~ ~ ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-438-1] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-438-2]])) (check-module-trees ~.types-generic-union-escaping `mtre-438 ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-438-1] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-438-2]]))
3196++ test-types-generic-union-import
3228++ test-types-generic-union-import
3197− (weld (weld (check ~.types-generic-union-import src-434 `tok-434 `tre-434) (check-module-types ~.types-generic-union-import ~[%tests %golden ~.types-generic-union-import %source %jibb] src-434 `typ-434 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-434-1] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-434-2]])) (check-module-trees ~.types-generic-union-import `mtre-434 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-434-1] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-434-2]]))
3229+ (weld (weld (check ~.types-generic-union-import src-439 `tok-439 `tre-439) (check-module-types ~.types-generic-union-import ~[%tests %golden ~.types-generic-union-import %source %jibb] src-439 `typ-439 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-439-1] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-439-2]])) (check-module-trees ~.types-generic-union-import `mtre-439 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-439-1] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-439-2]]))
3198++ test-types-generic-union-local
3230++ test-types-generic-union-local
3199− (weld (check ~.types-generic-union-local src-435 `tok-435 `tre-435) (check-types ~.types-generic-union-local ~[%tests %golden ~.types-generic-union-local %source %jibb] src-435 `typ-435))
3231+ (weld (check ~.types-generic-union-local src-440 `tok-440 `tre-440) (check-types ~.types-generic-union-local ~[%tests %golden ~.types-generic-union-local %source %jibb] src-440 `typ-440))
3200++ test-types-generic-union-transitive
3232++ test-types-generic-union-transitive
3201− (weld (weld (check ~.types-generic-union-transitive src-436 `tok-436 `tre-436) (check-module-types ~.types-generic-union-transitive ~[%tests %golden ~.types-generic-union-transitive %source %jibb] src-436 `typ-436 ~ ~ ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-436-1] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-436-2]])) (check-module-trees ~.types-generic-union-transitive `mtre-436 ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-436-1] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-436-2]]))
3233+ (weld (weld (check ~.types-generic-union-transitive src-441 `tok-441 `tre-441) (check-module-types ~.types-generic-union-transitive ~[%tests %golden ~.types-generic-union-transitive %source %jibb] src-441 `typ-441 ~ ~ ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-441-1] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-441-2]])) (check-module-trees ~.types-generic-union-transitive `mtre-441 ~[['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-441-1] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-441-2]]))
3202++ test-types-hole-concrete
3234++ test-types-hole-concrete
3203− (weld (check ~.types-hole-concrete src-437 `tok-437 `tre-437) (check-types ~.types-hole-concrete ~[%tests %golden ~.types-hole-concrete %source %jibb] src-437 `typ-437))
3235+ (weld (check ~.types-hole-concrete src-442 `tok-442 `tre-442) (check-types ~.types-hole-concrete ~[%tests %golden ~.types-hole-concrete %source %jibb] src-442 `typ-442))
3204++ test-types-hole-generic-mold
3236++ test-types-hole-generic-mold
3205− (weld (check ~.types-hole-generic-mold src-438 `tok-438 `tre-438) (check-types ~.types-hole-generic-mold ~[%tests %golden ~.types-hole-generic-mold %source %jibb] src-438 `typ-438))
3237+ (weld (check ~.types-hole-generic-mold src-443 `tok-443 `tre-443) (check-types ~.types-hole-generic-mold ~[%tests %golden ~.types-hole-generic-mold %source %jibb] src-443 `typ-443))
3206++ test-types-hole-local-boundary
3238++ test-types-hole-local-boundary
3207− (weld (check ~.types-hole-local-boundary src-439 `tok-439 `tre-439) (check-types ~.types-hole-local-boundary ~[%tests %golden ~.types-hole-local-boundary %source %jibb] src-439 `typ-439))
3239+ (weld (check ~.types-hole-local-boundary src-444 `tok-444 `tre-444) (check-types ~.types-hole-local-boundary ~[%tests %golden ~.types-hole-local-boundary %source %jibb] src-444 `typ-444))
3208++ test-types-hole-module-boundary
3240++ test-types-hole-module-boundary
3209− (weld (weld (check ~.types-hole-module-boundary src-440 `tok-440 `tre-440) (check-module-types ~.types-hole-module-boundary ~[%tests %golden ~.types-hole-module-boundary %source %jibb] src-440 `typ-440 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-440-1]])) (check-module-trees ~.types-hole-module-boundary `mtre-440 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-440-1]]))
3241+ (weld (weld (check ~.types-hole-module-boundary src-445 `tok-445 `tre-445) (check-module-types ~.types-hole-module-boundary ~[%tests %golden ~.types-hole-module-boundary %source %jibb] src-445 `typ-445 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-445-1]])) (check-module-trees ~.types-hole-module-boundary `mtre-445 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-445-1]]))
3210++ test-types-hole-named-complex
3242++ test-types-hole-named-complex
3211− (weld (check ~.types-hole-named-complex src-441 `tok-441 `tre-441) (check-types ~.types-hole-named-complex ~[%tests %golden ~.types-hole-named-complex %source %jibb] src-441 `typ-441))
3243+ (weld (check ~.types-hole-named-complex src-446 `tok-446 `tre-446) (check-types ~.types-hole-named-complex ~[%tests %golden ~.types-hole-named-complex %source %jibb] src-446 `typ-446))
3212++ test-types-hole-numeric-capture
3244++ test-types-hole-numeric-capture
3213− (weld (check ~.types-hole-numeric-capture src-442 `tok-442 `tre-442) (check-types ~.types-hole-numeric-capture ~[%tests %golden ~.types-hole-numeric-capture %source %jibb] src-442 `typ-442))
3245+ (weld (check ~.types-hole-numeric-capture src-447 `tok-447 `tre-447) (check-types ~.types-hole-numeric-capture ~[%tests %golden ~.types-hole-numeric-capture %source %jibb] src-447 `typ-447))
3214++ test-types-hole-unbound-mold
3246++ test-types-hole-unbound-mold
3215− (weld (check ~.types-hole-unbound-mold src-443 `tok-443 `tre-443) (check-types ~.types-hole-unbound-mold ~[%tests %golden ~.types-hole-unbound-mold %source %jibb] src-443 `typ-443))
3247+ (weld (check ~.types-hole-unbound-mold src-448 `tok-448 `tre-448) (check-types ~.types-hole-unbound-mold ~[%tests %golden ~.types-hole-unbound-mold %source %jibb] src-448 `typ-448))
3216++ test-types-hole-unsupported
3248++ test-types-hole-unsupported
3217− (weld (check ~.types-hole-unsupported src-444 `tok-444 `tre-444) (check-types ~.types-hole-unsupported ~[%tests %golden ~.types-hole-unsupported %source %jibb] src-444 `typ-444))
3249+ (weld (check ~.types-hole-unsupported src-449 `tok-449 `tre-449) (check-types ~.types-hole-unsupported ~[%tests %golden ~.types-hole-unsupported %source %jibb] src-449 `typ-449))
3218++ test-types-hole-user-generic
3250++ test-types-hole-user-generic
3219− (weld (check ~.types-hole-user-generic src-445 `tok-445 `tre-445) (check-types ~.types-hole-user-generic ~[%tests %golden ~.types-hole-user-generic %source %jibb] src-445 `typ-445))
3251+ (weld (check ~.types-hole-user-generic src-450 `tok-450 `tre-450) (check-types ~.types-hole-user-generic ~[%tests %golden ~.types-hole-user-generic %source %jibb] src-450 `typ-450))
3220++ test-types-hole-user-named
3252++ test-types-hole-user-named
3221− (weld (check ~.types-hole-user-named src-446 `tok-446 `tre-446) (check-types ~.types-hole-user-named ~[%tests %golden ~.types-hole-user-named %source %jibb] src-446 `typ-446))
3253+ (weld (check ~.types-hole-user-named src-451 `tok-451 `tre-451) (check-types ~.types-hole-user-named ~[%tests %golden ~.types-hole-user-named %source %jibb] src-451 `typ-451))
3222++ test-types-hole-user-value
3254++ test-types-hole-user-value
3223− (weld (check ~.types-hole-user-value src-447 `tok-447 `tre-447) (check-types ~.types-hole-user-value ~[%tests %golden ~.types-hole-user-value %source %jibb] src-447 `typ-447))
3255+ (weld (check ~.types-hole-user-value src-452 `tok-452 `tre-452) (check-types ~.types-hole-user-value ~[%tests %golden ~.types-hole-user-value %source %jibb] src-452 `typ-452))
3224++ test-types-import-duplicate-mark
3256++ test-types-import-duplicate-mark
3225− (weld (check ~.types-import-duplicate-mark src-448 `tok-448 `tre-448) (check-mark-types ~.types-import-duplicate-mark ~[%tests %golden ~.types-import-duplicate-mark %source %jibb] src-448 `typ-448 ~ ~[[%duplicate mark-448-1]]))
3257+ (weld (check ~.types-import-duplicate-mark src-453 `tok-453 `tre-453) (check-mark-types ~.types-import-duplicate-mark ~[%tests %golden ~.types-import-duplicate-mark %source %jibb] src-453 `typ-453 ~ ~[[%duplicate mark-453-1]]))
3226++ test-types-import-duplicate-sur
3258++ test-types-import-duplicate-sur
3227− (weld (check ~.types-import-duplicate-sur src-449 `tok-449 `tre-449) (check-import-types ~.types-import-duplicate-sur ~[%tests %golden ~.types-import-duplicate-sur %source %jibb] src-449 `typ-449 ~[[%fixture %direct imp-449-1] [%fixture %nested imp-449-2] [%fixture %valid imp-449-3]]))
3259+ (weld (check ~.types-import-duplicate-sur src-454 `tok-454 `tre-454) (check-import-types ~.types-import-duplicate-sur ~[%tests %golden ~.types-import-duplicate-sur %source %jibb] src-454 `typ-454 ~[[%fixture %direct imp-454-1] [%fixture %nested imp-454-2] [%fixture %valid imp-454-3]]))
3228++ test-types-import-hoon-flags
3260++ test-types-import-hoon-flags
3229− (weld (check ~.types-import-hoon-flags src-450 `tok-450 `tre-450) (check-import-types ~.types-import-hoon-flags ~[%tests %golden ~.types-import-hoon-flags %source %jibb] src-450 `typ-450 ~[[%flags %flag imp-450-1] [%flags %yes imp-450-2] [%flags %no imp-450-3] [%flags %record imp-450-4]]))
3261+ (weld (check ~.types-import-hoon-flags src-455 `tok-455 `tre-455) (check-import-types ~.types-import-hoon-flags ~[%tests %golden ~.types-import-hoon-flags %source %jibb] src-455 `typ-455 ~[[%flags %flag imp-455-1] [%flags %yes imp-455-2] [%flags %no imp-455-3] [%flags %record imp-455-4]]))
3230++ test-types-import-hoon-noun
3262++ test-types-import-hoon-noun
3231− (weld (check ~.types-import-hoon-noun src-451 `tok-451 `tre-451) (check-import-types ~.types-import-hoon-noun ~[%tests %golden ~.types-import-hoon-noun %source %jibb] src-451 `typ-451 ~[[%fixture %any imp-451-1] [%fixture %payload imp-451-2] [%fixture %option imp-451-3] [%fixture %overlap imp-451-4]]))
3263+ (weld (check ~.types-import-hoon-noun src-456 `tok-456 `tre-456) (check-import-types ~.types-import-hoon-noun ~[%tests %golden ~.types-import-hoon-noun %source %jibb] src-456 `typ-456 ~[[%fixture %any imp-456-1] [%fixture %payload imp-456-2] [%fixture %option imp-456-3] [%fixture %overlap imp-456-4]]))
3232++ test-types-import-mark
3264++ test-types-import-mark
3233− (weld (check ~.types-import-mark src-452 `tok-452 `tre-452) (check-mark-types ~.types-import-mark ~[%tests %golden ~.types-import-mark %source %jibb] src-452 `typ-452 ~[[%fixture %title imp-452-1]] ~[[%label mark-452-1]]))
3265+ (weld (check ~.types-import-mark src-457 `tok-457 `tre-457) (check-mark-types ~.types-import-mark ~[%tests %golden ~.types-import-mark %source %jibb] src-457 `typ-457 ~[[%fixture %title imp-457-1]] ~[[%label mark-457-1]]))
3234++ test-types-import-mark-record
3266++ test-types-import-mark-record
3235− (weld (check ~.types-import-mark-record src-453 `tok-453 `tre-453) (check-mark-types ~.types-import-mark-record ~[%tests %golden ~.types-import-mark-record %source %jibb] src-453 `typ-453 ~ ~[[%note mark-453-1] [%choice mark-453-2]]))
3267+ (weld (check ~.types-import-mark-record src-458 `tok-458 `tre-458) (check-mark-types ~.types-import-mark-record ~[%tests %golden ~.types-import-mark-record %source %jibb] src-458 `typ-458 ~ ~[[%note mark-458-1] [%choice mark-458-2]]))
3236++ test-types-import-missing-mold
3268++ test-types-import-missing-mold
3237− (weld (check ~.types-import-missing-mold src-454 `tok-454 `tre-454) (check-import-types ~.types-import-missing-mold ~[%tests %golden ~.types-import-missing-mold %source %jibb] src-454 `typ-454 ~[[%fixture %missing imp-454-1]]))
3269+ (weld (check ~.types-import-missing-mold src-459 `tok-459 `tre-459) (check-import-types ~.types-import-missing-mold ~[%tests %golden ~.types-import-missing-mold %source %jibb] src-459 `typ-459 ~[[%fixture %missing imp-459-1]]))
3238++ test-types-import-sur
3270++ test-types-import-sur
3239− (weld (check ~.types-import-sur src-455 `tok-455 `tre-455) (check-import-types ~.types-import-sur ~[%tests %golden ~.types-import-sur %source %jibb] src-455 `typ-455 ~[[%fixture %title imp-455-1] [%fixture %pair imp-455-2]]))
3271+ (weld (check ~.types-import-sur src-460 `tok-460 `tre-460) (check-import-types ~.types-import-sur ~[%tests %golden ~.types-import-sur %source %jibb] src-460 `typ-460 ~[[%fixture %title imp-460-1] [%fixture %pair imp-460-2]]))
3240++ test-types-import-sur-record-graph
3272++ test-types-import-sur-record-graph
3241− (weld (weld (check ~.types-import-sur-record-graph src-456 `tok-456 `tre-456) (check-module-types ~.types-import-sur-record-graph ~[%tests %golden ~.types-import-sur-record-graph %source %jibb] src-456 `typ-456 ~[[%fixture %entry imp-456-1]] ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-456-1]])) (check-module-trees ~.types-import-sur-record-graph `mtre-456 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-456-1]]))
3273+ (weld (weld (check ~.types-import-sur-record-graph src-461 `tok-461 `tre-461) (check-module-types ~.types-import-sur-record-graph ~[%tests %golden ~.types-import-sur-record-graph %source %jibb] src-461 `typ-461 ~[[%fixture %entry imp-461-1]] ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-461-1]])) (check-module-trees ~.types-import-sur-record-graph `mtre-461 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-461-1]]))
3242++ test-types-import-tlon-notes
3274++ test-types-import-tlon-notes
3243− (weld (check ~.types-import-tlon-notes src-457 `tok-457 `tre-457) (check-import-types ~.types-import-tlon-notes ~[%tests %golden ~.types-import-tlon-notes %source %jibb] src-457 `typ-457 ~[[%notes %u-note imp-457-1] [%notes %a-note imp-457-2] [%notes %u-notebook imp-457-3] [%notes %u-notes imp-457-4] [%notes %log imp-457-5] [%notes %import-node imp-457-6] [%notes %a-notebook imp-457-7]]))
3275+ (weld (check ~.types-import-tlon-notes src-462 `tok-462 `tre-462) (check-import-types ~.types-import-tlon-notes ~[%tests %golden ~.types-import-tlon-notes %source %jibb] src-462 `typ-462 ~[[%notes %u-note imp-462-1] [%notes %a-note imp-462-2] [%notes %u-notebook imp-462-3] [%notes %u-notes imp-462-4] [%notes %log imp-462-5] [%notes %import-node imp-462-6] [%notes %a-notebook imp-462-7]]))
3244++ test-types-list-branch
3276++ test-types-list-branch
3245− (weld (check ~.types-list-branch src-458 `tok-458 `tre-458) (check-module-types ~.types-list-branch ~[%tests %golden ~.types-list-branch %source %jibb] src-458 `typ-458 ~ ~ ~))
3277+ (weld (check ~.types-list-branch src-463 `tok-463 `tre-463) (check-module-types ~.types-list-branch ~[%tests %golden ~.types-list-branch %source %jibb] src-463 `typ-463 ~ ~ ~))
3246++ test-types-list-cons
3278++ test-types-list-cons
3247− (weld (check ~.types-list-cons src-459 `tok-459 `tre-459) (check-module-types ~.types-list-cons ~[%tests %golden ~.types-list-cons %source %jibb] src-459 `typ-459 ~ ~ ~))
3279+ (weld (check ~.types-list-cons src-464 `tok-464 `tre-464) (check-module-types ~.types-list-cons ~[%tests %golden ~.types-list-cons %source %jibb] src-464 `typ-464 ~ ~ ~))
3248++ test-types-list-context
3280++ test-types-list-context
3249− (weld (check ~.types-list-context src-460 `tok-460 `tre-460) (check-module-types ~.types-list-context ~[%tests %golden ~.types-list-context %source %jibb] src-460 `typ-460 ~ ~ ~))
3281+ (weld (check ~.types-list-context src-465 `tok-465 `tre-465) (check-module-types ~.types-list-context ~[%tests %golden ~.types-list-context %source %jibb] src-465 `typ-465 ~ ~ ~))
3250++ test-types-list-imported
3282++ test-types-list-imported
3251− (weld (check ~.types-list-imported src-461 `tok-461 `tre-461) (check-module-types ~.types-list-imported ~[%tests %golden ~.types-list-imported %source %jibb] src-461 `typ-461 ~[[%fixture %texts imp-461-1] [%fixture %ships imp-461-2]] ~ ~))
3283+ (weld (check ~.types-list-imported src-466 `tok-466 `tre-466) (check-module-types ~.types-list-imported ~[%tests %golden ~.types-list-imported %source %jibb] src-466 `typ-466 ~[[%fixture %texts imp-466-1] [%fixture %ships imp-466-2]] ~ ~))
3252++ test-types-list-open
3284++ test-types-list-open
3253− (weld (check ~.types-list-open src-462 `tok-462 `tre-462) (check-module-types ~.types-list-open ~[%tests %golden ~.types-list-open %source %jibb] src-462 `typ-462 ~ ~ ~))
3285+ (weld (check ~.types-list-open src-467 `tok-467 `tre-467) (check-module-types ~.types-list-open ~[%tests %golden ~.types-list-open %source %jibb] src-467 `typ-467 ~ ~ ~))
3254++ test-types-list-open-constraints
3286++ test-types-list-open-constraints
3255− (weld (check ~.types-list-open-constraints src-463 `tok-463 `tre-463) (check-module-types ~.types-list-open-constraints ~[%tests %golden ~.types-list-open-constraints %source %jibb] src-463 `typ-463 ~ ~ ~))
3287+ (weld (check ~.types-list-open-constraints src-468 `tok-468 `tre-468) (check-module-types ~.types-list-open-constraints ~[%tests %golden ~.types-list-open-constraints %source %jibb] src-468 `typ-468 ~ ~ ~))
3256++ test-types-list-pattern-imported
3288++ test-types-list-pattern-imported
3257− (weld (check ~.types-list-pattern-imported src-464 `tok-464 `tre-464) (check-module-types ~.types-list-pattern-imported ~[%tests %golden ~.types-list-pattern-imported %source %jibb] src-464 `typ-464 ~[[%fixture %texts imp-464-1] [%fixture %text-set imp-464-2]] ~ ~))
3289+ (weld (check ~.types-list-pattern-imported src-469 `tok-469 `tre-469) (check-module-types ~.types-list-pattern-imported ~[%tests %golden ~.types-list-pattern-imported %source %jibb] src-469 `typ-469 ~[[%fixture %texts imp-469-1] [%fixture %text-set imp-469-2]] ~ ~))
3258++ test-types-list-patterns
3290++ test-types-list-patterns
3259− (weld (check ~.types-list-patterns src-465 `tok-465 `tre-465) (check-module-types ~.types-list-patterns ~[%tests %golden ~.types-list-patterns %source %jibb] src-465 `typ-465 ~ ~ ~))
3291+ (weld (check ~.types-list-patterns src-470 `tok-470 `tre-470) (check-module-types ~.types-list-patterns ~[%tests %golden ~.types-list-patterns %source %jibb] src-470 `typ-470 ~ ~ ~))
3260++ test-types-list-zero-fit
3292++ test-types-list-zero-fit
3261− (weld (check ~.types-list-zero-fit src-466 `tok-466 `tre-466) (check-module-types ~.types-list-zero-fit ~[%tests %golden ~.types-list-zero-fit %source %jibb] src-466 `typ-466 ~ ~ ~))
3293+ (weld (check ~.types-list-zero-fit src-471 `tok-471 `tre-471) (check-module-types ~.types-list-zero-fit ~[%tests %golden ~.types-list-zero-fit %source %jibb] src-471 `typ-471 ~ ~ ~))
3262++ test-types-local-capitals
3294++ test-types-local-capitals
3263− (weld (check ~.types-local-capitals src-467 `tok-467 `tre-467) (check-module-types ~.types-local-capitals ~[%tests %golden ~.types-local-capitals %source %jibb] src-467 `typ-467 ~ ~ ~))
3295+ (weld (check ~.types-local-capitals src-472 `tok-472 `tre-472) (check-module-types ~.types-local-capitals ~[%tests %golden ~.types-local-capitals %source %jibb] src-472 `typ-472 ~ ~ ~))
3264++ test-types-local-recursive
3296++ test-types-local-recursive
3265− (weld (check ~.types-local-recursive src-468 `tok-468 `tre-468) (check-module-types ~.types-local-recursive ~[%tests %golden ~.types-local-recursive %source %jibb] src-468 `typ-468 ~ ~ ~))
3297+ (weld (check ~.types-local-recursive src-473 `tok-473 `tre-473) (check-module-types ~.types-local-recursive ~[%tests %golden ~.types-local-recursive %source %jibb] src-473 `typ-473 ~ ~ ~))
3266++ test-types-local-scc
3298++ test-types-local-scc
3267− (weld (check ~.types-local-scc src-469 `tok-469 `tre-469) (check-module-types ~.types-local-scc ~[%tests %golden ~.types-local-scc %source %jibb] src-469 `typ-469 ~ ~ ~))
3299+ (weld (check ~.types-local-scc src-474 `tok-474 `tre-474) (check-module-types ~.types-local-scc ~[%tests %golden ~.types-local-scc %source %jibb] src-474 `typ-474 ~ ~ ~))
3268++ test-types-local-scc-adversarial
3300++ test-types-local-scc-adversarial
3269− (weld (check ~.types-local-scc-adversarial src-470 `tok-470 `tre-470) (check-module-types ~.types-local-scc-adversarial ~[%tests %golden ~.types-local-scc-adversarial %source %jibb] src-470 `typ-470 ~ ~ ~))
3301+ (weld (check ~.types-local-scc-adversarial src-475 `tok-475 `tre-475) (check-module-types ~.types-local-scc-adversarial ~[%tests %golden ~.types-local-scc-adversarial %source %jibb] src-475 `typ-475 ~ ~ ~))
3270++ test-types-missing-tag-context
3302++ test-types-missing-tag-context
3271− (weld (check ~.types-missing-tag-context src-471 `tok-471 `tre-471) (check-module-types ~.types-missing-tag-context ~[%tests %golden ~.types-missing-tag-context %source %jibb] src-471 `typ-471 ~ ~ ~))
3303+ (weld (check ~.types-missing-tag-context src-476 `tok-476 `tre-476) (check-module-types ~.types-missing-tag-context ~[%tests %golden ~.types-missing-tag-context %source %jibb] src-476 `typ-476 ~ ~ ~))
3272++ test-types-missing-tag-imported
3304++ test-types-missing-tag-imported
3273− (weld (check ~.types-missing-tag-imported src-472 `tok-472 `tre-472) (check-import-types ~.types-missing-tag-imported ~[%tests %golden ~.types-missing-tag-imported %source %jibb] src-472 `typ-472 ~[[%fixture %choice imp-472-1] [%fixture %nested-choice imp-472-2]]))
3305+ (weld (check ~.types-missing-tag-imported src-477 `tok-477 `tre-477) (check-import-types ~.types-missing-tag-imported ~[%tests %golden ~.types-missing-tag-imported %source %jibb] src-477 `typ-477 ~[[%fixture %choice imp-477-1] [%fixture %nested-choice imp-477-2]]))
3274++ test-types-missing-tag-named
3306++ test-types-missing-tag-named
3275− (weld (check ~.types-missing-tag-named src-473 `tok-473 `tre-473) (check-module-types ~.types-missing-tag-named ~[%tests %golden ~.types-missing-tag-named %source %jibb] src-473 `typ-473 ~ ~ ~))
3307+ (weld (check ~.types-missing-tag-named src-478 `tok-478 `tre-478) (check-module-types ~.types-missing-tag-named ~[%tests %golden ~.types-missing-tag-named %source %jibb] src-478 `typ-478 ~ ~ ~))
3276++ test-types-module-field-duplicate
3308++ test-types-module-field-duplicate
3277− (weld (weld (check ~.types-module-field-duplicate src-474 `tok-474 `tre-474) (check-module-types ~.types-module-field-duplicate ~[%tests %golden ~.types-module-field-duplicate %source %jibb] src-474 `typ-474 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-474-1]])) (check-module-trees ~.types-module-field-duplicate `mtre-474 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-474-1]]))
3309+ (weld (weld (check ~.types-module-field-duplicate src-479 `tok-479 `tre-479) (check-module-types ~.types-module-field-duplicate ~[%tests %golden ~.types-module-field-duplicate %source %jibb] src-479 `typ-479 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-479-1]])) (check-module-trees ~.types-module-field-duplicate `mtre-479 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-479-1]]))
3278++ test-types-module-field-nonrecord
3310++ test-types-module-field-nonrecord
3279− (weld (weld (check ~.types-module-field-nonrecord src-475 `tok-475 `tre-475) (check-module-types ~.types-module-field-nonrecord ~[%tests %golden ~.types-module-field-nonrecord %source %jibb] src-475 `typ-475 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-475-1]])) (check-module-trees ~.types-module-field-nonrecord `mtre-475 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-475-1]]))
3311+ (weld (weld (check ~.types-module-field-nonrecord src-480 `tok-480 `tre-480) (check-module-types ~.types-module-field-nonrecord ~[%tests %golden ~.types-module-field-nonrecord %source %jibb] src-480 `typ-480 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-480-1]])) (check-module-trees ~.types-module-field-nonrecord `mtre-480 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-480-1]]))
3280++ test-types-module-field-path
3312++ test-types-module-field-path
3281− (weld (weld (check ~.types-module-field-path src-476 `tok-476 `tre-476) (check-module-types ~.types-module-field-path ~[%tests %golden ~.types-module-field-path %source %jibb] src-476 `typ-476 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-476-1]])) (check-module-trees ~.types-module-field-path `mtre-476 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-476-1]]))
3313+ (weld (weld (check ~.types-module-field-path src-481 `tok-481 `tre-481) (check-module-types ~.types-module-field-path ~[%tests %golden ~.types-module-field-path %source %jibb] src-481 `typ-481 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-481-1]])) (check-module-trees ~.types-module-field-path `mtre-481 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-481-1]]))
3282++ test-types-module-field-shadow
3314++ test-types-module-field-shadow
3283− (weld (weld (check ~.types-module-field-shadow src-477 `tok-477 `tre-477) (check-module-types ~.types-module-field-shadow ~[%tests %golden ~.types-module-field-shadow %source %jibb] src-477 `typ-477 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-477-1]])) (check-module-trees ~.types-module-field-shadow `mtre-477 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-477-1]]))
3315+ (weld (weld (check ~.types-module-field-shadow src-482 `tok-482 `tre-482) (check-module-types ~.types-module-field-shadow ~[%tests %golden ~.types-module-field-shadow %source %jibb] src-482 `typ-482 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-482-1]])) (check-module-trees ~.types-module-field-shadow `mtre-482 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-482-1]]))
3284++ test-types-module-fixtures
3316++ test-types-module-fixtures
3285− (weld (weld (check-at ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-478 `tok-478 `tre-478) (check-module-types ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-478 `typ-478 ~ ~ ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-478-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-478-2]])) (check-module-trees ~.types-module-fixtures `mtre-478 ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-478-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-478-2]]))
3317+ (weld (weld (check-at ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-483 `tok-483 `tre-483) (check-module-types ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-483 `typ-483 ~ ~ ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-483-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-483-2]])) (check-module-trees ~.types-module-fixtures `mtre-483 ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-483-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-483-2]]))
3286++ test-types-module-mixed
3318++ test-types-module-mixed
3287− (weld (weld (check ~.types-module-mixed src-479 `tok-479 `tre-479) (check-module-types ~.types-module-mixed ~[%tests %golden ~.types-module-mixed %source %jibb] src-479 `typ-479 ~[[%fixture %title imp-479-1]] ~[[%label mark-479-1]] ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-479-1]])) (check-module-trees ~.types-module-mixed `mtre-479 ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-479-1]]))
3319+ (weld (weld (check ~.types-module-mixed src-484 `tok-484 `tre-484) (check-module-types ~.types-module-mixed ~[%tests %golden ~.types-module-mixed %source %jibb] src-484 `typ-484 ~[[%fixture %title imp-484-1]] ~[[%label mark-484-1]] ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-484-1]])) (check-module-trees ~.types-module-mixed `mtre-484 ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-484-1]]))
3288++ test-types-multi-call
3320++ test-types-multi-call
3289− (weld (check ~.types-multi-call src-480 `tok-480 `tre-480) (check-module-types ~.types-multi-call ~[%tests %golden ~.types-multi-call %source %jibb] src-480 `typ-480 ~ ~ ~))
3321+ (weld (check ~.types-multi-call src-485 `tok-485 `tre-485) (check-module-types ~.types-multi-call ~[%tests %golden ~.types-multi-call %source %jibb] src-485 `typ-485 ~ ~ ~))
3290++ test-types-multi-import
3322++ test-types-multi-import
3291− (weld (weld (check ~.types-multi-import src-481 `tok-481 `tre-481) (check-module-types ~.types-multi-import ~[%tests %golden ~.types-multi-import %source %jibb] src-481 `typ-481 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-481-1]])) (check-module-trees ~.types-multi-import `mtre-481 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-481-1]]))
3323+ (weld (weld (check ~.types-multi-import src-486 `tok-486 `tre-486) (check-module-types ~.types-multi-import ~[%tests %golden ~.types-multi-import %source %jibb] src-486 `typ-486 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-486-1]])) (check-module-trees ~.types-multi-import `mtre-486 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-486-1]]))
3292++ test-types-nested-missing-tag
3324++ test-types-nested-missing-tag
3293− (weld (check ~.types-nested-missing-tag src-482 `tok-482 `tre-482) (check-module-types ~.types-nested-missing-tag ~[%tests %golden ~.types-nested-missing-tag %source %jibb] src-482 `typ-482 ~ ~ ~))
3325+ (weld (check ~.types-nested-missing-tag src-487 `tok-487 `tre-487) (check-module-types ~.types-nested-missing-tag ~[%tests %golden ~.types-nested-missing-tag %source %jibb] src-487 `typ-487 ~ ~ ~))
3294++ test-types-null-context
3326++ test-types-null-context
3295− (weld (check ~.types-null-context src-483 `tok-483 `tre-483) (check-types ~.types-null-context ~[%tests %golden ~.types-null-context %source %jibb] src-483 `typ-483))
3327+ (weld (check ~.types-null-context src-488 `tok-488 `tre-488) (check-types ~.types-null-context ~[%tests %golden ~.types-null-context %source %jibb] src-488 `typ-488))
3296++ test-types-null-overlap
3328++ test-types-null-overlap
3297− (weld (check ~.types-null-overlap src-484 `tok-484 `tre-484) (check-types ~.types-null-overlap ~[%tests %golden ~.types-null-overlap %source %jibb] src-484 `typ-484))
3329+ (weld (check ~.types-null-overlap src-489 `tok-489 `tre-489) (check-types ~.types-null-overlap ~[%tests %golden ~.types-null-overlap %source %jibb] src-489 `typ-489))
3298++ test-types-null-unresolved
3330++ test-types-null-unresolved
3299− (weld (check ~.types-null-unresolved src-485 `tok-485 `tre-485) (check-types ~.types-null-unresolved ~[%tests %golden ~.types-null-unresolved %source %jibb] src-485 `typ-485))
3331+ (weld (check ~.types-null-unresolved src-490 `tok-490 `tre-490) (check-types ~.types-null-unresolved ~[%tests %golden ~.types-null-unresolved %source %jibb] src-490 `typ-490))
3300++ test-types-pair-context
3332++ test-types-pair-context
3301− (weld (check ~.types-pair-context src-486 `tok-486 `tre-486) (check-module-types ~.types-pair-context ~[%tests %golden ~.types-pair-context %source %jibb] src-486 `typ-486 ~ ~ ~))
3333+ (weld (check ~.types-pair-context src-491 `tok-491 `tre-491) (check-module-types ~.types-pair-context ~[%tests %golden ~.types-pair-context %source %jibb] src-491 `typ-491 ~ ~ ~))
3302++ test-types-partial-apply
3334++ test-types-partial-apply
3303− (weld (check ~.types-partial-apply src-487 `tok-487 `tre-487) (check-types ~.types-partial-apply ~[%tests %golden ~.types-partial-apply %source %jibb] src-487 `typ-487))
3335+ (weld (check ~.types-partial-apply src-492 `tok-492 `tre-492) (check-types ~.types-partial-apply ~[%tests %golden ~.types-partial-apply %source %jibb] src-492 `typ-492))
3304++ test-types-partial-atom-alias
3336++ test-types-partial-atom-alias
3305− (weld (check ~.types-partial-atom-alias src-488 `tok-488 `tre-488) (check-types ~.types-partial-atom-alias ~[%tests %golden ~.types-partial-atom-alias %source %jibb] src-488 `typ-488))
3337+ (weld (check ~.types-partial-atom-alias src-493 `tok-493 `tre-493) (check-types ~.types-partial-atom-alias ~[%tests %golden ~.types-partial-atom-alias %source %jibb] src-493 `typ-493))
3306++ test-types-partial-atom-constraint
3338++ test-types-partial-atom-constraint
3307− (weld (check ~.types-partial-atom-constraint src-489 `tok-489 `tre-489) (check-types ~.types-partial-atom-constraint ~[%tests %golden ~.types-partial-atom-constraint %source %jibb] src-489 `typ-489))
3339+ (weld (check ~.types-partial-atom-constraint src-494 `tok-494 `tre-494) (check-types ~.types-partial-atom-constraint ~[%tests %golden ~.types-partial-atom-constraint %source %jibb] src-494 `typ-494))
3308++ test-types-partial-atom-widening
3340++ test-types-partial-atom-widening
3309− (weld (check ~.types-partial-atom-widening src-490 `tok-490 `tre-490) (check-types ~.types-partial-atom-widening ~[%tests %golden ~.types-partial-atom-widening %source %jibb] src-490 `typ-490))
3341+ (weld (check ~.types-partial-atom-widening src-495 `tok-495 `tre-495) (check-types ~.types-partial-atom-widening ~[%tests %golden ~.types-partial-atom-widening %source %jibb] src-495 `typ-495))
3310++ test-types-partial-aura
3342++ test-types-partial-aura
3311− (weld (check ~.types-partial-aura src-491 `tok-491 `tre-491) (check-types ~.types-partial-aura ~[%tests %golden ~.types-partial-aura %source %jibb] src-491 `typ-491))
3343+ (weld (check ~.types-partial-aura src-496 `tok-496 `tre-496) (check-types ~.types-partial-aura ~[%tests %golden ~.types-partial-aura %source %jibb] src-496 `typ-496))
3312++ test-types-partial-aura-family
3344++ test-types-partial-aura-family
3313− (weld (check ~.types-partial-aura-family src-492 `tok-492 `tre-492) (check-types ~.types-partial-aura-family ~[%tests %golden ~.types-partial-aura-family %source %jibb] src-492 `typ-492))
3345+ (weld (check ~.types-partial-aura-family src-497 `tok-497 `tre-497) (check-types ~.types-partial-aura-family ~[%tests %golden ~.types-partial-aura-family %source %jibb] src-497 `typ-497))
3314++ test-types-partial-aura-generalization
3346++ test-types-partial-aura-generalization
3315− (weld (check ~.types-partial-aura-generalization src-493 `tok-493 `tre-493) (check-types ~.types-partial-aura-generalization ~[%tests %golden ~.types-partial-aura-generalization %source %jibb] src-493 `typ-493))
3347+ (weld (check ~.types-partial-aura-generalization src-498 `tok-498 `tre-498) (check-types ~.types-partial-aura-generalization ~[%tests %golden ~.types-partial-aura-generalization %source %jibb] src-498 `typ-498))
3316++ test-types-partial-bare-atom
3348++ test-types-partial-bare-atom
3317− (weld (check ~.types-partial-bare-atom src-494 `tok-494 `tre-494) (check-types ~.types-partial-bare-atom ~[%tests %golden ~.types-partial-bare-atom %source %jibb] src-494 `typ-494))
3349+ (weld (check ~.types-partial-bare-atom src-499 `tok-499 `tre-499) (check-types ~.types-partial-bare-atom ~[%tests %golden ~.types-partial-bare-atom %source %jibb] src-499 `typ-499))
3318++ test-types-partial-branch-widening
3350++ test-types-partial-branch-widening
3319− (weld (check ~.types-partial-branch-widening src-495 `tok-495 `tre-495) (check-types ~.types-partial-branch-widening ~[%tests %golden ~.types-partial-branch-widening %source %jibb] src-495 `typ-495))
3351+ (weld (check ~.types-partial-branch-widening src-500 `tok-500 `tre-500) (check-types ~.types-partial-branch-widening ~[%tests %golden ~.types-partial-branch-widening %source %jibb] src-500 `typ-500))
3320++ test-types-partial-conflicting-sites
3352++ test-types-partial-conflicting-sites
3321− (weld (check ~.types-partial-conflicting-sites src-496 `tok-496 `tre-496) (check-types ~.types-partial-conflicting-sites ~[%tests %golden ~.types-partial-conflicting-sites %source %jibb] src-496 `typ-496))
3353+ (weld (check ~.types-partial-conflicting-sites src-501 `tok-501 `tre-501) (check-types ~.types-partial-conflicting-sites ~[%tests %golden ~.types-partial-conflicting-sites %source %jibb] src-501 `typ-501))
3322++ test-types-partial-decimal-default
3354++ test-types-partial-decimal-default
3323− (weld (check ~.types-partial-decimal-default src-497 `tok-497 `tre-497) (check-types ~.types-partial-decimal-default ~[%tests %golden ~.types-partial-decimal-default %source %jibb] src-497 `typ-497))
3355+ (weld (check ~.types-partial-decimal-default src-502 `tok-502 `tre-502) (check-types ~.types-partial-decimal-default ~[%tests %golden ~.types-partial-decimal-default %source %jibb] src-502 `typ-502))
3324++ test-types-partial-dependency-chain
3356++ test-types-partial-dependency-chain
3325− (weld (check ~.types-partial-dependency-chain src-498 `tok-498 `tre-498) (check-types ~.types-partial-dependency-chain ~[%tests %golden ~.types-partial-dependency-chain %source %jibb] src-498 `typ-498))
3357+ (weld (check ~.types-partial-dependency-chain src-503 `tok-503 `tre-503) (check-types ~.types-partial-dependency-chain ~[%tests %golden ~.types-partial-dependency-chain %source %jibb] src-503 `typ-503))
3326++ test-types-partial-explicit-capital
3358++ test-types-partial-explicit-capital
3327− (weld (check ~.types-partial-explicit-capital src-499 `tok-499 `tre-499) (check-types ~.types-partial-explicit-capital ~[%tests %golden ~.types-partial-explicit-capital %source %jibb] src-499 `typ-499))
3359+ (weld (check ~.types-partial-explicit-capital src-504 `tok-504 `tre-504) (check-types ~.types-partial-explicit-capital ~[%tests %golden ~.types-partial-explicit-capital %source %jibb] src-504 `typ-504))
3328++ test-types-partial-forward
3360++ test-types-partial-forward
3329− (weld (check ~.types-partial-forward src-500 `tok-500 `tre-500) (check-types ~.types-partial-forward ~[%tests %golden ~.types-partial-forward %source %jibb] src-500 `typ-500))
3361+ (weld (check ~.types-partial-forward src-505 `tok-505 `tre-505) (check-types ~.types-partial-forward ~[%tests %golden ~.types-partial-forward %source %jibb] src-505 `typ-505))
3330++ test-types-partial-generalization
3362++ test-types-partial-generalization
3331− (weld (check ~.types-partial-generalization src-501 `tok-501 `tre-501) (check-types ~.types-partial-generalization ~[%tests %golden ~.types-partial-generalization %source %jibb] src-501 `typ-501))
3363+ (weld (check ~.types-partial-generalization src-506 `tok-506 `tre-506) (check-types ~.types-partial-generalization ~[%tests %golden ~.types-partial-generalization %source %jibb] src-506 `typ-506))
3332++ test-types-partial-identity
3364++ test-types-partial-identity
3333− (weld (check ~.types-partial-identity src-502 `tok-502 `tre-502) (check-types ~.types-partial-identity ~[%tests %golden ~.types-partial-identity %source %jibb] src-502 `typ-502))
3365+ (weld (check ~.types-partial-identity src-507 `tok-507 `tre-507) (check-types ~.types-partial-identity ~[%tests %golden ~.types-partial-identity %source %jibb] src-507 `typ-507))
3334++ test-types-partial-independent-atoms
3366++ test-types-partial-independent-atoms
3335− (weld (check ~.types-partial-independent-atoms src-503 `tok-503 `tre-503) (check-types ~.types-partial-independent-atoms ~[%tests %golden ~.types-partial-independent-atoms %source %jibb] src-503 `typ-503))
3367+ (weld (check ~.types-partial-independent-atoms src-508 `tok-508 `tre-508) (check-types ~.types-partial-independent-atoms ~[%tests %golden ~.types-partial-independent-atoms %source %jibb] src-508 `typ-508))
3336++ test-types-partial-local-molds
3368++ test-types-partial-local-molds
3337− (weld (check ~.types-partial-local-molds src-504 `tok-504 `tre-504) (check-types ~.types-partial-local-molds ~[%tests %golden ~.types-partial-local-molds %source %jibb] src-504 `typ-504))
3369+ (weld (check ~.types-partial-local-molds src-509 `tok-509 `tre-509) (check-types ~.types-partial-local-molds ~[%tests %golden ~.types-partial-local-molds %source %jibb] src-509 `typ-509))
3338++ test-types-partial-locals
3370++ test-types-partial-locals
3339− (weld (check ~.types-partial-locals src-505 `tok-505 `tre-505) (check-types ~.types-partial-locals ~[%tests %golden ~.types-partial-locals %source %jibb] src-505 `typ-505))
3371+ (weld (check ~.types-partial-locals src-510 `tok-510 `tre-510) (check-types ~.types-partial-locals ~[%tests %golden ~.types-partial-locals %source %jibb] src-510 `typ-510))
3340++ test-types-partial-many-atom-constraints
3372++ test-types-partial-many-atom-constraints
3341− (weld (check ~.types-partial-many-atom-constraints src-506 `tok-506 `tre-506) (check-types ~.types-partial-many-atom-constraints ~[%tests %golden ~.types-partial-many-atom-constraints %source %jibb] src-506 `typ-506))
3373+ (weld (check ~.types-partial-many-atom-constraints src-511 `tok-511 `tre-511) (check-types ~.types-partial-many-atom-constraints ~[%tests %golden ~.types-partial-many-atom-constraints %source %jibb] src-511 `typ-511))
3342++ test-types-partial-mold-bare-aura
3374++ test-types-partial-mold-bare-aura
3343− (weld (check ~.types-partial-mold-bare-aura src-507 `tok-507 `tre-507) (check-types ~.types-partial-mold-bare-aura ~[%tests %golden ~.types-partial-mold-bare-aura %source %jibb] src-507 `typ-507))
3375+ (weld (check ~.types-partial-mold-bare-aura src-512 `tok-512 `tre-512) (check-types ~.types-partial-mold-bare-aura ~[%tests %golden ~.types-partial-mold-bare-aura %source %jibb] src-512 `typ-512))
3344++ test-types-partial-mold-composite
3376++ test-types-partial-mold-composite
3345− (weld (check ~.types-partial-mold-composite src-508 `tok-508 `tre-508) (check-types ~.types-partial-mold-composite ~[%tests %golden ~.types-partial-mold-composite %source %jibb] src-508 `typ-508))
3377+ (weld (check ~.types-partial-mold-composite src-513 `tok-513 `tre-513) (check-types ~.types-partial-mold-composite ~[%tests %golden ~.types-partial-mold-composite %source %jibb] src-513 `typ-513))
3346++ test-types-partial-mold-forward
3378++ test-types-partial-mold-forward
3347− (weld (check ~.types-partial-mold-forward src-509 `tok-509 `tre-509) (check-types ~.types-partial-mold-forward ~[%tests %golden ~.types-partial-mold-forward %source %jibb] src-509 `typ-509))
3379+ (weld (check ~.types-partial-mold-forward src-514 `tok-514 `tre-514) (check-types ~.types-partial-mold-forward ~[%tests %golden ~.types-partial-mold-forward %source %jibb] src-514 `typ-514))
3348++ test-types-partial-mold-recursive
3380++ test-types-partial-mold-recursive
3349− (weld (check ~.types-partial-mold-recursive src-510 `tok-510 `tre-510) (check-types ~.types-partial-mold-recursive ~[%tests %golden ~.types-partial-mold-recursive %source %jibb] src-510 `typ-510))
3381+ (weld (check ~.types-partial-mold-recursive src-515 `tok-515 `tre-515) (check-types ~.types-partial-mold-recursive ~[%tests %golden ~.types-partial-mold-recursive %source %jibb] src-515 `typ-515))
3350++ test-types-partial-occurs
3382++ test-types-partial-occurs
3351− (weld (check ~.types-partial-occurs src-511 `tok-511 `tre-511) (check-types ~.types-partial-occurs ~[%tests %golden ~.types-partial-occurs %source %jibb] src-511 `typ-511))
3383+ (weld (check ~.types-partial-occurs src-516 `tok-516 `tre-516) (check-types ~.types-partial-occurs ~[%tests %golden ~.types-partial-occurs %source %jibb] src-516 `typ-516))
3352++ test-types-partial-projection
3384++ test-types-partial-projection
3353− (weld (check ~.types-partial-projection src-512 `tok-512 `tre-512) (check-types ~.types-partial-projection ~[%tests %golden ~.types-partial-projection %source %jibb] src-512 `typ-512))
3385+ (weld (check ~.types-partial-projection src-517 `tok-517 `tre-517) (check-types ~.types-partial-projection ~[%tests %golden ~.types-partial-projection %source %jibb] src-517 `typ-517))
3354++ test-types-partial-shadow-global
3386++ test-types-partial-shadow-global
3355− (weld (check ~.types-partial-shadow-global src-513 `tok-513 `tre-513) (check-types ~.types-partial-shadow-global ~[%tests %golden ~.types-partial-shadow-global %source %jibb] src-513 `typ-513))
3387+ (weld (check ~.types-partial-shadow-global src-518 `tok-518 `tre-518) (check-types ~.types-partial-shadow-global ~[%tests %golden ~.types-partial-shadow-global %source %jibb] src-518 `typ-518))
3356++ test-types-partial-shared-tvar
3388++ test-types-partial-shared-tvar
3357− (weld (check ~.types-partial-shared-tvar src-514 `tok-514 `tre-514) (check-types ~.types-partial-shared-tvar ~[%tests %golden ~.types-partial-shared-tvar %source %jibb] src-514 `typ-514))
3389+ (weld (check ~.types-partial-shared-tvar src-519 `tok-519 `tre-519) (check-types ~.types-partial-shared-tvar ~[%tests %golden ~.types-partial-shared-tvar %source %jibb] src-519 `typ-519))
3358++ test-types-partial-union-cases
3390++ test-types-partial-union-cases
3359− (weld (check ~.types-partial-union-cases src-515 `tok-515 `tre-515) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-515 `typ-515))
3391+ (weld (check ~.types-partial-union-cases src-520 `tok-520 `tre-520) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-520 `typ-520))
3360++ test-types-partial-union-edges
3392++ test-types-partial-union-edges
3361− (weld (check ~.types-partial-union-edges src-516 `tok-516 `tre-516) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-516 `typ-516))
3393+ (weld (check ~.types-partial-union-edges src-521 `tok-521 `tre-521) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-521 `typ-521))
3362++ test-types-partial-unresolved-tag
3394++ test-types-partial-unresolved-tag
3363− (weld (check ~.types-partial-unresolved-tag src-517 `tok-517 `tre-517) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-517 `typ-517))
3395+ (weld (check ~.types-partial-unresolved-tag src-522 `tok-522 `tre-522) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-522 `typ-522))
3364++ test-types-prelude-arithmetic
3396++ test-types-prelude-arithmetic
3365− (weld (check ~.types-prelude-arithmetic src-518 `tok-518 `tre-518) (check-module-types ~.types-prelude-arithmetic ~[%tests %golden ~.types-prelude-arithmetic %source %jibb] src-518 `typ-518 ~ ~ ~))
3397+ (weld (check ~.types-prelude-arithmetic src-523 `tok-523 `tre-523) (check-module-types ~.types-prelude-arithmetic ~[%tests %golden ~.types-prelude-arithmetic %source %jibb] src-523 `typ-523 ~ ~ ~))
3366++ test-types-prelude-bond
3398++ test-types-prelude-bond
3367− (weld (check ~.types-prelude-bond src-519 `tok-519 `tre-519) (check-module-types ~.types-prelude-bond ~[%tests %golden ~.types-prelude-bond %source %jibb] src-519 `typ-519 ~ ~ ~))
3399+ (weld (check ~.types-prelude-bond src-524 `tok-524 `tre-524) (check-module-types ~.types-prelude-bond ~[%tests %golden ~.types-prelude-bond %source %jibb] src-524 `typ-524 ~ ~ ~))
3368++ test-types-prelude-cmd
3400++ test-types-prelude-cmd
3369− (weld (check ~.types-prelude-cmd src-520 `tok-520 `tre-520) (check-module-types ~.types-prelude-cmd ~[%tests %golden ~.types-prelude-cmd %source %jibb] src-520 `typ-520 ~ ~ ~))
3401+ (weld (check ~.types-prelude-cmd src-525 `tok-525 `tre-525) (check-module-types ~.types-prelude-cmd ~[%tests %golden ~.types-prelude-cmd %source %jibb] src-525 `typ-525 ~ ~ ~))
3370++ test-types-prelude-direct
3402++ test-types-prelude-direct
3371− (weld (check ~.types-prelude-direct src-521 `tok-521 `tre-521) (check-module-types ~.types-prelude-direct ~[%tests %golden ~.types-prelude-direct %source %jibb] src-521 `typ-521 ~ ~ ~))
3403+ (weld (check ~.types-prelude-direct src-526 `tok-526 `tre-526) (check-module-types ~.types-prelude-direct ~[%tests %golden ~.types-prelude-direct %source %jibb] src-526 `typ-526 ~ ~ ~))
3372++ test-types-prelude-functional
3404++ test-types-prelude-functional
3373− (weld (check ~.types-prelude-functional src-522 `tok-522 `tre-522) (check-module-types ~.types-prelude-functional ~[%tests %golden ~.types-prelude-functional %source %jibb] src-522 `typ-522 ~ ~ ~))
3405+ (weld (check ~.types-prelude-functional src-527 `tok-527 `tre-527) (check-module-types ~.types-prelude-functional ~[%tests %golden ~.types-prelude-functional %source %jibb] src-527 `typ-527 ~ ~ ~))
3374++ test-types-prelude-interface
3406++ test-types-prelude-interface
3375− (weld (weld (check ~.types-prelude-interface src-523 `tok-523 `tre-523) (check-module-types ~.types-prelude-interface ~[%tests %golden ~.types-prelude-interface %source %jibb] src-523 `typ-523 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-523-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-523-2]])) (check-module-trees ~.types-prelude-interface `mtre-523 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-523-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-523-2]]))
3407+ (weld (weld (check ~.types-prelude-interface src-528 `tok-528 `tre-528) (check-module-types ~.types-prelude-interface ~[%tests %golden ~.types-prelude-interface %source %jibb] src-528 `typ-528 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-528-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-528-2]])) (check-module-trees ~.types-prelude-interface `mtre-528 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-528-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-528-2]]))
3376++ test-types-prelude-list-alias
3408++ test-types-prelude-list-alias
3377− (weld (check ~.types-prelude-list-alias src-524 `tok-524 `tre-524) (check-module-types ~.types-prelude-list-alias ~[%tests %golden ~.types-prelude-list-alias %source %jibb] src-524 `typ-524 ~ ~ ~))
3409+ (weld (check ~.types-prelude-list-alias src-529 `tok-529 `tre-529) (check-module-types ~.types-prelude-list-alias ~[%tests %golden ~.types-prelude-list-alias %source %jibb] src-529 `typ-529 ~ ~ ~))
3378++ test-types-prelude-list-functions
3410++ test-types-prelude-list-functions
3379− (weld (weld (check ~.types-prelude-list-functions src-525 `tok-525 `tre-525) (check-module-types ~.types-prelude-list-functions ~[%tests %golden ~.types-prelude-list-functions %source %jibb] src-525 `typ-525 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-525-1]])) (check-module-trees ~.types-prelude-list-functions `mtre-525 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-525-1]]))
3411+ (weld (weld (check ~.types-prelude-list-functions src-530 `tok-530 `tre-530) (check-module-types ~.types-prelude-list-functions ~[%tests %golden ~.types-prelude-list-functions %source %jibb] src-530 `typ-530 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-530-1]])) (check-module-trees ~.types-prelude-list-functions `mtre-530 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-530-1]]))
3380++ test-types-prelude-list-helpers
3412++ test-types-prelude-list-helpers
3381− (weld (check ~.types-prelude-list-helpers src-526 `tok-526 `tre-526) (check-module-types ~.types-prelude-list-helpers ~[%tests %golden ~.types-prelude-list-helpers %source %jibb] src-526 `typ-526 ~ ~ ~))
3413+ (weld (check ~.types-prelude-list-helpers src-531 `tok-531 `tre-531) (check-module-types ~.types-prelude-list-helpers ~[%tests %golden ~.types-prelude-list-helpers %source %jibb] src-531 `typ-531 ~ ~ ~))
3382++ test-types-prelude-predicates
3414++ test-types-prelude-predicates
3383− (weld (check ~.types-prelude-predicates src-527 `tok-527 `tre-527) (check-module-types ~.types-prelude-predicates ~[%tests %golden ~.types-prelude-predicates %source %jibb] src-527 `typ-527 ~ ~ ~))
3415+ (weld (check ~.types-prelude-predicates src-532 `tok-532 `tre-532) (check-module-types ~.types-prelude-predicates ~[%tests %golden ~.types-prelude-predicates %source %jibb] src-532 `typ-532 ~ ~ ~))
3384++ test-types-prelude-unit-helpers
3416++ test-types-prelude-unit-helpers
3385− (weld (check ~.types-prelude-unit-helpers src-528 `tok-528 `tre-528) (check-module-types ~.types-prelude-unit-helpers ~[%tests %golden ~.types-prelude-unit-helpers %source %jibb] src-528 `typ-528 ~ ~ ~))
3417+ (weld (check ~.types-prelude-unit-helpers src-533 `tok-533 `tre-533) (check-module-types ~.types-prelude-unit-helpers ~[%tests %golden ~.types-prelude-unit-helpers %source %jibb] src-533 `typ-533 ~ ~ ~))
3386++ test-types-proj-explicit-context
3418++ test-types-proj-explicit-context
3387− (weld (check ~.types-proj-explicit-context src-529 `tok-529 `tre-529) (check-module-types ~.types-proj-explicit-context ~[%tests %golden ~.types-proj-explicit-context %source %jibb] src-529 `typ-529 ~ ~ ~))
3419+ (weld (check ~.types-proj-explicit-context src-534 `tok-534 `tre-534) (check-module-types ~.types-proj-explicit-context ~[%tests %golden ~.types-proj-explicit-context %source %jibb] src-534 `typ-534 ~ ~ ~))
3388++ test-types-proj-nested-no-implicit
3420++ test-types-proj-nested-no-implicit
3389− (weld (check ~.types-proj-nested-no-implicit src-530 `tok-530 `tre-530) (check-module-types ~.types-proj-nested-no-implicit ~[%tests %golden ~.types-proj-nested-no-implicit %source %jibb] src-530 `typ-530 ~ ~ ~))
3421+ (weld (check ~.types-proj-nested-no-implicit src-535 `tok-535 `tre-535) (check-module-types ~.types-proj-nested-no-implicit ~[%tests %golden ~.types-proj-nested-no-implicit %source %jibb] src-535 `typ-535 ~ ~ ~))
3390++ test-types-proj-reserved-imported-definition
3422++ test-types-proj-reserved-imported-definition
3391− (weld (weld (check ~.types-proj-reserved-imported-definition src-531 `tok-531 `tre-531) (check-module-types ~.types-proj-reserved-imported-definition ~[%tests %golden ~.types-proj-reserved-imported-definition %source %jibb] src-531 `typ-531 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-531-1]])) (check-module-trees ~.types-proj-reserved-imported-definition `mtre-531 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-531-1]]))
3423+ (weld (weld (check ~.types-proj-reserved-imported-definition src-536 `tok-536 `tre-536) (check-module-types ~.types-proj-reserved-imported-definition ~[%tests %golden ~.types-proj-reserved-imported-definition %source %jibb] src-536 `typ-536 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-536-1]])) (check-module-trees ~.types-proj-reserved-imported-definition `mtre-536 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-536-1]]))
3392++ test-types-proj-reserved-jibb-import
3424++ test-types-proj-reserved-jibb-import
3393− (weld (weld (check ~.types-proj-reserved-jibb-import src-532 `tok-532 `tre-532) (check-module-types ~.types-proj-reserved-jibb-import ~[%tests %golden ~.types-proj-reserved-jibb-import %source %jibb] src-532 `typ-532 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-532-1]])) (check-module-trees ~.types-proj-reserved-jibb-import `mtre-532 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-532-1]]))
3425+ (weld (weld (check ~.types-proj-reserved-jibb-import src-537 `tok-537 `tre-537) (check-module-types ~.types-proj-reserved-jibb-import ~[%tests %golden ~.types-proj-reserved-jibb-import %source %jibb] src-537 `typ-537 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-537-1]])) (check-module-trees ~.types-proj-reserved-jibb-import `mtre-537 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-537-1]]))
3394++ test-types-proj-reserved-local
3426++ test-types-proj-reserved-local
3395− (weld (check ~.types-proj-reserved-local src-533 `tok-533 `tre-533) (check-module-types ~.types-proj-reserved-local ~[%tests %golden ~.types-proj-reserved-local %source %jibb] src-533 `typ-533 ~ ~ ~))
3427+ (weld (check ~.types-proj-reserved-local src-538 `tok-538 `tre-538) (check-module-types ~.types-proj-reserved-local ~[%tests %golden ~.types-proj-reserved-local %source %jibb] src-538 `typ-538 ~ ~ ~))
3396++ test-types-proj-reserved-local-mold
3428++ test-types-proj-reserved-local-mold
3397− (weld (check ~.types-proj-reserved-local-mold src-534 `tok-534 `tre-534) (check-module-types ~.types-proj-reserved-local-mold ~[%tests %golden ~.types-proj-reserved-local-mold %source %jibb] src-534 `typ-534 ~ ~ ~))
3429+ (weld (check ~.types-proj-reserved-local-mold src-539 `tok-539 `tre-539) (check-module-types ~.types-proj-reserved-local-mold ~[%tests %golden ~.types-proj-reserved-local-mold %source %jibb] src-539 `typ-539 ~ ~ ~))
3398++ test-types-proj-reserved-mark-import
3430++ test-types-proj-reserved-mark-import
3399− (weld (check ~.types-proj-reserved-mark-import src-535 `tok-535 `tre-535) (check-module-types ~.types-proj-reserved-mark-import ~[%tests %golden ~.types-proj-reserved-mark-import %source %jibb] src-535 `typ-535 ~ ~ ~))
3431+ (weld (check ~.types-proj-reserved-mark-import src-540 `tok-540 `tre-540) (check-module-types ~.types-proj-reserved-mark-import ~[%tests %golden ~.types-proj-reserved-mark-import %source %jibb] src-540 `typ-540 ~ ~ ~))
3400++ test-types-proj-reserved-mold
3432++ test-types-proj-reserved-mold
3401− (weld (check ~.types-proj-reserved-mold src-536 `tok-536 `tre-536) (check-module-types ~.types-proj-reserved-mold ~[%tests %golden ~.types-proj-reserved-mold %source %jibb] src-536 `typ-536 ~ ~ ~))
3433+ (weld (check ~.types-proj-reserved-mold src-541 `tok-541 `tre-541) (check-module-types ~.types-proj-reserved-mold ~[%tests %golden ~.types-proj-reserved-mold %source %jibb] src-541 `typ-541 ~ ~ ~))
3402++ test-types-proj-reserved-pattern
3434++ test-types-proj-reserved-pattern
3403− (weld (check ~.types-proj-reserved-pattern src-537 `tok-537 `tre-537) (check-module-types ~.types-proj-reserved-pattern ~[%tests %golden ~.types-proj-reserved-pattern %source %jibb] src-537 `typ-537 ~ ~ ~))
3435+ (weld (check ~.types-proj-reserved-pattern src-542 `tok-542 `tre-542) (check-module-types ~.types-proj-reserved-pattern ~[%tests %golden ~.types-proj-reserved-pattern %source %jibb] src-542 `typ-542 ~ ~ ~))
3404++ test-types-proj-reserved-positive
3436++ test-types-proj-reserved-positive
3405− (weld (check ~.types-proj-reserved-positive src-538 `tok-538 `tre-538) (check-module-types ~.types-proj-reserved-positive ~[%tests %golden ~.types-proj-reserved-positive %source %jibb] src-538 `typ-538 ~ ~ ~))
3437+ (weld (check ~.types-proj-reserved-positive src-543 `tok-543 `tre-543) (check-module-types ~.types-proj-reserved-positive ~[%tests %golden ~.types-proj-reserved-positive %source %jibb] src-543 `typ-543 ~ ~ ~))
3406++ test-types-proj-reserved-sample
3438++ test-types-proj-reserved-sample
3407− (weld (check ~.types-proj-reserved-sample src-539 `tok-539 `tre-539) (check-module-types ~.types-proj-reserved-sample ~[%tests %golden ~.types-proj-reserved-sample %source %jibb] src-539 `typ-539 ~ ~ ~))
3439+ (weld (check ~.types-proj-reserved-sample src-544 `tok-544 `tre-544) (check-module-types ~.types-proj-reserved-sample ~[%tests %golden ~.types-proj-reserved-sample %source %jibb] src-544 `typ-544 ~ ~ ~))
3408++ test-types-proj-reserved-sur-import
3440++ test-types-proj-reserved-sur-import
3409− (weld (check ~.types-proj-reserved-sur-import src-540 `tok-540 `tre-540) (check-module-types ~.types-proj-reserved-sur-import ~[%tests %golden ~.types-proj-reserved-sur-import %source %jibb] src-540 `typ-540 ~ ~ ~))
3441+ (weld (check ~.types-proj-reserved-sur-import src-545 `tok-545 `tre-545) (check-module-types ~.types-proj-reserved-sur-import ~[%tests %golden ~.types-proj-reserved-sur-import %source %jibb] src-545 `typ-545 ~ ~ ~))
3410++ test-types-proj-reserved-unused-pattern
3442++ test-types-proj-reserved-unused-pattern
3411− (weld (check ~.types-proj-reserved-unused-pattern src-541 `tok-541 `tre-541) (check-module-types ~.types-proj-reserved-unused-pattern ~[%tests %golden ~.types-proj-reserved-unused-pattern %source %jibb] src-541 `typ-541 ~ ~ ~))
3443+ (weld (check ~.types-proj-reserved-unused-pattern src-546 `tok-546 `tre-546) (check-module-types ~.types-proj-reserved-unused-pattern ~[%tests %golden ~.types-proj-reserved-unused-pattern %source %jibb] src-546 `typ-546 ~ ~ ~))
3412++ test-types-proj-reserved-unused-sample
3444++ test-types-proj-reserved-unused-sample
3413− (weld (check ~.types-proj-reserved-unused-sample src-542 `tok-542 `tre-542) (check-module-types ~.types-proj-reserved-unused-sample ~[%tests %golden ~.types-proj-reserved-unused-sample %source %jibb] src-542 `typ-542 ~ ~ ~))
3445+ (weld (check ~.types-proj-reserved-unused-sample src-547 `tok-547 `tre-547) (check-module-types ~.types-proj-reserved-unused-sample ~[%tests %golden ~.types-proj-reserved-unused-sample %source %jibb] src-547 `typ-547 ~ ~ ~))
3414++ test-types-proj-reserved-unused-value
3446++ test-types-proj-reserved-unused-value
3415− (weld (check ~.types-proj-reserved-unused-value src-543 `tok-543 `tre-543) (check-module-types ~.types-proj-reserved-unused-value ~[%tests %golden ~.types-proj-reserved-unused-value %source %jibb] src-543 `typ-543 ~ ~ ~))
3447+ (weld (check ~.types-proj-reserved-unused-value src-548 `tok-548 `tre-548) (check-module-types ~.types-proj-reserved-unused-value ~[%tests %golden ~.types-proj-reserved-unused-value %source %jibb] src-548 `typ-548 ~ ~ ~))
3416++ test-types-proj-reserved-value
3448++ test-types-proj-reserved-value
3417− (weld (check ~.types-proj-reserved-value src-544 `tok-544 `tre-544) (check-module-types ~.types-proj-reserved-value ~[%tests %golden ~.types-proj-reserved-value %source %jibb] src-544 `typ-544 ~ ~ ~))
3449+ (weld (check ~.types-proj-reserved-value src-549 `tok-549 `tre-549) (check-module-types ~.types-proj-reserved-value ~[%tests %golden ~.types-proj-reserved-value %source %jibb] src-549 `typ-549 ~ ~ ~))
3418++ test-types-proj-single-duplicate
3450++ test-types-proj-single-duplicate
3419− (weld (check ~.types-proj-single-duplicate src-545 `tok-545 `tre-545) (check-module-types ~.types-proj-single-duplicate ~[%tests %golden ~.types-proj-single-duplicate %source %jibb] src-545 `typ-545 ~ ~ ~))
3451+ (weld (check ~.types-proj-single-duplicate src-550 `tok-550 `tre-550) (check-module-types ~.types-proj-single-duplicate ~[%tests %golden ~.types-proj-single-duplicate %source %jibb] src-550 `typ-550 ~ ~ ~))
3420++ test-types-proj-single-field
3452++ test-types-proj-single-field
3421− (weld (check ~.types-proj-single-field src-546 `tok-546 `tre-546) (check-module-types ~.types-proj-single-field ~[%tests %golden ~.types-proj-single-field %source %jibb] src-546 `typ-546 ~ ~ ~))
3453+ (weld (check ~.types-proj-single-field src-551 `tok-551 `tre-551) (check-module-types ~.types-proj-single-field ~[%tests %golden ~.types-proj-single-field %source %jibb] src-551 `typ-551 ~ ~ ~))
3422++ test-types-proj-single-sample-face
3454++ test-types-proj-single-sample-face
3423− (weld (check ~.types-proj-single-sample-face src-547 `tok-547 `tre-547) (check-module-types ~.types-proj-single-sample-face ~[%tests %golden ~.types-proj-single-sample-face %source %jibb] src-547 `typ-547 ~ ~ ~))
3455+ (weld (check ~.types-proj-single-sample-face src-552 `tok-552 `tre-552) (check-module-types ~.types-proj-single-sample-face ~[%tests %golden ~.types-proj-single-sample-face %source %jibb] src-552 `typ-552 ~ ~ ~))
3424++ test-types-proj-single-wrapped
3456++ test-types-proj-single-wrapped
3425− (weld (check ~.types-proj-single-wrapped src-548 `tok-548 `tre-548) (check-module-types ~.types-proj-single-wrapped ~[%tests %golden ~.types-proj-single-wrapped %source %jibb] src-548 `typ-548 ~ ~ ~))
3457+ (weld (check ~.types-proj-single-wrapped src-553 `tok-553 `tre-553) (check-module-types ~.types-proj-single-wrapped ~[%tests %golden ~.types-proj-single-wrapped %source %jibb] src-553 `typ-553 ~ ~ ~))
3426++ test-types-qath-faces
3458++ test-types-qath-faces
3427− (weld (check ~.types-qath-faces src-549 `tok-549 `tre-549) (check-module-types ~.types-qath-faces ~[%tests %golden ~.types-qath-faces %source %jibb] src-549 `typ-549 ~ ~ ~))
3459+ (weld (check ~.types-qath-faces src-554 `tok-554 `tre-554) (check-module-types ~.types-qath-faces ~[%tests %golden ~.types-qath-faces %source %jibb] src-554 `typ-554 ~ ~ ~))
3428++ test-types-qath-holes
3460++ test-types-qath-holes
3429− (weld (check ~.types-qath-holes src-550 `tok-550 `tre-550) (check-module-types ~.types-qath-holes ~[%tests %golden ~.types-qath-holes %source %jibb] src-550 `typ-550 ~ ~ ~))
3461+ (weld (check ~.types-qath-holes src-555 `tok-555 `tre-555) (check-module-types ~.types-qath-holes ~[%tests %golden ~.types-qath-holes %source %jibb] src-555 `typ-555 ~ ~ ~))
3430++ test-types-qath-module-identity
3462++ test-types-qath-module-identity
3431− (weld (weld (check ~.types-qath-module-identity src-551 `tok-551 `tre-551) (check-module-types ~.types-qath-module-identity ~[%tests %golden ~.types-qath-module-identity %source %jibb] src-551 `typ-551 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-551-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-551-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-551-3]])) (check-module-trees ~.types-qath-module-identity `mtre-551 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-551-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-551-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-551-3]]))
3463+ (weld (weld (check ~.types-qath-module-identity src-556 `tok-556 `tre-556) (check-module-types ~.types-qath-module-identity ~[%tests %golden ~.types-qath-module-identity %source %jibb] src-556 `typ-556 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-556-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-556-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-556-3]])) (check-module-trees ~.types-qath-module-identity `mtre-556 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-556-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-556-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-556-3]]))
3432++ test-types-qath-recursive
3464++ test-types-qath-recursive
3433− (weld (check ~.types-qath-recursive src-552 `tok-552 `tre-552) (check-module-types ~.types-qath-recursive ~[%tests %golden ~.types-qath-recursive %source %jibb] src-552 `typ-552 ~ ~ ~))
3465+ (weld (check ~.types-qath-recursive src-557 `tok-557 `tre-557) (check-module-types ~.types-qath-recursive ~[%tests %golden ~.types-qath-recursive %source %jibb] src-557 `typ-557 ~ ~ ~))
3434++ test-types-record-bound-variable
3466++ test-types-record-bound-variable
3435− (weld (check ~.types-record-bound-variable src-553 `tok-553 `tre-553) (check-types ~.types-record-bound-variable ~[%tests %golden ~.types-record-bound-variable %source %jibb] src-553 `typ-553))
3467+ (weld (check ~.types-record-bound-variable src-558 `tok-558 `tre-558) (check-types ~.types-record-bound-variable ~[%tests %golden ~.types-record-bound-variable %source %jibb] src-558 `typ-558))
3436++ test-types-record-cast-context
3468++ test-types-record-cast-context
3437− (weld (check ~.types-record-cast-context src-554 `tok-554 `tre-554) (check-module-types ~.types-record-cast-context ~[%tests %golden ~.types-record-cast-context %source %jibb] src-554 `typ-554 ~ ~ ~))
3469+ (weld (check ~.types-record-cast-context src-559 `tok-559 `tre-559) (check-module-types ~.types-record-cast-context ~[%tests %golden ~.types-record-cast-context %source %jibb] src-559 `typ-559 ~ ~ ~))
3438++ test-types-record-change
3470++ test-types-record-change
3439− (weld (check ~.types-record-change src-555 `tok-555 `tre-555) (check-module-types ~.types-record-change ~[%tests %golden ~.types-record-change %source %jibb] src-555 `typ-555 ~ ~ ~))
3471+ (weld (check ~.types-record-change src-560 `tok-560 `tre-560) (check-module-types ~.types-record-change ~[%tests %golden ~.types-record-change %source %jibb] src-560 `typ-560 ~ ~ ~))
3440++ test-types-record-change-generic
3472++ test-types-record-change-generic
3441− (weld (check ~.types-record-change-generic src-556 `tok-556 `tre-556) (check-module-types ~.types-record-change-generic ~[%tests %golden ~.types-record-change-generic %source %jibb] src-556 `typ-556 ~ ~ ~))
3473+ (weld (check ~.types-record-change-generic src-561 `tok-561 `tre-561) (check-module-types ~.types-record-change-generic ~[%tests %golden ~.types-record-change-generic %source %jibb] src-561 `typ-561 ~ ~ ~))
3442++ test-types-record-faces
3474++ test-types-record-faces
3443− (weld (check ~.types-record-faces src-557 `tok-557 `tre-557) (check-types ~.types-record-faces ~[%tests %golden ~.types-record-faces %source %jibb] src-557 `typ-557))
3475+ (weld (check ~.types-record-faces src-562 `tok-562 `tre-562) (check-types ~.types-record-faces ~[%tests %golden ~.types-record-faces %source %jibb] src-562 `typ-562))
3444++ test-types-record-field-edit-separate
3476++ test-types-record-field-edit-separate
3445− (weld (check ~.types-record-field-edit-separate src-558 `tok-558 `tre-558) (check-types ~.types-record-field-edit-separate ~[%tests %golden ~.types-record-field-edit-separate %source %jibb] src-558 `typ-558))
3477+ (weld (check ~.types-record-field-edit-separate src-563 `tok-563 `tre-563) (check-types ~.types-record-field-edit-separate ~[%tests %golden ~.types-record-field-edit-separate %source %jibb] src-563 `typ-563))
3446++ test-types-record-field-expr-duplicate
3478++ test-types-record-field-expr-duplicate
3447− (weld (check ~.types-record-field-expr-duplicate src-559 `tok-559 `tre-559) (check-types ~.types-record-field-expr-duplicate ~[%tests %golden ~.types-record-field-expr-duplicate %source %jibb] src-559 `typ-559))
3479+ (weld (check ~.types-record-field-expr-duplicate src-564 `tok-564 `tre-564) (check-types ~.types-record-field-expr-duplicate ~[%tests %golden ~.types-record-field-expr-duplicate %source %jibb] src-564 `typ-564))
3448++ test-types-record-field-expr-separate
3480++ test-types-record-field-expr-separate
3449− (weld (check ~.types-record-field-expr-separate src-560 `tok-560 `tre-560) (check-types ~.types-record-field-expr-separate ~[%tests %golden ~.types-record-field-expr-separate %source %jibb] src-560 `typ-560))
3481+ (weld (check ~.types-record-field-expr-separate src-565 `tok-565 `tre-565) (check-types ~.types-record-field-expr-separate ~[%tests %golden ~.types-record-field-expr-separate %source %jibb] src-565 `typ-565))
3450++ test-types-record-field-module-reachable
3482++ test-types-record-field-module-reachable
3451− (weld (weld (check ~.types-record-field-module-reachable src-561 `tok-561 `tre-561) (check-module-types ~.types-record-field-module-reachable ~[%tests %golden ~.types-record-field-module-reachable %source %jibb] src-561 `typ-561 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-561-1]])) (check-module-trees ~.types-record-field-module-reachable `mtre-561 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-561-1]]))
3483+ (weld (weld (check ~.types-record-field-module-reachable src-566 `tok-566 `tre-566) (check-module-types ~.types-record-field-module-reachable ~[%tests %golden ~.types-record-field-module-reachable %source %jibb] src-566 `typ-566 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-566-1]])) (check-module-trees ~.types-record-field-module-reachable `mtre-566 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-566-1]]))
3452++ test-types-record-field-module-unused
3484++ test-types-record-field-module-unused
3453− (weld (weld (check ~.types-record-field-module-unused src-562 `tok-562 `tre-562) (check-module-types ~.types-record-field-module-unused ~[%tests %golden ~.types-record-field-module-unused %source %jibb] src-562 `typ-562 ~ ~ ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-562-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-562-2]])) (check-module-trees ~.types-record-field-module-unused `mtre-562 ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-562-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-562-2]]))
3485+ (weld (weld (check ~.types-record-field-module-unused src-567 `tok-567 `tre-567) (check-module-types ~.types-record-field-module-unused ~[%tests %golden ~.types-record-field-module-unused %source %jibb] src-567 `typ-567 ~ ~ ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-567-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-567-2]])) (check-module-trees ~.types-record-field-module-unused `mtre-567 ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-567-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-567-2]]))
3454++ test-types-record-field-nested-mold
3486++ test-types-record-field-nested-mold
3455− (weld (check ~.types-record-field-nested-mold src-563 `tok-563 `tre-563) (check-types ~.types-record-field-nested-mold ~[%tests %golden ~.types-record-field-nested-mold %source %jibb] src-563 `typ-563))
3487+ (weld (check ~.types-record-field-nested-mold src-568 `tok-568 `tre-568) (check-types ~.types-record-field-nested-mold ~[%tests %golden ~.types-record-field-nested-mold %source %jibb] src-568 `typ-568))
3456++ test-types-record-field-outer-inner
3488++ test-types-record-field-outer-inner
3457− (weld (check ~.types-record-field-outer-inner src-564 `tok-564 `tre-564) (check-types ~.types-record-field-outer-inner ~[%tests %golden ~.types-record-field-outer-inner %source %jibb] src-564 `typ-564))
3489+ (weld (check ~.types-record-field-outer-inner src-569 `tok-569 `tre-569) (check-types ~.types-record-field-outer-inner ~[%tests %golden ~.types-record-field-outer-inner %source %jibb] src-569 `typ-569))
3458++ test-types-record-field-sample-duplicate
3490++ test-types-record-field-sample-duplicate
3459− (weld (check ~.types-record-field-sample-duplicate src-565 `tok-565 `tre-565) (check-types ~.types-record-field-sample-duplicate ~[%tests %golden ~.types-record-field-sample-duplicate %source %jibb] src-565 `typ-565))
3491+ (weld (check ~.types-record-field-sample-duplicate src-570 `tok-570 `tre-570) (check-types ~.types-record-field-sample-duplicate ~[%tests %golden ~.types-record-field-sample-duplicate %source %jibb] src-570 `typ-570))
3460++ test-types-record-field-separate-molds
3492++ test-types-record-field-separate-molds
3461− (weld (check ~.types-record-field-separate-molds src-566 `tok-566 `tre-566) (check-types ~.types-record-field-separate-molds ~[%tests %golden ~.types-record-field-separate-molds %source %jibb] src-566 `typ-566))
3493+ (weld (check ~.types-record-field-separate-molds src-571 `tok-571 `tre-571) (check-types ~.types-record-field-separate-molds ~[%tests %golden ~.types-record-field-separate-molds %source %jibb] src-571 `typ-571))
3462++ test-types-record-field-unused-mold
3494++ test-types-record-field-unused-mold
3463− (weld (check ~.types-record-field-unused-mold src-567 `tok-567 `tre-567) (check-types ~.types-record-field-unused-mold ~[%tests %golden ~.types-record-field-unused-mold %source %jibb] src-567 `typ-567))
3495+ (weld (check ~.types-record-field-unused-mold src-572 `tok-572 `tre-572) (check-types ~.types-record-field-unused-mold ~[%tests %golden ~.types-record-field-unused-mold %source %jibb] src-572 `typ-572))
3464++ test-types-record-import
3496++ test-types-record-import
3465− (weld (weld (check ~.types-record-import src-568 `tok-568 `tre-568) (check-module-types ~.types-record-import ~[%tests %golden ~.types-record-import %source %jibb] src-568 `typ-568 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-568-1]])) (check-module-trees ~.types-record-import `mtre-568 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-568-1]]))
3497+ (weld (weld (check ~.types-record-import src-573 `tok-573 `tre-573) (check-module-types ~.types-record-import ~[%tests %golden ~.types-record-import %source %jibb] src-573 `typ-573 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-573-1]])) (check-module-trees ~.types-record-import `mtre-573 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-573-1]]))
3466++ test-types-record-local-scheme
3498++ test-types-record-local-scheme
3467− (weld (check ~.types-record-local-scheme src-569 `tok-569 `tre-569) (check-types ~.types-record-local-scheme ~[%tests %golden ~.types-record-local-scheme %source %jibb] src-569 `typ-569))
3499+ (weld (check ~.types-record-local-scheme src-574 `tok-574 `tre-574) (check-types ~.types-record-local-scheme ~[%tests %golden ~.types-record-local-scheme %source %jibb] src-574 `typ-574))
3468++ test-types-record-nested
3500++ test-types-record-nested
3469− (weld (check ~.types-record-nested src-570 `tok-570 `tre-570) (check-types ~.types-record-nested ~[%tests %golden ~.types-record-nested %source %jibb] src-570 `typ-570))
3501+ (weld (check ~.types-record-nested src-575 `tok-575 `tre-575) (check-types ~.types-record-nested ~[%tests %golden ~.types-record-nested %source %jibb] src-575 `typ-575))
3470++ test-types-record-to-tuple
3502++ test-types-record-to-tuple
3471− (weld (check ~.types-record-to-tuple src-571 `tok-571 `tre-571) (check-types ~.types-record-to-tuple ~[%tests %golden ~.types-record-to-tuple %source %jibb] src-571 `typ-571))
3503+ (weld (check ~.types-record-to-tuple src-576 `tok-576 `tre-576) (check-types ~.types-record-to-tuple ~[%tests %golden ~.types-record-to-tuple %source %jibb] src-576 `typ-576))
3472++ test-types-recursion-scc-failures
3504++ test-types-recursion-scc-failures
3473− (weld (check ~.types-recursion-scc-failures src-572 `tok-572 `tre-572) (check-module-types ~.types-recursion-scc-failures ~[%tests %golden ~.types-recursion-scc-failures %source %jibb] src-572 `typ-572 ~ ~ ~))
3505+ (weld (check ~.types-recursion-scc-failures src-577 `tok-577 `tre-577) (check-module-types ~.types-recursion-scc-failures ~[%tests %golden ~.types-recursion-scc-failures %source %jibb] src-577 `typ-577 ~ ~ ~))
3474++ test-types-recursion-scc-groups
3506++ test-types-recursion-scc-groups
3475− (weld (check ~.types-recursion-scc-groups src-573 `tok-573 `tre-573) (check-module-types ~.types-recursion-scc-groups ~[%tests %golden ~.types-recursion-scc-groups %source %jibb] src-573 `typ-573 ~ ~ ~))
3507+ (weld (check ~.types-recursion-scc-groups src-578 `tok-578 `tre-578) (check-module-types ~.types-recursion-scc-groups ~[%tests %golden ~.types-recursion-scc-groups %source %jibb] src-578 `typ-578 ~ ~ ~))
3476++ test-types-recursion-scc-import
3508++ test-types-recursion-scc-import
3477− (weld (weld (check ~.types-recursion-scc-import src-574 `tok-574 `tre-574) (check-module-types ~.types-recursion-scc-import ~[%tests %golden ~.types-recursion-scc-import %source %jibb] src-574 `typ-574 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-574-1]])) (check-module-trees ~.types-recursion-scc-import `mtre-574 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-574-1]]))
3509+ (weld (weld (check ~.types-recursion-scc-import src-579 `tok-579 `tre-579) (check-module-types ~.types-recursion-scc-import ~[%tests %golden ~.types-recursion-scc-import %source %jibb] src-579 `typ-579 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-579-1]])) (check-module-trees ~.types-recursion-scc-import `mtre-579 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-579-1]]))
3478++ test-types-recursion-scc-import-bad
3510++ test-types-recursion-scc-import-bad
3479− (weld (weld (check ~.types-recursion-scc-import-bad src-575 `tok-575 `tre-575) (check-module-types ~.types-recursion-scc-import-bad ~[%tests %golden ~.types-recursion-scc-import-bad %source %jibb] src-575 `typ-575 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-575-1]])) (check-module-trees ~.types-recursion-scc-import-bad `mtre-575 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-575-1]]))
3511+ (weld (weld (check ~.types-recursion-scc-import-bad src-580 `tok-580 `tre-580) (check-module-types ~.types-recursion-scc-import-bad ~[%tests %golden ~.types-recursion-scc-import-bad %source %jibb] src-580 `typ-580 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-580-1]])) (check-module-trees ~.types-recursion-scc-import-bad `mtre-580 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-580-1]]))
3480++ test-types-recursion-scc-local
3512++ test-types-recursion-scc-local
3481− (weld (check ~.types-recursion-scc-local src-576 `tok-576 `tre-576) (check-module-types ~.types-recursion-scc-local ~[%tests %golden ~.types-recursion-scc-local %source %jibb] src-576 `typ-576 ~ ~ ~))
3513+ (weld (check ~.types-recursion-scc-local src-581 `tok-581 `tre-581) (check-module-types ~.types-recursion-scc-local ~[%tests %golden ~.types-recursion-scc-local %source %jibb] src-581 `typ-581 ~ ~ ~))
3482++ test-types-recursion-scc-order
3514++ test-types-recursion-scc-order
3483− (weld (check ~.types-recursion-scc-order src-577 `tok-577 `tre-577) (check-module-types ~.types-recursion-scc-order ~[%tests %golden ~.types-recursion-scc-order %source %jibb] src-577 `typ-577 ~ ~ ~))
3515+ (weld (check ~.types-recursion-scc-order src-582 `tok-582 `tre-582) (check-module-types ~.types-recursion-scc-order ~[%tests %golden ~.types-recursion-scc-order %source %jibb] src-582 `typ-582 ~ ~ ~))
3484++ test-types-recursion-scc-shadow
3516++ test-types-recursion-scc-shadow
3485− (weld (check ~.types-recursion-scc-shadow src-578 `tok-578 `tre-578) (check-module-types ~.types-recursion-scc-shadow ~[%tests %golden ~.types-recursion-scc-shadow %source %jibb] src-578 `typ-578 ~ ~ ~))
3517+ (weld (check ~.types-recursion-scc-shadow src-583 `tok-583 `tre-583) (check-module-types ~.types-recursion-scc-shadow ~[%tests %golden ~.types-recursion-scc-shadow %source %jibb] src-583 `typ-583 ~ ~ ~))
3486++ test-types-recursive-branch
3518++ test-types-recursive-branch
3487− (weld (check ~.types-recursive-branch src-579 `tok-579 `tre-579) (check-module-types ~.types-recursive-branch ~[%tests %golden ~.types-recursive-branch %source %jibb] src-579 `typ-579 ~ ~ ~))
3519+ (weld (check ~.types-recursive-branch src-584 `tok-584 `tre-584) (check-module-types ~.types-recursive-branch ~[%tests %golden ~.types-recursive-branch %source %jibb] src-584 `typ-584 ~ ~ ~))
3488++ test-types-recursive-gate
3520++ test-types-recursive-gate
3489− (weld (check ~.types-recursive-gate src-580 `tok-580 `tre-580) (check-types ~.types-recursive-gate ~[%tests %golden ~.types-recursive-gate %source %jibb] src-580 `typ-580))
3521+ (weld (check ~.types-recursive-gate src-585 `tok-585 `tre-585) (check-types ~.types-recursive-gate ~[%tests %golden ~.types-recursive-gate %source %jibb] src-585 `typ-585))
3490++ test-types-recursive-sample
3522++ test-types-recursive-sample
3491− (weld (check ~.types-recursive-sample src-581 `tok-581 `tre-581) (check-types ~.types-recursive-sample ~[%tests %golden ~.types-recursive-sample %source %jibb] src-581 `typ-581))
3523+ (weld (check ~.types-recursive-sample src-586 `tok-586 `tre-586) (check-types ~.types-recursive-sample ~[%tests %golden ~.types-recursive-sample %source %jibb] src-586 `typ-586))
3492++ test-types-scope-library-poke
3524++ test-types-scope-library-poke
3493− (weld (check-at ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-582 `tok-582 `tre-582) (check-module-types ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-582 `typ-582 ~ ~ ~))
3525+ (weld (check-at ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-587 `tok-587 `tre-587) (check-module-types ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-587 `typ-587 ~ ~ ~))
3494++ test-types-scope-root-api
3526++ test-types-scope-root-api
3495− (weld (check-at ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-583 `tok-583 `tre-583) (check-module-types ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-583 `typ-583 ~ ~ ~))
3527+ (weld (check-at ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-588 `tok-588 `tre-588) (check-module-types ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-588 `typ-588 ~ ~ ~))
3496++ test-types-scope-store-duplicate
3528++ test-types-scope-store-duplicate
3497− (weld (check-at ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-584 `tok-584 `tre-584) (check-module-types ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-584 `typ-584 ~ ~ ~))
3529+ (weld (check-at ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-589 `tok-589 `tre-589) (check-module-types ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-589 `typ-589 ~ ~ ~))
3498++ test-types-scope-store-shadow
3530++ test-types-scope-store-shadow
3499− (weld (check-at ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-585 `tok-585 `tre-585) (check-module-types ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-585 `typ-585 ~ ~ ~))
3531+ (weld (check-at ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-590 `tok-590 `tre-590) (check-module-types ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-590 `typ-590 ~ ~ ~))
3500++ test-types-single-case-pattern
3532++ test-types-single-case-pattern
3501− (weld (check ~.types-single-case-pattern src-586 `tok-586 `tre-586) (check-module-types ~.types-single-case-pattern ~[%tests %golden ~.types-single-case-pattern %source %jibb] src-586 `typ-586 ~ ~ ~))
3533+ (weld (check ~.types-single-case-pattern src-591 `tok-591 `tre-591) (check-module-types ~.types-single-case-pattern ~[%tests %golden ~.types-single-case-pattern %source %jibb] src-591 `typ-591 ~ ~ ~))
3502++ test-types-string-interpolation
3534++ test-types-string-interpolation
3503− (weld (check ~.types-string-interpolation src-587 `tok-587 `tre-587) (check-module-types ~.types-string-interpolation ~[%tests %golden ~.types-string-interpolation %source %jibb] src-587 `typ-587 ~ ~ ~))
3535+ (weld (check ~.types-string-interpolation src-592 `tok-592 `tre-592) (check-module-types ~.types-string-interpolation ~[%tests %golden ~.types-string-interpolation %source %jibb] src-592 `typ-592 ~ ~ ~))
3504++ test-types-tuple-context
3536++ test-types-tuple-context
3505− (weld (check ~.types-tuple-context src-588 `tok-588 `tre-588) (check-module-types ~.types-tuple-context ~[%tests %golden ~.types-tuple-context %source %jibb] src-588 `typ-588 ~ ~ ~))
3537+ (weld (check ~.types-tuple-context src-593 `tok-593 `tre-593) (check-module-types ~.types-tuple-context ~[%tests %golden ~.types-tuple-context %source %jibb] src-593 `typ-593 ~ ~ ~))
3506++ test-types-tuple-context-nested
3538++ test-types-tuple-context-nested
3507− (weld (check ~.types-tuple-context-nested src-589 `tok-589 `tre-589) (check-module-types ~.types-tuple-context-nested ~[%tests %golden ~.types-tuple-context-nested %source %jibb] src-589 `typ-589 ~ ~ ~))
3539+ (weld (check ~.types-tuple-context-nested src-594 `tok-594 `tre-594) (check-module-types ~.types-tuple-context-nested ~[%tests %golden ~.types-tuple-context-nested %source %jibb] src-594 `typ-594 ~ ~ ~))
3508++ test-types-union-alias
3540++ test-types-union-alias
3509− (weld (check ~.types-union-alias src-590 `tok-590 `tre-590) (check-types ~.types-union-alias ~[%tests %golden ~.types-union-alias %source %jibb] src-590 `typ-590))
3541+ (weld (check ~.types-union-alias src-595 `tok-595 `tre-595) (check-types ~.types-union-alias ~[%tests %golden ~.types-union-alias %source %jibb] src-595 `typ-595))
3510++ test-types-union-branch-context
3542++ test-types-union-branch-context
3511− (weld (check ~.types-union-branch-context src-591 `tok-591 `tre-591) (check-types ~.types-union-branch-context ~[%tests %golden ~.types-union-branch-context %source %jibb] src-591 `typ-591))
3543+ (weld (check ~.types-union-branch-context src-596 `tok-596 `tre-596) (check-types ~.types-union-branch-context ~[%tests %golden ~.types-union-branch-context %source %jibb] src-596 `typ-596))
3512++ test-types-union-branch-pending
3544++ test-types-union-branch-pending
3513− (weld (check ~.types-union-branch-pending src-592 `tok-592 `tre-592) (check-types ~.types-union-branch-pending ~[%tests %golden ~.types-union-branch-pending %source %jibb] src-592 `typ-592))
3545+ (weld (check ~.types-union-branch-pending src-597 `tok-597 `tre-597) (check-types ~.types-union-branch-pending ~[%tests %golden ~.types-union-branch-pending %source %jibb] src-597 `typ-597))
3514++ test-types-union-constructor-shape
3546++ test-types-union-constructor-shape
3515− (weld (check ~.types-union-constructor-shape src-593 `tok-593 `tre-593) (check-types ~.types-union-constructor-shape ~[%tests %golden ~.types-union-constructor-shape %source %jibb] src-593 `typ-593))
3547+ (weld (check ~.types-union-constructor-shape src-598 `tok-598 `tre-598) (check-types ~.types-union-constructor-shape ~[%tests %golden ~.types-union-constructor-shape %source %jibb] src-598 `typ-598))
3516++ test-types-union-context-flow
3548++ test-types-union-context-flow
3517− (weld (check ~.types-union-context-flow src-594 `tok-594 `tre-594) (check-types ~.types-union-context-flow ~[%tests %golden ~.types-union-context-flow %source %jibb] src-594 `typ-594))
3549+ (weld (check ~.types-union-context-flow src-599 `tok-599 `tre-599) (check-types ~.types-union-context-flow ~[%tests %golden ~.types-union-context-flow %source %jibb] src-599 `typ-599))
3518++ test-types-union-finite
3550++ test-types-union-finite
3519− (weld (check ~.types-union-finite src-595 `tok-595 `tre-595) (check-module-types ~.types-union-finite ~[%tests %golden ~.types-union-finite %source %jibb] src-595 `typ-595 ~ ~ ~))
3551+ (weld (check ~.types-union-finite src-600 `tok-600 `tre-600) (check-module-types ~.types-union-finite ~[%tests %golden ~.types-union-finite %source %jibb] src-600 `typ-600 ~ ~ ~))
3520++ test-types-union-finite-context
3552++ test-types-union-finite-context
3521− (weld (check ~.types-union-finite-context src-596 `tok-596 `tre-596) (check-module-types ~.types-union-finite-context ~[%tests %golden ~.types-union-finite-context %source %jibb] src-596 `typ-596 ~ ~ ~))
3553+ (weld (check ~.types-union-finite-context src-601 `tok-601 `tre-601) (check-module-types ~.types-union-finite-context ~[%tests %golden ~.types-union-finite-context %source %jibb] src-601 `typ-601 ~ ~ ~))
3522++ test-types-union-finite-generic
3554++ test-types-union-finite-generic
3523− (weld (check ~.types-union-finite-generic src-597 `tok-597 `tre-597) (check-module-types ~.types-union-finite-generic ~[%tests %golden ~.types-union-finite-generic %source %jibb] src-597 `typ-597 ~ ~ ~))
3555+ (weld (check ~.types-union-finite-generic src-602 `tok-602 `tre-602) (check-module-types ~.types-union-finite-generic ~[%tests %golden ~.types-union-finite-generic %source %jibb] src-602 `typ-602 ~ ~ ~))
3524++ test-types-union-finite-limit
3556++ test-types-union-finite-limit
3525− (weld (check ~.types-union-finite-limit src-598 `tok-598 `tre-598) (check-module-types ~.types-union-finite-limit ~[%tests %golden ~.types-union-finite-limit %source %jibb] src-598 `typ-598 ~ ~ ~))
3557+ (weld (check ~.types-union-finite-limit src-603 `tok-603 `tre-603) (check-module-types ~.types-union-finite-limit ~[%tests %golden ~.types-union-finite-limit %source %jibb] src-603 `typ-603 ~ ~ ~))
3526++ test-types-union-import
3558++ test-types-union-import
3527− (weld (weld (check ~.types-union-import src-599 `tok-599 `tre-599) (check-module-types ~.types-union-import ~[%tests %golden ~.types-union-import %source %jibb] src-599 `typ-599 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-599-1]])) (check-module-trees ~.types-union-import `mtre-599 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-599-1]]))
3559+ (weld (weld (check ~.types-union-import src-604 `tok-604 `tre-604) (check-module-types ~.types-union-import ~[%tests %golden ~.types-union-import %source %jibb] src-604 `typ-604 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-604-1]])) (check-module-trees ~.types-union-import `mtre-604 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-604-1]]))
3528++ test-types-union-local-pending
3560++ test-types-union-local-pending
3529− (weld (check ~.types-union-local-pending src-600 `tok-600 `tre-600) (check-types ~.types-union-local-pending ~[%tests %golden ~.types-union-local-pending %source %jibb] src-600 `typ-600))
3561+ (weld (check ~.types-union-local-pending src-605 `tok-605 `tre-605) (check-types ~.types-union-local-pending ~[%tests %golden ~.types-union-local-pending %source %jibb] src-605 `typ-605))
3530++ test-types-union-nonwing-subject
3562++ test-types-union-nonwing-subject
3531− (weld (check ~.types-union-nonwing-subject src-601 `tok-601 `tre-601) (check-module-types ~.types-union-nonwing-subject ~[%tests %golden ~.types-union-nonwing-subject %source %jibb] src-601 `typ-601 ~ ~ ~))
3563+ (weld (check ~.types-union-nonwing-subject src-606 `tok-606 `tre-606) (check-module-types ~.types-union-nonwing-subject ~[%tests %golden ~.types-union-nonwing-subject %source %jibb] src-606 `typ-606 ~ ~ ~))
3532++ test-types-union-overlap
3564++ test-types-union-overlap
3533− (weld (check ~.types-union-overlap src-602 `tok-602 `tre-602) (check-types ~.types-union-overlap ~[%tests %golden ~.types-union-overlap %source %jibb] src-602 `typ-602))
3565+ (weld (check ~.types-union-overlap src-607 `tok-607 `tre-607) (check-types ~.types-union-overlap ~[%tests %golden ~.types-union-overlap %source %jibb] src-607 `typ-607))
3534++ test-types-union-overlap-nested
3566++ test-types-union-overlap-nested
3535− (weld (check ~.types-union-overlap-nested src-603 `tok-603 `tre-603) (check-types ~.types-union-overlap-nested ~[%tests %golden ~.types-union-overlap-nested %source %jibb] src-603 `typ-603))
3567+ (weld (check ~.types-union-overlap-nested src-608 `tok-608 `tre-608) (check-types ~.types-union-overlap-nested ~[%tests %golden ~.types-union-overlap-nested %source %jibb] src-608 `typ-608))
3536++ test-types-union-pattern-result-context
3568++ test-types-union-pattern-result-context
3537− (weld (check ~.types-union-pattern-result-context src-604 `tok-604 `tre-604) (check-module-types ~.types-union-pattern-result-context ~[%tests %golden ~.types-union-pattern-result-context %source %jibb] src-604 `typ-604 ~ ~ ~))
3569+ (weld (check ~.types-union-pattern-result-context src-609 `tok-609 `tre-609) (check-module-types ~.types-union-pattern-result-context ~[%tests %golden ~.types-union-pattern-result-context %source %jibb] src-609 `typ-609 ~ ~ ~))
3538++ test-types-union-pattern-result-controls
3570++ test-types-union-pattern-result-controls
3539− (weld (check ~.types-union-pattern-result-controls src-605 `tok-605 `tre-605) (check-module-types ~.types-union-pattern-result-controls ~[%tests %golden ~.types-union-pattern-result-controls %source %jibb] src-605 `typ-605 ~ ~ ~))
3571+ (weld (check ~.types-union-pattern-result-controls src-610 `tok-610 `tre-610) (check-module-types ~.types-union-pattern-result-controls ~[%tests %golden ~.types-union-pattern-result-controls %source %jibb] src-610 `typ-610 ~ ~ ~))
3540++ test-types-union-patterns
3572++ test-types-union-patterns
3541− (weld (check ~.types-union-patterns src-606 `tok-606 `tre-606) (check-module-types ~.types-union-patterns ~[%tests %golden ~.types-union-patterns %source %jibb] src-606 `typ-606 ~ ~ ~))
3573+ (weld (check ~.types-union-patterns src-611 `tok-611 `tre-611) (check-module-types ~.types-union-patterns ~[%tests %golden ~.types-union-patterns %source %jibb] src-611 `typ-611 ~ ~ ~))
3542++ test-types-union-patterns-generic
3574++ test-types-union-patterns-generic
3543− (weld (check ~.types-union-patterns-generic src-607 `tok-607 `tre-607) (check-module-types ~.types-union-patterns-generic ~[%tests %golden ~.types-union-patterns-generic %source %jibb] src-607 `typ-607 ~ ~ ~))
3575+ (weld (check ~.types-union-patterns-generic src-612 `tok-612 `tre-612) (check-module-types ~.types-union-patterns-generic ~[%tests %golden ~.types-union-patterns-generic %source %jibb] src-612 `typ-612 ~ ~ ~))
3544++ test-types-union-patterns-import
3576++ test-types-union-patterns-import
3545− (weld (weld (check ~.types-union-patterns-import src-608 `tok-608 `tre-608) (check-module-types ~.types-union-patterns-import ~[%tests %golden ~.types-union-patterns-import %source %jibb] src-608 `typ-608 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-608-1]])) (check-module-trees ~.types-union-patterns-import `mtre-608 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-608-1]]))
3577+ (weld (weld (check ~.types-union-patterns-import src-613 `tok-613 `tre-613) (check-module-types ~.types-union-patterns-import ~[%tests %golden ~.types-union-patterns-import %source %jibb] src-613 `typ-613 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-613-1]])) (check-module-trees ~.types-union-patterns-import `mtre-613 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-613-1]]))
3546++ test-types-union-phantom-generic
3578++ test-types-union-phantom-generic
3547− (weld (check ~.types-union-phantom-generic src-609 `tok-609 `tre-609) (check-types ~.types-union-phantom-generic ~[%tests %golden ~.types-union-phantom-generic %source %jibb] src-609 `typ-609))
3579+ (weld (check ~.types-union-phantom-generic src-614 `tok-614 `tre-614) (check-types ~.types-union-phantom-generic ~[%tests %golden ~.types-union-phantom-generic %source %jibb] src-614 `typ-614))
3548++ test-types-union-polymorphic-identity
3580++ test-types-union-polymorphic-identity
3549− (weld (weld (check ~.types-union-polymorphic-identity src-610 `tok-610 `tre-610) (check-module-types ~.types-union-polymorphic-identity ~[%tests %golden ~.types-union-polymorphic-identity %source %jibb] src-610 `typ-610 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-610-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-610-2]])) (check-module-trees ~.types-union-polymorphic-identity `mtre-610 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-610-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-610-2]]))
3581+ (weld (weld (check ~.types-union-polymorphic-identity src-615 `tok-615 `tre-615) (check-module-types ~.types-union-polymorphic-identity ~[%tests %golden ~.types-union-polymorphic-identity %source %jibb] src-615 `typ-615 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-615-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-615-2]])) (check-module-trees ~.types-union-polymorphic-identity `mtre-615 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-615-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-615-2]]))
3550++ test-types-union-print-cross-namespace
3582++ test-types-union-print-cross-namespace
3551− (weld (weld (check ~.types-union-print-cross-namespace src-611 `tok-611 `tre-611) (check-module-types ~.types-union-print-cross-namespace ~[%tests %golden ~.types-union-print-cross-namespace %source %jibb] src-611 `typ-611 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-611-1]])) (check-module-trees ~.types-union-print-cross-namespace `mtre-611 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-611-1]]))
3583+ (weld (weld (check ~.types-union-print-cross-namespace src-616 `tok-616 `tre-616) (check-module-types ~.types-union-print-cross-namespace ~[%tests %golden ~.types-union-print-cross-namespace %source %jibb] src-616 `typ-616 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-616-1]])) (check-module-trees ~.types-union-print-cross-namespace `mtre-616 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-616-1]]))
3552++ test-types-union-print-distinct
3584++ test-types-union-print-distinct
3553− (weld (weld (check ~.types-union-print-distinct src-612 `tok-612 `tre-612) (check-module-types ~.types-union-print-distinct ~[%tests %golden ~.types-union-print-distinct %source %jibb] src-612 `typ-612 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-612-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-612-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-612-3]])) (check-module-trees ~.types-union-print-distinct `mtre-612 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-612-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-612-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-612-3]]))
3585+ (weld (weld (check ~.types-union-print-distinct src-617 `tok-617 `tre-617) (check-module-types ~.types-union-print-distinct ~[%tests %golden ~.types-union-print-distinct %source %jibb] src-617 `typ-617 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-617-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-617-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-617-3]])) (check-module-trees ~.types-union-print-distinct `mtre-617 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-617-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-617-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-617-3]]))
3554++ test-types-union-print-escape
3586++ test-types-union-print-escape
3555− (weld (check ~.types-union-print-escape src-613 `tok-613 `tre-613) (check-types ~.types-union-print-escape ~[%tests %golden ~.types-union-print-escape %source %jibb] src-613 `typ-613))
3587+ (weld (check ~.types-union-print-escape src-618 `tok-618 `tre-618) (check-types ~.types-union-print-escape ~[%tests %golden ~.types-union-print-escape %source %jibb] src-618 `typ-618))
3556++ test-types-union-print-local
3588++ test-types-union-print-local
3557− (weld (check ~.types-union-print-local src-614 `tok-614 `tre-614) (check-types ~.types-union-print-local ~[%tests %golden ~.types-union-print-local %source %jibb] src-614 `typ-614))
3589+ (weld (check ~.types-union-print-local src-619 `tok-619 `tre-619) (check-types ~.types-union-print-local ~[%tests %golden ~.types-union-print-local %source %jibb] src-619 `typ-619))
3558++ test-types-union-print-nested
3590++ test-types-union-print-nested
3559− (weld (check ~.types-union-print-nested src-615 `tok-615 `tre-615) (check-types ~.types-union-print-nested ~[%tests %golden ~.types-union-print-nested %source %jibb] src-615 `typ-615))
3591+ (weld (check ~.types-union-print-nested src-620 `tok-620 `tre-620) (check-types ~.types-union-print-nested ~[%tests %golden ~.types-union-print-nested %source %jibb] src-620 `typ-620))
3560++ test-types-union-print-same-origin
3592++ test-types-union-print-same-origin
3561− (weld (weld (check ~.types-union-print-same-origin src-616 `tok-616 `tre-616) (check-module-types ~.types-union-print-same-origin ~[%tests %golden ~.types-union-print-same-origin %source %jibb] src-616 `typ-616 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-616-1]])) (check-module-trees ~.types-union-print-same-origin `mtre-616 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-616-1]]))
3593+ (weld (weld (check ~.types-union-print-same-origin src-621 `tok-621 `tre-621) (check-module-types ~.types-union-print-same-origin ~[%tests %golden ~.types-union-print-same-origin %source %jibb] src-621 `typ-621 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-621-1]])) (check-module-trees ~.types-union-print-same-origin `mtre-621 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-621-1]]))
3562++ test-types-union-print-transitive
3594++ test-types-union-print-transitive
3563− (weld (weld (check ~.types-union-print-transitive src-617 `tok-617 `tre-617) (check-module-types ~.types-union-print-transitive ~[%tests %golden ~.types-union-print-transitive %source %jibb] src-617 `typ-617 ~ ~ ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-617-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-617-2]])) (check-module-trees ~.types-union-print-transitive `mtre-617 ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-617-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-617-2]]))
3595+ (weld (weld (check ~.types-union-print-transitive src-622 `tok-622 `tre-622) (check-module-types ~.types-union-print-transitive ~[%tests %golden ~.types-union-print-transitive %source %jibb] src-622 `typ-622 ~ ~ ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-622-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-622-2]])) (check-module-trees ~.types-union-print-transitive `mtre-622 ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-622-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-622-2]]))
3564++ test-types-union-singleton
3596++ test-types-union-singleton
3565− (weld (check ~.types-union-singleton src-618 `tok-618 `tre-618) (check-types ~.types-union-singleton ~[%tests %golden ~.types-union-singleton %source %jibb] src-618 `typ-618))
3597+ (weld (check ~.types-union-singleton src-623 `tok-623 `tre-623) (check-types ~.types-union-singleton ~[%tests %golden ~.types-union-singleton %source %jibb] src-623 `typ-623))
3566++ test-types-union-tag-atoms
3598++ test-types-union-tag-atoms
3567− (weld (check ~.types-union-tag-atoms src-619 `tok-619 `tre-619) (check-types ~.types-union-tag-atoms ~[%tests %golden ~.types-union-tag-atoms %source %jibb] src-619 `typ-619))
3599+ (weld (check ~.types-union-tag-atoms src-624 `tok-624 `tre-624) (check-types ~.types-union-tag-atoms ~[%tests %golden ~.types-union-tag-atoms %source %jibb] src-624 `typ-624))
3568++ test-types-union-tags
3600++ test-types-union-tags
3569− (weld (check ~.types-union-tags src-620 `tok-620 `tre-620) (check-types ~.types-union-tags ~[%tests %golden ~.types-union-tags %source %jibb] src-620 `typ-620))
3601+ (weld (check ~.types-union-tags src-625 `tok-625 `tre-625) (check-types ~.types-union-tags ~[%tests %golden ~.types-union-tags %source %jibb] src-625 `typ-625))
3570++ test-types-union-unresolved
3602++ test-types-union-unresolved
3571− (weld (check ~.types-union-unresolved src-621 `tok-621 `tre-621) (check-types ~.types-union-unresolved ~[%tests %golden ~.types-union-unresolved %source %jibb] src-621 `typ-621))
3603+ (weld (check ~.types-union-unresolved src-626 `tok-626 `tre-626) (check-types ~.types-union-unresolved ~[%tests %golden ~.types-union-unresolved %source %jibb] src-626 `typ-626))
3572++ test-types-union-unresolved-flow
3604++ test-types-union-unresolved-flow
3573− (weld (check ~.types-union-unresolved-flow src-622 `tok-622 `tre-622) (check-types ~.types-union-unresolved-flow ~[%tests %golden ~.types-union-unresolved-flow %source %jibb] src-622 `typ-622))
3605+ (weld (check ~.types-union-unresolved-flow src-627 `tok-627 `tre-627) (check-types ~.types-union-unresolved-flow ~[%tests %golden ~.types-union-unresolved-flow %source %jibb] src-627 `typ-627))
3574++ test-types-unit-construction
3606++ test-types-unit-construction
3575− (weld (check ~.types-unit-construction src-623 `tok-623 `tre-623) (check-module-types ~.types-unit-construction ~[%tests %golden ~.types-unit-construction %source %jibb] src-623 `typ-623 ~ ~ ~))
3607+ (weld (check ~.types-unit-construction src-628 `tok-628 `tre-628) (check-module-types ~.types-unit-construction ~[%tests %golden ~.types-unit-construction %source %jibb] src-628 `typ-628 ~ ~ ~))
3576++ test-types-unit-context
3608++ test-types-unit-context
3577− (weld (check ~.types-unit-context src-624 `tok-624 `tre-624) (check-module-types ~.types-unit-context ~[%tests %golden ~.types-unit-context %source %jibb] src-624 `typ-624 ~ ~ ~))
3609+ (weld (check ~.types-unit-context src-629 `tok-629 `tre-629) (check-module-types ~.types-unit-context ~[%tests %golden ~.types-unit-context %source %jibb] src-629 `typ-629 ~ ~ ~))
3578++ test-types-unit-patterns
3610++ test-types-unit-patterns
3579− (weld (check ~.types-unit-patterns src-625 `tok-625 `tre-625) (check-types ~.types-unit-patterns ~[%tests %golden ~.types-unit-patterns %source %jibb] src-625 `typ-625))
3611+ (weld (check ~.types-unit-patterns src-630 `tok-630 `tre-630) (check-types ~.types-unit-patterns ~[%tests %golden ~.types-unit-patterns %source %jibb] src-630 `typ-630))
3580++ test-types-value-cycle-shadow
3612++ test-types-value-cycle-shadow
3581− (weld (check ~.types-value-cycle-shadow src-626 `tok-626 `tre-626) (check-module-types ~.types-value-cycle-shadow ~[%tests %golden ~.types-value-cycle-shadow %source %jibb] src-626 `typ-626 ~ ~ ~))
3613+ (weld (check ~.types-value-cycle-shadow src-631 `tok-631 `tre-631) (check-module-types ~.types-value-cycle-shadow ~[%tests %golden ~.types-value-cycle-shadow %source %jibb] src-631 `typ-631 ~ ~ ~))
3582++ test-types-value-cycle-unsupported
3614++ test-types-value-cycle-unsupported
3583− (weld (check ~.types-value-cycle-unsupported src-627 `tok-627 `tre-627) (check-module-types ~.types-value-cycle-unsupported ~[%tests %golden ~.types-value-cycle-unsupported %source %jibb] src-627 `typ-627 ~ ~ ~))
3615+ (weld (check ~.types-value-cycle-unsupported src-632 `tok-632 `tre-632) (check-module-types ~.types-value-cycle-unsupported ~[%tests %golden ~.types-value-cycle-unsupported %source %jibb] src-632 `typ-632 ~ ~ ~))
3584++ test-types-value-cycles
3616++ test-types-value-cycles
3585− (weld (check ~.types-value-cycles src-628 `tok-628 `tre-628) (check-module-types ~.types-value-cycles ~[%tests %golden ~.types-value-cycles %source %jibb] src-628 `typ-628 ~ ~ ~))
3617+ (weld (check ~.types-value-cycles src-633 `tok-633 `tre-633) (check-module-types ~.types-value-cycles ~[%tests %golden ~.types-value-cycles %source %jibb] src-633 `typ-633 ~ ~ ~))
3586::
3618::
3587:: +check: run golden:jibb on a case and compare both outputs
3619:: +check: run golden:jibb on a case and compare both outputs
3588::
3620::
tools/testdata/ship-selftest+2−1
@@ -303,7 +303,8 @@ def generator_checks(tmp):
303 p.endswith('.hoon')}
303 p.endswith('.hoon')}
304 check('default assembly keeps the repository test programs',
304 check('default assembly keeps the repository test programs',
305 {'tests/lib/jibb.hoon', 'tests/lib/jibb-import.hoon',
305 {'tests/lib/jibb.hoon', 'tests/lib/jibb-import.hoon',
306− 'tests/lib/jibb-typecheck.hoon', 'tests/lib/jibb-bridge.hoon'}
306+ 'tests/lib/jibb-typecheck.hoon', 'tests/lib/jibb-bridge.hoon',
307+ 'tests/lib/jibb-arithmetic-guards.hoon'}
307 <= normal_tests, sorted(normal_tests))
308 <= normal_tests, sorted(normal_tests))
308 for label, kwargs in (('custom library', {'lib': STUB}),
309 for label, kwargs in (('custom library', {'lib': STUB}),
309 ('custom goldens', {'golden': CASES}),
310 ('custom goldens', {'golden': CASES}),
tools/type-arithmetic-guards-testnew file+28
@@ -0,0 +1,28 @@
1+#!/usr/bin/env python3
2+"""Run the shared arithmetic unifier 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-arithmetic-guards.hoon').read_text()
14+tests = tests[tests.index('\n|%\n') + 1:]
15+expression = ('=/ jibb .\n=/ suite\n' + tests +
16+ '\n=/ failures=(list tape) arithmetic-guard-errors:suite\n'
17+ '^- @t\n?~ failures \'arithmetic guards passed\'\n'
18+ '(of-wain:format (turn failures crip))\n')
19+with tempfile.TemporaryDirectory(prefix='jibb-arithmetic-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, '--raw', '-f', str(program)], stdout=subprocess.PIPE)
23+if result.returncode:
24+ sys.exit(result.returncode)
25+if result.stdout != b'arithmetic guards passed\n':
26+ sys.stderr.buffer.write(result.stdout)
27+ sys.exit(1)
28+print('arithmetic unifier guards passed')