1[
2  {
3    "type": "_definition",
4    "named": true,
5    "subtypes": [
6      {
7        "type": "abstract_definition",
8        "named": true
9      },
10      {
11        "type": "function_definition",
12        "named": true
13      },
14      {
15        "type": "macro_definition",
16        "named": true
17      },
18      {
19        "type": "module_definition",
20        "named": true
21      },
22      {
23        "type": "primitive_definition",
24        "named": true
25      },
26      {
27        "type": "struct_definition",
28        "named": true
29      }
30    ]
31  },
32  {
33    "type": "_expression",
34    "named": true,
35    "subtypes": [
36      {
37        "type": "_definition",
38        "named": true
39      },
40      {
41        "type": "_statement",
42        "named": true
43      },
44      {
45        "type": "array_comprehension_expression",
46        "named": true
47      },
48      {
49        "type": "array_expression",
50        "named": true
51      },
52      {
53        "type": "binary_expression",
54        "named": true
55      },
56      {
57        "type": "broadcast_call_expression",
58        "named": true
59      },
60      {
61        "type": "call_expression",
62        "named": true
63      },
64      {
65        "type": "character",
66        "named": true
67      },
68      {
69        "type": "coefficient_expression",
70        "named": true
71      },
72      {
73        "type": "command_string",
74        "named": true
75      },
76      {
77        "type": "compound_expression",
78        "named": true
79      },
80      {
81        "type": "field_expression",
82        "named": true
83      },
84      {
85        "type": "function_expression",
86        "named": true
87      },
88      {
89        "type": "generator_expression",
90        "named": true
91      },
92      {
93        "type": "identifier",
94        "named": true
95      },
96      {
97        "type": "interpolation_expression",
98        "named": true
99      },
100      {
101        "type": "macro_expression",
102        "named": true
103      },
104      {
105        "type": "matrix_expression",
106        "named": true
107      },
108      {
109        "type": "number",
110        "named": true
111      },
112      {
113        "type": "operator",
114        "named": true
115      },
116      {
117        "type": "pair_expression",
118        "named": true
119      },
120      {
121        "type": "parameterized_identifier",
122        "named": true
123      },
124      {
125        "type": "parenthesized_expression",
126        "named": true
127      },
128      {
129        "type": "quote_expression",
130        "named": true
131      },
132      {
133        "type": "range_expression",
134        "named": true
135      },
136      {
137        "type": "spread_expression",
138        "named": true
139      },
140      {
141        "type": "string",
142        "named": true
143      },
144      {
145        "type": "subscript_expression",
146        "named": true
147      },
148      {
149        "type": "ternary_expression",
150        "named": true
151      },
152      {
153        "type": "triple_string",
154        "named": true
155      },
156      {
157        "type": "tuple_expression",
158        "named": true
159      },
160      {
161        "type": "typed_expression",
162        "named": true
163      },
164      {
165        "type": "unary_expression",
166        "named": true
167      }
168    ]
169  },
170  {
171    "type": "_statement",
172    "named": true,
173    "subtypes": [
174      {
175        "type": "break_statement",
176        "named": true
177      },
178      {
179        "type": "const_statement",
180        "named": true
181      },
182      {
183        "type": "continue_statement",
184        "named": true
185      },
186      {
187        "type": "export_statement",
188        "named": true
189      },
190      {
191        "type": "for_statement",
192        "named": true
193      },
194      {
195        "type": "if_statement",
196        "named": true
197      },
198      {
199        "type": "import_statement",
200        "named": true
201      },
202      {
203        "type": "let_statement",
204        "named": true
205      },
206      {
207        "type": "quote_statement",
208        "named": true
209      },
210      {
211        "type": "return_statement",
212        "named": true
213      },
214      {
215        "type": "try_statement",
216        "named": true
217      },
218      {
219        "type": "while_statement",
220        "named": true
221      }
222    ]
223  },
224  {
225    "type": "abstract_definition",
226    "named": true,
227    "fields": {
228      "name": {
229        "multiple": false,
230        "required": true,
231        "types": [
232          {
233            "type": "identifier",
234            "named": true
235          }
236        ]
237      },
238      "type_parameters": {
239        "multiple": false,
240        "required": false,
241        "types": [
242          {
243            "type": "type_parameter_list",
244            "named": true
245          }
246        ]
247      }
248    },
249    "children": {
250      "multiple": false,
251      "required": false,
252      "types": [
253        {
254          "type": "subtype_clause",
255          "named": true
256        }
257      ]
258    }
259  },
260  {
261    "type": "argument_list",
262    "named": true,
263    "fields": {},
264    "children": {
265      "multiple": true,
266      "required": false,
267      "types": [
268        {
269          "type": "_expression",
270          "named": true
271        },
272        {
273          "type": "named_argument",
274          "named": true
275        }
276      ]
277    }
278  },
279  {
280    "type": "array_comprehension_expression",
281    "named": true,
282    "fields": {},
283    "children": {
284      "multiple": true,
285      "required": true,
286      "types": [
287        {
288          "type": "_expression",
289          "named": true
290        },
291        {
292          "type": "for_clause",
293          "named": true
294        },
295        {
296          "type": "if_clause",
297          "named": true
298        }
299      ]
300    }
301  },
302  {
303    "type": "array_expression",
304    "named": true,
305    "fields": {},
306    "children": {
307      "multiple": true,
308      "required": false,
309      "types": [
310        {
311          "type": "_expression",
312          "named": true
313        }
314      ]
315    }
316  },
317  {
318    "type": "assignment_expression",
319    "named": true,
320    "fields": {},
321    "children": {
322      "multiple": true,
323      "required": true,
324      "types": [
325        {
326          "type": "_expression",
327          "named": true
328        },
329        {
330          "type": "assignment_expression",
331          "named": true
332        },
333        {
334          "type": "bare_tuple_expression",
335          "named": true
336        }
337      ]
338    }
339  },
340  {
341    "type": "bare_tuple_expression",
342    "named": true,
343    "fields": {},
344    "children": {
345      "multiple": true,
346      "required": true,
347      "types": [
348        {
349          "type": "_expression",
350          "named": true
351        }
352      ]
353    }
354  },
355  {
356    "type": "binary_expression",
357    "named": true,
358    "fields": {},
359    "children": {
360      "multiple": true,
361      "required": true,
362      "types": [
363        {
364          "type": "_expression",
365          "named": true
366        }
367      ]
368    }
369  },
370  {
371    "type": "broadcast_call_expression",
372    "named": true,
373    "fields": {},
374    "children": {
375      "multiple": true,
376      "required": true,
377      "types": [
378        {
379          "type": "argument_list",
380          "named": true
381        },
382        {
383          "type": "array_comprehension_expression",
384          "named": true
385        },
386        {
387          "type": "array_expression",
388          "named": true
389        },
390        {
391          "type": "broadcast_call_expression",
392          "named": true
393        },
394        {
395          "type": "call_expression",
396          "named": true
397        },
398        {
399          "type": "character",
400          "named": true
401        },
402        {
403          "type": "command_string",
404          "named": true
405        },
406        {
407          "type": "do_clause",
408          "named": true
409        },
410        {
411          "type": "field_expression",
412          "named": true
413        },
414        {
415          "type": "generator_expression",
416          "named": true
417        },
418        {
419          "type": "identifier",
420          "named": true
421        },
422        {
423          "type": "matrix_expression",
424          "named": true
425        },
426        {
427          "type": "operator",
428          "named": true
429        },
430        {
431          "type": "parameterized_identifier",
432          "named": true
433        },
434        {
435          "type": "parenthesized_expression",
436          "named": true
437        },
438        {
439          "type": "string",
440          "named": true
441        },
442        {
443          "type": "subscript_expression",
444          "named": true
445        },
446        {
447          "type": "triple_string",
448          "named": true
449        },
450        {
451          "type": "tuple_expression",
452          "named": true
453        }
454      ]
455    }
456  },
457  {
458    "type": "call_expression",
459    "named": true,
460    "fields": {},
461    "children": {
462      "multiple": true,
463      "required": true,
464      "types": [
465        {
466          "type": "argument_list",
467          "named": true
468        },
469        {
470          "type": "array_comprehension_expression",
471          "named": true
472        },
473        {
474          "type": "array_expression",
475          "named": true
476        },
477        {
478          "type": "broadcast_call_expression",
479          "named": true
480        },
481        {
482          "type": "call_expression",
483          "named": true
484        },
485        {
486          "type": "character",
487          "named": true
488        },
489        {
490          "type": "command_string",
491          "named": true
492        },
493        {
494          "type": "do_clause",
495          "named": true
496        },
497        {
498          "type": "field_expression",
499          "named": true
500        },
501        {
502          "type": "generator_expression",
503          "named": true
504        },
505        {
506          "type": "identifier",
507          "named": true
508        },
509        {
510          "type": "matrix_expression",
511          "named": true
512        },
513        {
514          "type": "operator",
515          "named": true
516        },
517        {
518          "type": "parameterized_identifier",
519          "named": true
520        },
521        {
522          "type": "parenthesized_expression",
523          "named": true
524        },
525        {
526          "type": "string",
527          "named": true
528        },
529        {
530          "type": "subscript_expression",
531          "named": true
532        },
533        {
534          "type": "triple_string",
535          "named": true
536        },
537        {
538          "type": "tuple_expression",
539          "named": true
540        }
541      ]
542    }
543  },
544  {
545    "type": "catch_clause",
546    "named": true,
547    "fields": {},
548    "children": {
549      "multiple": true,
550      "required": false,
551      "types": [
552        {
553          "type": "_expression",
554          "named": true
555        },
556        {
557          "type": "assignment_expression",
558          "named": true
559        },
560        {
561          "type": "bare_tuple_expression",
562          "named": true
563        }
564      ]
565    }
566  },
567  {
568    "type": "coefficient_expression",
569    "named": true,
570    "fields": {},
571    "children": {
572      "multiple": true,
573      "required": true,
574      "types": [
575        {
576          "type": "identifier",
577          "named": true
578        },
579        {
580          "type": "number",
581          "named": true
582        },
583        {
584          "type": "parenthesized_expression",
585          "named": true
586        }
587      ]
588    }
589  },
590  {
591    "type": "compound_expression",
592    "named": true,
593    "fields": {},
594    "children": {
595      "multiple": true,
596      "required": true,
597      "types": [
598        {
599          "type": "_expression",
600          "named": true
601        },
602        {
603          "type": "assignment_expression",
604          "named": true
605        },
606        {
607          "type": "bare_tuple_expression",
608          "named": true
609        }
610      ]
611    }
612  },
613  {
614    "type": "const_statement",
615    "named": true,
616    "fields": {},
617    "children": {
618      "multiple": true,
619      "required": true,
620      "types": [
621        {
622          "type": "variable_declaration",
623          "named": true
624        }
625      ]
626    }
627  },
628  {
629    "type": "constrained_parameter",
630    "named": true,
631    "fields": {
632      "name": {
633        "multiple": false,
634        "required": true,
635        "types": [
636          {
637            "type": "identifier",
638            "named": true
639          }
640        ]
641      },
642      "value": {
643        "multiple": false,
644        "required": true,
645        "types": [
646          {
647            "type": "_expression",
648            "named": true
649          }
650        ]
651      }
652    }
653  },
654  {
655    "type": "do_clause",
656    "named": true,
657    "fields": {},
658    "children": {
659      "multiple": true,
660      "required": true,
661      "types": [
662        {
663          "type": "_expression",
664          "named": true
665        },
666        {
667          "type": "assignment_expression",
668          "named": true
669        },
670        {
671          "type": "bare_tuple_expression",
672          "named": true
673        }
674      ]
675    }
676  },
677  {
678    "type": "else_clause",
679    "named": true,
680    "fields": {},
681    "children": {
682      "multiple": true,
683      "required": false,
684      "types": [
685        {
686          "type": "_expression",
687          "named": true
688        },
689        {
690          "type": "assignment_expression",
691          "named": true
692        },
693        {
694          "type": "bare_tuple_expression",
695          "named": true
696        }
697      ]
698    }
699  },
700  {
701    "type": "elseif_clause",
702    "named": true,
703    "fields": {
704      "condition": {
705        "multiple": false,
706        "required": true,
707        "types": [
708          {
709            "type": "_expression",
710            "named": true
711          }
712        ]
713      }
714    },
715    "children": {
716      "multiple": true,
717      "required": false,
718      "types": [
719        {
720          "type": "_expression",
721          "named": true
722        },
723        {
724          "type": "assignment_expression",
725          "named": true
726        },
727        {
728          "type": "bare_tuple_expression",
729          "named": true
730        }
731      ]
732    }
733  },
734  {
735    "type": "export_statement",
736    "named": true,
737    "fields": {},
738    "children": {
739      "multiple": true,
740      "required": true,
741      "types": [
742        {
743          "type": "identifier",
744          "named": true
745        }
746      ]
747    }
748  },
749  {
750    "type": "field_expression",
751    "named": true,
752    "fields": {},
753    "children": {
754      "multiple": true,
755      "required": true,
756      "types": [
757        {
758          "type": "array_comprehension_expression",
759          "named": true
760        },
761        {
762          "type": "array_expression",
763          "named": true
764        },
765        {
766          "type": "broadcast_call_expression",
767          "named": true
768        },
769        {
770          "type": "call_expression",
771          "named": true
772        },
773        {
774          "type": "character",
775          "named": true
776        },
777        {
778          "type": "command_string",
779          "named": true
780        },
781        {
782          "type": "field_expression",
783          "named": true
784        },
785        {
786          "type": "identifier",
787          "named": true
788        },
789        {
790          "type": "matrix_expression",
791          "named": true
792        },
793        {
794          "type": "operator",
795          "named": true
796        },
797        {
798          "type": "parameterized_identifier",
799          "named": true
800        },
801        {
802          "type": "parenthesized_expression",
803          "named": true
804        },
805        {
806          "type": "string",
807          "named": true
808        },
809        {
810          "type": "subscript_expression",
811          "named": true
812        },
813        {
814          "type": "triple_string",
815          "named": true
816        },
817        {
818          "type": "tuple_expression",
819          "named": true
820        }
821      ]
822    }
823  },
824  {
825    "type": "finally_clause",
826    "named": true,
827    "fields": {},
828    "children": {
829      "multiple": true,
830      "required": false,
831      "types": [
832        {
833          "type": "_expression",
834          "named": true
835        },
836        {
837          "type": "assignment_expression",
838          "named": true
839        },
840        {
841          "type": "bare_tuple_expression",
842          "named": true
843        }
844      ]
845    }
846  },
847  {
848    "type": "for_binding",
849    "named": true,
850    "fields": {},
851    "children": {
852      "multiple": true,
853      "required": true,
854      "types": [
855        {
856          "type": "_expression",
857          "named": true
858        }
859      ]
860    }
861  },
862  {
863    "type": "for_clause",
864    "named": true,
865    "fields": {},
866    "children": {
867      "multiple": true,
868      "required": true,
869      "types": [
870        {
871          "type": "for_binding",
872          "named": true
873        }
874      ]
875    }
876  },
877  {
878    "type": "for_statement",
879    "named": true,
880    "fields": {},
881    "children": {
882      "multiple": true,
883      "required": true,
884      "types": [
885        {
886          "type": "_expression",
887          "named": true
888        },
889        {
890          "type": "assignment_expression",
891          "named": true
892        },
893        {
894          "type": "bare_tuple_expression",
895          "named": true
896        },
897        {
898          "type": "for_binding",
899          "named": true
900        }
901      ]
902    }
903  },
904  {
905    "type": "function_definition",
906    "named": true,
907    "fields": {
908      "name": {
909        "multiple": false,
910        "required": true,
911        "types": [
912          {
913            "type": "identifier",
914            "named": true
915          }
916        ]
917      },
918      "parameters": {
919        "multiple": false,
920        "required": true,
921        "types": [
922          {
923            "type": "parameter_list",
924            "named": true
925          }
926        ]
927      },
928      "type_parameters": {
929        "multiple": false,
930        "required": false,
931        "types": [
932          {
933            "type": "type_parameter_list",
934            "named": true
935          }
936        ]
937      }
938    },
939    "children": {
940      "multiple": true,
941      "required": false,
942      "types": [
943        {
944          "type": "_expression",
945          "named": true
946        },
947        {
948          "type": "assignment_expression",
949          "named": true
950        },
951        {
952          "type": "bare_tuple_expression",
953          "named": true
954        }
955      ]
956    }
957  },
958  {
959    "type": "function_expression",
960    "named": true,
961    "fields": {},
962    "children": {
963      "multiple": true,
964      "required": true,
965      "types": [
966        {
967          "type": "_expression",
968          "named": true
969        },
970        {
971          "type": "assignment_expression",
972          "named": true
973        },
974        {
975          "type": "parameter_list",
976          "named": true
977        }
978      ]
979    }
980  },
981  {
982    "type": "generator_expression",
983    "named": true,
984    "fields": {},
985    "children": {
986      "multiple": true,
987      "required": true,
988      "types": [
989        {
990          "type": "_expression",
991          "named": true
992        },
993        {
994          "type": "for_clause",
995          "named": true
996        },
997        {
998          "type": "if_clause",
999          "named": true
1000        }
1001      ]
1002    }
1003  },
1004  {
1005    "type": "if_clause",
1006    "named": true,
1007    "fields": {},
1008    "children": {
1009      "multiple": false,
1010      "required": true,
1011      "types": [
1012        {
1013          "type": "_expression",
1014          "named": true
1015        }
1016      ]
1017    }
1018  },
1019  {
1020    "type": "if_statement",
1021    "named": true,
1022    "fields": {
1023      "alternative": {
1024        "multiple": true,
1025        "required": false,
1026        "types": [
1027          {
1028            "type": "else_clause",
1029            "named": true
1030          },
1031          {
1032            "type": "elseif_clause",
1033            "named": true
1034          }
1035        ]
1036      },
1037      "condition": {
1038        "multiple": false,
1039        "required": true,
1040        "types": [
1041          {
1042            "type": "_expression",
1043            "named": true
1044          }
1045        ]
1046      }
1047    },
1048    "children": {
1049      "multiple": true,
1050      "required": false,
1051      "types": [
1052        {
1053          "type": "_expression",
1054          "named": true
1055        },
1056        {
1057          "type": "assignment_expression",
1058          "named": true
1059        },
1060        {
1061          "type": "bare_tuple_expression",
1062          "named": true
1063        }
1064      ]
1065    }
1066  },
1067  {
1068    "type": "import_statement",
1069    "named": true,
1070    "fields": {},
1071    "children": {
1072      "multiple": true,
1073      "required": true,
1074      "types": [
1075        {
1076          "type": "identifier",
1077          "named": true
1078        },
1079        {
1080          "type": "scoped_identifier",
1081          "named": true
1082        },
1083        {
1084          "type": "selected_import",
1085          "named": true
1086        }
1087      ]
1088    }
1089  },
1090  {
1091    "type": "interpolation_expression",
1092    "named": true,
1093    "fields": {},
1094    "children": {
1095      "multiple": false,
1096      "required": true,
1097      "types": [
1098        {
1099          "type": "_expression",
1100          "named": true
1101        }
1102      ]
1103    }
1104  },
1105  {
1106    "type": "keyword_parameters",
1107    "named": true,
1108    "fields": {},
1109    "children": {
1110      "multiple": true,
1111      "required": true,
1112      "types": [
1113        {
1114          "type": "identifier",
1115          "named": true
1116        },
1117        {
1118          "type": "optional_parameter",
1119          "named": true
1120        },
1121        {
1122          "type": "spread_parameter",
1123          "named": true
1124        },
1125        {
1126          "type": "typed_parameter",
1127          "named": true
1128        }
1129      ]
1130    }
1131  },
1132  {
1133    "type": "let_statement",
1134    "named": true,
1135    "fields": {},
1136    "children": {
1137      "multiple": true,
1138      "required": true,
1139      "types": [
1140        {
1141          "type": "_expression",
1142          "named": true
1143        },
1144        {
1145          "type": "assignment_expression",
1146          "named": true
1147        },
1148        {
1149          "type": "bare_tuple_expression",
1150          "named": true
1151        },
1152        {
1153          "type": "variable_declaration",
1154          "named": true
1155        }
1156      ]
1157    }
1158  },
1159  {
1160    "type": "macro_argument_list",
1161    "named": true,
1162    "fields": {},
1163    "children": {
1164      "multiple": true,
1165      "required": true,
1166      "types": [
1167        {
1168          "type": "_expression",
1169          "named": true
1170        }
1171      ]
1172    }
1173  },
1174  {
1175    "type": "macro_definition",
1176    "named": true,
1177    "fields": {
1178      "name": {
1179        "multiple": false,
1180        "required": true,
1181        "types": [
1182          {
1183            "type": "identifier",
1184            "named": true
1185          },
1186          {
1187            "type": "operator",
1188            "named": true
1189          }
1190        ]
1191      },
1192      "parameters": {
1193        "multiple": false,
1194        "required": true,
1195        "types": [
1196          {
1197            "type": "parameter_list",
1198            "named": true
1199          }
1200        ]
1201      }
1202    },
1203    "children": {
1204      "multiple": true,
1205      "required": false,
1206      "types": [
1207        {
1208          "type": "_expression",
1209          "named": true
1210        },
1211        {
1212          "type": "assignment_expression",
1213          "named": true
1214        },
1215        {
1216          "type": "bare_tuple_expression",
1217          "named": true
1218        }
1219      ]
1220    }
1221  },
1222  {
1223    "type": "macro_expression",
1224    "named": true,
1225    "fields": {},
1226    "children": {
1227      "multiple": true,
1228      "required": true,
1229      "types": [
1230        {
1231          "type": "argument_list",
1232          "named": true
1233        },
1234        {
1235          "type": "macro_argument_list",
1236          "named": true
1237        },
1238        {
1239          "type": "macro_identifier",
1240          "named": true
1241        }
1242      ]
1243    }
1244  },
1245  {
1246    "type": "macro_identifier",
1247    "named": true,
1248    "fields": {},
1249    "children": {
1250      "multiple": false,
1251      "required": true,
1252      "types": [
1253        {
1254          "type": "identifier",
1255          "named": true
1256        },
1257        {
1258          "type": "operator",
1259          "named": true
1260        }
1261      ]
1262    }
1263  },
1264  {
1265    "type": "matrix_expression",
1266    "named": true,
1267    "fields": {},
1268    "children": {
1269      "multiple": true,
1270      "required": false,
1271      "types": [
1272        {
1273          "type": "matrix_row",
1274          "named": true
1275        }
1276      ]
1277    }
1278  },
1279  {
1280    "type": "matrix_row",
1281    "named": true,
1282    "fields": {},
1283    "children": {
1284      "multiple": true,
1285      "required": true,
1286      "types": [
1287        {
1288          "type": "_expression",
1289          "named": true
1290        }
1291      ]
1292    }
1293  },
1294  {
1295    "type": "module_definition",
1296    "named": true,
1297    "fields": {
1298      "name": {
1299        "multiple": false,
1300        "required": true,
1301        "types": [
1302          {
1303            "type": "identifier",
1304            "named": true
1305          }
1306        ]
1307      }
1308    },
1309    "children": {
1310      "multiple": true,
1311      "required": false,
1312      "types": [
1313        {
1314          "type": "_expression",
1315          "named": true
1316        },
1317        {
1318          "type": "assignment_expression",
1319          "named": true
1320        },
1321        {
1322          "type": "bare_tuple_expression",
1323          "named": true
1324        }
1325      ]
1326    }
1327  },
1328  {
1329    "type": "named_argument",
1330    "named": true,
1331    "fields": {},
1332    "children": {
1333      "multiple": true,
1334      "required": true,
1335      "types": [
1336        {
1337          "type": "_expression",
1338          "named": true
1339        }
1340      ]
1341    }
1342  },
1343  {
1344    "type": "named_field",
1345    "named": true,
1346    "fields": {},
1347    "children": {
1348      "multiple": true,
1349      "required": true,
1350      "types": [
1351        {
1352          "type": "_expression",
1353          "named": true
1354        }
1355      ]
1356    }
1357  },
1358  {
1359    "type": "operator",
1360    "named": true,
1361    "fields": {}
1362  },
1363  {
1364    "type": "optional_parameter",
1365    "named": true,
1366    "fields": {},
1367    "children": {
1368      "multiple": true,
1369      "required": true,
1370      "types": [
1371        {
1372          "type": "_expression",
1373          "named": true
1374        },
1375        {
1376          "type": "typed_parameter",
1377          "named": true
1378        }
1379      ]
1380    }
1381  },
1382  {
1383    "type": "pair_expression",
1384    "named": true,
1385    "fields": {},
1386    "children": {
1387      "multiple": true,
1388      "required": true,
1389      "types": [
1390        {
1391          "type": "_expression",
1392          "named": true
1393        }
1394      ]
1395    }
1396  },
1397  {
1398    "type": "parameter_list",
1399    "named": true,
1400    "fields": {},
1401    "children": {
1402      "multiple": true,
1403      "required": false,
1404      "types": [
1405        {
1406          "type": "identifier",
1407          "named": true
1408        },
1409        {
1410          "type": "keyword_parameters",
1411          "named": true
1412        },
1413        {
1414          "type": "optional_parameter",
1415          "named": true
1416        },
1417        {
1418          "type": "spread_parameter",
1419          "named": true
1420        },
1421        {
1422          "type": "typed_parameter",
1423          "named": true
1424        }
1425      ]
1426    }
1427  },
1428  {
1429    "type": "parameterized_identifier",
1430    "named": true,
1431    "fields": {},
1432    "children": {
1433      "multiple": true,
1434      "required": true,
1435      "types": [
1436        {
1437          "type": "field_expression",
1438          "named": true
1439        },
1440        {
1441          "type": "identifier",
1442          "named": true
1443        },
1444        {
1445          "type": "type_argument_list",
1446          "named": true
1447        }
1448      ]
1449    }
1450  },
1451  {
1452    "type": "parenthesized_expression",
1453    "named": true,
1454    "fields": {},
1455    "children": {
1456      "multiple": true,
1457      "required": true,
1458      "types": [
1459        {
1460          "type": "_expression",
1461          "named": true
1462        },
1463        {
1464          "type": "assignment_expression",
1465          "named": true
1466        },
1467        {
1468          "type": "bare_tuple_expression",
1469          "named": true
1470        }
1471      ]
1472    }
1473  },
1474  {
1475    "type": "primitive_definition",
1476    "named": true,
1477    "fields": {
1478      "name": {
1479        "multiple": false,
1480        "required": true,
1481        "types": [
1482          {
1483            "type": "identifier",
1484            "named": true
1485          }
1486        ]
1487      },
1488      "type_parameters": {
1489        "multiple": false,
1490        "required": false,
1491        "types": [
1492          {
1493            "type": "type_parameter_list",
1494            "named": true
1495          }
1496        ]
1497      }
1498    },
1499    "children": {
1500      "multiple": true,
1501      "required": true,
1502      "types": [
1503        {
1504          "type": "number",
1505          "named": true
1506        },
1507        {
1508          "type": "subtype_clause",
1509          "named": true
1510        }
1511      ]
1512    }
1513  },
1514  {
1515    "type": "quote_expression",
1516    "named": true,
1517    "fields": {},
1518    "children": {
1519      "multiple": false,
1520      "required": true,
1521      "types": [
1522        {
1523          "type": "_expression",
1524          "named": true
1525        }
1526      ]
1527    }
1528  },
1529  {
1530    "type": "quote_statement",
1531    "named": true,
1532    "fields": {},
1533    "children": {
1534      "multiple": true,
1535      "required": false,
1536      "types": [
1537        {
1538          "type": "_expression",
1539          "named": true
1540        },
1541        {
1542          "type": "assignment_expression",
1543          "named": true
1544        },
1545        {
1546          "type": "bare_tuple_expression",
1547          "named": true
1548        }
1549      ]
1550    }
1551  },
1552  {
1553    "type": "range_expression",
1554    "named": true,
1555    "fields": {},
1556    "children": {
1557      "multiple": true,
1558      "required": true,
1559      "types": [
1560        {
1561          "type": "_expression",
1562          "named": true
1563        }
1564      ]
1565    }
1566  },
1567  {
1568    "type": "return_statement",
1569    "named": true,
1570    "fields": {},
1571    "children": {
1572      "multiple": false,
1573      "required": false,
1574      "types": [
1575        {
1576          "type": "_expression",
1577          "named": true
1578        },
1579        {
1580          "type": "bare_tuple_expression",
1581          "named": true
1582        }
1583      ]
1584    }
1585  },
1586  {
1587    "type": "scoped_identifier",
1588    "named": true,
1589    "fields": {},
1590    "children": {
1591      "multiple": true,
1592      "required": true,
1593      "types": [
1594        {
1595          "type": "identifier",
1596          "named": true
1597        },
1598        {
1599          "type": "scoped_identifier",
1600          "named": true
1601        }
1602      ]
1603    }
1604  },
1605  {
1606    "type": "selected_import",
1607    "named": true,
1608    "fields": {},
1609    "children": {
1610      "multiple": true,
1611      "required": true,
1612      "types": [
1613        {
1614          "type": "identifier",
1615          "named": true
1616        },
1617        {
1618          "type": "macro_identifier",
1619          "named": true
1620        },
1621        {
1622          "type": "scoped_identifier",
1623          "named": true
1624        }
1625      ]
1626    }
1627  },
1628  {
1629    "type": "source_file",
1630    "named": true,
1631    "fields": {},
1632    "children": {
1633      "multiple": true,
1634      "required": false,
1635      "types": [
1636        {
1637          "type": "_expression",
1638          "named": true
1639        },
1640        {
1641          "type": "assignment_expression",
1642          "named": true
1643        },
1644        {
1645          "type": "bare_tuple_expression",
1646          "named": true
1647        }
1648      ]
1649    }
1650  },
1651  {
1652    "type": "spread_expression",
1653    "named": true,
1654    "fields": {},
1655    "children": {
1656      "multiple": false,
1657      "required": true,
1658      "types": [
1659        {
1660          "type": "_expression",
1661          "named": true
1662        }
1663      ]
1664    }
1665  },
1666  {
1667    "type": "spread_parameter",
1668    "named": true,
1669    "fields": {},
1670    "children": {
1671      "multiple": false,
1672      "required": true,
1673      "types": [
1674        {
1675          "type": "identifier",
1676          "named": true
1677        }
1678      ]
1679    }
1680  },
1681  {
1682    "type": "string",
1683    "named": true,
1684    "fields": {
1685      "prefix": {
1686        "multiple": false,
1687        "required": false,
1688        "types": [
1689          {
1690            "type": "identifier",
1691            "named": true
1692          }
1693        ]
1694      }
1695    }
1696  },
1697  {
1698    "type": "struct_definition",
1699    "named": true,
1700    "fields": {
1701      "name": {
1702        "multiple": false,
1703        "required": true,
1704        "types": [
1705          {
1706            "type": "identifier",
1707            "named": true
1708          }
1709        ]
1710      },
1711      "type_parameters": {
1712        "multiple": false,
1713        "required": false,
1714        "types": [
1715          {
1716            "type": "type_parameter_list",
1717            "named": true
1718          }
1719        ]
1720      }
1721    },
1722    "children": {
1723      "multiple": true,
1724      "required": false,
1725      "types": [
1726        {
1727          "type": "_expression",
1728          "named": true
1729        },
1730        {
1731          "type": "assignment_expression",
1732          "named": true
1733        },
1734        {
1735          "type": "bare_tuple_expression",
1736          "named": true
1737        },
1738        {
1739          "type": "subtype_clause",
1740          "named": true
1741        }
1742      ]
1743    }
1744  },
1745  {
1746    "type": "subscript_expression",
1747    "named": true,
1748    "fields": {},
1749    "children": {
1750      "multiple": true,
1751      "required": true,
1752      "types": [
1753        {
1754          "type": "_expression",
1755          "named": true
1756        }
1757      ]
1758    }
1759  },
1760  {
1761    "type": "subtype_clause",
1762    "named": true,
1763    "fields": {},
1764    "children": {
1765      "multiple": false,
1766      "required": true,
1767      "types": [
1768        {
1769          "type": "_expression",
1770          "named": true
1771        }
1772      ]
1773    }
1774  },
1775  {
1776    "type": "ternary_expression",
1777    "named": true,
1778    "fields": {},
1779    "children": {
1780      "multiple": true,
1781      "required": true,
1782      "types": [
1783        {
1784          "type": "_expression",
1785          "named": true
1786        }
1787      ]
1788    }
1789  },
1790  {
1791    "type": "try_statement",
1792    "named": true,
1793    "fields": {},
1794    "children": {
1795      "multiple": true,
1796      "required": false,
1797      "types": [
1798        {
1799          "type": "_expression",
1800          "named": true
1801        },
1802        {
1803          "type": "assignment_expression",
1804          "named": true
1805        },
1806        {
1807          "type": "bare_tuple_expression",
1808          "named": true
1809        },
1810        {
1811          "type": "catch_clause",
1812          "named": true
1813        },
1814        {
1815          "type": "finally_clause",
1816          "named": true
1817        }
1818      ]
1819    }
1820  },
1821  {
1822    "type": "tuple_expression",
1823    "named": true,
1824    "fields": {},
1825    "children": {
1826      "multiple": true,
1827      "required": false,
1828      "types": [
1829        {
1830          "type": "_expression",
1831          "named": true
1832        },
1833        {
1834          "type": "named_field",
1835          "named": true
1836        }
1837      ]
1838    }
1839  },
1840  {
1841    "type": "type_argument_list",
1842    "named": true,
1843    "fields": {},
1844    "children": {
1845      "multiple": true,
1846      "required": true,
1847      "types": [
1848        {
1849          "type": "_expression",
1850          "named": true
1851        }
1852      ]
1853    }
1854  },
1855  {
1856    "type": "type_parameter_list",
1857    "named": true,
1858    "fields": {},
1859    "children": {
1860      "multiple": true,
1861      "required": true,
1862      "types": [
1863        {
1864          "type": "constrained_parameter",
1865          "named": true
1866        },
1867        {
1868          "type": "identifier",
1869          "named": true
1870        }
1871      ]
1872    }
1873  },
1874  {
1875    "type": "typed_expression",
1876    "named": true,
1877    "fields": {},
1878    "children": {
1879      "multiple": true,
1880      "required": true,
1881      "types": [
1882        {
1883          "type": "_expression",
1884          "named": true
1885        }
1886      ]
1887    }
1888  },
1889  {
1890    "type": "typed_parameter",
1891    "named": true,
1892    "fields": {},
1893    "children": {
1894      "multiple": true,
1895      "required": true,
1896      "types": [
1897        {
1898          "type": "identifier",
1899          "named": true
1900        },
1901        {
1902          "type": "parameterized_identifier",
1903          "named": true
1904        }
1905      ]
1906    }
1907  },
1908  {
1909    "type": "unary_expression",
1910    "named": true,
1911    "fields": {},
1912    "children": {
1913      "multiple": false,
1914      "required": true,
1915      "types": [
1916        {
1917          "type": "_expression",
1918          "named": true
1919        }
1920      ]
1921    }
1922  },
1923  {
1924    "type": "variable_declaration",
1925    "named": true,
1926    "fields": {},
1927    "children": {
1928      "multiple": true,
1929      "required": true,
1930      "types": [
1931        {
1932          "type": "_expression",
1933          "named": true
1934        }
1935      ]
1936    }
1937  },
1938  {
1939    "type": "while_statement",
1940    "named": true,
1941    "fields": {
1942      "condition": {
1943        "multiple": false,
1944        "required": true,
1945        "types": [
1946          {
1947            "type": "_expression",
1948            "named": true
1949          }
1950        ]
1951      }
1952    },
1953    "children": {
1954      "multiple": true,
1955      "required": false,
1956      "types": [
1957        {
1958          "type": "_expression",
1959          "named": true
1960        },
1961        {
1962          "type": "assignment_expression",
1963          "named": true
1964        },
1965        {
1966          "type": "bare_tuple_expression",
1967          "named": true
1968        }
1969      ]
1970    }
1971  },
1972  {
1973    "type": "\n",
1974    "named": false
1975  },
1976  {
1977    "type": "!",
1978    "named": false
1979  },
1980  {
1981    "type": "\"",
1982    "named": false
1983  },
1984  {
1985    "type": "$",
1986    "named": false
1987  },
1988  {
1989    "type": "&&",
1990    "named": false
1991  },
1992  {
1993    "type": "'",
1994    "named": false
1995  },
1996  {
1997    "type": "(",
1998    "named": false
1999  },
2000  {
2001    "type": ")",
2002    "named": false
2003  },
2004  {
2005    "type": "+",
2006    "named": false
2007  },
2008  {
2009    "type": ",",
2010    "named": false
2011  },
2012  {
2013    "type": "-",
2014    "named": false
2015  },
2016  {
2017    "type": "->",
2018    "named": false
2019  },
2020  {
2021    "type": ".",
2022    "named": false
2023  },
2024  {
2025    "type": ".'",
2026    "named": false
2027  },
2028  {
2029    "type": "...",
2030    "named": false
2031  },
2032  {
2033    "type": ":",
2034    "named": false
2035  },
2036  {
2037    "type": "::",
2038    "named": false
2039  },
2040  {
2041    "type": ";",
2042    "named": false
2043  },
2044  {
2045    "type": "<:",
2046    "named": false
2047  },
2048  {
2049    "type": "<|",
2050    "named": false
2051  },
2052  {
2053    "type": "=",
2054    "named": false
2055  },
2056  {
2057    "type": "=>",
2058    "named": false
2059  },
2060  {
2061    "type": ">:",
2062    "named": false
2063  },
2064  {
2065    "type": "?",
2066    "named": false
2067  },
2068  {
2069    "type": "@",
2070    "named": false
2071  },
2072  {
2073    "type": "[",
2074    "named": false
2075  },
2076  {
2077    "type": "]",
2078    "named": false
2079  },
2080  {
2081    "type": "abstract",
2082    "named": false
2083  },
2084  {
2085    "type": "begin",
2086    "named": false
2087  },
2088  {
2089    "type": "block_comment",
2090    "named": true
2091  },
2092  {
2093    "type": "break_statement",
2094    "named": true
2095  },
2096  {
2097    "type": "catch",
2098    "named": false
2099  },
2100  {
2101    "type": "character",
2102    "named": true
2103  },
2104  {
2105    "type": "command_string",
2106    "named": true
2107  },
2108  {
2109    "type": "comment",
2110    "named": true
2111  },
2112  {
2113    "type": "const",
2114    "named": false
2115  },
2116  {
2117    "type": "continue_statement",
2118    "named": true
2119  },
2120  {
2121    "type": "do",
2122    "named": false
2123  },
2124  {
2125    "type": "else",
2126    "named": false
2127  },
2128  {
2129    "type": "elseif",
2130    "named": false
2131  },
2132  {
2133    "type": "end",
2134    "named": false
2135  },
2136  {
2137    "type": "export",
2138    "named": false
2139  },
2140  {
2141    "type": "finally",
2142    "named": false
2143  },
2144  {
2145    "type": "for",
2146    "named": false
2147  },
2148  {
2149    "type": "function",
2150    "named": false
2151  },
2152  {
2153    "type": "identifier",
2154    "named": true
2155  },
2156  {
2157    "type": "if",
2158    "named": false
2159  },
2160  {
2161    "type": "import",
2162    "named": false
2163  },
2164  {
2165    "type": "in",
2166    "named": false
2167  },
2168  {
2169    "type": "isa",
2170    "named": false
2171  },
2172  {
2173    "type": "let",
2174    "named": false
2175  },
2176  {
2177    "type": "macro",
2178    "named": false
2179  },
2180  {
2181    "type": "module",
2182    "named": false
2183  },
2184  {
2185    "type": "mutable",
2186    "named": false
2187  },
2188  {
2189    "type": "number",
2190    "named": true
2191  },
2192  {
2193    "type": "primitive",
2194    "named": false
2195  },
2196  {
2197    "type": "quote",
2198    "named": false
2199  },
2200  {
2201    "type": "return",
2202    "named": false
2203  },
2204  {
2205    "type": "struct",
2206    "named": false
2207  },
2208  {
2209    "type": "triple_string",
2210    "named": true
2211  },
2212  {
2213    "type": "try",
2214    "named": false
2215  },
2216  {
2217    "type": "type",
2218    "named": false
2219  },
2220  {
2221    "type": "using",
2222    "named": false
2223  },
2224  {
2225    "type": "while",
2226    "named": false
2227  },
2228  {
2229    "type": "{",
2230    "named": false
2231  },
2232  {
2233    "type": "|>",
2234    "named": false
2235  },
2236  {
2237    "type": "||",
2238    "named": false
2239  },
2240  {
2241    "type": "}",
2242    "named": false
2243  },
2244  {
2245    "type": "~",
2246    "named": false
2247  },
2248  {
2249    "type": "¬",
2250    "named": false
2251  },
2252  {
2253    "type": "∈",
2254    "named": false
2255  },
2256  {
2257    "type": "√",
2258    "named": false
2259  },
2260  {
2261    "type": "∛",
2262    "named": false
2263  },
2264  {
2265    "type": "∜",
2266    "named": false
2267  }
2268]
2269