on master help sign in
Infer source-backed arithmetic without loobeans

Preserve the shared restricted atom type through supported inference, expose add and dec through private primitives, and record the compile-time watchability decision. Refresh the prelude fixture and cover the new constraints and uncertainty cases.

commit1a891e2144236aa0ded9eaf8e6ee4080c1d03aa7 authoriko <mail@iko.soy> dateSat 31 Oct 2026, 07:28 (1 day ago) parentcf17925
57 files changed+6937−4012
docs/compiler.md+1−1 docs/development.md+2 docs/open-questions.md+2−2 docs/prelude-inventory.md+1−1 docs/prompts/milestone-2.md+1−1 docs/spec/decisions.md+1−1 docs/spec/grammar.md+1−1 docs/spec/overview.md+1−1 docs/status.md+7−6 jibb-dev/lib/jibb.hoon+161−28 jibb-dev/lib/jibb/internal.jibb+4 jibb-dev/lib/jibb/prelude.jibb+2 tests/golden/prelude-unit-list-transforms/source.jibb+9 tests/golden/prelude-unit-list-transforms/tokens.txt+1950−1885 tests/golden/prelude-unit-list-transforms/tree.txt+864−834 tests/golden/prelude-unit-list-transforms/types.txt+4 tests/golden/types-arithmetic-combined/about.txt+4 tests/golden/types-arithmetic-combined/modules.txt+1 tests/golden/types-arithmetic-combined/source.jibb+56 tests/golden/types-arithmetic-combined/tokens.txt+511 tests/golden/types-arithmetic-combined/tree.txt+232 tests/golden/types-arithmetic-combined/types.txt+120 tests/golden/types-arithmetic-generic/about.txt+4 tests/golden/types-arithmetic-generic/modules.txt+1 tests/golden/types-arithmetic-generic/source.jibb+21 tests/golden/types-arithmetic-generic/tokens.txt+206 tests/golden/types-arithmetic-generic/tree.txt+93 tests/golden/types-arithmetic-generic/types.txt+44 tests/golden/types-arithmetic-module/about.txt+4 tests/golden/types-arithmetic-module/module-trees.txt+26 tests/golden/types-arithmetic-module/modules.txt+1 tests/golden/types-arithmetic-module/modules/ui/math.jibb+6 tests/golden/types-arithmetic-module/source.jibb+16 tests/golden/types-arithmetic-module/tokens.txt+137 tests/golden/types-arithmetic-module/tree.txt+63 tests/golden/types-arithmetic-module/types.txt+44 tests/golden/types-arithmetic-proj-qath/about.txt+4 tests/golden/types-arithmetic-proj-qath/modules.txt+1 tests/golden/types-arithmetic-proj-qath/source.jibb+18 tests/golden/types-arithmetic-proj-qath/tokens.txt+351 tests/golden/types-arithmetic-proj-qath/tree.txt+164 tests/golden/types-arithmetic-proj-qath/types.txt+33 tests/golden/types-arithmetic-scopes/about.txt+4 tests/golden/types-arithmetic-scopes/modules.txt+1 tests/golden/types-arithmetic-scopes/source.jibb+22 tests/golden/types-arithmetic-scopes/tokens.txt+221 tests/golden/types-arithmetic-scopes/tree.txt+108 tests/golden/types-arithmetic-scopes/types.txt+21 tests/golden/types-prelude-arithmetic/about.txt+2−2 tests/golden/types-prelude-arithmetic/source.jibb+5−5 tests/golden/types-prelude-arithmetic/tokens.txt+19−19 tests/golden/types-prelude-arithmetic/tree.txt+11−11 tests/golden/types-prelude-arithmetic/types.txt+25−7 tests/lib/jibb-arithmetic-guards.hoon+58 tests/lib/jibb.hoon+1238−1206 tools/testdata/ship-selftest+2−1 tools/type-arithmetic-guards-test+28
docs/compiler.md+1−1
@@ -98,7 +98,7 @@ The source-backed `+api-path-analysis-source` is a separate partial analysis, no
9898
9999`+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.
100100
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.
102102
103103`+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.
104104
docs/development.md+2
@@ -70,6 +70,7 @@ git clone https://github.com/urbit/tools /root/src/tools
7070| `tools/type-list-alias-test` | Runs the shared prelude list-alias and provenance guards under eval and on the ship |
7171| `tools/type-qath-guards-test` | Runs source-provenance, recursive unfolding and face guards under eval and on the ship |
7272| `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 |
7374| `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 |
7475| `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 |
7576| `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
9697tools/type-list-alias-test # prelude list-alias guards pass
9798tools/type-qath-guards-test # qath source and unfolding guards pass
9899tools/type-proj-guards-test # projection evidence and scope guards pass
100+tools/type-arithmetic-guards-test # arithmetic constraint guards pass
99101tools/type-module-scope-test # module/prelude scope golden report matches
100102tools/hoon check-spans-test # prints <<>>
101103tools/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
1818
1919## Questions milestone 2 raises
2020
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.
2222
23231. **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.
24242. **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
6262
636332. **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.
6464
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.
6666
6767## Grammar questions never put to the doc's author
6868
docs/prelude-inventory.md+1−1
@@ -14,7 +14,7 @@ Hoon `+$` arms are marked **mold** below; `++` arms can be gates, doors or mold
1414
1515`add`, `dec`, `div`, `dvr`, `gte`, `gth`, `lte`, `lth`, `max`, `min`, `mod`, `mul`, `sub`.
1616
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.
1818
1919## 1c
2020
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
109109- "Island data and models can't hold gates; the checker names the field."
110110
111111**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.
113113- 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)`.
114114- 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.
115115
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
3333| 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 |
3434| 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 |
3535| 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 |
3737| Mark names | Any name: `/%` names types after marks, and constructors poke with their type's mark; no alias marks | Decided 2026-10-26 |
3838| 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 |
3939| 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.
102102- 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.
103103- `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.
104104- 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.
106106
107107Names the host reads, by file:
108108
docs/spec/overview.md+1−1
@@ -152,7 +152,7 @@ Loads and renders run in Nock.
152152
153153- `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.
154154- 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.
156156- 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.
157157
158158Inputs 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
2525
2626The 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.
2727
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.
2929
3030The 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.
3131
@@ -45,8 +45,8 @@ What the plan asks for, and where it is:
4545
4646Besides the plan's list:
4747
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.
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.
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 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.
5050- `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.
5151- 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.
5252- 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:
129129| ba1fec4 | 2026-10-31 | Add the curried `bond` prelude gate |
130130| 0ea700d | 2026-10-31 | Infer a source-defined recursive `qath` subset and record the explicit `proj` decision |
131131| 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 |
133134
134135## Checking it
135136
136137On a machine set up as [development.md](development.md) says:
137138
138139```
139−tools/golden # 628 cases under urbit eval
140+tools/golden # 633 cases under urbit eval
140141tools/importer-test # the Hoon importer fixture projection
141142tools/type-import-test # the importer/checker bridge fixture
142143tools/type-tlon-test # the real Tlon reader/checker fixture
@@ -153,7 +154,7 @@ tools/testdata/selftest # the tools themselves
153154tools/doc-blocks docs/spec # the doc's examples are golden cases
154155tools/ship start
155156tools/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
157158tools/testdata/ship-selftest
158159tools/testdata/clay-fixtures-selftest # scratch fixture cleanup without a ship
159160tools/ship check-commit # |commit stores .jibb files
jibb-dev/lib/jibb.hoon+161−28
@@ -4623,7 +4623,7 @@
46234623:: the private prelude dependency. A later lowerer must replace the call by
46244624:: an inline gate applied to the operand once; no lowering is implemented yet.
46254625:: 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
46274627:: recursive groups remain unsupported. Directional fits bound faced-spine
46284628:: proofs to fewer than 1,024 cells; the projection planner has a separate
46294629:: 4,096-step bound. These are inference limits, not language limits.
@@ -4632,7 +4632,9 @@
46324632 $~ [%var 0]
46334633 $% [%var id=@ud]
46344634 [%avar id=@ud]
4635+ [%rvar id=@ud]
46354636 [%nvar id=@ud]
4637+ [%rnvar id=@ud]
46364638 [%atom aura=@ta]
46374639 [%any-atom ~]
46384640 [%flag ~]
@@ -4665,18 +4667,32 @@
46654667 %var
46664668 =/ found=(unit itype) (itype-lookup id.t sub)
46674669 ?~ found t
4670+ ?: &(|(?=(%rvar -.u.found) ?=(%rnvar -.u.found)) =(id.t +.u.found)) u.found
46684671 $(t u.found)
46694672 %avar
46704673 =/ found=(unit itype) (itype-lookup id.t sub)
46714674 ?~ 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
46724681 $(t u.found)
46734682 %nvar
46744683 =/ found=(unit itype) (itype-lookup id.t sub)
46754684 ?~ 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
46764691 $(t u.found)
46774692 %tag
46784693 =/ found=(unit itype) (itype-lookup id.t sub)
46794694 ?~ found t
4695+ ?: &(|(?=(%rvar -.u.found) ?=(%rnvar -.u.found)) =(id.t +.u.found)) u.found
46804696 $(t u.found)
46814697 ==
46824698::
@@ -4687,7 +4703,9 @@
46874703 ?- -.t
46884704 %var =(n id.t)
46894705 %avar =(n id.t)
4706+ %rvar =(n id.t)
46904707 %nvar =(n id.t)
4708+ %rnvar =(n id.t)
46914709 %atom |
46924710 %any-atom |
46934711 %flag |
@@ -4733,6 +4751,32 @@
47334751 ?: ?=(%var -.b)
47344752 ?: (itype-occurs id.b a sub) ~
47354753 `[[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]
47364780 :: The narrower decimal constraint survives a match with an atom
47374781 :: variable; decimal syntax alone does not make it a loobean.
47384782 ?: &(?=(%nvar -.a) ?=(%avar -.b)) `[[id.b a] sub]
@@ -4787,7 +4831,9 @@
47874831 ?- -.t
47884832 %var |
47894833 %avar |
4834+ %rvar |
47904835 %nvar |
4836+ %rnvar |
47914837 %atom |
47924838 %any-atom &
47934839 %flag |
@@ -4859,7 +4905,9 @@
48594905 ?- -.typ
48604906 %var |
48614907 %avar |
4908+ %rvar |
48624909 %nvar |
4910+ %rnvar |
48634911 %atom &
48644912 %any-atom &
48654913 %flag &
@@ -4921,8 +4969,8 @@
49214969 ?. =(name.a name.b) |
49224970 (itype-face-asym-collection-args args.a args.b sub)
49234971 ?: &(?=(%face -.a) ?=(%face -.b)) $(a body.a, b body.b)
4924− ?: ?=(%face -.a) !|(?=(%var -.b) ?=(%avar -.b) ?=(%nvar -.b))
4925− ?: ?=(%face -.b) !|(?=(%var -.a) ?=(%avar -.a) ?=(%nvar -.a))
4972+ ?: ?=(%face -.a) !|(?=(%var -.b) ?=(%avar -.b) ?=(%rvar -.b) |(?=(%nvar -.b) ?=(%rnvar -.b)))
4973+ ?: ?=(%face -.b) !|(?=(%var -.a) ?=(%avar -.a) ?=(%rvar -.a) |(?=(%nvar -.a) ?=(%rnvar -.a)))
49264974 ?: &(?=(%cell -.a) ?=(%cell -.b)) |($(a hed.a, b hed.b) $(a tal.a, b tal.b))
49274975 ?: &(?=(%fn -.a) ?=(%fn -.b)) |($(a sample.a, b sample.b) $(a product.a, b product.b))
49284976 |
@@ -5105,9 +5153,9 @@
51055153 ?: too-wide [%unknown ~]
51065154 =/ spine-checked=? |(spine-proof ?=(^ known))
51075155 =/ 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)))
51095157 =/ actual-open=?
5110− |(?=(%var -.actual) ?=(%avar -.actual) ?=(%nvar -.actual))
5158+ |(?=(%var -.actual) ?=(%avar -.actual) ?=(%rvar -.actual) |(?=(%nvar -.actual) ?=(%rnvar -.actual)))
51115159 =. actual (itype-walk actual sub)
51125160 =. expected (itype-walk expected sub)
51135161 ?: =(actual expected) [%ok sub next]
@@ -5150,7 +5198,7 @@
51505198 ?: &(!uncertain ?=(%union -.actual) ?=(%face -.expected))
51515199 $(expected body.expected)
51525200 ?: ?=(%union -.actual) [%unknown ~]
5153− ?: &(?=(%union -.expected) |(?=(%avar -.actual) ?=(%nvar -.actual))) [%unknown ~]
5201+ ?: &(?=(%union -.expected) |(?=(%avar -.actual) ?=(%rvar -.actual) |(?=(%nvar -.actual) ?=(%rnvar -.actual)))) [%unknown ~]
51545202 ?: &(?=(%union -.expected) !?=(%var -.actual))
51555203 (itype-fit-cases actual cases.expected sub next)
51565204 ?: ?=(%tag -.actual)
@@ -5158,7 +5206,7 @@
51585206 =/ u=(unit isub) (itype-unify actual expected sub)
51595207 ?~ u [%bad ~]
51605208 [%ok u.u next]
5161− ?: |(?=(%avar -.expected) ?=(%nvar -.expected)) [%unknown ~]
5209+ ?: |(?=(%avar -.expected) ?=(%rvar -.expected) |(?=(%nvar -.expected) ?=(%rnvar -.expected))) [%unknown ~]
51625210 ?: ?=(%face -.expected) $(expected body.expected)
51635211 ?: constructor.actual
51645212 ?. ?=(%fn -.expected) [%bad ~]
@@ -5186,7 +5234,7 @@
51865234 =/ u=(unit isub) (itype-unify actual expected sub)
51875235 ?~ u [%bad ~]
51885236 [%ok u.u next]
5189− ?: |(?=(%avar -.expected) ?=(%nvar -.expected)) [%unknown ~]
5237+ ?: |(?=(%avar -.expected) ?=(%rvar -.expected) |(?=(%nvar -.expected) ?=(%rnvar -.expected))) [%unknown ~]
51905238 ?: ?=(%face -.expected) $(expected body.expected)
51915239 ?: &(?=(%collection -.expected) =(%list name.expected) =(0 val.literal.actual))
51925240 [%unknown ~]
@@ -5200,8 +5248,14 @@
52005248 ?: ?=(%any-atom -.expected) [%ok sub next]
52015249 [%bad ~]
52025250 ?: &(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 |)
52035257 ?: ?=(%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]
52055259 ?: ?=(%var -.actual)
52065260 =/ unified=(unit isub) (itype-unify actual [%avar next] sub)
52075261 ?~ unified [%bad ~]
@@ -5212,7 +5266,7 @@
52125266 =/ unified=(unit isub) (itype-unify actual expected sub)
52135267 ?~ unified [%bad ~]
52145268 [%ok u.unified next]
5215− ?: |(?=(%avar -.expected) ?=(%nvar -.expected)) [%unknown ~]
5269+ ?: |(?=(%avar -.expected) ?=(%rvar -.expected) |(?=(%nvar -.expected) ?=(%rnvar -.expected))) [%unknown ~]
52165270 [%bad ~]
52175271 ?: &(?=(%atom -.actual) ?=(%atom -.expected))
52185272 ?: (aura-prefix aura.expected aura.actual) [%ok sub next]
@@ -5353,14 +5407,14 @@
53535407 =/ index=(map term iwfield) *(map term iwfield)
53545408 |-
53555409 ?: =(0 fuel) ~
5356− ?: |(?=(%var -.typ) ?=(%avar -.typ) ?=(%nvar -.typ)) ~
5410+ ?: |(?=(%var -.typ) ?=(%avar -.typ) ?=(%rvar -.typ) ?=(%nvar -.typ) ?=(%rnvar -.typ)) ~
53575411 ?: ?=(%face -.typ)
53585412 =/ entry=iwfield [name.typ axis body.typ]
53595413 ?: ?=(^ (~(get by index) name.entry)) ~
53605414 `[(flop [entry order]) (~(put by index) name.entry entry)]
53615415 ?. ?=(%cell -.typ) ~
53625416 =/ head=itype hed.typ
5363− ?: |(?=(%var -.head) ?=(%avar -.head) ?=(%nvar -.head)) ~
5417+ ?: |(?=(%var -.head) ?=(%avar -.head) ?=(%rvar -.head) ?=(%nvar -.head) ?=(%rnvar -.head)) ~
53645418 ?. ?=(%face -.head) ~
53655419 =/ entry=iwfield [name.head (mul 2 axis) body.head]
53665420 ?: ?=(^ (~(get by index) name.entry)) ~
@@ -5480,7 +5534,9 @@
54805534 %const |
54815535 %var |
54825536 %avar |
5537+ %rvar |
54835538 %nvar |
5539+ %rnvar |
54845540 %atom |
54855541 %any-atom |
54865542 %flag |
@@ -5493,6 +5549,7 @@
54935549 ?: (itype-has-gate t) t
54945550 ?- -.t
54955551 %nvar [%atom %ud]
5552+ %rnvar [%atom %ud]
54965553 %collection [%collection name.t (turn args.t |=(c=itype (default-decimals c)))]
54975554 %face [%face name.t $(t body.t)]
54985555 %cell [%cell $(t hed.t) $(t tal.t)]
@@ -5509,7 +5566,9 @@
55095566 ?- -.t
55105567 %var `id.t
55115568 %avar `id.t
5569+ %rvar `id.t
55125570 %nvar `id.t
5571+ %rnvar `id.t
55135572 %tag `id.t
55145573 * ~
55155574 ==
@@ -5526,7 +5585,7 @@
55265585 ^- ?
55275586 =. t (itype-walk t sub.state)
55285587 ?- -.t
5529− ?(%var %avar %nvar)
5588+ ?(%var %avar %rvar %nvar %rnvar)
55305589 ?: (lien caps.state |=(c=icap (hole-same-variable t (itype-walk [%var id.c] sub.state)))) &
55315590 (lien params.state |=(p=[name=@t typ=itype] (hole-same-variable t (itype-walk typ.p sub.state))))
55325591 %tag |
@@ -5538,6 +5597,18 @@
55385597 %cell &($(t hed.t) $(t tal.t))
55395598 * &
55405599 ==
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+::
55415612++ default-hole-numbers
55425613 |= [all=(list ihole) prior=(list ihole) state=istate env=ienv permit=?]
55435614 ^- istate
@@ -5547,7 +5618,7 @@
55475618 ?~ all state
55485619 =/ t=itype (itype-walk [%var id.i.all] sub.state)
55495620 =/ 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))))
55515622 state(sub [[id.t [%atom %ud]] sub.state])
55525623 $(all t.all)
55535624::
@@ -5563,7 +5634,7 @@
55635634 ^- ?
55645635 =. t (itype-walk t sub.state)
55655636 ?- -.t
5566− ?(%tag %nvar %avar) !(hole-known t state)
5637+ ?(%tag %nvar %rnvar %avar %rvar) !(hole-known t state)
55675638 %union |((lien cases.t |=(c=itype (hole-uncertain c state))) (lien args.t |=(c=itype (hole-uncertain c state))))
55685639 %collection (lien args.t |=(c=itype (hole-uncertain c state)))
55695640 %face $(t body.t)
@@ -5589,7 +5660,9 @@
55895660 ?- -.t
55905661 %var ~[id.t]
55915662 %avar ~[id.t]
5663+ %rvar ~[id.t]
55925664 %nvar ~[id.t]
5665+ %rnvar ~[id.t]
55935666 %atom ~
55945667 %any-atom ~
55955668 %flag ~
@@ -5626,10 +5699,18 @@
56265699 =/ found=(unit itype) (itype-lookup id.t ren)
56275700 ?~ found t
56285701 u.found
5702+ %rvar
5703+ =/ found=(unit itype) (itype-lookup id.t ren)
5704+ ?~ found t
5705+ u.found
56295706 %nvar
56305707 =/ found=(unit itype) (itype-lookup id.t ren)
56315708 ?~ found t
56325709 u.found
5710+ %rnvar
5711+ =/ found=(unit itype) (itype-lookup id.t ren)
5712+ ?~ found t
5713+ u.found
56335714 %atom t
56345715 %any-atom t
56355716 %flag t
@@ -5654,7 +5735,9 @@
56545735 ?- -.t
56555736 %var |
56565737 %avar =(n id.t)
5738+ %rvar =(n id.t)
56575739 %nvar =(n id.t)
5740+ %rnvar =(n id.t)
56585741 %atom |
56595742 %any-atom |
56605743 %flag |
@@ -5669,6 +5752,29 @@
56695752 %fn |($(t sample.t) $(t product.t))
56705753 %cell |($(t hed.t) $(t tal.t))
56715754 ==
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+ ==
56725778::
56735779:: Canonical numbering makes printed variables independent of the order
56745780:: the unifier happened to allocate intermediates.
@@ -5680,7 +5786,7 @@
56805786 =/ n=@ud 0
56815787 |-
56825788 ?~ 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]))
56845790 $(vars t.vars, ren [[i.vars replacement] ren], n +(n))
56855791::
56865792++ instantiate-scheme
@@ -5691,11 +5797,11 @@
56915797 |-
56925798 ?~ vars [(itype-rename typ.scheme ren) state]
56935799 =/ 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]))
56955801 :: A generalized atom variable is a valid origin for re-generalizing
56965802 :: an alias, just as a sample binder is.
56975803 =/ 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]
56995805 $(vars t.vars, ren [[i.vars replacement] ren], state st)
57005806::
57015807++ icap-lookup
@@ -6752,6 +6858,7 @@
67526858 =/ retried=? ?=(%| -.inferred)
67536859 =? inferred retried (infer-recursive-gate d env local-state)
67546860 ?: ?=(%| -.inferred) $(ds t.ds, remaining [d remaining])
6861+ =. state.p.inferred (promote-restricted-numbers state.p.inferred env)
67556862 =. 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)))
67566863 =/ hole=(unit idiag) (unresolved-hole holes.state.p.inferred holes.state state.p.inferred)
67576864 ?^ hole [%| u.hole]
@@ -7158,12 +7265,14 @@
71587265 =/ t=itype (itype-normalize typ.p.item sub.state.p.item)
71597266 ?: |(?=(%atom -.t) ?=(%any-atom -.t))
71607267 $(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))
71627269 $(ps t.ps, state state.p.item)
71637270 ?: &(?=(%collection -.t) =(%list name.t) =(~[[%atom 'tD']] args.t))
71647271 $(ps t.ps, state state.p.item)
71657272 ?: &(?=(%avar -.t) (atom-var-from-cap id.t caps.state.p.item sub.state.p.item))
71667273 [%| ["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"]]]]
71677276 ?: ?=(%cell -.t)
71687277 [%| ["a cell in interpolation needs a printer" ~[[(span-of p.i.ps) "cell without a printer"]]]]
71697278 [%| ["interpolation type needs unsupported inference" ~]]
@@ -7660,7 +7769,7 @@
76607769 |= [e=expr actual=itype expected=itype sub=isub next=@ud context=span]
76617770 ^- (unit idiag)
76627771 =/ 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))) ~
76647773 =/ fit=ifit (itype-fit actual expected sub next)
76657774 ?. ?=(%bad -.fit) ~
76667775 =. actual (itype-walk actual sub)
@@ -7681,7 +7790,7 @@
76817790 ?~ items ~
76827791 ?~ t.items (nested-missing-tag val.i.items actual expected sub next context)
76837792 =/ 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))) ~
76857794 =. actual (itype-walk actual sub)
76867795 =. expected (itype-walk expected sub)
76877796 ?. &(?=(%cell -.actual) ?=(%cell -.expected)) ~
@@ -7994,7 +8103,7 @@
79948103 ^- (unit [at=span typ=itype])
79958104 ?~ args ~
79968105 =/ 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))) ~
79988107 =. actual (itype-walk actual sub)
79998108 =. expected (itype-walk expected sub)
80008109 ?: &(?=(%face -.expected) !?=(%face -.actual))
@@ -8058,7 +8167,7 @@
80588167 ?. ?=(%fn -.ht) (infer-call-with-head e env state head)
80598168 =/ result=itype (itype-walk product.ht sub.state.p.head)
80608169 ?. ?=(%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)))
80628171 (infer-call-with-head e env state head)
80638172 =/ sub=(unit isub) (itype-unify result expected sub.state.p.head)
80648173 ?~ sub (infer-call-with-head e env state head)
@@ -8110,7 +8219,7 @@
81108219 `(infer-simple-items items.e env state)
81118220 `(width-infer-items items.e index.u.target env state context)
81128221::
8113−:: Recognize only the reserved unqualified, one-argument operation.
8222+:: Experimental intrinsic recognition; real bindings retain normal calls.
81148223++ explicit-proj-call
81158224 |= [e=expr env=ienv state=istate]
81168225 ^- ?
@@ -8366,9 +8475,15 @@
83668475 %avar
83678476 ?: (lth id.t 26) [(add 65 id.t) ~]
83688477 "T{<id.t>}"
8478+ %rvar
8479+ ?: (lth id.t 26) [(add 65 id.t) ~]
8480+ "T{<id.t>}"
83698481 %nvar
83708482 ?: (lth id.t 26) [(add 65 id.t) ~]
83718483 "T{<id.t>}"
8484+ %rnvar
8485+ ?: (lth id.t 26) [(add 65 id.t) ~]
8486+ "T{<id.t>}"
83728487 %atom "@{(trip aura.t)}"
83738488 %any-atom "@"
83748489 %flag "?"
@@ -8416,8 +8531,10 @@
84168531 ^- ?
84178532 ?- -.typ
84188533 %nvar &
8534+ %rnvar &
84198535 %var |
84208536 %avar |
8537+ %rvar |
84218538 %atom |
84228539 %any-atom |
84238540 %flag |
@@ -8437,7 +8554,7 @@
84378554 |= [label=tape typ=itype sub=isub]
84388555 ^- tape
84398556 =/ 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
84418558 ?: (itype-has-hidden-recursive normalized) label
84428559 =/ vars=(list @ud) (unique-type-vars (itype-vars normalized))
84438560 ?: (gth (lent vars) 26) label
@@ -8459,6 +8576,7 @@
84598576 ?+ -.resolved ~
84608577 %var `id.resolved
84618578 %avar `id.resolved
8579+ %rvar `id.resolved
84628580 ==
84638581 ?~ ident $(caps t.caps)
84648582 ?: =(n u.ident) &
@@ -8473,6 +8591,7 @@
84738591 ?+ -.resolved ~
84748592 %var `id.resolved
84758593 %avar `id.resolved
8594+ %rvar `id.resolved
84768595 ==
84778596 ?~ ident $(caps t.caps)
84788597 ?: =(n u.ident) `i.caps
@@ -8487,6 +8606,7 @@
84878606 ?+ -.resolved ~
84888607 %var `id.resolved
84898608 %avar `id.resolved
8609+ %rvar `id.resolved
84908610 ==
84918611 ?~ ident $(caps t.caps)
84928612 =/ found=(unit icap) (cap-with-id u.ident t.caps sub)
@@ -8502,6 +8622,7 @@
85028622 ?+ -.resolved ~
85038623 %var `id.resolved
85048624 %avar `id.resolved
8625+ %rvar `id.resolved
85058626 ==
85068627 ?~ ident &
85078628 ?: (cap-id-in u.ident t.caps sub) &
@@ -8516,8 +8637,8 @@
85168637 ^- ?
85178638 ?~ caps |
85188639 =/ resolved=itype (itype-walk [%var id.i.caps] sub)
8519− ?: ?=(%avar -.resolved)
8520− ?: =(n id.resolved) &
8640+ ?: |(?=(%avar -.resolved) ?=(%rvar -.resolved))
8641+ ?: =(n +.resolved) &
85218642 $(caps t.caps)
85228643 $(caps t.caps)
85238644::
@@ -8527,7 +8648,9 @@
85278648 ?- -.t
85288649 %var |
85298650 %avar =(n id.t)
8651+ %rvar =(n id.t)
85308652 %nvar |
8653+ %rnvar |
85318654 %atom |
85328655 %any-atom |
85338656 %flag |
@@ -8576,6 +8699,10 @@
85768699 =/ out=tape ""
85778700 |-
85788701 ?~ 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))
85798706 ?: (itype-var-is-atom i.vars t)
85808707 =/ sep=tape ?:(printed ", " " where ")
85818708 =/ clause=tape "{sep}{(show-itype [%avar i.vars] ~)} is an atom"
@@ -8885,6 +9012,7 @@
88859012 ?: (constrained-capitals caps.entry sub.state)
88869013 [%| ["explicit capital constraints are not supported by partial inference" ~]]
88879014 =/ typ=itype (itype-normalize typ.entry sub.state)
9015+ ?: (itype-has-nvar typ) [%| ["recursive group needs unsupported inference" ~]]
88889016 ?: |((itype-has-tag typ) (itype-has-hidden-generic typ) (itype-has-hidden-recursive typ) (unsupported-atom-vars typ caps.entry binders.state sub.state))
88899017 [%| ["recursive group needs unsupported inference" ~]]
88909018 =/ free=(list @ud) (weld (free-env-vars env sub.state) (free-cap-vars caps.outer sub.state))
@@ -8950,6 +9078,7 @@
89509078 =/ result=iresult (infer-fragment val.d env initial)
89519079 =? result ?=(%| -.result) (infer-recursive-gate d env initial)
89529080 ?: ?=(%| -.result) $(ds t.ds)
9081+ =. state.p.result (promote-restricted-numbers state.p.result env)
89539082 =. 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)))
89549083 ?^ (unresolved-hole holes.state.p.result holes.initial state.p.result) $(ds t.ds)
89559084 ?: (constrained-capitals caps.state.p.result sub.state.p.result) $(ds t.ds)
@@ -9914,8 +10043,11 @@
991410043 ^- ifile
991510044 =/ a=itype [%avar 0]
991610045 =/ 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]]
991710049 =/ 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 ~ ~ ~ ~]
991910051::
992010052++ infer-private-internal
992110053 |= src=@t
@@ -10514,6 +10646,7 @@
1051410646 (infer-fragment val.d env initial)
1051510647 ?: ?=(%| -.result)
1051610648 $(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)
1051710650 =. 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)))
1051810651 =/ hole=(unit idiag) (unresolved-hole holes.state.p.result holes.initial state.p.result)
1051910652 ?^ hole
jibb-dev/lib/jibb/internal.jibb+4
@@ -14,3 +14,7 @@
1414+$ qath
1515 ~
1616 [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 @@
324324 [%who reply=$-(@p M)]
325325
326326++ 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 @@
11/= internal /lib/jibb/internal
22+$ poke poke.internal
3++$ qath qath.internal
34
45:: Initial prelude functions. The rest of the inventory is still to come.
56
@@ -149,6 +150,12 @@
149150 ~ ~
150151 [~ value] [value ~]
151152
153+++ bond |= fallback=$-(~ A)
154+ |= maybe=(unit A)
155+ ?- maybe
156+ ~ (fallback ~)
157+ [~ value] value
158+
152159++ bind |= args=[(unit A) $-(A B)]
153160 ?- args
154161 [maybe f] ^- (unit B)
@@ -317,3 +324,5 @@
317324 [%who reply=$-(@p M)]
318325
319326++ 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 @@
10102:1 glyph +$
11112:4 name poke
12122:9 wing poke.internal
13−6:1 NEWLINE
14−6:1 glyph ++
15−6:4 name same
16−6:9 glyph |=
17−6:12 name x
18−6:13 tight glyph =
19−6:14 tight tvar A
20−6:16 name x
21−8:1 NEWLINE
22−8:1 glyph ++
23−8:4 name head
24−8:9 glyph |=
25−8:12 name p
26−8:13 tight glyph =
27−8:14 tight glyph [
28−8:15 tight tvar A
29−8:17 tvar B
30−8:18 tight glyph ]
31−9:3 INDENT
32−9:3 glyph ?-
33−9:6 name p
34−10:5 INDENT
35−10:5 glyph [
36−10:6 tight name a
37−10:8 name b
38−10:9 tight glyph ]
39−10:11 name a
40−12:1 DEDENT
41−12:1 DEDENT
42−12:1 NEWLINE
43−12:1 glyph ++
44−12:4 name tail
45−12:9 glyph |=
46−12:12 name p
47−12:13 tight glyph =
48−12:14 tight glyph [
49−12:15 tight tvar A
50−12:17 tvar B
51−12:18 tight glyph ]
52−13:3 INDENT
53−13:3 glyph ?-
54−13:6 name p
55−14:5 INDENT
56−14:5 glyph [
57−14:6 tight name a
58−14:8 name b
59−14:9 tight glyph ]
60−14:11 name b
61−16:1 DEDENT
62−16:1 DEDENT
63−16:1 NEWLINE
64−16:1 glyph ++
65−16:4 name not
66−16:8 glyph |=
67−16:11 name b
68−16:12 tight glyph =
69−16:13 tight glyph ?
70−17:3 INDENT
71−17:3 glyph ?-
72−17:6 name b
73−18:5 INDENT
74−18:5 lit %.y
75−18:9 lit %.n
76−19:5 NEWLINE
77−19:5 lit %.n
78−19:9 lit %.y
79−21:1 DEDENT
80−21:1 DEDENT
81−21:1 NEWLINE
82−21:1 glyph +$
83−21:4 name list
84−21:9 glyph |$
85−21:12 glyph [
86−21:13 tight tvar A
87−21:14 tight glyph ]
88−22:3 INDENT
89−22:3 lit ~
90−23:3 NEWLINE
91−23:3 glyph [
92−23:4 tight name i
93−23:5 tight glyph =
94−23:6 tight tvar A
95−23:8 name t
96−23:9 tight glyph =
97−23:10 tight glyph (
98−23:11 tight name list
99−23:16 tvar A
100−23:17 tight glyph )
101−23:18 tight glyph ]
102−25:1 DEDENT
103−25:1 NEWLINE
104−25:1 glyph +$
105−25:4 name unit
106−25:9 glyph |$
107−25:12 glyph [
108−25:13 tight tvar A
109−25:14 tight glyph ]
110−26:3 INDENT
111−26:3 lit ~
112−27:3 NEWLINE
113−27:3 glyph [
114−27:4 tight lit ~
115−27:6 name u
116−27:7 tight glyph =
117−27:8 tight tvar A
118−27:9 tight glyph ]
119−29:1 DEDENT
120−29:1 NEWLINE
121−29:1 glyph ++
122−29:4 name fall
123−29:9 glyph |=
124−29:12 name args
125−29:16 tight glyph =
126−29:17 tight glyph [
127−29:18 tight glyph (
128−29:19 tight name unit
129−29:24 tvar A
130−29:25 tight glyph )
131−29:27 tvar A
132−29:28 tight glyph ]
133−30:3 INDENT
134−30:3 glyph ?-
135−30:6 name args
136−31:5 INDENT
137−31:5 glyph [
138−31:6 tight name maybe
139−31:12 name fallback
140−31:20 tight glyph ]
141−32:7 INDENT
142−32:7 glyph ?-
143−32:10 name maybe
144−33:9 INDENT
145−33:9 lit ~
146−33:11 name fallback
147−34:9 NEWLINE
148−34:9 glyph [
149−34:10 tight lit ~
150−34:12 name value
151−34:17 tight glyph ]
152−34:19 name value
153−36:1 DEDENT
154−36:1 DEDENT
155−36:1 DEDENT
156−36:1 DEDENT
157−36:1 NEWLINE
158−36:1 glyph ++
159−36:4 name need
160−36:9 glyph |=
161−36:12 name maybe
162−36:17 tight glyph =
163−36:18 tight glyph (
164−36:19 tight name unit
165−36:24 tvar A
166−36:25 tight glyph )
167−37:3 INDENT
168−37:3 glyph ?-
169−37:6 name maybe
170−38:5 INDENT
171−38:5 lit ~
172−38:7 glyph !!
173−39:5 NEWLINE
174−39:5 glyph [
175−39:6 tight lit ~
176−39:8 name value
177−39:13 tight glyph ]
178−39:15 name value
179−41:1 DEDENT
180−41:1 DEDENT
181−41:1 NEWLINE
182−41:1 glyph ++
183−41:4 name weld
184−41:9 glyph |=
185−41:12 name args
186−41:16 tight glyph =
187−41:17 tight glyph [
188−41:18 tight glyph (
189−41:19 tight name list
190−41:24 tvar A
191−41:25 tight glyph )
192−41:27 glyph (
193−41:28 tight name list
194−41:33 tvar A
195−41:34 tight glyph )
196−41:35 tight glyph ]
197−42:3 INDENT
198−42:3 glyph ?-
199−42:6 name args
200−43:5 INDENT
201−43:5 glyph [
202−43:6 tight name xs
203−43:9 name ys
204−43:11 tight glyph ]
205−44:7 INDENT
206−44:7 glyph ^-
207−44:10 glyph (
208−44:11 tight name list
209−44:16 tvar A
210−44:17 tight glyph )
211−45:9 INDENT
212−45:9 glyph ?-
213−45:12 name xs
214−46:11 INDENT
215−46:11 lit ~
216−46:13 name ys
217−47:11 NEWLINE
218−47:11 glyph [
219−47:12 tight name item
220−47:17 name rest
221−47:21 tight glyph ]
222−47:23 glyph [
223−47:24 tight name item
224−47:29 glyph (
225−47:30 tight name weld
226−47:35 name rest
227−47:40 name ys
228−47:42 tight glyph )
229−47:43 tight glyph ]
230−49:1 DEDENT
231−49:1 DEDENT
232−49:1 DEDENT
233−49:1 DEDENT
234−49:1 DEDENT
235−49:1 NEWLINE
236−49:1 glyph ++
237−49:4 name turn
238−49:9 glyph |=
239−49:12 name args
240−49:16 tight glyph =
241−49:17 tight glyph [
242−49:18 tight glyph (
243−49:19 tight name list
244−49:24 tvar A
245−49:25 tight glyph )
246−49:27 glyph $-(
247−49:30 tight tvar A
248−49:32 tvar B
249−49:33 tight glyph )
250−49:34 tight glyph ]
251−50:3 INDENT
252−50:3 glyph ?-
253−50:6 name args
254−51:5 INDENT
255−51:5 glyph [
256−51:6 tight name xs
257−51:9 name f
258−51:10 tight glyph ]
259−52:7 INDENT
260−52:7 glyph ^-
261−52:10 glyph (
262−52:11 tight name list
263−52:16 tvar B
264−52:17 tight glyph )
265−53:9 INDENT
266−53:9 glyph ?-
267−53:12 name xs
268−54:11 INDENT
269−54:11 lit ~
270−54:13 lit ~
271−55:11 NEWLINE
272−55:11 glyph [
273−55:12 tight name item
274−55:17 name rest
275−55:21 tight glyph ]
276−55:23 glyph [
277−55:24 tight glyph (
278−55:25 tight name f
279−55:27 name item
280−55:31 tight glyph )
281−55:33 glyph (
282−55:34 tight name turn
283−55:39 name rest
284−55:44 name f
285−55:45 tight glyph )
286−55:46 tight glyph ]
287−57:1 DEDENT
288−57:1 DEDENT
289−57:1 DEDENT
290−57:1 DEDENT
291−57:1 DEDENT
292−57:1 NEWLINE
293−57:1 glyph +$
294−57:4 name dime
295−57:9 glyph [
296−57:10 tight name p
297−57:11 tight glyph =
298−57:12 tight aura @ta
299−57:16 name q
300−57:17 tight glyph =
301−57:18 tight aura @
302−57:19 tight glyph ]
303−59:1 NEWLINE
304−59:1 glyph +$
305−59:4 name hair
306−59:9 glyph [
307−59:10 tight name p
308−59:11 tight glyph =
309−59:12 tight aura @ud
310−59:16 name q
311−59:17 tight glyph =
312−59:18 tight aura @ud
313−59:21 tight glyph ]
314−61:1 NEWLINE
315−61:1 glyph +$
316−61:4 name pint
317−61:9 glyph [
318−61:10 tight name p
319−61:11 tight glyph =
320−61:12 tight glyph [
321−61:13 tight name p
322−61:14 tight glyph =
323−61:15 tight aura @
324−61:17 name q
325−61:18 tight glyph =
326−61:19 tight aura @
327−61:20 tight glyph ]
328−61:22 name q
329−61:23 tight glyph =
330−61:24 tight glyph [
331−61:25 tight name p
332−61:26 tight glyph =
333−61:27 tight aura @
334−61:29 name q
335−61:30 tight glyph =
336−61:31 tight aura @
337−61:32 tight glyph ]
338−61:33 tight glyph ]
339−63:1 NEWLINE
340−63:1 glyph +$
341−63:4 name coin
342−64: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
13+3:1 NEWLINE
14+3:1 glyph +$
15+3:4 name qath
16+3:9 wing qath.internal
17+7:1 NEWLINE
18+7:1 glyph ++
19+7:4 name same
20+7:9 glyph |=
21+7:12 name x
22+7:13 tight glyph =
23+7:14 tight tvar A
24+7:16 name x
25+9:1 NEWLINE
26+9:1 glyph ++
27+9:4 name head
28+9:9 glyph |=
29+9:12 name p
30+9:13 tight glyph =
31+9:14 tight glyph [
32+9:15 tight tvar A
33+9:17 tvar B
34+9:18 tight glyph ]
35+10:3 INDENT
36+10:3 glyph ?-
37+10:6 name p
38+11:5 INDENT
39+11:5 glyph [
40+11:6 tight name a
41+11:8 name b
42+11:9 tight glyph ]
43+11:11 name a
44+13:1 DEDENT
45+13:1 DEDENT
46+13:1 NEWLINE
47+13:1 glyph ++
48+13:4 name tail
49+13:9 glyph |=
50+13:12 name p
51+13:13 tight glyph =
52+13:14 tight glyph [
53+13:15 tight tvar A
54+13:17 tvar B
55+13:18 tight glyph ]
56+14:3 INDENT
57+14:3 glyph ?-
58+14:6 name p
59+15:5 INDENT
60+15:5 glyph [
61+15:6 tight name a
62+15:8 name b
63+15:9 tight glyph ]
64+15:11 name b
65+17:1 DEDENT
66+17:1 DEDENT
67+17:1 NEWLINE
68+17:1 glyph ++
69+17:4 name not
70+17:8 glyph |=
71+17:11 name b
72+17:12 tight glyph =
73+17:13 tight glyph ?
74+18:3 INDENT
75+18:3 glyph ?-
76+18:6 name b
77+19:5 INDENT
78+19:5 lit %.y
79+19:9 lit %.n
80+20:5 NEWLINE
81+20:5 lit %.n
82+20:9 lit %.y
83+22:1 DEDENT
84+22:1 DEDENT
85+22:1 NEWLINE
86+22:1 glyph +$
87+22:4 name list
88+22:9 glyph |$
89+22:12 glyph [
90+22:13 tight tvar A
91+22:14 tight glyph ]
92+23:3 INDENT
93+23:3 lit ~
94+24:3 NEWLINE
95+24:3 glyph [
96+24:4 tight name i
97+24:5 tight glyph =
98+24:6 tight tvar A
99+24:8 name t
100+24:9 tight glyph =
101+24:10 tight glyph (
102+24:11 tight name list
103+24:16 tvar A
104+24:17 tight glyph )
105+24:18 tight glyph ]
106+26:1 DEDENT
107+26:1 NEWLINE
108+26:1 glyph +$
109+26:4 name unit
110+26:9 glyph |$
111+26:12 glyph [
112+26:13 tight tvar A
113+26:14 tight glyph ]
114+27:3 INDENT
115+27:3 lit ~
116+28:3 NEWLINE
117+28:3 glyph [
118+28:4 tight lit ~
119+28:6 name u
120+28:7 tight glyph =
121+28:8 tight tvar A
122+28:9 tight glyph ]
123+30:1 DEDENT
124+30:1 NEWLINE
125+30:1 glyph ++
126+30:4 name fall
127+30:9 glyph |=
128+30:12 name args
129+30:16 tight glyph =
130+30:17 tight glyph [
131+30:18 tight glyph (
132+30:19 tight name unit
133+30:24 tvar A
134+30:25 tight glyph )
135+30:27 tvar A
136+30:28 tight glyph ]
137+31:3 INDENT
138+31:3 glyph ?-
139+31:6 name args
140+32:5 INDENT
141+32:5 glyph [
142+32:6 tight name maybe
143+32:12 name fallback
144+32:20 tight glyph ]
145+33:7 INDENT
146+33:7 glyph ?-
147+33:10 name maybe
148+34:9 INDENT
149+34:9 lit ~
150+34:11 name fallback
151+35:9 NEWLINE
152+35:9 glyph [
153+35:10 tight lit ~
154+35:12 name value
155+35:17 tight glyph ]
156+35:19 name value
157+37:1 DEDENT
158+37:1 DEDENT
159+37:1 DEDENT
160+37:1 DEDENT
161+37:1 NEWLINE
162+37:1 glyph ++
163+37:4 name need
164+37:9 glyph |=
165+37:12 name maybe
166+37:17 tight glyph =
167+37:18 tight glyph (
168+37:19 tight name unit
169+37:24 tvar A
170+37:25 tight glyph )
171+38:3 INDENT
172+38:3 glyph ?-
173+38:6 name maybe
174+39:5 INDENT
175+39:5 lit ~
176+39:7 glyph !!
177+40:5 NEWLINE
178+40:5 glyph [
179+40:6 tight lit ~
180+40:8 name value
181+40:13 tight glyph ]
182+40:15 name value
183+42:1 DEDENT
184+42:1 DEDENT
185+42:1 NEWLINE
186+42:1 glyph ++
187+42:4 name weld
188+42:9 glyph |=
189+42:12 name args
190+42:16 tight glyph =
191+42:17 tight glyph [
192+42:18 tight glyph (
193+42:19 tight name list
194+42:24 tvar A
195+42:25 tight glyph )
196+42:27 glyph (
197+42:28 tight name list
198+42:33 tvar A
199+42:34 tight glyph )
200+42:35 tight glyph ]
201+43:3 INDENT
202+43:3 glyph ?-
203+43:6 name args
204+44:5 INDENT
205+44:5 glyph [
206+44:6 tight name xs
207+44:9 name ys
208+44:11 tight glyph ]
209+45:7 INDENT
210+45:7 glyph ^-
211+45:10 glyph (
212+45:11 tight name list
213+45:16 tvar A
214+45:17 tight glyph )
215+46:9 INDENT
216+46:9 glyph ?-
217+46:12 name xs
218+47:11 INDENT
219+47:11 lit ~
220+47:13 name ys
221+48:11 NEWLINE
222+48:11 glyph [
223+48:12 tight name item
224+48:17 name rest
225+48:21 tight glyph ]
226+48:23 glyph [
227+48:24 tight name item
228+48:29 glyph (
229+48:30 tight name weld
230+48:35 name rest
231+48:40 name ys
232+48:42 tight glyph )
233+48:43 tight glyph ]
234+50:1 DEDENT
235+50:1 DEDENT
236+50:1 DEDENT
237+50:1 DEDENT
238+50:1 DEDENT
239+50:1 NEWLINE
240+50:1 glyph ++
241+50:4 name turn
242+50:9 glyph |=
243+50:12 name args
244+50:16 tight glyph =
245+50:17 tight glyph [
246+50:18 tight glyph (
247+50:19 tight name list
248+50:24 tvar A
249+50:25 tight glyph )
250+50:27 glyph $-(
251+50:30 tight tvar A
252+50:32 tvar B
253+50:33 tight glyph )
254+50:34 tight glyph ]
255+51:3 INDENT
256+51:3 glyph ?-
257+51:6 name args
258+52:5 INDENT
259+52:5 glyph [
260+52:6 tight name xs
261+52:9 name f
262+52:10 tight glyph ]
263+53:7 INDENT
264+53:7 glyph ^-
265+53:10 glyph (
266+53:11 tight name list
267+53:16 tvar B
268+53:17 tight glyph )
269+54:9 INDENT
270+54:9 glyph ?-
271+54:12 name xs
272+55:11 INDENT
273+55:11 lit ~
274+55:13 lit ~
275+56:11 NEWLINE
276+56:11 glyph [
277+56:12 tight name item
278+56:17 name rest
279+56:21 tight glyph ]
280+56:23 glyph [
281+56:24 tight glyph (
282+56:25 tight name f
283+56:27 name item
284+56:31 tight glyph )
285+56:33 glyph (
286+56:34 tight name turn
287+56:39 name rest
288+56:44 name f
289+56:45 tight glyph )
290+56:46 tight glyph ]
291+58:1 DEDENT
292+58:1 DEDENT
293+58:1 DEDENT
294+58:1 DEDENT
295+58:1 DEDENT
296+58:1 NEWLINE
297+58:1 glyph +$
298+58:4 name dime
299+58:9 glyph [
300+58:10 tight name p
301+58:11 tight glyph =
302+58:12 tight aura @ta
303+58:16 name q
304+58:17 tight glyph =
305+58:18 tight aura @
306+58:19 tight glyph ]
307+60:1 NEWLINE
308+60:1 glyph +$
309+60:4 name hair
310+60:9 glyph [
311+60:10 tight name p
312+60:11 tight glyph =
313+60:12 tight aura @ud
314+60:16 name q
315+60:17 tight glyph =
316+60:18 tight aura @ud
317+60:21 tight glyph ]
318+62:1 NEWLINE
319+62:1 glyph +$
320+62:4 name pint
321+62:9 glyph [
322+62:10 tight name p
323+62:11 tight glyph =
324+62:12 tight glyph [
325+62:13 tight name p
326+62:14 tight glyph =
327+62:15 tight aura @
328+62:17 name q
329+62:18 tight glyph =
330+62:19 tight aura @
331+62:20 tight glyph ]
332+62:22 name q
333+62:23 tight glyph =
334+62:24 tight glyph [
335+62:25 tight name p
336+62:26 tight glyph =
337+62:27 tight aura @
338+62:29 name q
339+62:30 tight glyph =
340+62:31 tight aura @
341+62:32 tight glyph ]
342+62:33 tight glyph ]
343+64:1 NEWLINE
344+64:1 glyph +$
345+64:4 name coin
346+65:3 INDENT
35034765:3 glyph [
351−65:4 tight lit %blob
352−65:10 name p
353−65:11 tight glyph =
354−65:12 tight glyph *
348+65:4 tight lit %$
349+65:7 name p
350+65:8 tight glyph =
351+65:9 tight name dime
35535265:13 tight glyph ]
35635366:3 NEWLINE
35735466:3 glyph [
358−66:4 tight lit %many
355+66:4 tight lit %blob
35935666:10 name p
36035766:11 tight glyph =
361−66:12 tight glyph (
362−66:13 tight name list
363−66:18 name coin
364−66:22 tight glyph )
365−66:23 tight glyph ]
366−68:1 DEDENT
367−68:1 NEWLINE
368−68:1 glyph +$
369−68:4 name pair
370−68:9 glyph |$
371−68:12 glyph [
372−68:13 tight tvar A
373−68:15 tvar B
374−68:16 tight glyph ]
375−68:18 glyph [
376−68:19 tight name p
377−68:20 tight glyph =
378−68:21 tight tvar A
379−68:23 name q
380−68:24 tight glyph =
381−68:25 tight tvar B
382−68:26 tight glyph ]
383−70:1 NEWLINE
384−70:1 glyph +$
385−70:4 name trel
386−70:9 glyph |$
387−70:12 glyph [
388−70:13 tight tvar A
389−70:15 tvar B
390−70:17 tvar C
391−70:18 tight glyph ]
392−70:20 glyph [
393−70:21 tight name p
394−70:22 tight glyph =
395−70:23 tight tvar A
396−70:25 name q
397−70:26 tight glyph =
398−70:27 tight tvar B
399−70:29 name r
400−70:30 tight glyph =
401−70:31 tight tvar C
402−70:32 tight glyph ]
403−72:1 NEWLINE
404−72:1 glyph +$
405−72:4 name qual
406−72:9 glyph |$
407−72:12 glyph [
408−72:13 tight tvar A
409−72:15 tvar B
410−72:17 tvar C
411−72:19 tvar D
412−72:20 tight glyph ]
413−72:22 glyph [
414−72:23 tight name p
415−72:24 tight glyph =
416−72:25 tight tvar A
417−72:27 name q
418−72:28 tight glyph =
419−72:29 tight tvar B
420−72:31 name r
421−72:32 tight glyph =
422−72:33 tight tvar C
423−72:35 name s
424−72:36 tight glyph =
425−72:37 tight tvar D
426−72:38 tight glyph ]
427−74:1 NEWLINE
428−74:1 glyph +$
429−74:4 name cord
430−74:9 aura @t
431−76:1 NEWLINE
432−76:1 glyph +$
433−76:4 name knot
434−76:9 aura @ta
435−78:1 NEWLINE
436−78:1 glyph +$
437−78:4 name tape
438−78:9 glyph (
439−78:10 tight name list
440−78:15 aura @tD
441−78:18 tight glyph )
442−80:1 NEWLINE
443−80:1 glyph +$
444−80:4 name path
445−80:9 glyph (
446−80:10 tight name list
447−80:15 name knot
448−80:19 tight glyph )
449−82:1 NEWLINE
450−82:1 glyph +$
451−82:4 name tank
452−83: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
458−84:11 tight glyph =
459−84:12 tight name tape
460−84:16 tight glyph ]
358+66:12 tight glyph *
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
367+67:18 name coin
368+67:22 tight glyph )
369+67:23 tight glyph ]
370+69:1 DEDENT
371+69:1 NEWLINE
372+69:1 glyph +$
373+69:4 name pair
374+69:9 glyph |$
375+69:12 glyph [
376+69:13 tight tvar A
377+69:15 tvar B
378+69:16 tight glyph ]
379+69:18 glyph [
380+69:19 tight name p
381+69:20 tight glyph =
382+69:21 tight tvar A
383+69:23 name q
384+69:24 tight glyph =
385+69:25 tight tvar B
386+69:26 tight glyph ]
387+71:1 NEWLINE
388+71:1 glyph +$
389+71:4 name trel
390+71:9 glyph |$
391+71:12 glyph [
392+71:13 tight tvar A
393+71:15 tvar B
394+71:17 tvar C
395+71:18 tight glyph ]
396+71:20 glyph [
397+71:21 tight name p
398+71:22 tight glyph =
399+71:23 tight tvar A
400+71:25 name q
401+71:26 tight glyph =
402+71:27 tight tvar B
403+71:29 name r
404+71:30 tight glyph =
405+71:31 tight tvar C
406+71:32 tight glyph ]
407+73:1 NEWLINE
408+73:1 glyph +$
409+73:4 name qual
410+73:9 glyph |$
411+73:12 glyph [
412+73:13 tight tvar A
413+73:15 tvar B
414+73:17 tvar C
415+73:19 tvar D
416+73:20 tight glyph ]
417+73:22 glyph [
418+73:23 tight name p
419+73:24 tight glyph =
420+73:25 tight tvar A
421+73:27 name q
422+73:28 tight glyph =
423+73:29 tight tvar B
424+73:31 name r
425+73:32 tight glyph =
426+73:33 tight tvar C
427+73:35 name s
428+73:36 tight glyph =
429+73:37 tight tvar D
430+73:38 tight glyph ]
431+75:1 NEWLINE
432+75:1 glyph +$
433+75:4 name cord
434+75:9 aura @t
435+77:1 NEWLINE
436+77:1 glyph +$
437+77:4 name knot
438+77:9 aura @ta
439+79:1 NEWLINE
440+79:1 glyph +$
441+79:4 name tape
442+79:9 glyph (
443+79:10 tight name list
444+79:15 aura @tD
445+79:18 tight glyph )
446+81:1 NEWLINE
447+81:1 glyph +$
448+81:4 name path
449+81:9 glyph (
450+81:10 tight name list
451+81:15 name knot
452+81:19 tight glyph )
453+83:1 NEWLINE
454+83:1 glyph +$
455+83:4 name tank
456+84:3 INDENT
457+84:3 name cord
46145885:3 NEWLINE
46245985:3 glyph [
463−85:4 tight lit %palm
460+85:4 tight lit %leaf
46446185:10 name p
46546285:11 tight glyph =
466−85:12 tight glyph (
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 ]
463+85:12 tight name tape
464+85:16 tight glyph ]
48046586:3 NEWLINE
48146686:3 glyph [
482−86:4 tight lit %rose
467+86:4 tight lit %palm
48346886:10 name p
48446986:11 tight glyph =
48547086:12 tight glyph (
486−86:13 tight name trel
471+86:13 tight name qual
48747286:18 name tape
48847386:23 name tape
48947486:28 name tape
490−86:32 tight glyph )
491−86:34 name q
492−86:35 tight glyph =
493−86:36 tight glyph (
494−86:37 tight name list
495−86:42 name tank
496−86:46 tight glyph )
497−86:47 tight glyph ]
498−88:1 DEDENT
499−88:1 NEWLINE
500−88:1 glyph +$
501−88:4 name nail
502−88:9 glyph [
503−88:10 tight name p
504−88:11 tight glyph =
505−88:12 tight name hair
506−88:17 name q
507−88:18 tight glyph =
508−88:19 tight name tape
509−88:23 tight glyph ]
510−90:1 NEWLINE
511−90:1 glyph +$
512−90:4 name edge
513−90:9 glyph [
514−90:10 tight name p
515−90:11 tight glyph =
516−90:12 tight name hair
517−90:17 name q
518−90:18 tight glyph =
519−90:19 tight glyph (
520−90:20 tight name unit
521−90:25 glyph [
522−90:26 tight name p
523−90:27 tight glyph =
524−90:28 tight glyph *
525−90:30 name q
526−90:31 tight glyph =
527−90:32 tight name nail
528−90:36 tight glyph ]
529−90:37 tight glyph )
530−90:38 tight glyph ]
531−92:1 NEWLINE
532−92:1 glyph +$
533−92:4 name rule
534−92:9 glyph $-(
535−92:12 tight name nail
536−92:17 name edge
537−92:21 tight glyph )
538−94:1 NEWLINE
539−94:1 glyph +$
540−94:4 name spot
541−94:9 glyph [
542−94:10 tight name p
543−94:11 tight glyph =
544−94:12 tight name path
545−94:17 name q
546−94:18 tight glyph =
547−94:19 tight name pint
548−94:23 tight glyph ]
549−96:1 NEWLINE
550−96:1 glyph +$
551−96:4 name toon
552−97: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
475+86:33 name tape
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 )
495+87:34 name q
496+87:35 tight glyph =
497+87:36 tight glyph (
498+87:37 tight name list
499+87:42 name tank
500+87:46 tight glyph )
501+87:47 tight glyph ]
502+89:1 DEDENT
503+89:1 NEWLINE
504+89:1 glyph +$
505+89:4 name nail
506+89:9 glyph [
507+89:10 tight name p
508+89:11 tight glyph =
509+89:12 tight name hair
510+89:17 name q
511+89:18 tight glyph =
512+89:19 tight name tape
513+89:23 tight glyph ]
514+91:1 NEWLINE
515+91:1 glyph +$
516+91:4 name edge
517+91:9 glyph [
518+91:10 tight name p
519+91:11 tight glyph =
520+91:12 tight name hair
521+91:17 name q
522+91:18 tight glyph =
523+91:19 tight glyph (
524+91:20 tight name unit
525+91:25 glyph [
526+91:26 tight name p
527+91:27 tight glyph =
528+91:28 tight glyph *
529+91:30 name q
530+91:31 tight glyph =
531+91:32 tight name nail
532+91:36 tight glyph ]
533+91:37 tight glyph )
534+91:38 tight glyph ]
535+93:1 NEWLINE
536+93:1 glyph +$
537+93:4 name rule
538+93:9 glyph $-(
539+93:12 tight name nail
540+93:17 name edge
541+93:21 tight glyph )
542+95:1 NEWLINE
543+95:1 glyph +$
544+95:4 name spot
545+95:9 glyph [
546+95:10 tight name p
547+95:11 tight glyph =
548+95:12 tight name path
549+95:17 name q
550+95:18 tight glyph =
551+95:19 tight name pint
552+95:23 tight glyph ]
553+97:1 NEWLINE
554+97:1 glyph +$
555+97:4 name toon
556+98:3 INDENT
56055798:3 glyph [
561−98:4 tight lit %1
558+98:4 tight lit %0
56255998:7 name p
56356098:8 tight glyph =
56456198:9 tight glyph *
56556298:10 tight glyph ]
56656399:3 NEWLINE
56756499:3 glyph [
568−99:4 tight lit %2
565+99:4 tight lit %1
56956699:7 name p
57056799:8 tight glyph =
571−99:9 tight glyph (
572−99:10 tight name list
573−99:15 name tank
574−99:19 tight glyph )
575−99:20 tight glyph ]
576−101:1 DEDENT
577−101:1 NEWLINE
578−101:1 glyph +$
579−101:4 name like
580−101:9 glyph |$
581−101:12 glyph [
582−101:13 tight tvar A
583−101:14 tight glyph ]
584−101:16 glyph [
585−101:17 tight name p
586−101:18 tight glyph =
587−101:19 tight name hair
588−101:24 name q
589−101:25 tight glyph =
590−101:26 tight glyph (
591−101:27 tight name unit
592−101:32 glyph [
593−101:33 tight name p
594−101:34 tight glyph =
595−101:35 tight tvar A
596−101:37 name q
597−101:38 tight glyph =
598−101:39 tight name nail
599−101:43 tight glyph ]
600−101:44 tight glyph )
601−101:45 tight glyph ]
602−103:1 NEWLINE
603−103:1 glyph ++
604−103:4 name wonk
605−103:9 glyph |=
606−103:12 name veq
607−103:15 tight glyph =
608−103:16 tight glyph (
609−103:17 tight name like
610−103:22 tvar A
611−103:23 tight glyph )
612−104:3 INDENT
613−104:3 glyph ?-
614−104:6 wing q.veq
615−105:5 INDENT
616−105:5 lit ~
617−105:7 glyph !!
618−106:5 NEWLINE
619−106:5 glyph [
620−106:6 tight lit ~
621−106:8 name product
622−106:15 tight glyph ]
623−106:17 wing p.product
624−108:1 DEDENT
625−108:1 DEDENT
626−108:1 NEWLINE
627−108:1 glyph +$
628−108:4 name lone
629−108:9 glyph |$
630−108:12 glyph [
631−108:13 tight tvar A
632−108:14 tight glyph ]
633−108:16 glyph [
634−108:17 tight name p
635−108:18 tight glyph =
636−108:19 tight tvar A
637−108:20 tight glyph ]
638−110:1 NEWLINE
639−110:1 glyph +$
640−110:4 name lest
641−110:9 glyph |$
642−110:12 glyph [
643−110:13 tight tvar A
644−110:14 tight glyph ]
645−110:16 glyph [
646−110:17 tight name i
647−110:18 tight glyph =
648−110:19 tight tvar A
649−110:21 name t
650−110:22 tight glyph =
651−110:23 tight glyph (
652−110:24 tight name list
653−110:29 tvar A
654−110:30 tight glyph )
655−110:31 tight glyph ]
656−112:1 NEWLINE
657−112:1 glyph +$
658−112:4 name pole
659−112:9 glyph |$
660−112:12 glyph [
661−112:13 tight tvar A
662−112:14 tight glyph ]
663−113:3 INDENT
664−113:3 lit ~
665−114:3 NEWLINE
666−114:3 glyph [
667−114:4 tight tvar A
668−114:6 glyph (
669−114:7 tight name pole
670−114:12 tvar A
671−114:13 tight glyph )
672−114:14 tight glyph ]
673−116:1 DEDENT
674−116:1 NEWLINE
675−116:1 glyph +$
676−116:4 name quip
677−116:9 glyph |$
678−116:12 glyph [
679−116:13 tight tvar A
680−116:15 tvar B
681−116:16 tight glyph ]
682−116:18 glyph [
683−116:19 tight glyph (
684−116:20 tight name list
685−116:25 tvar A
686−116:26 tight glyph )
687−116:28 tvar B
688−116:29 tight glyph ]
689−118:1 NEWLINE
690−118:1 glyph +$
691−118:4 name tree
692−118:9 glyph |$
693−118:12 glyph [
694−118:13 tight tvar A
695−118:14 tight glyph ]
696−119:3 INDENT
697−119:3 lit ~
698−120:3 NEWLINE
699−120:3 glyph [
700−120:4 tight name n
701−120:5 tight glyph =
702−120:6 tight tvar A
703−120:8 name l
704−120:9 tight glyph =
705−120:10 tight glyph (
706−120:11 tight name tree
707−120:16 tvar A
708−120:17 tight glyph )
709−120:19 name r
710−120:20 tight glyph =
711−120:21 tight glyph (
712−120:22 tight name tree
713−120:27 tvar A
714−120:28 tight glyph )
715−120:29 tight glyph ]
716−122:1 DEDENT
717−122:1 NEWLINE
718−122:1 glyph +$
719−122:4 name each
720−122:9 glyph |$
721−122:12 glyph [
722−122:13 tight tvar A
723−122: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 ]
732−124:3 NEWLINE
568+99:9 tight glyph *
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
577+100:15 name tank
578+100:19 tight glyph )
579+100:20 tight glyph ]
580+102:1 DEDENT
581+102:1 NEWLINE
582+102:1 glyph +$
583+102:4 name like
584+102:9 glyph |$
585+102:12 glyph [
586+102:13 tight tvar A
587+102:14 tight glyph ]
588+102:16 glyph [
589+102:17 tight name p
590+102:18 tight glyph =
591+102:19 tight name hair
592+102:24 name q
593+102:25 tight glyph =
594+102:26 tight glyph (
595+102:27 tight name unit
596+102:32 glyph [
597+102:33 tight name p
598+102:34 tight glyph =
599+102:35 tight tvar A
600+102:37 name q
601+102:38 tight glyph =
602+102:39 tight name nail
603+102:43 tight glyph ]
604+102:44 tight glyph )
605+102:45 tight glyph ]
606+104:1 NEWLINE
607+104:1 glyph ++
608+104:4 name wonk
609+104:9 glyph |=
610+104:12 name veq
611+104:15 tight glyph =
612+104:16 tight glyph (
613+104:17 tight name like
614+104:22 tvar A
615+104:23 tight glyph )
616+105:3 INDENT
617+105:3 glyph ?-
618+105:6 wing q.veq
619+106:5 INDENT
620+106:5 lit ~
621+106:7 glyph !!
622+107:5 NEWLINE
623+107:5 glyph [
624+107:6 tight lit ~
625+107:8 name product
626+107:15 tight glyph ]
627+107:17 wing p.product
628+109:1 DEDENT
629+109:1 DEDENT
630+109:1 NEWLINE
631+109:1 glyph +$
632+109:4 name lone
633+109:9 glyph |$
634+109:12 glyph [
635+109:13 tight tvar A
636+109:14 tight glyph ]
637+109:16 glyph [
638+109:17 tight name p
639+109:18 tight glyph =
640+109:19 tight tvar A
641+109:20 tight glyph ]
642+111:1 NEWLINE
643+111:1 glyph +$
644+111:4 name lest
645+111:9 glyph |$
646+111:12 glyph [
647+111:13 tight tvar A
648+111:14 tight glyph ]
649+111:16 glyph [
650+111:17 tight name i
651+111:18 tight glyph =
652+111:19 tight tvar A
653+111:21 name t
654+111:22 tight glyph =
655+111:23 tight glyph (
656+111:24 tight name list
657+111:29 tvar A
658+111:30 tight glyph )
659+111:31 tight glyph ]
660+113:1 NEWLINE
661+113:1 glyph +$
662+113:4 name pole
663+113:9 glyph |$
664+113:12 glyph [
665+113:13 tight tvar A
666+113:14 tight glyph ]
667+114:3 INDENT
668+114:3 lit ~
669+115:3 NEWLINE
670+115:3 glyph [
671+115:4 tight tvar A
672+115:6 glyph (
673+115:7 tight name pole
674+115:12 tvar A
675+115:13 tight glyph )
676+115:14 tight glyph ]
677+117:1 DEDENT
678+117:1 NEWLINE
679+117:1 glyph +$
680+117:4 name quip
681+117:9 glyph |$
682+117:12 glyph [
683+117:13 tight tvar A
684+117:15 tvar B
685+117:16 tight glyph ]
686+117:18 glyph [
687+117:19 tight glyph (
688+117:20 tight name list
689+117:25 tvar A
690+117:26 tight glyph )
691+117:28 tvar B
692+117:29 tight glyph ]
693+119:1 NEWLINE
694+119:1 glyph +$
695+119:4 name tree
696+119:9 glyph |$
697+119:12 glyph [
698+119:13 tight tvar A
699+119:14 tight glyph ]
700+120:3 INDENT
701+120:3 lit ~
702+121:3 NEWLINE
703+121:3 glyph [
704+121:4 tight name n
705+121:5 tight glyph =
706+121:6 tight tvar A
707+121:8 name l
708+121:9 tight glyph =
709+121:10 tight glyph (
710+121:11 tight name tree
711+121:16 tvar A
712+121:17 tight glyph )
713+121:19 name r
714+121:20 tight glyph =
715+121:21 tight glyph (
716+121:22 tight name tree
717+121:27 tvar A
718+121:28 tight glyph )
719+121:29 tight glyph ]
720+123:1 DEDENT
721+123:1 NEWLINE
722+123:1 glyph +$
723+123:4 name each
724+123:9 glyph |$
725+123:12 glyph [
726+123:13 tight tvar A
727+123:15 tvar B
728+123:16 tight glyph ]
729+124:3 INDENT
733730124:3 glyph [
734−124:4 tight lit %&
731+124:4 tight lit %|
735732124:7 name p
736733124:8 tight glyph =
737−124:9 tight tvar A
734+124:9 tight tvar B
738735124:10 tight glyph ]
739−126:1 DEDENT
740−126:1 NEWLINE
741−126:1 glyph +$
742−126:4 name bloq
743−126:9 aura @
744−128:1 NEWLINE
745−128:1 glyph ++
746−128:4 name some
747−128:9 glyph |=
748−128:12 name item
749−128:16 tight glyph =
750−128:17 tight tvar A
751−128:19 glyph `
752−128:20 tight name item
753−130:1 NEWLINE
754−130:1 glyph ++
755−130:4 name lure
756−130:9 glyph |=
757−130:12 name item
758−130:16 tight glyph =
759−130:17 tight tvar A
760−131:3 INDENT
761−131:3 glyph ^-
762−131:6 glyph (
763−131:7 tight name list
764−131:12 tvar A
765−131:13 tight glyph )
766−131:15 glyph [
767−131:16 tight name item
768−131:21 lit ~
769−131:22 tight glyph ]
770−133:1 DEDENT
771−133:1 NEWLINE
772−133:1 glyph ++
773−133:4 name snoc
774−133:9 glyph |=
775−133:12 name args
776−133:16 tight glyph =
777−133:17 tight glyph [
778−133:18 tight glyph (
779−133:19 tight name list
780−133:24 tvar A
781−133:25 tight glyph )
782−133:27 tvar A
783−133:28 tight glyph ]
784−134:3 INDENT
785−134:3 glyph ?-
786−134:6 name args
787−135:5 INDENT
788−135:5 glyph [
789−135:6 tight name xs
790−135:9 name item
791−135:13 tight glyph ]
792−135:15 glyph (
793−135:16 tight name weld
794−135:21 name xs
795−135:24 glyph [
796−135:25 tight name item
797−135:30 lit ~
798−135:31 tight glyph ]
799−135:32 tight glyph )
800−137:1 DEDENT
801−137:1 DEDENT
802−137:1 NEWLINE
803−137:1 glyph ++
804−137:4 name flop
805−137:9 glyph |=
806−137:12 name xs
807−137:14 tight glyph =
808−137:15 tight glyph (
809−137:16 tight name list
810−137:21 tvar A
811−137:22 tight glyph )
812−138:3 INDENT
813−138:3 glyph ++
814−138:6 name reverse-into
815−138:19 glyph |=
816−138:22 name args
817−138:26 tight glyph =
818−138:27 tight glyph [
819−138:28 tight glyph (
820−138:29 tight name list
821−138:34 tvar A
822−138:35 tight glyph )
823−138:37 glyph (
824−138:38 tight name list
825−138:43 tvar A
826−138:44 tight glyph )
827−138:45 tight glyph ]
828−139:5 INDENT
829−139:5 glyph ?-
830−139:8 name args
831−140:7 INDENT
832−140:7 glyph [
833−140:8 tight name rest
834−140:13 name acc
835−140:16 tight glyph ]
836−141:9 INDENT
837−141:9 glyph ?-
838−141:12 name rest
839−142:11 INDENT
840−142:11 lit ~
841−142:13 name acc
842−143:11 NEWLINE
843−143:11 glyph [
844−143:12 tight name item
845−143:17 name more
846−143:21 tight glyph ]
847−143:23 glyph (
848−143:24 tight name reverse-into
849−143:37 name more
850−143:42 glyph [
851−143:43 tight name item
852−143:48 name acc
853−143:51 tight glyph ]
854−143:52 tight glyph )
855−144:3 DEDENT
856−144:3 DEDENT
857−144:3 DEDENT
858−144:3 DEDENT
859−144:3 NEWLINE
860−144:3 glyph (
861−144:4 tight name reverse-into
862−144:17 name xs
863−144:20 lit ~
864−144:21 tight glyph )
865−146:1 DEDENT
866−146:1 NEWLINE
867−146:1 glyph ++
868−146:4 name drop
869−146:9 glyph |=
870−146:12 name maybe
871−146:17 tight glyph =
872−146:18 tight glyph (
873−146:19 tight name unit
874−146:24 tvar A
875−146:25 tight glyph )
876−147:3 INDENT
877−147:3 glyph ^-
878−147:6 glyph (
879−147:7 tight name list
880−147:12 tvar A
881−147:13 tight glyph )
882−148:5 INDENT
883−148:5 glyph ?-
884−148:8 name maybe
885−149:7 INDENT
886−149:7 lit ~
887−149:9 lit ~
888−150:7 NEWLINE
889−150:7 glyph [
890−150:8 tight lit ~
891−150:10 name value
892−150:15 tight glyph ]
893−150:17 glyph [
894−150:18 tight name value
895−150:24 lit ~
896−150:25 tight glyph ]
897−152:1 DEDENT
898−152:1 DEDENT
899−152:1 DEDENT
900−152:1 NEWLINE
901−152:1 glyph ++
902−152:4 name bind
903−152:9 glyph |=
904−152:12 name args
905−152:16 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 )
911−152:27 glyph $-(
912−152:30 tight tvar A
913−152:32 tvar B
914−152:33 tight glyph )
915−152:34 tight glyph ]
916−153:3 INDENT
917−153:3 glyph ?-
918−153:6 name args
919−154:5 INDENT
920−154:5 glyph [
921−154:6 tight name maybe
922−154:12 name f
923−154:13 tight glyph ]
924−154:15 glyph ^-
925−154:18 glyph (
926−154:19 tight name unit
927−154:24 tvar B
928−154:25 tight glyph )
929−155:7 INDENT
930−155:7 glyph ?-
931−155:10 name maybe
932−156:9 INDENT
933−156:9 lit ~
934−156:11 lit ~
935−157:9 NEWLINE
936−157:9 glyph [
937−157:10 tight lit ~
938−157:12 name value
939−157:17 tight glyph ]
940−157:19 glyph `
941−157:20 tight glyph (
942−157:21 tight name f
943−157:23 name value
944−157:28 tight glyph )
945−159:1 DEDENT
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 ]
743+127:1 DEDENT
744+127:1 NEWLINE
745+127:1 glyph +$
746+127:4 name bloq
747+127:9 aura @
748+129:1 NEWLINE
749+129:1 glyph ++
750+129:4 name some
751+129:9 glyph |=
752+129:12 name item
753+129:16 tight glyph =
754+129:17 tight tvar A
755+129:19 glyph `
756+129:20 tight name item
757+131:1 NEWLINE
758+131:1 glyph ++
759+131:4 name lure
760+131:9 glyph |=
761+131:12 name item
762+131:16 tight glyph =
763+131:17 tight tvar A
764+132:3 INDENT
765+132:3 glyph ^-
766+132:6 glyph (
767+132:7 tight name list
768+132:12 tvar A
769+132:13 tight glyph )
770+132:15 glyph [
771+132:16 tight name item
772+132:21 lit ~
773+132:22 tight glyph ]
774+134:1 DEDENT
775+134:1 NEWLINE
776+134:1 glyph ++
777+134:4 name snoc
778+134:9 glyph |=
779+134:12 name args
780+134:16 tight glyph =
781+134:17 tight glyph [
782+134:18 tight glyph (
783+134:19 tight name list
784+134:24 tvar A
785+134:25 tight glyph )
786+134:27 tvar A
787+134:28 tight glyph ]
788+135:3 INDENT
789+135:3 glyph ?-
790+135:6 name args
791+136:5 INDENT
792+136:5 glyph [
793+136:6 tight name xs
794+136:9 name item
795+136:13 tight glyph ]
796+136:15 glyph (
797+136:16 tight name weld
798+136:21 name xs
799+136:24 glyph [
800+136:25 tight name item
801+136:30 lit ~
802+136:31 tight glyph ]
803+136:32 tight glyph )
804+138:1 DEDENT
805+138:1 DEDENT
806+138:1 NEWLINE
807+138:1 glyph ++
808+138:4 name flop
809+138:9 glyph |=
810+138:12 name xs
811+138:14 tight glyph =
812+138:15 tight glyph (
813+138:16 tight name list
814+138:21 tvar A
815+138:22 tight glyph )
816+139:3 INDENT
817+139:3 glyph ++
818+139:6 name reverse-into
819+139:19 glyph |=
820+139:22 name args
821+139:26 tight glyph =
822+139:27 tight glyph [
823+139:28 tight glyph (
824+139:29 tight name list
825+139:34 tvar A
826+139:35 tight glyph )
827+139:37 glyph (
828+139:38 tight name list
829+139:43 tvar A
830+139:44 tight glyph )
831+139:45 tight glyph ]
832+140:5 INDENT
833+140:5 glyph ?-
834+140:8 name args
835+141:7 INDENT
836+141:7 glyph [
837+141:8 tight name rest
838+141:13 name acc
839+141:16 tight glyph ]
840+142:9 INDENT
841+142:9 glyph ?-
842+142:12 name rest
843+143:11 INDENT
844+143:11 lit ~
845+143:13 name acc
846+144:11 NEWLINE
847+144:11 glyph [
848+144:12 tight name item
849+144:17 name more
850+144:21 tight glyph ]
851+144:23 glyph (
852+144:24 tight name reverse-into
853+144:37 name more
854+144:42 glyph [
855+144:43 tight name item
856+144:48 name acc
857+144:51 tight glyph ]
858+144:52 tight glyph )
859+145:3 DEDENT
860+145:3 DEDENT
861+145:3 DEDENT
862+145:3 DEDENT
863+145:3 NEWLINE
864+145:3 glyph (
865+145:4 tight name reverse-into
866+145:17 name xs
867+145:20 lit ~
868+145:21 tight glyph )
869+147:1 DEDENT
870+147:1 NEWLINE
871+147:1 glyph ++
872+147:4 name drop
873+147:9 glyph |=
874+147:12 name maybe
875+147:17 tight glyph =
876+147:18 tight glyph (
877+147:19 tight name unit
878+147:24 tvar A
879+147:25 tight glyph )
880+148:3 INDENT
881+148:3 glyph ^-
882+148:6 glyph (
883+148:7 tight name list
884+148:12 tvar A
885+148:13 tight glyph )
886+149:5 INDENT
887+149:5 glyph ?-
888+149:8 name maybe
889+150:7 INDENT
890+150:7 lit ~
891+150:9 lit ~
892+151:7 NEWLINE
893+151:7 glyph [
894+151:8 tight lit ~
895+151:10 name value
896+151:15 tight glyph ]
897+151:17 glyph [
898+151:18 tight name value
899+151:24 lit ~
900+151:25 tight glyph ]
901+153:1 DEDENT
902+153:1 DEDENT
903+153:1 DEDENT
904+153:1 NEWLINE
905+153:1 glyph ++
906+153:4 name bond
907+153:9 glyph |=
908+153:12 name fallback
909+153:20 tight glyph =
910+153:21 tight glyph $-(
911+153:24 tight lit ~
912+153:26 tvar A
913+153:27 tight glyph )
914+154:3 INDENT
915+154:3 glyph |=
916+154:6 name maybe
917+154:11 tight glyph =
918+154:12 tight glyph (
919+154:13 tight name unit
920+154:18 tvar A
921+154:19 tight glyph )
922+155:5 INDENT
923+155:5 glyph ?-
924+155:8 name maybe
925+156:7 INDENT
926+156:7 lit ~
927+156:9 glyph (
928+156:10 tight name fallback
929+156:19 lit ~
930+156:20 tight glyph )
931+157:7 NEWLINE
932+157:7 glyph [
933+157:8 tight lit ~
934+157:10 name value
935+157:15 tight glyph ]
936+157:17 name value
946937159:1 DEDENT
947938159:1 DEDENT
948939159:1 DEDENT
949940159:1 NEWLINE
950941159:1 glyph ++
951−159:4 name biff
942+159:4 name bind
952943159:9 glyph |=
953944159:12 name args
954945159:16 tight glyph =
@@ -959,12 +950,9 @@
959950159:25 tight glyph )
960951159:27 glyph $-(
961952159:30 tight tvar A
962−159:32 glyph (
963−159:33 tight name unit
964−159:38 tvar B
965−159:39 tight glyph )
966−159:40 tight glyph )
967−159:41 tight glyph ]
953+159:32 tvar B
954+159:33 tight glyph )
955+159:34 tight glyph ]
968956160:3 INDENT
969957160:3 glyph ?-
970958160:6 name args
@@ -989,17 +977,18 @@
989977164:10 tight lit ~
990978164:12 name value
991979164:17 tight glyph ]
992−164:19 glyph (
993−164:20 tight name f
994−164:22 name value
995−164:27 tight glyph )
980+164:19 glyph `
981+164:20 tight glyph (
982+164:21 tight name f
983+164:23 name value
984+164:28 tight glyph )
996985166:1 DEDENT
997986166:1 DEDENT
998987166:1 DEDENT
999988166:1 DEDENT
1000989166:1 NEWLINE
1001990166:1 glyph ++
1002−166:4 name both
991+166:4 name biff
1003992166:9 glyph |=
1004993166:12 name args
1005994166:16 tight glyph =
@@ -1008,521 +997,518 @@
1008997166:19 tight name unit
1009998166:24 tvar A
1010999166:25 tight glyph )
1011−166:27 glyph (
1012−166:28 tight name unit
1013−166:33 tvar B
1014−166:34 tight glyph )
1015−166:35 tight glyph ]
1000+166:27 glyph $-(
1001+166:30 tight tvar A
1002+166:32 glyph (
1003+166:33 tight name unit
1004+166:38 tvar B
1005+166:39 tight glyph )
1006+166:40 tight glyph )
1007+166:41 tight glyph ]
10161008167:3 INDENT
10171009167:3 glyph ?-
10181010167:6 name args
10191011168:5 INDENT
10201012168:5 glyph [
1021−168:6 tight name first
1022−168:12 name second
1023−168:18 tight glyph ]
1024−168:20 glyph ^-
1025−168:23 glyph (
1026−168:24 tight name unit
1027−168:29 glyph [
1028−168:30 tight tvar A
1029−168:32 tvar B
1030−168:33 tight glyph ]
1031−168:34 tight glyph )
1013+168:6 tight name maybe
1014+168:12 name f
1015+168:13 tight glyph ]
1016+168:15 glyph ^-
1017+168:18 glyph (
1018+168:19 tight name unit
1019+168:24 tvar B
1020+168:25 tight glyph )
10321021169:7 INDENT
10331022169:7 glyph ?-
1034−169:10 name first
1023+169:10 name maybe
10351024170:9 INDENT
10361025170:9 lit ~
10371026170:11 lit ~
10381027171:9 NEWLINE
10391028171:9 glyph [
10401029171:10 tight lit ~
1041−171:12 name a
1042−171:13 tight glyph ]
1043−172:11 INDENT
1044−172:11 glyph ?-
1045−172:14 name second
1046−173:13 INDENT
1047−173:13 lit ~
1048−173:15 lit ~
1049−174:13 NEWLINE
1050−174:13 glyph [
1051−174:14 tight lit ~
1052−174:16 name b
1053−174:17 tight glyph ]
1054−174:19 glyph `
1055−174:20 tight glyph [
1056−174:21 tight name a
1057−174:23 name b
1058−174:24 tight glyph ]
1059−176:1 DEDENT
1060−176:1 DEDENT
1061−176:1 DEDENT
1062−176:1 DEDENT
1063−176:1 DEDENT
1064−176:1 DEDENT
1065−176:1 NEWLINE
1066−176:1 glyph ++
1067−176:4 name clap
1068−176:9 glyph |=
1069−176:12 name args
1070−176:16 tight glyph =
1071−176:17 tight glyph [
1072−176:18 tight glyph (
1073−176:19 tight name unit
1074−176:24 tvar A
1075−176:25 tight glyph )
1076−176:27 glyph (
1077−176:28 tight name unit
1078−176:33 tvar A
1079−176:34 tight glyph )
1080−176:36 glyph $-(
1081−176:39 tight glyph [
1082−176:40 tight tvar A
1083−176:42 tvar A
1084−176:43 tight glyph ]
1085−176:45 tvar A
1086−176:46 tight glyph )
1087−176:47 tight glyph ]
1088−177:3 INDENT
1089−177:3 glyph ?-
1090−177:6 name args
1091−178:5 INDENT
1092−178:5 glyph [
1093−178:6 tight name first
1094−178:12 name second
1095−178:19 name combine
1096−178:26 tight glyph ]
1097−178:28 glyph ^-
1098−178:31 glyph (
1099−178:32 tight name unit
1100−178:37 tvar A
1101−178:38 tight glyph )
1102−179:7 INDENT
1103−179:7 glyph ?-
1104−179:10 name first
1105−180:9 INDENT
1106−180:9 lit ~
1107−180:11 name second
1108−181:9 NEWLINE
1109−181:9 glyph [
1110−181:10 tight lit ~
1111−181:12 name a
1112−181:13 tight glyph ]
1113−182:11 INDENT
1114−182:11 glyph ?-
1115−182:14 name second
1116−183:13 INDENT
1117−183:13 lit ~
1118−183:15 name first
1119−184:13 NEWLINE
1120−184:13 glyph [
1121−184:14 tight lit ~
1122−184:16 name b
1123−184:17 tight glyph ]
1124−184:19 glyph `
1125−184:20 tight glyph (
1126−184:21 tight name combine
1127−184:29 name a
1128−184:31 name b
1129−184:32 tight glyph )
1130−186:1 DEDENT
1131−186:1 DEDENT
1132−186:1 DEDENT
1133−186:1 DEDENT
1134−186:1 DEDENT
1135−186:1 DEDENT
1136−186:1 NEWLINE
1137−186:1 glyph ++
1138−186:4 name clef
1139−186:9 glyph |=
1140−186:12 name args
1141−186:16 tight glyph =
1142−186:17 tight glyph [
1143−186:18 tight glyph (
1144−186:19 tight name unit
1145−186:24 tvar A
1146−186:25 tight glyph )
1147−186:27 glyph (
1148−186:28 tight name unit
1149−186:33 tvar B
1150−186:34 tight glyph )
1151−186:36 glyph $-(
1152−186:39 tight glyph [
1153−186:40 tight tvar A
1154−186:42 tvar B
1155−186:43 tight glyph ]
1156−186:45 glyph (
1157−186:46 tight name unit
1158−186:51 tvar C
1159−186:52 tight glyph )
1160−186:53 tight glyph )
1161−186:54 tight glyph ]
1162−187:3 INDENT
1163−187:3 glyph ?-
1164−187:6 name args
1165−188:5 INDENT
1166−188:5 glyph [
1167−188:6 tight name first
1168−188:12 name second
1169−188:19 name combine
1170−188:26 tight glyph ]
1171−188:28 glyph ^-
1172−188:31 glyph (
1173−188:32 tight name unit
1174−188:37 tvar C
1175−188:38 tight glyph )
1176−189:7 INDENT
1177−189:7 glyph ?-
1178−189:10 name first
1179−190:9 INDENT
1180−190:9 lit ~
1181−190:11 lit ~
1182−191:9 NEWLINE
1183−191:9 glyph [
1184−191:10 tight lit ~
1185−191:12 name a
1186−191:13 tight glyph ]
1187−192:11 INDENT
1188−192:11 glyph ?-
1189−192: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
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 ~
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
1082+178:13 tight glyph ]
1083+179:11 INDENT
1084+179:11 glyph ?-
1085+179:14 name second
1086+180:13 INDENT
1087+180:13 lit ~
1088+180:15 lit ~
1089+181:13 NEWLINE
1090+181:13 glyph [
1091+181:14 tight lit ~
1092+181:16 name b
1093+181:17 tight glyph ]
1094+181:19 glyph `
1095+181:20 tight glyph [
1096+181:21 tight name a
1097+181:23 name b
1098+181:24 tight glyph ]
1099+183:1 DEDENT
1100+183:1 DEDENT
1101+183:1 DEDENT
1102+183:1 DEDENT
1103+183:1 DEDENT
1104+183:1 DEDENT
1105+183:1 NEWLINE
1106+183:1 glyph ++
1107+183:4 name clap
1108+183:9 glyph |=
1109+183:12 name args
1110+183:16 tight glyph =
1111+183:17 tight glyph [
1112+183:18 tight glyph (
1113+183:19 tight name unit
1114+183:24 tvar A
1115+183:25 tight glyph )
1116+183:27 glyph (
1117+183:28 tight name unit
1118+183:33 tvar A
1119+183:34 tight glyph )
1120+183:36 glyph $-(
1121+183:39 tight glyph [
1122+183:40 tight tvar A
1123+183:42 tvar A
1124+183:43 tight glyph ]
1125+183:45 tvar A
1126+183:46 tight glyph )
1127+183:47 tight glyph ]
1128+184:3 INDENT
1129+184:3 glyph ?-
1130+184:6 name args
1131+185:5 INDENT
1132+185:5 glyph [
1133+185:6 tight name first
1134+185:12 name second
1135+185:19 name combine
1136+185:26 tight glyph ]
1137+185:28 glyph ^-
1138+185:31 glyph (
1139+185:32 tight name unit
1140+185:37 tvar A
1141+185:38 tight glyph )
1142+186:7 INDENT
1143+186:7 glyph ?-
1144+186:10 name first
1145+187:9 INDENT
1146+187:9 lit ~
1147+187:11 name second
1148+188:9 NEWLINE
1149+188:9 glyph [
1150+188:10 tight lit ~
1151+188:12 name a
1152+188:13 tight glyph ]
1153+189:11 INDENT
1154+189:11 glyph ?-
1155+189:14 name second
1156+190:13 INDENT
1157+190:13 lit ~
1158+190:15 name first
1159+191:13 NEWLINE
1160+191:13 glyph [
1161+191:14 tight lit ~
1162+191:16 name b
1163+191:17 tight glyph ]
1164+191:19 glyph `
1165+191:20 tight glyph (
1166+191:21 tight name combine
1167+191:29 name a
1168+191:31 name b
1169+191:32 tight glyph )
1170+193:1 DEDENT
1171+193:1 DEDENT
1172+193:1 DEDENT
1173+193:1 DEDENT
1174+193:1 DEDENT
1175+193:1 DEDENT
1176+193:1 NEWLINE
1177+193:1 glyph ++
1178+193:4 name clef
1179+193:9 glyph |=
1180+193:12 name args
1181+193:16 tight glyph =
1182+193:17 tight glyph [
1183+193:18 tight glyph (
1184+193:19 tight name unit
1185+193:24 tvar A
1186+193:25 tight glyph )
1187+193:27 glyph (
1188+193:28 tight name unit
1189+193:33 tvar B
1190+193:34 tight glyph )
1191+193:36 glyph $-(
1192+193:39 tight glyph [
1193+193:40 tight tvar A
1194+193:42 tvar B
1195+193:43 tight glyph ]
1196+193:45 glyph (
1197+193:46 tight name unit
1198+193:51 tvar C
1199+193:52 tight glyph )
1200+193:53 tight glyph )
1201+193:54 tight glyph ]
1202+194:3 INDENT
1203+194:3 glyph ?-
1204+194:6 name args
1205+195:5 INDENT
1206+195:5 glyph [
1207+195:6 tight name first
1208+195:12 name second
1209+195:19 name combine
1210+195:26 tight glyph ]
1211+195:28 glyph ^-
1212+195:31 glyph (
1213+195:32 tight name unit
1214+195:37 tvar C
1215+195:38 tight glyph )
1216+196:7 INDENT
1217+196:7 glyph ?-
1218+196:10 name first
1219+197:9 INDENT
1220+197:9 lit ~
1221+197:11 lit ~
1222+198:9 NEWLINE
1223+198:9 glyph [
1224+198:10 tight lit ~
1225+198:12 name a
1226+198:13 tight glyph ]
1227+199:11 INDENT
1228+199:11 glyph ?-
1229+199:14 name second
1230+200:13 INDENT
12431231200:13 lit ~
1244−201:11 NEWLINE
1245−201:11 glyph [
1246−201:12 tight name item
1247−201:17 name rest
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 ]
1265−204:15 NEWLINE
1266−204:15 lit %.n
1267−204:19 glyph (
1268−204:20 tight name skim
1269−204:25 name rest
1270−204:30 name predicate
1271−204:39 tight glyph )
1272−206:1 DEDENT
1273−206:1 DEDENT
1274−206:1 DEDENT
1275−206:1 DEDENT
1276−206:1 DEDENT
1277−206:1 DEDENT
1278−206:1 NEWLINE
1279−206:1 glyph ++
1280−206:4 name skip
1281−206:9 glyph |=
1282−206:12 name args
1283−206:16 tight glyph =
1284−206:17 tight glyph [
1285−206:18 tight glyph (
1286−206:19 tight name list
1287−206:24 tvar A
1288−206:25 tight glyph )
1289−206:27 glyph $-(
1290−206:30 tight tvar A
1291−206:32 glyph ?
1292−206:33 tight glyph )
1293−206:34 tight glyph ]
1294−207:3 INDENT
1295−207:3 glyph ?-
1296−207:6 name args
1297−208:5 INDENT
1298−208:5 glyph [
1299−208:6 tight name xs
1300−208:9 name predicate
1301−208:18 tight glyph ]
1302−208:20 glyph ^-
1303−208:23 glyph (
1304−208:24 tight name list
1305−208:29 tvar A
1306−208:30 tight glyph )
1307−209:9 INDENT
1308−209:9 glyph ?-
1309−209:12 name xs
1310−210:11 INDENT
1311−210:11 lit ~
1312−210:13 lit ~
1313−211:11 NEWLINE
1314−211:11 glyph [
1315−211:12 tight name item
1316−211:17 name rest
1317−211:21 tight glyph ]
1318−212:13 INDENT
1319−212:13 glyph ?-
1320−212:16 glyph (
1321−212:17 tight name predicate
1322−212:27 name item
1323−212:31 tight glyph )
1324−213:15 INDENT
1325−213:15 lit %.y
1326−213:19 glyph (
1327−213:20 tight name skip
1328−213:25 name rest
1329−213:30 name predicate
1330−213:39 tight glyph )
1331−214:15 NEWLINE
1332−214:15 lit %.n
1333−214:19 glyph [
1334−214:20 tight name item
1335−214:25 glyph (
1336−214:26 tight name skip
1337−214:31 name rest
1338−214:36 name predicate
1339−214:45 tight glyph )
1340−214:46 tight glyph ]
1341−216:1 DEDENT
1342−216:1 DEDENT
1343−216:1 DEDENT
1344−216:1 DEDENT
1345−216:1 DEDENT
1346−216:1 DEDENT
1347−216:1 NEWLINE
1348−216:1 glyph ++
1349−216:4 name levy
1350−216:9 glyph |=
1351−216:12 name args
1352−216:16 tight glyph =
1353−216:17 tight glyph [
1354−216:18 tight glyph (
1355−216:19 tight name list
1356−216:24 tvar A
1357−216:25 tight glyph )
1358−216:27 glyph $-(
1359−216:30 tight tvar A
1360−216:32 glyph ?
1361−216:33 tight glyph )
1362−216:34 tight glyph ]
1363−217:3 INDENT
1364−217:3 glyph ^-
1365−217:6 glyph ?
1366−218:5 INDENT
1367−218:5 glyph ?-
1368−218:8 name args
1369−219:7 INDENT
1370−219:7 glyph [
1371−219:8 tight name xs
1372−219:11 name predicate
1373−219:20 tight glyph ]
1374−220:9 INDENT
1375−220:9 glyph ?-
1376−220:12 name xs
1377−221:11 INDENT
1378−221:11 lit ~
1379−221:13 lit %.y
1380−222:11 NEWLINE
1381−222:11 glyph [
1382−222:12 tight name item
1383−222:17 name rest
1384−222:21 tight glyph ]
1385−223:13 INDENT
1386−223:13 glyph ?-
1387−223:16 glyph (
1388−223:17 tight name predicate
1389−223:27 name item
1390−223:31 tight glyph )
1391−224:15 INDENT
1392−224:15 lit %.y
1393−224:19 glyph (
1394−224:20 tight name levy
1395−224:25 name rest
1396−224:30 name predicate
1397−224:39 tight glyph )
1398−225:15 NEWLINE
1399−225:15 lit %.n
1400−225:19 lit %.n
1401−227:1 DEDENT
1402−227:1 DEDENT
1403−227:1 DEDENT
1404−227:1 DEDENT
1405−227:1 DEDENT
1406−227:1 DEDENT
1407−227:1 DEDENT
1408−227:1 NEWLINE
1409−227:1 glyph ++
1410−227:4 name lien
1411−227:9 glyph |=
1412−227:12 name args
1413−227:16 tight glyph =
1414−227:17 tight glyph [
1415−227:18 tight glyph (
1416−227:19 tight name list
1417−227:24 tvar A
1418−227:25 tight glyph )
1419−227:27 glyph $-(
1420−227:30 tight tvar A
1421−227:32 glyph ?
1422−227:33 tight glyph )
1423−227:34 tight glyph ]
1424−228:3 INDENT
1425−228:3 glyph ^-
1426−228:6 glyph ?
1427−229:5 INDENT
1428−229:5 glyph ?-
1429−229:8 name args
1430−230:7 INDENT
1431−230:7 glyph [
1432−230:8 tight name xs
1433−230:11 name predicate
1434−230:20 tight glyph ]
1435−231:9 INDENT
1436−231:9 glyph ?-
1437−231:12 name xs
1438−232:11 INDENT
1439−232:11 lit ~
1440−232:13 lit %.n
1441−233:11 NEWLINE
1442−233:11 glyph [
1443−233:12 tight name item
1444−233:17 name rest
1445−233:21 tight glyph ]
1446−234:13 INDENT
1447−234:13 glyph ?-
1448−234:16 glyph (
1449−234:17 tight name predicate
1450−234:27 name item
1451−234:31 tight glyph )
1452−235:15 INDENT
1453−235:15 lit %.y
1454−235:19 lit %.y
1455−236:15 NEWLINE
1456−236:15 lit %.n
1457−236:19 glyph (
1458−236:20 tight name lien
1459−236:25 name rest
1460−236:30 name predicate
1461−236:39 tight glyph )
1462−238:1 DEDENT
1463−238:1 DEDENT
1464−238:1 DEDENT
1465−238:1 DEDENT
1466−238:1 DEDENT
1467−238:1 DEDENT
1468−238:1 DEDENT
1469−238:1 NEWLINE
1470−238:1 glyph ++
1471−238:4 name roll
1472−238:9 glyph |=
1473−238:12 name args
1474−238:16 tight glyph =
1475−238:17 tight glyph [
1476−238:18 tight glyph (
1477−238:19 tight name list
1478−238:24 tvar A
1479−238:25 tight glyph )
1480−238:27 tvar B
1481−238:29 glyph $-(
1482−238:32 tight glyph [
1483−238:33 tight tvar A
1484−238:35 tvar B
1485−238:36 tight glyph ]
1486−238:38 tvar B
1487−238:39 tight glyph )
1488−238:40 tight glyph ]
1489−239:3 INDENT
1490−239:3 glyph ?-
1491−239:6 name args
1492−240:5 INDENT
1493−240:5 glyph [
1494−240:6 tight name xs
1495−240:9 name start
1496−240:15 name combine
1497−240:22 tight glyph ]
1498−241:7 INDENT
1499−241:7 glyph ?-
1500−241:10 name xs
1501−242:9 INDENT
1502−242:9 lit ~
1503−242:11 name start
1504−243:9 NEWLINE
1505−243:9 glyph [
1506−243:10 tight name item
1507−243:15 name rest
1508−243:19 tight glyph ]
1509−243:21 glyph (
1510−243:22 tight name roll
1511−243:27 name rest
1512−243:32 glyph (
1513−243:33 tight name combine
1514−243:41 name item
1515−243:46 name start
1516−243:51 tight glyph )
1517−243:53 name combine
1518−243:60 tight glyph )
1232+200:15 lit ~
1233+201:13 NEWLINE
1234+201:13 glyph [
1235+201:14 tight lit ~
1236+201:16 name b
1237+201:17 tight glyph ]
1238+201:19 glyph (
1239+201:20 tight name combine
1240+201:28 name a
1241+201:30 name b
1242+201:31 tight glyph )
1243+203:1 DEDENT
1244+203:1 DEDENT
1245+203:1 DEDENT
1246+203:1 DEDENT
1247+203:1 DEDENT
1248+203:1 DEDENT
1249+203:1 NEWLINE
1250+203:1 glyph ++
1251+203:4 name skim
1252+203:9 glyph |=
1253+203:12 name args
1254+203:16 tight glyph =
1255+203:17 tight glyph [
1256+203:18 tight glyph (
1257+203:19 tight name list
1258+203:24 tvar A
1259+203:25 tight glyph )
1260+203:27 glyph $-(
1261+203:30 tight tvar A
1262+203:32 glyph ?
1263+203:33 tight glyph )
1264+203:34 tight glyph ]
1265+204:3 INDENT
1266+204:3 glyph ?-
1267+204:6 name args
1268+205:5 INDENT
1269+205:5 glyph [
1270+205:6 tight name xs
1271+205:9 name predicate
1272+205:18 tight glyph ]
1273+205:20 glyph ^-
1274+205:23 glyph (
1275+205:24 tight name list
1276+205:29 tvar A
1277+205:30 tight glyph )
1278+206:9 INDENT
1279+206:9 glyph ?-
1280+206:12 name xs
1281+207:11 INDENT
1282+207:11 lit ~
1283+207:13 lit ~
1284+208:11 NEWLINE
1285+208:11 glyph [
1286+208:12 tight name item
1287+208:17 name rest
1288+208:21 tight glyph ]
1289+209:13 INDENT
1290+209:13 glyph ?-
1291+209:16 glyph (
1292+209:17 tight name predicate
1293+209:27 name item
1294+209:31 tight glyph )
1295+210:15 INDENT
1296+210:15 lit %.y
1297+210:19 glyph [
1298+210:20 tight name item
1299+210:25 glyph (
1300+210:26 tight name skim
1301+210:31 name rest
1302+210:36 name predicate
1303+210:45 tight glyph )
1304+210:46 tight glyph ]
1305+211:15 NEWLINE
1306+211:15 lit %.n
1307+211:19 glyph (
1308+211:20 tight name skim
1309+211:25 name rest
1310+211:30 name predicate
1311+211:39 tight glyph )
1312+213:1 DEDENT
1313+213:1 DEDENT
1314+213:1 DEDENT
1315+213:1 DEDENT
1316+213:1 DEDENT
1317+213:1 DEDENT
1318+213:1 NEWLINE
1319+213:1 glyph ++
1320+213:4 name skip
1321+213:9 glyph |=
1322+213:12 name args
1323+213:16 tight glyph =
1324+213:17 tight glyph [
1325+213:18 tight glyph (
1326+213:19 tight name list
1327+213:24 tvar A
1328+213:25 tight glyph )
1329+213:27 glyph $-(
1330+213:30 tight tvar A
1331+213:32 glyph ?
1332+213:33 tight glyph )
1333+213:34 tight glyph ]
1334+214:3 INDENT
1335+214:3 glyph ?-
1336+214:6 name args
1337+215:5 INDENT
1338+215:5 glyph [
1339+215:6 tight name xs
1340+215:9 name predicate
1341+215:18 tight glyph ]
1342+215:20 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 ?-
1349+216:12 name xs
1350+217:11 INDENT
1351+217:11 lit ~
1352+217:13 lit ~
1353+218:11 NEWLINE
1354+218:11 glyph [
1355+218:12 tight name item
1356+218:17 name rest
1357+218:21 tight glyph ]
1358+219:13 INDENT
1359+219:13 glyph ?-
1360+219:16 glyph (
1361+219:17 tight name predicate
1362+219:27 name item
1363+219:31 tight glyph )
1364+220:15 INDENT
1365+220:15 lit %.y
1366+220:19 glyph (
1367+220:20 tight name skip
1368+220:25 name rest
1369+220:30 name predicate
1370+220:39 tight glyph )
1371+221:15 NEWLINE
1372+221:15 lit %.n
1373+221:19 glyph [
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 ]
1381+223:1 DEDENT
1382+223:1 DEDENT
1383+223:1 DEDENT
1384+223:1 DEDENT
1385+223:1 DEDENT
1386+223:1 DEDENT
1387+223:1 NEWLINE
1388+223:1 glyph ++
1389+223:4 name levy
1390+223:9 glyph |=
1391+223:12 name args
1392+223:16 tight glyph =
1393+223:17 tight glyph [
1394+223:18 tight glyph (
1395+223:19 tight name list
1396+223:24 tvar A
1397+223:25 tight glyph )
1398+223:27 glyph $-(
1399+223:30 tight tvar A
1400+223:32 glyph ?
1401+223:33 tight glyph )
1402+223:34 tight glyph ]
1403+224:3 INDENT
1404+224:3 glyph ^-
1405+224:6 glyph ?
1406+225:5 INDENT
1407+225:5 glyph ?-
1408+225:8 name args
1409+226:7 INDENT
1410+226:7 glyph [
1411+226:8 tight name xs
1412+226:11 name predicate
1413+226:20 tight glyph ]
1414+227:9 INDENT
1415+227:9 glyph ?-
1416+227:12 name xs
1417+228:11 INDENT
1418+228:11 lit ~
1419+228:13 lit %.y
1420+229:11 NEWLINE
1421+229:11 glyph [
1422+229:12 tight name item
1423+229:17 name rest
1424+229:21 tight glyph ]
1425+230:13 INDENT
1426+230:13 glyph ?-
1427+230:16 glyph (
1428+230:17 tight name predicate
1429+230:27 name item
1430+230:31 tight glyph )
1431+231:15 INDENT
1432+231:15 lit %.y
1433+231:19 glyph (
1434+231:20 tight name levy
1435+231:25 name rest
1436+231:30 name predicate
1437+231:39 tight glyph )
1438+232:15 NEWLINE
1439+232:15 lit %.n
1440+232:19 lit %.n
1441+234:1 DEDENT
1442+234:1 DEDENT
1443+234:1 DEDENT
1444+234:1 DEDENT
1445+234:1 DEDENT
1446+234:1 DEDENT
1447+234:1 DEDENT
1448+234:1 NEWLINE
1449+234:1 glyph ++
1450+234:4 name lien
1451+234:9 glyph |=
1452+234:12 name args
1453+234:16 tight glyph =
1454+234:17 tight glyph [
1455+234:18 tight glyph (
1456+234:19 tight name list
1457+234:24 tvar A
1458+234:25 tight glyph )
1459+234:27 glyph $-(
1460+234:30 tight tvar A
1461+234:32 glyph ?
1462+234:33 tight glyph )
1463+234:34 tight glyph ]
1464+235:3 INDENT
1465+235:3 glyph ^-
1466+235:6 glyph ?
1467+236:5 INDENT
1468+236:5 glyph ?-
1469+236:8 name args
1470+237:7 INDENT
1471+237:7 glyph [
1472+237:8 tight name xs
1473+237:11 name predicate
1474+237:20 tight glyph ]
1475+238:9 INDENT
1476+238:9 glyph ?-
1477+238:12 name xs
1478+239:11 INDENT
1479+239:11 lit ~
1480+239:13 lit %.n
1481+240:11 NEWLINE
1482+240:11 glyph [
1483+240:12 tight name item
1484+240:17 name rest
1485+240:21 tight glyph ]
1486+241:13 INDENT
1487+241:13 glyph ?-
1488+241:16 glyph (
1489+241:17 tight name predicate
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
1497+243:19 glyph (
1498+243:20 tight name lien
1499+243:25 name rest
1500+243:30 name predicate
1501+243:39 tight glyph )
1502+245:1 DEDENT
1503+245:1 DEDENT
1504+245:1 DEDENT
15191505245:1 DEDENT
15201506245:1 DEDENT
15211507245:1 DEDENT
15221508245:1 DEDENT
15231509245:1 NEWLINE
15241510245:1 glyph ++
1525−245:4 name reel
1511+245:4 name roll
15261512245:9 glyph |=
15271513245:12 name args
15281514245:16 tight glyph =
@@ -1561,14 +1547,14 @@
15611547250:15 name rest
15621548250:19 tight glyph ]
15631549250:21 glyph (
1564−250:22 tight name combine
1565−250:30 name item
1566−250:35 glyph (
1567−250:36 tight name reel
1568−250:41 name rest
1550+250:22 tight name roll
1551+250:27 name rest
1552+250:32 glyph (
1553+250:33 tight name combine
1554+250:41 name item
15691555250:46 name start
1570−250:52 name combine
1571−250:59 tight glyph )
1556+250:51 tight glyph )
1557+250:53 name combine
15721558250:60 tight glyph )
15731559252:1 DEDENT
15741560252:1 DEDENT
@@ -1576,492 +1562,571 @@
15761562252:1 DEDENT
15771563252:1 NEWLINE
15781564252:1 glyph ++
1579−252:4 name flit
1565+252:4 name reel
15801566252:9 glyph |=
1581−252:12 name predicate
1582−252:21 tight glyph =
1583−252:22 tight glyph $-(
1584−252:25 tight tvar A
1585−252:27 glyph ?
1586−252:28 tight glyph )
1567+252:12 name args
1568+252:16 tight glyph =
1569+252:17 tight glyph [
1570+252:18 tight glyph (
1571+252:19 tight name list
1572+252:24 tvar A
1573+252:25 tight 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
1581+252:39 tight glyph )
1582+252:40 tight glyph ]
15871583253:3 INDENT
1588−253:3 glyph |=
1589−253:6 name value
1590−253:11 tight glyph =
1591−253:12 tight tvar A
1584+253:3 glyph ?-
1585+253:6 name args
15921586254:5 INDENT
1593−254:5 glyph ^-
1594−254:8 glyph (
1595−254:9 tight name unit
1596−254:14 tvar A
1597−254:15 tight glyph )
1587+254:5 glyph [
1588+254:6 tight name xs
1589+254:9 name start
1590+254:15 name combine
1591+254:22 tight glyph ]
15981592255:7 INDENT
15991593255:7 glyph ?-
1600−255:10 glyph (
1601−255:11 tight name predicate
1602−255:21 name value
1603−255:26 tight glyph )
1594+255:10 name xs
16041595256:9 INDENT
1605−256:9 lit %.y
1606−256:13 glyph `
1607−256:14 tight name value
1596+256:9 lit ~
1597+256:11 name start
16081598257:9 NEWLINE
1609−257:9 lit %.n
1610−257:13 lit ~
1599+257:9 glyph [
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 )
16111613259:1 DEDENT
16121614259:1 DEDENT
16131615259:1 DEDENT
16141616259:1 DEDENT
16151617259:1 NEWLINE
16161618259:1 glyph ++
1617−259:4 name murn
1619+259:4 name flit
16181620259:9 glyph |=
1619−259:12 name args
1620−259:16 tight glyph =
1621−259:17 tight glyph [
1622−259:18 tight glyph (
1623−259:19 tight name list
1624−259:24 tvar A
1625−259:25 tight glyph )
1626−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 )
1632−259:40 tight glyph )
1633−259:41 tight glyph ]
1621+259:12 name predicate
1622+259:21 tight glyph =
1623+259:22 tight glyph $-(
1624+259:25 tight tvar A
1625+259:27 glyph ?
1626+259:28 tight glyph )
16341627260:3 INDENT
1635−260:3 glyph ?-
1636−260:6 name args
1628+260:3 glyph |=
1629+260:6 name value
1630+260:11 tight glyph =
1631+260:12 tight tvar A
16371632261:5 INDENT
1638−261:5 glyph [
1639−261:6 tight name xs
1640−261:9 name f
1641−261:10 tight glyph ]
1642−261:12 glyph ^-
1643−261:15 glyph (
1644−261:16 tight name list
1645−261:21 tvar B
1646−261:22 tight glyph )
1647−262:9 INDENT
1648−262:9 glyph ?-
1649−262:12 name xs
1650−263:11 INDENT
1651−263:11 lit ~
1652−263:13 lit ~
1653−264:11 NEWLINE
1654−264:11 glyph [
1655−264:12 tight name item
1656−264:17 name rest
1657−264:21 tight glyph ]
1658−265:13 INDENT
1659−265:13 glyph ?-
1660−265:16 glyph (
1661−265:17 tight name f
1662−265:19 name item
1663−265:23 tight glyph )
1664−266:15 INDENT
1665−266:15 lit ~
1666−266:17 glyph (
1667−266:18 tight name murn
1668−266:23 name rest
1669−266:28 name f
1670−266:29 tight glyph )
1671−267:15 NEWLINE
1672−267:15 glyph [
1673−267:16 tight lit ~
1674−267:18 name value
1675−267:23 tight glyph ]
1676−267:25 glyph [
1677−267:26 tight name value
1678−267:32 glyph (
1679−267:33 tight name murn
1680−267:38 name rest
1681−267:43 name f
1682−267:44 tight glyph )
1683−267:45 tight glyph ]
1684−269:1 DEDENT
1685−269:1 DEDENT
1686−269:1 DEDENT
1687−269:1 DEDENT
1688−269:1 DEDENT
1689−269:1 DEDENT
1690−269:1 NEWLINE
1691−269:1 glyph ++
1692−269:4 name join
1693−269:9 glyph |=
1694−269:12 name args
1695−269:16 tight glyph =
1696−269:17 tight glyph [
1697−269:18 tight tvar A
1698−269:20 glyph (
1699−269:21 tight name list
1700−269:26 tvar A
1701−269:27 tight glyph )
1702−269:28 tight glyph ]
1703−270:3 INDENT
1704−270:3 glyph ?-
1705−270:6 name args
1706−271:5 INDENT
1707−271:5 glyph [
1708−271:6 tight name separator
1709−271:16 name xs
1710−271:18 tight glyph ]
1711−271:20 glyph ^-
1712−271:23 glyph (
1713−271:24 tight name list
1714−271:29 tvar A
1715−271:30 tight glyph )
1716−272:9 INDENT
1717−272: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 |=
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 [
1679+268:6 tight name xs
1680+268:9 name f
1681+268:10 tight glyph ]
1682+268:12 glyph ^-
1683+268:15 glyph (
1684+268:16 tight name list
1685+268:21 tvar B
1686+268:22 tight glyph )
1687+269:9 INDENT
1688+269:9 glyph ?-
1689+269:12 name xs
1690+270:11 INDENT
1691+270:11 lit ~
1692+270:13 lit ~
1693+271:11 NEWLINE
1694+271:11 glyph [
1695+271:12 tight name item
1696+271:17 name rest
1697+271:21 tight glyph ]
1698+272:13 INDENT
1699+272:13 glyph ?-
1700+272:16 glyph (
1701+272:17 tight name f
1702+272:19 name item
1703+272:23 tight glyph )
1704+273:15 INDENT
1705+273:15 lit ~
1706+273:17 glyph (
1707+273:18 tight name murn
1708+273:23 name rest
1709+273:28 name f
1710+273:29 tight glyph )
1711+274:15 NEWLINE
1712+274:15 glyph [
1713+274:16 tight lit ~
1714+274:18 name value
1715+274:23 tight glyph ]
1716+274:25 glyph [
1717+274:26 tight name value
1718+274:32 glyph (
1719+274:33 tight name murn
1720+274:38 name rest
1721+274:43 name f
1722+274:44 tight glyph )
1723+274:45 tight glyph ]
1724+276:1 DEDENT
1725+276:1 DEDENT
1726+276:1 DEDENT
1727+276:1 DEDENT
1728+276:1 DEDENT
1729+276:1 DEDENT
1730+276:1 NEWLINE
1731+276:1 glyph ++
1732+276:4 name join
1733+276:9 glyph |=
1734+276:12 name args
1735+276:16 tight glyph =
1736+276:17 tight glyph [
1737+276:18 tight tvar A
1738+276:20 glyph (
1739+276:21 tight name list
1740+276:26 tvar A
1741+276:27 tight glyph )
1742+276:28 tight glyph ]
1743+277:3 INDENT
1744+277:3 glyph ?-
1745+277:6 name args
1746+278:5 INDENT
1747+278:5 glyph [
1748+278:6 tight name separator
1749+278:16 name xs
1750+278:18 tight glyph ]
1751+278:20 glyph ^-
1752+278:23 glyph (
1753+278:24 tight name list
1754+278:29 tvar A
1755+278:30 tight glyph )
1756+279:9 INDENT
1757+279:9 glyph ?-
17621758279:12 name xs
1763−279:14 tight glyph =
1764−279:15 tight glyph (
1765−279:16 tight name list
1766−279:21 tvar A
1767−279:22 tight glyph )
1768−280:3 INDENT
1769−280:3 glyph ^-
1770−280:6 glyph (
1771−280:7 tight name list
1772−280:12 tvar A
1773−280:13 tight glyph )
1774−281:5 INDENT
1775−281:5 glyph ?-
1776−281:8 name xs
1777−282:7 INDENT
1778−282:7 lit ~
1779−282:9 lit ~
1780−283:7 NEWLINE
1781−283:7 glyph [
1782−283:8 tight name item
1783−283:13 name rest
1784−283:17 tight glyph ]
1785−284:9 INDENT
1786−284:9 glyph ?-
1787−284:12 name rest
1788−285:11 INDENT
1789−285:11 lit ~
1790−285:13 lit ~
1791−286:11 NEWLINE
1792−286:11 glyph [
1793−286:12 tight name next
1794−286:17 name more
1795−286:21 tight glyph ]
1796−286:23 glyph [
1797−286:24 tight name item
1798−286:29 glyph (
1799−286:30 tight name snip
1800−286:35 name rest
1801−286:39 tight glyph )
1802−286:40 tight glyph ]
1803−288:1 DEDENT
1804−288:1 DEDENT
1805−288:1 DEDENT
1806−288:1 DEDENT
1807−288:1 DEDENT
1808−288:1 NEWLINE
1809−288:1 glyph ++
1810−288:4 name rear
1811−288:9 glyph |=
1812−288:12 name xs
1813−288:14 tight glyph =
1814−288:15 tight glyph (
1815−288:16 tight name list
1816−288:21 tvar A
1817−288:22 tight glyph )
1818−289:3 INDENT
1819−289:3 glyph ?-
1820−289:6 name xs
1821−290:5 INDENT
1822−290:5 lit ~
1823−290:7 glyph !!
1824−291: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
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
1803+286:14 tight glyph =
1804+286:15 tight glyph (
1805+286:16 tight name list
1806+286:21 tvar A
1807+286:22 tight glyph )
1808+287:3 INDENT
1809+287:3 glyph ^-
1810+287:6 glyph (
1811+287:7 tight name list
1812+287:12 tvar A
1813+287:13 tight glyph )
1814+288:5 INDENT
1815+288:5 glyph ?-
1816+288:8 name xs
1817+289:7 INDENT
1818+289:7 lit ~
1819+289:9 lit ~
1820+290:7 NEWLINE
1821+290:7 glyph [
1822+290:8 tight name item
1823+290:13 name rest
1824+290:17 tight glyph ]
1825+291:9 INDENT
1826+291:9 glyph ?-
1827+291:12 name rest
1828+292:11 INDENT
1829+292:11 lit ~
1830+292:13 lit ~
1831+293:11 NEWLINE
1832+293:11 glyph [
1833+293:12 tight name next
1834+293:17 name more
1835+293:21 tight glyph ]
1836+293:23 glyph [
1837+293:24 tight name item
1838+293:29 glyph (
1839+293:30 tight name snip
1840+293:35 name rest
1841+293:39 tight glyph )
1842+293:40 tight glyph ]
1843+295:1 DEDENT
1844+295:1 DEDENT
1845+295:1 DEDENT
1846+295:1 DEDENT
1847+295:1 DEDENT
1848+295:1 NEWLINE
1849+295:1 glyph ++
1850+295:4 name rear
1851+295:9 glyph |=
1852+295:12 name xs
1853+295:14 tight glyph =
1854+295:15 tight glyph (
1855+295:16 tight name list
1856+295:21 tvar A
1857+295:22 tight glyph )
1858+296:3 INDENT
1859+296:3 glyph ?-
1860+296:6 name xs
1861+297:5 INDENT
1862+297:5 lit ~
1863+297:7 glyph !!
1864+298:5 NEWLINE
18681865298:5 glyph [
1869−298:6 tight name f
1870−298:8 name g
1871−298:9 tight glyph ]
1872−298:11 glyph |=
1873−298:14 name x
1874−298:15 tight glyph =
1875−298:16 tight tvar A
1876−298:18 glyph (
1877−298:19 tight name g
1878−298:21 glyph (
1879−298:22 tight name f
1880−298:24 name x
1881−298:25 tight glyph )
1882−298:26 tight glyph )
1883−300:1 DEDENT
1884−300:1 DEDENT
1885−300:1 NEWLINE
1886−300:1 glyph ++
1887−300:4 name corl
1888−300:9 glyph |=
1889−300:12 name gates
1890−300:17 tight glyph =
1891−300:18 tight glyph [
1892−300:19 tight glyph $-(
1893−300:22 tight tvar B
1894−300:24 tvar C
1895−300:25 tight glyph )
1896−300:27 glyph $-(
1897−300:30 tight tvar A
1898−300:32 tvar B
1899−300:33 tight glyph )
1900−300:34 tight glyph ]
1901−301:3 INDENT
1902−301:3 glyph ?-
1903−301:6 name gates
1904−302:5 INDENT
1905−302:5 glyph [
1906−302:6 tight name f
1907−302:8 name g
1908−302:9 tight glyph ]
1909−302:11 glyph |=
1910−302:14 name x
1911−302:15 tight glyph =
1912−302:16 tight tvar A
1913−302:18 glyph (
1914−302:19 tight name f
1915−302:21 glyph (
1916−302:22 tight name g
1917−302:24 name x
1918−302:25 tight glyph )
1919−302:26 tight glyph )
1920−304:1 DEDENT
1921−304:1 DEDENT
1922−304:1 NEWLINE
1923−304:1 glyph ++
1924−304:4 name cury
1925−304:9 glyph |=
1926−304:12 name args
1927−304:16 tight glyph =
1928−304:17 tight glyph [
1929−304:18 tight glyph $-(
1930−304:21 tight glyph [
1931−304:22 tight tvar A
1932−304:24 tvar B
1933−304:25 tight glyph ]
1934−304:27 tvar C
1935−304:28 tight glyph )
1936−304:30 tvar A
1937−304:31 tight glyph ]
1938−305:3 INDENT
1939−305:3 glyph ?-
1940−305:6 name args
1941−306:5 INDENT
1942−306:5 glyph [
1943−306:6 tight name f
1944−306:8 name a
1945−306:9 tight glyph ]
1946−306:11 glyph |=
1947−306:14 name b
1948−306:15 tight glyph =
1949−306:16 tight tvar B
1950−306:18 glyph (
1951−306:19 tight name f
1952−306:21 name a
1953−306:23 name b
1954−306:24 tight glyph )
1955−308:1 DEDENT
1956−308:1 DEDENT
1957−308:1 NEWLINE
1958−308:1 glyph ++
1959−308:4 name curr
1960−308:9 glyph |=
1961−308:12 name args
1962−308:16 tight glyph =
1963−308:17 tight glyph [
1964−308:18 tight glyph $-(
1965−308:21 tight glyph [
1966−308:22 tight tvar A
1967−308:24 tvar B
1968−308:25 tight glyph ]
1969−308:27 tvar C
1970−308:28 tight glyph )
1971−308:30 tvar B
1972−308:31 tight glyph ]
1973−309:3 INDENT
1974−309:3 glyph ?-
1975−309:6 name args
1976−310:5 INDENT
1977−310:5 glyph [
1978−310:6 tight name f
1979−310:8 name b
1980−310:9 tight glyph ]
1981−310:11 glyph |=
1982−310:14 name a
1983−310:15 tight glyph =
1984−310:16 tight tvar A
1985−310:18 glyph (
1986−310:19 tight name f
1987−310:21 name a
1988−310:23 name b
1989−310:24 tight glyph )
1990−312:1 DEDENT
1991−312: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 ]
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
1910+305:8 name g
1911+305:9 tight glyph ]
1912+305:11 glyph |=
1913+305:14 name x
1914+305:15 tight glyph =
1915+305:16 tight tvar A
1916+305:18 glyph (
1917+305:19 tight name g
1918+305:21 glyph (
1919+305:22 tight name f
1920+305:24 name x
1921+305:25 tight glyph )
1922+305:26 tight glyph )
1923+307:1 DEDENT
1924+307:1 DEDENT
1925+307:1 NEWLINE
1926+307:1 glyph ++
1927+307:4 name corl
1928+307:9 glyph |=
1929+307:12 name gates
1930+307:17 tight glyph =
1931+307:18 tight glyph [
1932+307:19 tight glyph $-(
1933+307:22 tight tvar B
1934+307:24 tvar C
1935+307:25 tight glyph )
1936+307:27 glyph $-(
1937+307:30 tight tvar A
1938+307:32 tvar B
1939+307:33 tight glyph )
1940+307:34 tight glyph ]
1941+308:3 INDENT
1942+308:3 glyph ?-
1943+308:6 name gates
1944+309:5 INDENT
1945+309:5 glyph [
1946+309:6 tight name f
1947+309:8 name g
1948+309:9 tight glyph ]
1949+309:11 glyph |=
1950+309:14 name x
1951+309:15 tight glyph =
1952+309:16 tight tvar A
1953+309:18 glyph (
1954+309:19 tight name f
1955+309:21 glyph (
1956+309:22 tight name g
1957+309:24 name x
1958+309:25 tight glyph )
1959+309:26 tight glyph )
1960+311:1 DEDENT
1961+311:1 DEDENT
1962+311:1 NEWLINE
1963+311:1 glyph ++
1964+311:4 name cury
1965+311:9 glyph |=
1966+311:12 name args
1967+311:16 tight glyph =
1968+311:17 tight glyph [
1969+311:18 tight glyph $-(
1970+311:21 tight glyph [
1971+311:22 tight tvar A
1972+311:24 tvar B
1973+311:25 tight glyph ]
1974+311:27 tvar C
1975+311:28 tight glyph )
1976+311:30 tvar A
1977+311:31 tight glyph ]
1978+312:3 INDENT
1979+312:3 glyph ?-
1980+312:6 name args
1981+313:5 INDENT
1982+313:5 glyph [
1983+313:6 tight name f
1984+313:8 name a
1985+313:9 tight glyph ]
1986+313:11 glyph |=
1987+313:14 name b
1988+313:15 tight glyph =
1989+313:16 tight tvar B
1990+313:18 glyph (
1991+313:19 tight name f
1992+313:21 name a
1993+313:23 name b
1994+313:24 tight glyph )
1995+315:1 DEDENT
1996+315:1 DEDENT
1997+315:1 NEWLINE
1998+315:1 glyph ++
1999+315:4 name curr
2000+315:9 glyph |=
2001+315:12 name args
2002+315:16 tight glyph =
2003+315:17 tight glyph [
2004+315:18 tight glyph $-(
2005+315:21 tight glyph [
2006+315:22 tight tvar A
2007+315:24 tvar B
2008+315:25 tight glyph ]
2009+315:27 tvar C
2010+315:28 tight glyph )
2011+315:30 tvar B
2012+315:31 tight glyph ]
2013+316:3 INDENT
2014+316:3 glyph ?-
2015+316:6 name args
2016+317:5 INDENT
2017+317:5 glyph [
2018+317:6 tight name f
2019+317:8 name b
2020+317:9 tight glyph ]
2021+317:11 glyph |=
2022+317:14 name a
2023+317:15 tight glyph =
2024+317:16 tight tvar A
2025+317:18 glyph (
2026+317:19 tight name f
2027+317:21 name a
2028+317:23 name b
2029+317:24 tight glyph )
2030+319:1 DEDENT
20522031319:1 DEDENT
20532032319:1 NEWLINE
2054−319:1 glyph ++
2055−319:4 name gth
2056−319:8 glyph |=
2057−319:11 name args
2058−319:15 tight glyph =
2059−319:16 tight glyph [
2060−319:17 tight tvar A
2061−319:19 tvar A
2062−319:20 tight glyph ]
2063−319:22 glyph (
2064−319:23 tight wing gth-atom.internal
2065−319:41 name args
2066−319:45 tight glyph )
2067−319:46 NEWLINE
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 ++
2095+326:4 name gth
2096+326:8 glyph |=
2097+326:11 name args
2098+326:15 tight glyph =
2099+326:16 tight glyph [
2100+326:17 tight tvar A
2101+326:19 tvar A
2102+326:20 tight glyph ]
2103+326:22 glyph (
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
2119+327:41 name args
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 )
2132+328:42 NEWLINE
tests/golden/prelude-unit-list-transforms/tree.txt+864−834
@@ -1,395 +1,390 @@
11(module
22 (jibb 1:1 internal /lib/jibb/internal)
33 (mold 2:1 poke (ref 2:9 poke.internal))
4− (value 6:1 same
5− (gate 6:9
6− (face 6:12 x (tvar 6:14 A))
7− (wing 6:16 x)))
8− (value 8:1 head
9− (gate 8:9
10− (face 8:12 p
11− (cell 8:14 (tvar 8:15 A) (tvar 8:17 B)))
12− (body 9:3
13− (branch 9:3
14− (wing 9:6 p)
15− (arm 10:5
16− (cell 10:5 (bind 10:6 a) (bind 10:8 b))
17− (wing 10:11 a))))))
18− (value 12:1 tail
19− (gate 12:9
20− (face 12:12 p
21− (cell 12:14 (tvar 12:15 A) (tvar 12:17 B)))
22− (body 13:3
23− (branch 13:3
24− (wing 13:6 p)
25− (arm 14:5
26− (cell 14:5 (bind 14:6 a) (bind 14:8 b))
27− (wing 14:11 b))))))
28− (value 16:1 not
29− (gate 16:8
30− (face 16:11 b (flag 16:13))
31− (body 17:3
32− (branch 17:3
33− (wing 17:6 b)
34− (arm 18:5 (lit 18:5 %.y) (lit 18:9 %.n))
35− (arm 19:5 (lit 19:5 %.n) (lit 19:9 %.y))))))
36− (mold 21:1 list
37− (generic 21:9 A
38− (union 22:3
39− (const 22:3 ~)
40− (cell 23:3
41− (face 23:4 i (tvar 23:6 A))
42− (face 23:8 t
43− (apply 23:10 list (tvar 23:16 A)))))))
44− (mold 25:1 unit
45− (generic 25:9 A
46− (union 26:3
47− (const 26:3 ~)
48− (cell 27:3
49− (const 27:4 ~)
50− (face 27:6 u (tvar 27:8 A))))))
51− (value 29:1 fall
52− (gate 29:9
53− (face 29:12 args
54− (cell 29:17
55− (apply 29:18 unit (tvar 29:24 A))
56− (tvar 29:27 A)))
57− (body 30:3
58− (branch 30:3
59− (wing 30:6 args)
60− (arm 31:5
61− (cell 31:5 (bind 31:6 maybe) (bind 31:12 fallback))
62− (body 32:7
63− (branch 32:7
64− (wing 32:10 maybe)
65− (arm 33:9 (lit 33:9 ~) (wing 33:11 fallback))
66− (arm 34:9
67− (cell 34:9 (lit 34:10 ~) (bind 34:12 value))
68− (wing 34:19 value)))))))))
69− (value 36:1 need
70− (gate 36:9
71− (face 36:12 maybe
72− (apply 36:18 unit (tvar 36:24 A)))
73− (body 37:3
74− (branch 37:3
75− (wing 37:6 maybe)
76− (arm 38:5 (lit 38:5 ~) (crash 38:7))
77− (arm 39:5
78− (cell 39:5 (lit 39:6 ~) (bind 39:8 value))
79− (wing 39:15 value))))))
80− (value 41:1 weld
81− (gate 41:9
82− (face 41:12 args
83− (cell 41:17
84− (apply 41:18 list (tvar 41:24 A))
85− (apply 41:27 list (tvar 41:33 A))))
86− (body 42:3
87− (branch 42:3
88− (wing 42:6 args)
89− (arm 43:5
90− (cell 43:5 (bind 43:6 xs) (bind 43:9 ys))
91− (body 44:7
92− (cast 44:7
93− (apply 44:10 list (tvar 44:16 A))
94− (body 45:9
95− (branch 45:9
96− (wing 45:12 xs)
97− (arm 46:11 (lit 46:11 ~) (wing 46:13 ys))
98− (arm 47:11
99− (cell 47:11 (bind 47:12 item) (bind 47:17 rest))
100− (tuple 47:23
101− (wing 47:24 item)
102− (group 47:29
103− (call 47:30 (wing 47:30 weld) (wing 47:35 rest) (wing 47:40 ys))))))))))))))
104− (value 49:1 turn
105− (gate 49:9
106− (face 49:12 args
107− (cell 49:17
108− (apply 49:18 list (tvar 49:24 A))
109− (fn 49:27 (tvar 49:30 A) (tvar 49:32 B))))
110− (body 50:3
111− (branch 50:3
112− (wing 50:6 args)
113− (arm 51:5
114− (cell 51:5 (bind 51:6 xs) (bind 51:9 f))
115− (body 52:7
116− (cast 52:7
117− (apply 52:10 list (tvar 52:16 B))
118− (body 53:9
119− (branch 53:9
120− (wing 53:12 xs)
121− (arm 54:11 (lit 54:11 ~) (lit 54:13 ~))
122− (arm 55:11
123− (cell 55:11 (bind 55:12 item) (bind 55:17 rest))
124− (tuple 55:23
125− (group 55:24
126− (call 55:25 (wing 55:25 f) (wing 55:27 item)))
127− (group 55:33
128− (call 55:34 (wing 55:34 turn) (wing 55:39 rest) (wing 55:44 f))))))))))))))
129− (mold 57:1 dime
130− (cell 57:9
131− (face 57:10 p (aura 57:12 @ta))
132− (face 57:16 q (aura 57:18 @))))
133− (mold 59:1 hair
134− (cell 59:9
135− (face 59:10 p (aura 59:12 @ud))
136− (face 59:16 q (aura 59:18 @ud))))
137− (mold 61:1 pint
138− (cell 61:9
139− (face 61:10 p
140− (cell 61:12
141− (face 61:13 p (aura 61:15 @))
142− (face 61:17 q (aura 61:19 @))))
143− (face 61:22 q
144− (cell 61:24
145− (face 61:25 p (aura 61:27 @))
146− (face 61:29 q (aura 61:31 @))))))
147− (mold 63:1 coin
148− (union 64:3
149− (cell 64:3
150− (const 64:4 %$)
151− (face 64:7 p (ref 64:9 dime)))
4+ (mold 3:1 qath (ref 3:9 qath.internal))
5+ (value 7:1 same
6+ (gate 7:9
7+ (face 7:12 x (tvar 7:14 A))
8+ (wing 7:16 x)))
9+ (value 9:1 head
10+ (gate 9:9
11+ (face 9:12 p
12+ (cell 9:14 (tvar 9:15 A) (tvar 9:17 B)))
13+ (body 10:3
14+ (branch 10:3
15+ (wing 10:6 p)
16+ (arm 11:5
17+ (cell 11:5 (bind 11:6 a) (bind 11:8 b))
18+ (wing 11:11 a))))))
19+ (value 13:1 tail
20+ (gate 13:9
21+ (face 13:12 p
22+ (cell 13:14 (tvar 13:15 A) (tvar 13:17 B)))
23+ (body 14:3
24+ (branch 14:3
25+ (wing 14:6 p)
26+ (arm 15:5
27+ (cell 15:5 (bind 15:6 a) (bind 15:8 b))
28+ (wing 15:11 b))))))
29+ (value 17:1 not
30+ (gate 17:8
31+ (face 17:11 b (flag 17:13))
32+ (body 18:3
33+ (branch 18:3
34+ (wing 18:6 b)
35+ (arm 19:5 (lit 19:5 %.y) (lit 19:9 %.n))
36+ (arm 20:5 (lit 20:5 %.n) (lit 20:9 %.y))))))
37+ (mold 22:1 list
38+ (generic 22:9 A
39+ (union 23:3
40+ (const 23:3 ~)
41+ (cell 24:3
42+ (face 24:4 i (tvar 24:6 A))
43+ (face 24:8 t
44+ (apply 24:10 list (tvar 24:16 A)))))))
45+ (mold 26:1 unit
46+ (generic 26:9 A
47+ (union 27:3
48+ (const 27:3 ~)
49+ (cell 28:3
50+ (const 28:4 ~)
51+ (face 28:6 u (tvar 28:8 A))))))
52+ (value 30:1 fall
53+ (gate 30:9
54+ (face 30:12 args
55+ (cell 30:17
56+ (apply 30:18 unit (tvar 30:24 A))
57+ (tvar 30:27 A)))
58+ (body 31:3
59+ (branch 31:3
60+ (wing 31:6 args)
61+ (arm 32:5
62+ (cell 32:5 (bind 32:6 maybe) (bind 32:12 fallback))
63+ (body 33:7
64+ (branch 33:7
65+ (wing 33:10 maybe)
66+ (arm 34:9 (lit 34:9 ~) (wing 34:11 fallback))
67+ (arm 35:9
68+ (cell 35:9 (lit 35:10 ~) (bind 35:12 value))
69+ (wing 35:19 value)))))))))
70+ (value 37:1 need
71+ (gate 37:9
72+ (face 37:12 maybe
73+ (apply 37:18 unit (tvar 37:24 A)))
74+ (body 38:3
75+ (branch 38:3
76+ (wing 38:6 maybe)
77+ (arm 39:5 (lit 39:5 ~) (crash 39:7))
78+ (arm 40:5
79+ (cell 40:5 (lit 40:6 ~) (bind 40:8 value))
80+ (wing 40:15 value))))))
81+ (value 42:1 weld
82+ (gate 42:9
83+ (face 42:12 args
84+ (cell 42:17
85+ (apply 42:18 list (tvar 42:24 A))
86+ (apply 42:27 list (tvar 42:33 A))))
87+ (body 43:3
88+ (branch 43:3
89+ (wing 43:6 args)
90+ (arm 44:5
91+ (cell 44:5 (bind 44:6 xs) (bind 44:9 ys))
92+ (body 45:7
93+ (cast 45:7
94+ (apply 45:10 list (tvar 45:16 A))
95+ (body 46:9
96+ (branch 46:9
97+ (wing 46:12 xs)
98+ (arm 47:11 (lit 47:11 ~) (wing 47:13 ys))
99+ (arm 48:11
100+ (cell 48:11 (bind 48:12 item) (bind 48:17 rest))
101+ (tuple 48:23
102+ (wing 48:24 item)
103+ (group 48:29
104+ (call 48:30 (wing 48:30 weld) (wing 48:35 rest) (wing 48:40 ys))))))))))))))
105+ (value 50:1 turn
106+ (gate 50:9
107+ (face 50:12 args
108+ (cell 50:17
109+ (apply 50:18 list (tvar 50:24 A))
110+ (fn 50:27 (tvar 50:30 A) (tvar 50:32 B))))
111+ (body 51:3
112+ (branch 51:3
113+ (wing 51:6 args)
114+ (arm 52:5
115+ (cell 52:5 (bind 52:6 xs) (bind 52:9 f))
116+ (body 53:7
117+ (cast 53:7
118+ (apply 53:10 list (tvar 53:16 B))
119+ (body 54:9
120+ (branch 54:9
121+ (wing 54:12 xs)
122+ (arm 55:11 (lit 55:11 ~) (lit 55:13 ~))
123+ (arm 56:11
124+ (cell 56:11 (bind 56:12 item) (bind 56:17 rest))
125+ (tuple 56:23
126+ (group 56:24
127+ (call 56:25 (wing 56:25 f) (wing 56:27 item)))
128+ (group 56:33
129+ (call 56:34 (wing 56:34 turn) (wing 56:39 rest) (wing 56:44 f))))))))))))))
130+ (mold 58:1 dime
131+ (cell 58:9
132+ (face 58:10 p (aura 58:12 @ta))
133+ (face 58:16 q (aura 58:18 @))))
134+ (mold 60:1 hair
135+ (cell 60:9
136+ (face 60:10 p (aura 60:12 @ud))
137+ (face 60:16 q (aura 60:18 @ud))))
138+ (mold 62:1 pint
139+ (cell 62:9
140+ (face 62:10 p
141+ (cell 62:12
142+ (face 62:13 p (aura 62:15 @))
143+ (face 62:17 q (aura 62:19 @))))
144+ (face 62:22 q
145+ (cell 62:24
146+ (face 62:25 p (aura 62:27 @))
147+ (face 62:29 q (aura 62:31 @))))))
148+ (mold 64:1 coin
149+ (union 65:3
152150 (cell 65:3
153− (const 65:4 %blob)
154− (face 65:10 p (noun 65:12)))
151+ (const 65:4 %$)
152+ (face 65:7 p (ref 65:9 dime)))
155153 (cell 66:3
156− (const 66:4 %many)
157− (face 66:10 p
158− (apply 66:12 list (ref 66:18 coin))))))
159− (mold 68:1 pair
160− (generic 68:9 A B
161− (cell 68:18
162− (face 68:19 p (tvar 68:21 A))
163− (face 68:23 q (tvar 68:25 B)))))
164− (mold 70:1 trel
165− (generic 70:9 A B C
166− (cell 70:20
167− (face 70:21 p (tvar 70:23 A))
168− (face 70:25 q (tvar 70:27 B))
169− (face 70:29 r (tvar 70:31 C)))))
170− (mold 72:1 qual
171− (generic 72:9 A B C D
172− (cell 72:22
173− (face 72:23 p (tvar 72:25 A))
174− (face 72:27 q (tvar 72:29 B))
175− (face 72:31 r (tvar 72:33 C))
176− (face 72:35 s (tvar 72:37 D)))))
177− (mold 74:1 cord (aura 74:9 @t))
178− (mold 76:1 knot (aura 76:9 @ta))
179− (mold 78:1 tape
180− (apply 78:9 list (aura 78:15 @tD)))
181− (mold 80:1 path
182− (apply 80:9 list (ref 80:15 knot)))
183− (mold 82:1 tank
184− (union 83:3
185− (ref 83:3 cord)
186− (cell 84:3
187− (const 84:4 %leaf)
188− (face 84:10 p (ref 84:12 tape)))
154+ (const 66:4 %blob)
155+ (face 66:10 p (noun 66:12)))
156+ (cell 67:3
157+ (const 67:4 %many)
158+ (face 67:10 p
159+ (apply 67:12 list (ref 67:18 coin))))))
160+ (mold 69:1 pair
161+ (generic 69:9 A B
162+ (cell 69:18
163+ (face 69:19 p (tvar 69:21 A))
164+ (face 69:23 q (tvar 69:25 B)))))
165+ (mold 71:1 trel
166+ (generic 71:9 A B C
167+ (cell 71:20
168+ (face 71:21 p (tvar 71:23 A))
169+ (face 71:25 q (tvar 71:27 B))
170+ (face 71:29 r (tvar 71:31 C)))))
171+ (mold 73:1 qual
172+ (generic 73:9 A B C D
173+ (cell 73:22
174+ (face 73:23 p (tvar 73:25 A))
175+ (face 73:27 q (tvar 73:29 B))
176+ (face 73:31 r (tvar 73:33 C))
177+ (face 73:35 s (tvar 73:37 D)))))
178+ (mold 75:1 cord (aura 75:9 @t))
179+ (mold 77:1 knot (aura 77:9 @ta))
180+ (mold 79:1 tape
181+ (apply 79:9 list (aura 79:15 @tD)))
182+ (mold 81:1 path
183+ (apply 81:9 list (ref 81:15 knot)))
184+ (mold 83:1 tank
185+ (union 84:3
186+ (ref 84:3 cord)
189187 (cell 85:3
190− (const 85:4 %palm)
191− (face 85:10 p
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))))
188+ (const 85:4 %leaf)
189+ (face 85:10 p (ref 85:12 tape)))
195190 (cell 86:3
196− (const 86:4 %rose)
191+ (const 86:4 %palm)
197192 (face 86:10 p
198− (apply 86:12 trel (ref 86:18 tape) (ref 86:23 tape) (ref 86:28 tape)))
199− (face 86:34 q
200− (apply 86:36 list (ref 86:42 tank))))))
201− (mold 88:1 nail
202− (cell 88:9
203− (face 88:10 p (ref 88:12 hair))
204− (face 88:17 q (ref 88:19 tape))))
205− (mold 90:1 edge
206− (cell 90:9
207− (face 90:10 p (ref 90:12 hair))
208− (face 90:17 q
209− (apply 90:19 unit
210− (cell 90:25
211− (face 90:26 p (noun 90:28))
212− (face 90:30 q (ref 90:32 nail)))))))
213− (mold 92:1 rule
214− (fn 92:9 (ref 92:12 nail) (ref 92:17 edge)))
215− (mold 94:1 spot
216− (cell 94:9
217− (face 94:10 p (ref 94:12 path))
218− (face 94:17 q (ref 94:19 pint))))
219− (mold 96:1 toon
220− (union 97:3
221− (cell 97:3
222− (const 97:4 %0)
223− (face 97:7 p (noun 97:9)))
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
199+ (apply 87:12 trel (ref 87:18 tape) (ref 87:23 tape) (ref 87:28 tape)))
200+ (face 87:34 q
201+ (apply 87:36 list (ref 87:42 tank))))))
202+ (mold 89:1 nail
203+ (cell 89:9
204+ (face 89:10 p (ref 89:12 hair))
205+ (face 89:17 q (ref 89:19 tape))))
206+ (mold 91:1 edge
207+ (cell 91:9
208+ (face 91:10 p (ref 91:12 hair))
209+ (face 91:17 q
210+ (apply 91:19 unit
211+ (cell 91:25
212+ (face 91:26 p (noun 91:28))
213+ (face 91:30 q (ref 91:32 nail)))))))
214+ (mold 93:1 rule
215+ (fn 93:9 (ref 93:12 nail) (ref 93:17 edge)))
216+ (mold 95:1 spot
217+ (cell 95:9
218+ (face 95:10 p (ref 95:12 path))
219+ (face 95:17 q (ref 95:19 pint))))
220+ (mold 97:1 toon
221+ (union 98:3
224222 (cell 98:3
225− (const 98:4 %1)
223+ (const 98:4 %0)
226224 (face 98:7 p (noun 98:9)))
227225 (cell 99:3
228− (const 99:4 %2)
229− (face 99:7 p
230− (apply 99:9 list (ref 99:15 tank))))))
231− (mold 101:1 like
232− (generic 101:9 A
233− (cell 101:16
234− (face 101:17 p (ref 101:19 hair))
235− (face 101:24 q
236− (apply 101:26 unit
237− (cell 101:32
238− (face 101:33 p (tvar 101:35 A))
239− (face 101:37 q (ref 101:39 nail))))))))
240− (value 103:1 wonk
241− (gate 103:9
242− (face 103:12 veq
243− (apply 103:16 like (tvar 103:22 A)))
244− (body 104:3
245− (branch 104:3
246− (wing 104:6 q.veq)
247− (arm 105:5 (lit 105:5 ~) (crash 105:7))
248− (arm 106:5
249− (cell 106:5 (lit 106:6 ~) (bind 106:8 product))
250− (wing 106:17 p.product))))))
251− (mold 108:1 lone
252− (generic 108:9 A
253− (cell 108:16
254− (face 108:17 p (tvar 108:19 A)))))
255− (mold 110:1 lest
256− (generic 110:9 A
257− (cell 110:16
258− (face 110:17 i (tvar 110:19 A))
259− (face 110:21 t
260− (apply 110:23 list (tvar 110:29 A))))))
261− (mold 112:1 pole
262− (generic 112:9 A
263− (union 113:3
264− (const 113:3 ~)
265− (cell 114:3
266− (tvar 114:4 A)
267− (apply 114:6 pole (tvar 114:12 A))))))
268− (mold 116:1 quip
269− (generic 116:9 A B
270− (cell 116:18
271− (apply 116:19 list (tvar 116:25 A))
272− (tvar 116:28 B))))
273− (mold 118:1 tree
274− (generic 118:9 A
275− (union 119:3
276− (const 119:3 ~)
277− (cell 120:3
278− (face 120:4 n (tvar 120:6 A))
279− (face 120:8 l
280− (apply 120:10 tree (tvar 120:16 A)))
281− (face 120:19 r
282− (apply 120:21 tree (tvar 120:27 A)))))))
283− (mold 122:1 each
284− (generic 122:9 A B
285− (union 123:3
286− (cell 123:3
287− (const 123:4 %|)
288− (face 123:7 p (tvar 123:9 B)))
226+ (const 99:4 %1)
227+ (face 99:7 p (noun 99:9)))
228+ (cell 100:3
229+ (const 100:4 %2)
230+ (face 100:7 p
231+ (apply 100:9 list (ref 100:15 tank))))))
232+ (mold 102:1 like
233+ (generic 102:9 A
234+ (cell 102:16
235+ (face 102:17 p (ref 102:19 hair))
236+ (face 102:24 q
237+ (apply 102:26 unit
238+ (cell 102:32
239+ (face 102:33 p (tvar 102:35 A))
240+ (face 102:37 q (ref 102:39 nail))))))))
241+ (value 104:1 wonk
242+ (gate 104:9
243+ (face 104:12 veq
244+ (apply 104:16 like (tvar 104:22 A)))
245+ (body 105:3
246+ (branch 105:3
247+ (wing 105:6 q.veq)
248+ (arm 106:5 (lit 106:5 ~) (crash 106:7))
249+ (arm 107:5
250+ (cell 107:5 (lit 107:6 ~) (bind 107:8 product))
251+ (wing 107:17 p.product))))))
252+ (mold 109:1 lone
253+ (generic 109:9 A
254+ (cell 109:16
255+ (face 109:17 p (tvar 109:19 A)))))
256+ (mold 111:1 lest
257+ (generic 111:9 A
258+ (cell 111:16
259+ (face 111:17 i (tvar 111:19 A))
260+ (face 111:21 t
261+ (apply 111:23 list (tvar 111:29 A))))))
262+ (mold 113:1 pole
263+ (generic 113:9 A
264+ (union 114:3
265+ (const 114:3 ~)
266+ (cell 115:3
267+ (tvar 115:4 A)
268+ (apply 115:6 pole (tvar 115:12 A))))))
269+ (mold 117:1 quip
270+ (generic 117:9 A B
271+ (cell 117:18
272+ (apply 117:19 list (tvar 117:25 A))
273+ (tvar 117:28 B))))
274+ (mold 119:1 tree
275+ (generic 119:9 A
276+ (union 120:3
277+ (const 120:3 ~)
278+ (cell 121:3
279+ (face 121:4 n (tvar 121:6 A))
280+ (face 121:8 l
281+ (apply 121:10 tree (tvar 121:16 A)))
282+ (face 121:19 r
283+ (apply 121:21 tree (tvar 121:27 A)))))))
284+ (mold 123:1 each
285+ (generic 123:9 A B
286+ (union 124:3
289287 (cell 124:3
290− (const 124:4 %&)
291− (face 124:7 p (tvar 124:9 A))))))
292− (mold 126:1 bloq (aura 126:9 @))
293− (value 128:1 some
294− (gate 128:9
295− (face 128:12 item (tvar 128:17 A))
296− (unit 128:19 (wing 128:20 item))))
297− (value 130:1 lure
298− (gate 130:9
299− (face 130:12 item (tvar 130:17 A))
300− (body 131:3
301− (cast 131:3
302− (apply 131:6 list (tvar 131:12 A))
303− (tuple 131:15 (wing 131:16 item) (lit 131:21 ~))))))
304− (value 133:1 snoc
305− (gate 133:9
306− (face 133:12 args
307− (cell 133:17
308− (apply 133:18 list (tvar 133:24 A))
309− (tvar 133:27 A)))
310− (body 134:3
311− (branch 134:3
312− (wing 134:6 args)
313− (arm 135:5
314− (cell 135:5 (bind 135:6 xs) (bind 135:9 item))
315− (group 135:15
316− (call 135:16
317− (wing 135:16 weld)
318− (wing 135:21 xs)
319− (tuple 135:24 (wing 135:25 item) (lit 135:30 ~)))))))))
320− (value 137:1 flop
321− (gate 137:9
322− (face 137:12 xs
323− (apply 137:15 list (tvar 137:21 A)))
324− (body 138:3
325− (value 138:3 reverse-into
326− (gate 138:19
327− (face 138:22 args
328− (cell 138:27
329− (apply 138:28 list (tvar 138:34 A))
330− (apply 138:37 list (tvar 138:43 A))))
331− (body 139:5
332− (branch 139:5
333− (wing 139:8 args)
334− (arm 140:7
335− (cell 140:7 (bind 140:8 rest) (bind 140:13 acc))
336− (body 141:9
337− (branch 141:9
338− (wing 141:12 rest)
339− (arm 142:11 (lit 142:11 ~) (wing 142:13 acc))
340− (arm 143:11
341− (cell 143:11 (bind 143:12 item) (bind 143:17 more))
342− (group 143:23
343− (call 143:24
344− (wing 143:24 reverse-into)
345− (wing 143:37 more)
346− (tuple 143:42 (wing 143:43 item) (wing 143:48 acc))))))))))))
347− (group 144:3
348− (call 144:4 (wing 144:4 reverse-into) (wing 144:17 xs) (lit 144:20 ~))))))
349− (value 146:1 drop
350− (gate 146:9
351− (face 146:12 maybe
352− (apply 146:18 unit (tvar 146:24 A)))
353− (body 147:3
354− (cast 147:3
355− (apply 147:6 list (tvar 147:12 A))
356− (body 148:5
357− (branch 148:5
358− (wing 148:8 maybe)
359− (arm 149:7 (lit 149:7 ~) (lit 149:9 ~))
360− (arm 150:7
361− (cell 150:7 (lit 150:8 ~) (bind 150:10 value))
362− (tuple 150:17 (wing 150:18 value) (lit 150:24 ~)))))))))
363− (value 152:1 bind
364− (gate 152:9
365− (face 152:12 args
366− (cell 152:17
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
370− (branch 153:3
371− (wing 153:6 args)
372− (arm 154:5
373− (cell 154:5 (bind 154:6 maybe) (bind 154:12 f))
374− (cast 154:15
375− (apply 154:18 unit (tvar 154:24 B))
376− (body 155:7
377− (branch 155:7
378− (wing 155:10 maybe)
379− (arm 156:9 (lit 156:9 ~) (lit 156:11 ~))
380− (arm 157:9
381− (cell 157:9 (lit 157:10 ~) (bind 157:12 value))
382− (unit 157:19
383− (group 157:20
384− (call 157:21 (wing 157:21 f) (wing 157:23 value)))))))))))))
385− (value 159:1 biff
288+ (const 124:4 %|)
289+ (face 124:7 p (tvar 124:9 B)))
290+ (cell 125:3
291+ (const 125:4 %&)
292+ (face 125:7 p (tvar 125:9 A))))))
293+ (mold 127:1 bloq (aura 127:9 @))
294+ (value 129:1 some
295+ (gate 129:9
296+ (face 129:12 item (tvar 129:17 A))
297+ (unit 129:19 (wing 129:20 item))))
298+ (value 131:1 lure
299+ (gate 131:9
300+ (face 131:12 item (tvar 131:17 A))
301+ (body 132:3
302+ (cast 132:3
303+ (apply 132:6 list (tvar 132:12 A))
304+ (tuple 132:15 (wing 132:16 item) (lit 132:21 ~))))))
305+ (value 134:1 snoc
306+ (gate 134:9
307+ (face 134:12 args
308+ (cell 134:17
309+ (apply 134:18 list (tvar 134:24 A))
310+ (tvar 134:27 A)))
311+ (body 135:3
312+ (branch 135:3
313+ (wing 135:6 args)
314+ (arm 136:5
315+ (cell 136:5 (bind 136:6 xs) (bind 136:9 item))
316+ (group 136:15
317+ (call 136:16
318+ (wing 136:16 weld)
319+ (wing 136:21 xs)
320+ (tuple 136:24 (wing 136:25 item) (lit 136:30 ~)))))))))
321+ (value 138:1 flop
322+ (gate 138:9
323+ (face 138:12 xs
324+ (apply 138:15 list (tvar 138:21 A)))
325+ (body 139:3
326+ (value 139:3 reverse-into
327+ (gate 139:19
328+ (face 139:22 args
329+ (cell 139:27
330+ (apply 139:28 list (tvar 139:34 A))
331+ (apply 139:37 list (tvar 139:43 A))))
332+ (body 140:5
333+ (branch 140:5
334+ (wing 140:8 args)
335+ (arm 141:7
336+ (cell 141:7 (bind 141:8 rest) (bind 141:13 acc))
337+ (body 142:9
338+ (branch 142:9
339+ (wing 142:12 rest)
340+ (arm 143:11 (lit 143:11 ~) (wing 143:13 acc))
341+ (arm 144:11
342+ (cell 144:11 (bind 144:12 item) (bind 144:17 more))
343+ (group 144:23
344+ (call 144:24
345+ (wing 144:24 reverse-into)
346+ (wing 144:37 more)
347+ (tuple 144:42 (wing 144:43 item) (wing 144:48 acc))))))))))))
348+ (group 145:3
349+ (call 145:4 (wing 145:4 reverse-into) (wing 145:17 xs) (lit 145:20 ~))))))
350+ (value 147:1 drop
351+ (gate 147:9
352+ (face 147:12 maybe
353+ (apply 147:18 unit (tvar 147:24 A)))
354+ (body 148:3
355+ (cast 148:3
356+ (apply 148:6 list (tvar 148:12 A))
357+ (body 149:5
358+ (branch 149:5
359+ (wing 149:8 maybe)
360+ (arm 150:7 (lit 150:7 ~) (lit 150:9 ~))
361+ (arm 151:7
362+ (cell 151:7 (lit 151:8 ~) (bind 151:10 value))
363+ (tuple 151:17 (wing 151:18 value) (lit 151:24 ~)))))))))
364+ (value 153:1 bond
365+ (gate 153:9
366+ (face 153:12 fallback
367+ (fn 153:21 (const 153:24 ~) (tvar 153:26 A)))
368+ (body 154:3
369+ (gate 154:3
370+ (face 154:6 maybe
371+ (apply 154:12 unit (tvar 154:18 A)))
372+ (body 155:5
373+ (branch 155:5
374+ (wing 155:8 maybe)
375+ (arm 156:7
376+ (lit 156:7 ~)
377+ (group 156:9
378+ (call 156:10 (wing 156:10 fallback) (lit 156:19 ~))))
379+ (arm 157:7
380+ (cell 157:7 (lit 157:8 ~) (bind 157:10 value))
381+ (wing 157:17 value))))))))
382+ (value 159:1 bind
386383 (gate 159:9
387384 (face 159:12 args
388385 (cell 159:17
389386 (apply 159:18 unit (tvar 159:24 A))
390− (fn 159:27
391− (tvar 159:30 A)
392− (apply 159:32 unit (tvar 159:38 B)))))
387+ (fn 159:27 (tvar 159:30 A) (tvar 159:32 B))))
393388 (body 160:3
394389 (branch 160:3
395390 (wing 160:6 args)
@@ -403,249 +398,246 @@
403398 (arm 163:9 (lit 163:9 ~) (lit 163:11 ~))
404399 (arm 164:9
405400 (cell 164:9 (lit 164:10 ~) (bind 164:12 value))
406− (group 164:19
407− (call 164:20 (wing 164:20 f) (wing 164:22 value))))))))))))
408− (value 166:1 both
401+ (unit 164:19
402+ (group 164:20
403+ (call 164:21 (wing 164:21 f) (wing 164:23 value)))))))))))))
404+ (value 166:1 biff
409405 (gate 166:9
410406 (face 166:12 args
411407 (cell 166:17
412408 (apply 166:18 unit (tvar 166:24 A))
413− (apply 166:27 unit (tvar 166:33 B))))
409+ (fn 166:27
410+ (tvar 166:30 A)
411+ (apply 166:32 unit (tvar 166:38 B)))))
414412 (body 167:3
415413 (branch 167:3
416414 (wing 167:6 args)
417415 (arm 168:5
418− (cell 168:5 (bind 168:6 first) (bind 168:12 second))
419− (cast 168:20
420− (apply 168:23 unit
421− (cell 168:29 (tvar 168:30 A) (tvar 168:32 B)))
416+ (cell 168:5 (bind 168:6 maybe) (bind 168:12 f))
417+ (cast 168:15
418+ (apply 168:18 unit (tvar 168:24 B))
422419 (body 169:7
423420 (branch 169:7
424− (wing 169:10 first)
421+ (wing 169:10 maybe)
425422 (arm 170:9 (lit 170:9 ~) (lit 170:11 ~))
426423 (arm 171:9
427− (cell 171:9 (lit 171:10 ~) (bind 171:12 a))
428− (body 172:11
429− (branch 172:11
430− (wing 172:14 second)
431− (arm 173:13 (lit 173:13 ~) (lit 173:15 ~))
432− (arm 174:13
433− (cell 174:13 (lit 174:14 ~) (bind 174:16 b))
434− (unit 174:19
435− (tuple 174:20 (wing 174:21 a) (wing 174:23 b)))))))))))))))
436− (value 176:1 clap
437− (gate 176:9
438− (face 176:12 args
439− (cell 176:17
440− (apply 176:18 unit (tvar 176:24 A))
441− (apply 176:27 unit (tvar 176:33 A))
442− (fn 176:36
443− (cell 176:39 (tvar 176:40 A) (tvar 176:42 A))
444− (tvar 176:45 A))))
445− (body 177:3
446− (branch 177:3
447− (wing 177:6 args)
448− (arm 178:5
449− (cell 178:5 (bind 178:6 first) (bind 178:12 second) (bind 178:19 combine))
450− (cast 178:28
451− (apply 178:31 unit (tvar 178:37 A))
452− (body 179:7
453− (branch 179:7
454− (wing 179:10 first)
455− (arm 180:9 (lit 180:9 ~) (wing 180:11 second))
456− (arm 181:9
457− (cell 181:9 (lit 181:10 ~) (bind 181:12 a))
458− (body 182:11
459− (branch 182:11
460− (wing 182:14 second)
461− (arm 183:13 (lit 183:13 ~) (wing 183:15 first))
462− (arm 184:13
463− (cell 184:13 (lit 184:14 ~) (bind 184:16 b))
464− (unit 184:19
465− (group 184:20
466− (call 184:21 (wing 184:21 combine) (wing 184:29 a) (wing 184:31 b))))))))))))))))
467− (value 186:1 clef
468− (gate 186:9
469− (face 186:12 args
470− (cell 186:17
471− (apply 186:18 unit (tvar 186:24 A))
472− (apply 186:27 unit (tvar 186:33 B))
473− (fn 186:36
474− (cell 186:39 (tvar 186:40 A) (tvar 186:42 B))
475− (apply 186:45 unit (tvar 186:51 C)))))
476− (body 187:3
477− (branch 187:3
478− (wing 187:6 args)
479− (arm 188:5
480− (cell 188:5 (bind 188:6 first) (bind 188:12 second) (bind 188:19 combine))
481− (cast 188:28
482− (apply 188:31 unit (tvar 188:37 C))
483− (body 189:7
484− (branch 189:7
485− (wing 189:10 first)
486− (arm 190:9 (lit 190:9 ~) (lit 190:11 ~))
487− (arm 191:9
488− (cell 191:9 (lit 191:10 ~) (bind 191:12 a))
489− (body 192:11
490− (branch 192:11
491− (wing 192:14 second)
492− (arm 193:13 (lit 193:13 ~) (lit 193:15 ~))
493− (arm 194:13
494− (cell 194:13 (lit 194:14 ~) (bind 194:16 b))
495− (group 194:19
496− (call 194:20 (wing 194:20 combine) (wing 194:28 a) (wing 194:30 b)))))))))))))))
497− (value 196:1 skim
498− (gate 196:9
499− (face 196:12 args
500− (cell 196:17
501− (apply 196:18 list (tvar 196:24 A))
502− (fn 196:27 (tvar 196:30 A) (flag 196:32))))
503− (body 197:3
504− (branch 197:3
505− (wing 197:6 args)
506− (arm 198:5
507− (cell 198:5 (bind 198:6 xs) (bind 198:9 predicate))
508− (cast 198:20
509− (apply 198:23 list (tvar 198:29 A))
510− (body 199:9
511− (branch 199:9
512− (wing 199:12 xs)
513− (arm 200:11 (lit 200:11 ~) (lit 200:13 ~))
514− (arm 201:11
515− (cell 201:11 (bind 201:12 item) (bind 201:17 rest))
516− (body 202:13
517− (branch 202:13
518− (group 202:16
519− (call 202:17 (wing 202:17 predicate) (wing 202:27 item)))
520− (arm 203:15
521− (lit 203:15 %.y)
522− (tuple 203:19
523− (wing 203:20 item)
524− (group 203:25
525− (call 203:26 (wing 203:26 skim) (wing 203:31 rest) (wing 203:36 predicate)))))
526− (arm 204:15
527− (lit 204:15 %.n)
528− (group 204:19
529− (call 204:20 (wing 204:20 skim) (wing 204:25 rest) (wing 204:30 predicate)))))))))))))))
530− (value 206:1 skip
531− (gate 206:9
532− (face 206:12 args
533− (cell 206:17
534− (apply 206:18 list (tvar 206:24 A))
535− (fn 206:27 (tvar 206:30 A) (flag 206:32))))
536− (body 207:3
537− (branch 207:3
538− (wing 207:6 args)
539− (arm 208:5
540− (cell 208:5 (bind 208:6 xs) (bind 208:9 predicate))
541− (cast 208:20
542− (apply 208:23 list (tvar 208:29 A))
543− (body 209:9
544− (branch 209:9
545− (wing 209:12 xs)
546− (arm 210:11 (lit 210:11 ~) (lit 210:13 ~))
547− (arm 211:11
548− (cell 211:11 (bind 211:12 item) (bind 211:17 rest))
549− (body 212:13
550− (branch 212:13
551− (group 212:16
552− (call 212:17 (wing 212:17 predicate) (wing 212:27 item)))
553− (arm 213:15
554− (lit 213:15 %.y)
555− (group 213:19
556− (call 213:20 (wing 213:20 skip) (wing 213:25 rest) (wing 213:30 predicate))))
557− (arm 214:15
558− (lit 214:15 %.n)
559− (tuple 214:19
560− (wing 214:20 item)
561− (group 214:25
562− (call 214:26 (wing 214:26 skip) (wing 214:31 rest) (wing 214:36 predicate))))))))))))))))
563− (value 216:1 levy
564− (gate 216:9
565− (face 216:12 args
566− (cell 216:17
567− (apply 216:18 list (tvar 216:24 A))
568− (fn 216:27 (tvar 216:30 A) (flag 216:32))))
569− (body 217:3
570− (cast 217:3
571− (flag 217:6)
572− (body 218:5
573− (branch 218:5
574− (wing 218:8 args)
575− (arm 219:7
576− (cell 219:7 (bind 219:8 xs) (bind 219:11 predicate))
577− (body 220:9
578− (branch 220:9
579− (wing 220:12 xs)
580− (arm 221:11 (lit 221:11 ~) (lit 221:13 %.y))
581− (arm 222:11
582− (cell 222:11 (bind 222:12 item) (bind 222:17 rest))
583− (body 223:13
584− (branch 223:13
585− (group 223:16
586− (call 223:17 (wing 223:17 predicate) (wing 223:27 item)))
587− (arm 224:15
588− (lit 224:15 %.y)
589− (group 224:19
590− (call 224:20 (wing 224:20 levy) (wing 224:25 rest) (wing 224:30 predicate))))
591− (arm 225:15 (lit 225:15 %.n) (lit 225:19 %.n))))))))))))))
592− (value 227:1 lien
593− (gate 227:9
594− (face 227:12 args
595− (cell 227:17
596− (apply 227:18 list (tvar 227:24 A))
597− (fn 227:27 (tvar 227:30 A) (flag 227:32))))
598− (body 228:3
599− (cast 228:3
600− (flag 228:6)
601− (body 229:5
602− (branch 229:5
603− (wing 229:8 args)
604− (arm 230:7
605− (cell 230:7 (bind 230:8 xs) (bind 230:11 predicate))
606− (body 231:9
607− (branch 231:9
608− (wing 231:12 xs)
609− (arm 232:11 (lit 232:11 ~) (lit 232:13 %.n))
610− (arm 233:11
611− (cell 233:11 (bind 233:12 item) (bind 233:17 rest))
612− (body 234:13
613− (branch 234:13
614− (group 234:16
615− (call 234:17 (wing 234:17 predicate) (wing 234:27 item)))
616− (arm 235:15 (lit 235:15 %.y) (lit 235:19 %.y))
617− (arm 236:15
618− (lit 236:15 %.n)
619− (group 236:19
620− (call 236:20 (wing 236:20 lien) (wing 236:25 rest) (wing 236: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
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))
447+ (body 179:11
448+ (branch 179:11
449+ (wing 179:14 second)
450+ (arm 180:13 (lit 180:13 ~) (lit 180:15 ~))
451+ (arm 181:13
452+ (cell 181:13 (lit 181:14 ~) (bind 181:16 b))
453+ (unit 181:19
454+ (tuple 181:20 (wing 181:21 a) (wing 181:23 b)))))))))))))))
455+ (value 183:1 clap
456+ (gate 183:9
457+ (face 183:12 args
458+ (cell 183:17
459+ (apply 183:18 unit (tvar 183:24 A))
460+ (apply 183:27 unit (tvar 183:33 A))
461+ (fn 183:36
462+ (cell 183:39 (tvar 183:40 A) (tvar 183:42 A))
463+ (tvar 183:45 A))))
464+ (body 184:3
465+ (branch 184:3
466+ (wing 184:6 args)
467+ (arm 185:5
468+ (cell 185:5 (bind 185:6 first) (bind 185:12 second) (bind 185:19 combine))
469+ (cast 185:28
470+ (apply 185:31 unit (tvar 185:37 A))
471+ (body 186:7
472+ (branch 186:7
473+ (wing 186:10 first)
474+ (arm 187:9 (lit 187:9 ~) (wing 187:11 second))
475+ (arm 188:9
476+ (cell 188:9 (lit 188:10 ~) (bind 188:12 a))
477+ (body 189:11
478+ (branch 189:11
479+ (wing 189:14 second)
480+ (arm 190:13 (lit 190:13 ~) (wing 190:15 first))
481+ (arm 191:13
482+ (cell 191:13 (lit 191:14 ~) (bind 191:16 b))
483+ (unit 191:19
484+ (group 191:20
485+ (call 191:21 (wing 191:21 combine) (wing 191:29 a) (wing 191:31 b))))))))))))))))
486+ (value 193:1 clef
487+ (gate 193:9
488+ (face 193:12 args
489+ (cell 193:17
490+ (apply 193:18 unit (tvar 193:24 A))
491+ (apply 193:27 unit (tvar 193:33 B))
492+ (fn 193:36
493+ (cell 193:39 (tvar 193:40 A) (tvar 193:42 B))
494+ (apply 193:45 unit (tvar 193:51 C)))))
495+ (body 194:3
496+ (branch 194:3
497+ (wing 194:6 args)
498+ (arm 195:5
499+ (cell 195:5 (bind 195:6 first) (bind 195:12 second) (bind 195:19 combine))
500+ (cast 195:28
501+ (apply 195:31 unit (tvar 195:37 C))
502+ (body 196:7
503+ (branch 196:7
504+ (wing 196:10 first)
505+ (arm 197:9 (lit 197:9 ~) (lit 197:11 ~))
506+ (arm 198:9
507+ (cell 198:9 (lit 198:10 ~) (bind 198:12 a))
508+ (body 199:11
509+ (branch 199:11
510+ (wing 199:14 second)
511+ (arm 200:13 (lit 200:13 ~) (lit 200:15 ~))
512+ (arm 201:13
513+ (cell 201:13 (lit 201:14 ~) (bind 201:16 b))
514+ (group 201:19
515+ (call 201:20 (wing 201:20 combine) (wing 201:28 a) (wing 201:30 b)))))))))))))))
516+ (value 203:1 skim
517+ (gate 203:9
518+ (face 203:12 args
519+ (cell 203:17
520+ (apply 203:18 list (tvar 203:24 A))
521+ (fn 203:27 (tvar 203:30 A) (flag 203:32))))
522+ (body 204:3
523+ (branch 204:3
524+ (wing 204:6 args)
525+ (arm 205:5
526+ (cell 205:5 (bind 205:6 xs) (bind 205:9 predicate))
527+ (cast 205:20
528+ (apply 205:23 list (tvar 205:29 A))
529+ (body 206:9
530+ (branch 206:9
531+ (wing 206:12 xs)
532+ (arm 207:11 (lit 207:11 ~) (lit 207:13 ~))
533+ (arm 208:11
534+ (cell 208:11 (bind 208:12 item) (bind 208:17 rest))
535+ (body 209:13
536+ (branch 209:13
537+ (group 209:16
538+ (call 209:17 (wing 209:17 predicate) (wing 209:27 item)))
539+ (arm 210:15
540+ (lit 210:15 %.y)
541+ (tuple 210:19
542+ (wing 210:20 item)
543+ (group 210:25
544+ (call 210:26 (wing 210:26 skim) (wing 210:31 rest) (wing 210:36 predicate)))))
545+ (arm 211:15
546+ (lit 211:15 %.n)
547+ (group 211:19
548+ (call 211:20 (wing 211:20 skim) (wing 211:25 rest) (wing 211:30 predicate)))))))))))))))
549+ (value 213:1 skip
550+ (gate 213:9
551+ (face 213:12 args
552+ (cell 213:17
553+ (apply 213:18 list (tvar 213:24 A))
554+ (fn 213:27 (tvar 213:30 A) (flag 213:32))))
555+ (body 214:3
556+ (branch 214:3
557+ (wing 214:6 args)
558+ (arm 215:5
559+ (cell 215:5 (bind 215:6 xs) (bind 215:9 predicate))
560+ (cast 215:20
561+ (apply 215:23 list (tvar 215:29 A))
562+ (body 216:9
563+ (branch 216:9
564+ (wing 216:12 xs)
565+ (arm 217:11 (lit 217:11 ~) (lit 217:13 ~))
566+ (arm 218:11
567+ (cell 218:11 (bind 218:12 item) (bind 218:17 rest))
568+ (body 219:13
569+ (branch 219:13
570+ (group 219:16
571+ (call 219:17 (wing 219:17 predicate) (wing 219:27 item)))
572+ (arm 220:15
573+ (lit 220:15 %.y)
574+ (group 220:19
575+ (call 220:20 (wing 220:20 skip) (wing 220:25 rest) (wing 220:30 predicate))))
576+ (arm 221:15
577+ (lit 221:15 %.n)
578+ (tuple 221:19
579+ (wing 221:20 item)
580+ (group 221:25
581+ (call 221:26 (wing 221:26 skip) (wing 221:31 rest) (wing 221:36 predicate))))))))))))))))
582+ (value 223:1 levy
583+ (gate 223:9
584+ (face 223:12 args
585+ (cell 223:17
586+ (apply 223:18 list (tvar 223:24 A))
587+ (fn 223:27 (tvar 223:30 A) (flag 223:32))))
588+ (body 224:3
589+ (cast 224:3
590+ (flag 224:6)
591+ (body 225:5
592+ (branch 225:5
593+ (wing 225:8 args)
594+ (arm 226:7
595+ (cell 226:7 (bind 226:8 xs) (bind 226:11 predicate))
596+ (body 227:9
597+ (branch 227:9
598+ (wing 227:12 xs)
599+ (arm 228:11 (lit 228:11 ~) (lit 228:13 %.y))
600+ (arm 229:11
601+ (cell 229:11 (bind 229:12 item) (bind 229:17 rest))
602+ (body 230:13
603+ (branch 230:13
604+ (group 230:16
605+ (call 230:17 (wing 230:17 predicate) (wing 230:27 item)))
606+ (arm 231:15
607+ (lit 231:15 %.y)
608+ (group 231:19
609+ (call 231:20 (wing 231:20 levy) (wing 231:25 rest) (wing 231:30 predicate))))
610+ (arm 232:15 (lit 232:15 %.n) (lit 232:19 %.n))))))))))))))
611+ (value 234:1 lien
612+ (gate 234:9
613+ (face 234:12 args
614+ (cell 234:17
615+ (apply 234:18 list (tvar 234:24 A))
616+ (fn 234:27 (tvar 234:30 A) (flag 234:32))))
617+ (body 235:3
618+ (cast 235:3
619+ (flag 235:6)
620+ (body 236:5
621+ (branch 236:5
622+ (wing 236:8 args)
623+ (arm 237:7
624+ (cell 237:7 (bind 237:8 xs) (bind 237:11 predicate))
625+ (body 238:9
626+ (branch 238:9
627+ (wing 238:12 xs)
628+ (arm 239:11 (lit 239:11 ~) (lit 239:13 %.n))
629+ (arm 240:11
630+ (cell 240:11 (bind 240:12 item) (bind 240:17 rest))
631+ (body 241:13
632+ (branch 241:13
633+ (group 241:16
634+ (call 241:17 (wing 241:17 predicate) (wing 241:27 item)))
635+ (arm 242:15 (lit 242:15 %.y) (lit 242:19 %.y))
636+ (arm 243:15
637+ (lit 243:15 %.n)
638+ (group 243:19
639+ (call 243:20 (wing 243:20 lien) (wing 243:25 rest) (wing 243:30 predicate))))))))))))))))
640+ (value 245:1 roll
649641 (gate 245:9
650642 (face 245:12 args
651643 (cell 245:17
@@ -667,235 +659,273 @@
667659 (cell 250:9 (bind 250:10 item) (bind 250:15 rest))
668660 (group 250:21
669661 (call 250:22
670− (wing 250:22 combine)
671− (wing 250:30 item)
672− (group 250:35
673− (call 250:36 (wing 250:36 reel) (wing 250:41 rest) (wing 250:46 start) (wing 250:52 combine)))))))))))))
674− (value 252:1 flit
662+ (wing 250:22 roll)
663+ (wing 250:27 rest)
664+ (group 250:32
665+ (call 250:33 (wing 250:33 combine) (wing 250:41 item) (wing 250:46 start)))
666+ (wing 250:53 combine)))))))))))
667+ (value 252:1 reel
675668 (gate 252:9
676− (face 252:12 predicate
677− (fn 252:22 (tvar 252:25 A) (flag 252:27)))
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
674+ (cell 252:32 (tvar 252:33 A) (tvar 252:35 B))
675+ (tvar 252:38 B))))
678676 (body 253:3
679− (gate 253:3
680− (face 253:6 value (tvar 253:12 A))
681− (body 254:5
682− (cast 254:5
683− (apply 254:8 unit (tvar 254:14 A))
684− (body 255:7
685− (branch 255:7
686− (group 255:10
687− (call 255:11 (wing 255:11 predicate) (wing 255:21 value)))
688− (arm 256:9
689− (lit 256:9 %.y)
690− (unit 256:13 (wing 256:14 value)))
691− (arm 257:9 (lit 257:9 %.n) (lit 257:13 ~))))))))))
692− (value 259:1 murn
677+ (branch 253:3
678+ (wing 253:6 args)
679+ (arm 254:5
680+ (cell 254:5 (bind 254:6 xs) (bind 254:9 start) (bind 254:15 combine))
681+ (body 255:7
682+ (branch 255:7
683+ (wing 255:10 xs)
684+ (arm 256:9 (lit 256:9 ~) (wing 256:11 start))
685+ (arm 257:9
686+ (cell 257:9 (bind 257:10 item) (bind 257:15 rest))
687+ (group 257:21
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)))))))))))))
693+ (value 259:1 flit
693694 (gate 259:9
694− (face 259:12 args
695− (cell 259:17
696− (apply 259:18 list (tvar 259:24 A))
697− (fn 259:27
698− (tvar 259:30 A)
699− (apply 259:32 unit (tvar 259:38 B)))))
695+ (face 259:12 predicate
696+ (fn 259:22 (tvar 259:25 A) (flag 259:27)))
700697 (body 260:3
701− (branch 260:3
702− (wing 260:6 args)
703− (arm 261:5
704− (cell 261:5 (bind 261:6 xs) (bind 261:9 f))
705− (cast 261:12
706− (apply 261:15 list (tvar 261:21 B))
707− (body 262:9
708− (branch 262:9
709− (wing 262:12 xs)
710− (arm 263:11 (lit 263:11 ~) (lit 263:13 ~))
711− (arm 264:11
712− (cell 264:11 (bind 264:12 item) (bind 264:17 rest))
713− (body 265:13
714− (branch 265:13
715− (group 265:16
716− (call 265:17 (wing 265:17 f) (wing 265:19 item)))
717− (arm 266:15
718− (lit 266:15 ~)
719− (group 266:17
720− (call 266:18 (wing 266:18 murn) (wing 266:23 rest) (wing 266:28 f))))
721− (arm 267:15
722− (cell 267:15 (lit 267:16 ~) (bind 267:18 value))
723− (tuple 267:25
724− (wing 267:26 value)
725− (group 267:32
726− (call 267:33 (wing 267:33 murn) (wing 267:38 rest) (wing 267:43 f))))))))))))))))
727− (value 269:1 join
728− (gate 269:9
729− (face 269:12 args
730− (cell 269:17
731− (tvar 269:18 A)
732− (apply 269:20 list (tvar 269:26 A))))
733− (body 270:3
734− (branch 270:3
735− (wing 270:6 args)
736− (arm 271:5
737− (cell 271:5 (bind 271:6 separator) (bind 271:16 xs))
738− (cast 271:20
739− (apply 271:23 list (tvar 271:29 A))
740− (body 272:9
741− (branch 272:9
742− (wing 272:12 xs)
743− (arm 273:11 (lit 273:11 ~) (lit 273:13 ~))
744− (arm 274:11
745− (cell 274:11 (bind 274:12 item) (bind 274:17 rest))
746− (body 275:13
747− (branch 275:13
748− (wing 275:16 rest)
749− (arm 276:15
750− (lit 276:15 ~)
751− (tuple 276:17 (wing 276:18 item) (lit 276:23 ~)))
752− (arm 277:15
753− (cell 277:15 (bind 277:16 next) (bind 277:21 more))
754− (tuple 277:27
755− (wing 277:28 item)
756− (tuple 277:33
757− (wing 277:34 separator)
758− (group 277:44
759− (call 277:45 (wing 277:45 join) (wing 277:50 separator) (wing 277:60 rest)))))))))))))))))
760− (value 279:1 snip
761− (gate 279:9
762− (face 279:12 xs
763− (apply 279:15 list (tvar 279:21 A)))
764− (body 280:3
765− (cast 280:3
766− (apply 280:6 list (tvar 280:12 A))
767− (body 281:5
768− (branch 281:5
769− (wing 281:8 xs)
770− (arm 282:7 (lit 282:7 ~) (lit 282:9 ~))
771− (arm 283:7
772− (cell 283:7 (bind 283:8 item) (bind 283:13 rest))
773− (body 284:9
774− (branch 284:9
775− (wing 284:12 rest)
776− (arm 285:11 (lit 285:11 ~) (lit 285:13 ~))
777− (arm 286:11
778− (cell 286:11 (bind 286:12 next) (bind 286:17 more))
779− (tuple 286:23
780− (wing 286:24 item)
781− (group 286:29
782− (call 286:30 (wing 286:30 snip) (wing 286:35 rest))))))))))))))
783− (value 288:1 rear
784− (gate 288:9
785− (face 288:12 xs
786− (apply 288:15 list (tvar 288:21 A)))
787− (body 289:3
788− (branch 289:3
789− (wing 289:6 xs)
790− (arm 290:5 (lit 290:5 ~) (crash 290: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)
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
720+ (branch 267:3
721+ (wing 267:6 args)
722+ (arm 268:5
723+ (cell 268:5 (bind 268:6 xs) (bind 268:9 f))
724+ (cast 268:12
725+ (apply 268:15 list (tvar 268:21 B))
726+ (body 269:9
727+ (branch 269:9
728+ (wing 269:12 xs)
729+ (arm 270:11 (lit 270:11 ~) (lit 270:13 ~))
730+ (arm 271:11
731+ (cell 271:11 (bind 271:12 item) (bind 271:17 rest))
732+ (body 272:13
733+ (branch 272:13
734+ (group 272:16
735+ (call 272:17 (wing 272:17 f) (wing 272:19 item)))
736+ (arm 273:15
737+ (lit 273:15 ~)
738+ (group 273:17
739+ (call 273:18 (wing 273:18 murn) (wing 273:23 rest) (wing 273:28 f))))
740+ (arm 274:15
741+ (cell 274:15 (lit 274:16 ~) (bind 274:18 value))
742+ (tuple 274:25
743+ (wing 274:26 value)
744+ (group 274:32
745+ (call 274:33 (wing 274:33 murn) (wing 274:38 rest) (wing 274:43 f))))))))))))))))
746+ (value 276:1 join
747+ (gate 276:9
748+ (face 276:12 args
749+ (cell 276:17
750+ (tvar 276:18 A)
751+ (apply 276:20 list (tvar 276:26 A))))
752+ (body 277:3
753+ (branch 277:3
754+ (wing 277:6 args)
755+ (arm 278:5
756+ (cell 278:5 (bind 278:6 separator) (bind 278:16 xs))
757+ (cast 278:20
758+ (apply 278:23 list (tvar 278:29 A))
759+ (body 279:9
760+ (branch 279:9
761+ (wing 279:12 xs)
762+ (arm 280:11 (lit 280:11 ~) (lit 280:13 ~))
763+ (arm 281:11
764+ (cell 281:11 (bind 281:12 item) (bind 281:17 rest))
765+ (body 282:13
766+ (branch 282:13
767+ (wing 282:16 rest)
768+ (arm 283:15
769+ (lit 283:15 ~)
770+ (tuple 283:17 (wing 283:18 item) (lit 283:23 ~)))
771+ (arm 284:15
772+ (cell 284:15 (bind 284:16 next) (bind 284:21 more))
773+ (tuple 284:27
774+ (wing 284:28 item)
775+ (tuple 284:33
776+ (wing 284:34 separator)
777+ (group 284:44
778+ (call 284:45 (wing 284:45 join) (wing 284:50 separator) (wing 284:60 rest)))))))))))))))))
779+ (value 286:1 snip
780+ (gate 286:9
781+ (face 286:12 xs
782+ (apply 286:15 list (tvar 286:21 A)))
783+ (body 287:3
784+ (cast 287:3
785+ (apply 287:6 list (tvar 287:12 A))
786+ (body 288:5
787+ (branch 288:5
788+ (wing 288:8 xs)
789+ (arm 289:7 (lit 289:7 ~) (lit 289:9 ~))
790+ (arm 290:7
791+ (cell 290:7 (bind 290:8 item) (bind 290:13 rest))
792+ (body 291:9
793+ (branch 291:9
794+ (wing 291:12 rest)
795+ (arm 292:11 (lit 292:11 ~) (lit 292:13 ~))
796+ (arm 293:11
797+ (cell 293:11 (bind 293:12 next) (bind 293:17 more))
798+ (tuple 293:23
799+ (wing 293:24 item)
800+ (group 293:29
801+ (call 293:30 (wing 293:30 snip) (wing 293:35 rest))))))))))))))
802+ (value 295:1 rear
803+ (gate 295:9
804+ (face 295:12 xs
805+ (apply 295:15 list (tvar 295:21 A)))
806+ (body 296:3
807+ (branch 296:3
808+ (wing 296:6 xs)
809+ (arm 297:5 (lit 297:5 ~) (crash 297:7))
810810 (arm 298:5
811− (cell 298:5 (bind 298:6 f) (bind 298:8 g))
812− (gate 298:11
813− (face 298:14 x (tvar 298:16 A))
814− (group 298:18
815− (call 298:19
816− (wing 298:19 g)
817− (group 298:21
818− (call 298:22 (wing 298:22 f) (wing 298:24 x)))))))))))
819− (value 300:1 corl
820− (gate 300:9
821− (face 300:12 gates
822− (cell 300:18
823− (fn 300:19 (tvar 300:22 B) (tvar 300:24 C))
824− (fn 300:27 (tvar 300:30 A) (tvar 300:32 B))))
825− (body 301:3
826− (branch 301:3
827− (wing 301:6 gates)
828− (arm 302:5
829− (cell 302:5 (bind 302:6 f) (bind 302:8 g))
830− (gate 302:11
831− (face 302:14 x (tvar 302:16 A))
832− (group 302:18
833− (call 302:19
834− (wing 302:19 f)
835− (group 302:21
836− (call 302:22 (wing 302:22 g) (wing 302:24 x)))))))))))
837− (value 304:1 cury
838− (gate 304:9
839− (face 304:12 args
840− (cell 304:17
841− (fn 304:18
842− (cell 304:21 (tvar 304:22 A) (tvar 304:24 B))
843− (tvar 304:27 C))
844− (tvar 304:30 A)))
845− (body 305:3
846− (branch 305:3
847− (wing 305:6 args)
848− (arm 306:5
849− (cell 306:5 (bind 306:6 f) (bind 306:8 a))
850− (gate 306:11
851− (face 306:14 b (tvar 306:16 B))
852− (group 306:18
853− (call 306:19 (wing 306:19 f) (wing 306:21 a) (wing 306:23 b)))))))))
854− (value 308:1 curr
855− (gate 308:9
856− (face 308:12 args
857− (cell 308:17
858− (fn 308:18
859− (cell 308:21 (tvar 308:22 A) (tvar 308:24 B))
860− (tvar 308:27 C))
861− (tvar 308:30 B)))
862− (body 309:3
863− (branch 309:3
864− (wing 309:6 args)
865− (arm 310:5
866− (cell 310:5 (bind 310:6 f) (bind 310:8 b))
867− (gate 310:11
868− (face 310:14 a (tvar 310:16 A))
869− (group 310:18
870− (call 310:19 (wing 310:19 f) (wing 310:21 a) (wing 310:23 b)))))))))
871− (mold 312:1 cmd
872− (generic 312:8 M
873− (union 313:3
874− (cell 313:3
875− (const 313:4 %poke)
876− (face 313:10 p (ref 313:12 poke))
877− (face 313:17 reply
878− (fn 313:23
879− (apply 313:26 unit (aura 313:32 @t))
880− (tvar 313:36 M))))
881− (cell 314:3
882− (const 314:4 %go)
883− (face 314:8 url (aura 314:12 @t)))
884− (cell 315:3
885− (const 315:4 %wait)
886− (face 315:10 gap (aura 315:14 @dr))
887− (face 315:18 msg (tvar 315:22 M)))
888− (cell 316:3
889− (const 316:4 %now)
890− (face 316:9 reply
891− (fn 316:15 (aura 316:18 @da) (tvar 316:22 M))))
892− (cell 317:3
893− (const 317:4 %who)
894− (face 317:9 reply
895− (fn 317:15 (aura 317:18 @p) (tvar 317:21 M)))))))
896− (value 319:1 gth
897− (gate 319:8
898− (face 319:11 args
899− (cell 319:16 (tvar 319:17 A) (tvar 319:19 A)))
900− (group 319:22
901− (call 319:23 (wing 319:23 gth-atom.internal) (wing 319:41 args))))))
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))
831+ (gate 305:11
832+ (face 305:14 x (tvar 305:16 A))
833+ (group 305:18
834+ (call 305:19
835+ (wing 305:19 g)
836+ (group 305:21
837+ (call 305:22 (wing 305:22 f) (wing 305:24 x)))))))))))
838+ (value 307:1 corl
839+ (gate 307:9
840+ (face 307:12 gates
841+ (cell 307:18
842+ (fn 307:19 (tvar 307:22 B) (tvar 307:24 C))
843+ (fn 307:27 (tvar 307:30 A) (tvar 307:32 B))))
844+ (body 308:3
845+ (branch 308:3
846+ (wing 308:6 gates)
847+ (arm 309:5
848+ (cell 309:5 (bind 309:6 f) (bind 309:8 g))
849+ (gate 309:11
850+ (face 309:14 x (tvar 309:16 A))
851+ (group 309:18
852+ (call 309:19
853+ (wing 309:19 f)
854+ (group 309:21
855+ (call 309:22 (wing 309:22 g) (wing 309:24 x)))))))))))
856+ (value 311:1 cury
857+ (gate 311:9
858+ (face 311:12 args
859+ (cell 311:17
860+ (fn 311:18
861+ (cell 311:21 (tvar 311:22 A) (tvar 311:24 B))
862+ (tvar 311:27 C))
863+ (tvar 311:30 A)))
864+ (body 312:3
865+ (branch 312:3
866+ (wing 312:6 args)
867+ (arm 313:5
868+ (cell 313:5 (bind 313:6 f) (bind 313:8 a))
869+ (gate 313:11
870+ (face 313:14 b (tvar 313:16 B))
871+ (group 313:18
872+ (call 313:19 (wing 313:19 f) (wing 313:21 a) (wing 313:23 b)))))))))
873+ (value 315:1 curr
874+ (gate 315:9
875+ (face 315:12 args
876+ (cell 315:17
877+ (fn 315:18
878+ (cell 315:21 (tvar 315:22 A) (tvar 315:24 B))
879+ (tvar 315:27 C))
880+ (tvar 315:30 B)))
881+ (body 316:3
882+ (branch 316:3
883+ (wing 316:6 args)
884+ (arm 317:5
885+ (cell 317:5 (bind 317:6 f) (bind 317:8 b))
886+ (gate 317:11
887+ (face 317:14 a (tvar 317:16 A))
888+ (group 317:18
889+ (call 317:19 (wing 317:19 f) (wing 317:21 a) (wing 317:23 b)))))))))
890+ (mold 319:1 cmd
891+ (generic 319:8 M
892+ (union 320:3
893+ (cell 320:3
894+ (const 320:4 %poke)
895+ (face 320:10 p (ref 320:12 poke))
896+ (face 320:17 reply
897+ (fn 320:23
898+ (apply 320:26 unit (aura 320:32 @t))
899+ (tvar 320:36 M))))
900+ (cell 321:3
901+ (const 321:4 %go)
902+ (face 321:8 url (aura 321:12 @t)))
903+ (cell 322:3
904+ (const 322:4 %wait)
905+ (face 322:10 gap (aura 322:14 @dr))
906+ (face 322:18 msg (tvar 322:22 M)))
907+ (cell 323:3
908+ (const 323:4 %now)
909+ (face 323:9 reply
910+ (fn 323:15 (aura 323:18 @da) (tvar 323:22 M))))
911+ (cell 324:3
912+ (const 324:4 %who)
913+ (face 324:9 reply
914+ (fn 324:15 (aura 324:18 @p) (tvar 324:21 M)))))))
915+ (value 326:1 gth
916+ (gate 326:8
917+ (face 326:11 args
918+ (cell 326:16 (tvar 326:17 A) (tvar 326:19 A)))
919+ (group 326:22
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 @@
11partial inference; module not checked
22+$ poke: not checked
3++$ qath: not checked
34++ same: $-(A A)
45++ head: $-([A B] A)
56++ tail: $-([A B] B)
@@ -41,6 +42,7 @@ partial inference; module not checked
4142++ snoc: sample mold is not supported by partial inference
4243++ flop: sample mold is not supported by partial inference
4344++ drop: cast mold is not supported by partial inference
45+++ bond: $-($-(~ A) $-((unit A) A))
4446++ bind: unit construction needs the standard prelude in partial inference
4547++ biff: $-([(unit A) $-(A (unit B))] (unit B))
4648++ both: unit construction needs the standard prelude in partial inference
@@ -63,3 +65,5 @@ partial inference; module not checked
6365++ curr: $-([$-([A B] C) B] $-(A C))
6466+$ cmd: cases proven disjoint; mold not checked
6567++ 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.
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.
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 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.
33expect: parses
44expect-types: a partial inference report
tests/golden/types-prelude-arithmetic/source.jibb+5−5
@@ -10,11 +10,11 @@
1010 x
1111++ atom-id-bool (atom-id %.n)
1212++ atom-id-text (atom-id "hi")
13−++ unavailable-add (add %.n %.n)
14−++ unavailable-add-decimal (add 1 2)
15−++ unavailable-add-hex (add 0x1 0x2)
16−++ unavailable-dec (dec %.n)
17−++ unavailable-dec-hex (dec 0x2)
13+++ reject-bool-add (add %.n %.n)
14+++ add-decimal (add 1 2)
15+++ add-hex (add 0x1 0x2)
16+++ reject-bool-dec (dec %.n)
17+++ dec-hex (dec 0x2)
1818++ unavailable-length (lent ~["a"])
1919++ captured |= x=? (add x x)
2020++ captured-local |= x=?
tests/golden/types-prelude-arithmetic/tokens.txt+19−19
@@ -104,7 +104,7 @@
10410412:30 tight glyph )
10510513:1 NEWLINE
10610613:1 glyph ++
107−13:4 name unavailable-add
107+13:4 name reject-bool-add
10810813:20 glyph (
10910913:21 tight name add
11011013:25 lit %.n
@@ -112,34 +112,34 @@
11211213:32 tight glyph )
11311314:1 NEWLINE
11411414:1 glyph ++
115−14:4 name unavailable-add-decimal
116−14:28 glyph (
117−14:29 tight name add
118−14:33 lit 1
119−14:35 lit 2
120−14:36 tight glyph )
115+14:4 name add-decimal
116+14:16 glyph (
117+14:17 tight name add
118+14:21 lit 1
119+14:23 lit 2
120+14:24 tight glyph )
12112115:1 NEWLINE
12212215:1 glyph ++
123−15:4 name unavailable-add-hex
124−15:24 glyph (
125−15:25 tight name add
126−15:29 lit 0x1
127−15:33 lit 0x2
128−15:36 tight glyph )
123+15:4 name add-hex
124+15:12 glyph (
125+15:13 tight name add
126+15:17 lit 0x1
127+15:21 lit 0x2
128+15:24 tight glyph )
12912916:1 NEWLINE
13013016:1 glyph ++
131−16:4 name unavailable-dec
131+16:4 name reject-bool-dec
13213216:20 glyph (
13313316:21 tight name dec
13413416:25 lit %.n
13513516:28 tight glyph )
13613617:1 NEWLINE
13713717:1 glyph ++
138−17:4 name unavailable-dec-hex
139−17:24 glyph (
140−17:25 tight name dec
141−17:29 lit 0x2
142−17:32 tight glyph )
138+17:4 name dec-hex
139+17:12 glyph (
140+17:13 tight name dec
141+17:17 lit 0x2
142+17:20 tight glyph )
14314318:1 NEWLINE
14414418:1 glyph ++
14514518:4 name unavailable-length
tests/golden/types-prelude-arithmetic/tree.txt+11−11
@@ -42,21 +42,21 @@
4242 (value 12:1 atom-id-text
4343 (group 12:17
4444 (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
4646 (group 13:20
4747 (call 13:21 (wing 13:21 add) (lit 13:25 %.n) (lit 13:29 %.n))))
48− (value 14:1 unavailable-add-decimal
49− (group 14:28
50− (call 14:29 (wing 14:29 add) (lit 14:33 1) (lit 14:35 2))))
51− (value 15:1 unavailable-add-hex
52− (group 15:24
53− (call 15:25 (wing 15:25 add) (lit 15:29 0x1) (lit 15:33 0x2))))
54− (value 16:1 unavailable-dec
48+ (value 14:1 add-decimal
49+ (group 14:16
50+ (call 14:17 (wing 14:17 add) (lit 14:21 1) (lit 14:23 2))))
51+ (value 15:1 add-hex
52+ (group 15:12
53+ (call 15:13 (wing 15:13 add) (lit 15:17 0x1) (lit 15:21 0x2))))
54+ (value 16:1 reject-bool-dec
5555 (group 16:20
5656 (call 16:21 (wing 16:21 dec) (lit 16:25 %.n))))
57− (value 17:1 unavailable-dec-hex
58− (group 17:24
59− (call 17:25 (wing 17:25 dec) (lit 17:29 0x2))))
57+ (value 17:1 dec-hex
58+ (group 17:12
59+ (call 17:13 (wing 17:13 dec) (lit 17:17 0x2))))
6060 (value 18:1 unavailable-length
6161 (group 18:23
6262 (call 18:24
tests/golden/types-prelude-arithmetic/types.txt+25−7
@@ -21,12 +21,30 @@ partial inference; module not checked
2121++ atom-id: $-(A A) where A is an atom
2222++ atom-id-bool: ?
2323++ atom-id-text: @t
24−++ unavailable-add: name is not available to partial inference
25−++ unavailable-add-decimal: name is not available to partial inference
26−++ unavailable-add-hex: name is not available to partial inference
27−++ unavailable-dec: name is not available to partial inference
28−++ unavailable-dec-hex: name is not available to partial inference
24+++ reject-bool-add: call's sample and argument types do not unify
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+++ reject-bool-add (add %.n %.n)
27+ ^
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
2941++ 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+ ^
3149++ 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 @@
13361336/* tok-409 %txt /tests/golden/prelude-unit-list-transforms/tokens/txt
13371337/* tre-409 %txt /tests/golden/prelude-unit-list-transforms/tree/txt
13381338/* typ-409 %txt /tests/golden/prelude-unit-list-transforms/types/txt
1339−/* src-410 %jibb /tests/golden/types-capital-distinct/source/jibb
1340−/* tok-410 %txt /tests/golden/types-capital-distinct/tokens/txt
1341−/* tre-410 %txt /tests/golden/types-capital-distinct/tree/txt
1342−/* typ-410 %txt /tests/golden/types-capital-distinct/types/txt
1343−/* src-411 %jibb /tests/golden/types-cell-pattern-many/source/jibb
1344−/* tok-411 %txt /tests/golden/types-cell-pattern-many/tokens/txt
1345−/* tre-411 %txt /tests/golden/types-cell-pattern-many/tree/txt
1346−/* typ-411 %txt /tests/golden/types-cell-pattern-many/types/txt
1347−/* src-412 %jibb /tests/golden/types-cell-pattern-schemes/source/jibb
1348−/* tok-412 %txt /tests/golden/types-cell-pattern-schemes/tokens/txt
1349−/* tre-412 %txt /tests/golden/types-cell-pattern-schemes/tree/txt
1350−/* typ-412 %txt /tests/golden/types-cell-pattern-schemes/types/txt
1351−/* src-413 %jibb /tests/golden/types-cell-pattern-tail/source/jibb
1352−/* tok-413 %txt /tests/golden/types-cell-pattern-tail/tokens/txt
1353−/* tre-413 %txt /tests/golden/types-cell-pattern-tail/tree/txt
1354−/* typ-413 %txt /tests/golden/types-cell-pattern-tail/types/txt
1355−/* src-414 %jibb /tests/golden/types-deferred-call-context/source/jibb
1356−/* tok-414 %txt /tests/golden/types-deferred-call-context/tokens/txt
1357−/* tre-414 %txt /tests/golden/types-deferred-call-context/tree/txt
1358−/* typ-414 %txt /tests/golden/types-deferred-call-context/types/txt
1359−/* src-415 %jibb /tests/golden/types-flag-branch-context/source/jibb
1360−/* tok-415 %txt /tests/golden/types-flag-branch-context/tokens/txt
1361−/* tre-415 %txt /tests/golden/types-flag-branch-context/tree/txt
1362−/* typ-415 %txt /tests/golden/types-flag-branch-context/types/txt
1363−/* src-416 %jibb /tests/golden/types-generic-arity/source/jibb
1364−/* tok-416 %txt /tests/golden/types-generic-arity/tokens/txt
1365−/* tre-416 %txt /tests/golden/types-generic-arity/tree/txt
1366−/* typ-416 %txt /tests/golden/types-generic-arity/types/txt
1367−/* src-417 %jibb /tests/golden/types-generic-face-inference/source/jibb
1368−/* tok-417 %txt /tests/golden/types-generic-face-inference/tokens/txt
1369−/* tre-417 %txt /tests/golden/types-generic-face-inference/tree/txt
1370−/* typ-417 %txt /tests/golden/types-generic-face-inference/types/txt
1371−/* src-418 %jibb /tests/golden/types-generic-gates/source/jibb
1372−/* tok-418 %txt /tests/golden/types-generic-gates/tokens/txt
1373−/* tre-418 %txt /tests/golden/types-generic-gates/tree/txt
1374−/* typ-418 %txt /tests/golden/types-generic-gates/types/txt
1375−/* src-419 %jibb /tests/golden/types-generic-import-reverse/source/jibb
1376−/* tok-419 %txt /tests/golden/types-generic-import-reverse/tokens/txt
1377−/* tre-419 %txt /tests/golden/types-generic-import-reverse/tree/txt
1378−/* mod-419-1 %jibb /tests/golden/types-generic-import-reverse/modules/ui/lib/jibb
1379−/* typ-419 %txt /tests/golden/types-generic-import-reverse/types/txt
1380−/* mtre-419 %txt /tests/golden/types-generic-import-reverse/module-trees/txt
1381−/* src-420 %jibb /tests/golden/types-generic-lexical-alias/source/jibb
1382−/* tok-420 %txt /tests/golden/types-generic-lexical-alias/tokens/txt
1383−/* tre-420 %txt /tests/golden/types-generic-lexical-alias/tree/txt
1384−/* typ-420 %txt /tests/golden/types-generic-lexical-alias/types/txt
1385−/* src-421 %jibb /tests/golden/types-generic-local-parameter/source/jibb
1386−/* tok-421 %txt /tests/golden/types-generic-local-parameter/tokens/txt
1387−/* tre-421 %txt /tests/golden/types-generic-local-parameter/tree/txt
1388−/* typ-421 %txt /tests/golden/types-generic-local-parameter/types/txt
1389−/* src-422 %jibb /tests/golden/types-generic-local-scope/source/jibb
1390−/* tok-422 %txt /tests/golden/types-generic-local-scope/tokens/txt
1391−/* tre-422 %txt /tests/golden/types-generic-local-scope/tree/txt
1392−/* typ-422 %txt /tests/golden/types-generic-local-scope/types/txt
1393−/* src-423 %jibb /tests/golden/types-generic-module/source/jibb
1394−/* tok-423 %txt /tests/golden/types-generic-module/tokens/txt
1395−/* tre-423 %txt /tests/golden/types-generic-module/tree/txt
1396−/* mod-423-1 %jibb /tests/golden/types-generic-module/modules/ui/lib/jibb
1397−/* typ-423 %txt /tests/golden/types-generic-module/types/txt
1398−/* mtre-423 %txt /tests/golden/types-generic-module/module-trees/txt
1399−/* src-424 %jibb /tests/golden/types-generic-nested-scope/source/jibb
1400−/* tok-424 %txt /tests/golden/types-generic-nested-scope/tokens/txt
1401−/* tre-424 %txt /tests/golden/types-generic-nested-scope/tree/txt
1402−/* typ-424 %txt /tests/golden/types-generic-nested-scope/types/txt
1403−/* src-425 %jibb /tests/golden/types-generic-parameters/source/jibb
1404−/* tok-425 %txt /tests/golden/types-generic-parameters/tokens/txt
1405−/* tre-425 %txt /tests/golden/types-generic-parameters/tree/txt
1406−/* typ-425 %txt /tests/golden/types-generic-parameters/types/txt
1407−/* src-426 %jibb /tests/golden/types-generic-record/source/jibb
1408−/* tok-426 %txt /tests/golden/types-generic-record/tokens/txt
1409−/* tre-426 %txt /tests/golden/types-generic-record/tree/txt
1410−/* typ-426 %txt /tests/golden/types-generic-record/types/txt
1411−/* src-427 %jibb /tests/golden/types-generic-recursive-union/source/jibb
1412−/* tok-427 %txt /tests/golden/types-generic-recursive-union/tokens/txt
1413−/* tre-427 %txt /tests/golden/types-generic-recursive-union/tree/txt
1414−/* typ-427 %txt /tests/golden/types-generic-recursive-union/types/txt
1415−/* src-428 %jibb /tests/golden/types-generic-repeated/source/jibb
1416−/* tok-428 %txt /tests/golden/types-generic-repeated/tokens/txt
1417−/* tre-428 %txt /tests/golden/types-generic-repeated/tree/txt
1418−/* typ-428 %txt /tests/golden/types-generic-repeated/types/txt
1419−/* src-429 %jibb /tests/golden/types-generic-union-alias/source/jibb
1420−/* tok-429 %txt /tests/golden/types-generic-union-alias/tokens/txt
1421−/* tre-429 %txt /tests/golden/types-generic-union-alias/tree/txt
1422−/* typ-429 %txt /tests/golden/types-generic-union-alias/types/txt
1423−/* src-430 %jibb /tests/golden/types-generic-union-alias-face/source/jibb
1424−/* tok-430 %txt /tests/golden/types-generic-union-alias-face/tokens/txt
1425−/* tre-430 %txt /tests/golden/types-generic-union-alias-face/tree/txt
1426−/* mod-430-1 %jibb /tests/golden/types-generic-union-alias-face/modules/ui/base/jibb
1427−/* typ-430 %txt /tests/golden/types-generic-union-alias-face/types/txt
1428−/* mtre-430 %txt /tests/golden/types-generic-union-alias-face/module-trees/txt
1429−/* src-431 %jibb /tests/golden/types-generic-union-capitals/source/jibb
1430−/* tok-431 %txt /tests/golden/types-generic-union-capitals/tokens/txt
1431−/* tre-431 %txt /tests/golden/types-generic-union-capitals/tree/txt
1432−/* typ-431 %txt /tests/golden/types-generic-union-capitals/types/txt
1433−/* src-432 %jibb /tests/golden/types-generic-union-errors/source/jibb
1434−/* tok-432 %txt /tests/golden/types-generic-union-errors/tokens/txt
1435−/* tre-432 %txt /tests/golden/types-generic-union-errors/tree/txt
1436−/* typ-432 %txt /tests/golden/types-generic-union-errors/types/txt
1437−/* src-433 %jibb /tests/golden/types-generic-union-escaping/source/jibb
1438−/* tok-433 %txt /tests/golden/types-generic-union-escaping/tokens/txt
1439−/* tre-433 %txt /tests/golden/types-generic-union-escaping/tree/txt
1440−/* mod-433-1 %jibb /tests/golden/types-generic-union-escaping/modules/ui/base/jibb
1441−/* mod-433-2 %jibb /tests/golden/types-generic-union-escaping/modules/ui/mid/jibb
1442−/* typ-433 %txt /tests/golden/types-generic-union-escaping/types/txt
1443−/* mtre-433 %txt /tests/golden/types-generic-union-escaping/module-trees/txt
1444−/* src-434 %jibb /tests/golden/types-generic-union-import/source/jibb
1445−/* tok-434 %txt /tests/golden/types-generic-union-import/tokens/txt
1446−/* tre-434 %txt /tests/golden/types-generic-union-import/tree/txt
1447−/* mod-434-1 %jibb /tests/golden/types-generic-union-import/modules/ui/shared/jibb
1448−/* mod-434-2 %jibb /tests/golden/types-generic-union-import/modules/ui/twin/jibb
1449−/* typ-434 %txt /tests/golden/types-generic-union-import/types/txt
1450−/* mtre-434 %txt /tests/golden/types-generic-union-import/module-trees/txt
1451−/* src-435 %jibb /tests/golden/types-generic-union-local/source/jibb
1452−/* tok-435 %txt /tests/golden/types-generic-union-local/tokens/txt
1453−/* tre-435 %txt /tests/golden/types-generic-union-local/tree/txt
1454−/* typ-435 %txt /tests/golden/types-generic-union-local/types/txt
1455−/* src-436 %jibb /tests/golden/types-generic-union-transitive/source/jibb
1456−/* tok-436 %txt /tests/golden/types-generic-union-transitive/tokens/txt
1457−/* tre-436 %txt /tests/golden/types-generic-union-transitive/tree/txt
1458−/* mod-436-1 %jibb /tests/golden/types-generic-union-transitive/modules/ui/base/jibb
1459−/* mod-436-2 %jibb /tests/golden/types-generic-union-transitive/modules/ui/mid/jibb
1460−/* typ-436 %txt /tests/golden/types-generic-union-transitive/types/txt
1461−/* mtre-436 %txt /tests/golden/types-generic-union-transitive/module-trees/txt
1462−/* src-437 %jibb /tests/golden/types-hole-concrete/source/jibb
1463−/* tok-437 %txt /tests/golden/types-hole-concrete/tokens/txt
1464−/* tre-437 %txt /tests/golden/types-hole-concrete/tree/txt
1465−/* typ-437 %txt /tests/golden/types-hole-concrete/types/txt
1466−/* src-438 %jibb /tests/golden/types-hole-generic-mold/source/jibb
1467−/* tok-438 %txt /tests/golden/types-hole-generic-mold/tokens/txt
1468−/* tre-438 %txt /tests/golden/types-hole-generic-mold/tree/txt
1469−/* typ-438 %txt /tests/golden/types-hole-generic-mold/types/txt
1470−/* src-439 %jibb /tests/golden/types-hole-local-boundary/source/jibb
1471−/* tok-439 %txt /tests/golden/types-hole-local-boundary/tokens/txt
1472−/* tre-439 %txt /tests/golden/types-hole-local-boundary/tree/txt
1473−/* typ-439 %txt /tests/golden/types-hole-local-boundary/types/txt
1474−/* src-440 %jibb /tests/golden/types-hole-module-boundary/source/jibb
1475−/* tok-440 %txt /tests/golden/types-hole-module-boundary/tokens/txt
1476−/* tre-440 %txt /tests/golden/types-hole-module-boundary/tree/txt
1477−/* mod-440-1 %jibb /tests/golden/types-hole-module-boundary/modules/ui/lib/jibb
1478−/* typ-440 %txt /tests/golden/types-hole-module-boundary/types/txt
1479−/* mtre-440 %txt /tests/golden/types-hole-module-boundary/module-trees/txt
1480−/* src-441 %jibb /tests/golden/types-hole-named-complex/source/jibb
1481−/* tok-441 %txt /tests/golden/types-hole-named-complex/tokens/txt
1482−/* tre-441 %txt /tests/golden/types-hole-named-complex/tree/txt
1483−/* typ-441 %txt /tests/golden/types-hole-named-complex/types/txt
1484−/* src-442 %jibb /tests/golden/types-hole-numeric-capture/source/jibb
1485−/* tok-442 %txt /tests/golden/types-hole-numeric-capture/tokens/txt
1486−/* tre-442 %txt /tests/golden/types-hole-numeric-capture/tree/txt
1487−/* typ-442 %txt /tests/golden/types-hole-numeric-capture/types/txt
1488−/* src-443 %jibb /tests/golden/types-hole-unbound-mold/source/jibb
1489−/* tok-443 %txt /tests/golden/types-hole-unbound-mold/tokens/txt
1490−/* tre-443 %txt /tests/golden/types-hole-unbound-mold/tree/txt
1491−/* typ-443 %txt /tests/golden/types-hole-unbound-mold/types/txt
1492−/* src-444 %jibb /tests/golden/types-hole-unsupported/source/jibb
1493−/* tok-444 %txt /tests/golden/types-hole-unsupported/tokens/txt
1494−/* tre-444 %txt /tests/golden/types-hole-unsupported/tree/txt
1495−/* typ-444 %txt /tests/golden/types-hole-unsupported/types/txt
1496−/* src-445 %jibb /tests/golden/types-hole-user-generic/source/jibb
1497−/* tok-445 %txt /tests/golden/types-hole-user-generic/tokens/txt
1498−/* tre-445 %txt /tests/golden/types-hole-user-generic/tree/txt
1499−/* typ-445 %txt /tests/golden/types-hole-user-generic/types/txt
1500−/* src-446 %jibb /tests/golden/types-hole-user-named/source/jibb
1501−/* tok-446 %txt /tests/golden/types-hole-user-named/tokens/txt
1502−/* tre-446 %txt /tests/golden/types-hole-user-named/tree/txt
1503−/* typ-446 %txt /tests/golden/types-hole-user-named/types/txt
1504−/* src-447 %jibb /tests/golden/types-hole-user-value/source/jibb
1505−/* tok-447 %txt /tests/golden/types-hole-user-value/tokens/txt
1506−/* tre-447 %txt /tests/golden/types-hole-user-value/tree/txt
1507−/* typ-447 %txt /tests/golden/types-hole-user-value/types/txt
1508−/* src-448 %jibb /tests/golden/types-import-duplicate-mark/source/jibb
1509−/* tok-448 %txt /tests/golden/types-import-duplicate-mark/tokens/txt
1510−/* tre-448 %txt /tests/golden/types-import-duplicate-mark/tree/txt
1511−/* typ-448 %txt /tests/golden/types-import-duplicate-mark/types/txt
1512−/* mark-448-1 %txt /tests/golden/types-import-duplicate-mark/mar/duplicate/txt
1513−/* src-449 %jibb /tests/golden/types-import-duplicate-sur/source/jibb
1514−/* tok-449 %txt /tests/golden/types-import-duplicate-sur/tokens/txt
1515−/* tre-449 %txt /tests/golden/types-import-duplicate-sur/tree/txt
1516−/* typ-449 %txt /tests/golden/types-import-duplicate-sur/types/txt
1517−/* imp-449-1 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1518−/* imp-449-2 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1519−/* imp-449-3 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1520−/* src-450 %jibb /tests/golden/types-import-hoon-flags/source/jibb
1521−/* tok-450 %txt /tests/golden/types-import-hoon-flags/tokens/txt
1522−/* tre-450 %txt /tests/golden/types-import-hoon-flags/tree/txt
1523−/* typ-450 %txt /tests/golden/types-import-hoon-flags/types/txt
1524−/* imp-450-1 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1525−/* imp-450-2 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1526−/* imp-450-3 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1527−/* imp-450-4 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1528−/* src-451 %jibb /tests/golden/types-import-hoon-noun/source/jibb
1529−/* tok-451 %txt /tests/golden/types-import-hoon-noun/tokens/txt
1530−/* tre-451 %txt /tests/golden/types-import-hoon-noun/tree/txt
1531−/* typ-451 %txt /tests/golden/types-import-hoon-noun/types/txt
1532−/* imp-451-1 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1533−/* imp-451-2 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1534−/* imp-451-3 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1535−/* imp-451-4 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1536−/* src-452 %jibb /tests/golden/types-import-mark/source/jibb
1537−/* tok-452 %txt /tests/golden/types-import-mark/tokens/txt
1538−/* tre-452 %txt /tests/golden/types-import-mark/tree/txt
1539−/* typ-452 %txt /tests/golden/types-import-mark/types/txt
1540−/* imp-452-1 %txt /tests/golden/types-import-mark/sur/fixture/txt
1541−/* mark-452-1 %txt /tests/golden/types-import-mark/mar/label/txt
1542−/* src-453 %jibb /tests/golden/types-import-mark-record/source/jibb
1543−/* tok-453 %txt /tests/golden/types-import-mark-record/tokens/txt
1544−/* tre-453 %txt /tests/golden/types-import-mark-record/tree/txt
1545−/* typ-453 %txt /tests/golden/types-import-mark-record/types/txt
1546−/* mark-453-1 %txt /tests/golden/types-import-mark-record/mar/note/txt
1547−/* mark-453-2 %txt /tests/golden/types-import-mark-record/mar/choice/txt
1548−/* src-454 %jibb /tests/golden/types-import-missing-mold/source/jibb
1549−/* tok-454 %txt /tests/golden/types-import-missing-mold/tokens/txt
1550−/* tre-454 %txt /tests/golden/types-import-missing-mold/tree/txt
1551−/* typ-454 %txt /tests/golden/types-import-missing-mold/types/txt
1552−/* imp-454-1 %txt /tests/golden/types-import-missing-mold/sur/fixture/txt
1553−/* src-455 %jibb /tests/golden/types-import-sur/source/jibb
1554−/* tok-455 %txt /tests/golden/types-import-sur/tokens/txt
1555−/* tre-455 %txt /tests/golden/types-import-sur/tree/txt
1556−/* typ-455 %txt /tests/golden/types-import-sur/types/txt
1557−/* imp-455-1 %txt /tests/golden/types-import-sur/sur/fixture/txt
1558−/* imp-455-2 %txt /tests/golden/types-import-sur/sur/fixture/txt
1559−/* src-456 %jibb /tests/golden/types-import-sur-record-graph/source/jibb
1560−/* tok-456 %txt /tests/golden/types-import-sur-record-graph/tokens/txt
1561−/* tre-456 %txt /tests/golden/types-import-sur-record-graph/tree/txt
1562−/* mod-456-1 %jibb /tests/golden/types-import-sur-record-graph/modules/ui/lib/jibb
1563−/* typ-456 %txt /tests/golden/types-import-sur-record-graph/types/txt
1564−/* imp-456-1 %txt /tests/golden/types-import-sur-record-graph/sur/fixture/txt
1565−/* mtre-456 %txt /tests/golden/types-import-sur-record-graph/module-trees/txt
1566−/* src-457 %jibb /tests/golden/types-import-tlon-notes/source/jibb
1567−/* tok-457 %txt /tests/golden/types-import-tlon-notes/tokens/txt
1568−/* tre-457 %txt /tests/golden/types-import-tlon-notes/tree/txt
1569−/* typ-457 %txt /tests/golden/types-import-tlon-notes/types/txt
1570−/* imp-457-1 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1571−/* imp-457-2 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1572−/* imp-457-3 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1573−/* imp-457-4 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1574−/* imp-457-5 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1575−/* imp-457-6 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1576−/* imp-457-7 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1577−/* src-458 %jibb /tests/golden/types-list-branch/source/jibb
1578−/* tok-458 %txt /tests/golden/types-list-branch/tokens/txt
1579−/* tre-458 %txt /tests/golden/types-list-branch/tree/txt
1580−/* typ-458 %txt /tests/golden/types-list-branch/types/txt
1581−/* src-459 %jibb /tests/golden/types-list-cons/source/jibb
1582−/* tok-459 %txt /tests/golden/types-list-cons/tokens/txt
1583−/* tre-459 %txt /tests/golden/types-list-cons/tree/txt
1584−/* typ-459 %txt /tests/golden/types-list-cons/types/txt
1585−/* src-460 %jibb /tests/golden/types-list-context/source/jibb
1586−/* tok-460 %txt /tests/golden/types-list-context/tokens/txt
1587−/* tre-460 %txt /tests/golden/types-list-context/tree/txt
1588−/* typ-460 %txt /tests/golden/types-list-context/types/txt
1589−/* src-461 %jibb /tests/golden/types-list-imported/source/jibb
1590−/* tok-461 %txt /tests/golden/types-list-imported/tokens/txt
1591−/* tre-461 %txt /tests/golden/types-list-imported/tree/txt
1592−/* typ-461 %txt /tests/golden/types-list-imported/types/txt
1593−/* imp-461-1 %txt /tests/golden/types-list-imported/sur/fixture/txt
1594−/* imp-461-2 %txt /tests/golden/types-list-imported/sur/fixture/txt
1595−/* src-462 %jibb /tests/golden/types-list-open/source/jibb
1596−/* tok-462 %txt /tests/golden/types-list-open/tokens/txt
1597−/* tre-462 %txt /tests/golden/types-list-open/tree/txt
1598−/* typ-462 %txt /tests/golden/types-list-open/types/txt
1599−/* src-463 %jibb /tests/golden/types-list-open-constraints/source/jibb
1600−/* tok-463 %txt /tests/golden/types-list-open-constraints/tokens/txt
1601−/* tre-463 %txt /tests/golden/types-list-open-constraints/tree/txt
1602−/* typ-463 %txt /tests/golden/types-list-open-constraints/types/txt
1603−/* src-464 %jibb /tests/golden/types-list-pattern-imported/source/jibb
1604−/* tok-464 %txt /tests/golden/types-list-pattern-imported/tokens/txt
1605−/* tre-464 %txt /tests/golden/types-list-pattern-imported/tree/txt
1606−/* typ-464 %txt /tests/golden/types-list-pattern-imported/types/txt
1607−/* imp-464-1 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1608−/* imp-464-2 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1609−/* src-465 %jibb /tests/golden/types-list-patterns/source/jibb
1610−/* tok-465 %txt /tests/golden/types-list-patterns/tokens/txt
1611−/* tre-465 %txt /tests/golden/types-list-patterns/tree/txt
1612−/* typ-465 %txt /tests/golden/types-list-patterns/types/txt
1613−/* src-466 %jibb /tests/golden/types-list-zero-fit/source/jibb
1614−/* tok-466 %txt /tests/golden/types-list-zero-fit/tokens/txt
1615−/* tre-466 %txt /tests/golden/types-list-zero-fit/tree/txt
1616−/* typ-466 %txt /tests/golden/types-list-zero-fit/types/txt
1617−/* src-467 %jibb /tests/golden/types-local-capitals/source/jibb
1618−/* tok-467 %txt /tests/golden/types-local-capitals/tokens/txt
1619−/* tre-467 %txt /tests/golden/types-local-capitals/tree/txt
1620−/* typ-467 %txt /tests/golden/types-local-capitals/types/txt
1621−/* src-468 %jibb /tests/golden/types-local-recursive/source/jibb
1622−/* tok-468 %txt /tests/golden/types-local-recursive/tokens/txt
1623−/* tre-468 %txt /tests/golden/types-local-recursive/tree/txt
1624−/* typ-468 %txt /tests/golden/types-local-recursive/types/txt
1625−/* src-469 %jibb /tests/golden/types-local-scc/source/jibb
1626−/* tok-469 %txt /tests/golden/types-local-scc/tokens/txt
1627−/* tre-469 %txt /tests/golden/types-local-scc/tree/txt
1628−/* typ-469 %txt /tests/golden/types-local-scc/types/txt
1629−/* src-470 %jibb /tests/golden/types-local-scc-adversarial/source/jibb
1630−/* tok-470 %txt /tests/golden/types-local-scc-adversarial/tokens/txt
1631−/* tre-470 %txt /tests/golden/types-local-scc-adversarial/tree/txt
1632−/* typ-470 %txt /tests/golden/types-local-scc-adversarial/types/txt
1633−/* src-471 %jibb /tests/golden/types-missing-tag-context/source/jibb
1634−/* tok-471 %txt /tests/golden/types-missing-tag-context/tokens/txt
1635−/* tre-471 %txt /tests/golden/types-missing-tag-context/tree/txt
1636−/* typ-471 %txt /tests/golden/types-missing-tag-context/types/txt
1637−/* src-472 %jibb /tests/golden/types-missing-tag-imported/source/jibb
1638−/* tok-472 %txt /tests/golden/types-missing-tag-imported/tokens/txt
1639−/* tre-472 %txt /tests/golden/types-missing-tag-imported/tree/txt
1640−/* typ-472 %txt /tests/golden/types-missing-tag-imported/types/txt
1641−/* imp-472-1 %txt /tests/golden/types-missing-tag-imported/sur/fixture/txt
1642−/* imp-472-2 %txt /tests/golden/types-missing-tag-imported/sur/fixture/txt
1643−/* src-473 %jibb /tests/golden/types-missing-tag-named/source/jibb
1644−/* tok-473 %txt /tests/golden/types-missing-tag-named/tokens/txt
1645−/* tre-473 %txt /tests/golden/types-missing-tag-named/tree/txt
1646−/* typ-473 %txt /tests/golden/types-missing-tag-named/types/txt
1647−/* src-474 %jibb /tests/golden/types-module-field-duplicate/source/jibb
1648−/* tok-474 %txt /tests/golden/types-module-field-duplicate/tokens/txt
1649−/* tre-474 %txt /tests/golden/types-module-field-duplicate/tree/txt
1650−/* mod-474-1 %jibb /tests/golden/types-module-field-duplicate/modules/ui/lib/jibb
1651−/* typ-474 %txt /tests/golden/types-module-field-duplicate/types/txt
1652−/* mtre-474 %txt /tests/golden/types-module-field-duplicate/module-trees/txt
1653−/* src-475 %jibb /tests/golden/types-module-field-nonrecord/source/jibb
1654−/* tok-475 %txt /tests/golden/types-module-field-nonrecord/tokens/txt
1655−/* tre-475 %txt /tests/golden/types-module-field-nonrecord/tree/txt
1656−/* mod-475-1 %jibb /tests/golden/types-module-field-nonrecord/modules/ui/lib/jibb
1657−/* typ-475 %txt /tests/golden/types-module-field-nonrecord/types/txt
1658−/* mtre-475 %txt /tests/golden/types-module-field-nonrecord/module-trees/txt
1659−/* src-476 %jibb /tests/golden/types-module-field-path/source/jibb
1660−/* tok-476 %txt /tests/golden/types-module-field-path/tokens/txt
1661−/* tre-476 %txt /tests/golden/types-module-field-path/tree/txt
1662−/* mod-476-1 %jibb /tests/golden/types-module-field-path/modules/ui/lib/jibb
1663−/* typ-476 %txt /tests/golden/types-module-field-path/types/txt
1664−/* mtre-476 %txt /tests/golden/types-module-field-path/module-trees/txt
1665−/* src-477 %jibb /tests/golden/types-module-field-shadow/source/jibb
1666−/* tok-477 %txt /tests/golden/types-module-field-shadow/tokens/txt
1667−/* tre-477 %txt /tests/golden/types-module-field-shadow/tree/txt
1668−/* mod-477-1 %jibb /tests/golden/types-module-field-shadow/modules/ui/lib/jibb
1669−/* typ-477 %txt /tests/golden/types-module-field-shadow/types/txt
1670−/* mtre-477 %txt /tests/golden/types-module-field-shadow/module-trees/txt
1671−/* src-478 %jibb /tests/golden/types-module-fixtures/source/jibb
1672−/* tok-478 %txt /tests/golden/types-module-fixtures/tokens/txt
1673−/* tre-478 %txt /tests/golden/types-module-fixtures/tree/txt
1674−/* mod-478-1 %jibb /tests/golden/types-module-fixtures/modules/ui/api/blog/jibb
1675−/* mod-478-2 %jibb /tests/golden/types-module-fixtures/modules/ui/components/card/jibb
1676−/* typ-478 %txt /tests/golden/types-module-fixtures/types/txt
1677−/* mtre-478 %txt /tests/golden/types-module-fixtures/module-trees/txt
1678−/* src-479 %jibb /tests/golden/types-module-mixed/source/jibb
1679−/* tok-479 %txt /tests/golden/types-module-mixed/tokens/txt
1680−/* tre-479 %txt /tests/golden/types-module-mixed/tree/txt
1681−/* mod-479-1 %jibb /tests/golden/types-module-mixed/modules/ui/helper/jibb
1682−/* typ-479 %txt /tests/golden/types-module-mixed/types/txt
1683−/* imp-479-1 %txt /tests/golden/types-module-mixed/sur/fixture/txt
1684−/* mark-479-1 %txt /tests/golden/types-module-mixed/mar/label/txt
1685−/* mtre-479 %txt /tests/golden/types-module-mixed/module-trees/txt
1686−/* src-480 %jibb /tests/golden/types-multi-call/source/jibb
1687−/* tok-480 %txt /tests/golden/types-multi-call/tokens/txt
1688−/* tre-480 %txt /tests/golden/types-multi-call/tree/txt
1689−/* typ-480 %txt /tests/golden/types-multi-call/types/txt
1690−/* src-481 %jibb /tests/golden/types-multi-import/source/jibb
1691−/* tok-481 %txt /tests/golden/types-multi-import/tokens/txt
1692−/* tre-481 %txt /tests/golden/types-multi-import/tree/txt
1693−/* mod-481-1 %jibb /tests/golden/types-multi-import/modules/ui/lib/jibb
1694−/* typ-481 %txt /tests/golden/types-multi-import/types/txt
1695−/* mtre-481 %txt /tests/golden/types-multi-import/module-trees/txt
1696−/* src-482 %jibb /tests/golden/types-nested-missing-tag/source/jibb
1697−/* tok-482 %txt /tests/golden/types-nested-missing-tag/tokens/txt
1698−/* tre-482 %txt /tests/golden/types-nested-missing-tag/tree/txt
1699−/* typ-482 %txt /tests/golden/types-nested-missing-tag/types/txt
1700−/* src-483 %jibb /tests/golden/types-null-context/source/jibb
1701−/* tok-483 %txt /tests/golden/types-null-context/tokens/txt
1702−/* tre-483 %txt /tests/golden/types-null-context/tree/txt
1703−/* typ-483 %txt /tests/golden/types-null-context/types/txt
1704−/* src-484 %jibb /tests/golden/types-null-overlap/source/jibb
1705−/* tok-484 %txt /tests/golden/types-null-overlap/tokens/txt
1706−/* tre-484 %txt /tests/golden/types-null-overlap/tree/txt
1707−/* typ-484 %txt /tests/golden/types-null-overlap/types/txt
1708−/* src-485 %jibb /tests/golden/types-null-unresolved/source/jibb
1709−/* tok-485 %txt /tests/golden/types-null-unresolved/tokens/txt
1710−/* tre-485 %txt /tests/golden/types-null-unresolved/tree/txt
1711−/* typ-485 %txt /tests/golden/types-null-unresolved/types/txt
1712−/* src-486 %jibb /tests/golden/types-pair-context/source/jibb
1713−/* tok-486 %txt /tests/golden/types-pair-context/tokens/txt
1714−/* tre-486 %txt /tests/golden/types-pair-context/tree/txt
1715−/* typ-486 %txt /tests/golden/types-pair-context/types/txt
1716−/* src-487 %jibb /tests/golden/types-partial-apply/source/jibb
1717−/* tok-487 %txt /tests/golden/types-partial-apply/tokens/txt
1718−/* tre-487 %txt /tests/golden/types-partial-apply/tree/txt
1719−/* typ-487 %txt /tests/golden/types-partial-apply/types/txt
1720−/* src-488 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1721−/* tok-488 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1722−/* tre-488 %txt /tests/golden/types-partial-atom-alias/tree/txt
1723−/* typ-488 %txt /tests/golden/types-partial-atom-alias/types/txt
1724−/* src-489 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1725−/* tok-489 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1726−/* tre-489 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1727−/* typ-489 %txt /tests/golden/types-partial-atom-constraint/types/txt
1728−/* src-490 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1729−/* tok-490 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1730−/* tre-490 %txt /tests/golden/types-partial-atom-widening/tree/txt
1731−/* typ-490 %txt /tests/golden/types-partial-atom-widening/types/txt
1732−/* src-491 %jibb /tests/golden/types-partial-aura/source/jibb
1733−/* tok-491 %txt /tests/golden/types-partial-aura/tokens/txt
1734−/* tre-491 %txt /tests/golden/types-partial-aura/tree/txt
1735−/* typ-491 %txt /tests/golden/types-partial-aura/types/txt
1736−/* src-492 %jibb /tests/golden/types-partial-aura-family/source/jibb
1737−/* tok-492 %txt /tests/golden/types-partial-aura-family/tokens/txt
1738−/* tre-492 %txt /tests/golden/types-partial-aura-family/tree/txt
1739−/* typ-492 %txt /tests/golden/types-partial-aura-family/types/txt
1740−/* src-493 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1741−/* tok-493 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1742−/* tre-493 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1743−/* typ-493 %txt /tests/golden/types-partial-aura-generalization/types/txt
1744−/* src-494 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1745−/* tok-494 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1746−/* tre-494 %txt /tests/golden/types-partial-bare-atom/tree/txt
1747−/* typ-494 %txt /tests/golden/types-partial-bare-atom/types/txt
1748−/* src-495 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1749−/* tok-495 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1750−/* tre-495 %txt /tests/golden/types-partial-branch-widening/tree/txt
1751−/* typ-495 %txt /tests/golden/types-partial-branch-widening/types/txt
1752−/* src-496 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1753−/* tok-496 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1754−/* tre-496 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1755−/* typ-496 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1756−/* src-497 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1757−/* tok-497 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1758−/* tre-497 %txt /tests/golden/types-partial-decimal-default/tree/txt
1759−/* typ-497 %txt /tests/golden/types-partial-decimal-default/types/txt
1760−/* src-498 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1761−/* tok-498 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1762−/* tre-498 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1763−/* typ-498 %txt /tests/golden/types-partial-dependency-chain/types/txt
1764−/* src-499 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1765−/* tok-499 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1766−/* tre-499 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1767−/* typ-499 %txt /tests/golden/types-partial-explicit-capital/types/txt
1768−/* src-500 %jibb /tests/golden/types-partial-forward/source/jibb
1769−/* tok-500 %txt /tests/golden/types-partial-forward/tokens/txt
1770−/* tre-500 %txt /tests/golden/types-partial-forward/tree/txt
1771−/* typ-500 %txt /tests/golden/types-partial-forward/types/txt
1772−/* src-501 %jibb /tests/golden/types-partial-generalization/source/jibb
1773−/* tok-501 %txt /tests/golden/types-partial-generalization/tokens/txt
1774−/* tre-501 %txt /tests/golden/types-partial-generalization/tree/txt
1775−/* typ-501 %txt /tests/golden/types-partial-generalization/types/txt
1776−/* src-502 %jibb /tests/golden/types-partial-identity/source/jibb
1777−/* tok-502 %txt /tests/golden/types-partial-identity/tokens/txt
1778−/* tre-502 %txt /tests/golden/types-partial-identity/tree/txt
1779−/* typ-502 %txt /tests/golden/types-partial-identity/types/txt
1780−/* src-503 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1781−/* tok-503 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1782−/* tre-503 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1783−/* typ-503 %txt /tests/golden/types-partial-independent-atoms/types/txt
1784−/* src-504 %jibb /tests/golden/types-partial-local-molds/source/jibb
1785−/* tok-504 %txt /tests/golden/types-partial-local-molds/tokens/txt
1786−/* tre-504 %txt /tests/golden/types-partial-local-molds/tree/txt
1787−/* typ-504 %txt /tests/golden/types-partial-local-molds/types/txt
1788−/* src-505 %jibb /tests/golden/types-partial-locals/source/jibb
1789−/* tok-505 %txt /tests/golden/types-partial-locals/tokens/txt
1790−/* tre-505 %txt /tests/golden/types-partial-locals/tree/txt
1791−/* typ-505 %txt /tests/golden/types-partial-locals/types/txt
1792−/* src-506 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1793−/* tok-506 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1794−/* tre-506 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1795−/* typ-506 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1796−/* src-507 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1797−/* tok-507 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1798−/* tre-507 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1799−/* typ-507 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1800−/* src-508 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1801−/* tok-508 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1802−/* tre-508 %txt /tests/golden/types-partial-mold-composite/tree/txt
1803−/* typ-508 %txt /tests/golden/types-partial-mold-composite/types/txt
1804−/* src-509 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1805−/* tok-509 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1806−/* tre-509 %txt /tests/golden/types-partial-mold-forward/tree/txt
1807−/* typ-509 %txt /tests/golden/types-partial-mold-forward/types/txt
1808−/* src-510 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1809−/* tok-510 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1810−/* tre-510 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1811−/* typ-510 %txt /tests/golden/types-partial-mold-recursive/types/txt
1812−/* src-511 %jibb /tests/golden/types-partial-occurs/source/jibb
1813−/* tok-511 %txt /tests/golden/types-partial-occurs/tokens/txt
1814−/* tre-511 %txt /tests/golden/types-partial-occurs/tree/txt
1815−/* typ-511 %txt /tests/golden/types-partial-occurs/types/txt
1816−/* src-512 %jibb /tests/golden/types-partial-projection/source/jibb
1817−/* tok-512 %txt /tests/golden/types-partial-projection/tokens/txt
1818−/* tre-512 %txt /tests/golden/types-partial-projection/tree/txt
1819−/* typ-512 %txt /tests/golden/types-partial-projection/types/txt
1820−/* src-513 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1821−/* tok-513 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1822−/* tre-513 %txt /tests/golden/types-partial-shadow-global/tree/txt
1823−/* typ-513 %txt /tests/golden/types-partial-shadow-global/types/txt
1824−/* src-514 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1825−/* tok-514 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1826−/* tre-514 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1827−/* typ-514 %txt /tests/golden/types-partial-shared-tvar/types/txt
1828−/* src-515 %jibb /tests/golden/types-partial-union-cases/source/jibb
1829−/* tok-515 %txt /tests/golden/types-partial-union-cases/tokens/txt
1830−/* tre-515 %txt /tests/golden/types-partial-union-cases/tree/txt
1831−/* typ-515 %txt /tests/golden/types-partial-union-cases/types/txt
1832−/* src-516 %jibb /tests/golden/types-partial-union-edges/source/jibb
1833−/* tok-516 %txt /tests/golden/types-partial-union-edges/tokens/txt
1834−/* tre-516 %txt /tests/golden/types-partial-union-edges/tree/txt
1835−/* typ-516 %txt /tests/golden/types-partial-union-edges/types/txt
1836−/* src-517 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1837−/* tok-517 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1838−/* tre-517 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1839−/* typ-517 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1840−/* src-518 %jibb /tests/golden/types-prelude-arithmetic/source/jibb
1841−/* tok-518 %txt /tests/golden/types-prelude-arithmetic/tokens/txt
1842−/* tre-518 %txt /tests/golden/types-prelude-arithmetic/tree/txt
1843−/* typ-518 %txt /tests/golden/types-prelude-arithmetic/types/txt
1844−/* src-519 %jibb /tests/golden/types-prelude-bond/source/jibb
1845−/* tok-519 %txt /tests/golden/types-prelude-bond/tokens/txt
1846−/* tre-519 %txt /tests/golden/types-prelude-bond/tree/txt
1847−/* typ-519 %txt /tests/golden/types-prelude-bond/types/txt
1848−/* src-520 %jibb /tests/golden/types-prelude-cmd/source/jibb
1849−/* tok-520 %txt /tests/golden/types-prelude-cmd/tokens/txt
1850−/* tre-520 %txt /tests/golden/types-prelude-cmd/tree/txt
1851−/* typ-520 %txt /tests/golden/types-prelude-cmd/types/txt
1852−/* src-521 %jibb /tests/golden/types-prelude-direct/source/jibb
1853−/* tok-521 %txt /tests/golden/types-prelude-direct/tokens/txt
1854−/* tre-521 %txt /tests/golden/types-prelude-direct/tree/txt
1855−/* typ-521 %txt /tests/golden/types-prelude-direct/types/txt
1856−/* src-522 %jibb /tests/golden/types-prelude-functional/source/jibb
1857−/* tok-522 %txt /tests/golden/types-prelude-functional/tokens/txt
1858−/* tre-522 %txt /tests/golden/types-prelude-functional/tree/txt
1859−/* typ-522 %txt /tests/golden/types-prelude-functional/types/txt
1860−/* src-523 %jibb /tests/golden/types-prelude-interface/source/jibb
1861−/* tok-523 %txt /tests/golden/types-prelude-interface/tokens/txt
1862−/* tre-523 %txt /tests/golden/types-prelude-interface/tree/txt
1863−/* mod-523-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1864−/* mod-523-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1865−/* typ-523 %txt /tests/golden/types-prelude-interface/types/txt
1866−/* mtre-523 %txt /tests/golden/types-prelude-interface/module-trees/txt
1867−/* src-524 %jibb /tests/golden/types-prelude-list-alias/source/jibb
1868−/* tok-524 %txt /tests/golden/types-prelude-list-alias/tokens/txt
1869−/* tre-524 %txt /tests/golden/types-prelude-list-alias/tree/txt
1870−/* typ-524 %txt /tests/golden/types-prelude-list-alias/types/txt
1871−/* src-525 %jibb /tests/golden/types-prelude-list-functions/source/jibb
1872−/* tok-525 %txt /tests/golden/types-prelude-list-functions/tokens/txt
1873−/* tre-525 %txt /tests/golden/types-prelude-list-functions/tree/txt
1874−/* mod-525-1 %jibb /tests/golden/types-prelude-list-functions/modules/ui/lib/jibb
1875−/* typ-525 %txt /tests/golden/types-prelude-list-functions/types/txt
1876−/* mtre-525 %txt /tests/golden/types-prelude-list-functions/module-trees/txt
1877−/* src-526 %jibb /tests/golden/types-prelude-list-helpers/source/jibb
1878−/* tok-526 %txt /tests/golden/types-prelude-list-helpers/tokens/txt
1879−/* tre-526 %txt /tests/golden/types-prelude-list-helpers/tree/txt
1880−/* typ-526 %txt /tests/golden/types-prelude-list-helpers/types/txt
1881−/* src-527 %jibb /tests/golden/types-prelude-predicates/source/jibb
1882−/* tok-527 %txt /tests/golden/types-prelude-predicates/tokens/txt
1883−/* tre-527 %txt /tests/golden/types-prelude-predicates/tree/txt
1884−/* typ-527 %txt /tests/golden/types-prelude-predicates/types/txt
1885−/* src-528 %jibb /tests/golden/types-prelude-unit-helpers/source/jibb
1886−/* tok-528 %txt /tests/golden/types-prelude-unit-helpers/tokens/txt
1887−/* tre-528 %txt /tests/golden/types-prelude-unit-helpers/tree/txt
1888−/* typ-528 %txt /tests/golden/types-prelude-unit-helpers/types/txt
1889−/* src-529 %jibb /tests/golden/types-proj-explicit-context/source/jibb
1890−/* tok-529 %txt /tests/golden/types-proj-explicit-context/tokens/txt
1891−/* tre-529 %txt /tests/golden/types-proj-explicit-context/tree/txt
1892−/* typ-529 %txt /tests/golden/types-proj-explicit-context/types/txt
1893−/* src-530 %jibb /tests/golden/types-proj-nested-no-implicit/source/jibb
1894−/* tok-530 %txt /tests/golden/types-proj-nested-no-implicit/tokens/txt
1895−/* tre-530 %txt /tests/golden/types-proj-nested-no-implicit/tree/txt
1896−/* typ-530 %txt /tests/golden/types-proj-nested-no-implicit/types/txt
1897−/* src-531 %jibb /tests/golden/types-proj-reserved-imported-definition/source/jibb
1898−/* tok-531 %txt /tests/golden/types-proj-reserved-imported-definition/tokens/txt
1899−/* tre-531 %txt /tests/golden/types-proj-reserved-imported-definition/tree/txt
1900−/* mod-531-1 %jibb /tests/golden/types-proj-reserved-imported-definition/modules/ui/lib/jibb
1901−/* typ-531 %txt /tests/golden/types-proj-reserved-imported-definition/types/txt
1902−/* mtre-531 %txt /tests/golden/types-proj-reserved-imported-definition/module-trees/txt
1903−/* src-532 %jibb /tests/golden/types-proj-reserved-jibb-import/source/jibb
1904−/* tok-532 %txt /tests/golden/types-proj-reserved-jibb-import/tokens/txt
1905−/* tre-532 %txt /tests/golden/types-proj-reserved-jibb-import/tree/txt
1906−/* mod-532-1 %jibb /tests/golden/types-proj-reserved-jibb-import/modules/ui/lib/jibb
1907−/* typ-532 %txt /tests/golden/types-proj-reserved-jibb-import/types/txt
1908−/* mtre-532 %txt /tests/golden/types-proj-reserved-jibb-import/module-trees/txt
1909−/* src-533 %jibb /tests/golden/types-proj-reserved-local/source/jibb
1910−/* tok-533 %txt /tests/golden/types-proj-reserved-local/tokens/txt
1911−/* tre-533 %txt /tests/golden/types-proj-reserved-local/tree/txt
1912−/* typ-533 %txt /tests/golden/types-proj-reserved-local/types/txt
1913−/* src-534 %jibb /tests/golden/types-proj-reserved-local-mold/source/jibb
1914−/* tok-534 %txt /tests/golden/types-proj-reserved-local-mold/tokens/txt
1915−/* tre-534 %txt /tests/golden/types-proj-reserved-local-mold/tree/txt
1916−/* typ-534 %txt /tests/golden/types-proj-reserved-local-mold/types/txt
1917−/* src-535 %jibb /tests/golden/types-proj-reserved-mark-import/source/jibb
1918−/* tok-535 %txt /tests/golden/types-proj-reserved-mark-import/tokens/txt
1919−/* tre-535 %txt /tests/golden/types-proj-reserved-mark-import/tree/txt
1920−/* typ-535 %txt /tests/golden/types-proj-reserved-mark-import/types/txt
1921−/* src-536 %jibb /tests/golden/types-proj-reserved-mold/source/jibb
1922−/* tok-536 %txt /tests/golden/types-proj-reserved-mold/tokens/txt
1923−/* tre-536 %txt /tests/golden/types-proj-reserved-mold/tree/txt
1924−/* typ-536 %txt /tests/golden/types-proj-reserved-mold/types/txt
1925−/* src-537 %jibb /tests/golden/types-proj-reserved-pattern/source/jibb
1926−/* tok-537 %txt /tests/golden/types-proj-reserved-pattern/tokens/txt
1927−/* tre-537 %txt /tests/golden/types-proj-reserved-pattern/tree/txt
1928−/* typ-537 %txt /tests/golden/types-proj-reserved-pattern/types/txt
1929−/* src-538 %jibb /tests/golden/types-proj-reserved-positive/source/jibb
1930−/* tok-538 %txt /tests/golden/types-proj-reserved-positive/tokens/txt
1931−/* tre-538 %txt /tests/golden/types-proj-reserved-positive/tree/txt
1932−/* typ-538 %txt /tests/golden/types-proj-reserved-positive/types/txt
1933−/* src-539 %jibb /tests/golden/types-proj-reserved-sample/source/jibb
1934−/* tok-539 %txt /tests/golden/types-proj-reserved-sample/tokens/txt
1935−/* tre-539 %txt /tests/golden/types-proj-reserved-sample/tree/txt
1936−/* typ-539 %txt /tests/golden/types-proj-reserved-sample/types/txt
1937−/* src-540 %jibb /tests/golden/types-proj-reserved-sur-import/source/jibb
1938−/* tok-540 %txt /tests/golden/types-proj-reserved-sur-import/tokens/txt
1939−/* tre-540 %txt /tests/golden/types-proj-reserved-sur-import/tree/txt
1940−/* typ-540 %txt /tests/golden/types-proj-reserved-sur-import/types/txt
1941−/* src-541 %jibb /tests/golden/types-proj-reserved-unused-pattern/source/jibb
1942−/* tok-541 %txt /tests/golden/types-proj-reserved-unused-pattern/tokens/txt
1943−/* tre-541 %txt /tests/golden/types-proj-reserved-unused-pattern/tree/txt
1944−/* typ-541 %txt /tests/golden/types-proj-reserved-unused-pattern/types/txt
1945−/* src-542 %jibb /tests/golden/types-proj-reserved-unused-sample/source/jibb
1946−/* tok-542 %txt /tests/golden/types-proj-reserved-unused-sample/tokens/txt
1947−/* tre-542 %txt /tests/golden/types-proj-reserved-unused-sample/tree/txt
1948−/* typ-542 %txt /tests/golden/types-proj-reserved-unused-sample/types/txt
1949−/* src-543 %jibb /tests/golden/types-proj-reserved-unused-value/source/jibb
1950−/* tok-543 %txt /tests/golden/types-proj-reserved-unused-value/tokens/txt
1951−/* tre-543 %txt /tests/golden/types-proj-reserved-unused-value/tree/txt
1952−/* typ-543 %txt /tests/golden/types-proj-reserved-unused-value/types/txt
1953−/* src-544 %jibb /tests/golden/types-proj-reserved-value/source/jibb
1954−/* tok-544 %txt /tests/golden/types-proj-reserved-value/tokens/txt
1955−/* tre-544 %txt /tests/golden/types-proj-reserved-value/tree/txt
1956−/* typ-544 %txt /tests/golden/types-proj-reserved-value/types/txt
1957−/* src-545 %jibb /tests/golden/types-proj-single-duplicate/source/jibb
1958−/* tok-545 %txt /tests/golden/types-proj-single-duplicate/tokens/txt
1959−/* tre-545 %txt /tests/golden/types-proj-single-duplicate/tree/txt
1960−/* typ-545 %txt /tests/golden/types-proj-single-duplicate/types/txt
1961−/* src-546 %jibb /tests/golden/types-proj-single-field/source/jibb
1962−/* tok-546 %txt /tests/golden/types-proj-single-field/tokens/txt
1963−/* tre-546 %txt /tests/golden/types-proj-single-field/tree/txt
1964−/* typ-546 %txt /tests/golden/types-proj-single-field/types/txt
1965−/* src-547 %jibb /tests/golden/types-proj-single-sample-face/source/jibb
1966−/* tok-547 %txt /tests/golden/types-proj-single-sample-face/tokens/txt
1967−/* tre-547 %txt /tests/golden/types-proj-single-sample-face/tree/txt
1968−/* typ-547 %txt /tests/golden/types-proj-single-sample-face/types/txt
1969−/* src-548 %jibb /tests/golden/types-proj-single-wrapped/source/jibb
1970−/* tok-548 %txt /tests/golden/types-proj-single-wrapped/tokens/txt
1971−/* tre-548 %txt /tests/golden/types-proj-single-wrapped/tree/txt
1972−/* typ-548 %txt /tests/golden/types-proj-single-wrapped/types/txt
1973−/* src-549 %jibb /tests/golden/types-qath-faces/source/jibb
1974−/* tok-549 %txt /tests/golden/types-qath-faces/tokens/txt
1975−/* tre-549 %txt /tests/golden/types-qath-faces/tree/txt
1976−/* typ-549 %txt /tests/golden/types-qath-faces/types/txt
1977−/* src-550 %jibb /tests/golden/types-qath-holes/source/jibb
1978−/* tok-550 %txt /tests/golden/types-qath-holes/tokens/txt
1979−/* tre-550 %txt /tests/golden/types-qath-holes/tree/txt
1980−/* typ-550 %txt /tests/golden/types-qath-holes/types/txt
1981−/* src-551 %jibb /tests/golden/types-qath-module-identity/source/jibb
1982−/* tok-551 %txt /tests/golden/types-qath-module-identity/tokens/txt
1983−/* tre-551 %txt /tests/golden/types-qath-module-identity/tree/txt
1984−/* mod-551-1 %jibb /tests/golden/types-qath-module-identity/modules/ui/one/jibb
1985−/* mod-551-2 %jibb /tests/golden/types-qath-module-identity/modules/ui/two/jibb
1986−/* mod-551-3 %jibb /tests/golden/types-qath-module-identity/modules/ui/mid/jibb
1987−/* typ-551 %txt /tests/golden/types-qath-module-identity/types/txt
1988−/* mtre-551 %txt /tests/golden/types-qath-module-identity/module-trees/txt
1989−/* src-552 %jibb /tests/golden/types-qath-recursive/source/jibb
1990−/* tok-552 %txt /tests/golden/types-qath-recursive/tokens/txt
1991−/* tre-552 %txt /tests/golden/types-qath-recursive/tree/txt
1992−/* typ-552 %txt /tests/golden/types-qath-recursive/types/txt
1993−/* src-553 %jibb /tests/golden/types-record-bound-variable/source/jibb
1994−/* tok-553 %txt /tests/golden/types-record-bound-variable/tokens/txt
1995−/* tre-553 %txt /tests/golden/types-record-bound-variable/tree/txt
1996−/* typ-553 %txt /tests/golden/types-record-bound-variable/types/txt
1997−/* src-554 %jibb /tests/golden/types-record-cast-context/source/jibb
1998−/* tok-554 %txt /tests/golden/types-record-cast-context/tokens/txt
1999−/* tre-554 %txt /tests/golden/types-record-cast-context/tree/txt
2000−/* typ-554 %txt /tests/golden/types-record-cast-context/types/txt
2001−/* src-555 %jibb /tests/golden/types-record-change/source/jibb
2002−/* tok-555 %txt /tests/golden/types-record-change/tokens/txt
2003−/* tre-555 %txt /tests/golden/types-record-change/tree/txt
2004−/* typ-555 %txt /tests/golden/types-record-change/types/txt
2005−/* src-556 %jibb /tests/golden/types-record-change-generic/source/jibb
2006−/* tok-556 %txt /tests/golden/types-record-change-generic/tokens/txt
2007−/* tre-556 %txt /tests/golden/types-record-change-generic/tree/txt
2008−/* typ-556 %txt /tests/golden/types-record-change-generic/types/txt
2009−/* src-557 %jibb /tests/golden/types-record-faces/source/jibb
2010−/* tok-557 %txt /tests/golden/types-record-faces/tokens/txt
2011−/* tre-557 %txt /tests/golden/types-record-faces/tree/txt
2012−/* typ-557 %txt /tests/golden/types-record-faces/types/txt
2013−/* src-558 %jibb /tests/golden/types-record-field-edit-separate/source/jibb
2014−/* tok-558 %txt /tests/golden/types-record-field-edit-separate/tokens/txt
2015−/* tre-558 %txt /tests/golden/types-record-field-edit-separate/tree/txt
2016−/* typ-558 %txt /tests/golden/types-record-field-edit-separate/types/txt
2017−/* src-559 %jibb /tests/golden/types-record-field-expr-duplicate/source/jibb
2018−/* tok-559 %txt /tests/golden/types-record-field-expr-duplicate/tokens/txt
2019−/* tre-559 %txt /tests/golden/types-record-field-expr-duplicate/tree/txt
2020−/* typ-559 %txt /tests/golden/types-record-field-expr-duplicate/types/txt
2021−/* src-560 %jibb /tests/golden/types-record-field-expr-separate/source/jibb
2022−/* tok-560 %txt /tests/golden/types-record-field-expr-separate/tokens/txt
2023−/* tre-560 %txt /tests/golden/types-record-field-expr-separate/tree/txt
2024−/* typ-560 %txt /tests/golden/types-record-field-expr-separate/types/txt
2025−/* src-561 %jibb /tests/golden/types-record-field-module-reachable/source/jibb
2026−/* tok-561 %txt /tests/golden/types-record-field-module-reachable/tokens/txt
2027−/* tre-561 %txt /tests/golden/types-record-field-module-reachable/tree/txt
2028−/* mod-561-1 %jibb /tests/golden/types-record-field-module-reachable/modules/ui/lib/jibb
2029−/* typ-561 %txt /tests/golden/types-record-field-module-reachable/types/txt
2030−/* mtre-561 %txt /tests/golden/types-record-field-module-reachable/module-trees/txt
2031−/* src-562 %jibb /tests/golden/types-record-field-module-unused/source/jibb
2032−/* tok-562 %txt /tests/golden/types-record-field-module-unused/tokens/txt
2033−/* tre-562 %txt /tests/golden/types-record-field-module-unused/tree/txt
2034−/* mod-562-1 %jibb /tests/golden/types-record-field-module-unused/modules/ui/good/jibb
2035−/* mod-562-2 %jibb /tests/golden/types-record-field-module-unused/modules/ui/unused/jibb
2036−/* typ-562 %txt /tests/golden/types-record-field-module-unused/types/txt
2037−/* mtre-562 %txt /tests/golden/types-record-field-module-unused/module-trees/txt
2038−/* src-563 %jibb /tests/golden/types-record-field-nested-mold/source/jibb
2039−/* tok-563 %txt /tests/golden/types-record-field-nested-mold/tokens/txt
2040−/* tre-563 %txt /tests/golden/types-record-field-nested-mold/tree/txt
2041−/* typ-563 %txt /tests/golden/types-record-field-nested-mold/types/txt
2042−/* src-564 %jibb /tests/golden/types-record-field-outer-inner/source/jibb
2043−/* tok-564 %txt /tests/golden/types-record-field-outer-inner/tokens/txt
2044−/* tre-564 %txt /tests/golden/types-record-field-outer-inner/tree/txt
2045−/* typ-564 %txt /tests/golden/types-record-field-outer-inner/types/txt
2046−/* src-565 %jibb /tests/golden/types-record-field-sample-duplicate/source/jibb
2047−/* tok-565 %txt /tests/golden/types-record-field-sample-duplicate/tokens/txt
2048−/* tre-565 %txt /tests/golden/types-record-field-sample-duplicate/tree/txt
2049−/* typ-565 %txt /tests/golden/types-record-field-sample-duplicate/types/txt
2050−/* src-566 %jibb /tests/golden/types-record-field-separate-molds/source/jibb
2051−/* tok-566 %txt /tests/golden/types-record-field-separate-molds/tokens/txt
2052−/* tre-566 %txt /tests/golden/types-record-field-separate-molds/tree/txt
2053−/* typ-566 %txt /tests/golden/types-record-field-separate-molds/types/txt
2054−/* src-567 %jibb /tests/golden/types-record-field-unused-mold/source/jibb
2055−/* tok-567 %txt /tests/golden/types-record-field-unused-mold/tokens/txt
2056−/* tre-567 %txt /tests/golden/types-record-field-unused-mold/tree/txt
2057−/* typ-567 %txt /tests/golden/types-record-field-unused-mold/types/txt
2058−/* src-568 %jibb /tests/golden/types-record-import/source/jibb
2059−/* tok-568 %txt /tests/golden/types-record-import/tokens/txt
2060−/* tre-568 %txt /tests/golden/types-record-import/tree/txt
2061−/* mod-568-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
2062−/* typ-568 %txt /tests/golden/types-record-import/types/txt
2063−/* mtre-568 %txt /tests/golden/types-record-import/module-trees/txt
2064−/* src-569 %jibb /tests/golden/types-record-local-scheme/source/jibb
2065−/* tok-569 %txt /tests/golden/types-record-local-scheme/tokens/txt
2066−/* tre-569 %txt /tests/golden/types-record-local-scheme/tree/txt
2067−/* typ-569 %txt /tests/golden/types-record-local-scheme/types/txt
2068−/* src-570 %jibb /tests/golden/types-record-nested/source/jibb
2069−/* tok-570 %txt /tests/golden/types-record-nested/tokens/txt
2070−/* tre-570 %txt /tests/golden/types-record-nested/tree/txt
2071−/* typ-570 %txt /tests/golden/types-record-nested/types/txt
2072−/* src-571 %jibb /tests/golden/types-record-to-tuple/source/jibb
2073−/* tok-571 %txt /tests/golden/types-record-to-tuple/tokens/txt
2074−/* tre-571 %txt /tests/golden/types-record-to-tuple/tree/txt
2075−/* typ-571 %txt /tests/golden/types-record-to-tuple/types/txt
2076−/* src-572 %jibb /tests/golden/types-recursion-scc-failures/source/jibb
2077−/* tok-572 %txt /tests/golden/types-recursion-scc-failures/tokens/txt
2078−/* tre-572 %txt /tests/golden/types-recursion-scc-failures/tree/txt
2079−/* typ-572 %txt /tests/golden/types-recursion-scc-failures/types/txt
2080−/* src-573 %jibb /tests/golden/types-recursion-scc-groups/source/jibb
2081−/* tok-573 %txt /tests/golden/types-recursion-scc-groups/tokens/txt
2082−/* tre-573 %txt /tests/golden/types-recursion-scc-groups/tree/txt
2083−/* typ-573 %txt /tests/golden/types-recursion-scc-groups/types/txt
2084−/* src-574 %jibb /tests/golden/types-recursion-scc-import/source/jibb
2085−/* tok-574 %txt /tests/golden/types-recursion-scc-import/tokens/txt
2086−/* tre-574 %txt /tests/golden/types-recursion-scc-import/tree/txt
2087−/* mod-574-1 %jibb /tests/golden/types-recursion-scc-import/modules/ui/lib/jibb
2088−/* typ-574 %txt /tests/golden/types-recursion-scc-import/types/txt
2089−/* mtre-574 %txt /tests/golden/types-recursion-scc-import/module-trees/txt
2090−/* src-575 %jibb /tests/golden/types-recursion-scc-import-bad/source/jibb
2091−/* tok-575 %txt /tests/golden/types-recursion-scc-import-bad/tokens/txt
2092−/* tre-575 %txt /tests/golden/types-recursion-scc-import-bad/tree/txt
2093−/* mod-575-1 %jibb /tests/golden/types-recursion-scc-import-bad/modules/ui/lib/jibb
2094−/* typ-575 %txt /tests/golden/types-recursion-scc-import-bad/types/txt
2095−/* mtre-575 %txt /tests/golden/types-recursion-scc-import-bad/module-trees/txt
2096−/* src-576 %jibb /tests/golden/types-recursion-scc-local/source/jibb
2097−/* tok-576 %txt /tests/golden/types-recursion-scc-local/tokens/txt
2098−/* tre-576 %txt /tests/golden/types-recursion-scc-local/tree/txt
2099−/* typ-576 %txt /tests/golden/types-recursion-scc-local/types/txt
2100−/* src-577 %jibb /tests/golden/types-recursion-scc-order/source/jibb
2101−/* tok-577 %txt /tests/golden/types-recursion-scc-order/tokens/txt
2102−/* tre-577 %txt /tests/golden/types-recursion-scc-order/tree/txt
2103−/* typ-577 %txt /tests/golden/types-recursion-scc-order/types/txt
2104−/* src-578 %jibb /tests/golden/types-recursion-scc-shadow/source/jibb
2105−/* tok-578 %txt /tests/golden/types-recursion-scc-shadow/tokens/txt
2106−/* tre-578 %txt /tests/golden/types-recursion-scc-shadow/tree/txt
2107−/* typ-578 %txt /tests/golden/types-recursion-scc-shadow/types/txt
2108−/* src-579 %jibb /tests/golden/types-recursive-branch/source/jibb
2109−/* tok-579 %txt /tests/golden/types-recursive-branch/tokens/txt
2110−/* tre-579 %txt /tests/golden/types-recursive-branch/tree/txt
2111−/* typ-579 %txt /tests/golden/types-recursive-branch/types/txt
2112−/* src-580 %jibb /tests/golden/types-recursive-gate/source/jibb
2113−/* tok-580 %txt /tests/golden/types-recursive-gate/tokens/txt
2114−/* tre-580 %txt /tests/golden/types-recursive-gate/tree/txt
2115−/* typ-580 %txt /tests/golden/types-recursive-gate/types/txt
2116−/* src-581 %jibb /tests/golden/types-recursive-sample/source/jibb
2117−/* tok-581 %txt /tests/golden/types-recursive-sample/tokens/txt
2118−/* tre-581 %txt /tests/golden/types-recursive-sample/tree/txt
2119−/* typ-581 %txt /tests/golden/types-recursive-sample/types/txt
2120−/* src-582 %jibb /tests/golden/types-scope-library-poke/source/jibb
2121−/* tok-582 %txt /tests/golden/types-scope-library-poke/tokens/txt
2122−/* tre-582 %txt /tests/golden/types-scope-library-poke/tree/txt
2123−/* typ-582 %txt /tests/golden/types-scope-library-poke/types/txt
2124−/* src-583 %jibb /tests/golden/types-scope-root-api/source/jibb
2125−/* tok-583 %txt /tests/golden/types-scope-root-api/tokens/txt
2126−/* tre-583 %txt /tests/golden/types-scope-root-api/tree/txt
2127−/* typ-583 %txt /tests/golden/types-scope-root-api/types/txt
2128−/* src-584 %jibb /tests/golden/types-scope-store-duplicate/source/jibb
2129−/* tok-584 %txt /tests/golden/types-scope-store-duplicate/tokens/txt
2130−/* tre-584 %txt /tests/golden/types-scope-store-duplicate/tree/txt
2131−/* typ-584 %txt /tests/golden/types-scope-store-duplicate/types/txt
2132−/* src-585 %jibb /tests/golden/types-scope-store-shadow/source/jibb
2133−/* tok-585 %txt /tests/golden/types-scope-store-shadow/tokens/txt
2134−/* tre-585 %txt /tests/golden/types-scope-store-shadow/tree/txt
2135−/* typ-585 %txt /tests/golden/types-scope-store-shadow/types/txt
2136−/* src-586 %jibb /tests/golden/types-single-case-pattern/source/jibb
2137−/* tok-586 %txt /tests/golden/types-single-case-pattern/tokens/txt
2138−/* tre-586 %txt /tests/golden/types-single-case-pattern/tree/txt
2139−/* typ-586 %txt /tests/golden/types-single-case-pattern/types/txt
2140−/* src-587 %jibb /tests/golden/types-string-interpolation/source/jibb
2141−/* tok-587 %txt /tests/golden/types-string-interpolation/tokens/txt
2142−/* tre-587 %txt /tests/golden/types-string-interpolation/tree/txt
2143−/* typ-587 %txt /tests/golden/types-string-interpolation/types/txt
2144−/* src-588 %jibb /tests/golden/types-tuple-context/source/jibb
2145−/* tok-588 %txt /tests/golden/types-tuple-context/tokens/txt
2146−/* tre-588 %txt /tests/golden/types-tuple-context/tree/txt
2147−/* typ-588 %txt /tests/golden/types-tuple-context/types/txt
2148−/* src-589 %jibb /tests/golden/types-tuple-context-nested/source/jibb
2149−/* tok-589 %txt /tests/golden/types-tuple-context-nested/tokens/txt
2150−/* tre-589 %txt /tests/golden/types-tuple-context-nested/tree/txt
2151−/* typ-589 %txt /tests/golden/types-tuple-context-nested/types/txt
2152−/* src-590 %jibb /tests/golden/types-union-alias/source/jibb
2153−/* tok-590 %txt /tests/golden/types-union-alias/tokens/txt
2154−/* tre-590 %txt /tests/golden/types-union-alias/tree/txt
2155−/* typ-590 %txt /tests/golden/types-union-alias/types/txt
2156−/* src-591 %jibb /tests/golden/types-union-branch-context/source/jibb
2157−/* tok-591 %txt /tests/golden/types-union-branch-context/tokens/txt
2158−/* tre-591 %txt /tests/golden/types-union-branch-context/tree/txt
2159−/* typ-591 %txt /tests/golden/types-union-branch-context/types/txt
2160−/* src-592 %jibb /tests/golden/types-union-branch-pending/source/jibb
2161−/* tok-592 %txt /tests/golden/types-union-branch-pending/tokens/txt
2162−/* tre-592 %txt /tests/golden/types-union-branch-pending/tree/txt
2163−/* typ-592 %txt /tests/golden/types-union-branch-pending/types/txt
2164−/* src-593 %jibb /tests/golden/types-union-constructor-shape/source/jibb
2165−/* tok-593 %txt /tests/golden/types-union-constructor-shape/tokens/txt
2166−/* tre-593 %txt /tests/golden/types-union-constructor-shape/tree/txt
2167−/* typ-593 %txt /tests/golden/types-union-constructor-shape/types/txt
2168−/* src-594 %jibb /tests/golden/types-union-context-flow/source/jibb
2169−/* tok-594 %txt /tests/golden/types-union-context-flow/tokens/txt
2170−/* tre-594 %txt /tests/golden/types-union-context-flow/tree/txt
2171−/* typ-594 %txt /tests/golden/types-union-context-flow/types/txt
2172−/* src-595 %jibb /tests/golden/types-union-finite/source/jibb
2173−/* tok-595 %txt /tests/golden/types-union-finite/tokens/txt
2174−/* tre-595 %txt /tests/golden/types-union-finite/tree/txt
2175−/* typ-595 %txt /tests/golden/types-union-finite/types/txt
2176−/* src-596 %jibb /tests/golden/types-union-finite-context/source/jibb
2177−/* tok-596 %txt /tests/golden/types-union-finite-context/tokens/txt
2178−/* tre-596 %txt /tests/golden/types-union-finite-context/tree/txt
2179−/* typ-596 %txt /tests/golden/types-union-finite-context/types/txt
2180−/* src-597 %jibb /tests/golden/types-union-finite-generic/source/jibb
2181−/* tok-597 %txt /tests/golden/types-union-finite-generic/tokens/txt
2182−/* tre-597 %txt /tests/golden/types-union-finite-generic/tree/txt
2183−/* typ-597 %txt /tests/golden/types-union-finite-generic/types/txt
2184−/* src-598 %jibb /tests/golden/types-union-finite-limit/source/jibb
2185−/* tok-598 %txt /tests/golden/types-union-finite-limit/tokens/txt
2186−/* tre-598 %txt /tests/golden/types-union-finite-limit/tree/txt
2187−/* typ-598 %txt /tests/golden/types-union-finite-limit/types/txt
2188−/* src-599 %jibb /tests/golden/types-union-import/source/jibb
2189−/* tok-599 %txt /tests/golden/types-union-import/tokens/txt
2190−/* tre-599 %txt /tests/golden/types-union-import/tree/txt
2191−/* mod-599-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
2192−/* typ-599 %txt /tests/golden/types-union-import/types/txt
2193−/* mtre-599 %txt /tests/golden/types-union-import/module-trees/txt
2194−/* src-600 %jibb /tests/golden/types-union-local-pending/source/jibb
2195−/* tok-600 %txt /tests/golden/types-union-local-pending/tokens/txt
2196−/* tre-600 %txt /tests/golden/types-union-local-pending/tree/txt
2197−/* typ-600 %txt /tests/golden/types-union-local-pending/types/txt
2198−/* src-601 %jibb /tests/golden/types-union-nonwing-subject/source/jibb
2199−/* tok-601 %txt /tests/golden/types-union-nonwing-subject/tokens/txt
2200−/* tre-601 %txt /tests/golden/types-union-nonwing-subject/tree/txt
2201−/* typ-601 %txt /tests/golden/types-union-nonwing-subject/types/txt
2202−/* src-602 %jibb /tests/golden/types-union-overlap/source/jibb
2203−/* tok-602 %txt /tests/golden/types-union-overlap/tokens/txt
2204−/* tre-602 %txt /tests/golden/types-union-overlap/tree/txt
2205−/* typ-602 %txt /tests/golden/types-union-overlap/types/txt
2206−/* src-603 %jibb /tests/golden/types-union-overlap-nested/source/jibb
2207−/* tok-603 %txt /tests/golden/types-union-overlap-nested/tokens/txt
2208−/* tre-603 %txt /tests/golden/types-union-overlap-nested/tree/txt
2209−/* typ-603 %txt /tests/golden/types-union-overlap-nested/types/txt
2210−/* src-604 %jibb /tests/golden/types-union-pattern-result-context/source/jibb
2211−/* tok-604 %txt /tests/golden/types-union-pattern-result-context/tokens/txt
2212−/* tre-604 %txt /tests/golden/types-union-pattern-result-context/tree/txt
2213−/* typ-604 %txt /tests/golden/types-union-pattern-result-context/types/txt
2214−/* src-605 %jibb /tests/golden/types-union-pattern-result-controls/source/jibb
2215−/* tok-605 %txt /tests/golden/types-union-pattern-result-controls/tokens/txt
2216−/* tre-605 %txt /tests/golden/types-union-pattern-result-controls/tree/txt
2217−/* typ-605 %txt /tests/golden/types-union-pattern-result-controls/types/txt
2218−/* src-606 %jibb /tests/golden/types-union-patterns/source/jibb
2219−/* tok-606 %txt /tests/golden/types-union-patterns/tokens/txt
2220−/* tre-606 %txt /tests/golden/types-union-patterns/tree/txt
2221−/* typ-606 %txt /tests/golden/types-union-patterns/types/txt
2222−/* src-607 %jibb /tests/golden/types-union-patterns-generic/source/jibb
2223−/* tok-607 %txt /tests/golden/types-union-patterns-generic/tokens/txt
2224−/* tre-607 %txt /tests/golden/types-union-patterns-generic/tree/txt
2225−/* typ-607 %txt /tests/golden/types-union-patterns-generic/types/txt
2226−/* src-608 %jibb /tests/golden/types-union-patterns-import/source/jibb
2227−/* tok-608 %txt /tests/golden/types-union-patterns-import/tokens/txt
2228−/* tre-608 %txt /tests/golden/types-union-patterns-import/tree/txt
2229−/* mod-608-1 %jibb /tests/golden/types-union-patterns-import/modules/ui/lib/jibb
2230−/* typ-608 %txt /tests/golden/types-union-patterns-import/types/txt
2231−/* mtre-608 %txt /tests/golden/types-union-patterns-import/module-trees/txt
2232−/* src-609 %jibb /tests/golden/types-union-phantom-generic/source/jibb
2233−/* tok-609 %txt /tests/golden/types-union-phantom-generic/tokens/txt
2234−/* tre-609 %txt /tests/golden/types-union-phantom-generic/tree/txt
2235−/* typ-609 %txt /tests/golden/types-union-phantom-generic/types/txt
2236−/* src-610 %jibb /tests/golden/types-union-polymorphic-identity/source/jibb
2237−/* tok-610 %txt /tests/golden/types-union-polymorphic-identity/tokens/txt
2238−/* tre-610 %txt /tests/golden/types-union-polymorphic-identity/tree/txt
2239−/* mod-610-1 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/one/jibb
2240−/* mod-610-2 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/two/jibb
2241−/* typ-610 %txt /tests/golden/types-union-polymorphic-identity/types/txt
2242−/* mtre-610 %txt /tests/golden/types-union-polymorphic-identity/module-trees/txt
2243−/* src-611 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
2244−/* tok-611 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
2245−/* tre-611 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
2246−/* mod-611-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
2247−/* typ-611 %txt /tests/golden/types-union-print-cross-namespace/types/txt
2248−/* mtre-611 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
2249−/* src-612 %jibb /tests/golden/types-union-print-distinct/source/jibb
2250−/* tok-612 %txt /tests/golden/types-union-print-distinct/tokens/txt
2251−/* tre-612 %txt /tests/golden/types-union-print-distinct/tree/txt
2252−/* mod-612-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
2253−/* mod-612-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
2254−/* mod-612-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
2255−/* typ-612 %txt /tests/golden/types-union-print-distinct/types/txt
2256−/* mtre-612 %txt /tests/golden/types-union-print-distinct/module-trees/txt
2257−/* src-613 %jibb /tests/golden/types-union-print-escape/source/jibb
2258−/* tok-613 %txt /tests/golden/types-union-print-escape/tokens/txt
2259−/* tre-613 %txt /tests/golden/types-union-print-escape/tree/txt
2260−/* typ-613 %txt /tests/golden/types-union-print-escape/types/txt
2261−/* src-614 %jibb /tests/golden/types-union-print-local/source/jibb
2262−/* tok-614 %txt /tests/golden/types-union-print-local/tokens/txt
2263−/* tre-614 %txt /tests/golden/types-union-print-local/tree/txt
2264−/* typ-614 %txt /tests/golden/types-union-print-local/types/txt
2265−/* src-615 %jibb /tests/golden/types-union-print-nested/source/jibb
2266−/* tok-615 %txt /tests/golden/types-union-print-nested/tokens/txt
2267−/* tre-615 %txt /tests/golden/types-union-print-nested/tree/txt
2268−/* typ-615 %txt /tests/golden/types-union-print-nested/types/txt
2269−/* src-616 %jibb /tests/golden/types-union-print-same-origin/source/jibb
2270−/* tok-616 %txt /tests/golden/types-union-print-same-origin/tokens/txt
2271−/* tre-616 %txt /tests/golden/types-union-print-same-origin/tree/txt
2272−/* mod-616-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
2273−/* typ-616 %txt /tests/golden/types-union-print-same-origin/types/txt
2274−/* mtre-616 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
2275−/* src-617 %jibb /tests/golden/types-union-print-transitive/source/jibb
2276−/* tok-617 %txt /tests/golden/types-union-print-transitive/tokens/txt
2277−/* tre-617 %txt /tests/golden/types-union-print-transitive/tree/txt
2278−/* mod-617-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
2279−/* mod-617-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
2280−/* typ-617 %txt /tests/golden/types-union-print-transitive/types/txt
2281−/* mtre-617 %txt /tests/golden/types-union-print-transitive/module-trees/txt
2282−/* src-618 %jibb /tests/golden/types-union-singleton/source/jibb
2283−/* tok-618 %txt /tests/golden/types-union-singleton/tokens/txt
2284−/* tre-618 %txt /tests/golden/types-union-singleton/tree/txt
2285−/* typ-618 %txt /tests/golden/types-union-singleton/types/txt
2286−/* src-619 %jibb /tests/golden/types-union-tag-atoms/source/jibb
2287−/* tok-619 %txt /tests/golden/types-union-tag-atoms/tokens/txt
2288−/* tre-619 %txt /tests/golden/types-union-tag-atoms/tree/txt
2289−/* typ-619 %txt /tests/golden/types-union-tag-atoms/types/txt
2290−/* src-620 %jibb /tests/golden/types-union-tags/source/jibb
2291−/* tok-620 %txt /tests/golden/types-union-tags/tokens/txt
2292−/* tre-620 %txt /tests/golden/types-union-tags/tree/txt
2293−/* typ-620 %txt /tests/golden/types-union-tags/types/txt
2294−/* src-621 %jibb /tests/golden/types-union-unresolved/source/jibb
2295−/* tok-621 %txt /tests/golden/types-union-unresolved/tokens/txt
2296−/* tre-621 %txt /tests/golden/types-union-unresolved/tree/txt
2297−/* typ-621 %txt /tests/golden/types-union-unresolved/types/txt
2298−/* src-622 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
2299−/* tok-622 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
2300−/* tre-622 %txt /tests/golden/types-union-unresolved-flow/tree/txt
2301−/* typ-622 %txt /tests/golden/types-union-unresolved-flow/types/txt
2302−/* src-623 %jibb /tests/golden/types-unit-construction/source/jibb
2303−/* tok-623 %txt /tests/golden/types-unit-construction/tokens/txt
2304−/* tre-623 %txt /tests/golden/types-unit-construction/tree/txt
2305−/* typ-623 %txt /tests/golden/types-unit-construction/types/txt
2306−/* src-624 %jibb /tests/golden/types-unit-context/source/jibb
2307−/* tok-624 %txt /tests/golden/types-unit-context/tokens/txt
2308−/* tre-624 %txt /tests/golden/types-unit-context/tree/txt
2309−/* typ-624 %txt /tests/golden/types-unit-context/types/txt
2310−/* src-625 %jibb /tests/golden/types-unit-patterns/source/jibb
2311−/* tok-625 %txt /tests/golden/types-unit-patterns/tokens/txt
2312−/* tre-625 %txt /tests/golden/types-unit-patterns/tree/txt
2313−/* typ-625 %txt /tests/golden/types-unit-patterns/types/txt
2314−/* src-626 %jibb /tests/golden/types-value-cycle-shadow/source/jibb
2315−/* tok-626 %txt /tests/golden/types-value-cycle-shadow/tokens/txt
2316−/* tre-626 %txt /tests/golden/types-value-cycle-shadow/tree/txt
2317−/* typ-626 %txt /tests/golden/types-value-cycle-shadow/types/txt
2318−/* src-627 %jibb /tests/golden/types-value-cycle-unsupported/source/jibb
2319−/* tok-627 %txt /tests/golden/types-value-cycle-unsupported/tokens/txt
2320−/* tre-627 %txt /tests/golden/types-value-cycle-unsupported/tree/txt
2321−/* typ-627 %txt /tests/golden/types-value-cycle-unsupported/types/txt
2322−/* src-628 %jibb /tests/golden/types-value-cycles/source/jibb
2323−/* tok-628 %txt /tests/golden/types-value-cycles/tokens/txt
2324−/* tre-628 %txt /tests/golden/types-value-cycles/tree/txt
2325−/* typ-628 %txt /tests/golden/types-value-cycles/types/txt
1339+/* src-410 %jibb /tests/golden/types-arithmetic-combined/source/jibb
1340+/* tok-410 %txt /tests/golden/types-arithmetic-combined/tokens/txt
1341+/* tre-410 %txt /tests/golden/types-arithmetic-combined/tree/txt
1342+/* typ-410 %txt /tests/golden/types-arithmetic-combined/types/txt
1343+/* src-411 %jibb /tests/golden/types-arithmetic-generic/source/jibb
1344+/* tok-411 %txt /tests/golden/types-arithmetic-generic/tokens/txt
1345+/* tre-411 %txt /tests/golden/types-arithmetic-generic/tree/txt
1346+/* typ-411 %txt /tests/golden/types-arithmetic-generic/types/txt
1347+/* src-412 %jibb /tests/golden/types-arithmetic-module/source/jibb
1348+/* tok-412 %txt /tests/golden/types-arithmetic-module/tokens/txt
1349+/* tre-412 %txt /tests/golden/types-arithmetic-module/tree/txt
1350+/* mod-412-1 %jibb /tests/golden/types-arithmetic-module/modules/ui/math/jibb
1351+/* typ-412 %txt /tests/golden/types-arithmetic-module/types/txt
1352+/* mtre-412 %txt /tests/golden/types-arithmetic-module/module-trees/txt
1353+/* src-413 %jibb /tests/golden/types-arithmetic-proj-qath/source/jibb
1354+/* tok-413 %txt /tests/golden/types-arithmetic-proj-qath/tokens/txt
1355+/* tre-413 %txt /tests/golden/types-arithmetic-proj-qath/tree/txt
1356+/* typ-413 %txt /tests/golden/types-arithmetic-proj-qath/types/txt
1357+/* src-414 %jibb /tests/golden/types-arithmetic-scopes/source/jibb
1358+/* tok-414 %txt /tests/golden/types-arithmetic-scopes/tokens/txt
1359+/* tre-414 %txt /tests/golden/types-arithmetic-scopes/tree/txt
1360+/* typ-414 %txt /tests/golden/types-arithmetic-scopes/types/txt
1361+/* src-415 %jibb /tests/golden/types-capital-distinct/source/jibb
1362+/* tok-415 %txt /tests/golden/types-capital-distinct/tokens/txt
1363+/* tre-415 %txt /tests/golden/types-capital-distinct/tree/txt
1364+/* typ-415 %txt /tests/golden/types-capital-distinct/types/txt
1365+/* src-416 %jibb /tests/golden/types-cell-pattern-many/source/jibb
1366+/* tok-416 %txt /tests/golden/types-cell-pattern-many/tokens/txt
1367+/* tre-416 %txt /tests/golden/types-cell-pattern-many/tree/txt
1368+/* typ-416 %txt /tests/golden/types-cell-pattern-many/types/txt
1369+/* src-417 %jibb /tests/golden/types-cell-pattern-schemes/source/jibb
1370+/* tok-417 %txt /tests/golden/types-cell-pattern-schemes/tokens/txt
1371+/* tre-417 %txt /tests/golden/types-cell-pattern-schemes/tree/txt
1372+/* typ-417 %txt /tests/golden/types-cell-pattern-schemes/types/txt
1373+/* src-418 %jibb /tests/golden/types-cell-pattern-tail/source/jibb
1374+/* tok-418 %txt /tests/golden/types-cell-pattern-tail/tokens/txt
1375+/* tre-418 %txt /tests/golden/types-cell-pattern-tail/tree/txt
1376+/* typ-418 %txt /tests/golden/types-cell-pattern-tail/types/txt
1377+/* src-419 %jibb /tests/golden/types-deferred-call-context/source/jibb
1378+/* tok-419 %txt /tests/golden/types-deferred-call-context/tokens/txt
1379+/* tre-419 %txt /tests/golden/types-deferred-call-context/tree/txt
1380+/* typ-419 %txt /tests/golden/types-deferred-call-context/types/txt
1381+/* src-420 %jibb /tests/golden/types-flag-branch-context/source/jibb
1382+/* tok-420 %txt /tests/golden/types-flag-branch-context/tokens/txt
1383+/* tre-420 %txt /tests/golden/types-flag-branch-context/tree/txt
1384+/* typ-420 %txt /tests/golden/types-flag-branch-context/types/txt
1385+/* src-421 %jibb /tests/golden/types-generic-arity/source/jibb
1386+/* tok-421 %txt /tests/golden/types-generic-arity/tokens/txt
1387+/* tre-421 %txt /tests/golden/types-generic-arity/tree/txt
1388+/* typ-421 %txt /tests/golden/types-generic-arity/types/txt
1389+/* src-422 %jibb /tests/golden/types-generic-face-inference/source/jibb
1390+/* tok-422 %txt /tests/golden/types-generic-face-inference/tokens/txt
1391+/* tre-422 %txt /tests/golden/types-generic-face-inference/tree/txt
1392+/* typ-422 %txt /tests/golden/types-generic-face-inference/types/txt
1393+/* src-423 %jibb /tests/golden/types-generic-gates/source/jibb
1394+/* tok-423 %txt /tests/golden/types-generic-gates/tokens/txt
1395+/* tre-423 %txt /tests/golden/types-generic-gates/tree/txt
1396+/* typ-423 %txt /tests/golden/types-generic-gates/types/txt
1397+/* src-424 %jibb /tests/golden/types-generic-import-reverse/source/jibb
1398+/* tok-424 %txt /tests/golden/types-generic-import-reverse/tokens/txt
1399+/* tre-424 %txt /tests/golden/types-generic-import-reverse/tree/txt
1400+/* mod-424-1 %jibb /tests/golden/types-generic-import-reverse/modules/ui/lib/jibb
1401+/* typ-424 %txt /tests/golden/types-generic-import-reverse/types/txt
1402+/* mtre-424 %txt /tests/golden/types-generic-import-reverse/module-trees/txt
1403+/* src-425 %jibb /tests/golden/types-generic-lexical-alias/source/jibb
1404+/* tok-425 %txt /tests/golden/types-generic-lexical-alias/tokens/txt
1405+/* tre-425 %txt /tests/golden/types-generic-lexical-alias/tree/txt
1406+/* typ-425 %txt /tests/golden/types-generic-lexical-alias/types/txt
1407+/* src-426 %jibb /tests/golden/types-generic-local-parameter/source/jibb
1408+/* tok-426 %txt /tests/golden/types-generic-local-parameter/tokens/txt
1409+/* tre-426 %txt /tests/golden/types-generic-local-parameter/tree/txt
1410+/* typ-426 %txt /tests/golden/types-generic-local-parameter/types/txt
1411+/* src-427 %jibb /tests/golden/types-generic-local-scope/source/jibb
1412+/* tok-427 %txt /tests/golden/types-generic-local-scope/tokens/txt
1413+/* tre-427 %txt /tests/golden/types-generic-local-scope/tree/txt
1414+/* typ-427 %txt /tests/golden/types-generic-local-scope/types/txt
1415+/* src-428 %jibb /tests/golden/types-generic-module/source/jibb
1416+/* tok-428 %txt /tests/golden/types-generic-module/tokens/txt
1417+/* tre-428 %txt /tests/golden/types-generic-module/tree/txt
1418+/* mod-428-1 %jibb /tests/golden/types-generic-module/modules/ui/lib/jibb
1419+/* typ-428 %txt /tests/golden/types-generic-module/types/txt
1420+/* mtre-428 %txt /tests/golden/types-generic-module/module-trees/txt
1421+/* src-429 %jibb /tests/golden/types-generic-nested-scope/source/jibb
1422+/* tok-429 %txt /tests/golden/types-generic-nested-scope/tokens/txt
1423+/* tre-429 %txt /tests/golden/types-generic-nested-scope/tree/txt
1424+/* typ-429 %txt /tests/golden/types-generic-nested-scope/types/txt
1425+/* src-430 %jibb /tests/golden/types-generic-parameters/source/jibb
1426+/* tok-430 %txt /tests/golden/types-generic-parameters/tokens/txt
1427+/* tre-430 %txt /tests/golden/types-generic-parameters/tree/txt
1428+/* typ-430 %txt /tests/golden/types-generic-parameters/types/txt
1429+/* src-431 %jibb /tests/golden/types-generic-record/source/jibb
1430+/* tok-431 %txt /tests/golden/types-generic-record/tokens/txt
1431+/* tre-431 %txt /tests/golden/types-generic-record/tree/txt
1432+/* typ-431 %txt /tests/golden/types-generic-record/types/txt
1433+/* src-432 %jibb /tests/golden/types-generic-recursive-union/source/jibb
1434+/* tok-432 %txt /tests/golden/types-generic-recursive-union/tokens/txt
1435+/* tre-432 %txt /tests/golden/types-generic-recursive-union/tree/txt
1436+/* typ-432 %txt /tests/golden/types-generic-recursive-union/types/txt
1437+/* src-433 %jibb /tests/golden/types-generic-repeated/source/jibb
1438+/* tok-433 %txt /tests/golden/types-generic-repeated/tokens/txt
1439+/* tre-433 %txt /tests/golden/types-generic-repeated/tree/txt
1440+/* typ-433 %txt /tests/golden/types-generic-repeated/types/txt
1441+/* src-434 %jibb /tests/golden/types-generic-union-alias/source/jibb
1442+/* tok-434 %txt /tests/golden/types-generic-union-alias/tokens/txt
1443+/* tre-434 %txt /tests/golden/types-generic-union-alias/tree/txt
1444+/* typ-434 %txt /tests/golden/types-generic-union-alias/types/txt
1445+/* src-435 %jibb /tests/golden/types-generic-union-alias-face/source/jibb
1446+/* tok-435 %txt /tests/golden/types-generic-union-alias-face/tokens/txt
1447+/* tre-435 %txt /tests/golden/types-generic-union-alias-face/tree/txt
1448+/* mod-435-1 %jibb /tests/golden/types-generic-union-alias-face/modules/ui/base/jibb
1449+/* typ-435 %txt /tests/golden/types-generic-union-alias-face/types/txt
1450+/* mtre-435 %txt /tests/golden/types-generic-union-alias-face/module-trees/txt
1451+/* src-436 %jibb /tests/golden/types-generic-union-capitals/source/jibb
1452+/* tok-436 %txt /tests/golden/types-generic-union-capitals/tokens/txt
1453+/* tre-436 %txt /tests/golden/types-generic-union-capitals/tree/txt
1454+/* typ-436 %txt /tests/golden/types-generic-union-capitals/types/txt
1455+/* src-437 %jibb /tests/golden/types-generic-union-errors/source/jibb
1456+/* tok-437 %txt /tests/golden/types-generic-union-errors/tokens/txt
1457+/* tre-437 %txt /tests/golden/types-generic-union-errors/tree/txt
1458+/* typ-437 %txt /tests/golden/types-generic-union-errors/types/txt
1459+/* src-438 %jibb /tests/golden/types-generic-union-escaping/source/jibb
1460+/* tok-438 %txt /tests/golden/types-generic-union-escaping/tokens/txt
1461+/* tre-438 %txt /tests/golden/types-generic-union-escaping/tree/txt
1462+/* mod-438-1 %jibb /tests/golden/types-generic-union-escaping/modules/ui/base/jibb
1463+/* mod-438-2 %jibb /tests/golden/types-generic-union-escaping/modules/ui/mid/jibb
1464+/* typ-438 %txt /tests/golden/types-generic-union-escaping/types/txt
1465+/* mtre-438 %txt /tests/golden/types-generic-union-escaping/module-trees/txt
1466+/* src-439 %jibb /tests/golden/types-generic-union-import/source/jibb
1467+/* tok-439 %txt /tests/golden/types-generic-union-import/tokens/txt
1468+/* tre-439 %txt /tests/golden/types-generic-union-import/tree/txt
1469+/* mod-439-1 %jibb /tests/golden/types-generic-union-import/modules/ui/shared/jibb
1470+/* mod-439-2 %jibb /tests/golden/types-generic-union-import/modules/ui/twin/jibb
1471+/* typ-439 %txt /tests/golden/types-generic-union-import/types/txt
1472+/* mtre-439 %txt /tests/golden/types-generic-union-import/module-trees/txt
1473+/* src-440 %jibb /tests/golden/types-generic-union-local/source/jibb
1474+/* tok-440 %txt /tests/golden/types-generic-union-local/tokens/txt
1475+/* tre-440 %txt /tests/golden/types-generic-union-local/tree/txt
1476+/* typ-440 %txt /tests/golden/types-generic-union-local/types/txt
1477+/* src-441 %jibb /tests/golden/types-generic-union-transitive/source/jibb
1478+/* tok-441 %txt /tests/golden/types-generic-union-transitive/tokens/txt
1479+/* tre-441 %txt /tests/golden/types-generic-union-transitive/tree/txt
1480+/* mod-441-1 %jibb /tests/golden/types-generic-union-transitive/modules/ui/base/jibb
1481+/* mod-441-2 %jibb /tests/golden/types-generic-union-transitive/modules/ui/mid/jibb
1482+/* typ-441 %txt /tests/golden/types-generic-union-transitive/types/txt
1483+/* mtre-441 %txt /tests/golden/types-generic-union-transitive/module-trees/txt
1484+/* src-442 %jibb /tests/golden/types-hole-concrete/source/jibb
1485+/* tok-442 %txt /tests/golden/types-hole-concrete/tokens/txt
1486+/* tre-442 %txt /tests/golden/types-hole-concrete/tree/txt
1487+/* typ-442 %txt /tests/golden/types-hole-concrete/types/txt
1488+/* src-443 %jibb /tests/golden/types-hole-generic-mold/source/jibb
1489+/* tok-443 %txt /tests/golden/types-hole-generic-mold/tokens/txt
1490+/* tre-443 %txt /tests/golden/types-hole-generic-mold/tree/txt
1491+/* typ-443 %txt /tests/golden/types-hole-generic-mold/types/txt
1492+/* src-444 %jibb /tests/golden/types-hole-local-boundary/source/jibb
1493+/* tok-444 %txt /tests/golden/types-hole-local-boundary/tokens/txt
1494+/* tre-444 %txt /tests/golden/types-hole-local-boundary/tree/txt
1495+/* typ-444 %txt /tests/golden/types-hole-local-boundary/types/txt
1496+/* src-445 %jibb /tests/golden/types-hole-module-boundary/source/jibb
1497+/* tok-445 %txt /tests/golden/types-hole-module-boundary/tokens/txt
1498+/* tre-445 %txt /tests/golden/types-hole-module-boundary/tree/txt
1499+/* mod-445-1 %jibb /tests/golden/types-hole-module-boundary/modules/ui/lib/jibb
1500+/* typ-445 %txt /tests/golden/types-hole-module-boundary/types/txt
1501+/* mtre-445 %txt /tests/golden/types-hole-module-boundary/module-trees/txt
1502+/* src-446 %jibb /tests/golden/types-hole-named-complex/source/jibb
1503+/* tok-446 %txt /tests/golden/types-hole-named-complex/tokens/txt
1504+/* tre-446 %txt /tests/golden/types-hole-named-complex/tree/txt
1505+/* typ-446 %txt /tests/golden/types-hole-named-complex/types/txt
1506+/* src-447 %jibb /tests/golden/types-hole-numeric-capture/source/jibb
1507+/* tok-447 %txt /tests/golden/types-hole-numeric-capture/tokens/txt
1508+/* tre-447 %txt /tests/golden/types-hole-numeric-capture/tree/txt
1509+/* typ-447 %txt /tests/golden/types-hole-numeric-capture/types/txt
1510+/* src-448 %jibb /tests/golden/types-hole-unbound-mold/source/jibb
1511+/* tok-448 %txt /tests/golden/types-hole-unbound-mold/tokens/txt
1512+/* tre-448 %txt /tests/golden/types-hole-unbound-mold/tree/txt
1513+/* typ-448 %txt /tests/golden/types-hole-unbound-mold/types/txt
1514+/* src-449 %jibb /tests/golden/types-hole-unsupported/source/jibb
1515+/* tok-449 %txt /tests/golden/types-hole-unsupported/tokens/txt
1516+/* tre-449 %txt /tests/golden/types-hole-unsupported/tree/txt
1517+/* typ-449 %txt /tests/golden/types-hole-unsupported/types/txt
1518+/* src-450 %jibb /tests/golden/types-hole-user-generic/source/jibb
1519+/* tok-450 %txt /tests/golden/types-hole-user-generic/tokens/txt
1520+/* tre-450 %txt /tests/golden/types-hole-user-generic/tree/txt
1521+/* typ-450 %txt /tests/golden/types-hole-user-generic/types/txt
1522+/* src-451 %jibb /tests/golden/types-hole-user-named/source/jibb
1523+/* tok-451 %txt /tests/golden/types-hole-user-named/tokens/txt
1524+/* tre-451 %txt /tests/golden/types-hole-user-named/tree/txt
1525+/* typ-451 %txt /tests/golden/types-hole-user-named/types/txt
1526+/* src-452 %jibb /tests/golden/types-hole-user-value/source/jibb
1527+/* tok-452 %txt /tests/golden/types-hole-user-value/tokens/txt
1528+/* tre-452 %txt /tests/golden/types-hole-user-value/tree/txt
1529+/* typ-452 %txt /tests/golden/types-hole-user-value/types/txt
1530+/* src-453 %jibb /tests/golden/types-import-duplicate-mark/source/jibb
1531+/* tok-453 %txt /tests/golden/types-import-duplicate-mark/tokens/txt
1532+/* tre-453 %txt /tests/golden/types-import-duplicate-mark/tree/txt
1533+/* typ-453 %txt /tests/golden/types-import-duplicate-mark/types/txt
1534+/* mark-453-1 %txt /tests/golden/types-import-duplicate-mark/mar/duplicate/txt
1535+/* src-454 %jibb /tests/golden/types-import-duplicate-sur/source/jibb
1536+/* tok-454 %txt /tests/golden/types-import-duplicate-sur/tokens/txt
1537+/* tre-454 %txt /tests/golden/types-import-duplicate-sur/tree/txt
1538+/* typ-454 %txt /tests/golden/types-import-duplicate-sur/types/txt
1539+/* imp-454-1 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1540+/* imp-454-2 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1541+/* imp-454-3 %txt /tests/golden/types-import-duplicate-sur/sur/fixture/txt
1542+/* src-455 %jibb /tests/golden/types-import-hoon-flags/source/jibb
1543+/* tok-455 %txt /tests/golden/types-import-hoon-flags/tokens/txt
1544+/* tre-455 %txt /tests/golden/types-import-hoon-flags/tree/txt
1545+/* typ-455 %txt /tests/golden/types-import-hoon-flags/types/txt
1546+/* imp-455-1 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1547+/* imp-455-2 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1548+/* imp-455-3 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1549+/* imp-455-4 %txt /tests/golden/types-import-hoon-flags/sur/flags/txt
1550+/* src-456 %jibb /tests/golden/types-import-hoon-noun/source/jibb
1551+/* tok-456 %txt /tests/golden/types-import-hoon-noun/tokens/txt
1552+/* tre-456 %txt /tests/golden/types-import-hoon-noun/tree/txt
1553+/* typ-456 %txt /tests/golden/types-import-hoon-noun/types/txt
1554+/* imp-456-1 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1555+/* imp-456-2 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1556+/* imp-456-3 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1557+/* imp-456-4 %txt /tests/golden/types-import-hoon-noun/sur/fixture/txt
1558+/* src-457 %jibb /tests/golden/types-import-mark/source/jibb
1559+/* tok-457 %txt /tests/golden/types-import-mark/tokens/txt
1560+/* tre-457 %txt /tests/golden/types-import-mark/tree/txt
1561+/* typ-457 %txt /tests/golden/types-import-mark/types/txt
1562+/* imp-457-1 %txt /tests/golden/types-import-mark/sur/fixture/txt
1563+/* mark-457-1 %txt /tests/golden/types-import-mark/mar/label/txt
1564+/* src-458 %jibb /tests/golden/types-import-mark-record/source/jibb
1565+/* tok-458 %txt /tests/golden/types-import-mark-record/tokens/txt
1566+/* tre-458 %txt /tests/golden/types-import-mark-record/tree/txt
1567+/* typ-458 %txt /tests/golden/types-import-mark-record/types/txt
1568+/* mark-458-1 %txt /tests/golden/types-import-mark-record/mar/note/txt
1569+/* mark-458-2 %txt /tests/golden/types-import-mark-record/mar/choice/txt
1570+/* src-459 %jibb /tests/golden/types-import-missing-mold/source/jibb
1571+/* tok-459 %txt /tests/golden/types-import-missing-mold/tokens/txt
1572+/* tre-459 %txt /tests/golden/types-import-missing-mold/tree/txt
1573+/* typ-459 %txt /tests/golden/types-import-missing-mold/types/txt
1574+/* imp-459-1 %txt /tests/golden/types-import-missing-mold/sur/fixture/txt
1575+/* src-460 %jibb /tests/golden/types-import-sur/source/jibb
1576+/* tok-460 %txt /tests/golden/types-import-sur/tokens/txt
1577+/* tre-460 %txt /tests/golden/types-import-sur/tree/txt
1578+/* typ-460 %txt /tests/golden/types-import-sur/types/txt
1579+/* imp-460-1 %txt /tests/golden/types-import-sur/sur/fixture/txt
1580+/* imp-460-2 %txt /tests/golden/types-import-sur/sur/fixture/txt
1581+/* src-461 %jibb /tests/golden/types-import-sur-record-graph/source/jibb
1582+/* tok-461 %txt /tests/golden/types-import-sur-record-graph/tokens/txt
1583+/* tre-461 %txt /tests/golden/types-import-sur-record-graph/tree/txt
1584+/* mod-461-1 %jibb /tests/golden/types-import-sur-record-graph/modules/ui/lib/jibb
1585+/* typ-461 %txt /tests/golden/types-import-sur-record-graph/types/txt
1586+/* imp-461-1 %txt /tests/golden/types-import-sur-record-graph/sur/fixture/txt
1587+/* mtre-461 %txt /tests/golden/types-import-sur-record-graph/module-trees/txt
1588+/* src-462 %jibb /tests/golden/types-import-tlon-notes/source/jibb
1589+/* tok-462 %txt /tests/golden/types-import-tlon-notes/tokens/txt
1590+/* tre-462 %txt /tests/golden/types-import-tlon-notes/tree/txt
1591+/* typ-462 %txt /tests/golden/types-import-tlon-notes/types/txt
1592+/* imp-462-1 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1593+/* imp-462-2 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1594+/* imp-462-3 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1595+/* imp-462-4 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1596+/* imp-462-5 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1597+/* imp-462-6 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1598+/* imp-462-7 %txt /tests/golden/types-import-tlon-notes/sur/notes/txt
1599+/* src-463 %jibb /tests/golden/types-list-branch/source/jibb
1600+/* tok-463 %txt /tests/golden/types-list-branch/tokens/txt
1601+/* tre-463 %txt /tests/golden/types-list-branch/tree/txt
1602+/* typ-463 %txt /tests/golden/types-list-branch/types/txt
1603+/* src-464 %jibb /tests/golden/types-list-cons/source/jibb
1604+/* tok-464 %txt /tests/golden/types-list-cons/tokens/txt
1605+/* tre-464 %txt /tests/golden/types-list-cons/tree/txt
1606+/* typ-464 %txt /tests/golden/types-list-cons/types/txt
1607+/* src-465 %jibb /tests/golden/types-list-context/source/jibb
1608+/* tok-465 %txt /tests/golden/types-list-context/tokens/txt
1609+/* tre-465 %txt /tests/golden/types-list-context/tree/txt
1610+/* typ-465 %txt /tests/golden/types-list-context/types/txt
1611+/* src-466 %jibb /tests/golden/types-list-imported/source/jibb
1612+/* tok-466 %txt /tests/golden/types-list-imported/tokens/txt
1613+/* tre-466 %txt /tests/golden/types-list-imported/tree/txt
1614+/* typ-466 %txt /tests/golden/types-list-imported/types/txt
1615+/* imp-466-1 %txt /tests/golden/types-list-imported/sur/fixture/txt
1616+/* imp-466-2 %txt /tests/golden/types-list-imported/sur/fixture/txt
1617+/* src-467 %jibb /tests/golden/types-list-open/source/jibb
1618+/* tok-467 %txt /tests/golden/types-list-open/tokens/txt
1619+/* tre-467 %txt /tests/golden/types-list-open/tree/txt
1620+/* typ-467 %txt /tests/golden/types-list-open/types/txt
1621+/* src-468 %jibb /tests/golden/types-list-open-constraints/source/jibb
1622+/* tok-468 %txt /tests/golden/types-list-open-constraints/tokens/txt
1623+/* tre-468 %txt /tests/golden/types-list-open-constraints/tree/txt
1624+/* typ-468 %txt /tests/golden/types-list-open-constraints/types/txt
1625+/* src-469 %jibb /tests/golden/types-list-pattern-imported/source/jibb
1626+/* tok-469 %txt /tests/golden/types-list-pattern-imported/tokens/txt
1627+/* tre-469 %txt /tests/golden/types-list-pattern-imported/tree/txt
1628+/* typ-469 %txt /tests/golden/types-list-pattern-imported/types/txt
1629+/* imp-469-1 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1630+/* imp-469-2 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1631+/* src-470 %jibb /tests/golden/types-list-patterns/source/jibb
1632+/* tok-470 %txt /tests/golden/types-list-patterns/tokens/txt
1633+/* tre-470 %txt /tests/golden/types-list-patterns/tree/txt
1634+/* typ-470 %txt /tests/golden/types-list-patterns/types/txt
1635+/* src-471 %jibb /tests/golden/types-list-zero-fit/source/jibb
1636+/* tok-471 %txt /tests/golden/types-list-zero-fit/tokens/txt
1637+/* tre-471 %txt /tests/golden/types-list-zero-fit/tree/txt
1638+/* typ-471 %txt /tests/golden/types-list-zero-fit/types/txt
1639+/* src-472 %jibb /tests/golden/types-local-capitals/source/jibb
1640+/* tok-472 %txt /tests/golden/types-local-capitals/tokens/txt
1641+/* tre-472 %txt /tests/golden/types-local-capitals/tree/txt
1642+/* typ-472 %txt /tests/golden/types-local-capitals/types/txt
1643+/* src-473 %jibb /tests/golden/types-local-recursive/source/jibb
1644+/* tok-473 %txt /tests/golden/types-local-recursive/tokens/txt
1645+/* tre-473 %txt /tests/golden/types-local-recursive/tree/txt
1646+/* typ-473 %txt /tests/golden/types-local-recursive/types/txt
1647+/* src-474 %jibb /tests/golden/types-local-scc/source/jibb
1648+/* tok-474 %txt /tests/golden/types-local-scc/tokens/txt
1649+/* tre-474 %txt /tests/golden/types-local-scc/tree/txt
1650+/* typ-474 %txt /tests/golden/types-local-scc/types/txt
1651+/* src-475 %jibb /tests/golden/types-local-scc-adversarial/source/jibb
1652+/* tok-475 %txt /tests/golden/types-local-scc-adversarial/tokens/txt
1653+/* tre-475 %txt /tests/golden/types-local-scc-adversarial/tree/txt
1654+/* typ-475 %txt /tests/golden/types-local-scc-adversarial/types/txt
1655+/* src-476 %jibb /tests/golden/types-missing-tag-context/source/jibb
1656+/* tok-476 %txt /tests/golden/types-missing-tag-context/tokens/txt
1657+/* tre-476 %txt /tests/golden/types-missing-tag-context/tree/txt
1658+/* typ-476 %txt /tests/golden/types-missing-tag-context/types/txt
1659+/* src-477 %jibb /tests/golden/types-missing-tag-imported/source/jibb
1660+/* tok-477 %txt /tests/golden/types-missing-tag-imported/tokens/txt
1661+/* tre-477 %txt /tests/golden/types-missing-tag-imported/tree/txt
1662+/* typ-477 %txt /tests/golden/types-missing-tag-imported/types/txt
1663+/* imp-477-1 %txt /tests/golden/types-missing-tag-imported/sur/fixture/txt
1664+/* imp-477-2 %txt /tests/golden/types-missing-tag-imported/sur/fixture/txt
1665+/* src-478 %jibb /tests/golden/types-missing-tag-named/source/jibb
1666+/* tok-478 %txt /tests/golden/types-missing-tag-named/tokens/txt
1667+/* tre-478 %txt /tests/golden/types-missing-tag-named/tree/txt
1668+/* typ-478 %txt /tests/golden/types-missing-tag-named/types/txt
1669+/* src-479 %jibb /tests/golden/types-module-field-duplicate/source/jibb
1670+/* tok-479 %txt /tests/golden/types-module-field-duplicate/tokens/txt
1671+/* tre-479 %txt /tests/golden/types-module-field-duplicate/tree/txt
1672+/* mod-479-1 %jibb /tests/golden/types-module-field-duplicate/modules/ui/lib/jibb
1673+/* typ-479 %txt /tests/golden/types-module-field-duplicate/types/txt
1674+/* mtre-479 %txt /tests/golden/types-module-field-duplicate/module-trees/txt
1675+/* src-480 %jibb /tests/golden/types-module-field-nonrecord/source/jibb
1676+/* tok-480 %txt /tests/golden/types-module-field-nonrecord/tokens/txt
1677+/* tre-480 %txt /tests/golden/types-module-field-nonrecord/tree/txt
1678+/* mod-480-1 %jibb /tests/golden/types-module-field-nonrecord/modules/ui/lib/jibb
1679+/* typ-480 %txt /tests/golden/types-module-field-nonrecord/types/txt
1680+/* mtre-480 %txt /tests/golden/types-module-field-nonrecord/module-trees/txt
1681+/* src-481 %jibb /tests/golden/types-module-field-path/source/jibb
1682+/* tok-481 %txt /tests/golden/types-module-field-path/tokens/txt
1683+/* tre-481 %txt /tests/golden/types-module-field-path/tree/txt
1684+/* mod-481-1 %jibb /tests/golden/types-module-field-path/modules/ui/lib/jibb
1685+/* typ-481 %txt /tests/golden/types-module-field-path/types/txt
1686+/* mtre-481 %txt /tests/golden/types-module-field-path/module-trees/txt
1687+/* src-482 %jibb /tests/golden/types-module-field-shadow/source/jibb
1688+/* tok-482 %txt /tests/golden/types-module-field-shadow/tokens/txt
1689+/* tre-482 %txt /tests/golden/types-module-field-shadow/tree/txt
1690+/* mod-482-1 %jibb /tests/golden/types-module-field-shadow/modules/ui/lib/jibb
1691+/* typ-482 %txt /tests/golden/types-module-field-shadow/types/txt
1692+/* mtre-482 %txt /tests/golden/types-module-field-shadow/module-trees/txt
1693+/* src-483 %jibb /tests/golden/types-module-fixtures/source/jibb
1694+/* tok-483 %txt /tests/golden/types-module-fixtures/tokens/txt
1695+/* tre-483 %txt /tests/golden/types-module-fixtures/tree/txt
1696+/* mod-483-1 %jibb /tests/golden/types-module-fixtures/modules/ui/api/blog/jibb
1697+/* mod-483-2 %jibb /tests/golden/types-module-fixtures/modules/ui/components/card/jibb
1698+/* typ-483 %txt /tests/golden/types-module-fixtures/types/txt
1699+/* mtre-483 %txt /tests/golden/types-module-fixtures/module-trees/txt
1700+/* src-484 %jibb /tests/golden/types-module-mixed/source/jibb
1701+/* tok-484 %txt /tests/golden/types-module-mixed/tokens/txt
1702+/* tre-484 %txt /tests/golden/types-module-mixed/tree/txt
1703+/* mod-484-1 %jibb /tests/golden/types-module-mixed/modules/ui/helper/jibb
1704+/* typ-484 %txt /tests/golden/types-module-mixed/types/txt
1705+/* imp-484-1 %txt /tests/golden/types-module-mixed/sur/fixture/txt
1706+/* mark-484-1 %txt /tests/golden/types-module-mixed/mar/label/txt
1707+/* mtre-484 %txt /tests/golden/types-module-mixed/module-trees/txt
1708+/* src-485 %jibb /tests/golden/types-multi-call/source/jibb
1709+/* tok-485 %txt /tests/golden/types-multi-call/tokens/txt
1710+/* tre-485 %txt /tests/golden/types-multi-call/tree/txt
1711+/* typ-485 %txt /tests/golden/types-multi-call/types/txt
1712+/* src-486 %jibb /tests/golden/types-multi-import/source/jibb
1713+/* tok-486 %txt /tests/golden/types-multi-import/tokens/txt
1714+/* tre-486 %txt /tests/golden/types-multi-import/tree/txt
1715+/* mod-486-1 %jibb /tests/golden/types-multi-import/modules/ui/lib/jibb
1716+/* typ-486 %txt /tests/golden/types-multi-import/types/txt
1717+/* mtre-486 %txt /tests/golden/types-multi-import/module-trees/txt
1718+/* src-487 %jibb /tests/golden/types-nested-missing-tag/source/jibb
1719+/* tok-487 %txt /tests/golden/types-nested-missing-tag/tokens/txt
1720+/* tre-487 %txt /tests/golden/types-nested-missing-tag/tree/txt
1721+/* typ-487 %txt /tests/golden/types-nested-missing-tag/types/txt
1722+/* src-488 %jibb /tests/golden/types-null-context/source/jibb
1723+/* tok-488 %txt /tests/golden/types-null-context/tokens/txt
1724+/* tre-488 %txt /tests/golden/types-null-context/tree/txt
1725+/* typ-488 %txt /tests/golden/types-null-context/types/txt
1726+/* src-489 %jibb /tests/golden/types-null-overlap/source/jibb
1727+/* tok-489 %txt /tests/golden/types-null-overlap/tokens/txt
1728+/* tre-489 %txt /tests/golden/types-null-overlap/tree/txt
1729+/* typ-489 %txt /tests/golden/types-null-overlap/types/txt
1730+/* src-490 %jibb /tests/golden/types-null-unresolved/source/jibb
1731+/* tok-490 %txt /tests/golden/types-null-unresolved/tokens/txt
1732+/* tre-490 %txt /tests/golden/types-null-unresolved/tree/txt
1733+/* typ-490 %txt /tests/golden/types-null-unresolved/types/txt
1734+/* src-491 %jibb /tests/golden/types-pair-context/source/jibb
1735+/* tok-491 %txt /tests/golden/types-pair-context/tokens/txt
1736+/* tre-491 %txt /tests/golden/types-pair-context/tree/txt
1737+/* typ-491 %txt /tests/golden/types-pair-context/types/txt
1738+/* src-492 %jibb /tests/golden/types-partial-apply/source/jibb
1739+/* tok-492 %txt /tests/golden/types-partial-apply/tokens/txt
1740+/* tre-492 %txt /tests/golden/types-partial-apply/tree/txt
1741+/* typ-492 %txt /tests/golden/types-partial-apply/types/txt
1742+/* src-493 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1743+/* tok-493 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1744+/* tre-493 %txt /tests/golden/types-partial-atom-alias/tree/txt
1745+/* typ-493 %txt /tests/golden/types-partial-atom-alias/types/txt
1746+/* src-494 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1747+/* tok-494 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1748+/* tre-494 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1749+/* typ-494 %txt /tests/golden/types-partial-atom-constraint/types/txt
1750+/* src-495 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1751+/* tok-495 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1752+/* tre-495 %txt /tests/golden/types-partial-atom-widening/tree/txt
1753+/* typ-495 %txt /tests/golden/types-partial-atom-widening/types/txt
1754+/* src-496 %jibb /tests/golden/types-partial-aura/source/jibb
1755+/* tok-496 %txt /tests/golden/types-partial-aura/tokens/txt
1756+/* tre-496 %txt /tests/golden/types-partial-aura/tree/txt
1757+/* typ-496 %txt /tests/golden/types-partial-aura/types/txt
1758+/* src-497 %jibb /tests/golden/types-partial-aura-family/source/jibb
1759+/* tok-497 %txt /tests/golden/types-partial-aura-family/tokens/txt
1760+/* tre-497 %txt /tests/golden/types-partial-aura-family/tree/txt
1761+/* typ-497 %txt /tests/golden/types-partial-aura-family/types/txt
1762+/* src-498 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1763+/* tok-498 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1764+/* tre-498 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1765+/* typ-498 %txt /tests/golden/types-partial-aura-generalization/types/txt
1766+/* src-499 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1767+/* tok-499 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1768+/* tre-499 %txt /tests/golden/types-partial-bare-atom/tree/txt
1769+/* typ-499 %txt /tests/golden/types-partial-bare-atom/types/txt
1770+/* src-500 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1771+/* tok-500 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1772+/* tre-500 %txt /tests/golden/types-partial-branch-widening/tree/txt
1773+/* typ-500 %txt /tests/golden/types-partial-branch-widening/types/txt
1774+/* src-501 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1775+/* tok-501 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1776+/* tre-501 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1777+/* typ-501 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1778+/* src-502 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1779+/* tok-502 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1780+/* tre-502 %txt /tests/golden/types-partial-decimal-default/tree/txt
1781+/* typ-502 %txt /tests/golden/types-partial-decimal-default/types/txt
1782+/* src-503 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1783+/* tok-503 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1784+/* tre-503 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1785+/* typ-503 %txt /tests/golden/types-partial-dependency-chain/types/txt
1786+/* src-504 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1787+/* tok-504 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1788+/* tre-504 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1789+/* typ-504 %txt /tests/golden/types-partial-explicit-capital/types/txt
1790+/* src-505 %jibb /tests/golden/types-partial-forward/source/jibb
1791+/* tok-505 %txt /tests/golden/types-partial-forward/tokens/txt
1792+/* tre-505 %txt /tests/golden/types-partial-forward/tree/txt
1793+/* typ-505 %txt /tests/golden/types-partial-forward/types/txt
1794+/* src-506 %jibb /tests/golden/types-partial-generalization/source/jibb
1795+/* tok-506 %txt /tests/golden/types-partial-generalization/tokens/txt
1796+/* tre-506 %txt /tests/golden/types-partial-generalization/tree/txt
1797+/* typ-506 %txt /tests/golden/types-partial-generalization/types/txt
1798+/* src-507 %jibb /tests/golden/types-partial-identity/source/jibb
1799+/* tok-507 %txt /tests/golden/types-partial-identity/tokens/txt
1800+/* tre-507 %txt /tests/golden/types-partial-identity/tree/txt
1801+/* typ-507 %txt /tests/golden/types-partial-identity/types/txt
1802+/* src-508 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1803+/* tok-508 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1804+/* tre-508 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1805+/* typ-508 %txt /tests/golden/types-partial-independent-atoms/types/txt
1806+/* src-509 %jibb /tests/golden/types-partial-local-molds/source/jibb
1807+/* tok-509 %txt /tests/golden/types-partial-local-molds/tokens/txt
1808+/* tre-509 %txt /tests/golden/types-partial-local-molds/tree/txt
1809+/* typ-509 %txt /tests/golden/types-partial-local-molds/types/txt
1810+/* src-510 %jibb /tests/golden/types-partial-locals/source/jibb
1811+/* tok-510 %txt /tests/golden/types-partial-locals/tokens/txt
1812+/* tre-510 %txt /tests/golden/types-partial-locals/tree/txt
1813+/* typ-510 %txt /tests/golden/types-partial-locals/types/txt
1814+/* src-511 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1815+/* tok-511 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1816+/* tre-511 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1817+/* typ-511 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1818+/* src-512 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1819+/* tok-512 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1820+/* tre-512 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1821+/* typ-512 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1822+/* src-513 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1823+/* tok-513 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1824+/* tre-513 %txt /tests/golden/types-partial-mold-composite/tree/txt
1825+/* typ-513 %txt /tests/golden/types-partial-mold-composite/types/txt
1826+/* src-514 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1827+/* tok-514 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1828+/* tre-514 %txt /tests/golden/types-partial-mold-forward/tree/txt
1829+/* typ-514 %txt /tests/golden/types-partial-mold-forward/types/txt
1830+/* src-515 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1831+/* tok-515 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1832+/* tre-515 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1833+/* typ-515 %txt /tests/golden/types-partial-mold-recursive/types/txt
1834+/* src-516 %jibb /tests/golden/types-partial-occurs/source/jibb
1835+/* tok-516 %txt /tests/golden/types-partial-occurs/tokens/txt
1836+/* tre-516 %txt /tests/golden/types-partial-occurs/tree/txt
1837+/* typ-516 %txt /tests/golden/types-partial-occurs/types/txt
1838+/* src-517 %jibb /tests/golden/types-partial-projection/source/jibb
1839+/* tok-517 %txt /tests/golden/types-partial-projection/tokens/txt
1840+/* tre-517 %txt /tests/golden/types-partial-projection/tree/txt
1841+/* typ-517 %txt /tests/golden/types-partial-projection/types/txt
1842+/* src-518 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1843+/* tok-518 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1844+/* tre-518 %txt /tests/golden/types-partial-shadow-global/tree/txt
1845+/* typ-518 %txt /tests/golden/types-partial-shadow-global/types/txt
1846+/* src-519 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1847+/* tok-519 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1848+/* tre-519 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1849+/* typ-519 %txt /tests/golden/types-partial-shared-tvar/types/txt
1850+/* src-520 %jibb /tests/golden/types-partial-union-cases/source/jibb
1851+/* tok-520 %txt /tests/golden/types-partial-union-cases/tokens/txt
1852+/* tre-520 %txt /tests/golden/types-partial-union-cases/tree/txt
1853+/* typ-520 %txt /tests/golden/types-partial-union-cases/types/txt
1854+/* src-521 %jibb /tests/golden/types-partial-union-edges/source/jibb
1855+/* tok-521 %txt /tests/golden/types-partial-union-edges/tokens/txt
1856+/* tre-521 %txt /tests/golden/types-partial-union-edges/tree/txt
1857+/* typ-521 %txt /tests/golden/types-partial-union-edges/types/txt
1858+/* src-522 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1859+/* tok-522 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1860+/* tre-522 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1861+/* typ-522 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1862+/* src-523 %jibb /tests/golden/types-prelude-arithmetic/source/jibb
1863+/* tok-523 %txt /tests/golden/types-prelude-arithmetic/tokens/txt
1864+/* tre-523 %txt /tests/golden/types-prelude-arithmetic/tree/txt
1865+/* typ-523 %txt /tests/golden/types-prelude-arithmetic/types/txt
1866+/* src-524 %jibb /tests/golden/types-prelude-bond/source/jibb
1867+/* tok-524 %txt /tests/golden/types-prelude-bond/tokens/txt
1868+/* tre-524 %txt /tests/golden/types-prelude-bond/tree/txt
1869+/* typ-524 %txt /tests/golden/types-prelude-bond/types/txt
1870+/* src-525 %jibb /tests/golden/types-prelude-cmd/source/jibb
1871+/* tok-525 %txt /tests/golden/types-prelude-cmd/tokens/txt
1872+/* tre-525 %txt /tests/golden/types-prelude-cmd/tree/txt
1873+/* typ-525 %txt /tests/golden/types-prelude-cmd/types/txt
1874+/* src-526 %jibb /tests/golden/types-prelude-direct/source/jibb
1875+/* tok-526 %txt /tests/golden/types-prelude-direct/tokens/txt
1876+/* tre-526 %txt /tests/golden/types-prelude-direct/tree/txt
1877+/* typ-526 %txt /tests/golden/types-prelude-direct/types/txt
1878+/* src-527 %jibb /tests/golden/types-prelude-functional/source/jibb
1879+/* tok-527 %txt /tests/golden/types-prelude-functional/tokens/txt
1880+/* tre-527 %txt /tests/golden/types-prelude-functional/tree/txt
1881+/* typ-527 %txt /tests/golden/types-prelude-functional/types/txt
1882+/* src-528 %jibb /tests/golden/types-prelude-interface/source/jibb
1883+/* tok-528 %txt /tests/golden/types-prelude-interface/tokens/txt
1884+/* tre-528 %txt /tests/golden/types-prelude-interface/tree/txt
1885+/* mod-528-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1886+/* mod-528-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1887+/* typ-528 %txt /tests/golden/types-prelude-interface/types/txt
1888+/* mtre-528 %txt /tests/golden/types-prelude-interface/module-trees/txt
1889+/* src-529 %jibb /tests/golden/types-prelude-list-alias/source/jibb
1890+/* tok-529 %txt /tests/golden/types-prelude-list-alias/tokens/txt
1891+/* tre-529 %txt /tests/golden/types-prelude-list-alias/tree/txt
1892+/* typ-529 %txt /tests/golden/types-prelude-list-alias/types/txt
1893+/* src-530 %jibb /tests/golden/types-prelude-list-functions/source/jibb
1894+/* tok-530 %txt /tests/golden/types-prelude-list-functions/tokens/txt
1895+/* tre-530 %txt /tests/golden/types-prelude-list-functions/tree/txt
1896+/* mod-530-1 %jibb /tests/golden/types-prelude-list-functions/modules/ui/lib/jibb
1897+/* typ-530 %txt /tests/golden/types-prelude-list-functions/types/txt
1898+/* mtre-530 %txt /tests/golden/types-prelude-list-functions/module-trees/txt
1899+/* src-531 %jibb /tests/golden/types-prelude-list-helpers/source/jibb
1900+/* tok-531 %txt /tests/golden/types-prelude-list-helpers/tokens/txt
1901+/* tre-531 %txt /tests/golden/types-prelude-list-helpers/tree/txt
1902+/* typ-531 %txt /tests/golden/types-prelude-list-helpers/types/txt
1903+/* src-532 %jibb /tests/golden/types-prelude-predicates/source/jibb
1904+/* tok-532 %txt /tests/golden/types-prelude-predicates/tokens/txt
1905+/* tre-532 %txt /tests/golden/types-prelude-predicates/tree/txt
1906+/* typ-532 %txt /tests/golden/types-prelude-predicates/types/txt
1907+/* src-533 %jibb /tests/golden/types-prelude-unit-helpers/source/jibb
1908+/* tok-533 %txt /tests/golden/types-prelude-unit-helpers/tokens/txt
1909+/* tre-533 %txt /tests/golden/types-prelude-unit-helpers/tree/txt
1910+/* typ-533 %txt /tests/golden/types-prelude-unit-helpers/types/txt
1911+/* src-534 %jibb /tests/golden/types-proj-explicit-context/source/jibb
1912+/* tok-534 %txt /tests/golden/types-proj-explicit-context/tokens/txt
1913+/* tre-534 %txt /tests/golden/types-proj-explicit-context/tree/txt
1914+/* typ-534 %txt /tests/golden/types-proj-explicit-context/types/txt
1915+/* src-535 %jibb /tests/golden/types-proj-nested-no-implicit/source/jibb
1916+/* tok-535 %txt /tests/golden/types-proj-nested-no-implicit/tokens/txt
1917+/* tre-535 %txt /tests/golden/types-proj-nested-no-implicit/tree/txt
1918+/* typ-535 %txt /tests/golden/types-proj-nested-no-implicit/types/txt
1919+/* src-536 %jibb /tests/golden/types-proj-reserved-imported-definition/source/jibb
1920+/* tok-536 %txt /tests/golden/types-proj-reserved-imported-definition/tokens/txt
1921+/* tre-536 %txt /tests/golden/types-proj-reserved-imported-definition/tree/txt
1922+/* mod-536-1 %jibb /tests/golden/types-proj-reserved-imported-definition/modules/ui/lib/jibb
1923+/* typ-536 %txt /tests/golden/types-proj-reserved-imported-definition/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-jibb-import/source/jibb
1926+/* tok-537 %txt /tests/golden/types-proj-reserved-jibb-import/tokens/txt
1927+/* tre-537 %txt /tests/golden/types-proj-reserved-jibb-import/tree/txt
1928+/* mod-537-1 %jibb /tests/golden/types-proj-reserved-jibb-import/modules/ui/lib/jibb
1929+/* typ-537 %txt /tests/golden/types-proj-reserved-jibb-import/types/txt
1930+/* mtre-537 %txt /tests/golden/types-proj-reserved-jibb-import/module-trees/txt
1931+/* src-538 %jibb /tests/golden/types-proj-reserved-local/source/jibb
1932+/* tok-538 %txt /tests/golden/types-proj-reserved-local/tokens/txt
1933+/* tre-538 %txt /tests/golden/types-proj-reserved-local/tree/txt
1934+/* typ-538 %txt /tests/golden/types-proj-reserved-local/types/txt
1935+/* src-539 %jibb /tests/golden/types-proj-reserved-local-mold/source/jibb
1936+/* tok-539 %txt /tests/golden/types-proj-reserved-local-mold/tokens/txt
1937+/* tre-539 %txt /tests/golden/types-proj-reserved-local-mold/tree/txt
1938+/* typ-539 %txt /tests/golden/types-proj-reserved-local-mold/types/txt
1939+/* src-540 %jibb /tests/golden/types-proj-reserved-mark-import/source/jibb
1940+/* tok-540 %txt /tests/golden/types-proj-reserved-mark-import/tokens/txt
1941+/* tre-540 %txt /tests/golden/types-proj-reserved-mark-import/tree/txt
1942+/* typ-540 %txt /tests/golden/types-proj-reserved-mark-import/types/txt
1943+/* src-541 %jibb /tests/golden/types-proj-reserved-mold/source/jibb
1944+/* tok-541 %txt /tests/golden/types-proj-reserved-mold/tokens/txt
1945+/* tre-541 %txt /tests/golden/types-proj-reserved-mold/tree/txt
1946+/* typ-541 %txt /tests/golden/types-proj-reserved-mold/types/txt
1947+/* src-542 %jibb /tests/golden/types-proj-reserved-pattern/source/jibb
1948+/* tok-542 %txt /tests/golden/types-proj-reserved-pattern/tokens/txt
1949+/* tre-542 %txt /tests/golden/types-proj-reserved-pattern/tree/txt
1950+/* typ-542 %txt /tests/golden/types-proj-reserved-pattern/types/txt
1951+/* src-543 %jibb /tests/golden/types-proj-reserved-positive/source/jibb
1952+/* tok-543 %txt /tests/golden/types-proj-reserved-positive/tokens/txt
1953+/* tre-543 %txt /tests/golden/types-proj-reserved-positive/tree/txt
1954+/* typ-543 %txt /tests/golden/types-proj-reserved-positive/types/txt
1955+/* src-544 %jibb /tests/golden/types-proj-reserved-sample/source/jibb
1956+/* tok-544 %txt /tests/golden/types-proj-reserved-sample/tokens/txt
1957+/* tre-544 %txt /tests/golden/types-proj-reserved-sample/tree/txt
1958+/* typ-544 %txt /tests/golden/types-proj-reserved-sample/types/txt
1959+/* src-545 %jibb /tests/golden/types-proj-reserved-sur-import/source/jibb
1960+/* tok-545 %txt /tests/golden/types-proj-reserved-sur-import/tokens/txt
1961+/* tre-545 %txt /tests/golden/types-proj-reserved-sur-import/tree/txt
1962+/* typ-545 %txt /tests/golden/types-proj-reserved-sur-import/types/txt
1963+/* src-546 %jibb /tests/golden/types-proj-reserved-unused-pattern/source/jibb
1964+/* tok-546 %txt /tests/golden/types-proj-reserved-unused-pattern/tokens/txt
1965+/* tre-546 %txt /tests/golden/types-proj-reserved-unused-pattern/tree/txt
1966+/* typ-546 %txt /tests/golden/types-proj-reserved-unused-pattern/types/txt
1967+/* src-547 %jibb /tests/golden/types-proj-reserved-unused-sample/source/jibb
1968+/* tok-547 %txt /tests/golden/types-proj-reserved-unused-sample/tokens/txt
1969+/* tre-547 %txt /tests/golden/types-proj-reserved-unused-sample/tree/txt
1970+/* typ-547 %txt /tests/golden/types-proj-reserved-unused-sample/types/txt
1971+/* src-548 %jibb /tests/golden/types-proj-reserved-unused-value/source/jibb
1972+/* tok-548 %txt /tests/golden/types-proj-reserved-unused-value/tokens/txt
1973+/* tre-548 %txt /tests/golden/types-proj-reserved-unused-value/tree/txt
1974+/* typ-548 %txt /tests/golden/types-proj-reserved-unused-value/types/txt
1975+/* src-549 %jibb /tests/golden/types-proj-reserved-value/source/jibb
1976+/* tok-549 %txt /tests/golden/types-proj-reserved-value/tokens/txt
1977+/* tre-549 %txt /tests/golden/types-proj-reserved-value/tree/txt
1978+/* typ-549 %txt /tests/golden/types-proj-reserved-value/types/txt
1979+/* src-550 %jibb /tests/golden/types-proj-single-duplicate/source/jibb
1980+/* tok-550 %txt /tests/golden/types-proj-single-duplicate/tokens/txt
1981+/* tre-550 %txt /tests/golden/types-proj-single-duplicate/tree/txt
1982+/* typ-550 %txt /tests/golden/types-proj-single-duplicate/types/txt
1983+/* src-551 %jibb /tests/golden/types-proj-single-field/source/jibb
1984+/* tok-551 %txt /tests/golden/types-proj-single-field/tokens/txt
1985+/* tre-551 %txt /tests/golden/types-proj-single-field/tree/txt
1986+/* typ-551 %txt /tests/golden/types-proj-single-field/types/txt
1987+/* src-552 %jibb /tests/golden/types-proj-single-sample-face/source/jibb
1988+/* tok-552 %txt /tests/golden/types-proj-single-sample-face/tokens/txt
1989+/* tre-552 %txt /tests/golden/types-proj-single-sample-face/tree/txt
1990+/* typ-552 %txt /tests/golden/types-proj-single-sample-face/types/txt
1991+/* src-553 %jibb /tests/golden/types-proj-single-wrapped/source/jibb
1992+/* tok-553 %txt /tests/golden/types-proj-single-wrapped/tokens/txt
1993+/* tre-553 %txt /tests/golden/types-proj-single-wrapped/tree/txt
1994+/* typ-553 %txt /tests/golden/types-proj-single-wrapped/types/txt
1995+/* src-554 %jibb /tests/golden/types-qath-faces/source/jibb
1996+/* tok-554 %txt /tests/golden/types-qath-faces/tokens/txt
1997+/* tre-554 %txt /tests/golden/types-qath-faces/tree/txt
1998+/* typ-554 %txt /tests/golden/types-qath-faces/types/txt
1999+/* src-555 %jibb /tests/golden/types-qath-holes/source/jibb
2000+/* tok-555 %txt /tests/golden/types-qath-holes/tokens/txt
2001+/* tre-555 %txt /tests/golden/types-qath-holes/tree/txt
2002+/* typ-555 %txt /tests/golden/types-qath-holes/types/txt
2003+/* src-556 %jibb /tests/golden/types-qath-module-identity/source/jibb
2004+/* tok-556 %txt /tests/golden/types-qath-module-identity/tokens/txt
2005+/* tre-556 %txt /tests/golden/types-qath-module-identity/tree/txt
2006+/* mod-556-1 %jibb /tests/golden/types-qath-module-identity/modules/ui/one/jibb
2007+/* mod-556-2 %jibb /tests/golden/types-qath-module-identity/modules/ui/two/jibb
2008+/* mod-556-3 %jibb /tests/golden/types-qath-module-identity/modules/ui/mid/jibb
2009+/* typ-556 %txt /tests/golden/types-qath-module-identity/types/txt
2010+/* mtre-556 %txt /tests/golden/types-qath-module-identity/module-trees/txt
2011+/* src-557 %jibb /tests/golden/types-qath-recursive/source/jibb
2012+/* tok-557 %txt /tests/golden/types-qath-recursive/tokens/txt
2013+/* tre-557 %txt /tests/golden/types-qath-recursive/tree/txt
2014+/* typ-557 %txt /tests/golden/types-qath-recursive/types/txt
2015+/* src-558 %jibb /tests/golden/types-record-bound-variable/source/jibb
2016+/* tok-558 %txt /tests/golden/types-record-bound-variable/tokens/txt
2017+/* tre-558 %txt /tests/golden/types-record-bound-variable/tree/txt
2018+/* typ-558 %txt /tests/golden/types-record-bound-variable/types/txt
2019+/* src-559 %jibb /tests/golden/types-record-cast-context/source/jibb
2020+/* tok-559 %txt /tests/golden/types-record-cast-context/tokens/txt
2021+/* tre-559 %txt /tests/golden/types-record-cast-context/tree/txt
2022+/* typ-559 %txt /tests/golden/types-record-cast-context/types/txt
2023+/* src-560 %jibb /tests/golden/types-record-change/source/jibb
2024+/* tok-560 %txt /tests/golden/types-record-change/tokens/txt
2025+/* tre-560 %txt /tests/golden/types-record-change/tree/txt
2026+/* typ-560 %txt /tests/golden/types-record-change/types/txt
2027+/* src-561 %jibb /tests/golden/types-record-change-generic/source/jibb
2028+/* tok-561 %txt /tests/golden/types-record-change-generic/tokens/txt
2029+/* tre-561 %txt /tests/golden/types-record-change-generic/tree/txt
2030+/* typ-561 %txt /tests/golden/types-record-change-generic/types/txt
2031+/* src-562 %jibb /tests/golden/types-record-faces/source/jibb
2032+/* tok-562 %txt /tests/golden/types-record-faces/tokens/txt
2033+/* tre-562 %txt /tests/golden/types-record-faces/tree/txt
2034+/* typ-562 %txt /tests/golden/types-record-faces/types/txt
2035+/* src-563 %jibb /tests/golden/types-record-field-edit-separate/source/jibb
2036+/* tok-563 %txt /tests/golden/types-record-field-edit-separate/tokens/txt
2037+/* tre-563 %txt /tests/golden/types-record-field-edit-separate/tree/txt
2038+/* typ-563 %txt /tests/golden/types-record-field-edit-separate/types/txt
2039+/* src-564 %jibb /tests/golden/types-record-field-expr-duplicate/source/jibb
2040+/* tok-564 %txt /tests/golden/types-record-field-expr-duplicate/tokens/txt
2041+/* tre-564 %txt /tests/golden/types-record-field-expr-duplicate/tree/txt
2042+/* typ-564 %txt /tests/golden/types-record-field-expr-duplicate/types/txt
2043+/* src-565 %jibb /tests/golden/types-record-field-expr-separate/source/jibb
2044+/* tok-565 %txt /tests/golden/types-record-field-expr-separate/tokens/txt
2045+/* tre-565 %txt /tests/golden/types-record-field-expr-separate/tree/txt
2046+/* typ-565 %txt /tests/golden/types-record-field-expr-separate/types/txt
2047+/* src-566 %jibb /tests/golden/types-record-field-module-reachable/source/jibb
2048+/* tok-566 %txt /tests/golden/types-record-field-module-reachable/tokens/txt
2049+/* tre-566 %txt /tests/golden/types-record-field-module-reachable/tree/txt
2050+/* mod-566-1 %jibb /tests/golden/types-record-field-module-reachable/modules/ui/lib/jibb
2051+/* typ-566 %txt /tests/golden/types-record-field-module-reachable/types/txt
2052+/* mtre-566 %txt /tests/golden/types-record-field-module-reachable/module-trees/txt
2053+/* src-567 %jibb /tests/golden/types-record-field-module-unused/source/jibb
2054+/* tok-567 %txt /tests/golden/types-record-field-module-unused/tokens/txt
2055+/* tre-567 %txt /tests/golden/types-record-field-module-unused/tree/txt
2056+/* mod-567-1 %jibb /tests/golden/types-record-field-module-unused/modules/ui/good/jibb
2057+/* mod-567-2 %jibb /tests/golden/types-record-field-module-unused/modules/ui/unused/jibb
2058+/* typ-567 %txt /tests/golden/types-record-field-module-unused/types/txt
2059+/* mtre-567 %txt /tests/golden/types-record-field-module-unused/module-trees/txt
2060+/* src-568 %jibb /tests/golden/types-record-field-nested-mold/source/jibb
2061+/* tok-568 %txt /tests/golden/types-record-field-nested-mold/tokens/txt
2062+/* tre-568 %txt /tests/golden/types-record-field-nested-mold/tree/txt
2063+/* typ-568 %txt /tests/golden/types-record-field-nested-mold/types/txt
2064+/* src-569 %jibb /tests/golden/types-record-field-outer-inner/source/jibb
2065+/* tok-569 %txt /tests/golden/types-record-field-outer-inner/tokens/txt
2066+/* tre-569 %txt /tests/golden/types-record-field-outer-inner/tree/txt
2067+/* typ-569 %txt /tests/golden/types-record-field-outer-inner/types/txt
2068+/* src-570 %jibb /tests/golden/types-record-field-sample-duplicate/source/jibb
2069+/* tok-570 %txt /tests/golden/types-record-field-sample-duplicate/tokens/txt
2070+/* tre-570 %txt /tests/golden/types-record-field-sample-duplicate/tree/txt
2071+/* typ-570 %txt /tests/golden/types-record-field-sample-duplicate/types/txt
2072+/* src-571 %jibb /tests/golden/types-record-field-separate-molds/source/jibb
2073+/* tok-571 %txt /tests/golden/types-record-field-separate-molds/tokens/txt
2074+/* tre-571 %txt /tests/golden/types-record-field-separate-molds/tree/txt
2075+/* typ-571 %txt /tests/golden/types-record-field-separate-molds/types/txt
2076+/* src-572 %jibb /tests/golden/types-record-field-unused-mold/source/jibb
2077+/* tok-572 %txt /tests/golden/types-record-field-unused-mold/tokens/txt
2078+/* tre-572 %txt /tests/golden/types-record-field-unused-mold/tree/txt
2079+/* typ-572 %txt /tests/golden/types-record-field-unused-mold/types/txt
2080+/* src-573 %jibb /tests/golden/types-record-import/source/jibb
2081+/* tok-573 %txt /tests/golden/types-record-import/tokens/txt
2082+/* tre-573 %txt /tests/golden/types-record-import/tree/txt
2083+/* mod-573-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
2084+/* typ-573 %txt /tests/golden/types-record-import/types/txt
2085+/* mtre-573 %txt /tests/golden/types-record-import/module-trees/txt
2086+/* src-574 %jibb /tests/golden/types-record-local-scheme/source/jibb
2087+/* tok-574 %txt /tests/golden/types-record-local-scheme/tokens/txt
2088+/* tre-574 %txt /tests/golden/types-record-local-scheme/tree/txt
2089+/* typ-574 %txt /tests/golden/types-record-local-scheme/types/txt
2090+/* src-575 %jibb /tests/golden/types-record-nested/source/jibb
2091+/* tok-575 %txt /tests/golden/types-record-nested/tokens/txt
2092+/* tre-575 %txt /tests/golden/types-record-nested/tree/txt
2093+/* typ-575 %txt /tests/golden/types-record-nested/types/txt
2094+/* src-576 %jibb /tests/golden/types-record-to-tuple/source/jibb
2095+/* tok-576 %txt /tests/golden/types-record-to-tuple/tokens/txt
2096+/* tre-576 %txt /tests/golden/types-record-to-tuple/tree/txt
2097+/* typ-576 %txt /tests/golden/types-record-to-tuple/types/txt
2098+/* src-577 %jibb /tests/golden/types-recursion-scc-failures/source/jibb
2099+/* tok-577 %txt /tests/golden/types-recursion-scc-failures/tokens/txt
2100+/* tre-577 %txt /tests/golden/types-recursion-scc-failures/tree/txt
2101+/* typ-577 %txt /tests/golden/types-recursion-scc-failures/types/txt
2102+/* src-578 %jibb /tests/golden/types-recursion-scc-groups/source/jibb
2103+/* tok-578 %txt /tests/golden/types-recursion-scc-groups/tokens/txt
2104+/* tre-578 %txt /tests/golden/types-recursion-scc-groups/tree/txt
2105+/* typ-578 %txt /tests/golden/types-recursion-scc-groups/types/txt
2106+/* src-579 %jibb /tests/golden/types-recursion-scc-import/source/jibb
2107+/* tok-579 %txt /tests/golden/types-recursion-scc-import/tokens/txt
2108+/* tre-579 %txt /tests/golden/types-recursion-scc-import/tree/txt
2109+/* mod-579-1 %jibb /tests/golden/types-recursion-scc-import/modules/ui/lib/jibb
2110+/* typ-579 %txt /tests/golden/types-recursion-scc-import/types/txt
2111+/* mtre-579 %txt /tests/golden/types-recursion-scc-import/module-trees/txt
2112+/* src-580 %jibb /tests/golden/types-recursion-scc-import-bad/source/jibb
2113+/* tok-580 %txt /tests/golden/types-recursion-scc-import-bad/tokens/txt
2114+/* tre-580 %txt /tests/golden/types-recursion-scc-import-bad/tree/txt
2115+/* mod-580-1 %jibb /tests/golden/types-recursion-scc-import-bad/modules/ui/lib/jibb
2116+/* typ-580 %txt /tests/golden/types-recursion-scc-import-bad/types/txt
2117+/* mtre-580 %txt /tests/golden/types-recursion-scc-import-bad/module-trees/txt
2118+/* src-581 %jibb /tests/golden/types-recursion-scc-local/source/jibb
2119+/* tok-581 %txt /tests/golden/types-recursion-scc-local/tokens/txt
2120+/* tre-581 %txt /tests/golden/types-recursion-scc-local/tree/txt
2121+/* typ-581 %txt /tests/golden/types-recursion-scc-local/types/txt
2122+/* src-582 %jibb /tests/golden/types-recursion-scc-order/source/jibb
2123+/* tok-582 %txt /tests/golden/types-recursion-scc-order/tokens/txt
2124+/* tre-582 %txt /tests/golden/types-recursion-scc-order/tree/txt
2125+/* typ-582 %txt /tests/golden/types-recursion-scc-order/types/txt
2126+/* src-583 %jibb /tests/golden/types-recursion-scc-shadow/source/jibb
2127+/* tok-583 %txt /tests/golden/types-recursion-scc-shadow/tokens/txt
2128+/* tre-583 %txt /tests/golden/types-recursion-scc-shadow/tree/txt
2129+/* typ-583 %txt /tests/golden/types-recursion-scc-shadow/types/txt
2130+/* src-584 %jibb /tests/golden/types-recursive-branch/source/jibb
2131+/* tok-584 %txt /tests/golden/types-recursive-branch/tokens/txt
2132+/* tre-584 %txt /tests/golden/types-recursive-branch/tree/txt
2133+/* typ-584 %txt /tests/golden/types-recursive-branch/types/txt
2134+/* src-585 %jibb /tests/golden/types-recursive-gate/source/jibb
2135+/* tok-585 %txt /tests/golden/types-recursive-gate/tokens/txt
2136+/* tre-585 %txt /tests/golden/types-recursive-gate/tree/txt
2137+/* typ-585 %txt /tests/golden/types-recursive-gate/types/txt
2138+/* src-586 %jibb /tests/golden/types-recursive-sample/source/jibb
2139+/* tok-586 %txt /tests/golden/types-recursive-sample/tokens/txt
2140+/* tre-586 %txt /tests/golden/types-recursive-sample/tree/txt
2141+/* typ-586 %txt /tests/golden/types-recursive-sample/types/txt
2142+/* src-587 %jibb /tests/golden/types-scope-library-poke/source/jibb
2143+/* tok-587 %txt /tests/golden/types-scope-library-poke/tokens/txt
2144+/* tre-587 %txt /tests/golden/types-scope-library-poke/tree/txt
2145+/* typ-587 %txt /tests/golden/types-scope-library-poke/types/txt
2146+/* src-588 %jibb /tests/golden/types-scope-root-api/source/jibb
2147+/* tok-588 %txt /tests/golden/types-scope-root-api/tokens/txt
2148+/* tre-588 %txt /tests/golden/types-scope-root-api/tree/txt
2149+/* typ-588 %txt /tests/golden/types-scope-root-api/types/txt
2150+/* src-589 %jibb /tests/golden/types-scope-store-duplicate/source/jibb
2151+/* tok-589 %txt /tests/golden/types-scope-store-duplicate/tokens/txt
2152+/* tre-589 %txt /tests/golden/types-scope-store-duplicate/tree/txt
2153+/* typ-589 %txt /tests/golden/types-scope-store-duplicate/types/txt
2154+/* src-590 %jibb /tests/golden/types-scope-store-shadow/source/jibb
2155+/* tok-590 %txt /tests/golden/types-scope-store-shadow/tokens/txt
2156+/* tre-590 %txt /tests/golden/types-scope-store-shadow/tree/txt
2157+/* typ-590 %txt /tests/golden/types-scope-store-shadow/types/txt
2158+/* src-591 %jibb /tests/golden/types-single-case-pattern/source/jibb
2159+/* tok-591 %txt /tests/golden/types-single-case-pattern/tokens/txt
2160+/* tre-591 %txt /tests/golden/types-single-case-pattern/tree/txt
2161+/* typ-591 %txt /tests/golden/types-single-case-pattern/types/txt
2162+/* src-592 %jibb /tests/golden/types-string-interpolation/source/jibb
2163+/* tok-592 %txt /tests/golden/types-string-interpolation/tokens/txt
2164+/* tre-592 %txt /tests/golden/types-string-interpolation/tree/txt
2165+/* typ-592 %txt /tests/golden/types-string-interpolation/types/txt
2166+/* src-593 %jibb /tests/golden/types-tuple-context/source/jibb
2167+/* tok-593 %txt /tests/golden/types-tuple-context/tokens/txt
2168+/* tre-593 %txt /tests/golden/types-tuple-context/tree/txt
2169+/* typ-593 %txt /tests/golden/types-tuple-context/types/txt
2170+/* src-594 %jibb /tests/golden/types-tuple-context-nested/source/jibb
2171+/* tok-594 %txt /tests/golden/types-tuple-context-nested/tokens/txt
2172+/* tre-594 %txt /tests/golden/types-tuple-context-nested/tree/txt
2173+/* typ-594 %txt /tests/golden/types-tuple-context-nested/types/txt
2174+/* src-595 %jibb /tests/golden/types-union-alias/source/jibb
2175+/* tok-595 %txt /tests/golden/types-union-alias/tokens/txt
2176+/* tre-595 %txt /tests/golden/types-union-alias/tree/txt
2177+/* typ-595 %txt /tests/golden/types-union-alias/types/txt
2178+/* src-596 %jibb /tests/golden/types-union-branch-context/source/jibb
2179+/* tok-596 %txt /tests/golden/types-union-branch-context/tokens/txt
2180+/* tre-596 %txt /tests/golden/types-union-branch-context/tree/txt
2181+/* typ-596 %txt /tests/golden/types-union-branch-context/types/txt
2182+/* src-597 %jibb /tests/golden/types-union-branch-pending/source/jibb
2183+/* tok-597 %txt /tests/golden/types-union-branch-pending/tokens/txt
2184+/* tre-597 %txt /tests/golden/types-union-branch-pending/tree/txt
2185+/* typ-597 %txt /tests/golden/types-union-branch-pending/types/txt
2186+/* src-598 %jibb /tests/golden/types-union-constructor-shape/source/jibb
2187+/* tok-598 %txt /tests/golden/types-union-constructor-shape/tokens/txt
2188+/* tre-598 %txt /tests/golden/types-union-constructor-shape/tree/txt
2189+/* typ-598 %txt /tests/golden/types-union-constructor-shape/types/txt
2190+/* src-599 %jibb /tests/golden/types-union-context-flow/source/jibb
2191+/* tok-599 %txt /tests/golden/types-union-context-flow/tokens/txt
2192+/* tre-599 %txt /tests/golden/types-union-context-flow/tree/txt
2193+/* typ-599 %txt /tests/golden/types-union-context-flow/types/txt
2194+/* src-600 %jibb /tests/golden/types-union-finite/source/jibb
2195+/* tok-600 %txt /tests/golden/types-union-finite/tokens/txt
2196+/* tre-600 %txt /tests/golden/types-union-finite/tree/txt
2197+/* typ-600 %txt /tests/golden/types-union-finite/types/txt
2198+/* src-601 %jibb /tests/golden/types-union-finite-context/source/jibb
2199+/* tok-601 %txt /tests/golden/types-union-finite-context/tokens/txt
2200+/* tre-601 %txt /tests/golden/types-union-finite-context/tree/txt
2201+/* typ-601 %txt /tests/golden/types-union-finite-context/types/txt
2202+/* src-602 %jibb /tests/golden/types-union-finite-generic/source/jibb
2203+/* tok-602 %txt /tests/golden/types-union-finite-generic/tokens/txt
2204+/* tre-602 %txt /tests/golden/types-union-finite-generic/tree/txt
2205+/* typ-602 %txt /tests/golden/types-union-finite-generic/types/txt
2206+/* src-603 %jibb /tests/golden/types-union-finite-limit/source/jibb
2207+/* tok-603 %txt /tests/golden/types-union-finite-limit/tokens/txt
2208+/* tre-603 %txt /tests/golden/types-union-finite-limit/tree/txt
2209+/* typ-603 %txt /tests/golden/types-union-finite-limit/types/txt
2210+/* src-604 %jibb /tests/golden/types-union-import/source/jibb
2211+/* tok-604 %txt /tests/golden/types-union-import/tokens/txt
2212+/* tre-604 %txt /tests/golden/types-union-import/tree/txt
2213+/* mod-604-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
2214+/* typ-604 %txt /tests/golden/types-union-import/types/txt
2215+/* mtre-604 %txt /tests/golden/types-union-import/module-trees/txt
2216+/* src-605 %jibb /tests/golden/types-union-local-pending/source/jibb
2217+/* tok-605 %txt /tests/golden/types-union-local-pending/tokens/txt
2218+/* tre-605 %txt /tests/golden/types-union-local-pending/tree/txt
2219+/* typ-605 %txt /tests/golden/types-union-local-pending/types/txt
2220+/* src-606 %jibb /tests/golden/types-union-nonwing-subject/source/jibb
2221+/* tok-606 %txt /tests/golden/types-union-nonwing-subject/tokens/txt
2222+/* tre-606 %txt /tests/golden/types-union-nonwing-subject/tree/txt
2223+/* typ-606 %txt /tests/golden/types-union-nonwing-subject/types/txt
2224+/* src-607 %jibb /tests/golden/types-union-overlap/source/jibb
2225+/* tok-607 %txt /tests/golden/types-union-overlap/tokens/txt
2226+/* tre-607 %txt /tests/golden/types-union-overlap/tree/txt
2227+/* typ-607 %txt /tests/golden/types-union-overlap/types/txt
2228+/* src-608 %jibb /tests/golden/types-union-overlap-nested/source/jibb
2229+/* tok-608 %txt /tests/golden/types-union-overlap-nested/tokens/txt
2230+/* tre-608 %txt /tests/golden/types-union-overlap-nested/tree/txt
2231+/* typ-608 %txt /tests/golden/types-union-overlap-nested/types/txt
2232+/* src-609 %jibb /tests/golden/types-union-pattern-result-context/source/jibb
2233+/* tok-609 %txt /tests/golden/types-union-pattern-result-context/tokens/txt
2234+/* tre-609 %txt /tests/golden/types-union-pattern-result-context/tree/txt
2235+/* typ-609 %txt /tests/golden/types-union-pattern-result-context/types/txt
2236+/* src-610 %jibb /tests/golden/types-union-pattern-result-controls/source/jibb
2237+/* tok-610 %txt /tests/golden/types-union-pattern-result-controls/tokens/txt
2238+/* tre-610 %txt /tests/golden/types-union-pattern-result-controls/tree/txt
2239+/* typ-610 %txt /tests/golden/types-union-pattern-result-controls/types/txt
2240+/* src-611 %jibb /tests/golden/types-union-patterns/source/jibb
2241+/* tok-611 %txt /tests/golden/types-union-patterns/tokens/txt
2242+/* tre-611 %txt /tests/golden/types-union-patterns/tree/txt
2243+/* typ-611 %txt /tests/golden/types-union-patterns/types/txt
2244+/* src-612 %jibb /tests/golden/types-union-patterns-generic/source/jibb
2245+/* tok-612 %txt /tests/golden/types-union-patterns-generic/tokens/txt
2246+/* tre-612 %txt /tests/golden/types-union-patterns-generic/tree/txt
2247+/* typ-612 %txt /tests/golden/types-union-patterns-generic/types/txt
2248+/* src-613 %jibb /tests/golden/types-union-patterns-import/source/jibb
2249+/* tok-613 %txt /tests/golden/types-union-patterns-import/tokens/txt
2250+/* tre-613 %txt /tests/golden/types-union-patterns-import/tree/txt
2251+/* mod-613-1 %jibb /tests/golden/types-union-patterns-import/modules/ui/lib/jibb
2252+/* typ-613 %txt /tests/golden/types-union-patterns-import/types/txt
2253+/* mtre-613 %txt /tests/golden/types-union-patterns-import/module-trees/txt
2254+/* src-614 %jibb /tests/golden/types-union-phantom-generic/source/jibb
2255+/* tok-614 %txt /tests/golden/types-union-phantom-generic/tokens/txt
2256+/* tre-614 %txt /tests/golden/types-union-phantom-generic/tree/txt
2257+/* typ-614 %txt /tests/golden/types-union-phantom-generic/types/txt
2258+/* src-615 %jibb /tests/golden/types-union-polymorphic-identity/source/jibb
2259+/* tok-615 %txt /tests/golden/types-union-polymorphic-identity/tokens/txt
2260+/* tre-615 %txt /tests/golden/types-union-polymorphic-identity/tree/txt
2261+/* mod-615-1 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/one/jibb
2262+/* mod-615-2 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/two/jibb
2263+/* typ-615 %txt /tests/golden/types-union-polymorphic-identity/types/txt
2264+/* mtre-615 %txt /tests/golden/types-union-polymorphic-identity/module-trees/txt
2265+/* src-616 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
2266+/* tok-616 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
2267+/* tre-616 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
2268+/* mod-616-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
2269+/* typ-616 %txt /tests/golden/types-union-print-cross-namespace/types/txt
2270+/* mtre-616 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
2271+/* src-617 %jibb /tests/golden/types-union-print-distinct/source/jibb
2272+/* tok-617 %txt /tests/golden/types-union-print-distinct/tokens/txt
2273+/* tre-617 %txt /tests/golden/types-union-print-distinct/tree/txt
2274+/* mod-617-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
2275+/* mod-617-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
2276+/* mod-617-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
2277+/* typ-617 %txt /tests/golden/types-union-print-distinct/types/txt
2278+/* mtre-617 %txt /tests/golden/types-union-print-distinct/module-trees/txt
2279+/* src-618 %jibb /tests/golden/types-union-print-escape/source/jibb
2280+/* tok-618 %txt /tests/golden/types-union-print-escape/tokens/txt
2281+/* tre-618 %txt /tests/golden/types-union-print-escape/tree/txt
2282+/* typ-618 %txt /tests/golden/types-union-print-escape/types/txt
2283+/* src-619 %jibb /tests/golden/types-union-print-local/source/jibb
2284+/* tok-619 %txt /tests/golden/types-union-print-local/tokens/txt
2285+/* tre-619 %txt /tests/golden/types-union-print-local/tree/txt
2286+/* typ-619 %txt /tests/golden/types-union-print-local/types/txt
2287+/* src-620 %jibb /tests/golden/types-union-print-nested/source/jibb
2288+/* tok-620 %txt /tests/golden/types-union-print-nested/tokens/txt
2289+/* tre-620 %txt /tests/golden/types-union-print-nested/tree/txt
2290+/* typ-620 %txt /tests/golden/types-union-print-nested/types/txt
2291+/* src-621 %jibb /tests/golden/types-union-print-same-origin/source/jibb
2292+/* tok-621 %txt /tests/golden/types-union-print-same-origin/tokens/txt
2293+/* tre-621 %txt /tests/golden/types-union-print-same-origin/tree/txt
2294+/* mod-621-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
2295+/* typ-621 %txt /tests/golden/types-union-print-same-origin/types/txt
2296+/* mtre-621 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
2297+/* src-622 %jibb /tests/golden/types-union-print-transitive/source/jibb
2298+/* tok-622 %txt /tests/golden/types-union-print-transitive/tokens/txt
2299+/* tre-622 %txt /tests/golden/types-union-print-transitive/tree/txt
2300+/* mod-622-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
2301+/* mod-622-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
2302+/* typ-622 %txt /tests/golden/types-union-print-transitive/types/txt
2303+/* mtre-622 %txt /tests/golden/types-union-print-transitive/module-trees/txt
2304+/* src-623 %jibb /tests/golden/types-union-singleton/source/jibb
2305+/* tok-623 %txt /tests/golden/types-union-singleton/tokens/txt
2306+/* tre-623 %txt /tests/golden/types-union-singleton/tree/txt
2307+/* typ-623 %txt /tests/golden/types-union-singleton/types/txt
2308+/* src-624 %jibb /tests/golden/types-union-tag-atoms/source/jibb
2309+/* tok-624 %txt /tests/golden/types-union-tag-atoms/tokens/txt
2310+/* tre-624 %txt /tests/golden/types-union-tag-atoms/tree/txt
2311+/* typ-624 %txt /tests/golden/types-union-tag-atoms/types/txt
2312+/* src-625 %jibb /tests/golden/types-union-tags/source/jibb
2313+/* tok-625 %txt /tests/golden/types-union-tags/tokens/txt
2314+/* tre-625 %txt /tests/golden/types-union-tags/tree/txt
2315+/* typ-625 %txt /tests/golden/types-union-tags/types/txt
2316+/* src-626 %jibb /tests/golden/types-union-unresolved/source/jibb
2317+/* tok-626 %txt /tests/golden/types-union-unresolved/tokens/txt
2318+/* tre-626 %txt /tests/golden/types-union-unresolved/tree/txt
2319+/* typ-626 %txt /tests/golden/types-union-unresolved/types/txt
2320+/* src-627 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
2321+/* tok-627 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
2322+/* tre-627 %txt /tests/golden/types-union-unresolved-flow/tree/txt
2323+/* typ-627 %txt /tests/golden/types-union-unresolved-flow/types/txt
2324+/* src-628 %jibb /tests/golden/types-unit-construction/source/jibb
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
23262348=/ prepared-prelude (prepare-prelude-with-internal:jibb prelude-source internal-source)
23272349|%
23282350:: one arm per case
@@ -3145,444 +3167,454 @@
31453167 (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))
31463168++ test-prelude-unit-list-transforms
31473169 (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 ~ ~ ~))
31483180++ 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))
31503182++ 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 ~ ~ ~))
31523184++ 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 ~ ~ ~))
31543186++ 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 ~ ~ ~))
31563188++ 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 ~ ~ ~))
31583190++ 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 ~ ~ ~))
31603192++ 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))
31623194++ 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))
31643196++ 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))
31663198++ 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]]))
31683200++ 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))
31703202++ 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))
31723204++ 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))
31743206++ 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]]))
31763208++ 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))
31783210++ 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))
31803212++ 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))
31823214++ 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))
31843216++ 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))
31863218++ 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))
31883220++ 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]]))
31903222++ 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))
31923224++ 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))
31943226++ 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]]))
31963228++ 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]]))
31983230++ 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))
32003232++ 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]]))
32023234++ 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))
32043236++ 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))
32063238++ 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))
32083240++ 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]]))
32103242++ 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))
32123244++ 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))
32143246++ 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))
32163248++ 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))
32183250++ 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))
32203252++ 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))
32223254++ 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))
32243256++ 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]]))
32263258++ 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]]))
32283260++ 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]]))
32303262++ 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]]))
32323264++ 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]]))
32343266++ 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]]))
32363268++ 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]]))
32383270++ 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]]))
32403272++ 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]]))
32423274++ 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]]))
32443276++ 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 ~ ~ ~))
32463278++ 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 ~ ~ ~))
32483280++ 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 ~ ~ ~))
32503282++ 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]] ~ ~))
32523284++ 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 ~ ~ ~))
32543286++ 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 ~ ~ ~))
32563288++ 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]] ~ ~))
32583290++ 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 ~ ~ ~))
32603292++ 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 ~ ~ ~))
32623294++ 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 ~ ~ ~))
32643296++ 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 ~ ~ ~))
32663298++ 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 ~ ~ ~))
32683300++ 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 ~ ~ ~))
32703302++ 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 ~ ~ ~))
32723304++ 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]]))
32743306++ 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 ~ ~ ~))
32763308++ 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]]))
32783310++ 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]]))
32803312++ 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]]))
32823314++ 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]]))
32843316++ 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]]))
32863318++ 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]]))
32883320++ 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 ~ ~ ~))
32903322++ 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]]))
32923324++ 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 ~ ~ ~))
32943326++ 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))
32963328++ 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))
32983330++ 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))
33003332++ 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 ~ ~ ~))
33023334++ 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))
33043336++ 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))
33063338++ 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))
33083340++ 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))
33103342++ 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))
33123344++ 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))
33143346++ 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))
33163348++ 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))
33183350++ 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))
33203352++ 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))
33223354++ 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))
33243356++ 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))
33263358++ 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))
33283360++ 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))
33303362++ 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))
33323364++ 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))
33343366++ 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))
33363368++ 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))
33383370++ 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))
33403372++ 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))
33423374++ 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))
33443376++ 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))
33463378++ 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))
33483380++ 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))
33503382++ 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))
33523384++ 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))
33543386++ 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))
33563388++ 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))
33583390++ 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))
33603392++ 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))
33623394++ 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))
33643396++ 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 ~ ~ ~))
33663398++ 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 ~ ~ ~))
33683400++ 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 ~ ~ ~))
33703402++ 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 ~ ~ ~))
33723404++ 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 ~ ~ ~))
33743406++ 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]]))
33763408++ 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 ~ ~ ~))
33783410++ 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]]))
33803412++ 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 ~ ~ ~))
33823414++ 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 ~ ~ ~))
33843416++ 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 ~ ~ ~))
33863418++ 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 ~ ~ ~))
33883420++ 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 ~ ~ ~))
33903422++ 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]]))
33923424++ 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]]))
33943426++ 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 ~ ~ ~))
33963428++ 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 ~ ~ ~))
33983430++ 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 ~ ~ ~))
34003432++ 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 ~ ~ ~))
34023434++ 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 ~ ~ ~))
34043436++ 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 ~ ~ ~))
34063438++ 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 ~ ~ ~))
34083440++ 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 ~ ~ ~))
34103442++ 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 ~ ~ ~))
34123444++ 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 ~ ~ ~))
34143446++ 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 ~ ~ ~))
34163448++ 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 ~ ~ ~))
34183450++ 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 ~ ~ ~))
34203452++ 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 ~ ~ ~))
34223454++ 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 ~ ~ ~))
34243456++ 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 ~ ~ ~))
34263458++ 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 ~ ~ ~))
34283460++ 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 ~ ~ ~))
34303462++ 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]]))
34323464++ 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 ~ ~ ~))
34343466++ 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))
34363468++ 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 ~ ~ ~))
34383470++ 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 ~ ~ ~))
34403472++ 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 ~ ~ ~))
34423474++ 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))
34443476++ 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))
34463478++ 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))
34483480++ 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))
34503482++ 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]]))
34523484++ 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]]))
34543486++ 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))
34563488++ 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))
34583490++ 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))
34603492++ 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))
34623494++ 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))
34643496++ 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]]))
34663498++ 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))
34683500++ 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))
34703502++ 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))
34723504++ 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 ~ ~ ~))
34743506++ 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 ~ ~ ~))
34763508++ 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]]))
34783510++ 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]]))
34803512++ 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 ~ ~ ~))
34823514++ 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 ~ ~ ~))
34843516++ 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 ~ ~ ~))
34863518++ 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 ~ ~ ~))
34883520++ 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))
34903522++ 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))
34923524++ 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 ~ ~ ~))
34943526++ 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 ~ ~ ~))
34963528++ 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 ~ ~ ~))
34983530++ 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 ~ ~ ~))
35003532++ 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 ~ ~ ~))
35023534++ 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 ~ ~ ~))
35043536++ 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 ~ ~ ~))
35063538++ 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 ~ ~ ~))
35083540++ 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))
35103542++ 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))
35123544++ 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))
35143546++ 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))
35163548++ 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))
35183550++ 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 ~ ~ ~))
35203552++ 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 ~ ~ ~))
35223554++ 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 ~ ~ ~))
35243556++ 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 ~ ~ ~))
35263558++ 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]]))
35283560++ 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))
35303562++ 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 ~ ~ ~))
35323564++ 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))
35343566++ 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))
35363568++ 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 ~ ~ ~))
35383570++ 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 ~ ~ ~))
35403572++ 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 ~ ~ ~))
35423574++ 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 ~ ~ ~))
35443576++ 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]]))
35463578++ 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))
35483580++ 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]]))
35503582++ 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]]))
35523584++ 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]]))
35543586++ 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))
35563588++ 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))
35583590++ 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))
35603592++ 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]]))
35623594++ 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]]))
35643596++ 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))
35663598++ 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))
35683600++ 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))
35703602++ 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))
35723604++ 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))
35743606++ 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 ~ ~ ~))
35763608++ 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 ~ ~ ~))
35783610++ 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))
35803612++ 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 ~ ~ ~))
35823614++ 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 ~ ~ ~))
35843616++ 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 ~ ~ ~))
35863618::
35873619:: +check: run golden:jibb on a case and compare both outputs
35883620::
tools/testdata/ship-selftest+2−1
@@ -303,7 +303,8 @@ def generator_checks(tmp):
303303 p.endswith('.hoon')}
304304 check('default assembly keeps the repository test programs',
305305 {'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'}
307308 <= normal_tests, sorted(normal_tests))
308309 for label, kwargs in (('custom library', {'lib': STUB}),
309310 ('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')