@@ -1,182 +1,220 @@
11(module
2− (mold 1:1 maybe
3− (union 2:3
4− (const 2:3 ~)
5− (cell 3:3
6− (const 3:4 ~)
7− (face 3:6 value (aura 3:12 @t)))))
8− (mold 4:1 msg
9− (union 5:3
10− (const 5:3 %add)
11− (cell 6:3
12− (const 6:4 %note)
13− (face 6:10 text (aura 6:15 @t)))))
14− (value 7:1 cast
15− (gate 7:9
16− (face 7:12 x (ref 7:14 maybe))
17− (body 8:3
18− (cast 8:3
19− (ref 8:6 msg)
20− (body 9:5
21− (branch 9:5
22− (wing 9:8 x)
23− (arm 10:7 (lit 10:7 ~) (lit 10:9 %add))
24− (arm 11:7
25− (cell 11:7 (lit 11:8 ~) (bind 11:10 text))
26− (tuple 11:16 (lit 11:17 %note) (wing 11:23 text)))))))))
27− (value 12:1 reversed
28− (gate 12:13
29− (face 12:16 x (ref 12:18 maybe))
30− (body 13:3
31− (cast 13:3
32− (ref 13:6 msg)
33− (body 14:5
34− (branch 14:5
35− (wing 14:8 x)
36− (arm 15:7
37− (cell 15:7 (lit 15:8 ~) (bind 15:10 text))
38− (tuple 15:16 (lit 15:17 %note) (wing 15:23 text)))
39− (arm 16:7 (lit 16:7 ~) (lit 16:9 %add))))))))
40− (value 17:1 consume
41− (gate 17:12
42− (face 17:15 x (ref 17:17 msg))
43− (str 17:21 "ok")))
44− (value 18:1 call
45− (gate 18:9
46− (face 18:12 x (ref 18:14 maybe))
47− (body 19:3
48− (group 19:3
49− (call 19:4
50− (wing 19:4 consume)
51− (branch 20:5
52− (wing 20:8 x)
53− (arm 21:7 (lit 21:7 ~) (lit 21:9 %add))
54− (arm 22:7
55− (cell 22:7 (lit 22:8 ~) (bind 22:10 text))
56− (tuple 22:16 (lit 22:17 %note) (wing 22:23 text)))))))))
57− (value 23:1 nested
58− (gate 23:11
59− (face 23:14 x (ref 23:16 maybe))
60− (body 24:3
61− (cast 24:3
62− (ref 24:6 msg)
63− (body 25:5
64− (branch 25:5
65− (wing 25:8 x)
66− (arm 26:7
67− (lit 26:7 ~)
68− (body 27:9
69− (branch 27:9
70− (lit 27:12 %.y)
71− (arm 28:11 (lit 28:11 %.y) (lit 28:15 %add))
72− (arm 29:11
73− (lit 29:11 %.n)
74− (tuple 29:15 (lit 29:16 %note) (str 29:22 "hi"))))))
75− (arm 30:7
76− (cell 30:7 (lit 30:8 ~) (bind 30:10 text))
77− (tuple 30:16 (lit 30:17 %note) (wing 30:23 text)))))))))
78− (value 31:1 bad-empty
79− (gate 31:14
80− (face 31:17 x (ref 31:19 maybe))
81− (body 32:3
82− (cast 32:3
83− (ref 32:6 msg)
84− (body 33:5
85− (branch 33:5
86− (wing 33:8 x)
87− (arm 34:7 (lit 34:7 ~) (lit 34:9 %missing))
88− (arm 35:7
89− (cell 35:7 (lit 35:8 ~) (bind 35:10 text))
90− (tuple 35:16 (lit 35:17 %note) (wing 35:23 text)))))))))
91− (value 36:1 bad-present
2+ (mold 1:1 msg
3+ (union 2:3 (const 2:3 %go) (const 3:3 %stay)))
4+ (mold 4:1 mimic
5+ (generic 4:10 A
6+ (union 5:3
7+ (const 5:3 ~)
8+ (cell 6:3
9+ (const 6:4 ~)
10+ (face 6:6 u (tvar 6:8 A))))))
11+ (mold 7:1 record
12+ (cell 7:11
13+ (face 7:12 u
14+ (apply 7:14 unit (ref 7:20 msg)))
15+ (face 7:25 xs
16+ (apply 7:28 list
17+ (apply 7:34 unit (aura 7:40 @t))))))
18+ (value 8:1 valid
19+ (cast 8:10
20+ (apply 8:13 unit (ref 8:19 msg))
21+ (unit 8:24 (lit 8:25 %go))))
22+ (value 9:1 invalid
23+ (cast 9:12
24+ (apply 9:15 unit (ref 9:21 msg))
25+ (unit 9:26 (lit 9:27 %bad))))
26+ (value 10:1 str
27+ (cast 10:8
28+ (apply 10:11 unit (aura 10:17 @t))
29+ (unit 10:21 (str 10:22 "hi"))))
30+ (value 11:1 wrong
31+ (cast 11:10
32+ (apply 11:13 unit (aura 11:19 @t))
33+ (unit 11:23 (lit 11:24 ~zod))))
34+ (value 12:1 nest
35+ (cast 12:9
36+ (apply 12:12 unit
37+ (apply 12:18 unit (aura 12:24 @t)))
38+ (unit 12:29
39+ (unit 12:30 (str 12:31 "hi")))))
40+ (value 13:1 nested-bad
41+ (cast 13:15
42+ (apply 13:18 unit
43+ (apply 13:24 unit (aura 13:30 @t)))
44+ (unit 13:35
45+ (unit 13:36 (lit 13:37 ~zod)))))
46+ (value 14:1 lis
47+ (cast 14:8
48+ (apply 14:11 unit
49+ (apply 14:17 list (aura 14:23 @t)))
50+ (unit 14:28
51+ (list 14:29 (str 14:31 "hi")))))
52+ (value 15:1 list-bad
53+ (cast 15:13
54+ (apply 15:16 unit
55+ (apply 15:22 list (aura 15:28 @t)))
56+ (unit 15:33
57+ (list 15:34 (lit 15:36 ~zod)))))
58+ (value 16:1 accept
59+ (gate 16:11
60+ (face 16:14 x
61+ (apply 16:16 unit (ref 16:22 msg)))
62+ (wing 16:27 x)))
63+ (value 17:1 call
64+ (group 17:9
65+ (call 17:10
66+ (wing 17:10 accept)
67+ (unit 17:17 (lit 17:18 %stay)))))
68+ (value 18:1 bad-call
69+ (group 18:13
70+ (call 18:14
71+ (wing 18:14 accept)
72+ (unit 18:21 (lit 18:22 %bad)))))
73+ (value 19:1 field
74+ (cast 19:10
75+ (ref 19:13 record)
76+ (tuple 19:20
77+ (unit 19:21 (lit 19:22 %go))
78+ (list 19:26
79+ (unit 19:28 (str 19:29 "hi"))))))
80+ (value 20:1 field-bad
81+ (cast 20:14
82+ (ref 20:17 record)
83+ (tuple 20:24
84+ (unit 20:25 (lit 20:26 %bad))
85+ (list 20:31
86+ (unit 20:33 (str 20:34 "hi"))))))
87+ (value 21:1 mimic-mismatch
88+ (cast 21:19
89+ (apply 21:22 mimic (aura 21:29 @t))
90+ (unit 21:33 (str 21:34 "hi"))))
91+ (value 22:1 without-context
92+ (unit 22:20 (lit 22:21 %go)))
93+ (value 23:1 pending
94+ (body 24:3
95+ (trace 24:3
96+ (lit 24:6 %other)
97+ (body 25:5
98+ (cast 25:5
99+ (apply 25:8 unit (ref 25:14 msg))
100+ (unit 25:19 (lit 25:20 %go)))))))
101+ (value 26:1 pending-null
102+ (body 27:3
103+ (trace 27:3
104+ (lit 27:6 ~)
105+ (body 28:5
106+ (cast 28:5
107+ (apply 28:8 unit (aura 28:14 @t))
108+ (unit 28:18 (str 28:19 "hi")))))))
109+ (value 29:1 preserve
110+ (gate 29:13
111+ (face 29:16 x (tvar 29:18 A))
112+ (cast 29:20
113+ (apply 29:23 unit (tvar 29:29 A))
114+ (unit 29:32 (wing 29:33 x)))))
115+ (value 30:1 force
116+ (gate 30:10
117+ (face 30:13 x (tvar 30:15 A))
118+ (cast 30:17
119+ (apply 30:20 unit (tvar 30:26 A))
120+ (unit 30:29 (str 30:30 "hi")))))
121+ (mold 31:1 alt
122+ (union 32:3 (const 32:3 %go) (const 33:3 %stay)))
123+ (value 34:1 field-wrong-payload
124+ (cast 34:24
125+ (ref 34:27 record)
126+ (tuple 34:34
127+ (unit 34:35 (lit 34:36 %go))
128+ (list 34:40
129+ (unit 34:42 (lit 34:43 ~zod))))))
130+ (value 35:1 wrong-name
131+ (cast 35:15
132+ (ref 35:18 record)
133+ (tuple 35:25
134+ (face 35:26 wrong
135+ (unit 35:32 (lit 35:33 %go)))
136+ (face 35:37 xs
137+ (list 35:40
138+ (unit 35:42 (str 35:43 "hi")))))))
139+ (value 36:1 wrong-union
92140 (gate 36:16
93− (face 36:19 x (ref 36:21 maybe))
94− (body 37:3
95− (cast 37:3
96− (ref 37:6 msg)
97− (body 38:5
98− (branch 38:5
99− (wing 38:8 x)
100− (arm 39:7 (lit 39:7 ~) (lit 39:9 %add))
101− (arm 40:7
102− (cell 40:7 (lit 40:8 ~) (bind 40:10 text))
103− (lit 40:16 %missing))))))))
104− (value 41:1 unknown
105− (gate 41:12
106− (bind 41:15 x)
107− (body 42:3
108− (cast 42:3
109− (ref 42:6 msg)
110− (body 43:5
111− (branch 43:5
112− (wing 43:8 x)
113− (arm 44:7 (lit 44:7 ~) (lit 44:9 %add))
114− (arm 45:7
115− (cell 45:7 (lit 45:8 ~) (bind 45:10 text))
116− (tuple 45:16 (lit 45:17 %note) (wing 45:23 text)))))))))
117− (value 46:1 shadow
118− (gate 46:11
119− (face 46:14 x (ref 46:16 maybe))
120− (body 47:3
121− (cast 47:3
122− (ref 47:6 msg)
123− (body 48:5
124− (branch 48:5
125− (wing 48:8 x)
126− (arm 49:7 (lit 49:7 ~) (lit 49:9 %add))
127− (arm 50:7
128− (cell 50:7 (lit 50:8 ~) (bind 50:10 x))
129− (tuple 50:13 (lit 50:14 %note) (wing 50:20 x)))))))))
130− (value 51:1 pending
131− (gate 51:12
132− (face 51:15 x (ref 51:17 maybe))
133− (body 52:3
134− (trace 52:3
135− (lit 52:6 %unknown)
136− (body 53:5
137− (cast 53:5
138− (ref 53:8 msg)
139− (body 54:7
140− (branch 54:7
141− (wing 54:10 x)
142− (arm 55:9 (lit 55:9 ~) (lit 55:11 %add))
143− (arm 56:9
144− (cell 56:9 (lit 56:10 ~) (bind 56:12 text))
145− (tuple 56:18 (lit 56:19 %note) (wing 56:25 text)))))))))))
146− (value 57:1 nested-unit
147− (gate 57:16
148− (face 57:19 x (ref 57:21 maybe))
149− (body 58:3
150− (cast 58:3
151− (ref 58:6 msg)
152− (body 59:5
153− (branch 59:5
154− (wing 59:8 x)
155− (arm 60:7
156− (lit 60:7 ~)
157− (body 61:9
158− (branch 61:9
159− (wing 61:12 x)
160− (arm 62:11 (lit 62:11 ~) (lit 62:13 %add))
161− (arm 63:11
162− (cell 63:11 (lit 63:12 ~) (bind 63:14 inner))
163− (tuple 63:21 (lit 63:22 %note) (wing 63:28 inner))))))
164− (arm 64:7
165− (cell 64:7 (lit 64:8 ~) (bind 64:10 text))
166− (tuple 64:16 (lit 64:17 %note) (wing 64:23 text)))))))))
167− (value 65:1 pending-null
168− (gate 65:17
169− (face 65:20 x (ref 65:22 maybe))
170− (body 66:3
171− (trace 66:3
172− (lit 66:6 ~)
173− (body 67:5
174− (cast 67:5
175− (ref 67:8 msg)
176− (body 68:7
177− (branch 68:7
178− (wing 68:10 x)
179− (arm 69:9 (lit 69:9 ~) (lit 69:11 %add))
180− (arm 70:9
181− (cell 70:9 (lit 70:10 ~) (bind 70:12 text))
182− (tuple 70:18 (lit 70:19 %note) (wing 70:25 text))))))))))))
141+ (face 36:19 x (ref 36:21 alt))
142+ (cast 36:25
143+ (ref 36:28 record)
144+ (tuple 36:35
145+ (unit 36:36 (wing 36:37 x))
146+ (list 36:39
147+ (unit 36:41 (str 36:42 "hi")))))))
148+ (value 37:1 no-field-context
149+ (gate 37:21
150+ (face 37:24 x (tvar 37:26 A))
151+ (cast 37:28
152+ (cell 37:31
153+ (face 37:32 a (tvar 37:34 A)))
154+ (tuple 37:37
155+ (face 37:38 wrong (wing 37:44 x))))))
156+ (value 38:1 known-left
157+ (gate 38:15
158+ (face 38:18 x (ref 38:20 msg))
159+ (cast 38:24
160+ (cell 38:27
161+ (face 38:28 a (ref 38:30 msg)))
162+ (tuple 38:35
163+ (face 38:36 a (wing 38:38 x))))))
164+ (value 39:1 mismatch-left
165+ (gate 39:18
166+ (face 39:21 x (ref 39:23 msg))
167+ (cast 39:27
168+ (cell 39:30
169+ (face 39:31 a (ref 39:33 alt)))
170+ (tuple 39:38
171+ (face 39:39 a (wing 39:41 x))))))
172+ (value 40:1 contextual
173+ (gate 40:15
174+ (face 40:18 x (tvar 40:20 A))
175+ (cast 40:22
176+ (cell 40:25
177+ (face 40:26 a (tvar 40:28 A))
178+ (face 40:30 b
179+ (apply 40:32 unit (tvar 40:38 A))))
180+ (tuple 40:42
181+ (face 40:43 a (wing 40:45 x))
182+ (face 40:47 b
183+ (unit 40:49 (wing 40:50 x)))))))
184+ (value 41:1 contextual-bad
185+ (gate 41:19
186+ (face 41:22 x (tvar 41:24 A))
187+ (cast 41:26
188+ (cell 41:29
189+ (face 41:30 a (tvar 41:32 A))
190+ (face 41:34 b
191+ (apply 41:36 unit (tvar 41:42 A))))
192+ (tuple 41:46
193+ (face 41:47 a (wing 41:49 x))
194+ (face 41:51 b
195+ (unit 41:53 (str 41:54 "hi")))))))
196+ (value 42:1 nested-units
197+ (cast 42:17
198+ (apply 42:20 list
199+ (apply 42:26 unit (ref 42:32 msg)))
200+ (list 42:38
201+ (unit 42:40 (lit 42:41 %go))
202+ (unit 42:45 (lit 42:46 %stay)))))
203+ (value 43:1 nested-units-bad
204+ (cast 43:21
205+ (apply 43:24 list
206+ (apply 43:30 unit (ref 43:36 msg)))
207+ (list 43:42
208+ (unit 43:44 (lit 43:45 %go))
209+ (unit 43:49 (lit 43:50 %oops)))))
210+ (value 44:1 case-discarded
211+ (body 45:3
212+ (trace 45:3
213+ (lit 45:6 %pending)
214+ (body 46:5
215+ (cast 46:5
216+ (ref 46:8 record)
217+ (tuple 46:15
218+ (unit 46:16 (lit 46:17 %go))
219+ (list 46:21
220+ (unit 46:23 (str 46:24 "hi"))))))))))