@@ -0,0 +1,1871 @@
1+// Generated by purs version 0.15.15
2+import * as Control_Lazy from "../Control.Lazy/index.js";
3+import * as Data_Array from "../Data.Array/index.js";
4+import * as Data_Array_NonEmpty from "../Data.Array.NonEmpty/index.js";
5+import * as Data_Array_NonEmpty_Internal from "../Data.Array.NonEmpty.Internal/index.js";
6+import * as Data_Foldable from "../Data.Foldable/index.js";
7+import * as Data_Maybe from "../Data.Maybe/index.js";
8+import * as Data_Semigroup from "../Data.Semigroup/index.js";
9+import * as Data_Tuple from "../Data.Tuple/index.js";
10+import * as Data_Void from "../Data.Void/index.js";
11+import * as PureScript_CST_Range_TokenList from "../PureScript.CST.Range.TokenList/index.js";
12+import * as PureScript_CST_Types from "../PureScript.CST.Types/index.js";
13+var foldMap = /* #__PURE__ */ Data_Foldable.foldMap(Data_Foldable.foldableArray)(PureScript_CST_Range_TokenList.monoidTokenList);
14+var defer = /* #__PURE__ */ Control_Lazy.defer(PureScript_CST_Range_TokenList.lazyTokenList);
15+var append = /* #__PURE__ */ Data_Semigroup.append(PureScript_CST_Range_TokenList.semigroupTokenList);
16+var foldMap1 = /* #__PURE__ */ Data_Foldable.foldMap(Data_Foldable.foldableMaybe)(PureScript_CST_Range_TokenList.monoidTokenList);
17+var foldMap2 = /* #__PURE__ */ Data_Foldable.foldMap(Data_Array_NonEmpty_Internal.foldableNonEmptyArray)(PureScript_CST_Range_TokenList.monoidTokenList);
18+var tokensOfVoid = {
19+ tokensOf: Data_Void.absurd
20+};
21+var tokensOfRecoveredError = {
22+ tokensOf: function (v) {
23+ return PureScript_CST_Range_TokenList.fromArray(v.tokens);
24+ }
25+};
26+var tokensOfQualifiedName = {
27+ tokensOf: function (v) {
28+ return PureScript_CST_Range_TokenList.singleton(v.token);
29+ }
30+};
31+var tokensOfName = {
32+ tokensOf: function (v) {
33+ return PureScript_CST_Range_TokenList.singleton(v.token);
34+ }
35+};
36+var tokensOf = function (dict) {
37+ return dict.tokensOf;
38+};
39+var tokensOf1 = /* #__PURE__ */ tokensOf(tokensOfQualifiedName);
40+var tokensOf2 = /* #__PURE__ */ tokensOf(tokensOfName);
41+var tokensOfArray = function (dictTokensOf) {
42+ var tokensOf9 = tokensOf(dictTokensOf);
43+ return {
44+ tokensOf: foldMap(function (a) {
45+ return defer(function (v) {
46+ return tokensOf9(a);
47+ });
48+ })
49+ };
50+};
51+var tokensOfFixityOp = {
52+ tokensOf: function (v) {
53+ if (v instanceof PureScript_CST_Types.FixityValue) {
54+ return append(tokensOf1(v.value0))(append(PureScript_CST_Range_TokenList.singleton(v.value1))(tokensOf2(v.value2)));
55+ };
56+ if (v instanceof PureScript_CST_Types.FixityType) {
57+ return PureScript_CST_Range_TokenList.cons(v.value0)(append(tokensOf1(v.value1))(append(PureScript_CST_Range_TokenList.singleton(v.value2))(tokensOf2(v.value3))));
58+ };
59+ throw new Error("Failed pattern match at PureScript.CST.Range (line 643, column 14 - line 647, column 59): " + [ v.constructor.name ]);
60+ }
61+};
62+var tokensOf3 = /* #__PURE__ */ tokensOf(tokensOfFixityOp);
63+var tokensOfLabeled = function (dictTokensOf) {
64+ var tokensOf9 = tokensOf(dictTokensOf);
65+ return function (dictTokensOf1) {
66+ var tokensOf10 = tokensOf(dictTokensOf1);
67+ return {
68+ tokensOf: function (v) {
69+ return append(tokensOf9(v.label))(append(PureScript_CST_Range_TokenList.singleton(v.separator))(tokensOf10(v.value)));
70+ }
71+ };
72+ };
73+};
74+var tokensOfLabeled1 = /* #__PURE__ */ tokensOfLabeled(tokensOfName);
75+var tokensOfMaybe = function (dictTokensOf) {
76+ return {
77+ tokensOf: foldMap1(tokensOf(dictTokensOf))
78+ };
79+};
80+var tokensOfNonEmptyArray = function (dictTokensOf) {
81+ var tokensOf9 = tokensOf(dictTokensOf);
82+ return {
83+ tokensOf: foldMap2(function (a) {
84+ return defer(function (v) {
85+ return tokensOf9(a);
86+ });
87+ })
88+ };
89+};
90+var tokensOf4 = /* #__PURE__ */ tokensOf(/* #__PURE__ */ tokensOfNonEmptyArray(tokensOfName));
91+var tokensOfClassFundep = {
92+ tokensOf: function (v) {
93+ if (v instanceof PureScript_CST_Types.FundepDetermined) {
94+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf4(v.value1));
95+ };
96+ if (v instanceof PureScript_CST_Types.FundepDetermines) {
97+ return append(tokensOf4(v.value0))(append(PureScript_CST_Range_TokenList.singleton(v.value1))(tokensOf4(v.value2)));
98+ };
99+ throw new Error("Failed pattern match at PureScript.CST.Range (line 564, column 14 - line 568, column 50): " + [ v.constructor.name ]);
100+ }
101+};
102+var tokensOfPrefixed = function (dictTokensOf) {
103+ var tokensOf9 = tokensOf(dictTokensOf);
104+ return {
105+ tokensOf: function (v) {
106+ if (v.prefix instanceof Data_Maybe.Just) {
107+ return PureScript_CST_Range_TokenList.cons(v.prefix.value0)(defer(function (v1) {
108+ return tokensOf9(v.value);
109+ }));
110+ };
111+ if (v.prefix instanceof Data_Maybe.Nothing) {
112+ return tokensOf9(v.value);
113+ };
114+ throw new Error("Failed pattern match at PureScript.CST.Range (line 136, column 5 - line 140, column 23): " + [ v.prefix.constructor.name ]);
115+ }
116+ };
117+};
118+var tokensOfPrefixed1 = /* #__PURE__ */ tokensOfPrefixed(tokensOfName);
119+var tokensOfRecordLabeled = function (dictTokensOf) {
120+ var tokensOf9 = tokensOf(dictTokensOf);
121+ return {
122+ tokensOf: function (v) {
123+ if (v instanceof PureScript_CST_Types.RecordPun) {
124+ return tokensOf2(v.value0);
125+ };
126+ if (v instanceof PureScript_CST_Types.RecordField) {
127+ return append(tokensOf2(v.value0))(defer(function (v1) {
128+ return PureScript_CST_Range_TokenList.cons(v.value1)(tokensOf9(v.value2));
129+ }));
130+ };
131+ throw new Error("Failed pattern match at PureScript.CST.Range (line 1012, column 14 - line 1016, column 52): " + [ v.constructor.name ]);
132+ }
133+ };
134+};
135+var tokensOfSeparated = function (dictTokensOf) {
136+ var tokensOf9 = tokensOf(dictTokensOf);
137+ return {
138+ tokensOf: function (v) {
139+ return append(tokensOf9(v.head))(defer(function (v1) {
140+ return foldMap(function (v2) {
141+ return PureScript_CST_Range_TokenList.cons(v2.value0)(defer(function (v3) {
142+ return tokensOf9(v2.value1);
143+ }));
144+ })(v.tail);
145+ }));
146+ }
147+ };
148+};
149+var tokensOfSeparated1 = /* #__PURE__ */ tokensOfSeparated(tokensOfName);
150+var tokensOf5 = /* #__PURE__ */ tokensOf(tokensOfSeparated1);
151+var tokensOf6 = /* #__PURE__ */ tokensOf(/* #__PURE__ */ tokensOfSeparated(tokensOfClassFundep));
152+var tokensOfTuple = function (dictTokensOf) {
153+ var tokensOf9 = tokensOf(dictTokensOf);
154+ return function (dictTokensOf1) {
155+ var tokensOf10 = tokensOf(dictTokensOf1);
156+ return {
157+ tokensOf: function (v) {
158+ return append(tokensOf9(v.value0))(tokensOf10(v.value1));
159+ }
160+ };
161+ };
162+};
163+var tokensOfTuple1 = /* #__PURE__ */ tokensOfTuple(tokensOfQualifiedName);
164+var tokensOfWrapped = function (dictTokensOf) {
165+ var tokensOf9 = tokensOf(dictTokensOf);
166+ return {
167+ tokensOf: function (v) {
168+ return PureScript_CST_Range_TokenList.wrap(v.open)(defer(function (v1) {
169+ return tokensOf9(v.value);
170+ }))(v.close);
171+ }
172+ };
173+};
174+var tokensOf7 = /* #__PURE__ */ tokensOf(/* #__PURE__ */ tokensOfWrapped(/* #__PURE__ */ tokensOfMaybe(tokensOfSeparated1)));
175+var tokensOfDataMembers = {
176+ tokensOf: function (v) {
177+ if (v instanceof PureScript_CST_Types.DataAll) {
178+ return PureScript_CST_Range_TokenList.singleton(v.value0);
179+ };
180+ if (v instanceof PureScript_CST_Types.DataEnumerated) {
181+ return tokensOf7(v.value0);
182+ };
183+ throw new Error("Failed pattern match at PureScript.CST.Range (line 329, column 14 - line 333, column 17): " + [ v.constructor.name ]);
184+ }
185+};
186+var tokensOf8 = /* #__PURE__ */ tokensOf(tokensOfDataMembers);
187+var tokensOfExport = function (dictTokensOf) {
188+ var tokensOf9 = tokensOf(dictTokensOf);
189+ return {
190+ tokensOf: function (v) {
191+ if (v instanceof PureScript_CST_Types.ExportValue) {
192+ return tokensOf2(v.value0);
193+ };
194+ if (v instanceof PureScript_CST_Types.ExportOp) {
195+ return tokensOf2(v.value0);
196+ };
197+ if (v instanceof PureScript_CST_Types.ExportType) {
198+ return append(tokensOf2(v.value0))(foldMap1(tokensOf8)(v.value1));
199+ };
200+ if (v instanceof PureScript_CST_Types.ExportTypeOp) {
201+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf2(v.value1));
202+ };
203+ if (v instanceof PureScript_CST_Types.ExportClass) {
204+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf2(v.value1));
205+ };
206+ if (v instanceof PureScript_CST_Types.ExportModule) {
207+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf2(v.value1));
208+ };
209+ if (v instanceof PureScript_CST_Types.ExportError) {
210+ return tokensOf9(v.value0);
211+ };
212+ throw new Error("Failed pattern match at PureScript.CST.Range (line 305, column 14 - line 319, column 17): " + [ v.constructor.name ]);
213+ }
214+ };
215+};
216+var tokensOfImport = function (dictTokensOf) {
217+ var tokensOf9 = tokensOf(dictTokensOf);
218+ return {
219+ tokensOf: function (v) {
220+ if (v instanceof PureScript_CST_Types.ImportValue) {
221+ return tokensOf2(v.value0);
222+ };
223+ if (v instanceof PureScript_CST_Types.ImportOp) {
224+ return tokensOf2(v.value0);
225+ };
226+ if (v instanceof PureScript_CST_Types.ImportType) {
227+ return append(tokensOf2(v.value0))(foldMap1(tokensOf8)(v.value1));
228+ };
229+ if (v instanceof PureScript_CST_Types.ImportTypeOp) {
230+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf2(v.value1));
231+ };
232+ if (v instanceof PureScript_CST_Types.ImportClass) {
233+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf2(v.value1));
234+ };
235+ if (v instanceof PureScript_CST_Types.ImportError) {
236+ return tokensOf9(v.value0);
237+ };
238+ throw new Error("Failed pattern match at PureScript.CST.Range (line 384, column 14 - line 396, column 17): " + [ v.constructor.name ]);
239+ }
240+ };
241+};
242+var tokensOfImportDecl = function (dictTokensOf) {
243+ var tokensOf9 = tokensOf(tokensOfWrapped(tokensOfSeparated(tokensOfImport(dictTokensOf))));
244+ return {
245+ tokensOf: function (v) {
246+ return PureScript_CST_Range_TokenList.cons(v.keyword)(defer(function (v1) {
247+ return append(tokensOf2(v.module))(append(foldMap1(function (v2) {
248+ return append(foldMap1(PureScript_CST_Range_TokenList.singleton)(v2.value0))(defer(function (v3) {
249+ return tokensOf9(v2.value1);
250+ }));
251+ })(v.names))(foldMap1(function (v2) {
252+ return append(PureScript_CST_Range_TokenList.singleton(v2.value0))(tokensOf2(v2.value1));
253+ })(v.qualified)));
254+ }));
255+ }
256+ };
257+};
258+var tokensOfOneOrDelimited = function (dictTokensOf) {
259+ var tokensOf9 = tokensOf(dictTokensOf);
260+ var tokensOf10 = tokensOf(tokensOfWrapped(tokensOfSeparated(dictTokensOf)));
261+ return {
262+ tokensOf: function (v) {
263+ if (v instanceof PureScript_CST_Types.One) {
264+ return tokensOf9(v.value0);
265+ };
266+ if (v instanceof PureScript_CST_Types.Many) {
267+ return tokensOf10(v.value0);
268+ };
269+ throw new Error("Failed pattern match at PureScript.CST.Range (line 148, column 14 - line 150, column 27): " + [ v.constructor.name ]);
270+ }
271+ };
272+};
273+var tokensOfTypeVarBinding = function (dictTokensOf) {
274+ var tokensOfLabeled2 = tokensOfLabeled(dictTokensOf);
275+ var tokensOf9 = tokensOf(dictTokensOf);
276+ return function (dictTokensOf1) {
277+ return {
278+ tokensOf: function (v) {
279+ if (v instanceof PureScript_CST_Types.TypeVarKinded) {
280+ return tokensOf(tokensOfWrapped(tokensOfLabeled2(tokensOfType(dictTokensOf1))))(v.value0);
281+ };
282+ if (v instanceof PureScript_CST_Types.TypeVarName) {
283+ return tokensOf9(v.value0);
284+ };
285+ throw new Error("Failed pattern match at PureScript.CST.Range (line 269, column 14 - line 273, column 17): " + [ v.constructor.name ]);
286+ }
287+ };
288+ };
289+};
290+var tokensOfType = function (dictTokensOf) {
291+ var tokensOf9 = tokensOf(dictTokensOf);
292+ return {
293+ tokensOf: function (v) {
294+ if (v instanceof PureScript_CST_Types.TypeVar) {
295+ return tokensOf2(v.value0);
296+ };
297+ if (v instanceof PureScript_CST_Types.TypeConstructor) {
298+ return tokensOf1(v.value0);
299+ };
300+ if (v instanceof PureScript_CST_Types.TypeWildcard) {
301+ return PureScript_CST_Range_TokenList.singleton(v.value0);
302+ };
303+ if (v instanceof PureScript_CST_Types.TypeHole) {
304+ return tokensOf2(v.value0);
305+ };
306+ if (v instanceof PureScript_CST_Types.TypeString) {
307+ return PureScript_CST_Range_TokenList.singleton(v.value0);
308+ };
309+ if (v instanceof PureScript_CST_Types.TypeInt) {
310+ return append(foldMap1(PureScript_CST_Range_TokenList.singleton)(v.value0))(PureScript_CST_Range_TokenList.singleton(v.value1));
311+ };
312+ if (v instanceof PureScript_CST_Types.TypeRow) {
313+ return tokensOf(tokensOfWrapped(tokensOfRow(dictTokensOf)))(v.value0);
314+ };
315+ if (v instanceof PureScript_CST_Types.TypeRecord) {
316+ return tokensOf(tokensOfWrapped(tokensOfRow(dictTokensOf)))(v.value0);
317+ };
318+ if (v instanceof PureScript_CST_Types.TypeForall) {
319+ return PureScript_CST_Range_TokenList.cons(v.value0)(defer(function (v1) {
320+ return append(tokensOf(tokensOfNonEmptyArray(tokensOfTypeVarBinding(tokensOfPrefixed1)(dictTokensOf)))(v.value1))(append(PureScript_CST_Range_TokenList.singleton(v.value2))(tokensOf(tokensOfType(dictTokensOf))(v.value3)));
321+ }));
322+ };
323+ if (v instanceof PureScript_CST_Types.TypeKinded) {
324+ return append(tokensOf(tokensOfType(dictTokensOf))(v.value0))(defer(function (v1) {
325+ return append(PureScript_CST_Range_TokenList.singleton(v.value1))(tokensOf(tokensOfType(dictTokensOf))(v.value2));
326+ }));
327+ };
328+ if (v instanceof PureScript_CST_Types.TypeApp) {
329+ return append(tokensOf(tokensOfType(dictTokensOf))(v.value0))(defer(function (v1) {
330+ return tokensOf(tokensOfNonEmptyArray(tokensOfType(dictTokensOf)))(v.value1);
331+ }));
332+ };
333+ if (v instanceof PureScript_CST_Types.TypeOp) {
334+ return append(tokensOf(tokensOfType(dictTokensOf))(v.value0))(defer(function (v1) {
335+ return foldMap2(function (v2) {
336+ return append(tokensOf1(v2.value0))(tokensOf(tokensOfType(dictTokensOf))(v2.value1));
337+ })(v.value1);
338+ }));
339+ };
340+ if (v instanceof PureScript_CST_Types.TypeOpName) {
341+ return tokensOf1(v.value0);
342+ };
343+ if (v instanceof PureScript_CST_Types.TypeArrow) {
344+ return append(tokensOf(tokensOfType(dictTokensOf))(v.value0))(defer(function (v1) {
345+ return append(PureScript_CST_Range_TokenList.singleton(v.value1))(tokensOf(tokensOfType(dictTokensOf))(v.value2));
346+ }));
347+ };
348+ if (v instanceof PureScript_CST_Types.TypeArrowName) {
349+ return PureScript_CST_Range_TokenList.singleton(v.value0);
350+ };
351+ if (v instanceof PureScript_CST_Types.TypeConstrained) {
352+ return append(tokensOf(tokensOfType(dictTokensOf))(v.value0))(defer(function (v1) {
353+ return append(PureScript_CST_Range_TokenList.singleton(v.value1))(tokensOf(tokensOfType(dictTokensOf))(v.value2));
354+ }));
355+ };
356+ if (v instanceof PureScript_CST_Types.TypeParens) {
357+ return tokensOf(tokensOfWrapped(tokensOfType(dictTokensOf)))(v.value0);
358+ };
359+ if (v instanceof PureScript_CST_Types["TypeError"]) {
360+ return tokensOf9(v.value0);
361+ };
362+ throw new Error("Failed pattern match at PureScript.CST.Range (line 210, column 14 - line 254, column 17): " + [ v.constructor.name ]);
363+ }
364+ };
365+};
366+var tokensOfRow = function (dictTokensOf) {
367+ return {
368+ tokensOf: function (v) {
369+ return append(foldMap1(tokensOf(tokensOfSeparated(tokensOfLabeled1(tokensOfType(dictTokensOf)))))(v.labels))(foldMap1(function (v1) {
370+ return PureScript_CST_Range_TokenList.cons(v1.value0)(tokensOf(tokensOfType(dictTokensOf))(v1.value1));
371+ })(v.tail));
372+ }
373+ };
374+};
375+var tokensOfTypeVarBinding1 = /* #__PURE__ */ tokensOfTypeVarBinding(tokensOfName);
376+var tokensOfAppSpine = function (dictTokensOf) {
377+ var tokensOf9 = tokensOf(tokensOfType(dictTokensOf));
378+ return function (dictTokensOf1) {
379+ var tokensOf10 = tokensOf(dictTokensOf1);
380+ return {
381+ tokensOf: function (v) {
382+ if (v instanceof PureScript_CST_Types.AppType) {
383+ return PureScript_CST_Range_TokenList.cons(v.value0)(defer(function (v1) {
384+ return tokensOf9(v.value1);
385+ }));
386+ };
387+ if (v instanceof PureScript_CST_Types.AppTerm) {
388+ return tokensOf10(v.value0);
389+ };
390+ throw new Error("Failed pattern match at PureScript.CST.Range (line 856, column 14 - line 860, column 17): " + [ v.constructor.name ]);
391+ }
392+ };
393+ };
394+};
395+var tokensOfBinder = function (dictTokensOf) {
396+ var tokensOf9 = tokensOf(tokensOfType(dictTokensOf));
397+ var tokensOf10 = tokensOf(dictTokensOf);
398+ return {
399+ tokensOf: function (v) {
400+ if (v instanceof PureScript_CST_Types.BinderWildcard) {
401+ return PureScript_CST_Range_TokenList.singleton(v.value0);
402+ };
403+ if (v instanceof PureScript_CST_Types.BinderVar) {
404+ return tokensOf2(v.value0);
405+ };
406+ if (v instanceof PureScript_CST_Types.BinderNamed) {
407+ return append(tokensOf2(v.value0))(defer(function (v1) {
408+ return PureScript_CST_Range_TokenList.cons(v.value1)(tokensOf(tokensOfBinder(dictTokensOf))(v.value2));
409+ }));
410+ };
411+ if (v instanceof PureScript_CST_Types.BinderConstructor) {
412+ return append(tokensOf1(v.value0))(defer(function (v1) {
413+ return tokensOf(tokensOfArray(tokensOfBinder(dictTokensOf)))(v.value1);
414+ }));
415+ };
416+ if (v instanceof PureScript_CST_Types.BinderBoolean) {
417+ return PureScript_CST_Range_TokenList.singleton(v.value0);
418+ };
419+ if (v instanceof PureScript_CST_Types.BinderChar) {
420+ return PureScript_CST_Range_TokenList.singleton(v.value0);
421+ };
422+ if (v instanceof PureScript_CST_Types.BinderString) {
423+ return PureScript_CST_Range_TokenList.singleton(v.value0);
424+ };
425+ if (v instanceof PureScript_CST_Types.BinderInt) {
426+ return append(foldMap1(PureScript_CST_Range_TokenList.singleton)(v.value0))(PureScript_CST_Range_TokenList.singleton(v.value1));
427+ };
428+ if (v instanceof PureScript_CST_Types.BinderNumber) {
429+ return append(foldMap1(PureScript_CST_Range_TokenList.singleton)(v.value0))(PureScript_CST_Range_TokenList.singleton(v.value1));
430+ };
431+ if (v instanceof PureScript_CST_Types.BinderArray) {
432+ return tokensOf(tokensOfWrapped(tokensOfMaybe(tokensOfSeparated(tokensOfBinder(dictTokensOf)))))(v.value0);
433+ };
434+ if (v instanceof PureScript_CST_Types.BinderRecord) {
435+ return tokensOf(tokensOfWrapped(tokensOfMaybe(tokensOfSeparated(tokensOfRecordLabeled(tokensOfBinder(dictTokensOf))))))(v.value0);
436+ };
437+ if (v instanceof PureScript_CST_Types.BinderParens) {
438+ return tokensOf(tokensOfWrapped(tokensOfBinder(dictTokensOf)))(v.value0);
439+ };
440+ if (v instanceof PureScript_CST_Types.BinderTyped) {
441+ return append(tokensOf(tokensOfBinder(dictTokensOf))(v.value0))(defer(function (v1) {
442+ return PureScript_CST_Range_TokenList.cons(v.value1)(tokensOf9(v.value2));
443+ }));
444+ };
445+ if (v instanceof PureScript_CST_Types.BinderOp) {
446+ return append(tokensOf(tokensOfBinder(dictTokensOf))(v.value0))(defer(function (v1) {
447+ return tokensOf(tokensOfNonEmptyArray(tokensOfTuple1(tokensOfBinder(dictTokensOf))))(v.value1);
448+ }));
449+ };
450+ if (v instanceof PureScript_CST_Types.BinderError) {
451+ return tokensOf10(v.value0);
452+ };
453+ throw new Error("Failed pattern match at PureScript.CST.Range (line 979, column 14 - line 1009, column 17): " + [ v.constructor.name ]);
454+ }
455+ };
456+};
457+var tokensOfDataCtor = function (dictTokensOf) {
458+ var tokensOf9 = tokensOf(tokensOfArray(tokensOfType(dictTokensOf)));
459+ return {
460+ tokensOf: function (v) {
461+ return append(tokensOf2(v.name))(tokensOf9(v.fields));
462+ }
463+ };
464+};
465+var tokensOfForeign = function (dictTokensOf) {
466+ var tokensOf9 = tokensOf(tokensOfLabeled1(tokensOfType(dictTokensOf)));
467+ return {
468+ tokensOf: function (v) {
469+ if (v instanceof PureScript_CST_Types.ForeignValue) {
470+ return tokensOf9(v.value0);
471+ };
472+ if (v instanceof PureScript_CST_Types.ForeignData) {
473+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf9(v.value1));
474+ };
475+ if (v instanceof PureScript_CST_Types.ForeignKind) {
476+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf2(v.value1));
477+ };
478+ throw new Error("Failed pattern match at PureScript.CST.Range (line 663, column 14 - line 669, column 26): " + [ v.constructor.name ]);
479+ }
480+ };
481+};
482+var tokensOfWhere = function (dictTokensOf) {
483+ return {
484+ tokensOf: function (v) {
485+ return append(tokensOf(tokensOfExpr(dictTokensOf))(v.expr))(defer(function (v1) {
486+ return foldMap1(function (v2) {
487+ return PureScript_CST_Range_TokenList.cons(v2.value0)(tokensOf(tokensOfNonEmptyArray(tokensOfLetBinding(dictTokensOf)))(v2.value1));
488+ })(v.bindings);
489+ }));
490+ }
491+ };
492+};
493+var tokensOfRecordUpdate = function (dictTokensOf) {
494+ return {
495+ tokensOf: function (v) {
496+ if (v instanceof PureScript_CST_Types.RecordUpdateLeaf) {
497+ return append(tokensOf2(v.value0))(append(PureScript_CST_Range_TokenList.singleton(v.value1))(tokensOf(tokensOfExpr(dictTokensOf))(v.value2)));
498+ };
499+ if (v instanceof PureScript_CST_Types.RecordUpdateBranch) {
500+ return append(tokensOf2(v.value0))(tokensOf(tokensOfWrapped(tokensOfSeparated(tokensOfRecordUpdate(dictTokensOf))))(v.value1));
501+ };
502+ throw new Error("Failed pattern match at PureScript.CST.Range (line 863, column 14 - line 867, column 32): " + [ v.constructor.name ]);
503+ }
504+ };
505+};
506+var tokensOfPatternGuard = function (dictTokensOf) {
507+ var tokensOf9 = tokensOf(tokensOfBinder(dictTokensOf));
508+ return {
509+ tokensOf: function (v) {
510+ return append(foldMap1(function (v1) {
511+ return append(tokensOf9(v1.value0))(PureScript_CST_Range_TokenList.singleton(v1.value1));
512+ })(v.binder))(tokensOf(tokensOfExpr(dictTokensOf))(v.expr));
513+ }
514+ };
515+};
516+var tokensOfLetBinding = function (dictTokensOf) {
517+ var tokensOf9 = tokensOf(tokensOfLabeled1(tokensOfType(dictTokensOf)));
518+ var tokensOfBinder1 = tokensOfBinder(dictTokensOf);
519+ var tokensOf10 = tokensOf(tokensOfArray(tokensOfBinder1));
520+ var tokensOf11 = tokensOf(tokensOfBinder1);
521+ var tokensOf12 = tokensOf(dictTokensOf);
522+ return {
523+ tokensOf: function (v) {
524+ if (v instanceof PureScript_CST_Types.LetBindingSignature) {
525+ return tokensOf9(v.value0);
526+ };
527+ if (v instanceof PureScript_CST_Types.LetBindingName) {
528+ return append(tokensOf2(v.value0.name))(defer(function (v1) {
529+ return append(tokensOf10(v.value0.binders))(tokensOf(tokensOfGuarded(dictTokensOf))(v.value0.guarded));
530+ }));
531+ };
532+ if (v instanceof PureScript_CST_Types.LetBindingPattern) {
533+ return append(tokensOf11(v.value0))(defer(function (v1) {
534+ return PureScript_CST_Range_TokenList.cons(v.value1)(tokensOf(tokensOfWhere(dictTokensOf))(v.value2));
535+ }));
536+ };
537+ if (v instanceof PureScript_CST_Types.LetBindingError) {
538+ return tokensOf12(v.value0);
539+ };
540+ throw new Error("Failed pattern match at PureScript.CST.Range (line 911, column 14 - line 919, column 17): " + [ v.constructor.name ]);
541+ }
542+ };
543+};
544+var tokensOfGuardedExpr = function (dictTokensOf) {
545+ return {
546+ tokensOf: function (v) {
547+ return PureScript_CST_Range_TokenList.cons(v.bar)(defer(function (v1) {
548+ return append(tokensOf(tokensOfSeparated(tokensOfPatternGuard(dictTokensOf)))(v.patterns))(append(PureScript_CST_Range_TokenList.singleton(v.separator))(tokensOf(tokensOfWhere(dictTokensOf))(v.where)));
549+ }));
550+ }
551+ };
552+};
553+var tokensOfGuarded = function (dictTokensOf) {
554+ return {
555+ tokensOf: function (v) {
556+ if (v instanceof PureScript_CST_Types.Unconditional) {
557+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf(tokensOfWhere(dictTokensOf))(v.value1));
558+ };
559+ if (v instanceof PureScript_CST_Types.Guarded) {
560+ return tokensOf(tokensOfNonEmptyArray(tokensOfGuardedExpr(dictTokensOf)))(v.value0);
561+ };
562+ throw new Error("Failed pattern match at PureScript.CST.Range (line 607, column 14 - line 611, column 18): " + [ v.constructor.name ]);
563+ }
564+ };
565+};
566+var tokensOfExpr = function (dictTokensOf) {
567+ var tokensOf9 = tokensOf(tokensOfType(dictTokensOf));
568+ var tokensOfAppSpine1 = tokensOfAppSpine(dictTokensOf);
569+ var tokensOfBinder1 = tokensOfBinder(dictTokensOf);
570+ var tokensOf10 = tokensOf(tokensOfNonEmptyArray(tokensOfBinder1));
571+ var tokensOfTuple2 = tokensOfTuple(tokensOfSeparated(tokensOfBinder1));
572+ var tokensOf11 = tokensOf(dictTokensOf);
573+ return {
574+ tokensOf: function (v) {
575+ if (v instanceof PureScript_CST_Types.ExprHole) {
576+ return tokensOf2(v.value0);
577+ };
578+ if (v instanceof PureScript_CST_Types.ExprSection) {
579+ return PureScript_CST_Range_TokenList.singleton(v.value0);
580+ };
581+ if (v instanceof PureScript_CST_Types.ExprIdent) {
582+ return tokensOf1(v.value0);
583+ };
584+ if (v instanceof PureScript_CST_Types.ExprConstructor) {
585+ return tokensOf1(v.value0);
586+ };
587+ if (v instanceof PureScript_CST_Types.ExprBoolean) {
588+ return PureScript_CST_Range_TokenList.singleton(v.value0);
589+ };
590+ if (v instanceof PureScript_CST_Types.ExprChar) {
591+ return PureScript_CST_Range_TokenList.singleton(v.value0);
592+ };
593+ if (v instanceof PureScript_CST_Types.ExprString) {
594+ return PureScript_CST_Range_TokenList.singleton(v.value0);
595+ };
596+ if (v instanceof PureScript_CST_Types.ExprInt) {
597+ return PureScript_CST_Range_TokenList.singleton(v.value0);
598+ };
599+ if (v instanceof PureScript_CST_Types.ExprNumber) {
600+ return PureScript_CST_Range_TokenList.singleton(v.value0);
601+ };
602+ if (v instanceof PureScript_CST_Types.ExprArray) {
603+ return tokensOf(tokensOfWrapped(tokensOfMaybe(tokensOfSeparated(tokensOfExpr(dictTokensOf)))))(v.value0);
604+ };
605+ if (v instanceof PureScript_CST_Types.ExprRecord) {
606+ return tokensOf(tokensOfWrapped(tokensOfMaybe(tokensOfSeparated(tokensOfRecordLabeled(tokensOfExpr(dictTokensOf))))))(v.value0);
607+ };
608+ if (v instanceof PureScript_CST_Types.ExprParens) {
609+ return tokensOf(tokensOfWrapped(tokensOfExpr(dictTokensOf)))(v.value0);
610+ };
611+ if (v instanceof PureScript_CST_Types.ExprTyped) {
612+ return append(tokensOf(tokensOfExpr(dictTokensOf))(v.value0))(defer(function (v1) {
613+ return PureScript_CST_Range_TokenList.cons(v.value1)(tokensOf9(v.value2));
614+ }));
615+ };
616+ if (v instanceof PureScript_CST_Types.ExprInfix) {
617+ return append(tokensOf(tokensOfExpr(dictTokensOf))(v.value0))(defer(function (v1) {
618+ return tokensOf(tokensOfNonEmptyArray(tokensOfTuple(tokensOfWrapped(tokensOfExpr(dictTokensOf)))(tokensOfExpr(dictTokensOf))))(v.value1);
619+ }));
620+ };
621+ if (v instanceof PureScript_CST_Types.ExprOp) {
622+ return append(tokensOf(tokensOfExpr(dictTokensOf))(v.value0))(defer(function (v1) {
623+ return tokensOf(tokensOfNonEmptyArray(tokensOfTuple1(tokensOfExpr(dictTokensOf))))(v.value1);
624+ }));
625+ };
626+ if (v instanceof PureScript_CST_Types.ExprOpName) {
627+ return tokensOf1(v.value0);
628+ };
629+ if (v instanceof PureScript_CST_Types.ExprNegate) {
630+ return PureScript_CST_Range_TokenList.cons(v.value0)(tokensOf(tokensOfExpr(dictTokensOf))(v.value1));
631+ };
632+ if (v instanceof PureScript_CST_Types.ExprRecordAccessor) {
633+ return append(tokensOf(tokensOfExpr(dictTokensOf))(v.value0.expr))(defer(function (v1) {
634+ return PureScript_CST_Range_TokenList.cons(v.value0.dot)(tokensOf5(v.value0.path));
635+ }));
636+ };
637+ if (v instanceof PureScript_CST_Types.ExprRecordUpdate) {
638+ return append(tokensOf(tokensOfExpr(dictTokensOf))(v.value0))(defer(function (v1) {
639+ return tokensOf(tokensOfWrapped(tokensOfSeparated(tokensOfRecordUpdate(dictTokensOf))))(v.value1);
640+ }));
641+ };
642+ if (v instanceof PureScript_CST_Types.ExprApp) {
643+ return append(tokensOf(tokensOfExpr(dictTokensOf))(v.value0))(defer(function (v1) {
644+ return tokensOf(tokensOfNonEmptyArray(tokensOfAppSpine1(tokensOfExpr(dictTokensOf))))(v.value1);
645+ }));
646+ };
647+ if (v instanceof PureScript_CST_Types.ExprLambda) {
648+ return PureScript_CST_Range_TokenList.cons(v.value0.symbol)(defer(function (v1) {
649+ return append(tokensOf10(v.value0.binders))(append(PureScript_CST_Range_TokenList.singleton(v.value0.arrow))(tokensOf(tokensOfExpr(dictTokensOf))(v.value0.body)));
650+ }));
651+ };
652+ if (v instanceof PureScript_CST_Types.ExprIf) {
653+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
654+ return append(tokensOf(tokensOfExpr(dictTokensOf))(v.value0.cond))(append(PureScript_CST_Range_TokenList.singleton(v.value0.then))(append(tokensOf(tokensOfExpr(dictTokensOf))(v["value0"]["true"]))(append(PureScript_CST_Range_TokenList.singleton(v["value0"]["else"]))(tokensOf(tokensOfExpr(dictTokensOf))(v["value0"]["false"])))));
655+ }));
656+ };
657+ if (v instanceof PureScript_CST_Types.ExprCase) {
658+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
659+ return append(tokensOf(tokensOfSeparated(tokensOfExpr(dictTokensOf)))(v.value0.head))(append(PureScript_CST_Range_TokenList.singleton(v.value0.of))(tokensOf(tokensOfNonEmptyArray(tokensOfTuple2(tokensOfGuarded(dictTokensOf))))(v.value0.branches)));
660+ }));
661+ };
662+ if (v instanceof PureScript_CST_Types.ExprLet) {
663+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
664+ return append(tokensOf(tokensOfNonEmptyArray(tokensOfLetBinding(dictTokensOf)))(v.value0.bindings))(append(PureScript_CST_Range_TokenList.singleton(v["value0"]["in"]))(tokensOf(tokensOfExpr(dictTokensOf))(v.value0.body)));
665+ }));
666+ };
667+ if (v instanceof PureScript_CST_Types.ExprDo) {
668+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
669+ return tokensOf(tokensOfNonEmptyArray(tokensOfDoStatement(dictTokensOf)))(v.value0.statements);
670+ }));
671+ };
672+ if (v instanceof PureScript_CST_Types.ExprAdo) {
673+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
674+ return append(tokensOf(tokensOfArray(tokensOfDoStatement(dictTokensOf)))(v.value0.statements))(append(PureScript_CST_Range_TokenList.singleton(v["value0"]["in"]))(tokensOf(tokensOfExpr(dictTokensOf))(v.value0.result)));
675+ }));
676+ };
677+ if (v instanceof PureScript_CST_Types.ExprError) {
678+ return tokensOf11(v.value0);
679+ };
680+ throw new Error("Failed pattern match at PureScript.CST.Range (line 773, column 14 - line 844, column 17): " + [ v.constructor.name ]);
681+ }
682+ };
683+};
684+var tokensOfDoStatement = function (dictTokensOf) {
685+ var tokensOf9 = tokensOf(tokensOfBinder(dictTokensOf));
686+ var tokensOf10 = tokensOf(dictTokensOf);
687+ return {
688+ tokensOf: function (v) {
689+ if (v instanceof PureScript_CST_Types.DoLet) {
690+ return PureScript_CST_Range_TokenList.cons(v.value0)(defer(function (v1) {
691+ return tokensOf(tokensOfNonEmptyArray(tokensOfLetBinding(dictTokensOf)))(v.value1);
692+ }));
693+ };
694+ if (v instanceof PureScript_CST_Types.DoDiscard) {
695+ return tokensOf(tokensOfExpr(dictTokensOf))(v.value0);
696+ };
697+ if (v instanceof PureScript_CST_Types.DoBind) {
698+ return append(tokensOf9(v.value0))(defer(function (v1) {
699+ return PureScript_CST_Range_TokenList.cons(v.value1)(tokensOf(tokensOfExpr(dictTokensOf))(v.value2));
700+ }));
701+ };
702+ if (v instanceof PureScript_CST_Types.DoError) {
703+ return tokensOf10(v.value0);
704+ };
705+ throw new Error("Failed pattern match at PureScript.CST.Range (line 885, column 14 - line 893, column 17): " + [ v.constructor.name ]);
706+ }
707+ };
708+};
709+var tokensOfInstanceBinding = function (dictTokensOf) {
710+ var tokensOf9 = tokensOf(tokensOfLabeled1(tokensOfType(dictTokensOf)));
711+ var tokensOf10 = tokensOf(tokensOfArray(tokensOfBinder(dictTokensOf)));
712+ var tokensOf11 = tokensOf(tokensOfGuarded(dictTokensOf));
713+ return {
714+ tokensOf: function (v) {
715+ if (v instanceof PureScript_CST_Types.InstanceBindingSignature) {
716+ return tokensOf9(v.value0);
717+ };
718+ if (v instanceof PureScript_CST_Types.InstanceBindingName) {
719+ return append(tokensOf2(v.value0.name))(append(tokensOf10(v.value0.binders))(tokensOf11(v.value0.guarded)));
720+ };
721+ throw new Error("Failed pattern match at PureScript.CST.Range (line 681, column 14 - line 687, column 28): " + [ v.constructor.name ]);
722+ }
723+ };
724+};
725+var tokensOfInstance = function (dictTokensOf) {
726+ var tokensOfType1 = tokensOfType(dictTokensOf);
727+ var tokensOf9 = tokensOf(tokensOfOneOrDelimited(tokensOfType1));
728+ var tokensOf10 = tokensOf(tokensOfArray(tokensOfType1));
729+ var tokensOf11 = tokensOf(tokensOfNonEmptyArray(tokensOfInstanceBinding(dictTokensOf)));
730+ return {
731+ tokensOf: function (v) {
732+ return PureScript_CST_Range_TokenList.cons(v.head.keyword)(defer(function (v1) {
733+ return append(foldMap1(function (v2) {
734+ return append(tokensOf2(v2.value0))(PureScript_CST_Range_TokenList.singleton(v2.value1));
735+ })(v.head.name))(append(foldMap1(function (v2) {
736+ return append(tokensOf9(v2.value0))(PureScript_CST_Range_TokenList.singleton(v2.value1));
737+ })(v.head.constraints))(append(tokensOf1(v.head.className))(append(tokensOf10(v.head.types))(foldMap1(function (v2) {
738+ return PureScript_CST_Range_TokenList.cons(v2.value0)(tokensOf11(v2.value1));
739+ })(v.body)))));
740+ }));
741+ }
742+ };
743+};
744+var tokensOfDecl = function (dictTokensOf) {
745+ var tokensOf9 = tokensOf(tokensOfArray(tokensOfTypeVarBinding1(dictTokensOf)));
746+ var tokensOf10 = tokensOf(tokensOfSeparated(tokensOfDataCtor(dictTokensOf)));
747+ var tokensOfType1 = tokensOfType(dictTokensOf);
748+ var tokensOf11 = tokensOf(tokensOfType1);
749+ var tokensOf12 = tokensOf(tokensOfOneOrDelimited(tokensOfType1));
750+ var tokensOfLabeled2 = tokensOfLabeled1(tokensOfType1);
751+ var tokensOf13 = tokensOf(tokensOfNonEmptyArray(tokensOfLabeled2));
752+ var tokensOf14 = tokensOf(tokensOfSeparated(tokensOfInstance(dictTokensOf)));
753+ var tokensOf15 = tokensOf(tokensOfArray(tokensOfType1));
754+ var tokensOf16 = tokensOf(tokensOfLabeled2);
755+ var tokensOf17 = tokensOf(tokensOfArray(tokensOfBinder(dictTokensOf)));
756+ var tokensOf18 = tokensOf(tokensOfGuarded(dictTokensOf));
757+ var tokensOf19 = tokensOf(tokensOfForeign(dictTokensOf));
758+ var tokensOf20 = tokensOf(dictTokensOf);
759+ return {
760+ tokensOf: function (v) {
761+ if (v instanceof PureScript_CST_Types.DeclData) {
762+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
763+ return append(tokensOf2(v.value0.name))(append(tokensOf9(v.value0.vars))(foldMap1(function (v2) {
764+ return PureScript_CST_Range_TokenList.cons(v2.value0)(tokensOf10(v2.value1));
765+ })(v.value1)));
766+ }));
767+ };
768+ if (v instanceof PureScript_CST_Types.DeclType) {
769+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
770+ return append(tokensOf2(v.value0.name))(append(tokensOf9(v.value0.vars))(append(PureScript_CST_Range_TokenList.singleton(v.value1))(tokensOf11(v.value2))));
771+ }));
772+ };
773+ if (v instanceof PureScript_CST_Types.DeclNewtype) {
774+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
775+ return append(tokensOf2(v.value0.name))(append(tokensOf9(v.value0.vars))(append(PureScript_CST_Range_TokenList.singleton(v.value1))(append(tokensOf2(v.value2))(tokensOf11(v.value3)))));
776+ }));
777+ };
778+ if (v instanceof PureScript_CST_Types.DeclClass) {
779+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword)(defer(function (v1) {
780+ return append(foldMap1(function (v2) {
781+ return append(tokensOf12(v2.value0))(PureScript_CST_Range_TokenList.singleton(v2.value1));
782+ })(v["value0"]["super"]))(append(tokensOf2(v.value0.name))(append(tokensOf9(v.value0.vars))(append(foldMap1(function (v2) {
783+ return PureScript_CST_Range_TokenList.cons(v2.value0)(tokensOf6(v2.value1));
784+ })(v.value0.fundeps))(foldMap1(function (v2) {
785+ return PureScript_CST_Range_TokenList.cons(v2.value0)(tokensOf13(v2.value1));
786+ })(v.value1)))));
787+ }));
788+ };
789+ if (v instanceof PureScript_CST_Types.DeclInstanceChain) {
790+ return tokensOf14(v.value0);
791+ };
792+ if (v instanceof PureScript_CST_Types.DeclDerive) {
793+ return PureScript_CST_Range_TokenList.cons(v.value0)(defer(function (v1) {
794+ return append(foldMap1(PureScript_CST_Range_TokenList.singleton)(v.value1))(append(PureScript_CST_Range_TokenList.singleton(v.value2.keyword))(append(foldMap1(function (v2) {
795+ return append(tokensOf2(v2.value0))(PureScript_CST_Range_TokenList.singleton(v2.value1));
796+ })(v.value2.name))(append(foldMap1(function (v2) {
797+ return append(tokensOf12(v2.value0))(PureScript_CST_Range_TokenList.singleton(v2.value1));
798+ })(v.value2.constraints))(append(tokensOf1(v.value2.className))(tokensOf15(v.value2.types))))));
799+ }));
800+ };
801+ if (v instanceof PureScript_CST_Types.DeclKindSignature) {
802+ return PureScript_CST_Range_TokenList.cons(v.value0)(defer(function (v1) {
803+ return tokensOf16(v.value1);
804+ }));
805+ };
806+ if (v instanceof PureScript_CST_Types.DeclSignature) {
807+ return tokensOf16(v.value0);
808+ };
809+ if (v instanceof PureScript_CST_Types.DeclValue) {
810+ return append(tokensOf2(v.value0.name))(defer(function (v1) {
811+ return append(tokensOf17(v.value0.binders))(tokensOf18(v.value0.guarded));
812+ }));
813+ };
814+ if (v instanceof PureScript_CST_Types.DeclFixity) {
815+ return PureScript_CST_Range_TokenList.cons(v.value0.keyword.value0)(defer(function (v1) {
816+ return PureScript_CST_Range_TokenList.cons(v.value0.prec.value0)(tokensOf3(v.value0.operator));
817+ }));
818+ };
819+ if (v instanceof PureScript_CST_Types.DeclForeign) {
820+ return PureScript_CST_Range_TokenList.cons(v.value0)(defer(function (v1) {
821+ return PureScript_CST_Range_TokenList.cons(v.value1)(tokensOf19(v.value2));
822+ }));
823+ };
824+ if (v instanceof PureScript_CST_Types.DeclRole) {
825+ return PureScript_CST_Range_TokenList.cons(v.value0)(defer(function (v1) {
826+ return append(PureScript_CST_Range_TokenList.singleton(v.value1))(append(tokensOf2(v.value2))(foldMap2(function (v2) {
827+ return PureScript_CST_Range_TokenList.singleton(v2.value0);
828+ })(v.value3)));
829+ }));
830+ };
831+ if (v instanceof PureScript_CST_Types.DeclError) {
832+ return tokensOf20(v.value0);
833+ };
834+ throw new Error("Failed pattern match at PureScript.CST.Range (line 494, column 14 - line 550, column 17): " + [ v.constructor.name ]);
835+ }
836+ };
837+};
838+var tokensOfModule = function (dictTokensOf) {
839+ var tokensOf9 = tokensOf(tokensOfWrapped(tokensOfSeparated(tokensOfExport(dictTokensOf))));
840+ var tokensOf10 = tokensOf(tokensOfImportDecl(dictTokensOf));
841+ var tokensOf11 = tokensOf(tokensOfDecl(dictTokensOf));
842+ return {
843+ tokensOf: function (v) {
844+ return PureScript_CST_Range_TokenList.cons(v.header.keyword)(append(tokensOf2(v.header.name))(append(defer(function (v1) {
845+ return foldMap1(tokensOf9)(v.header.exports);
846+ }))(append(PureScript_CST_Range_TokenList.singleton(v.header.where))(append(defer(function (v1) {
847+ return foldMap(tokensOf10)(v.header.imports);
848+ }))(defer(function (v1) {
849+ return foldMap(tokensOf11)(v.body.decls);
850+ }))))));
851+ }
852+ };
853+};
854+var rangeOfWrapped = {
855+ rangeOf: function (v) {
856+ return {
857+ start: v.open.range.start,
858+ end: v.close.range.end
859+ };
860+ }
861+};
862+var rangeOfVoid = {
863+ rangeOf: Data_Void.absurd
864+};
865+var rangeOfRecoveredError = {
866+ rangeOf: function (v) {
867+ var v1 = Data_Array_NonEmpty.fromArray(v.tokens);
868+ if (v1 instanceof Data_Maybe.Just) {
869+ return {
870+ start: (Data_Array_NonEmpty.head(v1.value0)).range.start,
871+ end: (Data_Array_NonEmpty.last(v1.value0)).range.end
872+ };
873+ };
874+ if (v1 instanceof Data_Maybe.Nothing) {
875+ return {
876+ start: v.position,
877+ end: v.position
878+ };
879+ };
880+ throw new Error("Failed pattern match at PureScript.CST.Range (line 49, column 5 - line 57, column 10): " + [ v1.constructor.name ]);
881+ }
882+};
883+var rangeOfQualifiedName = {
884+ rangeOf: function (v) {
885+ return v.token.range;
886+ }
887+};
888+var rangeOfName = {
889+ rangeOf: function (v) {
890+ return v.token.range;
891+ }
892+};
893+var rangeOfModule = {
894+ rangeOf: function (v) {
895+ return {
896+ start: v.header.keyword.range.start,
897+ end: v.body.end
898+ };
899+ }
900+};
901+var rangeOf = function (dict) {
902+ return dict.rangeOf;
903+};
904+var rangeOf1 = /* #__PURE__ */ rangeOf(rangeOfName);
905+var rangeOf2 = /* #__PURE__ */ rangeOf(rangeOfWrapped);
906+var rangeOf3 = /* #__PURE__ */ rangeOf(rangeOfQualifiedName);
907+var rangeOfClassFundep = {
908+ rangeOf: function (v) {
909+ if (v instanceof PureScript_CST_Types.FundepDetermined) {
910+ return {
911+ start: v.value0.range.start,
912+ end: (rangeOf1(Data_Array_NonEmpty.last(v.value1))).end
913+ };
914+ };
915+ if (v instanceof PureScript_CST_Types.FundepDetermines) {
916+ return {
917+ start: (rangeOf1(Data_Array_NonEmpty.head(v.value0))).start,
918+ end: (rangeOf1(Data_Array_NonEmpty.last(v.value2))).end
919+ };
920+ };
921+ throw new Error("Failed pattern match at PureScript.CST.Range (line 553, column 13 - line 561, column 8): " + [ v.constructor.name ]);
922+ }
923+};
924+var rangeOfDataMembers = {
925+ rangeOf: function (v) {
926+ if (v instanceof PureScript_CST_Types.DataAll) {
927+ return v.value0.range;
928+ };
929+ if (v instanceof PureScript_CST_Types.DataEnumerated) {
930+ return rangeOf2(v.value0);
931+ };
932+ throw new Error("Failed pattern match at PureScript.CST.Range (line 322, column 13 - line 326, column 16): " + [ v.constructor.name ]);
933+ }
934+};
935+var rangeOf4 = /* #__PURE__ */ rangeOf(rangeOfDataMembers);
936+var rangeOfExport = function (dictRangeOf) {
937+ var rangeOf9 = rangeOf(dictRangeOf);
938+ return {
939+ rangeOf: function (v) {
940+ if (v instanceof PureScript_CST_Types.ExportValue) {
941+ return rangeOf1(v.value0);
942+ };
943+ if (v instanceof PureScript_CST_Types.ExportOp) {
944+ return rangeOf1(v.value0);
945+ };
946+ if (v instanceof PureScript_CST_Types.ExportType) {
947+ if (v.value1 instanceof Data_Maybe.Nothing) {
948+ return rangeOf1(v.value0);
949+ };
950+ if (v.value1 instanceof Data_Maybe.Just) {
951+ return {
952+ start: (rangeOf1(v.value0)).start,
953+ end: (rangeOf4(v.value1.value0)).end
954+ };
955+ };
956+ throw new Error("Failed pattern match at PureScript.CST.Range (line 282, column 7 - line 288, column 12): " + [ v.value1.constructor.name ]);
957+ };
958+ if (v instanceof PureScript_CST_Types.ExportTypeOp) {
959+ return {
960+ start: v.value0.range.start,
961+ end: (rangeOf1(v.value1)).end
962+ };
963+ };
964+ if (v instanceof PureScript_CST_Types.ExportClass) {
965+ return {
966+ start: v.value0.range.start,
967+ end: (rangeOf1(v.value1)).end
968+ };
969+ };
970+ if (v instanceof PureScript_CST_Types.ExportModule) {
971+ return {
972+ start: v.value0.range.start,
973+ end: (rangeOf1(v.value1)).end
974+ };
975+ };
976+ if (v instanceof PureScript_CST_Types.ExportError) {
977+ return rangeOf9(v.value0);
978+ };
979+ throw new Error("Failed pattern match at PureScript.CST.Range (line 276, column 13 - line 302, column 16): " + [ v.constructor.name ]);
980+ }
981+ };
982+};
983+var rangeOfFixityOp = {
984+ rangeOf: function (v) {
985+ if (v instanceof PureScript_CST_Types.FixityValue) {
986+ return {
987+ start: (rangeOf3(v.value0)).start,
988+ end: (rangeOf1(v.value2)).end
989+ };
990+ };
991+ if (v instanceof PureScript_CST_Types.FixityType) {
992+ return {
993+ start: v.value0.range.start,
994+ end: (rangeOf1(v.value3)).end
995+ };
996+ };
997+ throw new Error("Failed pattern match at PureScript.CST.Range (line 632, column 13 - line 640, column 8): " + [ v.constructor.name ]);
998+ }
999+};
1000+var rangeOf5 = /* #__PURE__ */ rangeOf(rangeOfFixityOp);
1001+var rangeOfImport = function (dictRangeOf) {
1002+ var rangeOf9 = rangeOf(dictRangeOf);
1003+ return {
1004+ rangeOf: function (v) {
1005+ if (v instanceof PureScript_CST_Types.ImportValue) {
1006+ return rangeOf1(v.value0);
1007+ };
1008+ if (v instanceof PureScript_CST_Types.ImportOp) {
1009+ return rangeOf1(v.value0);
1010+ };
1011+ if (v instanceof PureScript_CST_Types.ImportType) {
1012+ if (v.value1 instanceof Data_Maybe.Nothing) {
1013+ return rangeOf1(v.value0);
1014+ };
1015+ if (v.value1 instanceof Data_Maybe.Just) {
1016+ return {
1017+ start: (rangeOf1(v.value0)).start,
1018+ end: (rangeOf4(v.value1.value0)).end
1019+ };
1020+ };
1021+ throw new Error("Failed pattern match at PureScript.CST.Range (line 365, column 7 - line 371, column 12): " + [ v.value1.constructor.name ]);
1022+ };
1023+ if (v instanceof PureScript_CST_Types.ImportTypeOp) {
1024+ return {
1025+ start: v.value0.range.start,
1026+ end: (rangeOf1(v.value1)).end
1027+ };
1028+ };
1029+ if (v instanceof PureScript_CST_Types.ImportClass) {
1030+ return {
1031+ start: v.value0.range.start,
1032+ end: (rangeOf1(v.value1)).end
1033+ };
1034+ };
1035+ if (v instanceof PureScript_CST_Types.ImportError) {
1036+ return rangeOf9(v.value0);
1037+ };
1038+ throw new Error("Failed pattern match at PureScript.CST.Range (line 359, column 13 - line 381, column 16): " + [ v.constructor.name ]);
1039+ }
1040+ };
1041+};
1042+var rangeOfImportDecl = {
1043+ rangeOf: function (v) {
1044+ var v1 = (function () {
1045+ if (v.qualified instanceof Data_Maybe.Nothing) {
1046+ if (v.names instanceof Data_Maybe.Nothing) {
1047+ return rangeOf1(v.module);
1048+ };
1049+ if (v.names instanceof Data_Maybe.Just) {
1050+ return rangeOf2(v.names.value0.value1);
1051+ };
1052+ throw new Error("Failed pattern match at PureScript.CST.Range (line 340, column 11 - line 344, column 30): " + [ v.names.constructor.name ]);
1053+ };
1054+ if (v.qualified instanceof Data_Maybe.Just) {
1055+ return rangeOf1(v.qualified.value0.value1);
1056+ };
1057+ throw new Error("Failed pattern match at PureScript.CST.Range (line 338, column 17 - line 346, column 20): " + [ v.qualified.constructor.name ]);
1058+ })();
1059+ return {
1060+ start: v.keyword.range.start,
1061+ end: v1.end
1062+ };
1063+ }
1064+};
1065+var rangeOfLabeled = function (dictRangeOf) {
1066+ var rangeOf9 = rangeOf(dictRangeOf);
1067+ return function (dictRangeOf1) {
1068+ var rangeOf10 = rangeOf(dictRangeOf1);
1069+ return {
1070+ rangeOf: function (v) {
1071+ return {
1072+ start: (rangeOf9(v.label)).start,
1073+ end: (rangeOf10(v.value)).end
1074+ };
1075+ }
1076+ };
1077+ };
1078+};
1079+var rangeOfLabeled1 = /* #__PURE__ */ rangeOfLabeled(rangeOfName);
1080+var rangeOfOneOrDelimited = function (dictRangeOf) {
1081+ var rangeOf9 = rangeOf(dictRangeOf);
1082+ return {
1083+ rangeOf: function (v) {
1084+ if (v instanceof PureScript_CST_Types.One) {
1085+ return rangeOf9(v.value0);
1086+ };
1087+ if (v instanceof PureScript_CST_Types.Many) {
1088+ return rangeOf2(v.value0);
1089+ };
1090+ throw new Error("Failed pattern match at PureScript.CST.Range (line 143, column 13 - line 145, column 26): " + [ v.constructor.name ]);
1091+ }
1092+ };
1093+};
1094+var rangeOfPrefixed = function (dictRangeOf) {
1095+ var rangeOf9 = rangeOf(dictRangeOf);
1096+ return {
1097+ rangeOf: function (v) {
1098+ if (v.prefix instanceof Data_Maybe.Just) {
1099+ return {
1100+ start: v.prefix.value0.range.start,
1101+ end: (rangeOf9(v.value)).end
1102+ };
1103+ };
1104+ if (v.prefix instanceof Data_Maybe.Nothing) {
1105+ return rangeOf9(v.value);
1106+ };
1107+ throw new Error("Failed pattern match at PureScript.CST.Range (line 126, column 5 - line 132, column 22): " + [ v.prefix.constructor.name ]);
1108+ }
1109+ };
1110+};
1111+var rangeOfSeparated = function (dictRangeOf) {
1112+ var rangeOf9 = rangeOf(dictRangeOf);
1113+ return {
1114+ rangeOf: function (v) {
1115+ var v1 = Data_Array.last(v.tail);
1116+ if (v1 instanceof Data_Maybe.Just) {
1117+ return {
1118+ start: (rangeOf9(v.head)).start,
1119+ end: (rangeOf9(v1.value0.value1)).end
1120+ };
1121+ };
1122+ if (v1 instanceof Data_Maybe.Nothing) {
1123+ return rangeOf9(v.head);
1124+ };
1125+ throw new Error("Failed pattern match at PureScript.CST.Range (line 101, column 5 - line 107, column 21): " + [ v1.constructor.name ]);
1126+ }
1127+ };
1128+};
1129+var rangeOf6 = /* #__PURE__ */ rangeOf(/* #__PURE__ */ rangeOfSeparated(rangeOfName));
1130+var rangeOf7 = /* #__PURE__ */ rangeOf(/* #__PURE__ */ rangeOfSeparated(rangeOfClassFundep));
1131+var rangeOfType = function (dictRangeOf) {
1132+ var rangeOf9 = rangeOf(dictRangeOf);
1133+ return {
1134+ rangeOf: function (v) {
1135+ if (v instanceof PureScript_CST_Types.TypeVar) {
1136+ return rangeOf1(v.value0);
1137+ };
1138+ if (v instanceof PureScript_CST_Types.TypeConstructor) {
1139+ return rangeOf3(v.value0);
1140+ };
1141+ if (v instanceof PureScript_CST_Types.TypeWildcard) {
1142+ return v.value0.range;
1143+ };
1144+ if (v instanceof PureScript_CST_Types.TypeHole) {
1145+ return rangeOf1(v.value0);
1146+ };
1147+ if (v instanceof PureScript_CST_Types.TypeString) {
1148+ return v.value0.range;
1149+ };
1150+ if (v instanceof PureScript_CST_Types.TypeInt) {
1151+ if (v.value0 instanceof Data_Maybe.Nothing) {
1152+ return v.value1.range;
1153+ };
1154+ if (v.value0 instanceof Data_Maybe.Just) {
1155+ return {
1156+ start: v.value0.value0.range.start,
1157+ end: v.value1.range.end
1158+ };
1159+ };
1160+ throw new Error("Failed pattern match at PureScript.CST.Range (line 165, column 7 - line 171, column 12): " + [ v.value0.constructor.name ]);
1161+ };
1162+ if (v instanceof PureScript_CST_Types.TypeRow) {
1163+ return rangeOf2(v.value0);
1164+ };
1165+ if (v instanceof PureScript_CST_Types.TypeRecord) {
1166+ return rangeOf2(v.value0);
1167+ };
1168+ if (v instanceof PureScript_CST_Types.TypeForall) {
1169+ return {
1170+ start: v.value0.range.start,
1171+ end: (rangeOf(rangeOfType(dictRangeOf))(v.value3)).end
1172+ };
1173+ };
1174+ if (v instanceof PureScript_CST_Types.TypeKinded) {
1175+ return {
1176+ start: (rangeOf(rangeOfType(dictRangeOf))(v.value0)).start,
1177+ end: (rangeOf(rangeOfType(dictRangeOf))(v.value2)).end
1178+ };
1179+ };
1180+ if (v instanceof PureScript_CST_Types.TypeApp) {
1181+ return {
1182+ start: (rangeOf(rangeOfType(dictRangeOf))(v.value0)).start,
1183+ end: (rangeOf(rangeOfType(dictRangeOf))(Data_Array_NonEmpty.last(v.value1))).end
1184+ };
1185+ };
1186+ if (v instanceof PureScript_CST_Types.TypeOp) {
1187+ return {
1188+ start: (rangeOf(rangeOfType(dictRangeOf))(v.value0)).start,
1189+ end: (rangeOf(rangeOfType(dictRangeOf))(Data_Tuple.snd(Data_Array_NonEmpty.last(v.value1)))).end
1190+ };
1191+ };
1192+ if (v instanceof PureScript_CST_Types.TypeOpName) {
1193+ return rangeOf3(v.value0);
1194+ };
1195+ if (v instanceof PureScript_CST_Types.TypeArrow) {
1196+ return {
1197+ start: (rangeOf(rangeOfType(dictRangeOf))(v.value0)).start,
1198+ end: (rangeOf(rangeOfType(dictRangeOf))(v.value2)).end
1199+ };
1200+ };
1201+ if (v instanceof PureScript_CST_Types.TypeArrowName) {
1202+ return v.value0.range;
1203+ };
1204+ if (v instanceof PureScript_CST_Types.TypeConstrained) {
1205+ return {
1206+ start: (rangeOf(rangeOfType(dictRangeOf))(v.value0)).start,
1207+ end: (rangeOf(rangeOfType(dictRangeOf))(v.value2)).end
1208+ };
1209+ };
1210+ if (v instanceof PureScript_CST_Types.TypeParens) {
1211+ return rangeOf2(v.value0);
1212+ };
1213+ if (v instanceof PureScript_CST_Types["TypeError"]) {
1214+ return rangeOf9(v.value0);
1215+ };
1216+ throw new Error("Failed pattern match at PureScript.CST.Range (line 153, column 13 - line 207, column 16): " + [ v.constructor.name ]);
1217+ }
1218+ };
1219+};
1220+var rangeOfAppSpine = function (dictRangeOf) {
1221+ var rangeOf9 = rangeOf(rangeOfType(dictRangeOf));
1222+ return function (dictRangeOf1) {
1223+ var rangeOf10 = rangeOf(dictRangeOf1);
1224+ return {
1225+ rangeOf: function (v) {
1226+ if (v instanceof PureScript_CST_Types.AppType) {
1227+ return {
1228+ start: v.value0.range.start,
1229+ end: (rangeOf9(v.value1)).end
1230+ };
1231+ };
1232+ if (v instanceof PureScript_CST_Types.AppTerm) {
1233+ return rangeOf10(v.value0);
1234+ };
1235+ throw new Error("Failed pattern match at PureScript.CST.Range (line 847, column 13 - line 853, column 16): " + [ v.constructor.name ]);
1236+ }
1237+ };
1238+ };
1239+};
1240+var rangeOfBinder = function (dictRangeOf) {
1241+ var rangeOf9 = rangeOf(rangeOfType(dictRangeOf));
1242+ var rangeOf10 = rangeOf(dictRangeOf);
1243+ return {
1244+ rangeOf: function (v) {
1245+ if (v instanceof PureScript_CST_Types.BinderWildcard) {
1246+ return v.value0.range;
1247+ };
1248+ if (v instanceof PureScript_CST_Types.BinderVar) {
1249+ return rangeOf1(v.value0);
1250+ };
1251+ if (v instanceof PureScript_CST_Types.BinderNamed) {
1252+ return {
1253+ start: (rangeOf1(v.value0)).start,
1254+ end: (rangeOf(rangeOfBinder(dictRangeOf))(v.value2)).end
1255+ };
1256+ };
1257+ if (v instanceof PureScript_CST_Types.BinderConstructor) {
1258+ var v1 = Data_Array.last(v.value1);
1259+ if (v1 instanceof Data_Maybe.Nothing) {
1260+ return rangeOf3(v.value0);
1261+ };
1262+ if (v1 instanceof Data_Maybe.Just) {
1263+ return {
1264+ start: (rangeOf3(v.value0)).start,
1265+ end: (rangeOf(rangeOfBinder(dictRangeOf))(v1.value0)).end
1266+ };
1267+ };
1268+ throw new Error("Failed pattern match at PureScript.CST.Range (line 932, column 7 - line 938, column 12): " + [ v1.constructor.name ]);
1269+ };
1270+ if (v instanceof PureScript_CST_Types.BinderBoolean) {
1271+ return v.value0.range;
1272+ };
1273+ if (v instanceof PureScript_CST_Types.BinderChar) {
1274+ return v.value0.range;
1275+ };
1276+ if (v instanceof PureScript_CST_Types.BinderString) {
1277+ return v.value0.range;
1278+ };
1279+ if (v instanceof PureScript_CST_Types.BinderInt) {
1280+ if (v.value0 instanceof Data_Maybe.Nothing) {
1281+ return v.value1.range;
1282+ };
1283+ if (v.value0 instanceof Data_Maybe.Just) {
1284+ return {
1285+ start: v.value0.value0.range.start,
1286+ end: v.value1.range.end
1287+ };
1288+ };
1289+ throw new Error("Failed pattern match at PureScript.CST.Range (line 946, column 7 - line 952, column 12): " + [ v.value0.constructor.name ]);
1290+ };
1291+ if (v instanceof PureScript_CST_Types.BinderNumber) {
1292+ if (v.value0 instanceof Data_Maybe.Nothing) {
1293+ return v.value1.range;
1294+ };
1295+ if (v.value0 instanceof Data_Maybe.Just) {
1296+ return {
1297+ start: v.value0.value0.range.start,
1298+ end: v.value1.range.end
1299+ };
1300+ };
1301+ throw new Error("Failed pattern match at PureScript.CST.Range (line 954, column 7 - line 960, column 12): " + [ v.value0.constructor.name ]);
1302+ };
1303+ if (v instanceof PureScript_CST_Types.BinderArray) {
1304+ return rangeOf2(v.value0);
1305+ };
1306+ if (v instanceof PureScript_CST_Types.BinderRecord) {
1307+ return rangeOf2(v.value0);
1308+ };
1309+ if (v instanceof PureScript_CST_Types.BinderParens) {
1310+ return rangeOf2(v.value0);
1311+ };
1312+ if (v instanceof PureScript_CST_Types.BinderTyped) {
1313+ return {
1314+ start: (rangeOf(rangeOfBinder(dictRangeOf))(v.value0)).start,
1315+ end: (rangeOf9(v.value2)).end
1316+ };
1317+ };
1318+ if (v instanceof PureScript_CST_Types.BinderOp) {
1319+ return {
1320+ start: (rangeOf(rangeOfBinder(dictRangeOf))(v.value0)).start,
1321+ end: (rangeOf(rangeOfBinder(dictRangeOf))(Data_Tuple.snd(Data_Array_NonEmpty.last(v.value1)))).end
1322+ };
1323+ };
1324+ if (v instanceof PureScript_CST_Types.BinderError) {
1325+ return rangeOf10(v.value0);
1326+ };
1327+ throw new Error("Failed pattern match at PureScript.CST.Range (line 922, column 13 - line 976, column 16): " + [ v.constructor.name ]);
1328+ }
1329+ };
1330+};
1331+var rangeOfDataCtor = function (dictRangeOf) {
1332+ var rangeOf9 = rangeOf(rangeOfType(dictRangeOf));
1333+ return {
1334+ rangeOf: function (v) {
1335+ var v1 = (function () {
1336+ var v2 = Data_Array.last(v.fields);
1337+ if (v2 instanceof Data_Maybe.Nothing) {
1338+ return rangeOf1(v.name);
1339+ };
1340+ if (v2 instanceof Data_Maybe.Just) {
1341+ return rangeOf9(v2.value0);
1342+ };
1343+ throw new Error("Failed pattern match at PureScript.CST.Range (line 401, column 17 - line 405, column 21): " + [ v2.constructor.name ]);
1344+ })();
1345+ return {
1346+ start: (rangeOf1(v.name)).start,
1347+ end: v1.end
1348+ };
1349+ }
1350+ };
1351+};
1352+var rangeOfForeign = function (dictRangeOf) {
1353+ var rangeOf9 = rangeOf(rangeOfLabeled1(rangeOfType(dictRangeOf)));
1354+ return {
1355+ rangeOf: function (v) {
1356+ if (v instanceof PureScript_CST_Types.ForeignValue) {
1357+ return rangeOf9(v.value0);
1358+ };
1359+ if (v instanceof PureScript_CST_Types.ForeignData) {
1360+ return {
1361+ start: v.value0.range.start,
1362+ end: (rangeOf9(v.value1)).end
1363+ };
1364+ };
1365+ if (v instanceof PureScript_CST_Types.ForeignKind) {
1366+ return {
1367+ start: v.value0.range.start,
1368+ end: (rangeOf1(v.value1)).end
1369+ };
1370+ };
1371+ throw new Error("Failed pattern match at PureScript.CST.Range (line 650, column 13 - line 660, column 8): " + [ v.constructor.name ]);
1372+ }
1373+ };
1374+};
1375+var rangeOfTypeVarBinding = function (dictRangeOf) {
1376+ var rangeOf9 = rangeOf(dictRangeOf);
1377+ return {
1378+ rangeOf: function (v) {
1379+ if (v instanceof PureScript_CST_Types.TypeVarKinded) {
1380+ return rangeOf2(v.value0);
1381+ };
1382+ if (v instanceof PureScript_CST_Types.TypeVarName) {
1383+ return rangeOf9(v.value0);
1384+ };
1385+ throw new Error("Failed pattern match at PureScript.CST.Range (line 262, column 13 - line 266, column 16): " + [ v.constructor.name ]);
1386+ }
1387+ };
1388+};
1389+var rangeOf8 = /* #__PURE__ */ rangeOf(/* #__PURE__ */ rangeOfTypeVarBinding(rangeOfName));
1390+var rangeOfWhere = function (dictRangeOf) {
1391+ return {
1392+ rangeOf: function (v) {
1393+ if (v.bindings instanceof Data_Maybe.Nothing) {
1394+ return rangeOf(rangeOfExpr(dictRangeOf))(v.expr);
1395+ };
1396+ if (v.bindings instanceof Data_Maybe.Just) {
1397+ return {
1398+ start: (rangeOf(rangeOfExpr(dictRangeOf))(v.expr)).start,
1399+ end: (rangeOf(rangeOfLetBinding(dictRangeOf))(Data_Array_NonEmpty.last(v.bindings.value0.value1))).end
1400+ };
1401+ };
1402+ throw new Error("Failed pattern match at PureScript.CST.Range (line 1019, column 40 - line 1025, column 8): " + [ v.bindings.constructor.name ]);
1403+ }
1404+ };
1405+};
1406+var rangeOfLetBinding = function (dictRangeOf) {
1407+ var rangeOf9 = rangeOf(rangeOfLabeled1(rangeOfType(dictRangeOf)));
1408+ var rangeOf10 = rangeOf(rangeOfBinder(dictRangeOf));
1409+ var rangeOf11 = rangeOf(dictRangeOf);
1410+ return {
1411+ rangeOf: function (v) {
1412+ if (v instanceof PureScript_CST_Types.LetBindingSignature) {
1413+ return rangeOf9(v.value0);
1414+ };
1415+ if (v instanceof PureScript_CST_Types.LetBindingName) {
1416+ return {
1417+ start: (rangeOf1(v.value0.name)).start,
1418+ end: (rangeOf(rangeOfGuarded(dictRangeOf))(v.value0.guarded)).end
1419+ };
1420+ };
1421+ if (v instanceof PureScript_CST_Types.LetBindingPattern) {
1422+ return {
1423+ start: (rangeOf10(v.value0)).start,
1424+ end: (rangeOf(rangeOfWhere(dictRangeOf))(v.value2)).end
1425+ };
1426+ };
1427+ if (v instanceof PureScript_CST_Types.LetBindingError) {
1428+ return rangeOf11(v.value0);
1429+ };
1430+ throw new Error("Failed pattern match at PureScript.CST.Range (line 896, column 13 - line 908, column 16): " + [ v.constructor.name ]);
1431+ }
1432+ };
1433+};
1434+var rangeOfGuardedExpr = function (dictRangeOf) {
1435+ return {
1436+ rangeOf: function (v) {
1437+ return {
1438+ start: v.bar.range.start,
1439+ end: (rangeOf(rangeOfWhere(dictRangeOf))(v.where)).end
1440+ };
1441+ }
1442+ };
1443+};
1444+var rangeOfGuarded = function (dictRangeOf) {
1445+ return {
1446+ rangeOf: function (v) {
1447+ if (v instanceof PureScript_CST_Types.Unconditional) {
1448+ return {
1449+ start: v.value0.range.start,
1450+ end: (rangeOf(rangeOfWhere(dictRangeOf))(v.value1)).end
1451+ };
1452+ };
1453+ if (v instanceof PureScript_CST_Types.Guarded) {
1454+ return {
1455+ start: (rangeOf(rangeOfGuardedExpr(dictRangeOf))(Data_Array_NonEmpty.head(v.value0))).start,
1456+ end: (rangeOf(rangeOfGuardedExpr(dictRangeOf))(Data_Array_NonEmpty.last(v.value0))).end
1457+ };
1458+ };
1459+ throw new Error("Failed pattern match at PureScript.CST.Range (line 596, column 13 - line 604, column 8): " + [ v.constructor.name ]);
1460+ }
1461+ };
1462+};
1463+var rangeOfExpr = function (dictRangeOf) {
1464+ var rangeOf9 = rangeOf(rangeOfType(dictRangeOf));
1465+ var rangeOfAppSpine1 = rangeOfAppSpine(dictRangeOf);
1466+ var rangeOf10 = rangeOf(dictRangeOf);
1467+ return {
1468+ rangeOf: function (v) {
1469+ if (v instanceof PureScript_CST_Types.ExprHole) {
1470+ return rangeOf1(v.value0);
1471+ };
1472+ if (v instanceof PureScript_CST_Types.ExprSection) {
1473+ return v.value0.range;
1474+ };
1475+ if (v instanceof PureScript_CST_Types.ExprIdent) {
1476+ return rangeOf3(v.value0);
1477+ };
1478+ if (v instanceof PureScript_CST_Types.ExprConstructor) {
1479+ return rangeOf3(v.value0);
1480+ };
1481+ if (v instanceof PureScript_CST_Types.ExprBoolean) {
1482+ return v.value0.range;
1483+ };
1484+ if (v instanceof PureScript_CST_Types.ExprChar) {
1485+ return v.value0.range;
1486+ };
1487+ if (v instanceof PureScript_CST_Types.ExprString) {
1488+ return v.value0.range;
1489+ };
1490+ if (v instanceof PureScript_CST_Types.ExprInt) {
1491+ return v.value0.range;
1492+ };
1493+ if (v instanceof PureScript_CST_Types.ExprNumber) {
1494+ return v.value0.range;
1495+ };
1496+ if (v instanceof PureScript_CST_Types.ExprArray) {
1497+ return rangeOf2(v.value0);
1498+ };
1499+ if (v instanceof PureScript_CST_Types.ExprRecord) {
1500+ return rangeOf2(v.value0);
1501+ };
1502+ if (v instanceof PureScript_CST_Types.ExprParens) {
1503+ return rangeOf2(v.value0);
1504+ };
1505+ if (v instanceof PureScript_CST_Types.ExprTyped) {
1506+ return {
1507+ start: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0)).start,
1508+ end: (rangeOf9(v.value2)).end
1509+ };
1510+ };
1511+ if (v instanceof PureScript_CST_Types.ExprInfix) {
1512+ return {
1513+ start: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0)).start,
1514+ end: (rangeOf(rangeOfExpr(dictRangeOf))(Data_Tuple.snd(Data_Array_NonEmpty.last(v.value1)))).end
1515+ };
1516+ };
1517+ if (v instanceof PureScript_CST_Types.ExprOp) {
1518+ return {
1519+ start: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0)).start,
1520+ end: (rangeOf(rangeOfExpr(dictRangeOf))(Data_Tuple.snd(Data_Array_NonEmpty.last(v.value1)))).end
1521+ };
1522+ };
1523+ if (v instanceof PureScript_CST_Types.ExprOpName) {
1524+ return rangeOf3(v.value0);
1525+ };
1526+ if (v instanceof PureScript_CST_Types.ExprNegate) {
1527+ return {
1528+ start: v.value0.range.start,
1529+ end: (rangeOf(rangeOfExpr(dictRangeOf))(v.value1)).end
1530+ };
1531+ };
1532+ if (v instanceof PureScript_CST_Types.ExprRecordAccessor) {
1533+ return {
1534+ start: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0.expr)).start,
1535+ end: (rangeOf6(v.value0.path)).end
1536+ };
1537+ };
1538+ if (v instanceof PureScript_CST_Types.ExprRecordUpdate) {
1539+ return {
1540+ start: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0)).start,
1541+ end: (rangeOf2(v.value1)).end
1542+ };
1543+ };
1544+ if (v instanceof PureScript_CST_Types.ExprApp) {
1545+ return {
1546+ start: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0)).start,
1547+ end: (rangeOf(rangeOfAppSpine1(rangeOfExpr(dictRangeOf)))(Data_Array_NonEmpty.last(v.value1))).end
1548+ };
1549+ };
1550+ if (v instanceof PureScript_CST_Types.ExprLambda) {
1551+ return {
1552+ start: v.value0.symbol.range.start,
1553+ end: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0.body)).end
1554+ };
1555+ };
1556+ if (v instanceof PureScript_CST_Types.ExprIf) {
1557+ return {
1558+ start: v.value0.keyword.range.start,
1559+ end: (rangeOf(rangeOfExpr(dictRangeOf))(v["value0"]["false"])).end
1560+ };
1561+ };
1562+ if (v instanceof PureScript_CST_Types.ExprCase) {
1563+ return {
1564+ start: v.value0.keyword.range.start,
1565+ end: (rangeOf(rangeOfGuarded(dictRangeOf))(Data_Tuple.snd(Data_Array_NonEmpty.last(v.value0.branches)))).end
1566+ };
1567+ };
1568+ if (v instanceof PureScript_CST_Types.ExprLet) {
1569+ return {
1570+ start: v.value0.keyword.range.start,
1571+ end: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0.body)).end
1572+ };
1573+ };
1574+ if (v instanceof PureScript_CST_Types.ExprDo) {
1575+ return {
1576+ start: v.value0.keyword.range.start,
1577+ end: (rangeOf(rangeOfDoStatement(dictRangeOf))(Data_Array_NonEmpty.last(v.value0.statements))).end
1578+ };
1579+ };
1580+ if (v instanceof PureScript_CST_Types.ExprAdo) {
1581+ return {
1582+ start: v.value0.keyword.range.start,
1583+ end: (rangeOf(rangeOfExpr(dictRangeOf))(v.value0.result)).end
1584+ };
1585+ };
1586+ if (v instanceof PureScript_CST_Types.ExprError) {
1587+ return rangeOf10(v.value0);
1588+ };
1589+ throw new Error("Failed pattern match at PureScript.CST.Range (line 690, column 13 - line 770, column 16): " + [ v.constructor.name ]);
1590+ }
1591+ };
1592+};
1593+var rangeOfDoStatement = function (dictRangeOf) {
1594+ var rangeOf9 = rangeOf(rangeOfBinder(dictRangeOf));
1595+ var rangeOf10 = rangeOf(dictRangeOf);
1596+ return {
1597+ rangeOf: function (v) {
1598+ if (v instanceof PureScript_CST_Types.DoLet) {
1599+ return {
1600+ start: v.value0.range.start,
1601+ end: (rangeOf(rangeOfLetBinding(dictRangeOf))(Data_Array_NonEmpty.last(v.value1))).end
1602+ };
1603+ };
1604+ if (v instanceof PureScript_CST_Types.DoDiscard) {
1605+ return rangeOf(rangeOfExpr(dictRangeOf))(v.value0);
1606+ };
1607+ if (v instanceof PureScript_CST_Types.DoBind) {
1608+ return {
1609+ start: (rangeOf9(v.value0)).start,
1610+ end: (rangeOf(rangeOfExpr(dictRangeOf))(v.value2)).end
1611+ };
1612+ };
1613+ if (v instanceof PureScript_CST_Types.DoError) {
1614+ return rangeOf10(v.value0);
1615+ };
1616+ throw new Error("Failed pattern match at PureScript.CST.Range (line 870, column 13 - line 882, column 16): " + [ v.constructor.name ]);
1617+ }
1618+ };
1619+};
1620+var rangeOfInstanceBinding = function (dictRangeOf) {
1621+ var rangeOf9 = rangeOf(rangeOfLabeled1(rangeOfType(dictRangeOf)));
1622+ var rangeOf10 = rangeOf(rangeOfGuarded(dictRangeOf));
1623+ return {
1624+ rangeOf: function (v) {
1625+ if (v instanceof PureScript_CST_Types.InstanceBindingSignature) {
1626+ return rangeOf9(v.value0);
1627+ };
1628+ if (v instanceof PureScript_CST_Types.InstanceBindingName) {
1629+ return {
1630+ start: (rangeOf1(v.value0.name)).start,
1631+ end: (rangeOf10(v.value0.guarded)).end
1632+ };
1633+ };
1634+ throw new Error("Failed pattern match at PureScript.CST.Range (line 672, column 13 - line 678, column 8): " + [ v.constructor.name ]);
1635+ }
1636+ };
1637+};
1638+var rangeOfInstance = function (dictRangeOf) {
1639+ var rangeOf9 = rangeOf(rangeOfType(dictRangeOf));
1640+ var rangeOf10 = rangeOf(rangeOfInstanceBinding(dictRangeOf));
1641+ return {
1642+ rangeOf: function (v) {
1643+ var v1 = (function () {
1644+ if (v.body instanceof Data_Maybe.Nothing) {
1645+ var v2 = Data_Array.last(v.head.types);
1646+ if (v2 instanceof Data_Maybe.Nothing) {
1647+ return rangeOf3(v.head.className);
1648+ };
1649+ if (v2 instanceof Data_Maybe.Just) {
1650+ return rangeOf9(v2.value0);
1651+ };
1652+ throw new Error("Failed pattern match at PureScript.CST.Range (line 575, column 11 - line 579, column 25): " + [ v2.constructor.name ]);
1653+ };
1654+ if (v.body instanceof Data_Maybe.Just) {
1655+ return rangeOf10(Data_Array_NonEmpty.last(v.body.value0.value1));
1656+ };
1657+ throw new Error("Failed pattern match at PureScript.CST.Range (line 573, column 17 - line 581, column 42): " + [ v.body.constructor.name ]);
1658+ })();
1659+ return {
1660+ start: v.head.keyword.range.start,
1661+ end: v1.end
1662+ };
1663+ }
1664+ };
1665+};
1666+var rangeOfDecl = function (dictRangeOf) {
1667+ var rangeOf9 = rangeOf(rangeOfDataCtor(dictRangeOf));
1668+ var rangeOfType1 = rangeOfType(dictRangeOf);
1669+ var rangeOf10 = rangeOf(rangeOfType1);
1670+ var rangeOf11 = rangeOf(rangeOfLabeled1(rangeOfType1));
1671+ var rangeOf12 = rangeOf(rangeOfSeparated(rangeOfInstance(dictRangeOf)));
1672+ var rangeOf13 = rangeOf(rangeOfGuarded(dictRangeOf));
1673+ var rangeOf14 = rangeOf(rangeOfForeign(dictRangeOf));
1674+ var rangeOf15 = rangeOf(dictRangeOf);
1675+ return {
1676+ rangeOf: function (v) {
1677+ if (v instanceof PureScript_CST_Types.DeclData) {
1678+ var v1 = (function () {
1679+ if (v.value1 instanceof Data_Maybe.Nothing) {
1680+ var v2 = Data_Array.last(v.value0.vars);
1681+ if (v2 instanceof Data_Maybe.Nothing) {
1682+ return rangeOf1(v.value0.name);
1683+ };
1684+ if (v2 instanceof Data_Maybe.Just) {
1685+ return rangeOf8(v2.value0);
1686+ };
1687+ throw new Error("Failed pattern match at PureScript.CST.Range (line 420, column 13 - line 424, column 28): " + [ v2.constructor.name ]);
1688+ };
1689+ if (v.value1 instanceof Data_Maybe.Just) {
1690+ return rangeOf9(Data_Maybe.maybe(v.value1.value0.value1.head)(Data_Tuple.snd)(Data_Array.last(v.value1.value0.value1.tail)));
1691+ };
1692+ throw new Error("Failed pattern match at PureScript.CST.Range (line 418, column 19 - line 426, column 55): " + [ v.value1.constructor.name ]);
1693+ })();
1694+ return {
1695+ start: v.value0.keyword.range.start,
1696+ end: v1.end
1697+ };
1698+ };
1699+ if (v instanceof PureScript_CST_Types.DeclType) {
1700+ return {
1701+ start: v.value0.keyword.range.start,
1702+ end: (rangeOf10(v.value2)).end
1703+ };
1704+ };
1705+ if (v instanceof PureScript_CST_Types.DeclNewtype) {
1706+ return {
1707+ start: v.value0.keyword.range.start,
1708+ end: (rangeOf10(v.value3)).end
1709+ };
1710+ };
1711+ if (v instanceof PureScript_CST_Types.DeclClass) {
1712+ var v1 = (function () {
1713+ if (v.value1 instanceof Data_Maybe.Nothing) {
1714+ if (v.value0.fundeps instanceof Data_Maybe.Nothing) {
1715+ var v2 = Data_Array.last(v.value0.vars);
1716+ if (v2 instanceof Data_Maybe.Nothing) {
1717+ return rangeOf1(v.value0.name);
1718+ };
1719+ if (v2 instanceof Data_Maybe.Just) {
1720+ return rangeOf8(v2.value0);
1721+ };
1722+ throw new Error("Failed pattern match at PureScript.CST.Range (line 444, column 17 - line 448, column 32): " + [ v2.constructor.name ]);
1723+ };
1724+ if (v.value0.fundeps instanceof Data_Maybe.Just) {
1725+ return rangeOf7(v.value0.fundeps.value0.value1);
1726+ };
1727+ throw new Error("Failed pattern match at PureScript.CST.Range (line 442, column 13 - line 450, column 32): " + [ v.value0.fundeps.constructor.name ]);
1728+ };
1729+ if (v.value1 instanceof Data_Maybe.Just) {
1730+ return rangeOf11(Data_Array_NonEmpty.last(v.value1.value0.value1));
1731+ };
1732+ throw new Error("Failed pattern match at PureScript.CST.Range (line 440, column 19 - line 452, column 44): " + [ v.value1.constructor.name ]);
1733+ })();
1734+ return {
1735+ start: v.value0.keyword.range.start,
1736+ end: v1.end
1737+ };
1738+ };
1739+ if (v instanceof PureScript_CST_Types.DeclInstanceChain) {
1740+ return rangeOf12(v.value0);
1741+ };
1742+ if (v instanceof PureScript_CST_Types.DeclDerive) {
1743+ var v1 = (function () {
1744+ var v2 = Data_Array.last(v.value2.types);
1745+ if (v2 instanceof Data_Maybe.Nothing) {
1746+ return rangeOf3(v.value2.className);
1747+ };
1748+ if (v2 instanceof Data_Maybe.Just) {
1749+ return rangeOf10(v2.value0);
1750+ };
1751+ throw new Error("Failed pattern match at PureScript.CST.Range (line 460, column 19 - line 464, column 23): " + [ v2.constructor.name ]);
1752+ })();
1753+ return {
1754+ start: v.value0.range.start,
1755+ end: v1.end
1756+ };
1757+ };
1758+ if (v instanceof PureScript_CST_Types.DeclKindSignature) {
1759+ return {
1760+ start: v.value0.range.start,
1761+ end: (rangeOf11(v.value1)).end
1762+ };
1763+ };
1764+ if (v instanceof PureScript_CST_Types.DeclSignature) {
1765+ return rangeOf11(v.value0);
1766+ };
1767+ if (v instanceof PureScript_CST_Types.DeclValue) {
1768+ return {
1769+ start: (rangeOf1(v.value0.name)).start,
1770+ end: (rangeOf13(v.value0.guarded)).end
1771+ };
1772+ };
1773+ if (v instanceof PureScript_CST_Types.DeclFixity) {
1774+ return {
1775+ start: v.value0.keyword.value0.range.start,
1776+ end: (rangeOf5(v.value0.operator)).end
1777+ };
1778+ };
1779+ if (v instanceof PureScript_CST_Types.DeclForeign) {
1780+ return {
1781+ start: v.value0.range.start,
1782+ end: (rangeOf14(v.value2)).end
1783+ };
1784+ };
1785+ if (v instanceof PureScript_CST_Types.DeclRole) {
1786+ return {
1787+ start: v.value0.range.start,
1788+ end: (Data_Tuple.fst(Data_Array_NonEmpty.last(v.value3))).range.end
1789+ };
1790+ };
1791+ if (v instanceof PureScript_CST_Types.DeclError) {
1792+ return rangeOf15(v.value0);
1793+ };
1794+ throw new Error("Failed pattern match at PureScript.CST.Range (line 415, column 13 - line 491, column 16): " + [ v.constructor.name ]);
1795+ }
1796+ };
1797+};
1798+export {
1799+ rangeOf,
1800+ tokensOf,
1801+ tokensOfTuple,
1802+ tokensOfMaybe,
1803+ tokensOfArray,
1804+ tokensOfNonEmptyArray,
1805+ rangeOfVoid,
1806+ tokensOfVoid,
1807+ rangeOfRecoveredError,
1808+ tokensOfRecoveredError,
1809+ rangeOfModule,
1810+ tokensOfModule,
1811+ rangeOfName,
1812+ tokensOfName,
1813+ rangeOfQualifiedName,
1814+ tokensOfQualifiedName,
1815+ rangeOfWrapped,
1816+ tokensOfWrapped,
1817+ rangeOfSeparated,
1818+ tokensOfSeparated,
1819+ rangeOfLabeled,
1820+ tokensOfLabeled,
1821+ rangeOfPrefixed,
1822+ tokensOfPrefixed,
1823+ rangeOfOneOrDelimited,
1824+ tokensOfOneOrDelimited,
1825+ rangeOfType,
1826+ tokensOfType,
1827+ tokensOfRow,
1828+ rangeOfTypeVarBinding,
1829+ tokensOfTypeVarBinding,
1830+ rangeOfExport,
1831+ tokensOfExport,
1832+ rangeOfDataMembers,
1833+ tokensOfDataMembers,
1834+ rangeOfImportDecl,
1835+ tokensOfImportDecl,
1836+ rangeOfImport,
1837+ tokensOfImport,
1838+ rangeOfDataCtor,
1839+ tokensOfDataCtor,
1840+ rangeOfDecl,
1841+ tokensOfDecl,
1842+ rangeOfClassFundep,
1843+ tokensOfClassFundep,
1844+ rangeOfInstance,
1845+ tokensOfInstance,
1846+ rangeOfGuarded,
1847+ tokensOfGuarded,
1848+ rangeOfGuardedExpr,
1849+ tokensOfGuardedExpr,
1850+ tokensOfPatternGuard,
1851+ rangeOfFixityOp,
1852+ tokensOfFixityOp,
1853+ rangeOfForeign,
1854+ tokensOfForeign,
1855+ rangeOfInstanceBinding,
1856+ tokensOfInstanceBinding,
1857+ rangeOfExpr,
1858+ tokensOfExpr,
1859+ rangeOfAppSpine,
1860+ tokensOfAppSpine,
1861+ tokensOfRecordUpdate,
1862+ rangeOfDoStatement,
1863+ tokensOfDoStatement,
1864+ rangeOfLetBinding,
1865+ tokensOfLetBinding,
1866+ rangeOfBinder,
1867+ tokensOfBinder,
1868+ tokensOfRecordLabeled,
1869+ rangeOfWhere,
1870+ tokensOfWhere
1871+};