@@ -104,26 +104,30 @@ Regular form: **2-running**.
104104
105105A `$%` is a tagged union, a common data model.
106106
107−Make sure the first item in your `$%` terminates, or the default will
108−be an infinite loop!
107+Make sure the last item in your `$%` terminates, or the default will
108+be an infinite loop! Alteratively, you can use `$~` to define a custom
109+type default value.
109110
110111##### Examples
111112
112113```
113114~zod:dojo> =foo $%([%foo p=@ud q=@ud] [%baz p=@ud])
114115
116+~zod:dojo> (foo [%foo 4 2])
117+[%foo p=4 q=2]
118+
115119~zod:dojo> (foo [%baz 37])
116120[%baz p=37]
117121
118122~zod:dojo> $:foo
119−[%foo p=0 q=0]~
123+[%baz p=0]
120124```
121125
122126### $: "buccol"
123127
124128`[%bscl p=(list spec)]`: form a cell type.
125129
126−##### Normalizes
130+##### Normalizes to
127131
128132The tuple the length of `p`, normalizing each item.
129133
@@ -282,7 +286,7 @@ Using `$~`:
282286
283287`[%bsvt p=spec q=spec]`: structure which normalizes a union tagged by head depth (atom).
284288
285−###### Normalizes to
289+##### Normalizes to
286290
287291`p`, if the sample is an atom; `q`, if the sample is a cell.
288292
@@ -311,7 +315,7 @@ Example:
311315[p=%baz q=99]
312316
313317~zod:dojo> $:a
314−[%foo p=0 q=0]
318+%foo
315319```
316320
317321
@@ -347,14 +351,14 @@ layer (as seen in the expansion above) to apply a `$=`.
347351p=%foo
348352
349353~zod:dojo> (a %baz)
350−p=%foo
354+ford: %ride failed to execute:
351355```
352356
353357### $? "bucwut"
354358
355359`[%bswt p=(list spec)]`: form a type from a union of other types.
356360
357−###### Normalizes to
361+##### Normalizes to
358362
359363The first item in `p` which normalizes the sample to itself.
360364
@@ -386,7 +390,7 @@ normalizer.
386390%baz
387391
388392~zod:dojo> (a [37 45])
389−%baz
393+ford: %ride failed to execute:
390394
391395~zod:dojo> $:a
392396%baz