1[ 2 { 3 "type": "adt", 4 "named": true, 5 "fields": { 6 "name": { 7 "multiple": true, 8 "required": false, 9 "types": [ 10 { 11 "type": "(", 12 "named": false 13 }, 14 { 15 "type": ")", 16 "named": false 17 }, 18 { 19 "type": "constructor_operator", 20 "named": true 21 }, 22 { 23 "type": "type", 24 "named": true 25 }, 26 { 27 "type": "type_operator", 28 "named": true 29 } 30 ] 31 }, 32 "type": { 33 "multiple": false, 34 "required": false, 35 "types": [ 36 { 37 "type": "context", 38 "named": true 39 }, 40 { 41 "type": "forall", 42 "named": true 43 }, 44 { 45 "type": "fun", 46 "named": true 47 }, 48 { 49 "type": "implicit_param", 50 "named": true 51 }, 52 { 53 "type": "promoted", 54 "named": true 55 }, 56 { 57 "type": "quasiquote", 58 "named": true 59 }, 60 { 61 "type": "splice", 62 "named": true 63 }, 64 { 65 "type": "type_apply", 66 "named": true 67 }, 68 { 69 "type": "type_infix", 70 "named": true 71 }, 72 { 73 "type": "type_list", 74 "named": true 75 }, 76 { 77 "type": "type_literal", 78 "named": true 79 }, 80 { 81 "type": "type_name", 82 "named": true 83 }, 84 { 85 "type": "type_parens", 86 "named": true 87 }, 88 { 89 "type": "type_star", 90 "named": true 91 }, 92 { 93 "type": "type_tuple", 94 "named": true 95 }, 96 { 97 "type": "type_unboxed_sum", 98 "named": true 99 }, 100 { 101 "type": "type_unboxed_tuple", 102 "named": true 103 } 104 ] 105 } 106 }, 107 "children": { 108 "multiple": true, 109 "required": false, 110 "types": [ 111 { 112 "type": "annotated_type_variable", 113 "named": true 114 }, 115 { 116 "type": "constructors", 117 "named": true 118 }, 119 { 120 "type": "context", 121 "named": true 122 }, 123 { 124 "type": "deriving", 125 "named": true 126 }, 127 { 128 "type": "gadt_constructor", 129 "named": true 130 }, 131 { 132 "type": "type_infix", 133 "named": true 134 }, 135 { 136 "type": "type_variable", 137 "named": true 138 }, 139 { 140 "type": "where", 141 "named": true 142 } 143 ] 144 } 145 }, 146 { 147 "type": "alt", 148 "named": true, 149 "fields": { 150 "type": { 151 "multiple": false, 152 "required": false, 153 "types": [ 154 { 155 "type": "context", 156 "named": true 157 }, 158 { 159 "type": "forall", 160 "named": true 161 }, 162 { 163 "type": "fun", 164 "named": true 165 }, 166 { 167 "type": "implicit_param", 168 "named": true 169 }, 170 { 171 "type": "promoted", 172 "named": true 173 }, 174 { 175 "type": "quasiquote", 176 "named": true 177 }, 178 { 179 "type": "splice", 180 "named": true 181 }, 182 { 183 "type": "type_apply", 184 "named": true 185 }, 186 { 187 "type": "type_infix", 188 "named": true 189 }, 190 { 191 "type": "type_list", 192 "named": true 193 }, 194 { 195 "type": "type_literal", 196 "named": true 197 }, 198 { 199 "type": "type_name", 200 "named": true 201 }, 202 { 203 "type": "type_parens", 204 "named": true 205 }, 206 { 207 "type": "type_star", 208 "named": true 209 }, 210 { 211 "type": "type_tuple", 212 "named": true 213 }, 214 { 215 "type": "type_unboxed_sum", 216 "named": true 217 }, 218 { 219 "type": "type_unboxed_tuple", 220 "named": true 221 } 222 ] 223 } 224 }, 225 "children": { 226 "multiple": true, 227 "required": true, 228 "types": [ 229 { 230 "type": "decls", 231 "named": true 232 }, 233 { 234 "type": "exp_apply", 235 "named": true 236 }, 237 { 238 "type": "exp_arithmetic_sequence", 239 "named": true 240 }, 241 { 242 "type": "exp_case", 243 "named": true 244 }, 245 { 246 "type": "exp_cond", 247 "named": true 248 }, 249 { 250 "type": "exp_do", 251 "named": true 252 }, 253 { 254 "type": "exp_if_guard", 255 "named": true 256 }, 257 { 258 "type": "exp_infix", 259 "named": true 260 }, 261 { 262 "type": "exp_lambda", 263 "named": true 264 }, 265 { 266 "type": "exp_lambda_case", 267 "named": true 268 }, 269 { 270 "type": "exp_let_in", 271 "named": true 272 }, 273 { 274 "type": "exp_list", 275 "named": true 276 }, 277 { 278 "type": "exp_list_comprehension", 279 "named": true 280 }, 281 { 282 "type": "exp_literal", 283 "named": true 284 }, 285 { 286 "type": "exp_name", 287 "named": true 288 }, 289 { 290 "type": "exp_negation", 291 "named": true 292 }, 293 { 294 "type": "exp_parens", 295 "named": true 296 }, 297 { 298 "type": "exp_record", 299 "named": true 300 }, 301 { 302 "type": "exp_section_left", 303 "named": true 304 }, 305 { 306 "type": "exp_section_right", 307 "named": true 308 }, 309 { 310 "type": "exp_th_quoted_name", 311 "named": true 312 }, 313 { 314 "type": "exp_tuple", 315 "named": true 316 }, 317 { 318 "type": "exp_type_application", 319 "named": true 320 }, 321 { 322 "type": "exp_unboxed_sum", 323 "named": true 324 }, 325 { 326 "type": "exp_unboxed_tuple", 327 "named": true 328 }, 329 { 330 "type": "gdpat", 331 "named": true 332 }, 333 { 334 "type": "pat_apply", 335 "named": true 336 }, 337 { 338 "type": "pat_as", 339 "named": true 340 }, 341 { 342 "type": "pat_infix", 343 "named": true 344 }, 345 { 346 "type": "pat_irrefutable", 347 "named": true 348 }, 349 { 350 "type": "pat_list", 351 "named": true 352 }, 353 { 354 "type": "pat_literal", 355 "named": true 356 }, 357 { 358 "type": "pat_name", 359 "named": true 360 }, 361 { 362 "type": "pat_negation", 363 "named": true 364 }, 365 { 366 "type": "pat_parens", 367 "named": true 368 }, 369 { 370 "type": "pat_record", 371 "named": true 372 }, 373 { 374 "type": "pat_strict", 375 "named": true 376 }, 377 { 378 "type": "pat_tuple", 379 "named": true 380 }, 381 { 382 "type": "pat_unboxed_tuple", 383 "named": true 384 }, 385 { 386 "type": "pat_wildcard", 387 "named": true 388 }, 389 { 390 "type": "quasiquote", 391 "named": true 392 }, 393 { 394 "type": "splice", 395 "named": true 396 }, 397 { 398 "type": "where", 399 "named": true 400 } 401 ] 402 } 403 }, 404 { 405 "type": "alts", 406 "named": true, 407 "fields": {}, 408 "children": { 409 "multiple": true, 410 "required": false, 411 "types": [ 412 { 413 "type": "alt", 414 "named": true 415 } 416 ] 417 } 418 }, 419 { 420 "type": "annotated_type_variable", 421 "named": true, 422 "fields": { 423 "type": { 424 "multiple": false, 425 "required": true, 426 "types": [ 427 { 428 "type": "context", 429 "named": true 430 }, 431 { 432 "type": "forall", 433 "named": true 434 }, 435 { 436 "type": "fun", 437 "named": true 438 }, 439 { 440 "type": "implicit_param", 441 "named": true 442 }, 443 { 444 "type": "promoted", 445 "named": true 446 }, 447 { 448 "type": "quasiquote", 449 "named": true 450 }, 451 { 452 "type": "splice", 453 "named": true 454 }, 455 { 456 "type": "type_apply", 457 "named": true 458 }, 459 { 460 "type": "type_infix", 461 "named": true 462 }, 463 { 464 "type": "type_list", 465 "named": true 466 }, 467 { 468 "type": "type_literal", 469 "named": true 470 }, 471 { 472 "type": "type_name", 473 "named": true 474 }, 475 { 476 "type": "type_parens", 477 "named": true 478 }, 479 { 480 "type": "type_star", 481 "named": true 482 }, 483 { 484 "type": "type_tuple", 485 "named": true 486 }, 487 { 488 "type": "type_unboxed_sum", 489 "named": true 490 }, 491 { 492 "type": "type_unboxed_tuple", 493 "named": true 494 } 495 ] 496 } 497 }, 498 "children": { 499 "multiple": false, 500 "required": true, 501 "types": [ 502 { 503 "type": "type_variable", 504 "named": true 505 } 506 ] 507 } 508 }, 509 { 510 "type": "bind_pattern", 511 "named": true, 512 "fields": { 513 "type": { 514 "multiple": false, 515 "required": false, 516 "types": [ 517 { 518 "type": "context", 519 "named": true 520 }, 521 { 522 "type": "forall", 523 "named": true 524 }, 525 { 526 "type": "fun", 527 "named": true 528 }, 529 { 530 "type": "implicit_param", 531 "named": true 532 }, 533 { 534 "type": "promoted", 535 "named": true 536 }, 537 { 538 "type": "quasiquote", 539 "named": true 540 }, 541 { 542 "type": "splice", 543 "named": true 544 }, 545 { 546 "type": "type_apply", 547 "named": true 548 }, 549 { 550 "type": "type_infix", 551 "named": true 552 }, 553 { 554 "type": "type_list", 555 "named": true 556 }, 557 { 558 "type": "type_literal", 559 "named": true 560 }, 561 { 562 "type": "type_name", 563 "named": true 564 }, 565 { 566 "type": "type_parens", 567 "named": true 568 }, 569 { 570 "type": "type_star", 571 "named": true 572 }, 573 { 574 "type": "type_tuple", 575 "named": true 576 }, 577 { 578 "type": "type_unboxed_sum", 579 "named": true 580 }, 581 { 582 "type": "type_unboxed_tuple", 583 "named": true 584 } 585 ] 586 } 587 }, 588 "children": { 589 "multiple": true, 590 "required": true, 591 "types": [ 592 { 593 "type": "exp_apply", 594 "named": true 595 }, 596 { 597 "type": "exp_arithmetic_sequence", 598 "named": true 599 }, 600 { 601 "type": "exp_case", 602 "named": true 603 }, 604 { 605 "type": "exp_cond", 606 "named": true 607 }, 608 { 609 "type": "exp_do", 610 "named": true 611 }, 612 { 613 "type": "exp_if_guard", 614 "named": true 615 }, 616 { 617 "type": "exp_infix", 618 "named": true 619 }, 620 { 621 "type": "exp_lambda", 622 "named": true 623 }, 624 { 625 "type": "exp_lambda_case", 626 "named": true 627 }, 628 { 629 "type": "exp_let_in", 630 "named": true 631 }, 632 { 633 "type": "exp_list", 634 "named": true 635 }, 636 { 637 "type": "exp_list_comprehension", 638 "named": true 639 }, 640 { 641 "type": "exp_literal", 642 "named": true 643 }, 644 { 645 "type": "exp_name", 646 "named": true 647 }, 648 { 649 "type": "exp_negation", 650 "named": true 651 }, 652 { 653 "type": "exp_parens", 654 "named": true 655 }, 656 { 657 "type": "exp_record", 658 "named": true 659 }, 660 { 661 "type": "exp_section_left", 662 "named": true 663 }, 664 { 665 "type": "exp_section_right", 666 "named": true 667 }, 668 { 669 "type": "exp_th_quoted_name", 670 "named": true 671 }, 672 { 673 "type": "exp_tuple", 674 "named": true 675 }, 676 { 677 "type": "exp_type_application", 678 "named": true 679 }, 680 { 681 "type": "exp_unboxed_sum", 682 "named": true 683 }, 684 { 685 "type": "exp_unboxed_tuple", 686 "named": true 687 }, 688 { 689 "type": "pat_apply", 690 "named": true 691 }, 692 { 693 "type": "pat_as", 694 "named": true 695 }, 696 { 697 "type": "pat_infix", 698 "named": true 699 }, 700 { 701 "type": "pat_irrefutable", 702 "named": true 703 }, 704 { 705 "type": "pat_list", 706 "named": true 707 }, 708 { 709 "type": "pat_literal", 710 "named": true 711 }, 712 { 713 "type": "pat_name", 714 "named": true 715 }, 716 { 717 "type": "pat_negation", 718 "named": true 719 }, 720 { 721 "type": "pat_parens", 722 "named": true 723 }, 724 { 725 "type": "pat_record", 726 "named": true 727 }, 728 { 729 "type": "pat_strict", 730 "named": true 731 }, 732 { 733 "type": "pat_tuple", 734 "named": true 735 }, 736 { 737 "type": "pat_typed", 738 "named": true 739 }, 740 { 741 "type": "pat_unboxed_tuple", 742 "named": true 743 }, 744 { 745 "type": "pat_wildcard", 746 "named": true 747 }, 748 { 749 "type": "quasiquote", 750 "named": true 751 }, 752 { 753 "type": "splice", 754 "named": true 755 } 756 ] 757 } 758 }, 759 { 760 "type": "calling_convention", 761 "named": true, 762 "fields": {} 763 }, 764 { 765 "type": "class", 766 "named": true, 767 "fields": {}, 768 "children": { 769 "multiple": true, 770 "required": true, 771 "types": [ 772 { 773 "type": "class_body", 774 "named": true 775 }, 776 { 777 "type": "class_head", 778 "named": true 779 }, 780 { 781 "type": "context", 782 "named": true 783 }, 784 { 785 "type": "fundeps", 786 "named": true 787 } 788 ] 789 } 790 }, 791 { 792 "type": "class_body", 793 "named": true, 794 "fields": {}, 795 "children": { 796 "multiple": true, 797 "required": true, 798 "types": [ 799 { 800 "type": "data_family", 801 "named": true 802 }, 803 { 804 "type": "decl_tyfam_sig", 805 "named": true 806 }, 807 { 808 "type": "decl_type", 809 "named": true 810 }, 811 { 812 "type": "default_signature", 813 "named": true 814 }, 815 { 816 "type": "fixity", 817 "named": true 818 }, 819 { 820 "type": "function", 821 "named": true 822 }, 823 { 824 "type": "signature", 825 "named": true 826 }, 827 { 828 "type": "where", 829 "named": true 830 } 831 ] 832 } 833 }, 834 { 835 "type": "class_head", 836 "named": true, 837 "fields": { 838 "class": { 839 "multiple": false, 840 "required": false, 841 "types": [ 842 { 843 "type": "class_name", 844 "named": true 845 } 846 ] 847 } 848 }, 849 "children": { 850 "multiple": true, 851 "required": false, 852 "types": [ 853 { 854 "type": "promoted", 855 "named": true 856 }, 857 { 858 "type": "quasiquote", 859 "named": true 860 }, 861 { 862 "type": "splice", 863 "named": true 864 }, 865 { 866 "type": "type_infix", 867 "named": true 868 }, 869 { 870 "type": "type_list", 871 "named": true 872 }, 873 { 874 "type": "type_literal", 875 "named": true 876 }, 877 { 878 "type": "type_name", 879 "named": true 880 }, 881 { 882 "type": "type_parens", 883 "named": true 884 }, 885 { 886 "type": "type_star", 887 "named": true 888 }, 889 { 890 "type": "type_tuple", 891 "named": true 892 }, 893 { 894 "type": "type_unboxed_sum", 895 "named": true 896 }, 897 { 898 "type": "type_unboxed_tuple", 899 "named": true 900 } 901 ] 902 } 903 }, 904 { 905 "type": "class_name", 906 "named": true, 907 "fields": {}, 908 "children": { 909 "multiple": false, 910 "required": true, 911 "types": [ 912 { 913 "type": "annotated_type_variable", 914 "named": true 915 }, 916 { 917 "type": "constructor_operator", 918 "named": true 919 }, 920 { 921 "type": "promoted", 922 "named": true 923 }, 924 { 925 "type": "qualified_constructor_operator", 926 "named": true 927 }, 928 { 929 "type": "qualified_type", 930 "named": true 931 }, 932 { 933 "type": "qualified_type_operator", 934 "named": true 935 }, 936 { 937 "type": "tycon_arrow", 938 "named": true 939 }, 940 { 941 "type": "type", 942 "named": true 943 }, 944 { 945 "type": "type_operator", 946 "named": true 947 }, 948 { 949 "type": "type_variable", 950 "named": true 951 } 952 ] 953 } 954 }, 955 { 956 "type": "con_list", 957 "named": true, 958 "fields": {} 959 }, 960 { 961 "type": "con_tuple", 962 "named": true, 963 "fields": {}, 964 "children": { 965 "multiple": true, 966 "required": true, 967 "types": [ 968 { 969 "type": "comma", 970 "named": true 971 } 972 ] 973 } 974 }, 975 { 976 "type": "con_unit", 977 "named": true, 978 "fields": {} 979 }, 980 { 981 "type": "constraint", 982 "named": true, 983 "fields": { 984 "class": { 985 "multiple": false, 986 "required": false, 987 "types": [ 988 { 989 "type": "class_name", 990 "named": true 991 } 992 ] 993 } 994 }, 995 "children": { 996 "multiple": true, 997 "required": false, 998 "types": [ 999 { 1000 "type": "promoted", 1001 "named": true 1002 }, 1003 { 1004 "type": "quasiquote", 1005 "named": true 1006 }, 1007 { 1008 "type": "splice", 1009 "named": true 1010 }, 1011 { 1012 "type": "type_infix", 1013 "named": true 1014 }, 1015 { 1016 "type": "type_list", 1017 "named": true 1018 }, 1019 { 1020 "type": "type_literal", 1021 "named": true 1022 }, 1023 { 1024 "type": "type_name", 1025 "named": true 1026 }, 1027 { 1028 "type": "type_parens", 1029 "named": true 1030 }, 1031 { 1032 "type": "type_star", 1033 "named": true 1034 }, 1035 { 1036 "type": "type_tuple", 1037 "named": true 1038 }, 1039 { 1040 "type": "type_unboxed_sum", 1041 "named": true 1042 }, 1043 { 1044 "type": "type_unboxed_tuple", 1045 "named": true 1046 } 1047 ] 1048 } 1049 }, 1050 { 1051 "type": "constructor", 1052 "named": true, 1053 "fields": {} 1054 }, 1055 { 1056 "type": "constructor_operator", 1057 "named": true, 1058 "fields": {} 1059 }, 1060 { 1061 "type": "constructors", 1062 "named": true, 1063 "fields": {}, 1064 "children": { 1065 "multiple": true, 1066 "required": true, 1067 "types": [ 1068 { 1069 "type": "context", 1070 "named": true 1071 }, 1072 { 1073 "type": "data_constructor", 1074 "named": true 1075 }, 1076 { 1077 "type": "data_constructor_infix", 1078 "named": true 1079 }, 1080 { 1081 "type": "data_constructor_record", 1082 "named": true 1083 }, 1084 { 1085 "type": "forall", 1086 "named": true 1087 } 1088 ] 1089 } 1090 }, 1091 { 1092 "type": "context", 1093 "named": true, 1094 "fields": {}, 1095 "children": { 1096 "multiple": true, 1097 "required": false, 1098 "types": [ 1099 { 1100 "type": "comma", 1101 "named": true 1102 }, 1103 { 1104 "type": "constraint", 1105 "named": true 1106 }, 1107 { 1108 "type": "context", 1109 "named": true 1110 }, 1111 { 1112 "type": "forall", 1113 "named": true 1114 }, 1115 { 1116 "type": "fun", 1117 "named": true 1118 }, 1119 { 1120 "type": "implicit_param", 1121 "named": true 1122 }, 1123 { 1124 "type": "promoted", 1125 "named": true 1126 }, 1127 { 1128 "type": "quasiquote", 1129 "named": true 1130 }, 1131 { 1132 "type": "splice", 1133 "named": true 1134 }, 1135 { 1136 "type": "type_apply", 1137 "named": true 1138 }, 1139 { 1140 "type": "type_infix", 1141 "named": true 1142 }, 1143 { 1144 "type": "type_list", 1145 "named": true 1146 }, 1147 { 1148 "type": "type_literal", 1149 "named": true 1150 }, 1151 { 1152 "type": "type_name", 1153 "named": true 1154 }, 1155 { 1156 "type": "type_parens", 1157 "named": true 1158 }, 1159 { 1160 "type": "type_star", 1161 "named": true 1162 }, 1163 { 1164 "type": "type_tuple", 1165 "named": true 1166 }, 1167 { 1168 "type": "type_unboxed_sum", 1169 "named": true 1170 }, 1171 { 1172 "type": "type_unboxed_tuple", 1173 "named": true 1174 } 1175 ] 1176 } 1177 }, 1178 { 1179 "type": "data_constructor", 1180 "named": true, 1181 "fields": {}, 1182 "children": { 1183 "multiple": true, 1184 "required": true, 1185 "types": [ 1186 { 1187 "type": "constructor", 1188 "named": true 1189 }, 1190 { 1191 "type": "promoted", 1192 "named": true 1193 }, 1194 { 1195 "type": "quasiquote", 1196 "named": true 1197 }, 1198 { 1199 "type": "splice", 1200 "named": true 1201 }, 1202 { 1203 "type": "strict_type", 1204 "named": true 1205 }, 1206 { 1207 "type": "type_list", 1208 "named": true 1209 }, 1210 { 1211 "type": "type_literal", 1212 "named": true 1213 }, 1214 { 1215 "type": "type_name", 1216 "named": true 1217 }, 1218 { 1219 "type": "type_parens", 1220 "named": true 1221 }, 1222 { 1223 "type": "type_star", 1224 "named": true 1225 }, 1226 { 1227 "type": "type_tuple", 1228 "named": true 1229 }, 1230 { 1231 "type": "type_unboxed_sum", 1232 "named": true 1233 }, 1234 { 1235 "type": "type_unboxed_tuple", 1236 "named": true 1237 } 1238 ] 1239 } 1240 }, 1241 { 1242 "type": "data_constructor_infix", 1243 "named": true, 1244 "fields": {}, 1245 "children": { 1246 "multiple": true, 1247 "required": true, 1248 "types": [ 1249 { 1250 "type": "constructor", 1251 "named": true 1252 }, 1253 { 1254 "type": "constructor_operator", 1255 "named": true 1256 }, 1257 { 1258 "type": "promoted", 1259 "named": true 1260 }, 1261 { 1262 "type": "quasiquote", 1263 "named": true 1264 }, 1265 { 1266 "type": "splice", 1267 "named": true 1268 }, 1269 { 1270 "type": "strict_type", 1271 "named": true 1272 }, 1273 { 1274 "type": "type_apply", 1275 "named": true 1276 }, 1277 { 1278 "type": "type_infix", 1279 "named": true 1280 }, 1281 { 1282 "type": "type_list", 1283 "named": true 1284 }, 1285 { 1286 "type": "type_literal", 1287 "named": true 1288 }, 1289 { 1290 "type": "type_name", 1291 "named": true 1292 }, 1293 { 1294 "type": "type_parens", 1295 "named": true 1296 }, 1297 { 1298 "type": "type_star", 1299 "named": true 1300 }, 1301 { 1302 "type": "type_tuple", 1303 "named": true 1304 }, 1305 { 1306 "type": "type_unboxed_sum", 1307 "named": true 1308 }, 1309 { 1310 "type": "type_unboxed_tuple", 1311 "named": true 1312 } 1313 ] 1314 } 1315 }, 1316 { 1317 "type": "data_constructor_record", 1318 "named": true, 1319 "fields": {}, 1320 "children": { 1321 "multiple": true, 1322 "required": true, 1323 "types": [ 1324 { 1325 "type": "constructor", 1326 "named": true 1327 }, 1328 { 1329 "type": "record_fields", 1330 "named": true 1331 } 1332 ] 1333 } 1334 }, 1335 { 1336 "type": "data_family", 1337 "named": true, 1338 "fields": { 1339 "name": { 1340 "multiple": true, 1341 "required": false, 1342 "types": [ 1343 { 1344 "type": "(", 1345 "named": false 1346 }, 1347 { 1348 "type": ")", 1349 "named": false 1350 }, 1351 { 1352 "type": "constructor_operator", 1353 "named": true 1354 }, 1355 { 1356 "type": "type", 1357 "named": true 1358 }, 1359 { 1360 "type": "type_operator", 1361 "named": true 1362 } 1363 ] 1364 }, 1365 "type": { 1366 "multiple": false, 1367 "required": false, 1368 "types": [ 1369 { 1370 "type": "context", 1371 "named": true 1372 }, 1373 { 1374 "type": "forall", 1375 "named": true 1376 }, 1377 { 1378 "type": "fun", 1379 "named": true 1380 }, 1381 { 1382 "type": "implicit_param", 1383 "named": true 1384 }, 1385 { 1386 "type": "promoted", 1387 "named": true 1388 }, 1389 { 1390 "type": "quasiquote", 1391 "named": true 1392 }, 1393 { 1394 "type": "splice", 1395 "named": true 1396 }, 1397 { 1398 "type": "type_apply", 1399 "named": true 1400 }, 1401 { 1402 "type": "type_infix", 1403 "named": true 1404 }, 1405 { 1406 "type": "type_list", 1407 "named": true 1408 }, 1409 { 1410 "type": "type_literal", 1411 "named": true 1412 }, 1413 { 1414 "type": "type_name", 1415 "named": true 1416 }, 1417 { 1418 "type": "type_parens", 1419 "named": true 1420 }, 1421 { 1422 "type": "type_star", 1423 "named": true 1424 }, 1425 { 1426 "type": "type_tuple", 1427 "named": true 1428 }, 1429 { 1430 "type": "type_unboxed_sum", 1431 "named": true 1432 }, 1433 { 1434 "type": "type_unboxed_tuple", 1435 "named": true 1436 } 1437 ] 1438 } 1439 }, 1440 "children": { 1441 "multiple": true, 1442 "required": false, 1443 "types": [ 1444 { 1445 "type": "annotated_type_variable", 1446 "named": true 1447 }, 1448 { 1449 "type": "type_infix", 1450 "named": true 1451 }, 1452 { 1453 "type": "type_variable", 1454 "named": true 1455 } 1456 ] 1457 } 1458 }, 1459 { 1460 "type": "data_instance", 1461 "named": true, 1462 "fields": { 1463 "type": { 1464 "multiple": false, 1465 "required": false, 1466 "types": [ 1467 { 1468 "type": "context", 1469 "named": true 1470 }, 1471 { 1472 "type": "forall", 1473 "named": true 1474 }, 1475 { 1476 "type": "fun", 1477 "named": true 1478 }, 1479 { 1480 "type": "implicit_param", 1481 "named": true 1482 }, 1483 { 1484 "type": "promoted", 1485 "named": true 1486 }, 1487 { 1488 "type": "quasiquote", 1489 "named": true 1490 }, 1491 { 1492 "type": "splice", 1493 "named": true 1494 }, 1495 { 1496 "type": "type_apply", 1497 "named": true 1498 }, 1499 { 1500 "type": "type_infix", 1501 "named": true 1502 }, 1503 { 1504 "type": "type_list", 1505 "named": true 1506 }, 1507 { 1508 "type": "type_literal", 1509 "named": true 1510 }, 1511 { 1512 "type": "type_name", 1513 "named": true 1514 }, 1515 { 1516 "type": "type_parens", 1517 "named": true 1518 }, 1519 { 1520 "type": "type_star", 1521 "named": true 1522 }, 1523 { 1524 "type": "type_tuple", 1525 "named": true 1526 }, 1527 { 1528 "type": "type_unboxed_sum", 1529 "named": true 1530 }, 1531 { 1532 "type": "type_unboxed_tuple", 1533 "named": true 1534 } 1535 ] 1536 } 1537 }, 1538 "children": { 1539 "multiple": true, 1540 "required": true, 1541 "types": [ 1542 { 1543 "type": "constructors", 1544 "named": true 1545 }, 1546 { 1547 "type": "context", 1548 "named": true 1549 }, 1550 { 1551 "type": "deriving", 1552 "named": true 1553 }, 1554 { 1555 "type": "forall", 1556 "named": true 1557 }, 1558 { 1559 "type": "gadt_constructor", 1560 "named": true 1561 }, 1562 { 1563 "type": "newtype_constructor", 1564 "named": true 1565 }, 1566 { 1567 "type": "promoted", 1568 "named": true 1569 }, 1570 { 1571 "type": "quasiquote", 1572 "named": true 1573 }, 1574 { 1575 "type": "splice", 1576 "named": true 1577 }, 1578 { 1579 "type": "type_apply", 1580 "named": true 1581 }, 1582 { 1583 "type": "type_infix", 1584 "named": true 1585 }, 1586 { 1587 "type": "type_list", 1588 "named": true 1589 }, 1590 { 1591 "type": "type_literal", 1592 "named": true 1593 }, 1594 { 1595 "type": "type_name", 1596 "named": true 1597 }, 1598 { 1599 "type": "type_parens", 1600 "named": true 1601 }, 1602 { 1603 "type": "type_star", 1604 "named": true 1605 }, 1606 { 1607 "type": "type_tuple", 1608 "named": true 1609 }, 1610 { 1611 "type": "type_unboxed_sum", 1612 "named": true 1613 }, 1614 { 1615 "type": "type_unboxed_tuple", 1616 "named": true 1617 }, 1618 { 1619 "type": "where", 1620 "named": true 1621 } 1622 ] 1623 } 1624 }, 1625 { 1626 "type": "decl_tyfam_sig", 1627 "named": true, 1628 "fields": { 1629 "name": { 1630 "multiple": true, 1631 "required": false, 1632 "types": [ 1633 { 1634 "type": "(", 1635 "named": false 1636 }, 1637 { 1638 "type": ")", 1639 "named": false 1640 }, 1641 { 1642 "type": "constructor_operator", 1643 "named": true 1644 }, 1645 { 1646 "type": "type", 1647 "named": true 1648 }, 1649 { 1650 "type": "type_operator", 1651 "named": true 1652 } 1653 ] 1654 }, 1655 "type": { 1656 "multiple": false, 1657 "required": true, 1658 "types": [ 1659 { 1660 "type": "context", 1661 "named": true 1662 }, 1663 { 1664 "type": "forall", 1665 "named": true 1666 }, 1667 { 1668 "type": "fun", 1669 "named": true 1670 }, 1671 { 1672 "type": "implicit_param", 1673 "named": true 1674 }, 1675 { 1676 "type": "promoted", 1677 "named": true 1678 }, 1679 { 1680 "type": "quasiquote", 1681 "named": true 1682 }, 1683 { 1684 "type": "splice", 1685 "named": true 1686 }, 1687 { 1688 "type": "type_apply", 1689 "named": true 1690 }, 1691 { 1692 "type": "type_infix", 1693 "named": true 1694 }, 1695 { 1696 "type": "type_list", 1697 "named": true 1698 }, 1699 { 1700 "type": "type_literal", 1701 "named": true 1702 }, 1703 { 1704 "type": "type_name", 1705 "named": true 1706 }, 1707 { 1708 "type": "type_parens", 1709 "named": true 1710 }, 1711 { 1712 "type": "type_star", 1713 "named": true 1714 }, 1715 { 1716 "type": "type_tuple", 1717 "named": true 1718 }, 1719 { 1720 "type": "type_unboxed_sum", 1721 "named": true 1722 }, 1723 { 1724 "type": "type_unboxed_tuple", 1725 "named": true 1726 } 1727 ] 1728 } 1729 }, 1730 "children": { 1731 "multiple": true, 1732 "required": false, 1733 "types": [ 1734 { 1735 "type": "annotated_type_variable", 1736 "named": true 1737 }, 1738 { 1739 "type": "type_infix", 1740 "named": true 1741 }, 1742 { 1743 "type": "type_variable", 1744 "named": true 1745 } 1746 ] 1747 } 1748 }, 1749 { 1750 "type": "decl_type", 1751 "named": true, 1752 "fields": { 1753 "name": { 1754 "multiple": true, 1755 "required": false, 1756 "types": [ 1757 { 1758 "type": "(", 1759 "named": false 1760 }, 1761 { 1762 "type": ")", 1763 "named": false 1764 }, 1765 { 1766 "type": "constructor_operator", 1767 "named": true 1768 }, 1769 { 1770 "type": "type", 1771 "named": true 1772 }, 1773 { 1774 "type": "type_operator", 1775 "named": true 1776 } 1777 ] 1778 }, 1779 "type": { 1780 "multiple": false, 1781 "required": false, 1782 "types": [ 1783 { 1784 "type": "context", 1785 "named": true 1786 }, 1787 { 1788 "type": "forall", 1789 "named": true 1790 }, 1791 { 1792 "type": "fun", 1793 "named": true 1794 }, 1795 { 1796 "type": "implicit_param", 1797 "named": true 1798 }, 1799 { 1800 "type": "promoted", 1801 "named": true 1802 }, 1803 { 1804 "type": "quasiquote", 1805 "named": true 1806 }, 1807 { 1808 "type": "splice", 1809 "named": true 1810 }, 1811 { 1812 "type": "type_apply", 1813 "named": true 1814 }, 1815 { 1816 "type": "type_infix", 1817 "named": true 1818 }, 1819 { 1820 "type": "type_list", 1821 "named": true 1822 }, 1823 { 1824 "type": "type_literal", 1825 "named": true 1826 }, 1827 { 1828 "type": "type_name", 1829 "named": true 1830 }, 1831 { 1832 "type": "type_parens", 1833 "named": true 1834 }, 1835 { 1836 "type": "type_star", 1837 "named": true 1838 }, 1839 { 1840 "type": "type_tuple", 1841 "named": true 1842 }, 1843 { 1844 "type": "type_unboxed_sum", 1845 "named": true 1846 }, 1847 { 1848 "type": "type_unboxed_tuple", 1849 "named": true 1850 } 1851 ] 1852 } 1853 }, 1854 "children": { 1855 "multiple": true, 1856 "required": false, 1857 "types": [ 1858 { 1859 "type": "annotated_type_variable", 1860 "named": true 1861 }, 1862 { 1863 "type": "context", 1864 "named": true 1865 }, 1866 { 1867 "type": "forall", 1868 "named": true 1869 }, 1870 { 1871 "type": "fun", 1872 "named": true 1873 }, 1874 { 1875 "type": "implicit_param", 1876 "named": true 1877 }, 1878 { 1879 "type": "promoted", 1880 "named": true 1881 }, 1882 { 1883 "type": "quasiquote", 1884 "named": true 1885 }, 1886 { 1887 "type": "splice", 1888 "named": true 1889 }, 1890 { 1891 "type": "type_apply", 1892 "named": true 1893 }, 1894 { 1895 "type": "type_infix", 1896 "named": true 1897 }, 1898 { 1899 "type": "type_list", 1900 "named": true 1901 }, 1902 { 1903 "type": "type_literal", 1904 "named": true 1905 }, 1906 { 1907 "type": "type_name", 1908 "named": true 1909 }, 1910 { 1911 "type": "type_parens", 1912 "named": true 1913 }, 1914 { 1915 "type": "type_star", 1916 "named": true 1917 }, 1918 { 1919 "type": "type_tuple", 1920 "named": true 1921 }, 1922 { 1923 "type": "type_unboxed_sum", 1924 "named": true 1925 }, 1926 { 1927 "type": "type_unboxed_tuple", 1928 "named": true 1929 }, 1930 { 1931 "type": "type_variable", 1932 "named": true 1933 } 1934 ] 1935 } 1936 }, 1937 { 1938 "type": "decls", 1939 "named": true, 1940 "fields": {}, 1941 "children": { 1942 "multiple": true, 1943 "required": false, 1944 "types": [ 1945 { 1946 "type": "fixity", 1947 "named": true 1948 }, 1949 { 1950 "type": "function", 1951 "named": true 1952 }, 1953 { 1954 "type": "signature", 1955 "named": true 1956 } 1957 ] 1958 } 1959 }, 1960 { 1961 "type": "default_declaration", 1962 "named": true, 1963 "fields": {}, 1964 "children": { 1965 "multiple": true, 1966 "required": false, 1967 "types": [ 1968 { 1969 "type": "comma", 1970 "named": true 1971 }, 1972 { 1973 "type": "promoted", 1974 "named": true 1975 }, 1976 { 1977 "type": "quasiquote", 1978 "named": true 1979 }, 1980 { 1981 "type": "splice", 1982 "named": true 1983 }, 1984 { 1985 "type": "type_apply", 1986 "named": true 1987 }, 1988 { 1989 "type": "type_infix", 1990 "named": true 1991 }, 1992 { 1993 "type": "type_list", 1994 "named": true 1995 }, 1996 { 1997 "type": "type_literal", 1998 "named": true 1999 }, 2000 { 2001 "type": "type_name", 2002 "named": true 2003 }, 2004 { 2005 "type": "type_parens", 2006 "named": true 2007 }, 2008 { 2009 "type": "type_star", 2010 "named": true 2011 }, 2012 { 2013 "type": "type_tuple", 2014 "named": true 2015 }, 2016 { 2017 "type": "type_unboxed_sum", 2018 "named": true 2019 }, 2020 { 2021 "type": "type_unboxed_tuple", 2022 "named": true 2023 } 2024 ] 2025 } 2026 }, 2027 { 2028 "type": "default_signature", 2029 "named": true, 2030 "fields": {}, 2031 "children": { 2032 "multiple": false, 2033 "required": true, 2034 "types": [ 2035 { 2036 "type": "signature", 2037 "named": true 2038 } 2039 ] 2040 } 2041 }, 2042 { 2043 "type": "deriving", 2044 "named": true, 2045 "fields": { 2046 "class": { 2047 "multiple": true, 2048 "required": false, 2049 "types": [ 2050 { 2051 "type": "(", 2052 "named": false 2053 }, 2054 { 2055 "type": ")", 2056 "named": false 2057 }, 2058 { 2059 "type": "constraint", 2060 "named": true 2061 }, 2062 { 2063 "type": "context", 2064 "named": true 2065 }, 2066 { 2067 "type": "forall", 2068 "named": true 2069 }, 2070 { 2071 "type": "qualified_type", 2072 "named": true 2073 }, 2074 { 2075 "type": "type", 2076 "named": true 2077 } 2078 ] 2079 } 2080 }, 2081 "children": { 2082 "multiple": true, 2083 "required": false, 2084 "types": [ 2085 { 2086 "type": "comma", 2087 "named": true 2088 }, 2089 { 2090 "type": "deriving_strategy", 2091 "named": true 2092 }, 2093 { 2094 "type": "via", 2095 "named": true 2096 } 2097 ] 2098 } 2099 }, 2100 { 2101 "type": "deriving_declaration", 2102 "named": true, 2103 "fields": {}, 2104 "children": { 2105 "multiple": true, 2106 "required": true, 2107 "types": [ 2108 { 2109 "type": "context", 2110 "named": true 2111 }, 2112 { 2113 "type": "deriving_strategy", 2114 "named": true 2115 }, 2116 { 2117 "type": "forall", 2118 "named": true 2119 }, 2120 { 2121 "type": "instance_head", 2122 "named": true 2123 }, 2124 { 2125 "type": "via", 2126 "named": true 2127 } 2128 ] 2129 } 2130 }, 2131 { 2132 "type": "deriving_strategy", 2133 "named": true, 2134 "fields": {} 2135 }, 2136 { 2137 "type": "do_module", 2138 "named": true, 2139 "fields": {}, 2140 "children": { 2141 "multiple": true, 2142 "required": true, 2143 "types": [ 2144 { 2145 "type": "module", 2146 "named": true 2147 } 2148 ] 2149 } 2150 }, 2151 { 2152 "type": "equation", 2153 "named": true, 2154 "fields": { 2155 "lhs": { 2156 "multiple": false, 2157 "required": false, 2158 "types": [ 2159 { 2160 "type": "pat_apply", 2161 "named": true 2162 }, 2163 { 2164 "type": "pat_as", 2165 "named": true 2166 }, 2167 { 2168 "type": "pat_infix", 2169 "named": true 2170 }, 2171 { 2172 "type": "pat_irrefutable", 2173 "named": true 2174 }, 2175 { 2176 "type": "pat_list", 2177 "named": true 2178 }, 2179 { 2180 "type": "pat_literal", 2181 "named": true 2182 }, 2183 { 2184 "type": "pat_name", 2185 "named": true 2186 }, 2187 { 2188 "type": "pat_negation", 2189 "named": true 2190 }, 2191 { 2192 "type": "pat_parens", 2193 "named": true 2194 }, 2195 { 2196 "type": "pat_record", 2197 "named": true 2198 }, 2199 { 2200 "type": "pat_strict", 2201 "named": true 2202 }, 2203 { 2204 "type": "pat_tuple", 2205 "named": true 2206 }, 2207 { 2208 "type": "pat_unboxed_tuple", 2209 "named": true 2210 }, 2211 { 2212 "type": "pat_wildcard", 2213 "named": true 2214 }, 2215 { 2216 "type": "quasiquote", 2217 "named": true 2218 }, 2219 { 2220 "type": "splice", 2221 "named": true 2222 } 2223 ] 2224 }, 2225 "rhs": { 2226 "multiple": true, 2227 "required": false, 2228 "types": [ 2229 { 2230 "type": "::", 2231 "named": false 2232 }, 2233 { 2234 "type": "context", 2235 "named": true 2236 }, 2237 { 2238 "type": "exp_apply", 2239 "named": true 2240 }, 2241 { 2242 "type": "exp_arithmetic_sequence", 2243 "named": true 2244 }, 2245 { 2246 "type": "exp_case", 2247 "named": true 2248 }, 2249 { 2250 "type": "exp_cond", 2251 "named": true 2252 }, 2253 { 2254 "type": "exp_do", 2255 "named": true 2256 }, 2257 { 2258 "type": "exp_if_guard", 2259 "named": true 2260 }, 2261 { 2262 "type": "exp_infix", 2263 "named": true 2264 }, 2265 { 2266 "type": "exp_lambda", 2267 "named": true 2268 }, 2269 { 2270 "type": "exp_lambda_case", 2271 "named": true 2272 }, 2273 { 2274 "type": "exp_let_in", 2275 "named": true 2276 }, 2277 { 2278 "type": "exp_list", 2279 "named": true 2280 }, 2281 { 2282 "type": "exp_list_comprehension", 2283 "named": true 2284 }, 2285 { 2286 "type": "exp_literal", 2287 "named": true 2288 }, 2289 { 2290 "type": "exp_name", 2291 "named": true 2292 }, 2293 { 2294 "type": "exp_negation", 2295 "named": true 2296 }, 2297 { 2298 "type": "exp_parens", 2299 "named": true 2300 }, 2301 { 2302 "type": "exp_record", 2303 "named": true 2304 }, 2305 { 2306 "type": "exp_section_left", 2307 "named": true 2308 }, 2309 { 2310 "type": "exp_section_right", 2311 "named": true 2312 }, 2313 { 2314 "type": "exp_th_quoted_name", 2315 "named": true 2316 }, 2317 { 2318 "type": "exp_tuple", 2319 "named": true 2320 }, 2321 { 2322 "type": "exp_type_application", 2323 "named": true 2324 }, 2325 { 2326 "type": "exp_unboxed_sum", 2327 "named": true 2328 }, 2329 { 2330 "type": "exp_unboxed_tuple", 2331 "named": true 2332 }, 2333 { 2334 "type": "forall", 2335 "named": true 2336 }, 2337 { 2338 "type": "fun", 2339 "named": true 2340 }, 2341 { 2342 "type": "implicit_param", 2343 "named": true 2344 }, 2345 { 2346 "type": "pat_apply", 2347 "named": true 2348 }, 2349 { 2350 "type": "pat_as", 2351 "named": true 2352 }, 2353 { 2354 "type": "pat_infix", 2355 "named": true 2356 }, 2357 { 2358 "type": "pat_irrefutable", 2359 "named": true 2360 }, 2361 { 2362 "type": "pat_list", 2363 "named": true 2364 }, 2365 { 2366 "type": "pat_literal", 2367 "named": true 2368 }, 2369 { 2370 "type": "pat_name", 2371 "named": true 2372 }, 2373 { 2374 "type": "pat_negation", 2375 "named": true 2376 }, 2377 { 2378 "type": "pat_parens", 2379 "named": true 2380 }, 2381 { 2382 "type": "pat_record", 2383 "named": true 2384 }, 2385 { 2386 "type": "pat_strict", 2387 "named": true 2388 }, 2389 { 2390 "type": "pat_tuple", 2391 "named": true 2392 }, 2393 { 2394 "type": "pat_unboxed_tuple", 2395 "named": true 2396 }, 2397 { 2398 "type": "pat_wildcard", 2399 "named": true 2400 }, 2401 { 2402 "type": "promoted", 2403 "named": true 2404 }, 2405 { 2406 "type": "quasiquote", 2407 "named": true 2408 }, 2409 { 2410 "type": "splice", 2411 "named": true 2412 }, 2413 { 2414 "type": "type_apply", 2415 "named": true 2416 }, 2417 { 2418 "type": "type_infix", 2419 "named": true 2420 }, 2421 { 2422 "type": "type_list", 2423 "named": true 2424 }, 2425 { 2426 "type": "type_literal", 2427 "named": true 2428 }, 2429 { 2430 "type": "type_name", 2431 "named": true 2432 }, 2433 { 2434 "type": "type_parens", 2435 "named": true 2436 }, 2437 { 2438 "type": "type_star", 2439 "named": true 2440 }, 2441 { 2442 "type": "type_tuple", 2443 "named": true 2444 }, 2445 { 2446 "type": "type_unboxed_sum", 2447 "named": true 2448 }, 2449 { 2450 "type": "type_unboxed_tuple", 2451 "named": true 2452 } 2453 ] 2454 }, 2455 "type": { 2456 "multiple": true, 2457 "required": false, 2458 "types": [ 2459 { 2460 "type": "context", 2461 "named": true 2462 }, 2463 { 2464 "type": "forall", 2465 "named": true 2466 }, 2467 { 2468 "type": "fun", 2469 "named": true 2470 }, 2471 { 2472 "type": "implicit_param", 2473 "named": true 2474 }, 2475 { 2476 "type": "promoted", 2477 "named": true 2478 }, 2479 { 2480 "type": "quasiquote", 2481 "named": true 2482 }, 2483 { 2484 "type": "splice", 2485 "named": true 2486 }, 2487 { 2488 "type": "type_apply", 2489 "named": true 2490 }, 2491 { 2492 "type": "type_infix", 2493 "named": true 2494 }, 2495 { 2496 "type": "type_list", 2497 "named": true 2498 }, 2499 { 2500 "type": "type_literal", 2501 "named": true 2502 }, 2503 { 2504 "type": "type_name", 2505 "named": true 2506 }, 2507 { 2508 "type": "type_parens", 2509 "named": true 2510 }, 2511 { 2512 "type": "type_star", 2513 "named": true 2514 }, 2515 { 2516 "type": "type_tuple", 2517 "named": true 2518 }, 2519 { 2520 "type": "type_unboxed_sum", 2521 "named": true 2522 }, 2523 { 2524 "type": "type_unboxed_tuple", 2525 "named": true 2526 } 2527 ] 2528 } 2529 }, 2530 "children": { 2531 "multiple": true, 2532 "required": false, 2533 "types": [ 2534 { 2535 "type": "context", 2536 "named": true 2537 }, 2538 { 2539 "type": "decls", 2540 "named": true 2541 }, 2542 { 2543 "type": "forall", 2544 "named": true 2545 }, 2546 { 2547 "type": "fun", 2548 "named": true 2549 }, 2550 { 2551 "type": "guard_equation", 2552 "named": true 2553 }, 2554 { 2555 "type": "implicit_param", 2556 "named": true 2557 }, 2558 { 2559 "type": "pat_apply", 2560 "named": true 2561 }, 2562 { 2563 "type": "pat_as", 2564 "named": true 2565 }, 2566 { 2567 "type": "pat_infix", 2568 "named": true 2569 }, 2570 { 2571 "type": "pat_irrefutable", 2572 "named": true 2573 }, 2574 { 2575 "type": "pat_list", 2576 "named": true 2577 }, 2578 { 2579 "type": "pat_literal", 2580 "named": true 2581 }, 2582 { 2583 "type": "pat_name", 2584 "named": true 2585 }, 2586 { 2587 "type": "pat_negation", 2588 "named": true 2589 }, 2590 { 2591 "type": "pat_parens", 2592 "named": true 2593 }, 2594 { 2595 "type": "pat_record", 2596 "named": true 2597 }, 2598 { 2599 "type": "pat_strict", 2600 "named": true 2601 }, 2602 { 2603 "type": "pat_tuple", 2604 "named": true 2605 }, 2606 { 2607 "type": "pat_unboxed_tuple", 2608 "named": true 2609 }, 2610 { 2611 "type": "pat_wildcard", 2612 "named": true 2613 }, 2614 { 2615 "type": "pattern", 2616 "named": true 2617 }, 2618 { 2619 "type": "promoted", 2620 "named": true 2621 }, 2622 { 2623 "type": "quasiquote", 2624 "named": true 2625 }, 2626 { 2627 "type": "splice", 2628 "named": true 2629 }, 2630 { 2631 "type": "type_apply", 2632 "named": true 2633 }, 2634 { 2635 "type": "type_infix", 2636 "named": true 2637 }, 2638 { 2639 "type": "type_list", 2640 "named": true 2641 }, 2642 { 2643 "type": "type_literal", 2644 "named": true 2645 }, 2646 { 2647 "type": "type_name", 2648 "named": true 2649 }, 2650 { 2651 "type": "type_parens", 2652 "named": true 2653 }, 2654 { 2655 "type": "type_star", 2656 "named": true 2657 }, 2658 { 2659 "type": "type_tuple", 2660 "named": true 2661 }, 2662 { 2663 "type": "type_unboxed_sum", 2664 "named": true 2665 }, 2666 { 2667 "type": "type_unboxed_tuple", 2668 "named": true 2669 }, 2670 { 2671 "type": "where", 2672 "named": true 2673 } 2674 ] 2675 } 2676 }, 2677 { 2678 "type": "exp_apply", 2679 "named": true, 2680 "fields": {}, 2681 "children": { 2682 "multiple": true, 2683 "required": true, 2684 "types": [ 2685 { 2686 "type": "exp_arithmetic_sequence", 2687 "named": true 2688 }, 2689 { 2690 "type": "exp_case", 2691 "named": true 2692 }, 2693 { 2694 "type": "exp_cond", 2695 "named": true 2696 }, 2697 { 2698 "type": "exp_do", 2699 "named": true 2700 }, 2701 { 2702 "type": "exp_lambda", 2703 "named": true 2704 }, 2705 { 2706 "type": "exp_lambda_case", 2707 "named": true 2708 }, 2709 { 2710 "type": "exp_let_in", 2711 "named": true 2712 }, 2713 { 2714 "type": "exp_list", 2715 "named": true 2716 }, 2717 { 2718 "type": "exp_list_comprehension", 2719 "named": true 2720 }, 2721 { 2722 "type": "exp_literal", 2723 "named": true 2724 }, 2725 { 2726 "type": "exp_name", 2727 "named": true 2728 }, 2729 { 2730 "type": "exp_parens", 2731 "named": true 2732 }, 2733 { 2734 "type": "exp_record", 2735 "named": true 2736 }, 2737 { 2738 "type": "exp_section_left", 2739 "named": true 2740 }, 2741 { 2742 "type": "exp_section_right", 2743 "named": true 2744 }, 2745 { 2746 "type": "exp_th_quoted_name", 2747 "named": true 2748 }, 2749 { 2750 "type": "exp_tuple", 2751 "named": true 2752 }, 2753 { 2754 "type": "exp_type_application", 2755 "named": true 2756 }, 2757 { 2758 "type": "exp_unboxed_sum", 2759 "named": true 2760 }, 2761 { 2762 "type": "exp_unboxed_tuple", 2763 "named": true 2764 }, 2765 { 2766 "type": "quasiquote", 2767 "named": true 2768 }, 2769 { 2770 "type": "splice", 2771 "named": true 2772 } 2773 ] 2774 } 2775 }, 2776 { 2777 "type": "exp_arithmetic_sequence", 2778 "named": true, 2779 "fields": { 2780 "from": { 2781 "multiple": true, 2782 "required": true, 2783 "types": [ 2784 { 2785 "type": "::", 2786 "named": false 2787 }, 2788 { 2789 "type": "context", 2790 "named": true 2791 }, 2792 { 2793 "type": "exp_apply", 2794 "named": true 2795 }, 2796 { 2797 "type": "exp_arithmetic_sequence", 2798 "named": true 2799 }, 2800 { 2801 "type": "exp_case", 2802 "named": true 2803 }, 2804 { 2805 "type": "exp_cond", 2806 "named": true 2807 }, 2808 { 2809 "type": "exp_do", 2810 "named": true 2811 }, 2812 { 2813 "type": "exp_if_guard", 2814 "named": true 2815 }, 2816 { 2817 "type": "exp_infix", 2818 "named": true 2819 }, 2820 { 2821 "type": "exp_lambda", 2822 "named": true 2823 }, 2824 { 2825 "type": "exp_lambda_case", 2826 "named": true 2827 }, 2828 { 2829 "type": "exp_let_in", 2830 "named": true 2831 }, 2832 { 2833 "type": "exp_list", 2834 "named": true 2835 }, 2836 { 2837 "type": "exp_list_comprehension", 2838 "named": true 2839 }, 2840 { 2841 "type": "exp_literal", 2842 "named": true 2843 }, 2844 { 2845 "type": "exp_name", 2846 "named": true 2847 }, 2848 { 2849 "type": "exp_negation", 2850 "named": true 2851 }, 2852 { 2853 "type": "exp_parens", 2854 "named": true 2855 }, 2856 { 2857 "type": "exp_record", 2858 "named": true 2859 }, 2860 { 2861 "type": "exp_section_left", 2862 "named": true 2863 }, 2864 { 2865 "type": "exp_section_right", 2866 "named": true 2867 }, 2868 { 2869 "type": "exp_th_quoted_name", 2870 "named": true 2871 }, 2872 { 2873 "type": "exp_tuple", 2874 "named": true 2875 }, 2876 { 2877 "type": "exp_type_application", 2878 "named": true 2879 }, 2880 { 2881 "type": "exp_unboxed_sum", 2882 "named": true 2883 }, 2884 { 2885 "type": "exp_unboxed_tuple", 2886 "named": true 2887 }, 2888 { 2889 "type": "forall", 2890 "named": true 2891 }, 2892 { 2893 "type": "fun", 2894 "named": true 2895 }, 2896 { 2897 "type": "implicit_param", 2898 "named": true 2899 }, 2900 { 2901 "type": "promoted", 2902 "named": true 2903 }, 2904 { 2905 "type": "quasiquote", 2906 "named": true 2907 }, 2908 { 2909 "type": "splice", 2910 "named": true 2911 }, 2912 { 2913 "type": "type_apply", 2914 "named": true 2915 }, 2916 { 2917 "type": "type_infix", 2918 "named": true 2919 }, 2920 { 2921 "type": "type_list", 2922 "named": true 2923 }, 2924 { 2925 "type": "type_literal", 2926 "named": true 2927 }, 2928 { 2929 "type": "type_name", 2930 "named": true 2931 }, 2932 { 2933 "type": "type_parens", 2934 "named": true 2935 }, 2936 { 2937 "type": "type_star", 2938 "named": true 2939 }, 2940 { 2941 "type": "type_tuple", 2942 "named": true 2943 }, 2944 { 2945 "type": "type_unboxed_sum", 2946 "named": true 2947 }, 2948 { 2949 "type": "type_unboxed_tuple", 2950 "named": true 2951 } 2952 ] 2953 }, 2954 "step": { 2955 "multiple": true, 2956 "required": false, 2957 "types": [ 2958 { 2959 "type": "::", 2960 "named": false 2961 }, 2962 { 2963 "type": "context", 2964 "named": true 2965 }, 2966 { 2967 "type": "exp_apply", 2968 "named": true 2969 }, 2970 { 2971 "type": "exp_arithmetic_sequence", 2972 "named": true 2973 }, 2974 { 2975 "type": "exp_case", 2976 "named": true 2977 }, 2978 { 2979 "type": "exp_cond", 2980 "named": true 2981 }, 2982 { 2983 "type": "exp_do", 2984 "named": true 2985 }, 2986 { 2987 "type": "exp_if_guard", 2988 "named": true 2989 }, 2990 { 2991 "type": "exp_infix", 2992 "named": true 2993 }, 2994 { 2995 "type": "exp_lambda", 2996 "named": true 2997 }, 2998 { 2999 "type": "exp_lambda_case", 3000 "named": true 3001 }, 3002 { 3003 "type": "exp_let_in", 3004 "named": true 3005 }, 3006 { 3007 "type": "exp_list", 3008 "named": true 3009 }, 3010 { 3011 "type": "exp_list_comprehension", 3012 "named": true 3013 }, 3014 { 3015 "type": "exp_literal", 3016 "named": true 3017 }, 3018 { 3019 "type": "exp_name", 3020 "named": true 3021 }, 3022 { 3023 "type": "exp_negation", 3024 "named": true 3025 }, 3026 { 3027 "type": "exp_parens", 3028 "named": true 3029 }, 3030 { 3031 "type": "exp_record", 3032 "named": true 3033 }, 3034 { 3035 "type": "exp_section_left", 3036 "named": true 3037 }, 3038 { 3039 "type": "exp_section_right", 3040 "named": true 3041 }, 3042 { 3043 "type": "exp_th_quoted_name", 3044 "named": true 3045 }, 3046 { 3047 "type": "exp_tuple", 3048 "named": true 3049 }, 3050 { 3051 "type": "exp_type_application", 3052 "named": true 3053 }, 3054 { 3055 "type": "exp_unboxed_sum", 3056 "named": true 3057 }, 3058 { 3059 "type": "exp_unboxed_tuple", 3060 "named": true 3061 }, 3062 { 3063 "type": "forall", 3064 "named": true 3065 }, 3066 { 3067 "type": "fun", 3068 "named": true 3069 }, 3070 { 3071 "type": "implicit_param", 3072 "named": true 3073 }, 3074 { 3075 "type": "promoted", 3076 "named": true 3077 }, 3078 { 3079 "type": "quasiquote", 3080 "named": true 3081 }, 3082 { 3083 "type": "splice", 3084 "named": true 3085 }, 3086 { 3087 "type": "type_apply", 3088 "named": true 3089 }, 3090 { 3091 "type": "type_infix", 3092 "named": true 3093 }, 3094 { 3095 "type": "type_list", 3096 "named": true 3097 }, 3098 { 3099 "type": "type_literal", 3100 "named": true 3101 }, 3102 { 3103 "type": "type_name", 3104 "named": true 3105 }, 3106 { 3107 "type": "type_parens", 3108 "named": true 3109 }, 3110 { 3111 "type": "type_star", 3112 "named": true 3113 }, 3114 { 3115 "type": "type_tuple", 3116 "named": true 3117 }, 3118 { 3119 "type": "type_unboxed_sum", 3120 "named": true 3121 }, 3122 { 3123 "type": "type_unboxed_tuple", 3124 "named": true 3125 } 3126 ] 3127 }, 3128 "to": { 3129 "multiple": true, 3130 "required": false, 3131 "types": [ 3132 { 3133 "type": "::", 3134 "named": false 3135 }, 3136 { 3137 "type": "context", 3138 "named": true 3139 }, 3140 { 3141 "type": "exp_apply", 3142 "named": true 3143 }, 3144 { 3145 "type": "exp_arithmetic_sequence", 3146 "named": true 3147 }, 3148 { 3149 "type": "exp_case", 3150 "named": true 3151 }, 3152 { 3153 "type": "exp_cond", 3154 "named": true 3155 }, 3156 { 3157 "type": "exp_do", 3158 "named": true 3159 }, 3160 { 3161 "type": "exp_if_guard", 3162 "named": true 3163 }, 3164 { 3165 "type": "exp_infix", 3166 "named": true 3167 }, 3168 { 3169 "type": "exp_lambda", 3170 "named": true 3171 }, 3172 { 3173 "type": "exp_lambda_case", 3174 "named": true 3175 }, 3176 { 3177 "type": "exp_let_in", 3178 "named": true 3179 }, 3180 { 3181 "type": "exp_list", 3182 "named": true 3183 }, 3184 { 3185 "type": "exp_list_comprehension", 3186 "named": true 3187 }, 3188 { 3189 "type": "exp_literal", 3190 "named": true 3191 }, 3192 { 3193 "type": "exp_name", 3194 "named": true 3195 }, 3196 { 3197 "type": "exp_negation", 3198 "named": true 3199 }, 3200 { 3201 "type": "exp_parens", 3202 "named": true 3203 }, 3204 { 3205 "type": "exp_record", 3206 "named": true 3207 }, 3208 { 3209 "type": "exp_section_left", 3210 "named": true 3211 }, 3212 { 3213 "type": "exp_section_right", 3214 "named": true 3215 }, 3216 { 3217 "type": "exp_th_quoted_name", 3218 "named": true 3219 }, 3220 { 3221 "type": "exp_tuple", 3222 "named": true 3223 }, 3224 { 3225 "type": "exp_type_application", 3226 "named": true 3227 }, 3228 { 3229 "type": "exp_unboxed_sum", 3230 "named": true 3231 }, 3232 { 3233 "type": "exp_unboxed_tuple", 3234 "named": true 3235 }, 3236 { 3237 "type": "forall", 3238 "named": true 3239 }, 3240 { 3241 "type": "fun", 3242 "named": true 3243 }, 3244 { 3245 "type": "implicit_param", 3246 "named": true 3247 }, 3248 { 3249 "type": "promoted", 3250 "named": true 3251 }, 3252 { 3253 "type": "quasiquote", 3254 "named": true 3255 }, 3256 { 3257 "type": "splice", 3258 "named": true 3259 }, 3260 { 3261 "type": "type_apply", 3262 "named": true 3263 }, 3264 { 3265 "type": "type_infix", 3266 "named": true 3267 }, 3268 { 3269 "type": "type_list", 3270 "named": true 3271 }, 3272 { 3273 "type": "type_literal", 3274 "named": true 3275 }, 3276 { 3277 "type": "type_name", 3278 "named": true 3279 }, 3280 { 3281 "type": "type_parens", 3282 "named": true 3283 }, 3284 { 3285 "type": "type_star", 3286 "named": true 3287 }, 3288 { 3289 "type": "type_tuple", 3290 "named": true 3291 }, 3292 { 3293 "type": "type_unboxed_sum", 3294 "named": true 3295 }, 3296 { 3297 "type": "type_unboxed_tuple", 3298 "named": true 3299 } 3300 ] 3301 }, 3302 "type": { 3303 "multiple": true, 3304 "required": false, 3305 "types": [ 3306 { 3307 "type": "context", 3308 "named": true 3309 }, 3310 { 3311 "type": "forall", 3312 "named": true 3313 }, 3314 { 3315 "type": "fun", 3316 "named": true 3317 }, 3318 { 3319 "type": "implicit_param", 3320 "named": true 3321 }, 3322 { 3323 "type": "promoted", 3324 "named": true 3325 }, 3326 { 3327 "type": "quasiquote", 3328 "named": true 3329 }, 3330 { 3331 "type": "splice", 3332 "named": true 3333 }, 3334 { 3335 "type": "type_apply", 3336 "named": true 3337 }, 3338 { 3339 "type": "type_infix", 3340 "named": true 3341 }, 3342 { 3343 "type": "type_list", 3344 "named": true 3345 }, 3346 { 3347 "type": "type_literal", 3348 "named": true 3349 }, 3350 { 3351 "type": "type_name", 3352 "named": true 3353 }, 3354 { 3355 "type": "type_parens", 3356 "named": true 3357 }, 3358 { 3359 "type": "type_star", 3360 "named": true 3361 }, 3362 { 3363 "type": "type_tuple", 3364 "named": true 3365 }, 3366 { 3367 "type": "type_unboxed_sum", 3368 "named": true 3369 }, 3370 { 3371 "type": "type_unboxed_tuple", 3372 "named": true 3373 } 3374 ] 3375 } 3376 }, 3377 "children": { 3378 "multiple": false, 3379 "required": false, 3380 "types": [ 3381 { 3382 "type": "comma", 3383 "named": true 3384 } 3385 ] 3386 } 3387 }, 3388 { 3389 "type": "exp_case", 3390 "named": true, 3391 "fields": { 3392 "type": { 3393 "multiple": false, 3394 "required": false, 3395 "types": [ 3396 { 3397 "type": "context", 3398 "named": true 3399 }, 3400 { 3401 "type": "forall", 3402 "named": true 3403 }, 3404 { 3405 "type": "fun", 3406 "named": true 3407 }, 3408 { 3409 "type": "implicit_param", 3410 "named": true 3411 }, 3412 { 3413 "type": "promoted", 3414 "named": true 3415 }, 3416 { 3417 "type": "quasiquote", 3418 "named": true 3419 }, 3420 { 3421 "type": "splice", 3422 "named": true 3423 }, 3424 { 3425 "type": "type_apply", 3426 "named": true 3427 }, 3428 { 3429 "type": "type_infix", 3430 "named": true 3431 }, 3432 { 3433 "type": "type_list", 3434 "named": true 3435 }, 3436 { 3437 "type": "type_literal", 3438 "named": true 3439 }, 3440 { 3441 "type": "type_name", 3442 "named": true 3443 }, 3444 { 3445 "type": "type_parens", 3446 "named": true 3447 }, 3448 { 3449 "type": "type_star", 3450 "named": true 3451 }, 3452 { 3453 "type": "type_tuple", 3454 "named": true 3455 }, 3456 { 3457 "type": "type_unboxed_sum", 3458 "named": true 3459 }, 3460 { 3461 "type": "type_unboxed_tuple", 3462 "named": true 3463 } 3464 ] 3465 } 3466 }, 3467 "children": { 3468 "multiple": true, 3469 "required": true, 3470 "types": [ 3471 { 3472 "type": "alts", 3473 "named": true 3474 }, 3475 { 3476 "type": "exp_apply", 3477 "named": true 3478 }, 3479 { 3480 "type": "exp_arithmetic_sequence", 3481 "named": true 3482 }, 3483 { 3484 "type": "exp_case", 3485 "named": true 3486 }, 3487 { 3488 "type": "exp_cond", 3489 "named": true 3490 }, 3491 { 3492 "type": "exp_do", 3493 "named": true 3494 }, 3495 { 3496 "type": "exp_if_guard", 3497 "named": true 3498 }, 3499 { 3500 "type": "exp_infix", 3501 "named": true 3502 }, 3503 { 3504 "type": "exp_lambda", 3505 "named": true 3506 }, 3507 { 3508 "type": "exp_lambda_case", 3509 "named": true 3510 }, 3511 { 3512 "type": "exp_let_in", 3513 "named": true 3514 }, 3515 { 3516 "type": "exp_list", 3517 "named": true 3518 }, 3519 { 3520 "type": "exp_list_comprehension", 3521 "named": true 3522 }, 3523 { 3524 "type": "exp_literal", 3525 "named": true 3526 }, 3527 { 3528 "type": "exp_name", 3529 "named": true 3530 }, 3531 { 3532 "type": "exp_negation", 3533 "named": true 3534 }, 3535 { 3536 "type": "exp_parens", 3537 "named": true 3538 }, 3539 { 3540 "type": "exp_record", 3541 "named": true 3542 }, 3543 { 3544 "type": "exp_section_left", 3545 "named": true 3546 }, 3547 { 3548 "type": "exp_section_right", 3549 "named": true 3550 }, 3551 { 3552 "type": "exp_th_quoted_name", 3553 "named": true 3554 }, 3555 { 3556 "type": "exp_tuple", 3557 "named": true 3558 }, 3559 { 3560 "type": "exp_type_application", 3561 "named": true 3562 }, 3563 { 3564 "type": "exp_unboxed_sum", 3565 "named": true 3566 }, 3567 { 3568 "type": "exp_unboxed_tuple", 3569 "named": true 3570 }, 3571 { 3572 "type": "quasiquote", 3573 "named": true 3574 }, 3575 { 3576 "type": "splice", 3577 "named": true 3578 } 3579 ] 3580 } 3581 }, 3582 { 3583 "type": "exp_cond", 3584 "named": true, 3585 "fields": { 3586 "else": { 3587 "multiple": true, 3588 "required": true, 3589 "types": [ 3590 { 3591 "type": "::", 3592 "named": false 3593 }, 3594 { 3595 "type": "context", 3596 "named": true 3597 }, 3598 { 3599 "type": "exp_apply", 3600 "named": true 3601 }, 3602 { 3603 "type": "exp_arithmetic_sequence", 3604 "named": true 3605 }, 3606 { 3607 "type": "exp_case", 3608 "named": true 3609 }, 3610 { 3611 "type": "exp_cond", 3612 "named": true 3613 }, 3614 { 3615 "type": "exp_do", 3616 "named": true 3617 }, 3618 { 3619 "type": "exp_if_guard", 3620 "named": true 3621 }, 3622 { 3623 "type": "exp_infix", 3624 "named": true 3625 }, 3626 { 3627 "type": "exp_lambda", 3628 "named": true 3629 }, 3630 { 3631 "type": "exp_lambda_case", 3632 "named": true 3633 }, 3634 { 3635 "type": "exp_let_in", 3636 "named": true 3637 }, 3638 { 3639 "type": "exp_list", 3640 "named": true 3641 }, 3642 { 3643 "type": "exp_list_comprehension", 3644 "named": true 3645 }, 3646 { 3647 "type": "exp_literal", 3648 "named": true 3649 }, 3650 { 3651 "type": "exp_name", 3652 "named": true 3653 }, 3654 { 3655 "type": "exp_negation", 3656 "named": true 3657 }, 3658 { 3659 "type": "exp_parens", 3660 "named": true 3661 }, 3662 { 3663 "type": "exp_record", 3664 "named": true 3665 }, 3666 { 3667 "type": "exp_section_left", 3668 "named": true 3669 }, 3670 { 3671 "type": "exp_section_right", 3672 "named": true 3673 }, 3674 { 3675 "type": "exp_th_quoted_name", 3676 "named": true 3677 }, 3678 { 3679 "type": "exp_tuple", 3680 "named": true 3681 }, 3682 { 3683 "type": "exp_type_application", 3684 "named": true 3685 }, 3686 { 3687 "type": "exp_unboxed_sum", 3688 "named": true 3689 }, 3690 { 3691 "type": "exp_unboxed_tuple", 3692 "named": true 3693 }, 3694 { 3695 "type": "forall", 3696 "named": true 3697 }, 3698 { 3699 "type": "fun", 3700 "named": true 3701 }, 3702 { 3703 "type": "implicit_param", 3704 "named": true 3705 }, 3706 { 3707 "type": "promoted", 3708 "named": true 3709 }, 3710 { 3711 "type": "quasiquote", 3712 "named": true 3713 }, 3714 { 3715 "type": "splice", 3716 "named": true 3717 }, 3718 { 3719 "type": "type_apply", 3720 "named": true 3721 }, 3722 { 3723 "type": "type_infix", 3724 "named": true 3725 }, 3726 { 3727 "type": "type_list", 3728 "named": true 3729 }, 3730 { 3731 "type": "type_literal", 3732 "named": true 3733 }, 3734 { 3735 "type": "type_name", 3736 "named": true 3737 }, 3738 { 3739 "type": "type_parens", 3740 "named": true 3741 }, 3742 { 3743 "type": "type_star", 3744 "named": true 3745 }, 3746 { 3747 "type": "type_tuple", 3748 "named": true 3749 }, 3750 { 3751 "type": "type_unboxed_sum", 3752 "named": true 3753 }, 3754 { 3755 "type": "type_unboxed_tuple", 3756 "named": true 3757 } 3758 ] 3759 }, 3760 "if": { 3761 "multiple": true, 3762 "required": true, 3763 "types": [ 3764 { 3765 "type": "::", 3766 "named": false 3767 }, 3768 { 3769 "type": "context", 3770 "named": true 3771 }, 3772 { 3773 "type": "exp_apply", 3774 "named": true 3775 }, 3776 { 3777 "type": "exp_arithmetic_sequence", 3778 "named": true 3779 }, 3780 { 3781 "type": "exp_case", 3782 "named": true 3783 }, 3784 { 3785 "type": "exp_cond", 3786 "named": true 3787 }, 3788 { 3789 "type": "exp_do", 3790 "named": true 3791 }, 3792 { 3793 "type": "exp_if_guard", 3794 "named": true 3795 }, 3796 { 3797 "type": "exp_infix", 3798 "named": true 3799 }, 3800 { 3801 "type": "exp_lambda", 3802 "named": true 3803 }, 3804 { 3805 "type": "exp_lambda_case", 3806 "named": true 3807 }, 3808 { 3809 "type": "exp_let_in", 3810 "named": true 3811 }, 3812 { 3813 "type": "exp_list", 3814 "named": true 3815 }, 3816 { 3817 "type": "exp_list_comprehension", 3818 "named": true 3819 }, 3820 { 3821 "type": "exp_literal", 3822 "named": true 3823 }, 3824 { 3825 "type": "exp_name", 3826 "named": true 3827 }, 3828 { 3829 "type": "exp_negation", 3830 "named": true 3831 }, 3832 { 3833 "type": "exp_parens", 3834 "named": true 3835 }, 3836 { 3837 "type": "exp_record", 3838 "named": true 3839 }, 3840 { 3841 "type": "exp_section_left", 3842 "named": true 3843 }, 3844 { 3845 "type": "exp_section_right", 3846 "named": true 3847 }, 3848 { 3849 "type": "exp_th_quoted_name", 3850 "named": true 3851 }, 3852 { 3853 "type": "exp_tuple", 3854 "named": true 3855 }, 3856 { 3857 "type": "exp_type_application", 3858 "named": true 3859 }, 3860 { 3861 "type": "exp_unboxed_sum", 3862 "named": true 3863 }, 3864 { 3865 "type": "exp_unboxed_tuple", 3866 "named": true 3867 }, 3868 { 3869 "type": "forall", 3870 "named": true 3871 }, 3872 { 3873 "type": "fun", 3874 "named": true 3875 }, 3876 { 3877 "type": "implicit_param", 3878 "named": true 3879 }, 3880 { 3881 "type": "promoted", 3882 "named": true 3883 }, 3884 { 3885 "type": "quasiquote", 3886 "named": true 3887 }, 3888 { 3889 "type": "splice", 3890 "named": true 3891 }, 3892 { 3893 "type": "type_apply", 3894 "named": true 3895 }, 3896 { 3897 "type": "type_infix", 3898 "named": true 3899 }, 3900 { 3901 "type": "type_list", 3902 "named": true 3903 }, 3904 { 3905 "type": "type_literal", 3906 "named": true 3907 }, 3908 { 3909 "type": "type_name", 3910 "named": true 3911 }, 3912 { 3913 "type": "type_parens", 3914 "named": true 3915 }, 3916 { 3917 "type": "type_star", 3918 "named": true 3919 }, 3920 { 3921 "type": "type_tuple", 3922 "named": true 3923 }, 3924 { 3925 "type": "type_unboxed_sum", 3926 "named": true 3927 }, 3928 { 3929 "type": "type_unboxed_tuple", 3930 "named": true 3931 } 3932 ] 3933 }, 3934 "then": { 3935 "multiple": true, 3936 "required": true, 3937 "types": [ 3938 { 3939 "type": "::", 3940 "named": false 3941 }, 3942 { 3943 "type": "context", 3944 "named": true 3945 }, 3946 { 3947 "type": "exp_apply", 3948 "named": true 3949 }, 3950 { 3951 "type": "exp_arithmetic_sequence", 3952 "named": true 3953 }, 3954 { 3955 "type": "exp_case", 3956 "named": true 3957 }, 3958 { 3959 "type": "exp_cond", 3960 "named": true 3961 }, 3962 { 3963 "type": "exp_do", 3964 "named": true 3965 }, 3966 { 3967 "type": "exp_if_guard", 3968 "named": true 3969 }, 3970 { 3971 "type": "exp_infix", 3972 "named": true 3973 }, 3974 { 3975 "type": "exp_lambda", 3976 "named": true 3977 }, 3978 { 3979 "type": "exp_lambda_case", 3980 "named": true 3981 }, 3982 { 3983 "type": "exp_let_in", 3984 "named": true 3985 }, 3986 { 3987 "type": "exp_list", 3988 "named": true 3989 }, 3990 { 3991 "type": "exp_list_comprehension", 3992 "named": true 3993 }, 3994 { 3995 "type": "exp_literal", 3996 "named": true 3997 }, 3998 { 3999 "type": "exp_name", 4000 "named": true 4001 }, 4002 { 4003 "type": "exp_negation", 4004 "named": true 4005 }, 4006 { 4007 "type": "exp_parens", 4008 "named": true 4009 }, 4010 { 4011 "type": "exp_record", 4012 "named": true 4013 }, 4014 { 4015 "type": "exp_section_left", 4016 "named": true 4017 }, 4018 { 4019 "type": "exp_section_right", 4020 "named": true 4021 }, 4022 { 4023 "type": "exp_th_quoted_name", 4024 "named": true 4025 }, 4026 { 4027 "type": "exp_tuple", 4028 "named": true 4029 }, 4030 { 4031 "type": "exp_type_application", 4032 "named": true 4033 }, 4034 { 4035 "type": "exp_unboxed_sum", 4036 "named": true 4037 }, 4038 { 4039 "type": "exp_unboxed_tuple", 4040 "named": true 4041 }, 4042 { 4043 "type": "forall", 4044 "named": true 4045 }, 4046 { 4047 "type": "fun", 4048 "named": true 4049 }, 4050 { 4051 "type": "implicit_param", 4052 "named": true 4053 }, 4054 { 4055 "type": "promoted", 4056 "named": true 4057 }, 4058 { 4059 "type": "quasiquote", 4060 "named": true 4061 }, 4062 { 4063 "type": "splice", 4064 "named": true 4065 }, 4066 { 4067 "type": "type_apply", 4068 "named": true 4069 }, 4070 { 4071 "type": "type_infix", 4072 "named": true 4073 }, 4074 { 4075 "type": "type_list", 4076 "named": true 4077 }, 4078 { 4079 "type": "type_literal", 4080 "named": true 4081 }, 4082 { 4083 "type": "type_name", 4084 "named": true 4085 }, 4086 { 4087 "type": "type_parens", 4088 "named": true 4089 }, 4090 { 4091 "type": "type_star", 4092 "named": true 4093 }, 4094 { 4095 "type": "type_tuple", 4096 "named": true 4097 }, 4098 { 4099 "type": "type_unboxed_sum", 4100 "named": true 4101 }, 4102 { 4103 "type": "type_unboxed_tuple", 4104 "named": true 4105 } 4106 ] 4107 }, 4108 "type": { 4109 "multiple": true, 4110 "required": false, 4111 "types": [ 4112 { 4113 "type": "context", 4114 "named": true 4115 }, 4116 { 4117 "type": "forall", 4118 "named": true 4119 }, 4120 { 4121 "type": "fun", 4122 "named": true 4123 }, 4124 { 4125 "type": "implicit_param", 4126 "named": true 4127 }, 4128 { 4129 "type": "promoted", 4130 "named": true 4131 }, 4132 { 4133 "type": "quasiquote", 4134 "named": true 4135 }, 4136 { 4137 "type": "splice", 4138 "named": true 4139 }, 4140 { 4141 "type": "type_apply", 4142 "named": true 4143 }, 4144 { 4145 "type": "type_infix", 4146 "named": true 4147 }, 4148 { 4149 "type": "type_list", 4150 "named": true 4151 }, 4152 { 4153 "type": "type_literal", 4154 "named": true 4155 }, 4156 { 4157 "type": "type_name", 4158 "named": true 4159 }, 4160 { 4161 "type": "type_parens", 4162 "named": true 4163 }, 4164 { 4165 "type": "type_star", 4166 "named": true 4167 }, 4168 { 4169 "type": "type_tuple", 4170 "named": true 4171 }, 4172 { 4173 "type": "type_unboxed_sum", 4174 "named": true 4175 }, 4176 { 4177 "type": "type_unboxed_tuple", 4178 "named": true 4179 } 4180 ] 4181 } 4182 } 4183 }, 4184 { 4185 "type": "exp_do", 4186 "named": true, 4187 "fields": {}, 4188 "children": { 4189 "multiple": true, 4190 "required": false, 4191 "types": [ 4192 { 4193 "type": "do_module", 4194 "named": true 4195 }, 4196 { 4197 "type": "stmt", 4198 "named": true 4199 } 4200 ] 4201 } 4202 }, 4203 { 4204 "type": "exp_field", 4205 "named": true, 4206 "fields": { 4207 "type": { 4208 "multiple": false, 4209 "required": false, 4210 "types": [ 4211 { 4212 "type": "context", 4213 "named": true 4214 }, 4215 { 4216 "type": "forall", 4217 "named": true 4218 }, 4219 { 4220 "type": "fun", 4221 "named": true 4222 }, 4223 { 4224 "type": "implicit_param", 4225 "named": true 4226 }, 4227 { 4228 "type": "promoted", 4229 "named": true 4230 }, 4231 { 4232 "type": "quasiquote", 4233 "named": true 4234 }, 4235 { 4236 "type": "splice", 4237 "named": true 4238 }, 4239 { 4240 "type": "type_apply", 4241 "named": true 4242 }, 4243 { 4244 "type": "type_infix", 4245 "named": true 4246 }, 4247 { 4248 "type": "type_list", 4249 "named": true 4250 }, 4251 { 4252 "type": "type_literal", 4253 "named": true 4254 }, 4255 { 4256 "type": "type_name", 4257 "named": true 4258 }, 4259 { 4260 "type": "type_parens", 4261 "named": true 4262 }, 4263 { 4264 "type": "type_star", 4265 "named": true 4266 }, 4267 { 4268 "type": "type_tuple", 4269 "named": true 4270 }, 4271 { 4272 "type": "type_unboxed_sum", 4273 "named": true 4274 }, 4275 { 4276 "type": "type_unboxed_tuple", 4277 "named": true 4278 } 4279 ] 4280 } 4281 }, 4282 "children": { 4283 "multiple": true, 4284 "required": true, 4285 "types": [ 4286 { 4287 "type": "exp_apply", 4288 "named": true 4289 }, 4290 { 4291 "type": "exp_arithmetic_sequence", 4292 "named": true 4293 }, 4294 { 4295 "type": "exp_case", 4296 "named": true 4297 }, 4298 { 4299 "type": "exp_cond", 4300 "named": true 4301 }, 4302 { 4303 "type": "exp_do", 4304 "named": true 4305 }, 4306 { 4307 "type": "exp_if_guard", 4308 "named": true 4309 }, 4310 { 4311 "type": "exp_infix", 4312 "named": true 4313 }, 4314 { 4315 "type": "exp_lambda", 4316 "named": true 4317 }, 4318 { 4319 "type": "exp_lambda_case", 4320 "named": true 4321 }, 4322 { 4323 "type": "exp_let_in", 4324 "named": true 4325 }, 4326 { 4327 "type": "exp_list", 4328 "named": true 4329 }, 4330 { 4331 "type": "exp_list_comprehension", 4332 "named": true 4333 }, 4334 { 4335 "type": "exp_literal", 4336 "named": true 4337 }, 4338 { 4339 "type": "exp_name", 4340 "named": true 4341 }, 4342 { 4343 "type": "exp_negation", 4344 "named": true 4345 }, 4346 { 4347 "type": "exp_parens", 4348 "named": true 4349 }, 4350 { 4351 "type": "exp_record", 4352 "named": true 4353 }, 4354 { 4355 "type": "exp_section_left", 4356 "named": true 4357 }, 4358 { 4359 "type": "exp_section_right", 4360 "named": true 4361 }, 4362 { 4363 "type": "exp_th_quoted_name", 4364 "named": true 4365 }, 4366 { 4367 "type": "exp_tuple", 4368 "named": true 4369 }, 4370 { 4371 "type": "exp_type_application", 4372 "named": true 4373 }, 4374 { 4375 "type": "exp_unboxed_sum", 4376 "named": true 4377 }, 4378 { 4379 "type": "exp_unboxed_tuple", 4380 "named": true 4381 }, 4382 { 4383 "type": "operator", 4384 "named": true 4385 }, 4386 { 4387 "type": "qualified_operator", 4388 "named": true 4389 }, 4390 { 4391 "type": "qualified_variable", 4392 "named": true 4393 }, 4394 { 4395 "type": "quasiquote", 4396 "named": true 4397 }, 4398 { 4399 "type": "splice", 4400 "named": true 4401 }, 4402 { 4403 "type": "variable", 4404 "named": true 4405 }, 4406 { 4407 "type": "wildcard", 4408 "named": true 4409 } 4410 ] 4411 } 4412 }, 4413 { 4414 "type": "exp_if_guard", 4415 "named": true, 4416 "fields": {}, 4417 "children": { 4418 "multiple": true, 4419 "required": true, 4420 "types": [ 4421 { 4422 "type": "gdpat", 4423 "named": true 4424 } 4425 ] 4426 } 4427 }, 4428 { 4429 "type": "exp_in", 4430 "named": true, 4431 "fields": { 4432 "type": { 4433 "multiple": false, 4434 "required": false, 4435 "types": [ 4436 { 4437 "type": "context", 4438 "named": true 4439 }, 4440 { 4441 "type": "forall", 4442 "named": true 4443 }, 4444 { 4445 "type": "fun", 4446 "named": true 4447 }, 4448 { 4449 "type": "implicit_param", 4450 "named": true 4451 }, 4452 { 4453 "type": "promoted", 4454 "named": true 4455 }, 4456 { 4457 "type": "quasiquote", 4458 "named": true 4459 }, 4460 { 4461 "type": "splice", 4462 "named": true 4463 }, 4464 { 4465 "type": "type_apply", 4466 "named": true 4467 }, 4468 { 4469 "type": "type_infix", 4470 "named": true 4471 }, 4472 { 4473 "type": "type_list", 4474 "named": true 4475 }, 4476 { 4477 "type": "type_literal", 4478 "named": true 4479 }, 4480 { 4481 "type": "type_name", 4482 "named": true 4483 }, 4484 { 4485 "type": "type_parens", 4486 "named": true 4487 }, 4488 { 4489 "type": "type_star", 4490 "named": true 4491 }, 4492 { 4493 "type": "type_tuple", 4494 "named": true 4495 }, 4496 { 4497 "type": "type_unboxed_sum", 4498 "named": true 4499 }, 4500 { 4501 "type": "type_unboxed_tuple", 4502 "named": true 4503 } 4504 ] 4505 } 4506 }, 4507 "children": { 4508 "multiple": false, 4509 "required": true, 4510 "types": [ 4511 { 4512 "type": "exp_apply", 4513 "named": true 4514 }, 4515 { 4516 "type": "exp_arithmetic_sequence", 4517 "named": true 4518 }, 4519 { 4520 "type": "exp_case", 4521 "named": true 4522 }, 4523 { 4524 "type": "exp_cond", 4525 "named": true 4526 }, 4527 { 4528 "type": "exp_do", 4529 "named": true 4530 }, 4531 { 4532 "type": "exp_if_guard", 4533 "named": true 4534 }, 4535 { 4536 "type": "exp_infix", 4537 "named": true 4538 }, 4539 { 4540 "type": "exp_lambda", 4541 "named": true 4542 }, 4543 { 4544 "type": "exp_lambda_case", 4545 "named": true 4546 }, 4547 { 4548 "type": "exp_let_in", 4549 "named": true 4550 }, 4551 { 4552 "type": "exp_list", 4553 "named": true 4554 }, 4555 { 4556 "type": "exp_list_comprehension", 4557 "named": true 4558 }, 4559 { 4560 "type": "exp_literal", 4561 "named": true 4562 }, 4563 { 4564 "type": "exp_name", 4565 "named": true 4566 }, 4567 { 4568 "type": "exp_negation", 4569 "named": true 4570 }, 4571 { 4572 "type": "exp_parens", 4573 "named": true 4574 }, 4575 { 4576 "type": "exp_record", 4577 "named": true 4578 }, 4579 { 4580 "type": "exp_section_left", 4581 "named": true 4582 }, 4583 { 4584 "type": "exp_section_right", 4585 "named": true 4586 }, 4587 { 4588 "type": "exp_th_quoted_name", 4589 "named": true 4590 }, 4591 { 4592 "type": "exp_tuple", 4593 "named": true 4594 }, 4595 { 4596 "type": "exp_type_application", 4597 "named": true 4598 }, 4599 { 4600 "type": "exp_unboxed_sum", 4601 "named": true 4602 }, 4603 { 4604 "type": "exp_unboxed_tuple", 4605 "named": true 4606 }, 4607 { 4608 "type": "quasiquote", 4609 "named": true 4610 }, 4611 { 4612 "type": "splice", 4613 "named": true 4614 } 4615 ] 4616 } 4617 }, 4618 { 4619 "type": "exp_infix", 4620 "named": true, 4621 "fields": {}, 4622 "children": { 4623 "multiple": true, 4624 "required": true, 4625 "types": [ 4626 { 4627 "type": "constructor", 4628 "named": true 4629 }, 4630 { 4631 "type": "constructor_operator", 4632 "named": true 4633 }, 4634 { 4635 "type": "exp_apply", 4636 "named": true 4637 }, 4638 { 4639 "type": "exp_arithmetic_sequence", 4640 "named": true 4641 }, 4642 { 4643 "type": "exp_case", 4644 "named": true 4645 }, 4646 { 4647 "type": "exp_cond", 4648 "named": true 4649 }, 4650 { 4651 "type": "exp_do", 4652 "named": true 4653 }, 4654 { 4655 "type": "exp_if_guard", 4656 "named": true 4657 }, 4658 { 4659 "type": "exp_infix", 4660 "named": true 4661 }, 4662 { 4663 "type": "exp_lambda", 4664 "named": true 4665 }, 4666 { 4667 "type": "exp_lambda_case", 4668 "named": true 4669 }, 4670 { 4671 "type": "exp_let_in", 4672 "named": true 4673 }, 4674 { 4675 "type": "exp_list", 4676 "named": true 4677 }, 4678 { 4679 "type": "exp_list_comprehension", 4680 "named": true 4681 }, 4682 { 4683 "type": "exp_literal", 4684 "named": true 4685 }, 4686 { 4687 "type": "exp_name", 4688 "named": true 4689 }, 4690 { 4691 "type": "exp_negation", 4692 "named": true 4693 }, 4694 { 4695 "type": "exp_parens", 4696 "named": true 4697 }, 4698 { 4699 "type": "exp_record", 4700 "named": true 4701 }, 4702 { 4703 "type": "exp_section_left", 4704 "named": true 4705 }, 4706 { 4707 "type": "exp_section_right", 4708 "named": true 4709 }, 4710 { 4711 "type": "exp_th_quoted_name", 4712 "named": true 4713 }, 4714 { 4715 "type": "exp_tuple", 4716 "named": true 4717 }, 4718 { 4719 "type": "exp_type_application", 4720 "named": true 4721 }, 4722 { 4723 "type": "exp_unboxed_sum", 4724 "named": true 4725 }, 4726 { 4727 "type": "exp_unboxed_tuple", 4728 "named": true 4729 }, 4730 { 4731 "type": "operator", 4732 "named": true 4733 }, 4734 { 4735 "type": "qualified_constructor", 4736 "named": true 4737 }, 4738 { 4739 "type": "qualified_constructor_operator", 4740 "named": true 4741 }, 4742 { 4743 "type": "qualified_operator", 4744 "named": true 4745 }, 4746 { 4747 "type": "qualified_variable", 4748 "named": true 4749 }, 4750 { 4751 "type": "quasiquote", 4752 "named": true 4753 }, 4754 { 4755 "type": "splice", 4756 "named": true 4757 }, 4758 { 4759 "type": "variable", 4760 "named": true 4761 } 4762 ] 4763 } 4764 }, 4765 { 4766 "type": "exp_lambda", 4767 "named": true, 4768 "fields": { 4769 "type": { 4770 "multiple": false, 4771 "required": false, 4772 "types": [ 4773 { 4774 "type": "context", 4775 "named": true 4776 }, 4777 { 4778 "type": "forall", 4779 "named": true 4780 }, 4781 { 4782 "type": "fun", 4783 "named": true 4784 }, 4785 { 4786 "type": "implicit_param", 4787 "named": true 4788 }, 4789 { 4790 "type": "promoted", 4791 "named": true 4792 }, 4793 { 4794 "type": "quasiquote", 4795 "named": true 4796 }, 4797 { 4798 "type": "splice", 4799 "named": true 4800 }, 4801 { 4802 "type": "type_apply", 4803 "named": true 4804 }, 4805 { 4806 "type": "type_infix", 4807 "named": true 4808 }, 4809 { 4810 "type": "type_list", 4811 "named": true 4812 }, 4813 { 4814 "type": "type_literal", 4815 "named": true 4816 }, 4817 { 4818 "type": "type_name", 4819 "named": true 4820 }, 4821 { 4822 "type": "type_parens", 4823 "named": true 4824 }, 4825 { 4826 "type": "type_star", 4827 "named": true 4828 }, 4829 { 4830 "type": "type_tuple", 4831 "named": true 4832 }, 4833 { 4834 "type": "type_unboxed_sum", 4835 "named": true 4836 }, 4837 { 4838 "type": "type_unboxed_tuple", 4839 "named": true 4840 } 4841 ] 4842 } 4843 }, 4844 "children": { 4845 "multiple": true, 4846 "required": true, 4847 "types": [ 4848 { 4849 "type": "exp_apply", 4850 "named": true 4851 }, 4852 { 4853 "type": "exp_arithmetic_sequence", 4854 "named": true 4855 }, 4856 { 4857 "type": "exp_case", 4858 "named": true 4859 }, 4860 { 4861 "type": "exp_cond", 4862 "named": true 4863 }, 4864 { 4865 "type": "exp_do", 4866 "named": true 4867 }, 4868 { 4869 "type": "exp_if_guard", 4870 "named": true 4871 }, 4872 { 4873 "type": "exp_infix", 4874 "named": true 4875 }, 4876 { 4877 "type": "exp_lambda", 4878 "named": true 4879 }, 4880 { 4881 "type": "exp_lambda_case", 4882 "named": true 4883 }, 4884 { 4885 "type": "exp_let_in", 4886 "named": true 4887 }, 4888 { 4889 "type": "exp_list", 4890 "named": true 4891 }, 4892 { 4893 "type": "exp_list_comprehension", 4894 "named": true 4895 }, 4896 { 4897 "type": "exp_literal", 4898 "named": true 4899 }, 4900 { 4901 "type": "exp_name", 4902 "named": true 4903 }, 4904 { 4905 "type": "exp_negation", 4906 "named": true 4907 }, 4908 { 4909 "type": "exp_parens", 4910 "named": true 4911 }, 4912 { 4913 "type": "exp_record", 4914 "named": true 4915 }, 4916 { 4917 "type": "exp_section_left", 4918 "named": true 4919 }, 4920 { 4921 "type": "exp_section_right", 4922 "named": true 4923 }, 4924 { 4925 "type": "exp_th_quoted_name", 4926 "named": true 4927 }, 4928 { 4929 "type": "exp_tuple", 4930 "named": true 4931 }, 4932 { 4933 "type": "exp_type_application", 4934 "named": true 4935 }, 4936 { 4937 "type": "exp_unboxed_sum", 4938 "named": true 4939 }, 4940 { 4941 "type": "exp_unboxed_tuple", 4942 "named": true 4943 }, 4944 { 4945 "type": "pat_as", 4946 "named": true 4947 }, 4948 { 4949 "type": "pat_irrefutable", 4950 "named": true 4951 }, 4952 { 4953 "type": "pat_list", 4954 "named": true 4955 }, 4956 { 4957 "type": "pat_literal", 4958 "named": true 4959 }, 4960 { 4961 "type": "pat_name", 4962 "named": true 4963 }, 4964 { 4965 "type": "pat_parens", 4966 "named": true 4967 }, 4968 { 4969 "type": "pat_record", 4970 "named": true 4971 }, 4972 { 4973 "type": "pat_strict", 4974 "named": true 4975 }, 4976 { 4977 "type": "pat_tuple", 4978 "named": true 4979 }, 4980 { 4981 "type": "pat_unboxed_tuple", 4982 "named": true 4983 }, 4984 { 4985 "type": "pat_wildcard", 4986 "named": true 4987 }, 4988 { 4989 "type": "quasiquote", 4990 "named": true 4991 }, 4992 { 4993 "type": "splice", 4994 "named": true 4995 } 4996 ] 4997 } 4998 }, 4999 { 5000 "type": "exp_lambda_case", 5001 "named": true, 5002 "fields": {}, 5003 "children": { 5004 "multiple": false, 5005 "required": false, 5006 "types": [ 5007 { 5008 "type": "alts", 5009 "named": true 5010 } 5011 ] 5012 } 5013 }, 5014 { 5015 "type": "exp_let", 5016 "named": true, 5017 "fields": {}, 5018 "children": { 5019 "multiple": false, 5020 "required": false, 5021 "types": [ 5022 { 5023 "type": "decls", 5024 "named": true 5025 } 5026 ] 5027 } 5028 }, 5029 { 5030 "type": "exp_let_in", 5031 "named": true, 5032 "fields": {}, 5033 "children": { 5034 "multiple": true, 5035 "required": true, 5036 "types": [ 5037 { 5038 "type": "exp_in", 5039 "named": true 5040 }, 5041 { 5042 "type": "exp_let", 5043 "named": true 5044 } 5045 ] 5046 } 5047 }, 5048 { 5049 "type": "exp_list", 5050 "named": true, 5051 "fields": { 5052 "type": { 5053 "multiple": true, 5054 "required": false, 5055 "types": [ 5056 { 5057 "type": "context", 5058 "named": true 5059 }, 5060 { 5061 "type": "forall", 5062 "named": true 5063 }, 5064 { 5065 "type": "fun", 5066 "named": true 5067 }, 5068 { 5069 "type": "implicit_param", 5070 "named": true 5071 }, 5072 { 5073 "type": "promoted", 5074 "named": true 5075 }, 5076 { 5077 "type": "quasiquote", 5078 "named": true 5079 }, 5080 { 5081 "type": "splice", 5082 "named": true 5083 }, 5084 { 5085 "type": "type_apply", 5086 "named": true 5087 }, 5088 { 5089 "type": "type_infix", 5090 "named": true 5091 }, 5092 { 5093 "type": "type_list", 5094 "named": true 5095 }, 5096 { 5097 "type": "type_literal", 5098 "named": true 5099 }, 5100 { 5101 "type": "type_name", 5102 "named": true 5103 }, 5104 { 5105 "type": "type_parens", 5106 "named": true 5107 }, 5108 { 5109 "type": "type_star", 5110 "named": true 5111 }, 5112 { 5113 "type": "type_tuple", 5114 "named": true 5115 }, 5116 { 5117 "type": "type_unboxed_sum", 5118 "named": true 5119 }, 5120 { 5121 "type": "type_unboxed_tuple", 5122 "named": true 5123 } 5124 ] 5125 } 5126 }, 5127 "children": { 5128 "multiple": true, 5129 "required": true, 5130 "types": [ 5131 { 5132 "type": "comma", 5133 "named": true 5134 }, 5135 { 5136 "type": "exp_apply", 5137 "named": true 5138 }, 5139 { 5140 "type": "exp_arithmetic_sequence", 5141 "named": true 5142 }, 5143 { 5144 "type": "exp_case", 5145 "named": true 5146 }, 5147 { 5148 "type": "exp_cond", 5149 "named": true 5150 }, 5151 { 5152 "type": "exp_do", 5153 "named": true 5154 }, 5155 { 5156 "type": "exp_if_guard", 5157 "named": true 5158 }, 5159 { 5160 "type": "exp_infix", 5161 "named": true 5162 }, 5163 { 5164 "type": "exp_lambda", 5165 "named": true 5166 }, 5167 { 5168 "type": "exp_lambda_case", 5169 "named": true 5170 }, 5171 { 5172 "type": "exp_let_in", 5173 "named": true 5174 }, 5175 { 5176 "type": "exp_list", 5177 "named": true 5178 }, 5179 { 5180 "type": "exp_list_comprehension", 5181 "named": true 5182 }, 5183 { 5184 "type": "exp_literal", 5185 "named": true 5186 }, 5187 { 5188 "type": "exp_name", 5189 "named": true 5190 }, 5191 { 5192 "type": "exp_negation", 5193 "named": true 5194 }, 5195 { 5196 "type": "exp_parens", 5197 "named": true 5198 }, 5199 { 5200 "type": "exp_record", 5201 "named": true 5202 }, 5203 { 5204 "type": "exp_section_left", 5205 "named": true 5206 }, 5207 { 5208 "type": "exp_section_right", 5209 "named": true 5210 }, 5211 { 5212 "type": "exp_th_quoted_name", 5213 "named": true 5214 }, 5215 { 5216 "type": "exp_tuple", 5217 "named": true 5218 }, 5219 { 5220 "type": "exp_type_application", 5221 "named": true 5222 }, 5223 { 5224 "type": "exp_unboxed_sum", 5225 "named": true 5226 }, 5227 { 5228 "type": "exp_unboxed_tuple", 5229 "named": true 5230 }, 5231 { 5232 "type": "quasiquote", 5233 "named": true 5234 }, 5235 { 5236 "type": "splice", 5237 "named": true 5238 } 5239 ] 5240 } 5241 }, 5242 { 5243 "type": "exp_list_comprehension", 5244 "named": true, 5245 "fields": { 5246 "type": { 5247 "multiple": false, 5248 "required": false, 5249 "types": [ 5250 { 5251 "type": "context", 5252 "named": true 5253 }, 5254 { 5255 "type": "forall", 5256 "named": true 5257 }, 5258 { 5259 "type": "fun", 5260 "named": true 5261 }, 5262 { 5263 "type": "implicit_param", 5264 "named": true 5265 }, 5266 { 5267 "type": "promoted", 5268 "named": true 5269 }, 5270 { 5271 "type": "quasiquote", 5272 "named": true 5273 }, 5274 { 5275 "type": "splice", 5276 "named": true 5277 }, 5278 { 5279 "type": "type_apply", 5280 "named": true 5281 }, 5282 { 5283 "type": "type_infix", 5284 "named": true 5285 }, 5286 { 5287 "type": "type_list", 5288 "named": true 5289 }, 5290 { 5291 "type": "type_literal", 5292 "named": true 5293 }, 5294 { 5295 "type": "type_name", 5296 "named": true 5297 }, 5298 { 5299 "type": "type_parens", 5300 "named": true 5301 }, 5302 { 5303 "type": "type_star", 5304 "named": true 5305 }, 5306 { 5307 "type": "type_tuple", 5308 "named": true 5309 }, 5310 { 5311 "type": "type_unboxed_sum", 5312 "named": true 5313 }, 5314 { 5315 "type": "type_unboxed_tuple", 5316 "named": true 5317 } 5318 ] 5319 } 5320 }, 5321 "children": { 5322 "multiple": true, 5323 "required": true, 5324 "types": [ 5325 { 5326 "type": "comma", 5327 "named": true 5328 }, 5329 { 5330 "type": "exp_apply", 5331 "named": true 5332 }, 5333 { 5334 "type": "exp_arithmetic_sequence", 5335 "named": true 5336 }, 5337 { 5338 "type": "exp_case", 5339 "named": true 5340 }, 5341 { 5342 "type": "exp_cond", 5343 "named": true 5344 }, 5345 { 5346 "type": "exp_do", 5347 "named": true 5348 }, 5349 { 5350 "type": "exp_if_guard", 5351 "named": true 5352 }, 5353 { 5354 "type": "exp_infix", 5355 "named": true 5356 }, 5357 { 5358 "type": "exp_lambda", 5359 "named": true 5360 }, 5361 { 5362 "type": "exp_lambda_case", 5363 "named": true 5364 }, 5365 { 5366 "type": "exp_let_in", 5367 "named": true 5368 }, 5369 { 5370 "type": "exp_list", 5371 "named": true 5372 }, 5373 { 5374 "type": "exp_list_comprehension", 5375 "named": true 5376 }, 5377 { 5378 "type": "exp_literal", 5379 "named": true 5380 }, 5381 { 5382 "type": "exp_name", 5383 "named": true 5384 }, 5385 { 5386 "type": "exp_negation", 5387 "named": true 5388 }, 5389 { 5390 "type": "exp_parens", 5391 "named": true 5392 }, 5393 { 5394 "type": "exp_record", 5395 "named": true 5396 }, 5397 { 5398 "type": "exp_section_left", 5399 "named": true 5400 }, 5401 { 5402 "type": "exp_section_right", 5403 "named": true 5404 }, 5405 { 5406 "type": "exp_th_quoted_name", 5407 "named": true 5408 }, 5409 { 5410 "type": "exp_tuple", 5411 "named": true 5412 }, 5413 { 5414 "type": "exp_type_application", 5415 "named": true 5416 }, 5417 { 5418 "type": "exp_unboxed_sum", 5419 "named": true 5420 }, 5421 { 5422 "type": "exp_unboxed_tuple", 5423 "named": true 5424 }, 5425 { 5426 "type": "qual", 5427 "named": true 5428 }, 5429 { 5430 "type": "quasiquote", 5431 "named": true 5432 }, 5433 { 5434 "type": "splice", 5435 "named": true 5436 } 5437 ] 5438 } 5439 }, 5440 { 5441 "type": "exp_literal", 5442 "named": true, 5443 "fields": {}, 5444 "children": { 5445 "multiple": false, 5446 "required": true, 5447 "types": [ 5448 { 5449 "type": "char", 5450 "named": true 5451 }, 5452 { 5453 "type": "con_list", 5454 "named": true 5455 }, 5456 { 5457 "type": "con_tuple", 5458 "named": true 5459 }, 5460 { 5461 "type": "con_unit", 5462 "named": true 5463 }, 5464 { 5465 "type": "float", 5466 "named": true 5467 }, 5468 { 5469 "type": "integer", 5470 "named": true 5471 }, 5472 { 5473 "type": "string", 5474 "named": true 5475 } 5476 ] 5477 } 5478 }, 5479 { 5480 "type": "exp_name", 5481 "named": true, 5482 "fields": {}, 5483 "children": { 5484 "multiple": false, 5485 "required": true, 5486 "types": [ 5487 { 5488 "type": "constructor", 5489 "named": true 5490 }, 5491 { 5492 "type": "constructor_operator", 5493 "named": true 5494 }, 5495 { 5496 "type": "implicit_parid", 5497 "named": true 5498 }, 5499 { 5500 "type": "label", 5501 "named": true 5502 }, 5503 { 5504 "type": "operator", 5505 "named": true 5506 }, 5507 { 5508 "type": "qualified_constructor", 5509 "named": true 5510 }, 5511 { 5512 "type": "qualified_constructor_operator", 5513 "named": true 5514 }, 5515 { 5516 "type": "qualified_operator", 5517 "named": true 5518 }, 5519 { 5520 "type": "qualified_variable", 5521 "named": true 5522 }, 5523 { 5524 "type": "variable", 5525 "named": true 5526 } 5527 ] 5528 } 5529 }, 5530 { 5531 "type": "exp_negation", 5532 "named": true, 5533 "fields": {}, 5534 "children": { 5535 "multiple": false, 5536 "required": true, 5537 "types": [ 5538 { 5539 "type": "exp_arithmetic_sequence", 5540 "named": true 5541 }, 5542 { 5543 "type": "exp_do", 5544 "named": true 5545 }, 5546 { 5547 "type": "exp_lambda_case", 5548 "named": true 5549 }, 5550 { 5551 "type": "exp_list", 5552 "named": true 5553 }, 5554 { 5555 "type": "exp_list_comprehension", 5556 "named": true 5557 }, 5558 { 5559 "type": "exp_literal", 5560 "named": true 5561 }, 5562 { 5563 "type": "exp_name", 5564 "named": true 5565 }, 5566 { 5567 "type": "exp_parens", 5568 "named": true 5569 }, 5570 { 5571 "type": "exp_record", 5572 "named": true 5573 }, 5574 { 5575 "type": "exp_section_left", 5576 "named": true 5577 }, 5578 { 5579 "type": "exp_section_right", 5580 "named": true 5581 }, 5582 { 5583 "type": "exp_th_quoted_name", 5584 "named": true 5585 }, 5586 { 5587 "type": "exp_tuple", 5588 "named": true 5589 }, 5590 { 5591 "type": "exp_type_application", 5592 "named": true 5593 }, 5594 { 5595 "type": "exp_unboxed_sum", 5596 "named": true 5597 }, 5598 { 5599 "type": "exp_unboxed_tuple", 5600 "named": true 5601 }, 5602 { 5603 "type": "quasiquote", 5604 "named": true 5605 }, 5606 { 5607 "type": "splice", 5608 "named": true 5609 } 5610 ] 5611 } 5612 }, 5613 { 5614 "type": "exp_parens", 5615 "named": true, 5616 "fields": { 5617 "type": { 5618 "multiple": false, 5619 "required": false, 5620 "types": [ 5621 { 5622 "type": "context", 5623 "named": true 5624 }, 5625 { 5626 "type": "forall", 5627 "named": true 5628 }, 5629 { 5630 "type": "fun", 5631 "named": true 5632 }, 5633 { 5634 "type": "implicit_param", 5635 "named": true 5636 }, 5637 { 5638 "type": "promoted", 5639 "named": true 5640 }, 5641 { 5642 "type": "quasiquote", 5643 "named": true 5644 }, 5645 { 5646 "type": "splice", 5647 "named": true 5648 }, 5649 { 5650 "type": "type_apply", 5651 "named": true 5652 }, 5653 { 5654 "type": "type_infix", 5655 "named": true 5656 }, 5657 { 5658 "type": "type_list", 5659 "named": true 5660 }, 5661 { 5662 "type": "type_literal", 5663 "named": true 5664 }, 5665 { 5666 "type": "type_name", 5667 "named": true 5668 }, 5669 { 5670 "type": "type_parens", 5671 "named": true 5672 }, 5673 { 5674 "type": "type_star", 5675 "named": true 5676 }, 5677 { 5678 "type": "type_tuple", 5679 "named": true 5680 }, 5681 { 5682 "type": "type_unboxed_sum", 5683 "named": true 5684 }, 5685 { 5686 "type": "type_unboxed_tuple", 5687 "named": true 5688 } 5689 ] 5690 } 5691 }, 5692 "children": { 5693 "multiple": false, 5694 "required": true, 5695 "types": [ 5696 { 5697 "type": "exp_apply", 5698 "named": true 5699 }, 5700 { 5701 "type": "exp_arithmetic_sequence", 5702 "named": true 5703 }, 5704 { 5705 "type": "exp_case", 5706 "named": true 5707 }, 5708 { 5709 "type": "exp_cond", 5710 "named": true 5711 }, 5712 { 5713 "type": "exp_do", 5714 "named": true 5715 }, 5716 { 5717 "type": "exp_if_guard", 5718 "named": true 5719 }, 5720 { 5721 "type": "exp_infix", 5722 "named": true 5723 }, 5724 { 5725 "type": "exp_lambda", 5726 "named": true 5727 }, 5728 { 5729 "type": "exp_lambda_case", 5730 "named": true 5731 }, 5732 { 5733 "type": "exp_let_in", 5734 "named": true 5735 }, 5736 { 5737 "type": "exp_list", 5738 "named": true 5739 }, 5740 { 5741 "type": "exp_list_comprehension", 5742 "named": true 5743 }, 5744 { 5745 "type": "exp_literal", 5746 "named": true 5747 }, 5748 { 5749 "type": "exp_name", 5750 "named": true 5751 }, 5752 { 5753 "type": "exp_negation", 5754 "named": true 5755 }, 5756 { 5757 "type": "exp_parens", 5758 "named": true 5759 }, 5760 { 5761 "type": "exp_record", 5762 "named": true 5763 }, 5764 { 5765 "type": "exp_section_left", 5766 "named": true 5767 }, 5768 { 5769 "type": "exp_section_right", 5770 "named": true 5771 }, 5772 { 5773 "type": "exp_th_quoted_name", 5774 "named": true 5775 }, 5776 { 5777 "type": "exp_tuple", 5778 "named": true 5779 }, 5780 { 5781 "type": "exp_type_application", 5782 "named": true 5783 }, 5784 { 5785 "type": "exp_unboxed_sum", 5786 "named": true 5787 }, 5788 { 5789 "type": "exp_unboxed_tuple", 5790 "named": true 5791 }, 5792 { 5793 "type": "quasiquote", 5794 "named": true 5795 }, 5796 { 5797 "type": "splice", 5798 "named": true 5799 } 5800 ] 5801 } 5802 }, 5803 { 5804 "type": "exp_record", 5805 "named": true, 5806 "fields": {}, 5807 "children": { 5808 "multiple": true, 5809 "required": true, 5810 "types": [ 5811 { 5812 "type": "comma", 5813 "named": true 5814 }, 5815 { 5816 "type": "exp_arithmetic_sequence", 5817 "named": true 5818 }, 5819 { 5820 "type": "exp_do", 5821 "named": true 5822 }, 5823 { 5824 "type": "exp_field", 5825 "named": true 5826 }, 5827 { 5828 "type": "exp_lambda_case", 5829 "named": true 5830 }, 5831 { 5832 "type": "exp_list", 5833 "named": true 5834 }, 5835 { 5836 "type": "exp_list_comprehension", 5837 "named": true 5838 }, 5839 { 5840 "type": "exp_literal", 5841 "named": true 5842 }, 5843 { 5844 "type": "exp_name", 5845 "named": true 5846 }, 5847 { 5848 "type": "exp_parens", 5849 "named": true 5850 }, 5851 { 5852 "type": "exp_record", 5853 "named": true 5854 }, 5855 { 5856 "type": "exp_section_left", 5857 "named": true 5858 }, 5859 { 5860 "type": "exp_section_right", 5861 "named": true 5862 }, 5863 { 5864 "type": "exp_th_quoted_name", 5865 "named": true 5866 }, 5867 { 5868 "type": "exp_tuple", 5869 "named": true 5870 }, 5871 { 5872 "type": "exp_type_application", 5873 "named": true 5874 }, 5875 { 5876 "type": "exp_unboxed_sum", 5877 "named": true 5878 }, 5879 { 5880 "type": "exp_unboxed_tuple", 5881 "named": true 5882 }, 5883 { 5884 "type": "quasiquote", 5885 "named": true 5886 }, 5887 { 5888 "type": "splice", 5889 "named": true 5890 } 5891 ] 5892 } 5893 }, 5894 { 5895 "type": "exp_section_left", 5896 "named": true, 5897 "fields": {}, 5898 "children": { 5899 "multiple": true, 5900 "required": true, 5901 "types": [ 5902 { 5903 "type": "constructor", 5904 "named": true 5905 }, 5906 { 5907 "type": "constructor_operator", 5908 "named": true 5909 }, 5910 { 5911 "type": "exp_apply", 5912 "named": true 5913 }, 5914 { 5915 "type": "exp_arithmetic_sequence", 5916 "named": true 5917 }, 5918 { 5919 "type": "exp_case", 5920 "named": true 5921 }, 5922 { 5923 "type": "exp_cond", 5924 "named": true 5925 }, 5926 { 5927 "type": "exp_do", 5928 "named": true 5929 }, 5930 { 5931 "type": "exp_if_guard", 5932 "named": true 5933 }, 5934 { 5935 "type": "exp_infix", 5936 "named": true 5937 }, 5938 { 5939 "type": "exp_lambda", 5940 "named": true 5941 }, 5942 { 5943 "type": "exp_lambda_case", 5944 "named": true 5945 }, 5946 { 5947 "type": "exp_let_in", 5948 "named": true 5949 }, 5950 { 5951 "type": "exp_list", 5952 "named": true 5953 }, 5954 { 5955 "type": "exp_list_comprehension", 5956 "named": true 5957 }, 5958 { 5959 "type": "exp_literal", 5960 "named": true 5961 }, 5962 { 5963 "type": "exp_name", 5964 "named": true 5965 }, 5966 { 5967 "type": "exp_negation", 5968 "named": true 5969 }, 5970 { 5971 "type": "exp_parens", 5972 "named": true 5973 }, 5974 { 5975 "type": "exp_record", 5976 "named": true 5977 }, 5978 { 5979 "type": "exp_section_left", 5980 "named": true 5981 }, 5982 { 5983 "type": "exp_section_right", 5984 "named": true 5985 }, 5986 { 5987 "type": "exp_th_quoted_name", 5988 "named": true 5989 }, 5990 { 5991 "type": "exp_tuple", 5992 "named": true 5993 }, 5994 { 5995 "type": "exp_type_application", 5996 "named": true 5997 }, 5998 { 5999 "type": "exp_unboxed_sum", 6000 "named": true 6001 }, 6002 { 6003 "type": "exp_unboxed_tuple", 6004 "named": true 6005 }, 6006 { 6007 "type": "operator", 6008 "named": true 6009 }, 6010 { 6011 "type": "qualified_constructor", 6012 "named": true 6013 }, 6014 { 6015 "type": "qualified_constructor_operator", 6016 "named": true 6017 }, 6018 { 6019 "type": "qualified_operator", 6020 "named": true 6021 }, 6022 { 6023 "type": "qualified_variable", 6024 "named": true 6025 }, 6026 { 6027 "type": "quasiquote", 6028 "named": true 6029 }, 6030 { 6031 "type": "splice", 6032 "named": true 6033 }, 6034 { 6035 "type": "variable", 6036 "named": true 6037 } 6038 ] 6039 } 6040 }, 6041 { 6042 "type": "exp_section_right", 6043 "named": true, 6044 "fields": {}, 6045 "children": { 6046 "multiple": true, 6047 "required": true, 6048 "types": [ 6049 { 6050 "type": "constructor", 6051 "named": true 6052 }, 6053 { 6054 "type": "constructor_operator", 6055 "named": true 6056 }, 6057 { 6058 "type": "exp_apply", 6059 "named": true 6060 }, 6061 { 6062 "type": "exp_arithmetic_sequence", 6063 "named": true 6064 }, 6065 { 6066 "type": "exp_case", 6067 "named": true 6068 }, 6069 { 6070 "type": "exp_cond", 6071 "named": true 6072 }, 6073 { 6074 "type": "exp_do", 6075 "named": true 6076 }, 6077 { 6078 "type": "exp_if_guard", 6079 "named": true 6080 }, 6081 { 6082 "type": "exp_infix", 6083 "named": true 6084 }, 6085 { 6086 "type": "exp_lambda", 6087 "named": true 6088 }, 6089 { 6090 "type": "exp_lambda_case", 6091 "named": true 6092 }, 6093 { 6094 "type": "exp_let_in", 6095 "named": true 6096 }, 6097 { 6098 "type": "exp_list", 6099 "named": true 6100 }, 6101 { 6102 "type": "exp_list_comprehension", 6103 "named": true 6104 }, 6105 { 6106 "type": "exp_literal", 6107 "named": true 6108 }, 6109 { 6110 "type": "exp_name", 6111 "named": true 6112 }, 6113 { 6114 "type": "exp_negation", 6115 "named": true 6116 }, 6117 { 6118 "type": "exp_parens", 6119 "named": true 6120 }, 6121 { 6122 "type": "exp_record", 6123 "named": true 6124 }, 6125 { 6126 "type": "exp_section_left", 6127 "named": true 6128 }, 6129 { 6130 "type": "exp_section_right", 6131 "named": true 6132 }, 6133 { 6134 "type": "exp_th_quoted_name", 6135 "named": true 6136 }, 6137 { 6138 "type": "exp_tuple", 6139 "named": true 6140 }, 6141 { 6142 "type": "exp_type_application", 6143 "named": true 6144 }, 6145 { 6146 "type": "exp_unboxed_sum", 6147 "named": true 6148 }, 6149 { 6150 "type": "exp_unboxed_tuple", 6151 "named": true 6152 }, 6153 { 6154 "type": "operator", 6155 "named": true 6156 }, 6157 { 6158 "type": "qualified_constructor", 6159 "named": true 6160 }, 6161 { 6162 "type": "qualified_constructor_operator", 6163 "named": true 6164 }, 6165 { 6166 "type": "qualified_operator", 6167 "named": true 6168 }, 6169 { 6170 "type": "qualified_variable", 6171 "named": true 6172 }, 6173 { 6174 "type": "quasiquote", 6175 "named": true 6176 }, 6177 { 6178 "type": "splice", 6179 "named": true 6180 }, 6181 { 6182 "type": "variable", 6183 "named": true 6184 } 6185 ] 6186 } 6187 }, 6188 { 6189 "type": "exp_th_quoted_name", 6190 "named": true, 6191 "fields": {}, 6192 "children": { 6193 "multiple": false, 6194 "required": true, 6195 "types": [ 6196 { 6197 "type": "constructor", 6198 "named": true 6199 }, 6200 { 6201 "type": "constructor_operator", 6202 "named": true 6203 }, 6204 { 6205 "type": "operator", 6206 "named": true 6207 }, 6208 { 6209 "type": "promoted", 6210 "named": true 6211 }, 6212 { 6213 "type": "qualified_constructor", 6214 "named": true 6215 }, 6216 { 6217 "type": "qualified_constructor_operator", 6218 "named": true 6219 }, 6220 { 6221 "type": "qualified_operator", 6222 "named": true 6223 }, 6224 { 6225 "type": "qualified_variable", 6226 "named": true 6227 }, 6228 { 6229 "type": "quasiquote", 6230 "named": true 6231 }, 6232 { 6233 "type": "splice", 6234 "named": true 6235 }, 6236 { 6237 "type": "type_list", 6238 "named": true 6239 }, 6240 { 6241 "type": "type_literal", 6242 "named": true 6243 }, 6244 { 6245 "type": "type_name", 6246 "named": true 6247 }, 6248 { 6249 "type": "type_parens", 6250 "named": true 6251 }, 6252 { 6253 "type": "type_star", 6254 "named": true 6255 }, 6256 { 6257 "type": "type_tuple", 6258 "named": true 6259 }, 6260 { 6261 "type": "type_unboxed_sum", 6262 "named": true 6263 }, 6264 { 6265 "type": "type_unboxed_tuple", 6266 "named": true 6267 }, 6268 { 6269 "type": "variable", 6270 "named": true 6271 } 6272 ] 6273 } 6274 }, 6275 { 6276 "type": "exp_tuple", 6277 "named": true, 6278 "fields": { 6279 "type": { 6280 "multiple": true, 6281 "required": false, 6282 "types": [ 6283 { 6284 "type": "context", 6285 "named": true 6286 }, 6287 { 6288 "type": "forall", 6289 "named": true 6290 }, 6291 { 6292 "type": "fun", 6293 "named": true 6294 }, 6295 { 6296 "type": "implicit_param", 6297 "named": true 6298 }, 6299 { 6300 "type": "promoted", 6301 "named": true 6302 }, 6303 { 6304 "type": "quasiquote", 6305 "named": true 6306 }, 6307 { 6308 "type": "splice", 6309 "named": true 6310 }, 6311 { 6312 "type": "type_apply", 6313 "named": true 6314 }, 6315 { 6316 "type": "type_infix", 6317 "named": true 6318 }, 6319 { 6320 "type": "type_list", 6321 "named": true 6322 }, 6323 { 6324 "type": "type_literal", 6325 "named": true 6326 }, 6327 { 6328 "type": "type_name", 6329 "named": true 6330 }, 6331 { 6332 "type": "type_parens", 6333 "named": true 6334 }, 6335 { 6336 "type": "type_star", 6337 "named": true 6338 }, 6339 { 6340 "type": "type_tuple", 6341 "named": true 6342 }, 6343 { 6344 "type": "type_unboxed_sum", 6345 "named": true 6346 }, 6347 { 6348 "type": "type_unboxed_tuple", 6349 "named": true 6350 } 6351 ] 6352 } 6353 }, 6354 "children": { 6355 "multiple": true, 6356 "required": true, 6357 "types": [ 6358 { 6359 "type": "comma", 6360 "named": true 6361 }, 6362 { 6363 "type": "exp_apply", 6364 "named": true 6365 }, 6366 { 6367 "type": "exp_arithmetic_sequence", 6368 "named": true 6369 }, 6370 { 6371 "type": "exp_case", 6372 "named": true 6373 }, 6374 { 6375 "type": "exp_cond", 6376 "named": true 6377 }, 6378 { 6379 "type": "exp_do", 6380 "named": true 6381 }, 6382 { 6383 "type": "exp_if_guard", 6384 "named": true 6385 }, 6386 { 6387 "type": "exp_infix", 6388 "named": true 6389 }, 6390 { 6391 "type": "exp_lambda", 6392 "named": true 6393 }, 6394 { 6395 "type": "exp_lambda_case", 6396 "named": true 6397 }, 6398 { 6399 "type": "exp_let_in", 6400 "named": true 6401 }, 6402 { 6403 "type": "exp_list", 6404 "named": true 6405 }, 6406 { 6407 "type": "exp_list_comprehension", 6408 "named": true 6409 }, 6410 { 6411 "type": "exp_literal", 6412 "named": true 6413 }, 6414 { 6415 "type": "exp_name", 6416 "named": true 6417 }, 6418 { 6419 "type": "exp_negation", 6420 "named": true 6421 }, 6422 { 6423 "type": "exp_parens", 6424 "named": true 6425 }, 6426 { 6427 "type": "exp_record", 6428 "named": true 6429 }, 6430 { 6431 "type": "exp_section_left", 6432 "named": true 6433 }, 6434 { 6435 "type": "exp_section_right", 6436 "named": true 6437 }, 6438 { 6439 "type": "exp_th_quoted_name", 6440 "named": true 6441 }, 6442 { 6443 "type": "exp_tuple", 6444 "named": true 6445 }, 6446 { 6447 "type": "exp_type_application", 6448 "named": true 6449 }, 6450 { 6451 "type": "exp_unboxed_sum", 6452 "named": true 6453 }, 6454 { 6455 "type": "exp_unboxed_tuple", 6456 "named": true 6457 }, 6458 { 6459 "type": "quasiquote", 6460 "named": true 6461 }, 6462 { 6463 "type": "splice", 6464 "named": true 6465 } 6466 ] 6467 } 6468 }, 6469 { 6470 "type": "exp_type_application", 6471 "named": true, 6472 "fields": {}, 6473 "children": { 6474 "multiple": false, 6475 "required": true, 6476 "types": [ 6477 { 6478 "type": "promoted", 6479 "named": true 6480 }, 6481 { 6482 "type": "quasiquote", 6483 "named": true 6484 }, 6485 { 6486 "type": "splice", 6487 "named": true 6488 }, 6489 { 6490 "type": "type_list", 6491 "named": true 6492 }, 6493 { 6494 "type": "type_literal", 6495 "named": true 6496 }, 6497 { 6498 "type": "type_name", 6499 "named": true 6500 }, 6501 { 6502 "type": "type_parens", 6503 "named": true 6504 }, 6505 { 6506 "type": "type_star", 6507 "named": true 6508 }, 6509 { 6510 "type": "type_tuple", 6511 "named": true 6512 }, 6513 { 6514 "type": "type_unboxed_sum", 6515 "named": true 6516 }, 6517 { 6518 "type": "type_unboxed_tuple", 6519 "named": true 6520 } 6521 ] 6522 } 6523 }, 6524 { 6525 "type": "exp_unboxed_sum", 6526 "named": true, 6527 "fields": { 6528 "type": { 6529 "multiple": true, 6530 "required": false, 6531 "types": [ 6532 { 6533 "type": "context", 6534 "named": true 6535 }, 6536 { 6537 "type": "forall", 6538 "named": true 6539 }, 6540 { 6541 "type": "fun", 6542 "named": true 6543 }, 6544 { 6545 "type": "implicit_param", 6546 "named": true 6547 }, 6548 { 6549 "type": "promoted", 6550 "named": true 6551 }, 6552 { 6553 "type": "quasiquote", 6554 "named": true 6555 }, 6556 { 6557 "type": "splice", 6558 "named": true 6559 }, 6560 { 6561 "type": "type_apply", 6562 "named": true 6563 }, 6564 { 6565 "type": "type_infix", 6566 "named": true 6567 }, 6568 { 6569 "type": "type_list", 6570 "named": true 6571 }, 6572 { 6573 "type": "type_literal", 6574 "named": true 6575 }, 6576 { 6577 "type": "type_name", 6578 "named": true 6579 }, 6580 { 6581 "type": "type_parens", 6582 "named": true 6583 }, 6584 { 6585 "type": "type_star", 6586 "named": true 6587 }, 6588 { 6589 "type": "type_tuple", 6590 "named": true 6591 }, 6592 { 6593 "type": "type_unboxed_sum", 6594 "named": true 6595 }, 6596 { 6597 "type": "type_unboxed_tuple", 6598 "named": true 6599 } 6600 ] 6601 } 6602 }, 6603 "children": { 6604 "multiple": true, 6605 "required": true, 6606 "types": [ 6607 { 6608 "type": "exp_apply", 6609 "named": true 6610 }, 6611 { 6612 "type": "exp_arithmetic_sequence", 6613 "named": true 6614 }, 6615 { 6616 "type": "exp_case", 6617 "named": true 6618 }, 6619 { 6620 "type": "exp_cond", 6621 "named": true 6622 }, 6623 { 6624 "type": "exp_do", 6625 "named": true 6626 }, 6627 { 6628 "type": "exp_if_guard", 6629 "named": true 6630 }, 6631 { 6632 "type": "exp_infix", 6633 "named": true 6634 }, 6635 { 6636 "type": "exp_lambda", 6637 "named": true 6638 }, 6639 { 6640 "type": "exp_lambda_case", 6641 "named": true 6642 }, 6643 { 6644 "type": "exp_let_in", 6645 "named": true 6646 }, 6647 { 6648 "type": "exp_list", 6649 "named": true 6650 }, 6651 { 6652 "type": "exp_list_comprehension", 6653 "named": true 6654 }, 6655 { 6656 "type": "exp_literal", 6657 "named": true 6658 }, 6659 { 6660 "type": "exp_name", 6661 "named": true 6662 }, 6663 { 6664 "type": "exp_negation", 6665 "named": true 6666 }, 6667 { 6668 "type": "exp_parens", 6669 "named": true 6670 }, 6671 { 6672 "type": "exp_record", 6673 "named": true 6674 }, 6675 { 6676 "type": "exp_section_left", 6677 "named": true 6678 }, 6679 { 6680 "type": "exp_section_right", 6681 "named": true 6682 }, 6683 { 6684 "type": "exp_sum_empty", 6685 "named": true 6686 }, 6687 { 6688 "type": "exp_th_quoted_name", 6689 "named": true 6690 }, 6691 { 6692 "type": "exp_tuple", 6693 "named": true 6694 }, 6695 { 6696 "type": "exp_type_application", 6697 "named": true 6698 }, 6699 { 6700 "type": "exp_unboxed_sum", 6701 "named": true 6702 }, 6703 { 6704 "type": "exp_unboxed_tuple", 6705 "named": true 6706 }, 6707 { 6708 "type": "quasiquote", 6709 "named": true 6710 }, 6711 { 6712 "type": "splice", 6713 "named": true 6714 } 6715 ] 6716 } 6717 }, 6718 { 6719 "type": "exp_unboxed_tuple", 6720 "named": true, 6721 "fields": { 6722 "type": { 6723 "multiple": true, 6724 "required": false, 6725 "types": [ 6726 { 6727 "type": "context", 6728 "named": true 6729 }, 6730 { 6731 "type": "forall", 6732 "named": true 6733 }, 6734 { 6735 "type": "fun", 6736 "named": true 6737 }, 6738 { 6739 "type": "implicit_param", 6740 "named": true 6741 }, 6742 { 6743 "type": "promoted", 6744 "named": true 6745 }, 6746 { 6747 "type": "quasiquote", 6748 "named": true 6749 }, 6750 { 6751 "type": "splice", 6752 "named": true 6753 }, 6754 { 6755 "type": "type_apply", 6756 "named": true 6757 }, 6758 { 6759 "type": "type_infix", 6760 "named": true 6761 }, 6762 { 6763 "type": "type_list", 6764 "named": true 6765 }, 6766 { 6767 "type": "type_literal", 6768 "named": true 6769 }, 6770 { 6771 "type": "type_name", 6772 "named": true 6773 }, 6774 { 6775 "type": "type_parens", 6776 "named": true 6777 }, 6778 { 6779 "type": "type_star", 6780 "named": true 6781 }, 6782 { 6783 "type": "type_tuple", 6784 "named": true 6785 }, 6786 { 6787 "type": "type_unboxed_sum", 6788 "named": true 6789 }, 6790 { 6791 "type": "type_unboxed_tuple", 6792 "named": true 6793 } 6794 ] 6795 } 6796 }, 6797 "children": { 6798 "multiple": true, 6799 "required": true, 6800 "types": [ 6801 { 6802 "type": "comma", 6803 "named": true 6804 }, 6805 { 6806 "type": "exp_apply", 6807 "named": true 6808 }, 6809 { 6810 "type": "exp_arithmetic_sequence", 6811 "named": true 6812 }, 6813 { 6814 "type": "exp_case", 6815 "named": true 6816 }, 6817 { 6818 "type": "exp_cond", 6819 "named": true 6820 }, 6821 { 6822 "type": "exp_do", 6823 "named": true 6824 }, 6825 { 6826 "type": "exp_if_guard", 6827 "named": true 6828 }, 6829 { 6830 "type": "exp_infix", 6831 "named": true 6832 }, 6833 { 6834 "type": "exp_lambda", 6835 "named": true 6836 }, 6837 { 6838 "type": "exp_lambda_case", 6839 "named": true 6840 }, 6841 { 6842 "type": "exp_let_in", 6843 "named": true 6844 }, 6845 { 6846 "type": "exp_list", 6847 "named": true 6848 }, 6849 { 6850 "type": "exp_list_comprehension", 6851 "named": true 6852 }, 6853 { 6854 "type": "exp_literal", 6855 "named": true 6856 }, 6857 { 6858 "type": "exp_name", 6859 "named": true 6860 }, 6861 { 6862 "type": "exp_negation", 6863 "named": true 6864 }, 6865 { 6866 "type": "exp_parens", 6867 "named": true 6868 }, 6869 { 6870 "type": "exp_record", 6871 "named": true 6872 }, 6873 { 6874 "type": "exp_section_left", 6875 "named": true 6876 }, 6877 { 6878 "type": "exp_section_right", 6879 "named": true 6880 }, 6881 { 6882 "type": "exp_th_quoted_name", 6883 "named": true 6884 }, 6885 { 6886 "type": "exp_tuple", 6887 "named": true 6888 }, 6889 { 6890 "type": "exp_type_application", 6891 "named": true 6892 }, 6893 { 6894 "type": "exp_unboxed_sum", 6895 "named": true 6896 }, 6897 { 6898 "type": "exp_unboxed_tuple", 6899 "named": true 6900 }, 6901 { 6902 "type": "quasiquote", 6903 "named": true 6904 }, 6905 { 6906 "type": "splice", 6907 "named": true 6908 } 6909 ] 6910 } 6911 }, 6912 { 6913 "type": "expent", 6914 "named": true, 6915 "fields": {}, 6916 "children": { 6917 "multiple": false, 6918 "required": true, 6919 "types": [ 6920 { 6921 "type": "string", 6922 "named": true 6923 } 6924 ] 6925 } 6926 }, 6927 { 6928 "type": "export", 6929 "named": true, 6930 "fields": { 6931 "module": { 6932 "multiple": false, 6933 "required": false, 6934 "types": [ 6935 { 6936 "type": "module", 6937 "named": true 6938 }, 6939 { 6940 "type": "qualified_module", 6941 "named": true 6942 } 6943 ] 6944 } 6945 }, 6946 "children": { 6947 "multiple": true, 6948 "required": false, 6949 "types": [ 6950 { 6951 "type": "constructor_operator", 6952 "named": true 6953 }, 6954 { 6955 "type": "export_names", 6956 "named": true 6957 }, 6958 { 6959 "type": "namespace", 6960 "named": true 6961 }, 6962 { 6963 "type": "operator", 6964 "named": true 6965 }, 6966 { 6967 "type": "qualified_constructor_operator", 6968 "named": true 6969 }, 6970 { 6971 "type": "qualified_operator", 6972 "named": true 6973 }, 6974 { 6975 "type": "qualified_type", 6976 "named": true 6977 }, 6978 { 6979 "type": "qualified_type_operator", 6980 "named": true 6981 }, 6982 { 6983 "type": "qualified_variable", 6984 "named": true 6985 }, 6986 { 6987 "type": "type", 6988 "named": true 6989 }, 6990 { 6991 "type": "type_operator", 6992 "named": true 6993 }, 6994 { 6995 "type": "variable", 6996 "named": true 6997 } 6998 ] 6999 } 7000 }, 7001 { 7002 "type": "export_names", 7003 "named": true, 7004 "fields": {}, 7005 "children": { 7006 "multiple": true, 7007 "required": false, 7008 "types": [ 7009 { 7010 "type": "all_names", 7011 "named": true 7012 }, 7013 { 7014 "type": "comma", 7015 "named": true 7016 }, 7017 { 7018 "type": "constructor", 7019 "named": true 7020 }, 7021 { 7022 "type": "constructor_operator", 7023 "named": true 7024 }, 7025 { 7026 "type": "operator", 7027 "named": true 7028 }, 7029 { 7030 "type": "variable", 7031 "named": true 7032 } 7033 ] 7034 } 7035 }, 7036 { 7037 "type": "exports", 7038 "named": true, 7039 "fields": {}, 7040 "children": { 7041 "multiple": true, 7042 "required": false, 7043 "types": [ 7044 { 7045 "type": "comma", 7046 "named": true 7047 }, 7048 { 7049 "type": "export", 7050 "named": true 7051 } 7052 ] 7053 } 7054 }, 7055 { 7056 "type": "field", 7057 "named": true, 7058 "fields": {}, 7059 "children": { 7060 "multiple": true, 7061 "required": true, 7062 "types": [ 7063 { 7064 "type": "comma", 7065 "named": true 7066 }, 7067 { 7068 "type": "context", 7069 "named": true 7070 }, 7071 { 7072 "type": "forall", 7073 "named": true 7074 }, 7075 { 7076 "type": "fun", 7077 "named": true 7078 }, 7079 { 7080 "type": "promoted", 7081 "named": true 7082 }, 7083 { 7084 "type": "quasiquote", 7085 "named": true 7086 }, 7087 { 7088 "type": "splice", 7089 "named": true 7090 }, 7091 { 7092 "type": "strict_type", 7093 "named": true 7094 }, 7095 { 7096 "type": "type_apply", 7097 "named": true 7098 }, 7099 { 7100 "type": "type_infix", 7101 "named": true 7102 }, 7103 { 7104 "type": "type_list", 7105 "named": true 7106 }, 7107 { 7108 "type": "type_literal", 7109 "named": true 7110 }, 7111 { 7112 "type": "type_name", 7113 "named": true 7114 }, 7115 { 7116 "type": "type_parens", 7117 "named": true 7118 }, 7119 { 7120 "type": "type_star", 7121 "named": true 7122 }, 7123 { 7124 "type": "type_tuple", 7125 "named": true 7126 }, 7127 { 7128 "type": "type_unboxed_sum", 7129 "named": true 7130 }, 7131 { 7132 "type": "type_unboxed_tuple", 7133 "named": true 7134 }, 7135 { 7136 "type": "variable", 7137 "named": true 7138 } 7139 ] 7140 } 7141 }, 7142 { 7143 "type": "fixity", 7144 "named": true, 7145 "fields": {}, 7146 "children": { 7147 "multiple": true, 7148 "required": true, 7149 "types": [ 7150 { 7151 "type": "comma", 7152 "named": true 7153 }, 7154 { 7155 "type": "constructor", 7156 "named": true 7157 }, 7158 { 7159 "type": "constructor_operator", 7160 "named": true 7161 }, 7162 { 7163 "type": "integer", 7164 "named": true 7165 }, 7166 { 7167 "type": "varop", 7168 "named": true 7169 } 7170 ] 7171 } 7172 }, 7173 { 7174 "type": "forall", 7175 "named": true, 7176 "fields": {}, 7177 "children": { 7178 "multiple": true, 7179 "required": true, 7180 "types": [ 7181 { 7182 "type": "constraint", 7183 "named": true 7184 }, 7185 { 7186 "type": "context", 7187 "named": true 7188 }, 7189 { 7190 "type": "forall", 7191 "named": true 7192 }, 7193 { 7194 "type": "fun", 7195 "named": true 7196 }, 7197 { 7198 "type": "promoted", 7199 "named": true 7200 }, 7201 { 7202 "type": "quantifiers", 7203 "named": true 7204 }, 7205 { 7206 "type": "quasiquote", 7207 "named": true 7208 }, 7209 { 7210 "type": "splice", 7211 "named": true 7212 }, 7213 { 7214 "type": "type_apply", 7215 "named": true 7216 }, 7217 { 7218 "type": "type_infix", 7219 "named": true 7220 }, 7221 { 7222 "type": "type_list", 7223 "named": true 7224 }, 7225 { 7226 "type": "type_literal", 7227 "named": true 7228 }, 7229 { 7230 "type": "type_name", 7231 "named": true 7232 }, 7233 { 7234 "type": "type_parens", 7235 "named": true 7236 }, 7237 { 7238 "type": "type_star", 7239 "named": true 7240 }, 7241 { 7242 "type": "type_tuple", 7243 "named": true 7244 }, 7245 { 7246 "type": "type_unboxed_sum", 7247 "named": true 7248 }, 7249 { 7250 "type": "type_unboxed_tuple", 7251 "named": true 7252 } 7253 ] 7254 } 7255 }, 7256 { 7257 "type": "foreign_export", 7258 "named": true, 7259 "fields": {}, 7260 "children": { 7261 "multiple": true, 7262 "required": true, 7263 "types": [ 7264 { 7265 "type": "calling_convention", 7266 "named": true 7267 }, 7268 { 7269 "type": "expent", 7270 "named": true 7271 }, 7272 { 7273 "type": "safety", 7274 "named": true 7275 }, 7276 { 7277 "type": "signature", 7278 "named": true 7279 } 7280 ] 7281 } 7282 }, 7283 { 7284 "type": "foreign_import", 7285 "named": true, 7286 "fields": {}, 7287 "children": { 7288 "multiple": true, 7289 "required": true, 7290 "types": [ 7291 { 7292 "type": "calling_convention", 7293 "named": true 7294 }, 7295 { 7296 "type": "impent", 7297 "named": true 7298 }, 7299 { 7300 "type": "safety", 7301 "named": true 7302 }, 7303 { 7304 "type": "signature", 7305 "named": true 7306 } 7307 ] 7308 } 7309 }, 7310 { 7311 "type": "fun", 7312 "named": true, 7313 "fields": {}, 7314 "children": { 7315 "multiple": true, 7316 "required": true, 7317 "types": [ 7318 { 7319 "type": "context", 7320 "named": true 7321 }, 7322 { 7323 "type": "forall", 7324 "named": true 7325 }, 7326 { 7327 "type": "fun", 7328 "named": true 7329 }, 7330 { 7331 "type": "promoted", 7332 "named": true 7333 }, 7334 { 7335 "type": "quasiquote", 7336 "named": true 7337 }, 7338 { 7339 "type": "splice", 7340 "named": true 7341 }, 7342 { 7343 "type": "strict_type", 7344 "named": true 7345 }, 7346 { 7347 "type": "type_apply", 7348 "named": true 7349 }, 7350 { 7351 "type": "type_infix", 7352 "named": true 7353 }, 7354 { 7355 "type": "type_list", 7356 "named": true 7357 }, 7358 { 7359 "type": "type_literal", 7360 "named": true 7361 }, 7362 { 7363 "type": "type_name", 7364 "named": true 7365 }, 7366 { 7367 "type": "type_parens", 7368 "named": true 7369 }, 7370 { 7371 "type": "type_star", 7372 "named": true 7373 }, 7374 { 7375 "type": "type_tuple", 7376 "named": true 7377 }, 7378 { 7379 "type": "type_unboxed_sum", 7380 "named": true 7381 }, 7382 { 7383 "type": "type_unboxed_tuple", 7384 "named": true 7385 } 7386 ] 7387 } 7388 }, 7389 { 7390 "type": "function", 7391 "named": true, 7392 "fields": { 7393 "infix": { 7394 "multiple": false, 7395 "required": false, 7396 "types": [ 7397 { 7398 "type": "infix", 7399 "named": true 7400 } 7401 ] 7402 }, 7403 "name": { 7404 "multiple": true, 7405 "required": false, 7406 "types": [ 7407 { 7408 "type": "(", 7409 "named": false 7410 }, 7411 { 7412 "type": ")", 7413 "named": false 7414 }, 7415 { 7416 "type": "implicit_parid", 7417 "named": true 7418 }, 7419 { 7420 "type": "operator", 7421 "named": true 7422 }, 7423 { 7424 "type": "variable", 7425 "named": true 7426 } 7427 ] 7428 }, 7429 "pattern": { 7430 "multiple": false, 7431 "required": false, 7432 "types": [ 7433 { 7434 "type": "pat_apply", 7435 "named": true 7436 }, 7437 { 7438 "type": "pat_as", 7439 "named": true 7440 }, 7441 { 7442 "type": "pat_infix", 7443 "named": true 7444 }, 7445 { 7446 "type": "pat_irrefutable", 7447 "named": true 7448 }, 7449 { 7450 "type": "pat_list", 7451 "named": true 7452 }, 7453 { 7454 "type": "pat_literal", 7455 "named": true 7456 }, 7457 { 7458 "type": "pat_name", 7459 "named": true 7460 }, 7461 { 7462 "type": "pat_negation", 7463 "named": true 7464 }, 7465 { 7466 "type": "pat_parens", 7467 "named": true 7468 }, 7469 { 7470 "type": "pat_record", 7471 "named": true 7472 }, 7473 { 7474 "type": "pat_strict", 7475 "named": true 7476 }, 7477 { 7478 "type": "pat_tuple", 7479 "named": true 7480 }, 7481 { 7482 "type": "pat_typed", 7483 "named": true 7484 }, 7485 { 7486 "type": "pat_unboxed_tuple", 7487 "named": true 7488 }, 7489 { 7490 "type": "pat_wildcard", 7491 "named": true 7492 }, 7493 { 7494 "type": "quasiquote", 7495 "named": true 7496 }, 7497 { 7498 "type": "splice", 7499 "named": true 7500 } 7501 ] 7502 }, 7503 "patterns": { 7504 "multiple": false, 7505 "required": false, 7506 "types": [ 7507 { 7508 "type": "patterns", 7509 "named": true 7510 } 7511 ] 7512 }, 7513 "rhs": { 7514 "multiple": true, 7515 "required": false, 7516 "types": [ 7517 { 7518 "type": "::", 7519 "named": false 7520 }, 7521 { 7522 "type": "context", 7523 "named": true 7524 }, 7525 { 7526 "type": "exp_apply", 7527 "named": true 7528 }, 7529 { 7530 "type": "exp_arithmetic_sequence", 7531 "named": true 7532 }, 7533 { 7534 "type": "exp_case", 7535 "named": true 7536 }, 7537 { 7538 "type": "exp_cond", 7539 "named": true 7540 }, 7541 { 7542 "type": "exp_do", 7543 "named": true 7544 }, 7545 { 7546 "type": "exp_if_guard", 7547 "named": true 7548 }, 7549 { 7550 "type": "exp_infix", 7551 "named": true 7552 }, 7553 { 7554 "type": "exp_lambda", 7555 "named": true 7556 }, 7557 { 7558 "type": "exp_lambda_case", 7559 "named": true 7560 }, 7561 { 7562 "type": "exp_let_in", 7563 "named": true 7564 }, 7565 { 7566 "type": "exp_list", 7567 "named": true 7568 }, 7569 { 7570 "type": "exp_list_comprehension", 7571 "named": true 7572 }, 7573 { 7574 "type": "exp_literal", 7575 "named": true 7576 }, 7577 { 7578 "type": "exp_name", 7579 "named": true 7580 }, 7581 { 7582 "type": "exp_negation", 7583 "named": true 7584 }, 7585 { 7586 "type": "exp_parens", 7587 "named": true 7588 }, 7589 { 7590 "type": "exp_record", 7591 "named": true 7592 }, 7593 { 7594 "type": "exp_section_left", 7595 "named": true 7596 }, 7597 { 7598 "type": "exp_section_right", 7599 "named": true 7600 }, 7601 { 7602 "type": "exp_th_quoted_name", 7603 "named": true 7604 }, 7605 { 7606 "type": "exp_tuple", 7607 "named": true 7608 }, 7609 { 7610 "type": "exp_type_application", 7611 "named": true 7612 }, 7613 { 7614 "type": "exp_unboxed_sum", 7615 "named": true 7616 }, 7617 { 7618 "type": "exp_unboxed_tuple", 7619 "named": true 7620 }, 7621 { 7622 "type": "forall", 7623 "named": true 7624 }, 7625 { 7626 "type": "fun", 7627 "named": true 7628 }, 7629 { 7630 "type": "implicit_param", 7631 "named": true 7632 }, 7633 { 7634 "type": "promoted", 7635 "named": true 7636 }, 7637 { 7638 "type": "quasiquote", 7639 "named": true 7640 }, 7641 { 7642 "type": "splice", 7643 "named": true 7644 }, 7645 { 7646 "type": "type_apply", 7647 "named": true 7648 }, 7649 { 7650 "type": "type_infix", 7651 "named": true 7652 }, 7653 { 7654 "type": "type_list", 7655 "named": true 7656 }, 7657 { 7658 "type": "type_literal", 7659 "named": true 7660 }, 7661 { 7662 "type": "type_name", 7663 "named": true 7664 }, 7665 { 7666 "type": "type_parens", 7667 "named": true 7668 }, 7669 { 7670 "type": "type_star", 7671 "named": true 7672 }, 7673 { 7674 "type": "type_tuple", 7675 "named": true 7676 }, 7677 { 7678 "type": "type_unboxed_sum", 7679 "named": true 7680 }, 7681 { 7682 "type": "type_unboxed_tuple", 7683 "named": true 7684 } 7685 ] 7686 }, 7687 "type": { 7688 "multiple": false, 7689 "required": false, 7690 "types": [ 7691 { 7692 "type": "context", 7693 "named": true 7694 }, 7695 { 7696 "type": "forall", 7697 "named": true 7698 }, 7699 { 7700 "type": "fun", 7701 "named": true 7702 }, 7703 { 7704 "type": "implicit_param", 7705 "named": true 7706 }, 7707 { 7708 "type": "promoted", 7709 "named": true 7710 }, 7711 { 7712 "type": "quasiquote", 7713 "named": true 7714 }, 7715 { 7716 "type": "splice", 7717 "named": true 7718 }, 7719 { 7720 "type": "type_apply", 7721 "named": true 7722 }, 7723 { 7724 "type": "type_infix", 7725 "named": true 7726 }, 7727 { 7728 "type": "type_list", 7729 "named": true 7730 }, 7731 { 7732 "type": "type_literal", 7733 "named": true 7734 }, 7735 { 7736 "type": "type_name", 7737 "named": true 7738 }, 7739 { 7740 "type": "type_parens", 7741 "named": true 7742 }, 7743 { 7744 "type": "type_star", 7745 "named": true 7746 }, 7747 { 7748 "type": "type_tuple", 7749 "named": true 7750 }, 7751 { 7752 "type": "type_unboxed_sum", 7753 "named": true 7754 }, 7755 { 7756 "type": "type_unboxed_tuple", 7757 "named": true 7758 } 7759 ] 7760 } 7761 }, 7762 "children": { 7763 "multiple": true, 7764 "required": false, 7765 "types": [ 7766 { 7767 "type": "decls", 7768 "named": true 7769 }, 7770 { 7771 "type": "guard_equation", 7772 "named": true 7773 }, 7774 { 7775 "type": "where", 7776 "named": true 7777 } 7778 ] 7779 } 7780 }, 7781 { 7782 "type": "fundep", 7783 "named": true, 7784 "fields": {}, 7785 "children": { 7786 "multiple": true, 7787 "required": true, 7788 "types": [ 7789 { 7790 "type": "type_variable", 7791 "named": true 7792 } 7793 ] 7794 } 7795 }, 7796 { 7797 "type": "fundeps", 7798 "named": true, 7799 "fields": {}, 7800 "children": { 7801 "multiple": true, 7802 "required": true, 7803 "types": [ 7804 { 7805 "type": "comma", 7806 "named": true 7807 }, 7808 { 7809 "type": "fundep", 7810 "named": true 7811 } 7812 ] 7813 } 7814 }, 7815 { 7816 "type": "gadt_constructor", 7817 "named": true, 7818 "fields": {}, 7819 "children": { 7820 "multiple": true, 7821 "required": true, 7822 "types": [ 7823 { 7824 "type": "constructor", 7825 "named": true 7826 }, 7827 { 7828 "type": "constructor_operator", 7829 "named": true 7830 }, 7831 { 7832 "type": "context", 7833 "named": true 7834 }, 7835 { 7836 "type": "forall", 7837 "named": true 7838 }, 7839 { 7840 "type": "fun", 7841 "named": true 7842 }, 7843 { 7844 "type": "promoted", 7845 "named": true 7846 }, 7847 { 7848 "type": "quasiquote", 7849 "named": true 7850 }, 7851 { 7852 "type": "record_fields", 7853 "named": true 7854 }, 7855 { 7856 "type": "splice", 7857 "named": true 7858 }, 7859 { 7860 "type": "strict_type", 7861 "named": true 7862 }, 7863 { 7864 "type": "type_apply", 7865 "named": true 7866 }, 7867 { 7868 "type": "type_infix", 7869 "named": true 7870 }, 7871 { 7872 "type": "type_list", 7873 "named": true 7874 }, 7875 { 7876 "type": "type_literal", 7877 "named": true 7878 }, 7879 { 7880 "type": "type_name", 7881 "named": true 7882 }, 7883 { 7884 "type": "type_parens", 7885 "named": true 7886 }, 7887 { 7888 "type": "type_star", 7889 "named": true 7890 }, 7891 { 7892 "type": "type_tuple", 7893 "named": true 7894 }, 7895 { 7896 "type": "type_unboxed_sum", 7897 "named": true 7898 }, 7899 { 7900 "type": "type_unboxed_tuple", 7901 "named": true 7902 } 7903 ] 7904 } 7905 }, 7906 { 7907 "type": "gdpat", 7908 "named": true, 7909 "fields": { 7910 "type": { 7911 "multiple": false, 7912 "required": false, 7913 "types": [ 7914 { 7915 "type": "context", 7916 "named": true 7917 }, 7918 { 7919 "type": "forall", 7920 "named": true 7921 }, 7922 { 7923 "type": "fun", 7924 "named": true 7925 }, 7926 { 7927 "type": "implicit_param", 7928 "named": true 7929 }, 7930 { 7931 "type": "promoted", 7932 "named": true 7933 }, 7934 { 7935 "type": "quasiquote", 7936 "named": true 7937 }, 7938 { 7939 "type": "splice", 7940 "named": true 7941 }, 7942 { 7943 "type": "type_apply", 7944 "named": true 7945 }, 7946 { 7947 "type": "type_infix", 7948 "named": true 7949 }, 7950 { 7951 "type": "type_list", 7952 "named": true 7953 }, 7954 { 7955 "type": "type_literal", 7956 "named": true 7957 }, 7958 { 7959 "type": "type_name", 7960 "named": true 7961 }, 7962 { 7963 "type": "type_parens", 7964 "named": true 7965 }, 7966 { 7967 "type": "type_star", 7968 "named": true 7969 }, 7970 { 7971 "type": "type_tuple", 7972 "named": true 7973 }, 7974 { 7975 "type": "type_unboxed_sum", 7976 "named": true 7977 }, 7978 { 7979 "type": "type_unboxed_tuple", 7980 "named": true 7981 } 7982 ] 7983 } 7984 }, 7985 "children": { 7986 "multiple": true, 7987 "required": true, 7988 "types": [ 7989 { 7990 "type": "exp_apply", 7991 "named": true 7992 }, 7993 { 7994 "type": "exp_arithmetic_sequence", 7995 "named": true 7996 }, 7997 { 7998 "type": "exp_case", 7999 "named": true 8000 }, 8001 { 8002 "type": "exp_cond", 8003 "named": true 8004 }, 8005 { 8006 "type": "exp_do", 8007 "named": true 8008 }, 8009 { 8010 "type": "exp_if_guard", 8011 "named": true 8012 }, 8013 { 8014 "type": "exp_infix", 8015 "named": true 8016 }, 8017 { 8018 "type": "exp_lambda", 8019 "named": true 8020 }, 8021 { 8022 "type": "exp_lambda_case", 8023 "named": true 8024 }, 8025 { 8026 "type": "exp_let_in", 8027 "named": true 8028 }, 8029 { 8030 "type": "exp_list", 8031 "named": true 8032 }, 8033 { 8034 "type": "exp_list_comprehension", 8035 "named": true 8036 }, 8037 { 8038 "type": "exp_literal", 8039 "named": true 8040 }, 8041 { 8042 "type": "exp_name", 8043 "named": true 8044 }, 8045 { 8046 "type": "exp_negation", 8047 "named": true 8048 }, 8049 { 8050 "type": "exp_parens", 8051 "named": true 8052 }, 8053 { 8054 "type": "exp_record", 8055 "named": true 8056 }, 8057 { 8058 "type": "exp_section_left", 8059 "named": true 8060 }, 8061 { 8062 "type": "exp_section_right", 8063 "named": true 8064 }, 8065 { 8066 "type": "exp_th_quoted_name", 8067 "named": true 8068 }, 8069 { 8070 "type": "exp_tuple", 8071 "named": true 8072 }, 8073 { 8074 "type": "exp_type_application", 8075 "named": true 8076 }, 8077 { 8078 "type": "exp_unboxed_sum", 8079 "named": true 8080 }, 8081 { 8082 "type": "exp_unboxed_tuple", 8083 "named": true 8084 }, 8085 { 8086 "type": "guards", 8087 "named": true 8088 }, 8089 { 8090 "type": "quasiquote", 8091 "named": true 8092 }, 8093 { 8094 "type": "splice", 8095 "named": true 8096 } 8097 ] 8098 } 8099 }, 8100 { 8101 "type": "guard", 8102 "named": true, 8103 "fields": {}, 8104 "children": { 8105 "multiple": false, 8106 "required": true, 8107 "types": [ 8108 { 8109 "type": "exp_apply", 8110 "named": true 8111 }, 8112 { 8113 "type": "exp_arithmetic_sequence", 8114 "named": true 8115 }, 8116 { 8117 "type": "exp_case", 8118 "named": true 8119 }, 8120 { 8121 "type": "exp_cond", 8122 "named": true 8123 }, 8124 { 8125 "type": "exp_do", 8126 "named": true 8127 }, 8128 { 8129 "type": "exp_if_guard", 8130 "named": true 8131 }, 8132 { 8133 "type": "exp_infix", 8134 "named": true 8135 }, 8136 { 8137 "type": "exp_lambda", 8138 "named": true 8139 }, 8140 { 8141 "type": "exp_lambda_case", 8142 "named": true 8143 }, 8144 { 8145 "type": "exp_let_in", 8146 "named": true 8147 }, 8148 { 8149 "type": "exp_list", 8150 "named": true 8151 }, 8152 { 8153 "type": "exp_list_comprehension", 8154 "named": true 8155 }, 8156 { 8157 "type": "exp_literal", 8158 "named": true 8159 }, 8160 { 8161 "type": "exp_name", 8162 "named": true 8163 }, 8164 { 8165 "type": "exp_negation", 8166 "named": true 8167 }, 8168 { 8169 "type": "exp_parens", 8170 "named": true 8171 }, 8172 { 8173 "type": "exp_record", 8174 "named": true 8175 }, 8176 { 8177 "type": "exp_section_left", 8178 "named": true 8179 }, 8180 { 8181 "type": "exp_section_right", 8182 "named": true 8183 }, 8184 { 8185 "type": "exp_th_quoted_name", 8186 "named": true 8187 }, 8188 { 8189 "type": "exp_tuple", 8190 "named": true 8191 }, 8192 { 8193 "type": "exp_type_application", 8194 "named": true 8195 }, 8196 { 8197 "type": "exp_unboxed_sum", 8198 "named": true 8199 }, 8200 { 8201 "type": "exp_unboxed_tuple", 8202 "named": true 8203 }, 8204 { 8205 "type": "let", 8206 "named": true 8207 }, 8208 { 8209 "type": "pattern_guard", 8210 "named": true 8211 }, 8212 { 8213 "type": "quasiquote", 8214 "named": true 8215 }, 8216 { 8217 "type": "splice", 8218 "named": true 8219 } 8220 ] 8221 } 8222 }, 8223 { 8224 "type": "guard_equation", 8225 "named": true, 8226 "fields": { 8227 "type": { 8228 "multiple": false, 8229 "required": false, 8230 "types": [ 8231 { 8232 "type": "context", 8233 "named": true 8234 }, 8235 { 8236 "type": "forall", 8237 "named": true 8238 }, 8239 { 8240 "type": "fun", 8241 "named": true 8242 }, 8243 { 8244 "type": "implicit_param", 8245 "named": true 8246 }, 8247 { 8248 "type": "promoted", 8249 "named": true 8250 }, 8251 { 8252 "type": "quasiquote", 8253 "named": true 8254 }, 8255 { 8256 "type": "splice", 8257 "named": true 8258 }, 8259 { 8260 "type": "type_apply", 8261 "named": true 8262 }, 8263 { 8264 "type": "type_infix", 8265 "named": true 8266 }, 8267 { 8268 "type": "type_list", 8269 "named": true 8270 }, 8271 { 8272 "type": "type_literal", 8273 "named": true 8274 }, 8275 { 8276 "type": "type_name", 8277 "named": true 8278 }, 8279 { 8280 "type": "type_parens", 8281 "named": true 8282 }, 8283 { 8284 "type": "type_star", 8285 "named": true 8286 }, 8287 { 8288 "type": "type_tuple", 8289 "named": true 8290 }, 8291 { 8292 "type": "type_unboxed_sum", 8293 "named": true 8294 }, 8295 { 8296 "type": "type_unboxed_tuple", 8297 "named": true 8298 } 8299 ] 8300 } 8301 }, 8302 "children": { 8303 "multiple": true, 8304 "required": true, 8305 "types": [ 8306 { 8307 "type": "exp_apply", 8308 "named": true 8309 }, 8310 { 8311 "type": "exp_arithmetic_sequence", 8312 "named": true 8313 }, 8314 { 8315 "type": "exp_case", 8316 "named": true 8317 }, 8318 { 8319 "type": "exp_cond", 8320 "named": true 8321 }, 8322 { 8323 "type": "exp_do", 8324 "named": true 8325 }, 8326 { 8327 "type": "exp_if_guard", 8328 "named": true 8329 }, 8330 { 8331 "type": "exp_infix", 8332 "named": true 8333 }, 8334 { 8335 "type": "exp_lambda", 8336 "named": true 8337 }, 8338 { 8339 "type": "exp_lambda_case", 8340 "named": true 8341 }, 8342 { 8343 "type": "exp_let_in", 8344 "named": true 8345 }, 8346 { 8347 "type": "exp_list", 8348 "named": true 8349 }, 8350 { 8351 "type": "exp_list_comprehension", 8352 "named": true 8353 }, 8354 { 8355 "type": "exp_literal", 8356 "named": true 8357 }, 8358 { 8359 "type": "exp_name", 8360 "named": true 8361 }, 8362 { 8363 "type": "exp_negation", 8364 "named": true 8365 }, 8366 { 8367 "type": "exp_parens", 8368 "named": true 8369 }, 8370 { 8371 "type": "exp_record", 8372 "named": true 8373 }, 8374 { 8375 "type": "exp_section_left", 8376 "named": true 8377 }, 8378 { 8379 "type": "exp_section_right", 8380 "named": true 8381 }, 8382 { 8383 "type": "exp_th_quoted_name", 8384 "named": true 8385 }, 8386 { 8387 "type": "exp_tuple", 8388 "named": true 8389 }, 8390 { 8391 "type": "exp_type_application", 8392 "named": true 8393 }, 8394 { 8395 "type": "exp_unboxed_sum", 8396 "named": true 8397 }, 8398 { 8399 "type": "exp_unboxed_tuple", 8400 "named": true 8401 }, 8402 { 8403 "type": "guards", 8404 "named": true 8405 }, 8406 { 8407 "type": "quasiquote", 8408 "named": true 8409 }, 8410 { 8411 "type": "splice", 8412 "named": true 8413 } 8414 ] 8415 } 8416 }, 8417 { 8418 "type": "guards", 8419 "named": true, 8420 "fields": {}, 8421 "children": { 8422 "multiple": true, 8423 "required": true, 8424 "types": [ 8425 { 8426 "type": "comma", 8427 "named": true 8428 }, 8429 { 8430 "type": "guard", 8431 "named": true 8432 } 8433 ] 8434 } 8435 }, 8436 { 8437 "type": "haskell", 8438 "named": true, 8439 "fields": { 8440 "module": { 8441 "multiple": false, 8442 "required": false, 8443 "types": [ 8444 { 8445 "type": "module", 8446 "named": true 8447 }, 8448 { 8449 "type": "qualified_module", 8450 "named": true 8451 } 8452 ] 8453 } 8454 }, 8455 "children": { 8456 "multiple": true, 8457 "required": true, 8458 "types": [ 8459 { 8460 "type": "adt", 8461 "named": true 8462 }, 8463 { 8464 "type": "class", 8465 "named": true 8466 }, 8467 { 8468 "type": "data_family", 8469 "named": true 8470 }, 8471 { 8472 "type": "data_instance", 8473 "named": true 8474 }, 8475 { 8476 "type": "default_declaration", 8477 "named": true 8478 }, 8479 { 8480 "type": "deriving_declaration", 8481 "named": true 8482 }, 8483 { 8484 "type": "empty_file", 8485 "named": true 8486 }, 8487 { 8488 "type": "exports", 8489 "named": true 8490 }, 8491 { 8492 "type": "fixity", 8493 "named": true 8494 }, 8495 { 8496 "type": "foreign_export", 8497 "named": true 8498 }, 8499 { 8500 "type": "foreign_import", 8501 "named": true 8502 }, 8503 { 8504 "type": "function", 8505 "named": true 8506 }, 8507 { 8508 "type": "import", 8509 "named": true 8510 }, 8511 { 8512 "type": "instance", 8513 "named": true 8514 }, 8515 { 8516 "type": "newtype", 8517 "named": true 8518 }, 8519 { 8520 "type": "pattern_synonym", 8521 "named": true 8522 }, 8523 { 8524 "type": "role_annotation", 8525 "named": true 8526 }, 8527 { 8528 "type": "signature", 8529 "named": true 8530 }, 8531 { 8532 "type": "top_splice", 8533 "named": true 8534 }, 8535 { 8536 "type": "type_alias", 8537 "named": true 8538 }, 8539 { 8540 "type": "type_family", 8541 "named": true 8542 }, 8543 { 8544 "type": "type_instance", 8545 "named": true 8546 }, 8547 { 8548 "type": "where", 8549 "named": true 8550 } 8551 ] 8552 } 8553 }, 8554 { 8555 "type": "head", 8556 "named": true, 8557 "fields": { 8558 "name": { 8559 "multiple": true, 8560 "required": false, 8561 "types": [ 8562 { 8563 "type": "(", 8564 "named": false 8565 }, 8566 { 8567 "type": ")", 8568 "named": false 8569 }, 8570 { 8571 "type": "constructor_operator", 8572 "named": true 8573 }, 8574 { 8575 "type": "type", 8576 "named": true 8577 }, 8578 { 8579 "type": "type_operator", 8580 "named": true 8581 } 8582 ] 8583 } 8584 }, 8585 "children": { 8586 "multiple": true, 8587 "required": false, 8588 "types": [ 8589 { 8590 "type": "annotated_type_variable", 8591 "named": true 8592 }, 8593 { 8594 "type": "type_infix", 8595 "named": true 8596 }, 8597 { 8598 "type": "type_variable", 8599 "named": true 8600 } 8601 ] 8602 } 8603 }, 8604 { 8605 "type": "impent", 8606 "named": true, 8607 "fields": {}, 8608 "children": { 8609 "multiple": false, 8610 "required": true, 8611 "types": [ 8612 { 8613 "type": "string", 8614 "named": true 8615 } 8616 ] 8617 } 8618 }, 8619 { 8620 "type": "implicit_param", 8621 "named": true, 8622 "fields": { 8623 "type": { 8624 "multiple": false, 8625 "required": true, 8626 "types": [ 8627 { 8628 "type": "context", 8629 "named": true 8630 }, 8631 { 8632 "type": "forall", 8633 "named": true 8634 }, 8635 { 8636 "type": "fun", 8637 "named": true 8638 }, 8639 { 8640 "type": "implicit_param", 8641 "named": true 8642 }, 8643 { 8644 "type": "promoted", 8645 "named": true 8646 }, 8647 { 8648 "type": "quasiquote", 8649 "named": true 8650 }, 8651 { 8652 "type": "splice", 8653 "named": true 8654 }, 8655 { 8656 "type": "type_apply", 8657 "named": true 8658 }, 8659 { 8660 "type": "type_infix", 8661 "named": true 8662 }, 8663 { 8664 "type": "type_list", 8665 "named": true 8666 }, 8667 { 8668 "type": "type_literal", 8669 "named": true 8670 }, 8671 { 8672 "type": "type_name", 8673 "named": true 8674 }, 8675 { 8676 "type": "type_parens", 8677 "named": true 8678 }, 8679 { 8680 "type": "type_star", 8681 "named": true 8682 }, 8683 { 8684 "type": "type_tuple", 8685 "named": true 8686 }, 8687 { 8688 "type": "type_unboxed_sum", 8689 "named": true 8690 }, 8691 { 8692 "type": "type_unboxed_tuple", 8693 "named": true 8694 } 8695 ] 8696 } 8697 }, 8698 "children": { 8699 "multiple": false, 8700 "required": true, 8701 "types": [ 8702 { 8703 "type": "implicit_parid", 8704 "named": true 8705 } 8706 ] 8707 } 8708 }, 8709 { 8710 "type": "import", 8711 "named": true, 8712 "fields": {}, 8713 "children": { 8714 "multiple": true, 8715 "required": true, 8716 "types": [ 8717 { 8718 "type": "import_list", 8719 "named": true 8720 }, 8721 { 8722 "type": "import_package", 8723 "named": true 8724 }, 8725 { 8726 "type": "module", 8727 "named": true 8728 }, 8729 { 8730 "type": "qualified_module", 8731 "named": true 8732 } 8733 ] 8734 } 8735 }, 8736 { 8737 "type": "import_con_names", 8738 "named": true, 8739 "fields": {}, 8740 "children": { 8741 "multiple": true, 8742 "required": false, 8743 "types": [ 8744 { 8745 "type": "all_names", 8746 "named": true 8747 }, 8748 { 8749 "type": "comma", 8750 "named": true 8751 }, 8752 { 8753 "type": "constructor", 8754 "named": true 8755 }, 8756 { 8757 "type": "constructor_operator", 8758 "named": true 8759 }, 8760 { 8761 "type": "operator", 8762 "named": true 8763 }, 8764 { 8765 "type": "variable", 8766 "named": true 8767 } 8768 ] 8769 } 8770 }, 8771 { 8772 "type": "import_item", 8773 "named": true, 8774 "fields": {}, 8775 "children": { 8776 "multiple": true, 8777 "required": true, 8778 "types": [ 8779 { 8780 "type": "constructor_operator", 8781 "named": true 8782 }, 8783 { 8784 "type": "import_con_names", 8785 "named": true 8786 }, 8787 { 8788 "type": "namespace", 8789 "named": true 8790 }, 8791 { 8792 "type": "operator", 8793 "named": true 8794 }, 8795 { 8796 "type": "type", 8797 "named": true 8798 }, 8799 { 8800 "type": "type_operator", 8801 "named": true 8802 }, 8803 { 8804 "type": "variable", 8805 "named": true 8806 } 8807 ] 8808 } 8809 }, 8810 { 8811 "type": "import_list", 8812 "named": true, 8813 "fields": {}, 8814 "children": { 8815 "multiple": true, 8816 "required": false, 8817 "types": [ 8818 { 8819 "type": "comma", 8820 "named": true 8821 }, 8822 { 8823 "type": "import_item", 8824 "named": true 8825 } 8826 ] 8827 } 8828 }, 8829 { 8830 "type": "infix", 8831 "named": true, 8832 "fields": { 8833 "lhs": { 8834 "multiple": false, 8835 "required": true, 8836 "types": [ 8837 { 8838 "type": "pat_apply", 8839 "named": true 8840 }, 8841 { 8842 "type": "pat_as", 8843 "named": true 8844 }, 8845 { 8846 "type": "pat_infix", 8847 "named": true 8848 }, 8849 { 8850 "type": "pat_irrefutable", 8851 "named": true 8852 }, 8853 { 8854 "type": "pat_list", 8855 "named": true 8856 }, 8857 { 8858 "type": "pat_literal", 8859 "named": true 8860 }, 8861 { 8862 "type": "pat_name", 8863 "named": true 8864 }, 8865 { 8866 "type": "pat_negation", 8867 "named": true 8868 }, 8869 { 8870 "type": "pat_parens", 8871 "named": true 8872 }, 8873 { 8874 "type": "pat_record", 8875 "named": true 8876 }, 8877 { 8878 "type": "pat_strict", 8879 "named": true 8880 }, 8881 { 8882 "type": "pat_tuple", 8883 "named": true 8884 }, 8885 { 8886 "type": "pat_unboxed_tuple", 8887 "named": true 8888 }, 8889 { 8890 "type": "pat_wildcard", 8891 "named": true 8892 }, 8893 { 8894 "type": "quasiquote", 8895 "named": true 8896 }, 8897 { 8898 "type": "splice", 8899 "named": true 8900 } 8901 ] 8902 }, 8903 "op": { 8904 "multiple": false, 8905 "required": true, 8906 "types": [ 8907 { 8908 "type": "varop", 8909 "named": true 8910 } 8911 ] 8912 }, 8913 "rhs": { 8914 "multiple": false, 8915 "required": true, 8916 "types": [ 8917 { 8918 "type": "pat_apply", 8919 "named": true 8920 }, 8921 { 8922 "type": "pat_as", 8923 "named": true 8924 }, 8925 { 8926 "type": "pat_infix", 8927 "named": true 8928 }, 8929 { 8930 "type": "pat_irrefutable", 8931 "named": true 8932 }, 8933 { 8934 "type": "pat_list", 8935 "named": true 8936 }, 8937 { 8938 "type": "pat_literal", 8939 "named": true 8940 }, 8941 { 8942 "type": "pat_name", 8943 "named": true 8944 }, 8945 { 8946 "type": "pat_negation", 8947 "named": true 8948 }, 8949 { 8950 "type": "pat_parens", 8951 "named": true 8952 }, 8953 { 8954 "type": "pat_record", 8955 "named": true 8956 }, 8957 { 8958 "type": "pat_strict", 8959 "named": true 8960 }, 8961 { 8962 "type": "pat_tuple", 8963 "named": true 8964 }, 8965 { 8966 "type": "pat_unboxed_tuple", 8967 "named": true 8968 }, 8969 { 8970 "type": "pat_wildcard", 8971 "named": true 8972 }, 8973 { 8974 "type": "quasiquote", 8975 "named": true 8976 }, 8977 { 8978 "type": "splice", 8979 "named": true 8980 } 8981 ] 8982 } 8983 } 8984 }, 8985 { 8986 "type": "inst_datainst", 8987 "named": true, 8988 "fields": { 8989 "type": { 8990 "multiple": false, 8991 "required": false, 8992 "types": [ 8993 { 8994 "type": "context", 8995 "named": true 8996 }, 8997 { 8998 "type": "forall", 8999 "named": true 9000 }, 9001 { 9002 "type": "fun", 9003 "named": true 9004 }, 9005 { 9006 "type": "implicit_param", 9007 "named": true 9008 }, 9009 { 9010 "type": "promoted", 9011 "named": true 9012 }, 9013 { 9014 "type": "quasiquote", 9015 "named": true 9016 }, 9017 { 9018 "type": "splice", 9019 "named": true 9020 }, 9021 { 9022 "type": "type_apply", 9023 "named": true 9024 }, 9025 { 9026 "type": "type_infix", 9027 "named": true 9028 }, 9029 { 9030 "type": "type_list", 9031 "named": true 9032 }, 9033 { 9034 "type": "type_literal", 9035 "named": true 9036 }, 9037 { 9038 "type": "type_name", 9039 "named": true 9040 }, 9041 { 9042 "type": "type_parens", 9043 "named": true 9044 }, 9045 { 9046 "type": "type_star", 9047 "named": true 9048 }, 9049 { 9050 "type": "type_tuple", 9051 "named": true 9052 }, 9053 { 9054 "type": "type_unboxed_sum", 9055 "named": true 9056 }, 9057 { 9058 "type": "type_unboxed_tuple", 9059 "named": true 9060 } 9061 ] 9062 } 9063 }, 9064 "children": { 9065 "multiple": true, 9066 "required": true, 9067 "types": [ 9068 { 9069 "type": "constructors", 9070 "named": true 9071 }, 9072 { 9073 "type": "context", 9074 "named": true 9075 }, 9076 { 9077 "type": "deriving", 9078 "named": true 9079 }, 9080 { 9081 "type": "forall", 9082 "named": true 9083 }, 9084 { 9085 "type": "gadt_constructor", 9086 "named": true 9087 }, 9088 { 9089 "type": "newtype_constructor", 9090 "named": true 9091 }, 9092 { 9093 "type": "promoted", 9094 "named": true 9095 }, 9096 { 9097 "type": "quasiquote", 9098 "named": true 9099 }, 9100 { 9101 "type": "splice", 9102 "named": true 9103 }, 9104 { 9105 "type": "type_apply", 9106 "named": true 9107 }, 9108 { 9109 "type": "type_infix", 9110 "named": true 9111 }, 9112 { 9113 "type": "type_list", 9114 "named": true 9115 }, 9116 { 9117 "type": "type_literal", 9118 "named": true 9119 }, 9120 { 9121 "type": "type_name", 9122 "named": true 9123 }, 9124 { 9125 "type": "type_parens", 9126 "named": true 9127 }, 9128 { 9129 "type": "type_star", 9130 "named": true 9131 }, 9132 { 9133 "type": "type_tuple", 9134 "named": true 9135 }, 9136 { 9137 "type": "type_unboxed_sum", 9138 "named": true 9139 }, 9140 { 9141 "type": "type_unboxed_tuple", 9142 "named": true 9143 }, 9144 { 9145 "type": "where", 9146 "named": true 9147 } 9148 ] 9149 } 9150 }, 9151 { 9152 "type": "inst_tyinst", 9153 "named": true, 9154 "fields": {}, 9155 "children": { 9156 "multiple": true, 9157 "required": true, 9158 "types": [ 9159 { 9160 "type": "context", 9161 "named": true 9162 }, 9163 { 9164 "type": "forall", 9165 "named": true 9166 }, 9167 { 9168 "type": "fun", 9169 "named": true 9170 }, 9171 { 9172 "type": "promoted", 9173 "named": true 9174 }, 9175 { 9176 "type": "quasiquote", 9177 "named": true 9178 }, 9179 { 9180 "type": "splice", 9181 "named": true 9182 }, 9183 { 9184 "type": "type_apply", 9185 "named": true 9186 }, 9187 { 9188 "type": "type_infix", 9189 "named": true 9190 }, 9191 { 9192 "type": "type_list", 9193 "named": true 9194 }, 9195 { 9196 "type": "type_literal", 9197 "named": true 9198 }, 9199 { 9200 "type": "type_name", 9201 "named": true 9202 }, 9203 { 9204 "type": "type_parens", 9205 "named": true 9206 }, 9207 { 9208 "type": "type_star", 9209 "named": true 9210 }, 9211 { 9212 "type": "type_tuple", 9213 "named": true 9214 }, 9215 { 9216 "type": "type_unboxed_sum", 9217 "named": true 9218 }, 9219 { 9220 "type": "type_unboxed_tuple", 9221 "named": true 9222 } 9223 ] 9224 } 9225 }, 9226 { 9227 "type": "instance", 9228 "named": true, 9229 "fields": {}, 9230 "children": { 9231 "multiple": true, 9232 "required": true, 9233 "types": [ 9234 { 9235 "type": "context", 9236 "named": true 9237 }, 9238 { 9239 "type": "forall", 9240 "named": true 9241 }, 9242 { 9243 "type": "function", 9244 "named": true 9245 }, 9246 { 9247 "type": "inst_datainst", 9248 "named": true 9249 }, 9250 { 9251 "type": "inst_tyinst", 9252 "named": true 9253 }, 9254 { 9255 "type": "instance_head", 9256 "named": true 9257 }, 9258 { 9259 "type": "signature", 9260 "named": true 9261 }, 9262 { 9263 "type": "where", 9264 "named": true 9265 } 9266 ] 9267 } 9268 }, 9269 { 9270 "type": "instance_head", 9271 "named": true, 9272 "fields": { 9273 "class": { 9274 "multiple": false, 9275 "required": false, 9276 "types": [ 9277 { 9278 "type": "class_name", 9279 "named": true 9280 } 9281 ] 9282 } 9283 }, 9284 "children": { 9285 "multiple": true, 9286 "required": false, 9287 "types": [ 9288 { 9289 "type": "promoted", 9290 "named": true 9291 }, 9292 { 9293 "type": "quasiquote", 9294 "named": true 9295 }, 9296 { 9297 "type": "splice", 9298 "named": true 9299 }, 9300 { 9301 "type": "type_infix", 9302 "named": true 9303 }, 9304 { 9305 "type": "type_list", 9306 "named": true 9307 }, 9308 { 9309 "type": "type_literal", 9310 "named": true 9311 }, 9312 { 9313 "type": "type_name", 9314 "named": true 9315 }, 9316 { 9317 "type": "type_parens", 9318 "named": true 9319 }, 9320 { 9321 "type": "type_star", 9322 "named": true 9323 }, 9324 { 9325 "type": "type_tuple", 9326 "named": true 9327 }, 9328 { 9329 "type": "type_unboxed_sum", 9330 "named": true 9331 }, 9332 { 9333 "type": "type_unboxed_tuple", 9334 "named": true 9335 } 9336 ] 9337 } 9338 }, 9339 { 9340 "type": "integer", 9341 "named": true, 9342 "fields": {} 9343 }, 9344 { 9345 "type": "let", 9346 "named": true, 9347 "fields": {}, 9348 "children": { 9349 "multiple": false, 9350 "required": false, 9351 "types": [ 9352 { 9353 "type": "decls", 9354 "named": true 9355 } 9356 ] 9357 } 9358 }, 9359 { 9360 "type": "module", 9361 "named": true, 9362 "fields": {} 9363 }, 9364 { 9365 "type": "namespace", 9366 "named": true, 9367 "fields": {} 9368 }, 9369 { 9370 "type": "newtype", 9371 "named": true, 9372 "fields": { 9373 "name": { 9374 "multiple": true, 9375 "required": false, 9376 "types": [ 9377 { 9378 "type": "(", 9379 "named": false 9380 }, 9381 { 9382 "type": ")", 9383 "named": false 9384 }, 9385 { 9386 "type": "constructor_operator", 9387 "named": true 9388 }, 9389 { 9390 "type": "type", 9391 "named": true 9392 }, 9393 { 9394 "type": "type_operator", 9395 "named": true 9396 } 9397 ] 9398 }, 9399 "type": { 9400 "multiple": false, 9401 "required": false, 9402 "types": [ 9403 { 9404 "type": "context", 9405 "named": true 9406 }, 9407 { 9408 "type": "forall", 9409 "named": true 9410 }, 9411 { 9412 "type": "fun", 9413 "named": true 9414 }, 9415 { 9416 "type": "implicit_param", 9417 "named": true 9418 }, 9419 { 9420 "type": "promoted", 9421 "named": true 9422 }, 9423 { 9424 "type": "quasiquote", 9425 "named": true 9426 }, 9427 { 9428 "type": "splice", 9429 "named": true 9430 }, 9431 { 9432 "type": "type_apply", 9433 "named": true 9434 }, 9435 { 9436 "type": "type_infix", 9437 "named": true 9438 }, 9439 { 9440 "type": "type_list", 9441 "named": true 9442 }, 9443 { 9444 "type": "type_literal", 9445 "named": true 9446 }, 9447 { 9448 "type": "type_name", 9449 "named": true 9450 }, 9451 { 9452 "type": "type_parens", 9453 "named": true 9454 }, 9455 { 9456 "type": "type_star", 9457 "named": true 9458 }, 9459 { 9460 "type": "type_tuple", 9461 "named": true 9462 }, 9463 { 9464 "type": "type_unboxed_sum", 9465 "named": true 9466 }, 9467 { 9468 "type": "type_unboxed_tuple", 9469 "named": true 9470 } 9471 ] 9472 } 9473 }, 9474 "children": { 9475 "multiple": true, 9476 "required": true, 9477 "types": [ 9478 { 9479 "type": "annotated_type_variable", 9480 "named": true 9481 }, 9482 { 9483 "type": "context", 9484 "named": true 9485 }, 9486 { 9487 "type": "deriving", 9488 "named": true 9489 }, 9490 { 9491 "type": "gadt_constructor", 9492 "named": true 9493 }, 9494 { 9495 "type": "newtype_constructor", 9496 "named": true 9497 }, 9498 { 9499 "type": "type_infix", 9500 "named": true 9501 }, 9502 { 9503 "type": "type_variable", 9504 "named": true 9505 }, 9506 { 9507 "type": "where", 9508 "named": true 9509 } 9510 ] 9511 } 9512 }, 9513 { 9514 "type": "newtype_constructor", 9515 "named": true, 9516 "fields": {}, 9517 "children": { 9518 "multiple": true, 9519 "required": true, 9520 "types": [ 9521 { 9522 "type": "constructor", 9523 "named": true 9524 }, 9525 { 9526 "type": "field", 9527 "named": true 9528 }, 9529 { 9530 "type": "promoted", 9531 "named": true 9532 }, 9533 { 9534 "type": "quasiquote", 9535 "named": true 9536 }, 9537 { 9538 "type": "splice", 9539 "named": true 9540 }, 9541 { 9542 "type": "type_list", 9543 "named": true 9544 }, 9545 { 9546 "type": "type_literal", 9547 "named": true 9548 }, 9549 { 9550 "type": "type_name", 9551 "named": true 9552 }, 9553 { 9554 "type": "type_parens", 9555 "named": true 9556 }, 9557 { 9558 "type": "type_star", 9559 "named": true 9560 }, 9561 { 9562 "type": "type_tuple", 9563 "named": true 9564 }, 9565 { 9566 "type": "type_unboxed_sum", 9567 "named": true 9568 }, 9569 { 9570 "type": "type_unboxed_tuple", 9571 "named": true 9572 } 9573 ] 9574 } 9575 }, 9576 { 9577 "type": "operator", 9578 "named": true, 9579 "fields": {} 9580 }, 9581 { 9582 "type": "pat_apply", 9583 "named": true, 9584 "fields": {}, 9585 "children": { 9586 "multiple": true, 9587 "required": true, 9588 "types": [ 9589 { 9590 "type": "pat_as", 9591 "named": true 9592 }, 9593 { 9594 "type": "pat_irrefutable", 9595 "named": true 9596 }, 9597 { 9598 "type": "pat_list", 9599 "named": true 9600 }, 9601 { 9602 "type": "pat_literal", 9603 "named": true 9604 }, 9605 { 9606 "type": "pat_name", 9607 "named": true 9608 }, 9609 { 9610 "type": "pat_parens", 9611 "named": true 9612 }, 9613 { 9614 "type": "pat_record", 9615 "named": true 9616 }, 9617 { 9618 "type": "pat_strict", 9619 "named": true 9620 }, 9621 { 9622 "type": "pat_tuple", 9623 "named": true 9624 }, 9625 { 9626 "type": "pat_unboxed_tuple", 9627 "named": true 9628 }, 9629 { 9630 "type": "pat_wildcard", 9631 "named": true 9632 }, 9633 { 9634 "type": "quasiquote", 9635 "named": true 9636 }, 9637 { 9638 "type": "splice", 9639 "named": true 9640 } 9641 ] 9642 } 9643 }, 9644 { 9645 "type": "pat_as", 9646 "named": true, 9647 "fields": { 9648 "pat": { 9649 "multiple": false, 9650 "required": true, 9651 "types": [ 9652 { 9653 "type": "pat_as", 9654 "named": true 9655 }, 9656 { 9657 "type": "pat_irrefutable", 9658 "named": true 9659 }, 9660 { 9661 "type": "pat_list", 9662 "named": true 9663 }, 9664 { 9665 "type": "pat_literal", 9666 "named": true 9667 }, 9668 { 9669 "type": "pat_name", 9670 "named": true 9671 }, 9672 { 9673 "type": "pat_parens", 9674 "named": true 9675 }, 9676 { 9677 "type": "pat_record", 9678 "named": true 9679 }, 9680 { 9681 "type": "pat_strict", 9682 "named": true 9683 }, 9684 { 9685 "type": "pat_tuple", 9686 "named": true 9687 }, 9688 { 9689 "type": "pat_unboxed_tuple", 9690 "named": true 9691 }, 9692 { 9693 "type": "pat_wildcard", 9694 "named": true 9695 }, 9696 { 9697 "type": "quasiquote", 9698 "named": true 9699 }, 9700 { 9701 "type": "splice", 9702 "named": true 9703 } 9704 ] 9705 }, 9706 "var": { 9707 "multiple": false, 9708 "required": true, 9709 "types": [ 9710 { 9711 "type": "variable", 9712 "named": true 9713 } 9714 ] 9715 } 9716 } 9717 }, 9718 { 9719 "type": "pat_field", 9720 "named": true, 9721 "fields": {}, 9722 "children": { 9723 "multiple": true, 9724 "required": true, 9725 "types": [ 9726 { 9727 "type": "operator", 9728 "named": true 9729 }, 9730 { 9731 "type": "pat_apply", 9732 "named": true 9733 }, 9734 { 9735 "type": "pat_as", 9736 "named": true 9737 }, 9738 { 9739 "type": "pat_infix", 9740 "named": true 9741 }, 9742 { 9743 "type": "pat_irrefutable", 9744 "named": true 9745 }, 9746 { 9747 "type": "pat_list", 9748 "named": true 9749 }, 9750 { 9751 "type": "pat_literal", 9752 "named": true 9753 }, 9754 { 9755 "type": "pat_name", 9756 "named": true 9757 }, 9758 { 9759 "type": "pat_negation", 9760 "named": true 9761 }, 9762 { 9763 "type": "pat_parens", 9764 "named": true 9765 }, 9766 { 9767 "type": "pat_record", 9768 "named": true 9769 }, 9770 { 9771 "type": "pat_strict", 9772 "named": true 9773 }, 9774 { 9775 "type": "pat_tuple", 9776 "named": true 9777 }, 9778 { 9779 "type": "pat_typed", 9780 "named": true 9781 }, 9782 { 9783 "type": "pat_unboxed_tuple", 9784 "named": true 9785 }, 9786 { 9787 "type": "pat_view", 9788 "named": true 9789 }, 9790 { 9791 "type": "pat_wildcard", 9792 "named": true 9793 }, 9794 { 9795 "type": "qualified_operator", 9796 "named": true 9797 }, 9798 { 9799 "type": "qualified_variable", 9800 "named": true 9801 }, 9802 { 9803 "type": "quasiquote", 9804 "named": true 9805 }, 9806 { 9807 "type": "splice", 9808 "named": true 9809 }, 9810 { 9811 "type": "variable", 9812 "named": true 9813 }, 9814 { 9815 "type": "wildcard", 9816 "named": true 9817 } 9818 ] 9819 } 9820 }, 9821 { 9822 "type": "pat_fields", 9823 "named": true, 9824 "fields": {}, 9825 "children": { 9826 "multiple": true, 9827 "required": false, 9828 "types": [ 9829 { 9830 "type": "comma", 9831 "named": true 9832 }, 9833 { 9834 "type": "pat_field", 9835 "named": true 9836 } 9837 ] 9838 } 9839 }, 9840 { 9841 "type": "pat_infix", 9842 "named": true, 9843 "fields": {}, 9844 "children": { 9845 "multiple": true, 9846 "required": true, 9847 "types": [ 9848 { 9849 "type": "constructor", 9850 "named": true 9851 }, 9852 { 9853 "type": "constructor_operator", 9854 "named": true 9855 }, 9856 { 9857 "type": "pat_apply", 9858 "named": true 9859 }, 9860 { 9861 "type": "pat_as", 9862 "named": true 9863 }, 9864 { 9865 "type": "pat_infix", 9866 "named": true 9867 }, 9868 { 9869 "type": "pat_irrefutable", 9870 "named": true 9871 }, 9872 { 9873 "type": "pat_list", 9874 "named": true 9875 }, 9876 { 9877 "type": "pat_literal", 9878 "named": true 9879 }, 9880 { 9881 "type": "pat_name", 9882 "named": true 9883 }, 9884 { 9885 "type": "pat_negation", 9886 "named": true 9887 }, 9888 { 9889 "type": "pat_parens", 9890 "named": true 9891 }, 9892 { 9893 "type": "pat_record", 9894 "named": true 9895 }, 9896 { 9897 "type": "pat_strict", 9898 "named": true 9899 }, 9900 { 9901 "type": "pat_tuple", 9902 "named": true 9903 }, 9904 { 9905 "type": "pat_unboxed_tuple", 9906 "named": true 9907 }, 9908 { 9909 "type": "pat_wildcard", 9910 "named": true 9911 }, 9912 { 9913 "type": "qualified_constructor", 9914 "named": true 9915 }, 9916 { 9917 "type": "qualified_constructor_operator", 9918 "named": true 9919 }, 9920 { 9921 "type": "quasiquote", 9922 "named": true 9923 }, 9924 { 9925 "type": "splice", 9926 "named": true 9927 } 9928 ] 9929 } 9930 }, 9931 { 9932 "type": "pat_irrefutable", 9933 "named": true, 9934 "fields": {}, 9935 "children": { 9936 "multiple": false, 9937 "required": true, 9938 "types": [ 9939 { 9940 "type": "pat_as", 9941 "named": true 9942 }, 9943 { 9944 "type": "pat_irrefutable", 9945 "named": true 9946 }, 9947 { 9948 "type": "pat_list", 9949 "named": true 9950 }, 9951 { 9952 "type": "pat_literal", 9953 "named": true 9954 }, 9955 { 9956 "type": "pat_name", 9957 "named": true 9958 }, 9959 { 9960 "type": "pat_parens", 9961 "named": true 9962 }, 9963 { 9964 "type": "pat_record", 9965 "named": true 9966 }, 9967 { 9968 "type": "pat_strict", 9969 "named": true 9970 }, 9971 { 9972 "type": "pat_tuple", 9973 "named": true 9974 }, 9975 { 9976 "type": "pat_unboxed_tuple", 9977 "named": true 9978 }, 9979 { 9980 "type": "pat_wildcard", 9981 "named": true 9982 }, 9983 { 9984 "type": "quasiquote", 9985 "named": true 9986 }, 9987 { 9988 "type": "splice", 9989 "named": true 9990 } 9991 ] 9992 } 9993 }, 9994 { 9995 "type": "pat_list", 9996 "named": true, 9997 "fields": {}, 9998 "children": { 9999 "multiple": true, 10000 "required": true, 10001 "types": [ 10002 { 10003 "type": "comma", 10004 "named": true 10005 }, 10006 { 10007 "type": "pat_apply", 10008 "named": true 10009 }, 10010 { 10011 "type": "pat_as", 10012 "named": true 10013 }, 10014 { 10015 "type": "pat_infix", 10016 "named": true 10017 }, 10018 { 10019 "type": "pat_irrefutable", 10020 "named": true 10021 }, 10022 { 10023 "type": "pat_list", 10024 "named": true 10025 }, 10026 { 10027 "type": "pat_literal", 10028 "named": true 10029 }, 10030 { 10031 "type": "pat_name", 10032 "named": true 10033 }, 10034 { 10035 "type": "pat_negation", 10036 "named": true 10037 }, 10038 { 10039 "type": "pat_parens", 10040 "named": true 10041 }, 10042 { 10043 "type": "pat_record", 10044 "named": true 10045 }, 10046 { 10047 "type": "pat_strict", 10048 "named": true 10049 }, 10050 { 10051 "type": "pat_tuple", 10052 "named": true 10053 }, 10054 { 10055 "type": "pat_typed", 10056 "named": true 10057 }, 10058 { 10059 "type": "pat_unboxed_tuple", 10060 "named": true 10061 }, 10062 { 10063 "type": "pat_view", 10064 "named": true 10065 }, 10066 { 10067 "type": "pat_wildcard", 10068 "named": true 10069 }, 10070 { 10071 "type": "quasiquote", 10072 "named": true 10073 }, 10074 { 10075 "type": "splice", 10076 "named": true 10077 } 10078 ] 10079 } 10080 }, 10081 { 10082 "type": "pat_literal", 10083 "named": true, 10084 "fields": {}, 10085 "children": { 10086 "multiple": false, 10087 "required": true, 10088 "types": [ 10089 { 10090 "type": "char", 10091 "named": true 10092 }, 10093 { 10094 "type": "con_list", 10095 "named": true 10096 }, 10097 { 10098 "type": "con_tuple", 10099 "named": true 10100 }, 10101 { 10102 "type": "con_unit", 10103 "named": true 10104 }, 10105 { 10106 "type": "float", 10107 "named": true 10108 }, 10109 { 10110 "type": "integer", 10111 "named": true 10112 }, 10113 { 10114 "type": "string", 10115 "named": true 10116 } 10117 ] 10118 } 10119 }, 10120 { 10121 "type": "pat_name", 10122 "named": true, 10123 "fields": {}, 10124 "children": { 10125 "multiple": false, 10126 "required": true, 10127 "types": [ 10128 { 10129 "type": "constructor", 10130 "named": true 10131 }, 10132 { 10133 "type": "constructor_operator", 10134 "named": true 10135 }, 10136 { 10137 "type": "operator", 10138 "named": true 10139 }, 10140 { 10141 "type": "qualified_constructor", 10142 "named": true 10143 }, 10144 { 10145 "type": "qualified_constructor_operator", 10146 "named": true 10147 }, 10148 { 10149 "type": "variable", 10150 "named": true 10151 } 10152 ] 10153 } 10154 }, 10155 { 10156 "type": "pat_negation", 10157 "named": true, 10158 "fields": {}, 10159 "children": { 10160 "multiple": false, 10161 "required": true, 10162 "types": [ 10163 { 10164 "type": "float", 10165 "named": true 10166 }, 10167 { 10168 "type": "integer", 10169 "named": true 10170 } 10171 ] 10172 } 10173 }, 10174 { 10175 "type": "pat_parens", 10176 "named": true, 10177 "fields": {}, 10178 "children": { 10179 "multiple": false, 10180 "required": true, 10181 "types": [ 10182 { 10183 "type": "pat_apply", 10184 "named": true 10185 }, 10186 { 10187 "type": "pat_as", 10188 "named": true 10189 }, 10190 { 10191 "type": "pat_infix", 10192 "named": true 10193 }, 10194 { 10195 "type": "pat_irrefutable", 10196 "named": true 10197 }, 10198 { 10199 "type": "pat_list", 10200 "named": true 10201 }, 10202 { 10203 "type": "pat_literal", 10204 "named": true 10205 }, 10206 { 10207 "type": "pat_name", 10208 "named": true 10209 }, 10210 { 10211 "type": "pat_negation", 10212 "named": true 10213 }, 10214 { 10215 "type": "pat_parens", 10216 "named": true 10217 }, 10218 { 10219 "type": "pat_record", 10220 "named": true 10221 }, 10222 { 10223 "type": "pat_strict", 10224 "named": true 10225 }, 10226 { 10227 "type": "pat_tuple", 10228 "named": true 10229 }, 10230 { 10231 "type": "pat_typed", 10232 "named": true 10233 }, 10234 { 10235 "type": "pat_unboxed_tuple", 10236 "named": true 10237 }, 10238 { 10239 "type": "pat_view", 10240 "named": true 10241 }, 10242 { 10243 "type": "pat_wildcard", 10244 "named": true 10245 }, 10246 { 10247 "type": "quasiquote", 10248 "named": true 10249 }, 10250 { 10251 "type": "splice", 10252 "named": true 10253 } 10254 ] 10255 } 10256 }, 10257 { 10258 "type": "pat_record", 10259 "named": true, 10260 "fields": { 10261 "con": { 10262 "multiple": false, 10263 "required": true, 10264 "types": [ 10265 { 10266 "type": "pat_name", 10267 "named": true 10268 } 10269 ] 10270 }, 10271 "fields": { 10272 "multiple": false, 10273 "required": true, 10274 "types": [ 10275 { 10276 "type": "pat_fields", 10277 "named": true 10278 } 10279 ] 10280 } 10281 } 10282 }, 10283 { 10284 "type": "pat_strict", 10285 "named": true, 10286 "fields": {}, 10287 "children": { 10288 "multiple": false, 10289 "required": true, 10290 "types": [ 10291 { 10292 "type": "pat_as", 10293 "named": true 10294 }, 10295 { 10296 "type": "pat_irrefutable", 10297 "named": true 10298 }, 10299 { 10300 "type": "pat_list", 10301 "named": true 10302 }, 10303 { 10304 "type": "pat_literal", 10305 "named": true 10306 }, 10307 { 10308 "type": "pat_name", 10309 "named": true 10310 }, 10311 { 10312 "type": "pat_parens", 10313 "named": true 10314 }, 10315 { 10316 "type": "pat_record", 10317 "named": true 10318 }, 10319 { 10320 "type": "pat_strict", 10321 "named": true 10322 }, 10323 { 10324 "type": "pat_tuple", 10325 "named": true 10326 }, 10327 { 10328 "type": "pat_unboxed_tuple", 10329 "named": true 10330 }, 10331 { 10332 "type": "pat_wildcard", 10333 "named": true 10334 }, 10335 { 10336 "type": "quasiquote", 10337 "named": true 10338 }, 10339 { 10340 "type": "splice", 10341 "named": true 10342 } 10343 ] 10344 } 10345 }, 10346 { 10347 "type": "pat_tuple", 10348 "named": true, 10349 "fields": {}, 10350 "children": { 10351 "multiple": true, 10352 "required": true, 10353 "types": [ 10354 { 10355 "type": "comma", 10356 "named": true 10357 }, 10358 { 10359 "type": "pat_apply", 10360 "named": true 10361 }, 10362 { 10363 "type": "pat_as", 10364 "named": true 10365 }, 10366 { 10367 "type": "pat_infix", 10368 "named": true 10369 }, 10370 { 10371 "type": "pat_irrefutable", 10372 "named": true 10373 }, 10374 { 10375 "type": "pat_list", 10376 "named": true 10377 }, 10378 { 10379 "type": "pat_literal", 10380 "named": true 10381 }, 10382 { 10383 "type": "pat_name", 10384 "named": true 10385 }, 10386 { 10387 "type": "pat_negation", 10388 "named": true 10389 }, 10390 { 10391 "type": "pat_parens", 10392 "named": true 10393 }, 10394 { 10395 "type": "pat_record", 10396 "named": true 10397 }, 10398 { 10399 "type": "pat_strict", 10400 "named": true 10401 }, 10402 { 10403 "type": "pat_tuple", 10404 "named": true 10405 }, 10406 { 10407 "type": "pat_typed", 10408 "named": true 10409 }, 10410 { 10411 "type": "pat_unboxed_tuple", 10412 "named": true 10413 }, 10414 { 10415 "type": "pat_view", 10416 "named": true 10417 }, 10418 { 10419 "type": "pat_wildcard", 10420 "named": true 10421 }, 10422 { 10423 "type": "quasiquote", 10424 "named": true 10425 }, 10426 { 10427 "type": "splice", 10428 "named": true 10429 } 10430 ] 10431 } 10432 }, 10433 { 10434 "type": "pat_typed", 10435 "named": true, 10436 "fields": { 10437 "pattern": { 10438 "multiple": false, 10439 "required": true, 10440 "types": [ 10441 { 10442 "type": "pat_apply", 10443 "named": true 10444 }, 10445 { 10446 "type": "pat_as", 10447 "named": true 10448 }, 10449 { 10450 "type": "pat_infix", 10451 "named": true 10452 }, 10453 { 10454 "type": "pat_irrefutable", 10455 "named": true 10456 }, 10457 { 10458 "type": "pat_list", 10459 "named": true 10460 }, 10461 { 10462 "type": "pat_literal", 10463 "named": true 10464 }, 10465 { 10466 "type": "pat_name", 10467 "named": true 10468 }, 10469 { 10470 "type": "pat_negation", 10471 "named": true 10472 }, 10473 { 10474 "type": "pat_parens", 10475 "named": true 10476 }, 10477 { 10478 "type": "pat_record", 10479 "named": true 10480 }, 10481 { 10482 "type": "pat_strict", 10483 "named": true 10484 }, 10485 { 10486 "type": "pat_tuple", 10487 "named": true 10488 }, 10489 { 10490 "type": "pat_unboxed_tuple", 10491 "named": true 10492 }, 10493 { 10494 "type": "pat_wildcard", 10495 "named": true 10496 }, 10497 { 10498 "type": "quasiquote", 10499 "named": true 10500 }, 10501 { 10502 "type": "splice", 10503 "named": true 10504 } 10505 ] 10506 }, 10507 "type": { 10508 "multiple": false, 10509 "required": true, 10510 "types": [ 10511 { 10512 "type": "context", 10513 "named": true 10514 }, 10515 { 10516 "type": "forall", 10517 "named": true 10518 }, 10519 { 10520 "type": "fun", 10521 "named": true 10522 }, 10523 { 10524 "type": "implicit_param", 10525 "named": true 10526 }, 10527 { 10528 "type": "promoted", 10529 "named": true 10530 }, 10531 { 10532 "type": "quasiquote", 10533 "named": true 10534 }, 10535 { 10536 "type": "splice", 10537 "named": true 10538 }, 10539 { 10540 "type": "type_apply", 10541 "named": true 10542 }, 10543 { 10544 "type": "type_infix", 10545 "named": true 10546 }, 10547 { 10548 "type": "type_list", 10549 "named": true 10550 }, 10551 { 10552 "type": "type_literal", 10553 "named": true 10554 }, 10555 { 10556 "type": "type_name", 10557 "named": true 10558 }, 10559 { 10560 "type": "type_parens", 10561 "named": true 10562 }, 10563 { 10564 "type": "type_star", 10565 "named": true 10566 }, 10567 { 10568 "type": "type_tuple", 10569 "named": true 10570 }, 10571 { 10572 "type": "type_unboxed_sum", 10573 "named": true 10574 }, 10575 { 10576 "type": "type_unboxed_tuple", 10577 "named": true 10578 } 10579 ] 10580 } 10581 } 10582 }, 10583 { 10584 "type": "pat_unboxed_tuple", 10585 "named": true, 10586 "fields": {}, 10587 "children": { 10588 "multiple": true, 10589 "required": true, 10590 "types": [ 10591 { 10592 "type": "comma", 10593 "named": true 10594 }, 10595 { 10596 "type": "pat_apply", 10597 "named": true 10598 }, 10599 { 10600 "type": "pat_as", 10601 "named": true 10602 }, 10603 { 10604 "type": "pat_infix", 10605 "named": true 10606 }, 10607 { 10608 "type": "pat_irrefutable", 10609 "named": true 10610 }, 10611 { 10612 "type": "pat_list", 10613 "named": true 10614 }, 10615 { 10616 "type": "pat_literal", 10617 "named": true 10618 }, 10619 { 10620 "type": "pat_name", 10621 "named": true 10622 }, 10623 { 10624 "type": "pat_negation", 10625 "named": true 10626 }, 10627 { 10628 "type": "pat_parens", 10629 "named": true 10630 }, 10631 { 10632 "type": "pat_record", 10633 "named": true 10634 }, 10635 { 10636 "type": "pat_strict", 10637 "named": true 10638 }, 10639 { 10640 "type": "pat_tuple", 10641 "named": true 10642 }, 10643 { 10644 "type": "pat_typed", 10645 "named": true 10646 }, 10647 { 10648 "type": "pat_unboxed_tuple", 10649 "named": true 10650 }, 10651 { 10652 "type": "pat_view", 10653 "named": true 10654 }, 10655 { 10656 "type": "pat_wildcard", 10657 "named": true 10658 }, 10659 { 10660 "type": "quasiquote", 10661 "named": true 10662 }, 10663 { 10664 "type": "splice", 10665 "named": true 10666 } 10667 ] 10668 } 10669 }, 10670 { 10671 "type": "pat_view", 10672 "named": true, 10673 "fields": { 10674 "type": { 10675 "multiple": false, 10676 "required": false, 10677 "types": [ 10678 { 10679 "type": "context", 10680 "named": true 10681 }, 10682 { 10683 "type": "forall", 10684 "named": true 10685 }, 10686 { 10687 "type": "fun", 10688 "named": true 10689 }, 10690 { 10691 "type": "implicit_param", 10692 "named": true 10693 }, 10694 { 10695 "type": "promoted", 10696 "named": true 10697 }, 10698 { 10699 "type": "quasiquote", 10700 "named": true 10701 }, 10702 { 10703 "type": "splice", 10704 "named": true 10705 }, 10706 { 10707 "type": "type_apply", 10708 "named": true 10709 }, 10710 { 10711 "type": "type_infix", 10712 "named": true 10713 }, 10714 { 10715 "type": "type_list", 10716 "named": true 10717 }, 10718 { 10719 "type": "type_literal", 10720 "named": true 10721 }, 10722 { 10723 "type": "type_name", 10724 "named": true 10725 }, 10726 { 10727 "type": "type_parens", 10728 "named": true 10729 }, 10730 { 10731 "type": "type_star", 10732 "named": true 10733 }, 10734 { 10735 "type": "type_tuple", 10736 "named": true 10737 }, 10738 { 10739 "type": "type_unboxed_sum", 10740 "named": true 10741 }, 10742 { 10743 "type": "type_unboxed_tuple", 10744 "named": true 10745 } 10746 ] 10747 } 10748 }, 10749 "children": { 10750 "multiple": true, 10751 "required": true, 10752 "types": [ 10753 { 10754 "type": "exp_apply", 10755 "named": true 10756 }, 10757 { 10758 "type": "exp_arithmetic_sequence", 10759 "named": true 10760 }, 10761 { 10762 "type": "exp_case", 10763 "named": true 10764 }, 10765 { 10766 "type": "exp_cond", 10767 "named": true 10768 }, 10769 { 10770 "type": "exp_do", 10771 "named": true 10772 }, 10773 { 10774 "type": "exp_if_guard", 10775 "named": true 10776 }, 10777 { 10778 "type": "exp_infix", 10779 "named": true 10780 }, 10781 { 10782 "type": "exp_lambda", 10783 "named": true 10784 }, 10785 { 10786 "type": "exp_lambda_case", 10787 "named": true 10788 }, 10789 { 10790 "type": "exp_let_in", 10791 "named": true 10792 }, 10793 { 10794 "type": "exp_list", 10795 "named": true 10796 }, 10797 { 10798 "type": "exp_list_comprehension", 10799 "named": true 10800 }, 10801 { 10802 "type": "exp_literal", 10803 "named": true 10804 }, 10805 { 10806 "type": "exp_name", 10807 "named": true 10808 }, 10809 { 10810 "type": "exp_negation", 10811 "named": true 10812 }, 10813 { 10814 "type": "exp_parens", 10815 "named": true 10816 }, 10817 { 10818 "type": "exp_record", 10819 "named": true 10820 }, 10821 { 10822 "type": "exp_section_left", 10823 "named": true 10824 }, 10825 { 10826 "type": "exp_section_right", 10827 "named": true 10828 }, 10829 { 10830 "type": "exp_th_quoted_name", 10831 "named": true 10832 }, 10833 { 10834 "type": "exp_tuple", 10835 "named": true 10836 }, 10837 { 10838 "type": "exp_type_application", 10839 "named": true 10840 }, 10841 { 10842 "type": "exp_unboxed_sum", 10843 "named": true 10844 }, 10845 { 10846 "type": "exp_unboxed_tuple", 10847 "named": true 10848 }, 10849 { 10850 "type": "pat_apply", 10851 "named": true 10852 }, 10853 { 10854 "type": "pat_as", 10855 "named": true 10856 }, 10857 { 10858 "type": "pat_infix", 10859 "named": true 10860 }, 10861 { 10862 "type": "pat_irrefutable", 10863 "named": true 10864 }, 10865 { 10866 "type": "pat_list", 10867 "named": true 10868 }, 10869 { 10870 "type": "pat_literal", 10871 "named": true 10872 }, 10873 { 10874 "type": "pat_name", 10875 "named": true 10876 }, 10877 { 10878 "type": "pat_negation", 10879 "named": true 10880 }, 10881 { 10882 "type": "pat_parens", 10883 "named": true 10884 }, 10885 { 10886 "type": "pat_record", 10887 "named": true 10888 }, 10889 { 10890 "type": "pat_strict", 10891 "named": true 10892 }, 10893 { 10894 "type": "pat_tuple", 10895 "named": true 10896 }, 10897 { 10898 "type": "pat_typed", 10899 "named": true 10900 }, 10901 { 10902 "type": "pat_unboxed_tuple", 10903 "named": true 10904 }, 10905 { 10906 "type": "pat_view", 10907 "named": true 10908 }, 10909 { 10910 "type": "pat_wildcard", 10911 "named": true 10912 }, 10913 { 10914 "type": "quasiquote", 10915 "named": true 10916 }, 10917 { 10918 "type": "splice", 10919 "named": true 10920 } 10921 ] 10922 } 10923 }, 10924 { 10925 "type": "pat_wildcard", 10926 "named": true, 10927 "fields": {} 10928 }, 10929 { 10930 "type": "pattern", 10931 "named": true, 10932 "fields": { 10933 "name": { 10934 "multiple": false, 10935 "required": false, 10936 "types": [ 10937 { 10938 "type": "qualified_type", 10939 "named": true 10940 }, 10941 { 10942 "type": "type", 10943 "named": true 10944 } 10945 ] 10946 }, 10947 "op": { 10948 "multiple": false, 10949 "required": false, 10950 "types": [ 10951 { 10952 "type": "constructor_operator", 10953 "named": true 10954 }, 10955 { 10956 "type": "promoted", 10957 "named": true 10958 }, 10959 { 10960 "type": "qualified_constructor_operator", 10961 "named": true 10962 }, 10963 { 10964 "type": "qualified_type_operator", 10965 "named": true 10966 }, 10967 { 10968 "type": "ticked", 10969 "named": true 10970 }, 10971 { 10972 "type": "type_operator", 10973 "named": true 10974 } 10975 ] 10976 } 10977 }, 10978 "children": { 10979 "multiple": true, 10980 "required": false, 10981 "types": [ 10982 { 10983 "type": "promoted", 10984 "named": true 10985 }, 10986 { 10987 "type": "quasiquote", 10988 "named": true 10989 }, 10990 { 10991 "type": "splice", 10992 "named": true 10993 }, 10994 { 10995 "type": "type_list", 10996 "named": true 10997 }, 10998 { 10999 "type": "type_literal", 11000 "named": true 11001 }, 11002 { 11003 "type": "type_name", 11004 "named": true 11005 }, 11006 { 11007 "type": "type_parens", 11008 "named": true 11009 }, 11010 { 11011 "type": "type_star", 11012 "named": true 11013 }, 11014 { 11015 "type": "type_tuple", 11016 "named": true 11017 }, 11018 { 11019 "type": "type_unboxed_sum", 11020 "named": true 11021 }, 11022 { 11023 "type": "type_unboxed_tuple", 11024 "named": true 11025 } 11026 ] 11027 } 11028 }, 11029 { 11030 "type": "pattern_guard", 11031 "named": true, 11032 "fields": {}, 11033 "children": { 11034 "multiple": true, 11035 "required": true, 11036 "types": [ 11037 { 11038 "type": "exp_apply", 11039 "named": true 11040 }, 11041 { 11042 "type": "exp_arithmetic_sequence", 11043 "named": true 11044 }, 11045 { 11046 "type": "exp_case", 11047 "named": true 11048 }, 11049 { 11050 "type": "exp_cond", 11051 "named": true 11052 }, 11053 { 11054 "type": "exp_do", 11055 "named": true 11056 }, 11057 { 11058 "type": "exp_if_guard", 11059 "named": true 11060 }, 11061 { 11062 "type": "exp_infix", 11063 "named": true 11064 }, 11065 { 11066 "type": "exp_lambda", 11067 "named": true 11068 }, 11069 { 11070 "type": "exp_lambda_case", 11071 "named": true 11072 }, 11073 { 11074 "type": "exp_let_in", 11075 "named": true 11076 }, 11077 { 11078 "type": "exp_list", 11079 "named": true 11080 }, 11081 { 11082 "type": "exp_list_comprehension", 11083 "named": true 11084 }, 11085 { 11086 "type": "exp_literal", 11087 "named": true 11088 }, 11089 { 11090 "type": "exp_name", 11091 "named": true 11092 }, 11093 { 11094 "type": "exp_negation", 11095 "named": true 11096 }, 11097 { 11098 "type": "exp_parens", 11099 "named": true 11100 }, 11101 { 11102 "type": "exp_record", 11103 "named": true 11104 }, 11105 { 11106 "type": "exp_section_left", 11107 "named": true 11108 }, 11109 { 11110 "type": "exp_section_right", 11111 "named": true 11112 }, 11113 { 11114 "type": "exp_th_quoted_name", 11115 "named": true 11116 }, 11117 { 11118 "type": "exp_tuple", 11119 "named": true 11120 }, 11121 { 11122 "type": "exp_type_application", 11123 "named": true 11124 }, 11125 { 11126 "type": "exp_unboxed_sum", 11127 "named": true 11128 }, 11129 { 11130 "type": "exp_unboxed_tuple", 11131 "named": true 11132 }, 11133 { 11134 "type": "pat_apply", 11135 "named": true 11136 }, 11137 { 11138 "type": "pat_as", 11139 "named": true 11140 }, 11141 { 11142 "type": "pat_infix", 11143 "named": true 11144 }, 11145 { 11146 "type": "pat_irrefutable", 11147 "named": true 11148 }, 11149 { 11150 "type": "pat_list", 11151 "named": true 11152 }, 11153 { 11154 "type": "pat_literal", 11155 "named": true 11156 }, 11157 { 11158 "type": "pat_name", 11159 "named": true 11160 }, 11161 { 11162 "type": "pat_negation", 11163 "named": true 11164 }, 11165 { 11166 "type": "pat_parens", 11167 "named": true 11168 }, 11169 { 11170 "type": "pat_record", 11171 "named": true 11172 }, 11173 { 11174 "type": "pat_strict", 11175 "named": true 11176 }, 11177 { 11178 "type": "pat_tuple", 11179 "named": true 11180 }, 11181 { 11182 "type": "pat_unboxed_tuple", 11183 "named": true 11184 }, 11185 { 11186 "type": "pat_wildcard", 11187 "named": true 11188 }, 11189 { 11190 "type": "quasiquote", 11191 "named": true 11192 }, 11193 { 11194 "type": "splice", 11195 "named": true 11196 } 11197 ] 11198 } 11199 }, 11200 { 11201 "type": "pattern_synonym", 11202 "named": true, 11203 "fields": {}, 11204 "children": { 11205 "multiple": false, 11206 "required": true, 11207 "types": [ 11208 { 11209 "type": "equation", 11210 "named": true 11211 }, 11212 { 11213 "type": "signature", 11214 "named": true 11215 } 11216 ] 11217 } 11218 }, 11219 { 11220 "type": "patterns", 11221 "named": true, 11222 "fields": {}, 11223 "children": { 11224 "multiple": true, 11225 "required": true, 11226 "types": [ 11227 { 11228 "type": "pat_as", 11229 "named": true 11230 }, 11231 { 11232 "type": "pat_irrefutable", 11233 "named": true 11234 }, 11235 { 11236 "type": "pat_list", 11237 "named": true 11238 }, 11239 { 11240 "type": "pat_literal", 11241 "named": true 11242 }, 11243 { 11244 "type": "pat_name", 11245 "named": true 11246 }, 11247 { 11248 "type": "pat_parens", 11249 "named": true 11250 }, 11251 { 11252 "type": "pat_record", 11253 "named": true 11254 }, 11255 { 11256 "type": "pat_strict", 11257 "named": true 11258 }, 11259 { 11260 "type": "pat_tuple", 11261 "named": true 11262 }, 11263 { 11264 "type": "pat_unboxed_tuple", 11265 "named": true 11266 }, 11267 { 11268 "type": "pat_wildcard", 11269 "named": true 11270 }, 11271 { 11272 "type": "quasiquote", 11273 "named": true 11274 }, 11275 { 11276 "type": "splice", 11277 "named": true 11278 } 11279 ] 11280 } 11281 }, 11282 { 11283 "type": "promoted", 11284 "named": true, 11285 "fields": {}, 11286 "children": { 11287 "multiple": false, 11288 "required": true, 11289 "types": [ 11290 { 11291 "type": "constructor_operator", 11292 "named": true 11293 }, 11294 { 11295 "type": "qualified_constructor_operator", 11296 "named": true 11297 }, 11298 { 11299 "type": "qualified_type", 11300 "named": true 11301 }, 11302 { 11303 "type": "qualified_type_operator", 11304 "named": true 11305 }, 11306 { 11307 "type": "ticked", 11308 "named": true 11309 }, 11310 { 11311 "type": "type", 11312 "named": true 11313 }, 11314 { 11315 "type": "type_list", 11316 "named": true 11317 }, 11318 { 11319 "type": "type_literal", 11320 "named": true 11321 }, 11322 { 11323 "type": "type_operator", 11324 "named": true 11325 }, 11326 { 11327 "type": "type_tuple", 11328 "named": true 11329 } 11330 ] 11331 } 11332 }, 11333 { 11334 "type": "qual", 11335 "named": true, 11336 "fields": { 11337 "type": { 11338 "multiple": false, 11339 "required": false, 11340 "types": [ 11341 { 11342 "type": "context", 11343 "named": true 11344 }, 11345 { 11346 "type": "forall", 11347 "named": true 11348 }, 11349 { 11350 "type": "fun", 11351 "named": true 11352 }, 11353 { 11354 "type": "implicit_param", 11355 "named": true 11356 }, 11357 { 11358 "type": "promoted", 11359 "named": true 11360 }, 11361 { 11362 "type": "quasiquote", 11363 "named": true 11364 }, 11365 { 11366 "type": "splice", 11367 "named": true 11368 }, 11369 { 11370 "type": "type_apply", 11371 "named": true 11372 }, 11373 { 11374 "type": "type_infix", 11375 "named": true 11376 }, 11377 { 11378 "type": "type_list", 11379 "named": true 11380 }, 11381 { 11382 "type": "type_literal", 11383 "named": true 11384 }, 11385 { 11386 "type": "type_name", 11387 "named": true 11388 }, 11389 { 11390 "type": "type_parens", 11391 "named": true 11392 }, 11393 { 11394 "type": "type_star", 11395 "named": true 11396 }, 11397 { 11398 "type": "type_tuple", 11399 "named": true 11400 }, 11401 { 11402 "type": "type_unboxed_sum", 11403 "named": true 11404 }, 11405 { 11406 "type": "type_unboxed_tuple", 11407 "named": true 11408 } 11409 ] 11410 } 11411 }, 11412 "children": { 11413 "multiple": false, 11414 "required": true, 11415 "types": [ 11416 { 11417 "type": "bind_pattern", 11418 "named": true 11419 }, 11420 { 11421 "type": "exp_apply", 11422 "named": true 11423 }, 11424 { 11425 "type": "exp_arithmetic_sequence", 11426 "named": true 11427 }, 11428 { 11429 "type": "exp_case", 11430 "named": true 11431 }, 11432 { 11433 "type": "exp_cond", 11434 "named": true 11435 }, 11436 { 11437 "type": "exp_do", 11438 "named": true 11439 }, 11440 { 11441 "type": "exp_if_guard", 11442 "named": true 11443 }, 11444 { 11445 "type": "exp_infix", 11446 "named": true 11447 }, 11448 { 11449 "type": "exp_lambda", 11450 "named": true 11451 }, 11452 { 11453 "type": "exp_lambda_case", 11454 "named": true 11455 }, 11456 { 11457 "type": "exp_let_in", 11458 "named": true 11459 }, 11460 { 11461 "type": "exp_list", 11462 "named": true 11463 }, 11464 { 11465 "type": "exp_list_comprehension", 11466 "named": true 11467 }, 11468 { 11469 "type": "exp_literal", 11470 "named": true 11471 }, 11472 { 11473 "type": "exp_name", 11474 "named": true 11475 }, 11476 { 11477 "type": "exp_negation", 11478 "named": true 11479 }, 11480 { 11481 "type": "exp_parens", 11482 "named": true 11483 }, 11484 { 11485 "type": "exp_record", 11486 "named": true 11487 }, 11488 { 11489 "type": "exp_section_left", 11490 "named": true 11491 }, 11492 { 11493 "type": "exp_section_right", 11494 "named": true 11495 }, 11496 { 11497 "type": "exp_th_quoted_name", 11498 "named": true 11499 }, 11500 { 11501 "type": "exp_tuple", 11502 "named": true 11503 }, 11504 { 11505 "type": "exp_type_application", 11506 "named": true 11507 }, 11508 { 11509 "type": "exp_unboxed_sum", 11510 "named": true 11511 }, 11512 { 11513 "type": "exp_unboxed_tuple", 11514 "named": true 11515 }, 11516 { 11517 "type": "let", 11518 "named": true 11519 }, 11520 { 11521 "type": "quasiquote", 11522 "named": true 11523 }, 11524 { 11525 "type": "splice", 11526 "named": true 11527 } 11528 ] 11529 } 11530 }, 11531 { 11532 "type": "qualified_constructor", 11533 "named": true, 11534 "fields": {}, 11535 "children": { 11536 "multiple": true, 11537 "required": true, 11538 "types": [ 11539 { 11540 "type": "constructor", 11541 "named": true 11542 }, 11543 { 11544 "type": "module", 11545 "named": true 11546 } 11547 ] 11548 } 11549 }, 11550 { 11551 "type": "qualified_constructor_operator", 11552 "named": true, 11553 "fields": {}, 11554 "children": { 11555 "multiple": true, 11556 "required": true, 11557 "types": [ 11558 { 11559 "type": "constructor_operator", 11560 "named": true 11561 }, 11562 { 11563 "type": "module", 11564 "named": true 11565 } 11566 ] 11567 } 11568 }, 11569 { 11570 "type": "qualified_module", 11571 "named": true, 11572 "fields": {}, 11573 "children": { 11574 "multiple": true, 11575 "required": true, 11576 "types": [ 11577 { 11578 "type": "module", 11579 "named": true 11580 } 11581 ] 11582 } 11583 }, 11584 { 11585 "type": "qualified_operator", 11586 "named": true, 11587 "fields": {}, 11588 "children": { 11589 "multiple": true, 11590 "required": true, 11591 "types": [ 11592 { 11593 "type": "module", 11594 "named": true 11595 }, 11596 { 11597 "type": "operator", 11598 "named": true 11599 } 11600 ] 11601 } 11602 }, 11603 { 11604 "type": "qualified_type", 11605 "named": true, 11606 "fields": {}, 11607 "children": { 11608 "multiple": true, 11609 "required": true, 11610 "types": [ 11611 { 11612 "type": "module", 11613 "named": true 11614 }, 11615 { 11616 "type": "type", 11617 "named": true 11618 } 11619 ] 11620 } 11621 }, 11622 { 11623 "type": "qualified_type_operator", 11624 "named": true, 11625 "fields": {}, 11626 "children": { 11627 "multiple": true, 11628 "required": true, 11629 "types": [ 11630 { 11631 "type": "module", 11632 "named": true 11633 }, 11634 { 11635 "type": "type_operator", 11636 "named": true 11637 } 11638 ] 11639 } 11640 }, 11641 { 11642 "type": "qualified_variable", 11643 "named": true, 11644 "fields": {}, 11645 "children": { 11646 "multiple": true, 11647 "required": true, 11648 "types": [ 11649 { 11650 "type": "module", 11651 "named": true 11652 }, 11653 { 11654 "type": "variable", 11655 "named": true 11656 } 11657 ] 11658 } 11659 }, 11660 { 11661 "type": "quantifiers", 11662 "named": true, 11663 "fields": {}, 11664 "children": { 11665 "multiple": true, 11666 "required": true, 11667 "types": [ 11668 { 11669 "type": "annotated_type_variable", 11670 "named": true 11671 }, 11672 { 11673 "type": "type_variable", 11674 "named": true 11675 } 11676 ] 11677 } 11678 }, 11679 { 11680 "type": "quasiquote", 11681 "named": true, 11682 "fields": {}, 11683 "children": { 11684 "multiple": true, 11685 "required": false, 11686 "types": [ 11687 { 11688 "type": "quasiquote_body", 11689 "named": true 11690 }, 11691 { 11692 "type": "quoter", 11693 "named": true 11694 } 11695 ] 11696 } 11697 }, 11698 { 11699 "type": "rec", 11700 "named": true, 11701 "fields": {}, 11702 "children": { 11703 "multiple": true, 11704 "required": false, 11705 "types": [ 11706 { 11707 "type": "stmt", 11708 "named": true 11709 } 11710 ] 11711 } 11712 }, 11713 { 11714 "type": "record_fields", 11715 "named": true, 11716 "fields": {}, 11717 "children": { 11718 "multiple": true, 11719 "required": true, 11720 "types": [ 11721 { 11722 "type": "comma", 11723 "named": true 11724 }, 11725 { 11726 "type": "field", 11727 "named": true 11728 } 11729 ] 11730 } 11731 }, 11732 { 11733 "type": "role_annotation", 11734 "named": true, 11735 "fields": {}, 11736 "children": { 11737 "multiple": true, 11738 "required": true, 11739 "types": [ 11740 { 11741 "type": "constructor_operator", 11742 "named": true 11743 }, 11744 { 11745 "type": "qualified_constructor_operator", 11746 "named": true 11747 }, 11748 { 11749 "type": "qualified_type", 11750 "named": true 11751 }, 11752 { 11753 "type": "qualified_type_operator", 11754 "named": true 11755 }, 11756 { 11757 "type": "type", 11758 "named": true 11759 }, 11760 { 11761 "type": "type_operator", 11762 "named": true 11763 }, 11764 { 11765 "type": "type_role", 11766 "named": true 11767 } 11768 ] 11769 } 11770 }, 11771 { 11772 "type": "safety", 11773 "named": true, 11774 "fields": {} 11775 }, 11776 { 11777 "type": "signature", 11778 "named": true, 11779 "fields": { 11780 "lhs": { 11781 "multiple": true, 11782 "required": false, 11783 "types": [ 11784 { 11785 "type": "(", 11786 "named": false 11787 }, 11788 { 11789 "type": ")", 11790 "named": false 11791 }, 11792 { 11793 "type": "comma", 11794 "named": true 11795 }, 11796 { 11797 "type": "operator", 11798 "named": true 11799 }, 11800 { 11801 "type": "variable", 11802 "named": true 11803 } 11804 ] 11805 }, 11806 "name": { 11807 "multiple": true, 11808 "required": false, 11809 "types": [ 11810 { 11811 "type": "(", 11812 "named": false 11813 }, 11814 { 11815 "type": ")", 11816 "named": false 11817 }, 11818 { 11819 "type": "operator", 11820 "named": true 11821 }, 11822 { 11823 "type": "variable", 11824 "named": true 11825 } 11826 ] 11827 }, 11828 "type": { 11829 "multiple": true, 11830 "required": true, 11831 "types": [ 11832 { 11833 "type": "::", 11834 "named": false 11835 }, 11836 { 11837 "type": "context", 11838 "named": true 11839 }, 11840 { 11841 "type": "forall", 11842 "named": true 11843 }, 11844 { 11845 "type": "fun", 11846 "named": true 11847 }, 11848 { 11849 "type": "implicit_param", 11850 "named": true 11851 }, 11852 { 11853 "type": "promoted", 11854 "named": true 11855 }, 11856 { 11857 "type": "quasiquote", 11858 "named": true 11859 }, 11860 { 11861 "type": "splice", 11862 "named": true 11863 }, 11864 { 11865 "type": "type_apply", 11866 "named": true 11867 }, 11868 { 11869 "type": "type_infix", 11870 "named": true 11871 }, 11872 { 11873 "type": "type_list", 11874 "named": true 11875 }, 11876 { 11877 "type": "type_literal", 11878 "named": true 11879 }, 11880 { 11881 "type": "type_name", 11882 "named": true 11883 }, 11884 { 11885 "type": "type_parens", 11886 "named": true 11887 }, 11888 { 11889 "type": "type_star", 11890 "named": true 11891 }, 11892 { 11893 "type": "type_tuple", 11894 "named": true 11895 }, 11896 { 11897 "type": "type_unboxed_sum", 11898 "named": true 11899 }, 11900 { 11901 "type": "type_unboxed_tuple", 11902 "named": true 11903 } 11904 ] 11905 } 11906 }, 11907 "children": { 11908 "multiple": false, 11909 "required": false, 11910 "types": [ 11911 { 11912 "type": "constructor", 11913 "named": true 11914 }, 11915 { 11916 "type": "constructor_operator", 11917 "named": true 11918 } 11919 ] 11920 } 11921 }, 11922 { 11923 "type": "splice", 11924 "named": true, 11925 "fields": {}, 11926 "children": { 11927 "multiple": false, 11928 "required": true, 11929 "types": [ 11930 { 11931 "type": "exp_name", 11932 "named": true 11933 }, 11934 { 11935 "type": "exp_parens", 11936 "named": true 11937 } 11938 ] 11939 } 11940 }, 11941 { 11942 "type": "stmt", 11943 "named": true, 11944 "fields": { 11945 "type": { 11946 "multiple": false, 11947 "required": false, 11948 "types": [ 11949 { 11950 "type": "context", 11951 "named": true 11952 }, 11953 { 11954 "type": "forall", 11955 "named": true 11956 }, 11957 { 11958 "type": "fun", 11959 "named": true 11960 }, 11961 { 11962 "type": "implicit_param", 11963 "named": true 11964 }, 11965 { 11966 "type": "promoted", 11967 "named": true 11968 }, 11969 { 11970 "type": "quasiquote", 11971 "named": true 11972 }, 11973 { 11974 "type": "splice", 11975 "named": true 11976 }, 11977 { 11978 "type": "type_apply", 11979 "named": true 11980 }, 11981 { 11982 "type": "type_infix", 11983 "named": true 11984 }, 11985 { 11986 "type": "type_list", 11987 "named": true 11988 }, 11989 { 11990 "type": "type_literal", 11991 "named": true 11992 }, 11993 { 11994 "type": "type_name", 11995 "named": true 11996 }, 11997 { 11998 "type": "type_parens", 11999 "named": true 12000 }, 12001 { 12002 "type": "type_star", 12003 "named": true 12004 }, 12005 { 12006 "type": "type_tuple", 12007 "named": true 12008 }, 12009 { 12010 "type": "type_unboxed_sum", 12011 "named": true 12012 }, 12013 { 12014 "type": "type_unboxed_tuple", 12015 "named": true 12016 } 12017 ] 12018 } 12019 }, 12020 "children": { 12021 "multiple": false, 12022 "required": true, 12023 "types": [ 12024 { 12025 "type": "bind_pattern", 12026 "named": true 12027 }, 12028 { 12029 "type": "exp_apply", 12030 "named": true 12031 }, 12032 { 12033 "type": "exp_arithmetic_sequence", 12034 "named": true 12035 }, 12036 { 12037 "type": "exp_case", 12038 "named": true 12039 }, 12040 { 12041 "type": "exp_cond", 12042 "named": true 12043 }, 12044 { 12045 "type": "exp_do", 12046 "named": true 12047 }, 12048 { 12049 "type": "exp_if_guard", 12050 "named": true 12051 }, 12052 { 12053 "type": "exp_infix", 12054 "named": true 12055 }, 12056 { 12057 "type": "exp_lambda", 12058 "named": true 12059 }, 12060 { 12061 "type": "exp_lambda_case", 12062 "named": true 12063 }, 12064 { 12065 "type": "exp_let_in", 12066 "named": true 12067 }, 12068 { 12069 "type": "exp_list", 12070 "named": true 12071 }, 12072 { 12073 "type": "exp_list_comprehension", 12074 "named": true 12075 }, 12076 { 12077 "type": "exp_literal", 12078 "named": true 12079 }, 12080 { 12081 "type": "exp_name", 12082 "named": true 12083 }, 12084 { 12085 "type": "exp_negation", 12086 "named": true 12087 }, 12088 { 12089 "type": "exp_parens", 12090 "named": true 12091 }, 12092 { 12093 "type": "exp_record", 12094 "named": true 12095 }, 12096 { 12097 "type": "exp_section_left", 12098 "named": true 12099 }, 12100 { 12101 "type": "exp_section_right", 12102 "named": true 12103 }, 12104 { 12105 "type": "exp_th_quoted_name", 12106 "named": true 12107 }, 12108 { 12109 "type": "exp_tuple", 12110 "named": true 12111 }, 12112 { 12113 "type": "exp_type_application", 12114 "named": true 12115 }, 12116 { 12117 "type": "exp_unboxed_sum", 12118 "named": true 12119 }, 12120 { 12121 "type": "exp_unboxed_tuple", 12122 "named": true 12123 }, 12124 { 12125 "type": "let", 12126 "named": true 12127 }, 12128 { 12129 "type": "quasiquote", 12130 "named": true 12131 }, 12132 { 12133 "type": "rec", 12134 "named": true 12135 }, 12136 { 12137 "type": "splice", 12138 "named": true 12139 } 12140 ] 12141 } 12142 }, 12143 { 12144 "type": "strict_type", 12145 "named": true, 12146 "fields": {}, 12147 "children": { 12148 "multiple": false, 12149 "required": true, 12150 "types": [ 12151 { 12152 "type": "promoted", 12153 "named": true 12154 }, 12155 { 12156 "type": "quasiquote", 12157 "named": true 12158 }, 12159 { 12160 "type": "splice", 12161 "named": true 12162 }, 12163 { 12164 "type": "type_list", 12165 "named": true 12166 }, 12167 { 12168 "type": "type_literal", 12169 "named": true 12170 }, 12171 { 12172 "type": "type_name", 12173 "named": true 12174 }, 12175 { 12176 "type": "type_parens", 12177 "named": true 12178 }, 12179 { 12180 "type": "type_star", 12181 "named": true 12182 }, 12183 { 12184 "type": "type_tuple", 12185 "named": true 12186 }, 12187 { 12188 "type": "type_unboxed_sum", 12189 "named": true 12190 }, 12191 { 12192 "type": "type_unboxed_tuple", 12193 "named": true 12194 } 12195 ] 12196 } 12197 }, 12198 { 12199 "type": "ticked", 12200 "named": true, 12201 "fields": {}, 12202 "children": { 12203 "multiple": false, 12204 "required": true, 12205 "types": [ 12206 { 12207 "type": "qualified_type", 12208 "named": true 12209 }, 12210 { 12211 "type": "type", 12212 "named": true 12213 } 12214 ] 12215 } 12216 }, 12217 { 12218 "type": "top_splice", 12219 "named": true, 12220 "fields": {}, 12221 "children": { 12222 "multiple": false, 12223 "required": true, 12224 "types": [ 12225 { 12226 "type": "exp_apply", 12227 "named": true 12228 }, 12229 { 12230 "type": "exp_arithmetic_sequence", 12231 "named": true 12232 }, 12233 { 12234 "type": "exp_case", 12235 "named": true 12236 }, 12237 { 12238 "type": "exp_cond", 12239 "named": true 12240 }, 12241 { 12242 "type": "exp_do", 12243 "named": true 12244 }, 12245 { 12246 "type": "exp_if_guard", 12247 "named": true 12248 }, 12249 { 12250 "type": "exp_infix", 12251 "named": true 12252 }, 12253 { 12254 "type": "exp_lambda", 12255 "named": true 12256 }, 12257 { 12258 "type": "exp_lambda_case", 12259 "named": true 12260 }, 12261 { 12262 "type": "exp_let_in", 12263 "named": true 12264 }, 12265 { 12266 "type": "exp_list", 12267 "named": true 12268 }, 12269 { 12270 "type": "exp_list_comprehension", 12271 "named": true 12272 }, 12273 { 12274 "type": "exp_literal", 12275 "named": true 12276 }, 12277 { 12278 "type": "exp_name", 12279 "named": true 12280 }, 12281 { 12282 "type": "exp_negation", 12283 "named": true 12284 }, 12285 { 12286 "type": "exp_parens", 12287 "named": true 12288 }, 12289 { 12290 "type": "exp_record", 12291 "named": true 12292 }, 12293 { 12294 "type": "exp_section_left", 12295 "named": true 12296 }, 12297 { 12298 "type": "exp_section_right", 12299 "named": true 12300 }, 12301 { 12302 "type": "exp_th_quoted_name", 12303 "named": true 12304 }, 12305 { 12306 "type": "exp_tuple", 12307 "named": true 12308 }, 12309 { 12310 "type": "exp_type_application", 12311 "named": true 12312 }, 12313 { 12314 "type": "exp_unboxed_sum", 12315 "named": true 12316 }, 12317 { 12318 "type": "exp_unboxed_tuple", 12319 "named": true 12320 }, 12321 { 12322 "type": "quasiquote", 12323 "named": true 12324 }, 12325 { 12326 "type": "splice", 12327 "named": true 12328 } 12329 ] 12330 } 12331 }, 12332 { 12333 "type": "tycon_arrow", 12334 "named": true, 12335 "fields": {} 12336 }, 12337 { 12338 "type": "type", 12339 "named": true, 12340 "fields": {} 12341 }, 12342 { 12343 "type": "type_alias", 12344 "named": true, 12345 "fields": { 12346 "name": { 12347 "multiple": true, 12348 "required": false, 12349 "types": [ 12350 { 12351 "type": "(", 12352 "named": false 12353 }, 12354 { 12355 "type": ")", 12356 "named": false 12357 }, 12358 { 12359 "type": "constructor_operator", 12360 "named": true 12361 }, 12362 { 12363 "type": "type", 12364 "named": true 12365 }, 12366 { 12367 "type": "type_operator", 12368 "named": true 12369 } 12370 ] 12371 }, 12372 "type": { 12373 "multiple": false, 12374 "required": false, 12375 "types": [ 12376 { 12377 "type": "context", 12378 "named": true 12379 }, 12380 { 12381 "type": "forall", 12382 "named": true 12383 }, 12384 { 12385 "type": "fun", 12386 "named": true 12387 }, 12388 { 12389 "type": "implicit_param", 12390 "named": true 12391 }, 12392 { 12393 "type": "promoted", 12394 "named": true 12395 }, 12396 { 12397 "type": "quasiquote", 12398 "named": true 12399 }, 12400 { 12401 "type": "splice", 12402 "named": true 12403 }, 12404 { 12405 "type": "type_apply", 12406 "named": true 12407 }, 12408 { 12409 "type": "type_infix", 12410 "named": true 12411 }, 12412 { 12413 "type": "type_list", 12414 "named": true 12415 }, 12416 { 12417 "type": "type_literal", 12418 "named": true 12419 }, 12420 { 12421 "type": "type_name", 12422 "named": true 12423 }, 12424 { 12425 "type": "type_parens", 12426 "named": true 12427 }, 12428 { 12429 "type": "type_star", 12430 "named": true 12431 }, 12432 { 12433 "type": "type_tuple", 12434 "named": true 12435 }, 12436 { 12437 "type": "type_unboxed_sum", 12438 "named": true 12439 }, 12440 { 12441 "type": "type_unboxed_tuple", 12442 "named": true 12443 } 12444 ] 12445 } 12446 }, 12447 "children": { 12448 "multiple": true, 12449 "required": false, 12450 "types": [ 12451 { 12452 "type": "annotated_type_variable", 12453 "named": true 12454 }, 12455 { 12456 "type": "context", 12457 "named": true 12458 }, 12459 { 12460 "type": "forall", 12461 "named": true 12462 }, 12463 { 12464 "type": "fun", 12465 "named": true 12466 }, 12467 { 12468 "type": "implicit_param", 12469 "named": true 12470 }, 12471 { 12472 "type": "promoted", 12473 "named": true 12474 }, 12475 { 12476 "type": "quasiquote", 12477 "named": true 12478 }, 12479 { 12480 "type": "splice", 12481 "named": true 12482 }, 12483 { 12484 "type": "type_apply", 12485 "named": true 12486 }, 12487 { 12488 "type": "type_infix", 12489 "named": true 12490 }, 12491 { 12492 "type": "type_list", 12493 "named": true 12494 }, 12495 { 12496 "type": "type_literal", 12497 "named": true 12498 }, 12499 { 12500 "type": "type_name", 12501 "named": true 12502 }, 12503 { 12504 "type": "type_parens", 12505 "named": true 12506 }, 12507 { 12508 "type": "type_star", 12509 "named": true 12510 }, 12511 { 12512 "type": "type_tuple", 12513 "named": true 12514 }, 12515 { 12516 "type": "type_unboxed_sum", 12517 "named": true 12518 }, 12519 { 12520 "type": "type_unboxed_tuple", 12521 "named": true 12522 }, 12523 { 12524 "type": "type_variable", 12525 "named": true 12526 } 12527 ] 12528 } 12529 }, 12530 { 12531 "type": "type_apply", 12532 "named": true, 12533 "fields": {}, 12534 "children": { 12535 "multiple": true, 12536 "required": true, 12537 "types": [ 12538 { 12539 "type": "promoted", 12540 "named": true 12541 }, 12542 { 12543 "type": "quasiquote", 12544 "named": true 12545 }, 12546 { 12547 "type": "splice", 12548 "named": true 12549 }, 12550 { 12551 "type": "type_list", 12552 "named": true 12553 }, 12554 { 12555 "type": "type_literal", 12556 "named": true 12557 }, 12558 { 12559 "type": "type_name", 12560 "named": true 12561 }, 12562 { 12563 "type": "type_parens", 12564 "named": true 12565 }, 12566 { 12567 "type": "type_star", 12568 "named": true 12569 }, 12570 { 12571 "type": "type_tuple", 12572 "named": true 12573 }, 12574 { 12575 "type": "type_unboxed_sum", 12576 "named": true 12577 }, 12578 { 12579 "type": "type_unboxed_tuple", 12580 "named": true 12581 } 12582 ] 12583 } 12584 }, 12585 { 12586 "type": "type_family", 12587 "named": true, 12588 "fields": { 12589 "type": { 12590 "multiple": false, 12591 "required": false, 12592 "types": [ 12593 { 12594 "type": "context", 12595 "named": true 12596 }, 12597 { 12598 "type": "forall", 12599 "named": true 12600 }, 12601 { 12602 "type": "fun", 12603 "named": true 12604 }, 12605 { 12606 "type": "implicit_param", 12607 "named": true 12608 }, 12609 { 12610 "type": "promoted", 12611 "named": true 12612 }, 12613 { 12614 "type": "quasiquote", 12615 "named": true 12616 }, 12617 { 12618 "type": "splice", 12619 "named": true 12620 }, 12621 { 12622 "type": "type_apply", 12623 "named": true 12624 }, 12625 { 12626 "type": "type_infix", 12627 "named": true 12628 }, 12629 { 12630 "type": "type_list", 12631 "named": true 12632 }, 12633 { 12634 "type": "type_literal", 12635 "named": true 12636 }, 12637 { 12638 "type": "type_name", 12639 "named": true 12640 }, 12641 { 12642 "type": "type_parens", 12643 "named": true 12644 }, 12645 { 12646 "type": "type_star", 12647 "named": true 12648 }, 12649 { 12650 "type": "type_tuple", 12651 "named": true 12652 }, 12653 { 12654 "type": "type_unboxed_sum", 12655 "named": true 12656 }, 12657 { 12658 "type": "type_unboxed_tuple", 12659 "named": true 12660 } 12661 ] 12662 } 12663 }, 12664 "children": { 12665 "multiple": true, 12666 "required": true, 12667 "types": [ 12668 { 12669 "type": "equation", 12670 "named": true 12671 }, 12672 { 12673 "type": "head", 12674 "named": true 12675 }, 12676 { 12677 "type": "where", 12678 "named": true 12679 } 12680 ] 12681 } 12682 }, 12683 { 12684 "type": "type_infix", 12685 "named": true, 12686 "fields": { 12687 "left": { 12688 "multiple": false, 12689 "required": false, 12690 "types": [ 12691 { 12692 "type": "promoted", 12693 "named": true 12694 }, 12695 { 12696 "type": "quasiquote", 12697 "named": true 12698 }, 12699 { 12700 "type": "splice", 12701 "named": true 12702 }, 12703 { 12704 "type": "type_apply", 12705 "named": true 12706 }, 12707 { 12708 "type": "type_list", 12709 "named": true 12710 }, 12711 { 12712 "type": "type_literal", 12713 "named": true 12714 }, 12715 { 12716 "type": "type_name", 12717 "named": true 12718 }, 12719 { 12720 "type": "type_parens", 12721 "named": true 12722 }, 12723 { 12724 "type": "type_star", 12725 "named": true 12726 }, 12727 { 12728 "type": "type_tuple", 12729 "named": true 12730 }, 12731 { 12732 "type": "type_unboxed_sum", 12733 "named": true 12734 }, 12735 { 12736 "type": "type_unboxed_tuple", 12737 "named": true 12738 } 12739 ] 12740 }, 12741 "name": { 12742 "multiple": false, 12743 "required": false, 12744 "types": [ 12745 { 12746 "type": "constructor_operator", 12747 "named": true 12748 }, 12749 { 12750 "type": "ticked", 12751 "named": true 12752 }, 12753 { 12754 "type": "type_operator", 12755 "named": true 12756 } 12757 ] 12758 }, 12759 "op": { 12760 "multiple": false, 12761 "required": false, 12762 "types": [ 12763 { 12764 "type": "constructor_operator", 12765 "named": true 12766 }, 12767 { 12768 "type": "promoted", 12769 "named": true 12770 }, 12771 { 12772 "type": "qualified_constructor_operator", 12773 "named": true 12774 }, 12775 { 12776 "type": "qualified_type_operator", 12777 "named": true 12778 }, 12779 { 12780 "type": "ticked", 12781 "named": true 12782 }, 12783 { 12784 "type": "type_operator", 12785 "named": true 12786 } 12787 ] 12788 }, 12789 "right": { 12790 "multiple": false, 12791 "required": false, 12792 "types": [ 12793 { 12794 "type": "promoted", 12795 "named": true 12796 }, 12797 { 12798 "type": "quasiquote", 12799 "named": true 12800 }, 12801 { 12802 "type": "splice", 12803 "named": true 12804 }, 12805 { 12806 "type": "type_apply", 12807 "named": true 12808 }, 12809 { 12810 "type": "type_infix", 12811 "named": true 12812 }, 12813 { 12814 "type": "type_list", 12815 "named": true 12816 }, 12817 { 12818 "type": "type_literal", 12819 "named": true 12820 }, 12821 { 12822 "type": "type_name", 12823 "named": true 12824 }, 12825 { 12826 "type": "type_parens", 12827 "named": true 12828 }, 12829 { 12830 "type": "type_star", 12831 "named": true 12832 }, 12833 { 12834 "type": "type_tuple", 12835 "named": true 12836 }, 12837 { 12838 "type": "type_unboxed_sum", 12839 "named": true 12840 }, 12841 { 12842 "type": "type_unboxed_tuple", 12843 "named": true 12844 } 12845 ] 12846 } 12847 }, 12848 "children": { 12849 "multiple": true, 12850 "required": false, 12851 "types": [ 12852 { 12853 "type": "annotated_type_variable", 12854 "named": true 12855 }, 12856 { 12857 "type": "type_variable", 12858 "named": true 12859 } 12860 ] 12861 } 12862 }, 12863 { 12864 "type": "type_instance", 12865 "named": true, 12866 "fields": {}, 12867 "children": { 12868 "multiple": true, 12869 "required": true, 12870 "types": [ 12871 { 12872 "type": "context", 12873 "named": true 12874 }, 12875 { 12876 "type": "forall", 12877 "named": true 12878 }, 12879 { 12880 "type": "fun", 12881 "named": true 12882 }, 12883 { 12884 "type": "implicit_param", 12885 "named": true 12886 }, 12887 { 12888 "type": "promoted", 12889 "named": true 12890 }, 12891 { 12892 "type": "quasiquote", 12893 "named": true 12894 }, 12895 { 12896 "type": "splice", 12897 "named": true 12898 }, 12899 { 12900 "type": "type_apply", 12901 "named": true 12902 }, 12903 { 12904 "type": "type_infix", 12905 "named": true 12906 }, 12907 { 12908 "type": "type_list", 12909 "named": true 12910 }, 12911 { 12912 "type": "type_literal", 12913 "named": true 12914 }, 12915 { 12916 "type": "type_name", 12917 "named": true 12918 }, 12919 { 12920 "type": "type_parens", 12921 "named": true 12922 }, 12923 { 12924 "type": "type_star", 12925 "named": true 12926 }, 12927 { 12928 "type": "type_tuple", 12929 "named": true 12930 }, 12931 { 12932 "type": "type_unboxed_sum", 12933 "named": true 12934 }, 12935 { 12936 "type": "type_unboxed_tuple", 12937 "named": true 12938 } 12939 ] 12940 } 12941 }, 12942 { 12943 "type": "type_list", 12944 "named": true, 12945 "fields": {}, 12946 "children": { 12947 "multiple": true, 12948 "required": true, 12949 "types": [ 12950 { 12951 "type": "comma", 12952 "named": true 12953 }, 12954 { 12955 "type": "context", 12956 "named": true 12957 }, 12958 { 12959 "type": "forall", 12960 "named": true 12961 }, 12962 { 12963 "type": "fun", 12964 "named": true 12965 }, 12966 { 12967 "type": "implicit_param", 12968 "named": true 12969 }, 12970 { 12971 "type": "promoted", 12972 "named": true 12973 }, 12974 { 12975 "type": "quasiquote", 12976 "named": true 12977 }, 12978 { 12979 "type": "splice", 12980 "named": true 12981 }, 12982 { 12983 "type": "type_apply", 12984 "named": true 12985 }, 12986 { 12987 "type": "type_infix", 12988 "named": true 12989 }, 12990 { 12991 "type": "type_list", 12992 "named": true 12993 }, 12994 { 12995 "type": "type_literal", 12996 "named": true 12997 }, 12998 { 12999 "type": "type_name", 13000 "named": true 13001 }, 13002 { 13003 "type": "type_parens", 13004 "named": true 13005 }, 13006 { 13007 "type": "type_star", 13008 "named": true 13009 }, 13010 { 13011 "type": "type_tuple", 13012 "named": true 13013 }, 13014 { 13015 "type": "type_unboxed_sum", 13016 "named": true 13017 }, 13018 { 13019 "type": "type_unboxed_tuple", 13020 "named": true 13021 } 13022 ] 13023 } 13024 }, 13025 { 13026 "type": "type_literal", 13027 "named": true, 13028 "fields": {}, 13029 "children": { 13030 "multiple": false, 13031 "required": true, 13032 "types": [ 13033 { 13034 "type": "char", 13035 "named": true 13036 }, 13037 { 13038 "type": "con_list", 13039 "named": true 13040 }, 13041 { 13042 "type": "con_tuple", 13043 "named": true 13044 }, 13045 { 13046 "type": "con_unit", 13047 "named": true 13048 }, 13049 { 13050 "type": "float", 13051 "named": true 13052 }, 13053 { 13054 "type": "integer", 13055 "named": true 13056 }, 13057 { 13058 "type": "string", 13059 "named": true 13060 } 13061 ] 13062 } 13063 }, 13064 { 13065 "type": "type_name", 13066 "named": true, 13067 "fields": {}, 13068 "children": { 13069 "multiple": false, 13070 "required": true, 13071 "types": [ 13072 { 13073 "type": "annotated_type_variable", 13074 "named": true 13075 }, 13076 { 13077 "type": "constructor_operator", 13078 "named": true 13079 }, 13080 { 13081 "type": "promoted", 13082 "named": true 13083 }, 13084 { 13085 "type": "qualified_constructor_operator", 13086 "named": true 13087 }, 13088 { 13089 "type": "qualified_type", 13090 "named": true 13091 }, 13092 { 13093 "type": "qualified_type_operator", 13094 "named": true 13095 }, 13096 { 13097 "type": "tycon_arrow", 13098 "named": true 13099 }, 13100 { 13101 "type": "type", 13102 "named": true 13103 }, 13104 { 13105 "type": "type_operator", 13106 "named": true 13107 }, 13108 { 13109 "type": "type_variable", 13110 "named": true 13111 } 13112 ] 13113 } 13114 }, 13115 { 13116 "type": "type_parens", 13117 "named": true, 13118 "fields": {}, 13119 "children": { 13120 "multiple": false, 13121 "required": true, 13122 "types": [ 13123 { 13124 "type": "context", 13125 "named": true 13126 }, 13127 { 13128 "type": "forall", 13129 "named": true 13130 }, 13131 { 13132 "type": "fun", 13133 "named": true 13134 }, 13135 { 13136 "type": "implicit_param", 13137 "named": true 13138 }, 13139 { 13140 "type": "promoted", 13141 "named": true 13142 }, 13143 { 13144 "type": "quasiquote", 13145 "named": true 13146 }, 13147 { 13148 "type": "splice", 13149 "named": true 13150 }, 13151 { 13152 "type": "type_apply", 13153 "named": true 13154 }, 13155 { 13156 "type": "type_infix", 13157 "named": true 13158 }, 13159 { 13160 "type": "type_list", 13161 "named": true 13162 }, 13163 { 13164 "type": "type_literal", 13165 "named": true 13166 }, 13167 { 13168 "type": "type_name", 13169 "named": true 13170 }, 13171 { 13172 "type": "type_parens", 13173 "named": true 13174 }, 13175 { 13176 "type": "type_star", 13177 "named": true 13178 }, 13179 { 13180 "type": "type_tuple", 13181 "named": true 13182 }, 13183 { 13184 "type": "type_unboxed_sum", 13185 "named": true 13186 }, 13187 { 13188 "type": "type_unboxed_tuple", 13189 "named": true 13190 } 13191 ] 13192 } 13193 }, 13194 { 13195 "type": "type_role", 13196 "named": true, 13197 "fields": {} 13198 }, 13199 { 13200 "type": "type_tuple", 13201 "named": true, 13202 "fields": {}, 13203 "children": { 13204 "multiple": true, 13205 "required": false, 13206 "types": [ 13207 { 13208 "type": "comma", 13209 "named": true 13210 }, 13211 { 13212 "type": "context", 13213 "named": true 13214 }, 13215 { 13216 "type": "forall", 13217 "named": true 13218 }, 13219 { 13220 "type": "fun", 13221 "named": true 13222 }, 13223 { 13224 "type": "implicit_param", 13225 "named": true 13226 }, 13227 { 13228 "type": "promoted", 13229 "named": true 13230 }, 13231 { 13232 "type": "quasiquote", 13233 "named": true 13234 }, 13235 { 13236 "type": "splice", 13237 "named": true 13238 }, 13239 { 13240 "type": "type_apply", 13241 "named": true 13242 }, 13243 { 13244 "type": "type_infix", 13245 "named": true 13246 }, 13247 { 13248 "type": "type_list", 13249 "named": true 13250 }, 13251 { 13252 "type": "type_literal", 13253 "named": true 13254 }, 13255 { 13256 "type": "type_name", 13257 "named": true 13258 }, 13259 { 13260 "type": "type_parens", 13261 "named": true 13262 }, 13263 { 13264 "type": "type_star", 13265 "named": true 13266 }, 13267 { 13268 "type": "type_tuple", 13269 "named": true 13270 }, 13271 { 13272 "type": "type_unboxed_sum", 13273 "named": true 13274 }, 13275 { 13276 "type": "type_unboxed_tuple", 13277 "named": true 13278 } 13279 ] 13280 } 13281 }, 13282 { 13283 "type": "type_unboxed_sum", 13284 "named": true, 13285 "fields": {}, 13286 "children": { 13287 "multiple": true, 13288 "required": false, 13289 "types": [ 13290 { 13291 "type": "context", 13292 "named": true 13293 }, 13294 { 13295 "type": "forall", 13296 "named": true 13297 }, 13298 { 13299 "type": "fun", 13300 "named": true 13301 }, 13302 { 13303 "type": "implicit_param", 13304 "named": true 13305 }, 13306 { 13307 "type": "promoted", 13308 "named": true 13309 }, 13310 { 13311 "type": "quasiquote", 13312 "named": true 13313 }, 13314 { 13315 "type": "splice", 13316 "named": true 13317 }, 13318 { 13319 "type": "type_apply", 13320 "named": true 13321 }, 13322 { 13323 "type": "type_infix", 13324 "named": true 13325 }, 13326 { 13327 "type": "type_list", 13328 "named": true 13329 }, 13330 { 13331 "type": "type_literal", 13332 "named": true 13333 }, 13334 { 13335 "type": "type_name", 13336 "named": true 13337 }, 13338 { 13339 "type": "type_parens", 13340 "named": true 13341 }, 13342 { 13343 "type": "type_star", 13344 "named": true 13345 }, 13346 { 13347 "type": "type_tuple", 13348 "named": true 13349 }, 13350 { 13351 "type": "type_unboxed_sum", 13352 "named": true 13353 }, 13354 { 13355 "type": "type_unboxed_tuple", 13356 "named": true 13357 } 13358 ] 13359 } 13360 }, 13361 { 13362 "type": "type_unboxed_tuple", 13363 "named": true, 13364 "fields": {}, 13365 "children": { 13366 "multiple": true, 13367 "required": false, 13368 "types": [ 13369 { 13370 "type": "comma", 13371 "named": true 13372 }, 13373 { 13374 "type": "context", 13375 "named": true 13376 }, 13377 { 13378 "type": "forall", 13379 "named": true 13380 }, 13381 { 13382 "type": "fun", 13383 "named": true 13384 }, 13385 { 13386 "type": "implicit_param", 13387 "named": true 13388 }, 13389 { 13390 "type": "promoted", 13391 "named": true 13392 }, 13393 { 13394 "type": "quasiquote", 13395 "named": true 13396 }, 13397 { 13398 "type": "splice", 13399 "named": true 13400 }, 13401 { 13402 "type": "type_apply", 13403 "named": true 13404 }, 13405 { 13406 "type": "type_infix", 13407 "named": true 13408 }, 13409 { 13410 "type": "type_list", 13411 "named": true 13412 }, 13413 { 13414 "type": "type_literal", 13415 "named": true 13416 }, 13417 { 13418 "type": "type_name", 13419 "named": true 13420 }, 13421 { 13422 "type": "type_parens", 13423 "named": true 13424 }, 13425 { 13426 "type": "type_star", 13427 "named": true 13428 }, 13429 { 13430 "type": "type_tuple", 13431 "named": true 13432 }, 13433 { 13434 "type": "type_unboxed_sum", 13435 "named": true 13436 }, 13437 { 13438 "type": "type_unboxed_tuple", 13439 "named": true 13440 } 13441 ] 13442 } 13443 }, 13444 { 13445 "type": "type_variable", 13446 "named": true, 13447 "fields": {} 13448 }, 13449 { 13450 "type": "variable", 13451 "named": true, 13452 "fields": {} 13453 }, 13454 { 13455 "type": "varop", 13456 "named": true, 13457 "fields": {}, 13458 "children": { 13459 "multiple": false, 13460 "required": true, 13461 "types": [ 13462 { 13463 "type": "operator", 13464 "named": true 13465 }, 13466 { 13467 "type": "variable", 13468 "named": true 13469 } 13470 ] 13471 } 13472 }, 13473 { 13474 "type": "via", 13475 "named": true, 13476 "fields": {}, 13477 "children": { 13478 "multiple": false, 13479 "required": true, 13480 "types": [ 13481 { 13482 "type": "promoted", 13483 "named": true 13484 }, 13485 { 13486 "type": "quasiquote", 13487 "named": true 13488 }, 13489 { 13490 "type": "splice", 13491 "named": true 13492 }, 13493 { 13494 "type": "type_list", 13495 "named": true 13496 }, 13497 { 13498 "type": "type_literal", 13499 "named": true 13500 }, 13501 { 13502 "type": "type_name", 13503 "named": true 13504 }, 13505 { 13506 "type": "type_parens", 13507 "named": true 13508 }, 13509 { 13510 "type": "type_star", 13511 "named": true 13512 }, 13513 { 13514 "type": "type_tuple", 13515 "named": true 13516 }, 13517 { 13518 "type": "type_unboxed_sum", 13519 "named": true 13520 }, 13521 { 13522 "type": "type_unboxed_tuple", 13523 "named": true 13524 } 13525 ] 13526 } 13527 }, 13528 { 13529 "type": "'", 13530 "named": false 13531 }, 13532 { 13533 "type": "''", 13534 "named": false 13535 }, 13536 { 13537 "type": "(", 13538 "named": false 13539 }, 13540 { 13541 "type": "(# ", 13542 "named": false 13543 }, 13544 { 13545 "type": ")", 13546 "named": false 13547 }, 13548 { 13549 "type": "-", 13550 "named": false 13551 }, 13552 { 13553 "type": "->", 13554 "named": false 13555 }, 13556 { 13557 "type": ".", 13558 "named": false 13559 }, 13560 { 13561 "type": "..", 13562 "named": false 13563 }, 13564 { 13565 "type": "::", 13566 "named": false 13567 }, 13568 { 13569 "type": ";", 13570 "named": false 13571 }, 13572 { 13573 "type": "<-", 13574 "named": false 13575 }, 13576 { 13577 "type": "=", 13578 "named": false 13579 }, 13580 { 13581 "type": "=>", 13582 "named": false 13583 }, 13584 { 13585 "type": "@", 13586 "named": false 13587 }, 13588 { 13589 "type": "[", 13590 "named": false 13591 }, 13592 { 13593 "type": "\\", 13594 "named": false 13595 }, 13596 { 13597 "type": "]", 13598 "named": false 13599 }, 13600 { 13601 "type": "_", 13602 "named": false 13603 }, 13604 { 13605 "type": "`", 13606 "named": false 13607 }, 13608 { 13609 "type": "all_names", 13610 "named": true 13611 }, 13612 { 13613 "type": "anyclass", 13614 "named": false 13615 }, 13616 { 13617 "type": "as", 13618 "named": false 13619 }, 13620 { 13621 "type": "capi", 13622 "named": false 13623 }, 13624 { 13625 "type": "case", 13626 "named": false 13627 }, 13628 { 13629 "type": "ccall", 13630 "named": false 13631 }, 13632 { 13633 "type": "char", 13634 "named": true 13635 }, 13636 { 13637 "type": "class", 13638 "named": false 13639 }, 13640 { 13641 "type": "comma", 13642 "named": true 13643 }, 13644 { 13645 "type": "comment", 13646 "named": true 13647 }, 13648 { 13649 "type": "cplusplus", 13650 "named": false 13651 }, 13652 { 13653 "type": "cpp", 13654 "named": true 13655 }, 13656 { 13657 "type": "data", 13658 "named": false 13659 }, 13660 { 13661 "type": "default", 13662 "named": false 13663 }, 13664 { 13665 "type": "deriving", 13666 "named": false 13667 }, 13668 { 13669 "type": "do", 13670 "named": false 13671 }, 13672 { 13673 "type": "dotnet", 13674 "named": false 13675 }, 13676 { 13677 "type": "else", 13678 "named": false 13679 }, 13680 { 13681 "type": "empty_file", 13682 "named": true 13683 }, 13684 { 13685 "type": "exp_sum_empty", 13686 "named": true 13687 }, 13688 { 13689 "type": "export", 13690 "named": false 13691 }, 13692 { 13693 "type": "family", 13694 "named": false 13695 }, 13696 { 13697 "type": "float", 13698 "named": true 13699 }, 13700 { 13701 "type": "forall", 13702 "named": false 13703 }, 13704 { 13705 "type": "foreign", 13706 "named": false 13707 }, 13708 { 13709 "type": "hiding", 13710 "named": false 13711 }, 13712 { 13713 "type": "if", 13714 "named": false 13715 }, 13716 { 13717 "type": "implicit_parid", 13718 "named": true 13719 }, 13720 { 13721 "type": "import", 13722 "named": false 13723 }, 13724 { 13725 "type": "import_package", 13726 "named": true 13727 }, 13728 { 13729 "type": "in", 13730 "named": false 13731 }, 13732 { 13733 "type": "infix", 13734 "named": false 13735 }, 13736 { 13737 "type": "infixl", 13738 "named": false 13739 }, 13740 { 13741 "type": "infixr", 13742 "named": false 13743 }, 13744 { 13745 "type": "instance", 13746 "named": false 13747 }, 13748 { 13749 "type": "interruptible", 13750 "named": false 13751 }, 13752 { 13753 "type": "jvm", 13754 "named": false 13755 }, 13756 { 13757 "type": "label", 13758 "named": true 13759 }, 13760 { 13761 "type": "let", 13762 "named": false 13763 }, 13764 { 13765 "type": "mdo", 13766 "named": false 13767 }, 13768 { 13769 "type": "module", 13770 "named": false 13771 }, 13772 { 13773 "type": "newtype", 13774 "named": false 13775 }, 13776 { 13777 "type": "nominal", 13778 "named": false 13779 }, 13780 { 13781 "type": "of", 13782 "named": false 13783 }, 13784 { 13785 "type": "pattern", 13786 "named": false 13787 }, 13788 { 13789 "type": "phantom", 13790 "named": false 13791 }, 13792 { 13793 "type": "pragma", 13794 "named": true 13795 }, 13796 { 13797 "type": "prim", 13798 "named": false 13799 }, 13800 { 13801 "type": "qualified", 13802 "named": false 13803 }, 13804 { 13805 "type": "quasiquote_body", 13806 "named": true 13807 }, 13808 { 13809 "type": "quoter", 13810 "named": true 13811 }, 13812 { 13813 "type": "rec", 13814 "named": false 13815 }, 13816 { 13817 "type": "representational", 13818 "named": false 13819 }, 13820 { 13821 "type": "role", 13822 "named": false 13823 }, 13824 { 13825 "type": "safe", 13826 "named": false 13827 }, 13828 { 13829 "type": "stdcall", 13830 "named": false 13831 }, 13832 { 13833 "type": "stock", 13834 "named": false 13835 }, 13836 { 13837 "type": "string", 13838 "named": true 13839 }, 13840 { 13841 "type": "then", 13842 "named": false 13843 }, 13844 { 13845 "type": "type", 13846 "named": false 13847 }, 13848 { 13849 "type": "type_operator", 13850 "named": true 13851 }, 13852 { 13853 "type": "type_star", 13854 "named": true 13855 }, 13856 { 13857 "type": "unsafe", 13858 "named": false 13859 }, 13860 { 13861 "type": "via", 13862 "named": false 13863 }, 13864 { 13865 "type": "where", 13866 "named": true 13867 }, 13868 { 13869 "type": "wildcard", 13870 "named": true 13871 }, 13872 { 13873 "type": "{", 13874 "named": false 13875 }, 13876 { 13877 "type": "|", 13878 "named": false 13879 }, 13880 { 13881 "type": "|]", 13882 "named": false 13883 }, 13884 { 13885 "type": "}", 13886 "named": false 13887 }, 13888 { 13889 "type": "~", 13890 "named": false 13891 }, 13892 { 13893 "type": "∀", 13894 "named": false 13895 } 13896]