• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "VariableDeclaration",
6      "declarations": [
7        {
8          "type": "VariableDeclarator",
9          "id": {
10            "type": "Identifier",
11            "name": "tuple1",
12            "typeAnnotation": {
13              "type": "TSTupleType",
14              "elementTypes": [],
15              "loc": {
16                "start": {
17                  "line": 17,
18                  "column": 13,
19                  "program": "tupleAssignability.ts"
20                },
21                "end": {
22                  "line": 17,
23                  "column": 15,
24                  "program": "tupleAssignability.ts"
25                }
26              }
27            },
28            "decorators": [],
29            "loc": {
30              "start": {
31                "line": 17,
32                "column": 5,
33                "program": "tupleAssignability.ts"
34              },
35              "end": {
36                "line": 17,
37                "column": 11,
38                "program": "tupleAssignability.ts"
39              }
40            }
41          },
42          "init": {
43            "type": "ArrayExpression",
44            "elements": [],
45            "loc": {
46              "start": {
47                "line": 17,
48                "column": 18,
49                "program": "tupleAssignability.ts"
50              },
51              "end": {
52                "line": 17,
53                "column": 20,
54                "program": "tupleAssignability.ts"
55              }
56            }
57          },
58          "loc": {
59            "start": {
60              "line": 17,
61              "column": 5,
62              "program": "tupleAssignability.ts"
63            },
64            "end": {
65              "line": 17,
66              "column": 20,
67              "program": "tupleAssignability.ts"
68            }
69          }
70        }
71      ],
72      "kind": "var",
73      "loc": {
74        "start": {
75          "line": 17,
76          "column": 1,
77          "program": "tupleAssignability.ts"
78        },
79        "end": {
80          "line": 17,
81          "column": 21,
82          "program": "tupleAssignability.ts"
83        }
84      }
85    },
86    {
87      "type": "VariableDeclaration",
88      "declarations": [
89        {
90          "type": "VariableDeclarator",
91          "id": {
92            "type": "Identifier",
93            "name": "tuple2",
94            "typeAnnotation": {
95              "type": "TSTupleType",
96              "elementTypes": [
97                {
98                  "type": "TSTupleType",
99                  "elementTypes": [
100                    {
101                      "type": "TSTupleType",
102                      "elementTypes": [],
103                      "loc": {
104                        "start": {
105                          "line": 18,
106                          "column": 15,
107                          "program": "tupleAssignability.ts"
108                        },
109                        "end": {
110                          "line": 18,
111                          "column": 18,
112                          "program": "tupleAssignability.ts"
113                        }
114                      }
115                    }
116                  ],
117                  "loc": {
118                    "start": {
119                      "line": 18,
120                      "column": 14,
121                      "program": "tupleAssignability.ts"
122                    },
123                    "end": {
124                      "line": 18,
125                      "column": 19,
126                      "program": "tupleAssignability.ts"
127                    }
128                  }
129                }
130              ],
131              "loc": {
132                "start": {
133                  "line": 18,
134                  "column": 13,
135                  "program": "tupleAssignability.ts"
136                },
137                "end": {
138                  "line": 18,
139                  "column": 19,
140                  "program": "tupleAssignability.ts"
141                }
142              }
143            },
144            "decorators": [],
145            "loc": {
146              "start": {
147                "line": 18,
148                "column": 5,
149                "program": "tupleAssignability.ts"
150              },
151              "end": {
152                "line": 18,
153                "column": 11,
154                "program": "tupleAssignability.ts"
155              }
156            }
157          },
158          "init": {
159            "type": "ArrayExpression",
160            "elements": [
161              {
162                "type": "ArrayExpression",
163                "elements": [
164                  {
165                    "type": "ArrayExpression",
166                    "elements": [],
167                    "loc": {
168                      "start": {
169                        "line": 18,
170                        "column": 24,
171                        "program": "tupleAssignability.ts"
172                      },
173                      "end": {
174                        "line": 18,
175                        "column": 26,
176                        "program": "tupleAssignability.ts"
177                      }
178                    }
179                  }
180                ],
181                "loc": {
182                  "start": {
183                    "line": 18,
184                    "column": 23,
185                    "program": "tupleAssignability.ts"
186                  },
187                  "end": {
188                    "line": 18,
189                    "column": 27,
190                    "program": "tupleAssignability.ts"
191                  }
192                }
193              }
194            ],
195            "loc": {
196              "start": {
197                "line": 18,
198                "column": 22,
199                "program": "tupleAssignability.ts"
200              },
201              "end": {
202                "line": 18,
203                "column": 28,
204                "program": "tupleAssignability.ts"
205              }
206            }
207          },
208          "loc": {
209            "start": {
210              "line": 18,
211              "column": 5,
212              "program": "tupleAssignability.ts"
213            },
214            "end": {
215              "line": 18,
216              "column": 28,
217              "program": "tupleAssignability.ts"
218            }
219          }
220        }
221      ],
222      "kind": "var",
223      "loc": {
224        "start": {
225          "line": 18,
226          "column": 1,
227          "program": "tupleAssignability.ts"
228        },
229        "end": {
230          "line": 18,
231          "column": 29,
232          "program": "tupleAssignability.ts"
233        }
234      }
235    },
236    {
237      "type": "VariableDeclaration",
238      "declarations": [
239        {
240          "type": "VariableDeclarator",
241          "id": {
242            "type": "Identifier",
243            "name": "tuple3",
244            "typeAnnotation": {
245              "type": "TSTupleType",
246              "elementTypes": [
247                {
248                  "type": "TSNumberKeyword",
249                  "loc": {
250                    "start": {
251                      "line": 19,
252                      "column": 14,
253                      "program": "tupleAssignability.ts"
254                    },
255                    "end": {
256                      "line": 19,
257                      "column": 21,
258                      "program": "tupleAssignability.ts"
259                    }
260                  }
261                },
262                {
263                  "type": "TSNumberKeyword",
264                  "loc": {
265                    "start": {
266                      "line": 19,
267                      "column": 22,
268                      "program": "tupleAssignability.ts"
269                    },
270                    "end": {
271                      "line": 19,
272                      "column": 29,
273                      "program": "tupleAssignability.ts"
274                    }
275                  }
276                },
277                {
278                  "type": "TSNumberKeyword",
279                  "loc": {
280                    "start": {
281                      "line": 19,
282                      "column": 30,
283                      "program": "tupleAssignability.ts"
284                    },
285                    "end": {
286                      "line": 19,
287                      "column": 37,
288                      "program": "tupleAssignability.ts"
289                    }
290                  }
291                }
292              ],
293              "loc": {
294                "start": {
295                  "line": 19,
296                  "column": 13,
297                  "program": "tupleAssignability.ts"
298                },
299                "end": {
300                  "line": 19,
301                  "column": 37,
302                  "program": "tupleAssignability.ts"
303                }
304              }
305            },
306            "decorators": [],
307            "loc": {
308              "start": {
309                "line": 19,
310                "column": 5,
311                "program": "tupleAssignability.ts"
312              },
313              "end": {
314                "line": 19,
315                "column": 11,
316                "program": "tupleAssignability.ts"
317              }
318            }
319          },
320          "init": {
321            "type": "ArrayExpression",
322            "elements": [
323              {
324                "type": "NumberLiteral",
325                "value": 1,
326                "loc": {
327                  "start": {
328                    "line": 19,
329                    "column": 41,
330                    "program": "tupleAssignability.ts"
331                  },
332                  "end": {
333                    "line": 19,
334                    "column": 42,
335                    "program": "tupleAssignability.ts"
336                  }
337                }
338              },
339              {
340                "type": "NumberLiteral",
341                "value": 2,
342                "loc": {
343                  "start": {
344                    "line": 19,
345                    "column": 44,
346                    "program": "tupleAssignability.ts"
347                  },
348                  "end": {
349                    "line": 19,
350                    "column": 45,
351                    "program": "tupleAssignability.ts"
352                  }
353                }
354              },
355              {
356                "type": "NumberLiteral",
357                "value": 3,
358                "loc": {
359                  "start": {
360                    "line": 19,
361                    "column": 47,
362                    "program": "tupleAssignability.ts"
363                  },
364                  "end": {
365                    "line": 19,
366                    "column": 48,
367                    "program": "tupleAssignability.ts"
368                  }
369                }
370              }
371            ],
372            "loc": {
373              "start": {
374                "line": 19,
375                "column": 40,
376                "program": "tupleAssignability.ts"
377              },
378              "end": {
379                "line": 19,
380                "column": 49,
381                "program": "tupleAssignability.ts"
382              }
383            }
384          },
385          "loc": {
386            "start": {
387              "line": 19,
388              "column": 5,
389              "program": "tupleAssignability.ts"
390            },
391            "end": {
392              "line": 19,
393              "column": 49,
394              "program": "tupleAssignability.ts"
395            }
396          }
397        }
398      ],
399      "kind": "var",
400      "loc": {
401        "start": {
402          "line": 19,
403          "column": 1,
404          "program": "tupleAssignability.ts"
405        },
406        "end": {
407          "line": 19,
408          "column": 50,
409          "program": "tupleAssignability.ts"
410        }
411      }
412    },
413    {
414      "type": "VariableDeclaration",
415      "declarations": [
416        {
417          "type": "VariableDeclarator",
418          "id": {
419            "type": "Identifier",
420            "name": "tuple4",
421            "typeAnnotation": {
422              "type": "TSTupleType",
423              "elementTypes": [
424                {
425                  "type": "TSTypeQuery",
426                  "exprName": {
427                    "type": "Identifier",
428                    "name": "tuple1",
429                    "decorators": [],
430                    "loc": {
431                      "start": {
432                        "line": 20,
433                        "column": 21,
434                        "program": "tupleAssignability.ts"
435                      },
436                      "end": {
437                        "line": 20,
438                        "column": 27,
439                        "program": "tupleAssignability.ts"
440                      }
441                    }
442                  },
443                  "loc": {
444                    "start": {
445                      "line": 20,
446                      "column": 14,
447                      "program": "tupleAssignability.ts"
448                    },
449                    "end": {
450                      "line": 20,
451                      "column": 28,
452                      "program": "tupleAssignability.ts"
453                    }
454                  }
455                },
456                {
457                  "type": "TSStringKeyword",
458                  "loc": {
459                    "start": {
460                      "line": 20,
461                      "column": 29,
462                      "program": "tupleAssignability.ts"
463                    },
464                    "end": {
465                      "line": 20,
466                      "column": 36,
467                      "program": "tupleAssignability.ts"
468                    }
469                  }
470                }
471              ],
472              "loc": {
473                "start": {
474                  "line": 20,
475                  "column": 13,
476                  "program": "tupleAssignability.ts"
477                },
478                "end": {
479                  "line": 20,
480                  "column": 36,
481                  "program": "tupleAssignability.ts"
482                }
483              }
484            },
485            "decorators": [],
486            "loc": {
487              "start": {
488                "line": 20,
489                "column": 5,
490                "program": "tupleAssignability.ts"
491              },
492              "end": {
493                "line": 20,
494                "column": 11,
495                "program": "tupleAssignability.ts"
496              }
497            }
498          },
499          "init": {
500            "type": "ArrayExpression",
501            "elements": [
502              {
503                "type": "ArrayExpression",
504                "elements": [],
505                "loc": {
506                  "start": {
507                    "line": 20,
508                    "column": 40,
509                    "program": "tupleAssignability.ts"
510                  },
511                  "end": {
512                    "line": 20,
513                    "column": 42,
514                    "program": "tupleAssignability.ts"
515                  }
516                }
517              },
518              {
519                "type": "StringLiteral",
520                "value": "foo",
521                "loc": {
522                  "start": {
523                    "line": 20,
524                    "column": 44,
525                    "program": "tupleAssignability.ts"
526                  },
527                  "end": {
528                    "line": 20,
529                    "column": 49,
530                    "program": "tupleAssignability.ts"
531                  }
532                }
533              }
534            ],
535            "loc": {
536              "start": {
537                "line": 20,
538                "column": 39,
539                "program": "tupleAssignability.ts"
540              },
541              "end": {
542                "line": 20,
543                "column": 50,
544                "program": "tupleAssignability.ts"
545              }
546            }
547          },
548          "loc": {
549            "start": {
550              "line": 20,
551              "column": 5,
552              "program": "tupleAssignability.ts"
553            },
554            "end": {
555              "line": 20,
556              "column": 50,
557              "program": "tupleAssignability.ts"
558            }
559          }
560        }
561      ],
562      "kind": "var",
563      "loc": {
564        "start": {
565          "line": 20,
566          "column": 1,
567          "program": "tupleAssignability.ts"
568        },
569        "end": {
570          "line": 20,
571          "column": 51,
572          "program": "tupleAssignability.ts"
573        }
574      }
575    },
576    {
577      "type": "VariableDeclaration",
578      "declarations": [
579        {
580          "type": "VariableDeclarator",
581          "id": {
582            "type": "Identifier",
583            "name": "tuple5",
584            "typeAnnotation": {
585              "type": "TSTupleType",
586              "elementTypes": [
587                {
588                  "type": "TSTupleType",
589                  "elementTypes": [
590                    {
591                      "type": "TSNamedTupleMember",
592                      "elementType": {
593                        "type": "TSNumberKeyword",
594                        "loc": {
595                          "start": {
596                            "line": 21,
597                            "column": 18,
598                            "program": "tupleAssignability.ts"
599                          },
600                          "end": {
601                            "line": 21,
602                            "column": 24,
603                            "program": "tupleAssignability.ts"
604                          }
605                        }
606                      },
607                      "label": {
608                        "type": "Identifier",
609                        "name": "a",
610                        "decorators": [],
611                        "loc": {
612                          "start": {
613                            "line": 21,
614                            "column": 15,
615                            "program": "tupleAssignability.ts"
616                          },
617                          "end": {
618                            "line": 21,
619                            "column": 16,
620                            "program": "tupleAssignability.ts"
621                          }
622                        }
623                      },
624                      "loc": {
625                        "start": {
626                          "line": 21,
627                          "column": 15,
628                          "program": "tupleAssignability.ts"
629                        },
630                        "end": {
631                          "line": 21,
632                          "column": 25,
633                          "program": "tupleAssignability.ts"
634                        }
635                      }
636                    },
637                    {
638                      "type": "TSNamedTupleMember",
639                      "elementType": {
640                        "type": "TSStringKeyword",
641                        "loc": {
642                          "start": {
643                            "line": 21,
644                            "column": 30,
645                            "program": "tupleAssignability.ts"
646                          },
647                          "end": {
648                            "line": 21,
649                            "column": 36,
650                            "program": "tupleAssignability.ts"
651                          }
652                        }
653                      },
654                      "label": {
655                        "type": "Identifier",
656                        "name": "b",
657                        "decorators": [],
658                        "loc": {
659                          "start": {
660                            "line": 21,
661                            "column": 26,
662                            "program": "tupleAssignability.ts"
663                          },
664                          "end": {
665                            "line": 21,
666                            "column": 27,
667                            "program": "tupleAssignability.ts"
668                          }
669                        }
670                      },
671                      "optional": true,
672                      "loc": {
673                        "start": {
674                          "line": 21,
675                          "column": 26,
676                          "program": "tupleAssignability.ts"
677                        },
678                        "end": {
679                          "line": 21,
680                          "column": 37,
681                          "program": "tupleAssignability.ts"
682                        }
683                      }
684                    }
685                  ],
686                  "loc": {
687                    "start": {
688                      "line": 21,
689                      "column": 14,
690                      "program": "tupleAssignability.ts"
691                    },
692                    "end": {
693                      "line": 21,
694                      "column": 38,
695                      "program": "tupleAssignability.ts"
696                    }
697                  }
698                },
699                {
700                  "type": "TSTupleType",
701                  "elementTypes": [
702                    {
703                      "type": "TSUnionType",
704                      "types": [
705                        {
706                          "type": "TSBooleanKeyword",
707                          "loc": {
708                            "start": {
709                              "line": 21,
710                              "column": 40,
711                              "program": "tupleAssignability.ts"
712                            },
713                            "end": {
714                              "line": 21,
715                              "column": 47,
716                              "program": "tupleAssignability.ts"
717                            }
718                          }
719                        },
720                        {
721                          "type": "TSStringKeyword",
722                          "loc": {
723                            "start": {
724                              "line": 21,
725                              "column": 50,
726                              "program": "tupleAssignability.ts"
727                            },
728                            "end": {
729                              "line": 21,
730                              "column": 56,
731                              "program": "tupleAssignability.ts"
732                            }
733                          }
734                        }
735                      ],
736                      "loc": {
737                        "start": {
738                          "line": 21,
739                          "column": 40,
740                          "program": "tupleAssignability.ts"
741                        },
742                        "end": {
743                          "line": 21,
744                          "column": 57,
745                          "program": "tupleAssignability.ts"
746                        }
747                      }
748                    },
749                    {
750                      "type": "TSArrayType",
751                      "elementType": {
752                        "type": "TSNumberKeyword",
753                        "loc": {
754                          "start": {
755                            "line": 21,
756                            "column": 58,
757                            "program": "tupleAssignability.ts"
758                          },
759                          "end": {
760                            "line": 21,
761                            "column": 64,
762                            "program": "tupleAssignability.ts"
763                          }
764                        }
765                      },
766                      "annotations": [],
767                      "loc": {
768                        "start": {
769                          "line": 21,
770                          "column": 58,
771                          "program": "tupleAssignability.ts"
772                        },
773                        "end": {
774                          "line": 21,
775                          "column": 67,
776                          "program": "tupleAssignability.ts"
777                        }
778                      }
779                    }
780                  ],
781                  "loc": {
782                    "start": {
783                      "line": 21,
784                      "column": 39,
785                      "program": "tupleAssignability.ts"
786                    },
787                    "end": {
788                      "line": 21,
789                      "column": 68,
790                      "program": "tupleAssignability.ts"
791                    }
792                  }
793                }
794              ],
795              "loc": {
796                "start": {
797                  "line": 21,
798                  "column": 13,
799                  "program": "tupleAssignability.ts"
800                },
801                "end": {
802                  "line": 21,
803                  "column": 68,
804                  "program": "tupleAssignability.ts"
805                }
806              }
807            },
808            "decorators": [],
809            "loc": {
810              "start": {
811                "line": 21,
812                "column": 5,
813                "program": "tupleAssignability.ts"
814              },
815              "end": {
816                "line": 21,
817                "column": 11,
818                "program": "tupleAssignability.ts"
819              }
820            }
821          },
822          "init": {
823            "type": "ArrayExpression",
824            "elements": [
825              {
826                "type": "ArrayExpression",
827                "elements": [
828                  {
829                    "type": "NumberLiteral",
830                    "value": 1,
831                    "loc": {
832                      "start": {
833                        "line": 21,
834                        "column": 73,
835                        "program": "tupleAssignability.ts"
836                      },
837                      "end": {
838                        "line": 21,
839                        "column": 74,
840                        "program": "tupleAssignability.ts"
841                      }
842                    }
843                  }
844                ],
845                "loc": {
846                  "start": {
847                    "line": 21,
848                    "column": 72,
849                    "program": "tupleAssignability.ts"
850                  },
851                  "end": {
852                    "line": 21,
853                    "column": 75,
854                    "program": "tupleAssignability.ts"
855                  }
856                }
857              },
858              {
859                "type": "ArrayExpression",
860                "elements": [
861                  {
862                    "type": "StringLiteral",
863                    "value": "foo",
864                    "loc": {
865                      "start": {
866                        "line": 21,
867                        "column": 78,
868                        "program": "tupleAssignability.ts"
869                      },
870                      "end": {
871                        "line": 21,
872                        "column": 83,
873                        "program": "tupleAssignability.ts"
874                      }
875                    }
876                  },
877                  {
878                    "type": "ArrayExpression",
879                    "elements": [
880                      {
881                        "type": "NumberLiteral",
882                        "value": 1,
883                        "loc": {
884                          "start": {
885                            "line": 21,
886                            "column": 86,
887                            "program": "tupleAssignability.ts"
888                          },
889                          "end": {
890                            "line": 21,
891                            "column": 87,
892                            "program": "tupleAssignability.ts"
893                          }
894                        }
895                      },
896                      {
897                        "type": "NumberLiteral",
898                        "value": 2,
899                        "loc": {
900                          "start": {
901                            "line": 21,
902                            "column": 89,
903                            "program": "tupleAssignability.ts"
904                          },
905                          "end": {
906                            "line": 21,
907                            "column": 90,
908                            "program": "tupleAssignability.ts"
909                          }
910                        }
911                      },
912                      {
913                        "type": "NumberLiteral",
914                        "value": 3,
915                        "loc": {
916                          "start": {
917                            "line": 21,
918                            "column": 92,
919                            "program": "tupleAssignability.ts"
920                          },
921                          "end": {
922                            "line": 21,
923                            "column": 93,
924                            "program": "tupleAssignability.ts"
925                          }
926                        }
927                      }
928                    ],
929                    "loc": {
930                      "start": {
931                        "line": 21,
932                        "column": 85,
933                        "program": "tupleAssignability.ts"
934                      },
935                      "end": {
936                        "line": 21,
937                        "column": 94,
938                        "program": "tupleAssignability.ts"
939                      }
940                    }
941                  }
942                ],
943                "loc": {
944                  "start": {
945                    "line": 21,
946                    "column": 77,
947                    "program": "tupleAssignability.ts"
948                  },
949                  "end": {
950                    "line": 21,
951                    "column": 95,
952                    "program": "tupleAssignability.ts"
953                  }
954                }
955              }
956            ],
957            "loc": {
958              "start": {
959                "line": 21,
960                "column": 71,
961                "program": "tupleAssignability.ts"
962              },
963              "end": {
964                "line": 21,
965                "column": 96,
966                "program": "tupleAssignability.ts"
967              }
968            }
969          },
970          "loc": {
971            "start": {
972              "line": 21,
973              "column": 5,
974              "program": "tupleAssignability.ts"
975            },
976            "end": {
977              "line": 21,
978              "column": 96,
979              "program": "tupleAssignability.ts"
980            }
981          }
982        }
983      ],
984      "kind": "var",
985      "loc": {
986        "start": {
987          "line": 21,
988          "column": 1,
989          "program": "tupleAssignability.ts"
990        },
991        "end": {
992          "line": 21,
993          "column": 97,
994          "program": "tupleAssignability.ts"
995        }
996      }
997    },
998    {
999      "type": "VariableDeclaration",
1000      "declarations": [
1001        {
1002          "type": "VariableDeclarator",
1003          "id": {
1004            "type": "Identifier",
1005            "name": "tuple6",
1006            "typeAnnotation": {
1007              "type": "TSUnionType",
1008              "types": [
1009                {
1010                  "type": "TSTupleType",
1011                  "elementTypes": [
1012                    {
1013                      "type": "TSNumberKeyword",
1014                      "loc": {
1015                        "start": {
1016                          "line": 23,
1017                          "column": 14,
1018                          "program": "tupleAssignability.ts"
1019                        },
1020                        "end": {
1021                          "line": 23,
1022                          "column": 21,
1023                          "program": "tupleAssignability.ts"
1024                        }
1025                      }
1026                    }
1027                  ],
1028                  "loc": {
1029                    "start": {
1030                      "line": 23,
1031                      "column": 13,
1032                      "program": "tupleAssignability.ts"
1033                    },
1034                    "end": {
1035                      "line": 23,
1036                      "column": 21,
1037                      "program": "tupleAssignability.ts"
1038                    }
1039                  }
1040                },
1041                {
1042                  "type": "TSTupleType",
1043                  "elementTypes": [
1044                    {
1045                      "type": "TSStringKeyword",
1046                      "loc": {
1047                        "start": {
1048                          "line": 23,
1049                          "column": 25,
1050                          "program": "tupleAssignability.ts"
1051                        },
1052                        "end": {
1053                          "line": 23,
1054                          "column": 32,
1055                          "program": "tupleAssignability.ts"
1056                        }
1057                      }
1058                    }
1059                  ],
1060                  "loc": {
1061                    "start": {
1062                      "line": 23,
1063                      "column": 24,
1064                      "program": "tupleAssignability.ts"
1065                    },
1066                    "end": {
1067                      "line": 23,
1068                      "column": 32,
1069                      "program": "tupleAssignability.ts"
1070                    }
1071                  }
1072                }
1073              ],
1074              "loc": {
1075                "start": {
1076                  "line": 23,
1077                  "column": 13,
1078                  "program": "tupleAssignability.ts"
1079                },
1080                "end": {
1081                  "line": 23,
1082                  "column": 32,
1083                  "program": "tupleAssignability.ts"
1084                }
1085              }
1086            },
1087            "decorators": [],
1088            "loc": {
1089              "start": {
1090                "line": 23,
1091                "column": 5,
1092                "program": "tupleAssignability.ts"
1093              },
1094              "end": {
1095                "line": 23,
1096                "column": 11,
1097                "program": "tupleAssignability.ts"
1098              }
1099            }
1100          },
1101          "init": {
1102            "type": "ArrayExpression",
1103            "elements": [
1104              {
1105                "type": "NumberLiteral",
1106                "value": 5,
1107                "loc": {
1108                  "start": {
1109                    "line": 23,
1110                    "column": 36,
1111                    "program": "tupleAssignability.ts"
1112                  },
1113                  "end": {
1114                    "line": 23,
1115                    "column": 37,
1116                    "program": "tupleAssignability.ts"
1117                  }
1118                }
1119              }
1120            ],
1121            "loc": {
1122              "start": {
1123                "line": 23,
1124                "column": 35,
1125                "program": "tupleAssignability.ts"
1126              },
1127              "end": {
1128                "line": 23,
1129                "column": 38,
1130                "program": "tupleAssignability.ts"
1131              }
1132            }
1133          },
1134          "loc": {
1135            "start": {
1136              "line": 23,
1137              "column": 5,
1138              "program": "tupleAssignability.ts"
1139            },
1140            "end": {
1141              "line": 23,
1142              "column": 38,
1143              "program": "tupleAssignability.ts"
1144            }
1145          }
1146        }
1147      ],
1148      "kind": "var",
1149      "loc": {
1150        "start": {
1151          "line": 23,
1152          "column": 1,
1153          "program": "tupleAssignability.ts"
1154        },
1155        "end": {
1156          "line": 23,
1157          "column": 39,
1158          "program": "tupleAssignability.ts"
1159        }
1160      }
1161    },
1162    {
1163      "type": "VariableDeclaration",
1164      "declarations": [
1165        {
1166          "type": "VariableDeclarator",
1167          "id": {
1168            "type": "Identifier",
1169            "name": "tuple7",
1170            "typeAnnotation": {
1171              "type": "TSUnionType",
1172              "types": [
1173                {
1174                  "type": "TSTupleType",
1175                  "elementTypes": [
1176                    {
1177                      "type": "TSNumberKeyword",
1178                      "loc": {
1179                        "start": {
1180                          "line": 24,
1181                          "column": 14,
1182                          "program": "tupleAssignability.ts"
1183                        },
1184                        "end": {
1185                          "line": 24,
1186                          "column": 21,
1187                          "program": "tupleAssignability.ts"
1188                        }
1189                      }
1190                    },
1191                    {
1192                      "type": "TSStringKeyword",
1193                      "loc": {
1194                        "start": {
1195                          "line": 24,
1196                          "column": 22,
1197                          "program": "tupleAssignability.ts"
1198                        },
1199                        "end": {
1200                          "line": 24,
1201                          "column": 29,
1202                          "program": "tupleAssignability.ts"
1203                        }
1204                      }
1205                    }
1206                  ],
1207                  "loc": {
1208                    "start": {
1209                      "line": 24,
1210                      "column": 13,
1211                      "program": "tupleAssignability.ts"
1212                    },
1213                    "end": {
1214                      "line": 24,
1215                      "column": 29,
1216                      "program": "tupleAssignability.ts"
1217                    }
1218                  }
1219                },
1220                {
1221                  "type": "TSNumberKeyword",
1222                  "loc": {
1223                    "start": {
1224                      "line": 24,
1225                      "column": 32,
1226                      "program": "tupleAssignability.ts"
1227                    },
1228                    "end": {
1229                      "line": 24,
1230                      "column": 38,
1231                      "program": "tupleAssignability.ts"
1232                    }
1233                  }
1234                },
1235                {
1236                  "type": "TSStringKeyword",
1237                  "loc": {
1238                    "start": {
1239                      "line": 24,
1240                      "column": 41,
1241                      "program": "tupleAssignability.ts"
1242                    },
1243                    "end": {
1244                      "line": 24,
1245                      "column": 47,
1246                      "program": "tupleAssignability.ts"
1247                    }
1248                  }
1249                }
1250              ],
1251              "loc": {
1252                "start": {
1253                  "line": 24,
1254                  "column": 13,
1255                  "program": "tupleAssignability.ts"
1256                },
1257                "end": {
1258                  "line": 24,
1259                  "column": 47,
1260                  "program": "tupleAssignability.ts"
1261                }
1262              }
1263            },
1264            "decorators": [],
1265            "loc": {
1266              "start": {
1267                "line": 24,
1268                "column": 5,
1269                "program": "tupleAssignability.ts"
1270              },
1271              "end": {
1272                "line": 24,
1273                "column": 11,
1274                "program": "tupleAssignability.ts"
1275              }
1276            }
1277          },
1278          "init": {
1279            "type": "ArrayExpression",
1280            "elements": [
1281              {
1282                "type": "NumberLiteral",
1283                "value": 5,
1284                "loc": {
1285                  "start": {
1286                    "line": 24,
1287                    "column": 51,
1288                    "program": "tupleAssignability.ts"
1289                  },
1290                  "end": {
1291                    "line": 24,
1292                    "column": 52,
1293                    "program": "tupleAssignability.ts"
1294                  }
1295                }
1296              },
1297              {
1298                "type": "StringLiteral",
1299                "value": "foo",
1300                "loc": {
1301                  "start": {
1302                    "line": 24,
1303                    "column": 54,
1304                    "program": "tupleAssignability.ts"
1305                  },
1306                  "end": {
1307                    "line": 24,
1308                    "column": 59,
1309                    "program": "tupleAssignability.ts"
1310                  }
1311                }
1312              }
1313            ],
1314            "loc": {
1315              "start": {
1316                "line": 24,
1317                "column": 50,
1318                "program": "tupleAssignability.ts"
1319              },
1320              "end": {
1321                "line": 24,
1322                "column": 60,
1323                "program": "tupleAssignability.ts"
1324              }
1325            }
1326          },
1327          "loc": {
1328            "start": {
1329              "line": 24,
1330              "column": 5,
1331              "program": "tupleAssignability.ts"
1332            },
1333            "end": {
1334              "line": 24,
1335              "column": 60,
1336              "program": "tupleAssignability.ts"
1337            }
1338          }
1339        }
1340      ],
1341      "kind": "var",
1342      "loc": {
1343        "start": {
1344          "line": 24,
1345          "column": 1,
1346          "program": "tupleAssignability.ts"
1347        },
1348        "end": {
1349          "line": 24,
1350          "column": 61,
1351          "program": "tupleAssignability.ts"
1352        }
1353      }
1354    },
1355    {
1356      "type": "VariableDeclaration",
1357      "declarations": [
1358        {
1359          "type": "VariableDeclarator",
1360          "id": {
1361            "type": "Identifier",
1362            "name": "tuple8",
1363            "typeAnnotation": {
1364              "type": "TSUnionType",
1365              "types": [
1366                {
1367                  "type": "TSArrayType",
1368                  "elementType": {
1369                    "type": "TSParenthesizedType",
1370                    "typeAnnotation": {
1371                      "type": "TSUnionType",
1372                      "types": [
1373                        {
1374                          "type": "TSBooleanKeyword",
1375                          "loc": {
1376                            "start": {
1377                              "line": 25,
1378                              "column": 14,
1379                              "program": "tupleAssignability.ts"
1380                            },
1381                            "end": {
1382                              "line": 25,
1383                              "column": 21,
1384                              "program": "tupleAssignability.ts"
1385                            }
1386                          }
1387                        },
1388                        {
1389                          "type": "TSTypeLiteral",
1390                          "members": [
1391                            {
1392                              "type": "TSPropertySignature",
1393                              "computed": false,
1394                              "optional": false,
1395                              "readonly": false,
1396                              "key": {
1397                                "type": "Identifier",
1398                                "name": "a",
1399                                "decorators": [],
1400                                "loc": {
1401                                  "start": {
1402                                    "line": 25,
1403                                    "column": 26,
1404                                    "program": "tupleAssignability.ts"
1405                                  },
1406                                  "end": {
1407                                    "line": 25,
1408                                    "column": 27,
1409                                    "program": "tupleAssignability.ts"
1410                                  }
1411                                }
1412                              },
1413                              "typeAnnotation": {
1414                                "type": "TSNumberKeyword",
1415                                "loc": {
1416                                  "start": {
1417                                    "line": 25,
1418                                    "column": 29,
1419                                    "program": "tupleAssignability.ts"
1420                                  },
1421                                  "end": {
1422                                    "line": 25,
1423                                    "column": 35,
1424                                    "program": "tupleAssignability.ts"
1425                                  }
1426                                }
1427                              },
1428                              "loc": {
1429                                "start": {
1430                                  "line": 25,
1431                                  "column": 26,
1432                                  "program": "tupleAssignability.ts"
1433                                },
1434                                "end": {
1435                                  "line": 25,
1436                                  "column": 36,
1437                                  "program": "tupleAssignability.ts"
1438                                }
1439                              }
1440                            },
1441                            {
1442                              "type": "TSPropertySignature",
1443                              "computed": false,
1444                              "optional": false,
1445                              "readonly": false,
1446                              "key": {
1447                                "type": "Identifier",
1448                                "name": "b",
1449                                "decorators": [],
1450                                "loc": {
1451                                  "start": {
1452                                    "line": 25,
1453                                    "column": 37,
1454                                    "program": "tupleAssignability.ts"
1455                                  },
1456                                  "end": {
1457                                    "line": 25,
1458                                    "column": 38,
1459                                    "program": "tupleAssignability.ts"
1460                                  }
1461                                }
1462                              },
1463                              "typeAnnotation": {
1464                                "type": "TSStringKeyword",
1465                                "loc": {
1466                                  "start": {
1467                                    "line": 25,
1468                                    "column": 40,
1469                                    "program": "tupleAssignability.ts"
1470                                  },
1471                                  "end": {
1472                                    "line": 25,
1473                                    "column": 46,
1474                                    "program": "tupleAssignability.ts"
1475                                  }
1476                                }
1477                              },
1478                              "loc": {
1479                                "start": {
1480                                  "line": 25,
1481                                  "column": 37,
1482                                  "program": "tupleAssignability.ts"
1483                                },
1484                                "end": {
1485                                  "line": 25,
1486                                  "column": 48,
1487                                  "program": "tupleAssignability.ts"
1488                                }
1489                              }
1490                            }
1491                          ],
1492                          "loc": {
1493                            "start": {
1494                              "line": 25,
1495                              "column": 24,
1496                              "program": "tupleAssignability.ts"
1497                            },
1498                            "end": {
1499                              "line": 25,
1500                              "column": 48,
1501                              "program": "tupleAssignability.ts"
1502                            }
1503                          }
1504                        }
1505                      ],
1506                      "loc": {
1507                        "start": {
1508                          "line": 25,
1509                          "column": 14,
1510                          "program": "tupleAssignability.ts"
1511                        },
1512                        "end": {
1513                          "line": 25,
1514                          "column": 48,
1515                          "program": "tupleAssignability.ts"
1516                        }
1517                      }
1518                    },
1519                    "loc": {
1520                      "start": {
1521                        "line": 25,
1522                        "column": 13,
1523                        "program": "tupleAssignability.ts"
1524                      },
1525                      "end": {
1526                        "line": 25,
1527                        "column": 49,
1528                        "program": "tupleAssignability.ts"
1529                      }
1530                    }
1531                  },
1532                  "annotations": [],
1533                  "loc": {
1534                    "start": {
1535                      "line": 25,
1536                      "column": 13,
1537                      "program": "tupleAssignability.ts"
1538                    },
1539                    "end": {
1540                      "line": 25,
1541                      "column": 51,
1542                      "program": "tupleAssignability.ts"
1543                    }
1544                  }
1545                },
1546                {
1547                  "type": "TSTupleType",
1548                  "elementTypes": [
1549                    {
1550                      "type": "TSStringKeyword",
1551                      "loc": {
1552                        "start": {
1553                          "line": 25,
1554                          "column": 55,
1555                          "program": "tupleAssignability.ts"
1556                        },
1557                        "end": {
1558                          "line": 25,
1559                          "column": 62,
1560                          "program": "tupleAssignability.ts"
1561                        }
1562                      }
1563                    },
1564                    {
1565                      "type": "TSUnionType",
1566                      "types": [
1567                        {
1568                          "type": "TSNumberKeyword",
1569                          "loc": {
1570                            "start": {
1571                              "line": 25,
1572                              "column": 63,
1573                              "program": "tupleAssignability.ts"
1574                            },
1575                            "end": {
1576                              "line": 25,
1577                              "column": 69,
1578                              "program": "tupleAssignability.ts"
1579                            }
1580                          }
1581                        },
1582                        {
1583                          "type": "TSStringKeyword",
1584                          "loc": {
1585                            "start": {
1586                              "line": 25,
1587                              "column": 72,
1588                              "program": "tupleAssignability.ts"
1589                            },
1590                            "end": {
1591                              "line": 25,
1592                              "column": 78,
1593                              "program": "tupleAssignability.ts"
1594                            }
1595                          }
1596                        }
1597                      ],
1598                      "loc": {
1599                        "start": {
1600                          "line": 25,
1601                          "column": 63,
1602                          "program": "tupleAssignability.ts"
1603                        },
1604                        "end": {
1605                          "line": 25,
1606                          "column": 79,
1607                          "program": "tupleAssignability.ts"
1608                        }
1609                      }
1610                    }
1611                  ],
1612                  "loc": {
1613                    "start": {
1614                      "line": 25,
1615                      "column": 54,
1616                      "program": "tupleAssignability.ts"
1617                    },
1618                    "end": {
1619                      "line": 25,
1620                      "column": 79,
1621                      "program": "tupleAssignability.ts"
1622                    }
1623                  }
1624                }
1625              ],
1626              "loc": {
1627                "start": {
1628                  "line": 25,
1629                  "column": 13,
1630                  "program": "tupleAssignability.ts"
1631                },
1632                "end": {
1633                  "line": 25,
1634                  "column": 79,
1635                  "program": "tupleAssignability.ts"
1636                }
1637              }
1638            },
1639            "decorators": [],
1640            "loc": {
1641              "start": {
1642                "line": 25,
1643                "column": 5,
1644                "program": "tupleAssignability.ts"
1645              },
1646              "end": {
1647                "line": 25,
1648                "column": 11,
1649                "program": "tupleAssignability.ts"
1650              }
1651            }
1652          },
1653          "init": {
1654            "type": "ArrayExpression",
1655            "elements": [
1656              {
1657                "type": "BooleanLiteral",
1658                "value": false,
1659                "loc": {
1660                  "start": {
1661                    "line": 25,
1662                    "column": 83,
1663                    "program": "tupleAssignability.ts"
1664                  },
1665                  "end": {
1666                    "line": 25,
1667                    "column": 88,
1668                    "program": "tupleAssignability.ts"
1669                  }
1670                }
1671              },
1672              {
1673                "type": "ObjectExpression",
1674                "properties": [
1675                  {
1676                    "type": "Property",
1677                    "method": false,
1678                    "shorthand": false,
1679                    "computed": false,
1680                    "key": {
1681                      "type": "Identifier",
1682                      "name": "a",
1683                      "decorators": [],
1684                      "loc": {
1685                        "start": {
1686                          "line": 25,
1687                          "column": 92,
1688                          "program": "tupleAssignability.ts"
1689                        },
1690                        "end": {
1691                          "line": 25,
1692                          "column": 93,
1693                          "program": "tupleAssignability.ts"
1694                        }
1695                      }
1696                    },
1697                    "value": {
1698                      "type": "NumberLiteral",
1699                      "value": 5,
1700                      "loc": {
1701                        "start": {
1702                          "line": 25,
1703                          "column": 95,
1704                          "program": "tupleAssignability.ts"
1705                        },
1706                        "end": {
1707                          "line": 25,
1708                          "column": 96,
1709                          "program": "tupleAssignability.ts"
1710                        }
1711                      }
1712                    },
1713                    "kind": "init",
1714                    "loc": {
1715                      "start": {
1716                        "line": 25,
1717                        "column": 92,
1718                        "program": "tupleAssignability.ts"
1719                      },
1720                      "end": {
1721                        "line": 25,
1722                        "column": 96,
1723                        "program": "tupleAssignability.ts"
1724                      }
1725                    }
1726                  },
1727                  {
1728                    "type": "Property",
1729                    "method": false,
1730                    "shorthand": false,
1731                    "computed": false,
1732                    "key": {
1733                      "type": "Identifier",
1734                      "name": "b",
1735                      "decorators": [],
1736                      "loc": {
1737                        "start": {
1738                          "line": 25,
1739                          "column": 98,
1740                          "program": "tupleAssignability.ts"
1741                        },
1742                        "end": {
1743                          "line": 25,
1744                          "column": 99,
1745                          "program": "tupleAssignability.ts"
1746                        }
1747                      }
1748                    },
1749                    "value": {
1750                      "type": "StringLiteral",
1751                      "value": "foo",
1752                      "loc": {
1753                        "start": {
1754                          "line": 25,
1755                          "column": 101,
1756                          "program": "tupleAssignability.ts"
1757                        },
1758                        "end": {
1759                          "line": 25,
1760                          "column": 106,
1761                          "program": "tupleAssignability.ts"
1762                        }
1763                      }
1764                    },
1765                    "kind": "init",
1766                    "loc": {
1767                      "start": {
1768                        "line": 25,
1769                        "column": 98,
1770                        "program": "tupleAssignability.ts"
1771                      },
1772                      "end": {
1773                        "line": 25,
1774                        "column": 106,
1775                        "program": "tupleAssignability.ts"
1776                      }
1777                    }
1778                  }
1779                ],
1780                "loc": {
1781                  "start": {
1782                    "line": 25,
1783                    "column": 90,
1784                    "program": "tupleAssignability.ts"
1785                  },
1786                  "end": {
1787                    "line": 25,
1788                    "column": 108,
1789                    "program": "tupleAssignability.ts"
1790                  }
1791                }
1792              }
1793            ],
1794            "loc": {
1795              "start": {
1796                "line": 25,
1797                "column": 82,
1798                "program": "tupleAssignability.ts"
1799              },
1800              "end": {
1801                "line": 25,
1802                "column": 109,
1803                "program": "tupleAssignability.ts"
1804              }
1805            }
1806          },
1807          "loc": {
1808            "start": {
1809              "line": 25,
1810              "column": 5,
1811              "program": "tupleAssignability.ts"
1812            },
1813            "end": {
1814              "line": 25,
1815              "column": 109,
1816              "program": "tupleAssignability.ts"
1817            }
1818          }
1819        }
1820      ],
1821      "kind": "var",
1822      "loc": {
1823        "start": {
1824          "line": 25,
1825          "column": 1,
1826          "program": "tupleAssignability.ts"
1827        },
1828        "end": {
1829          "line": 25,
1830          "column": 110,
1831          "program": "tupleAssignability.ts"
1832        }
1833      }
1834    },
1835    {
1836      "type": "VariableDeclaration",
1837      "declarations": [
1838        {
1839          "type": "VariableDeclarator",
1840          "id": {
1841            "type": "Identifier",
1842            "name": "tuple9",
1843            "typeAnnotation": {
1844              "type": "TSTupleType",
1845              "elementTypes": [
1846                {
1847                  "type": "TSNumberKeyword",
1848                  "loc": {
1849                    "start": {
1850                      "line": 27,
1851                      "column": 14,
1852                      "program": "tupleAssignability.ts"
1853                    },
1854                    "end": {
1855                      "line": 27,
1856                      "column": 21,
1857                      "program": "tupleAssignability.ts"
1858                    }
1859                  }
1860                },
1861                {
1862                  "type": "TSUnionType",
1863                  "types": [
1864                    {
1865                      "type": "TSStringKeyword",
1866                      "loc": {
1867                        "start": {
1868                          "line": 27,
1869                          "column": 22,
1870                          "program": "tupleAssignability.ts"
1871                        },
1872                        "end": {
1873                          "line": 27,
1874                          "column": 28,
1875                          "program": "tupleAssignability.ts"
1876                        }
1877                      }
1878                    },
1879                    {
1880                      "type": "TSNumberKeyword",
1881                      "loc": {
1882                        "start": {
1883                          "line": 27,
1884                          "column": 31,
1885                          "program": "tupleAssignability.ts"
1886                        },
1887                        "end": {
1888                          "line": 27,
1889                          "column": 37,
1890                          "program": "tupleAssignability.ts"
1891                        }
1892                      }
1893                    }
1894                  ],
1895                  "loc": {
1896                    "start": {
1897                      "line": 27,
1898                      "column": 22,
1899                      "program": "tupleAssignability.ts"
1900                    },
1901                    "end": {
1902                      "line": 27,
1903                      "column": 38,
1904                      "program": "tupleAssignability.ts"
1905                    }
1906                  }
1907                },
1908                {
1909                  "type": "TSUnionType",
1910                  "types": [
1911                    {
1912                      "type": "TSBooleanKeyword",
1913                      "loc": {
1914                        "start": {
1915                          "line": 27,
1916                          "column": 39,
1917                          "program": "tupleAssignability.ts"
1918                        },
1919                        "end": {
1920                          "line": 27,
1921                          "column": 46,
1922                          "program": "tupleAssignability.ts"
1923                        }
1924                      }
1925                    },
1926                    {
1927                      "type": "TSStringKeyword",
1928                      "loc": {
1929                        "start": {
1930                          "line": 27,
1931                          "column": 49,
1932                          "program": "tupleAssignability.ts"
1933                        },
1934                        "end": {
1935                          "line": 27,
1936                          "column": 55,
1937                          "program": "tupleAssignability.ts"
1938                        }
1939                      }
1940                    }
1941                  ],
1942                  "loc": {
1943                    "start": {
1944                      "line": 27,
1945                      "column": 39,
1946                      "program": "tupleAssignability.ts"
1947                    },
1948                    "end": {
1949                      "line": 27,
1950                      "column": 56,
1951                      "program": "tupleAssignability.ts"
1952                    }
1953                  }
1954                }
1955              ],
1956              "loc": {
1957                "start": {
1958                  "line": 27,
1959                  "column": 13,
1960                  "program": "tupleAssignability.ts"
1961                },
1962                "end": {
1963                  "line": 27,
1964                  "column": 56,
1965                  "program": "tupleAssignability.ts"
1966                }
1967              }
1968            },
1969            "decorators": [],
1970            "loc": {
1971              "start": {
1972                "line": 27,
1973                "column": 5,
1974                "program": "tupleAssignability.ts"
1975              },
1976              "end": {
1977                "line": 27,
1978                "column": 11,
1979                "program": "tupleAssignability.ts"
1980              }
1981            }
1982          },
1983          "init": null,
1984          "loc": {
1985            "start": {
1986              "line": 27,
1987              "column": 5,
1988              "program": "tupleAssignability.ts"
1989            },
1990            "end": {
1991              "line": 27,
1992              "column": 11,
1993              "program": "tupleAssignability.ts"
1994            }
1995          }
1996        }
1997      ],
1998      "kind": "var",
1999      "loc": {
2000        "start": {
2001          "line": 27,
2002          "column": 1,
2003          "program": "tupleAssignability.ts"
2004        },
2005        "end": {
2006          "line": 27,
2007          "column": 57,
2008          "program": "tupleAssignability.ts"
2009        }
2010      }
2011    },
2012    {
2013      "type": "VariableDeclaration",
2014      "declarations": [
2015        {
2016          "type": "VariableDeclarator",
2017          "id": {
2018            "type": "Identifier",
2019            "name": "tuple10",
2020            "typeAnnotation": {
2021              "type": "TSTupleType",
2022              "elementTypes": [
2023                {
2024                  "type": "TSNumberKeyword",
2025                  "loc": {
2026                    "start": {
2027                      "line": 28,
2028                      "column": 15,
2029                      "program": "tupleAssignability.ts"
2030                    },
2031                    "end": {
2032                      "line": 28,
2033                      "column": 22,
2034                      "program": "tupleAssignability.ts"
2035                    }
2036                  }
2037                },
2038                {
2039                  "type": "TSStringKeyword",
2040                  "loc": {
2041                    "start": {
2042                      "line": 28,
2043                      "column": 23,
2044                      "program": "tupleAssignability.ts"
2045                    },
2046                    "end": {
2047                      "line": 28,
2048                      "column": 30,
2049                      "program": "tupleAssignability.ts"
2050                    }
2051                  }
2052                },
2053                {
2054                  "type": "TSStringKeyword",
2055                  "loc": {
2056                    "start": {
2057                      "line": 28,
2058                      "column": 31,
2059                      "program": "tupleAssignability.ts"
2060                    },
2061                    "end": {
2062                      "line": 28,
2063                      "column": 38,
2064                      "program": "tupleAssignability.ts"
2065                    }
2066                  }
2067                }
2068              ],
2069              "loc": {
2070                "start": {
2071                  "line": 28,
2072                  "column": 14,
2073                  "program": "tupleAssignability.ts"
2074                },
2075                "end": {
2076                  "line": 28,
2077                  "column": 38,
2078                  "program": "tupleAssignability.ts"
2079                }
2080              }
2081            },
2082            "decorators": [],
2083            "loc": {
2084              "start": {
2085                "line": 28,
2086                "column": 5,
2087                "program": "tupleAssignability.ts"
2088              },
2089              "end": {
2090                "line": 28,
2091                "column": 12,
2092                "program": "tupleAssignability.ts"
2093              }
2094            }
2095          },
2096          "init": null,
2097          "loc": {
2098            "start": {
2099              "line": 28,
2100              "column": 5,
2101              "program": "tupleAssignability.ts"
2102            },
2103            "end": {
2104              "line": 28,
2105              "column": 12,
2106              "program": "tupleAssignability.ts"
2107            }
2108          }
2109        }
2110      ],
2111      "kind": "var",
2112      "loc": {
2113        "start": {
2114          "line": 28,
2115          "column": 1,
2116          "program": "tupleAssignability.ts"
2117        },
2118        "end": {
2119          "line": 28,
2120          "column": 39,
2121          "program": "tupleAssignability.ts"
2122        }
2123      }
2124    },
2125    {
2126      "type": "VariableDeclaration",
2127      "declarations": [
2128        {
2129          "type": "VariableDeclarator",
2130          "id": {
2131            "type": "Identifier",
2132            "name": "tuple11",
2133            "typeAnnotation": {
2134              "type": "TSTupleType",
2135              "elementTypes": [
2136                {
2137                  "type": "TSNamedTupleMember",
2138                  "elementType": {
2139                    "type": "TSNumberKeyword",
2140                    "loc": {
2141                      "start": {
2142                        "line": 29,
2143                        "column": 18,
2144                        "program": "tupleAssignability.ts"
2145                      },
2146                      "end": {
2147                        "line": 29,
2148                        "column": 24,
2149                        "program": "tupleAssignability.ts"
2150                      }
2151                    }
2152                  },
2153                  "label": {
2154                    "type": "Identifier",
2155                    "name": "a",
2156                    "decorators": [],
2157                    "loc": {
2158                      "start": {
2159                        "line": 29,
2160                        "column": 15,
2161                        "program": "tupleAssignability.ts"
2162                      },
2163                      "end": {
2164                        "line": 29,
2165                        "column": 16,
2166                        "program": "tupleAssignability.ts"
2167                      }
2168                    }
2169                  },
2170                  "loc": {
2171                    "start": {
2172                      "line": 29,
2173                      "column": 15,
2174                      "program": "tupleAssignability.ts"
2175                    },
2176                    "end": {
2177                      "line": 29,
2178                      "column": 25,
2179                      "program": "tupleAssignability.ts"
2180                    }
2181                  }
2182                },
2183                {
2184                  "type": "TSNamedTupleMember",
2185                  "elementType": {
2186                    "type": "TSUnionType",
2187                    "types": [
2188                      {
2189                        "type": "TSNumberKeyword",
2190                        "loc": {
2191                          "start": {
2192                            "line": 29,
2193                            "column": 29,
2194                            "program": "tupleAssignability.ts"
2195                          },
2196                          "end": {
2197                            "line": 29,
2198                            "column": 35,
2199                            "program": "tupleAssignability.ts"
2200                          }
2201                        }
2202                      },
2203                      {
2204                        "type": "TSStringKeyword",
2205                        "loc": {
2206                          "start": {
2207                            "line": 29,
2208                            "column": 38,
2209                            "program": "tupleAssignability.ts"
2210                          },
2211                          "end": {
2212                            "line": 29,
2213                            "column": 44,
2214                            "program": "tupleAssignability.ts"
2215                          }
2216                        }
2217                      }
2218                    ],
2219                    "loc": {
2220                      "start": {
2221                        "line": 29,
2222                        "column": 29,
2223                        "program": "tupleAssignability.ts"
2224                      },
2225                      "end": {
2226                        "line": 29,
2227                        "column": 44,
2228                        "program": "tupleAssignability.ts"
2229                      }
2230                    }
2231                  },
2232                  "label": {
2233                    "type": "Identifier",
2234                    "name": "b",
2235                    "decorators": [],
2236                    "loc": {
2237                      "start": {
2238                        "line": 29,
2239                        "column": 26,
2240                        "program": "tupleAssignability.ts"
2241                      },
2242                      "end": {
2243                        "line": 29,
2244                        "column": 27,
2245                        "program": "tupleAssignability.ts"
2246                      }
2247                    }
2248                  },
2249                  "loc": {
2250                    "start": {
2251                      "line": 29,
2252                      "column": 26,
2253                      "program": "tupleAssignability.ts"
2254                    },
2255                    "end": {
2256                      "line": 29,
2257                      "column": 45,
2258                      "program": "tupleAssignability.ts"
2259                    }
2260                  }
2261                },
2262                {
2263                  "type": "TSNamedTupleMember",
2264                  "elementType": {
2265                    "type": "TSBooleanKeyword",
2266                    "loc": {
2267                      "start": {
2268                        "line": 29,
2269                        "column": 49,
2270                        "program": "tupleAssignability.ts"
2271                      },
2272                      "end": {
2273                        "line": 29,
2274                        "column": 56,
2275                        "program": "tupleAssignability.ts"
2276                      }
2277                    }
2278                  },
2279                  "label": {
2280                    "type": "Identifier",
2281                    "name": "c",
2282                    "decorators": [],
2283                    "loc": {
2284                      "start": {
2285                        "line": 29,
2286                        "column": 46,
2287                        "program": "tupleAssignability.ts"
2288                      },
2289                      "end": {
2290                        "line": 29,
2291                        "column": 47,
2292                        "program": "tupleAssignability.ts"
2293                      }
2294                    }
2295                  },
2296                  "loc": {
2297                    "start": {
2298                      "line": 29,
2299                      "column": 46,
2300                      "program": "tupleAssignability.ts"
2301                    },
2302                    "end": {
2303                      "line": 29,
2304                      "column": 57,
2305                      "program": "tupleAssignability.ts"
2306                    }
2307                  }
2308                }
2309              ],
2310              "loc": {
2311                "start": {
2312                  "line": 29,
2313                  "column": 14,
2314                  "program": "tupleAssignability.ts"
2315                },
2316                "end": {
2317                  "line": 29,
2318                  "column": 57,
2319                  "program": "tupleAssignability.ts"
2320                }
2321              }
2322            },
2323            "decorators": [],
2324            "loc": {
2325              "start": {
2326                "line": 29,
2327                "column": 5,
2328                "program": "tupleAssignability.ts"
2329              },
2330              "end": {
2331                "line": 29,
2332                "column": 12,
2333                "program": "tupleAssignability.ts"
2334              }
2335            }
2336          },
2337          "init": null,
2338          "loc": {
2339            "start": {
2340              "line": 29,
2341              "column": 5,
2342              "program": "tupleAssignability.ts"
2343            },
2344            "end": {
2345              "line": 29,
2346              "column": 12,
2347              "program": "tupleAssignability.ts"
2348            }
2349          }
2350        }
2351      ],
2352      "kind": "var",
2353      "loc": {
2354        "start": {
2355          "line": 29,
2356          "column": 1,
2357          "program": "tupleAssignability.ts"
2358        },
2359        "end": {
2360          "line": 29,
2361          "column": 58,
2362          "program": "tupleAssignability.ts"
2363        }
2364      }
2365    },
2366    {
2367      "type": "VariableDeclaration",
2368      "declarations": [
2369        {
2370          "type": "VariableDeclarator",
2371          "id": {
2372            "type": "Identifier",
2373            "name": "tuple12",
2374            "typeAnnotation": {
2375              "type": "TSTupleType",
2376              "elementTypes": [
2377                {
2378                  "type": "TSNamedTupleMember",
2379                  "elementType": {
2380                    "type": "TSNumberKeyword",
2381                    "loc": {
2382                      "start": {
2383                        "line": 30,
2384                        "column": 18,
2385                        "program": "tupleAssignability.ts"
2386                      },
2387                      "end": {
2388                        "line": 30,
2389                        "column": 24,
2390                        "program": "tupleAssignability.ts"
2391                      }
2392                    }
2393                  },
2394                  "label": {
2395                    "type": "Identifier",
2396                    "name": "a",
2397                    "decorators": [],
2398                    "loc": {
2399                      "start": {
2400                        "line": 30,
2401                        "column": 15,
2402                        "program": "tupleAssignability.ts"
2403                      },
2404                      "end": {
2405                        "line": 30,
2406                        "column": 16,
2407                        "program": "tupleAssignability.ts"
2408                      }
2409                    }
2410                  },
2411                  "loc": {
2412                    "start": {
2413                      "line": 30,
2414                      "column": 15,
2415                      "program": "tupleAssignability.ts"
2416                    },
2417                    "end": {
2418                      "line": 30,
2419                      "column": 25,
2420                      "program": "tupleAssignability.ts"
2421                    }
2422                  }
2423                },
2424                {
2425                  "type": "TSNamedTupleMember",
2426                  "elementType": {
2427                    "type": "TSStringKeyword",
2428                    "loc": {
2429                      "start": {
2430                        "line": 30,
2431                        "column": 29,
2432                        "program": "tupleAssignability.ts"
2433                      },
2434                      "end": {
2435                        "line": 30,
2436                        "column": 35,
2437                        "program": "tupleAssignability.ts"
2438                      }
2439                    }
2440                  },
2441                  "label": {
2442                    "type": "Identifier",
2443                    "name": "b",
2444                    "decorators": [],
2445                    "loc": {
2446                      "start": {
2447                        "line": 30,
2448                        "column": 26,
2449                        "program": "tupleAssignability.ts"
2450                      },
2451                      "end": {
2452                        "line": 30,
2453                        "column": 27,
2454                        "program": "tupleAssignability.ts"
2455                      }
2456                    }
2457                  },
2458                  "loc": {
2459                    "start": {
2460                      "line": 30,
2461                      "column": 26,
2462                      "program": "tupleAssignability.ts"
2463                    },
2464                    "end": {
2465                      "line": 30,
2466                      "column": 36,
2467                      "program": "tupleAssignability.ts"
2468                    }
2469                  }
2470                },
2471                {
2472                  "type": "TSNamedTupleMember",
2473                  "elementType": {
2474                    "type": "TSBooleanKeyword",
2475                    "loc": {
2476                      "start": {
2477                        "line": 30,
2478                        "column": 40,
2479                        "program": "tupleAssignability.ts"
2480                      },
2481                      "end": {
2482                        "line": 30,
2483                        "column": 47,
2484                        "program": "tupleAssignability.ts"
2485                      }
2486                    }
2487                  },
2488                  "label": {
2489                    "type": "Identifier",
2490                    "name": "c",
2491                    "decorators": [],
2492                    "loc": {
2493                      "start": {
2494                        "line": 30,
2495                        "column": 37,
2496                        "program": "tupleAssignability.ts"
2497                      },
2498                      "end": {
2499                        "line": 30,
2500                        "column": 38,
2501                        "program": "tupleAssignability.ts"
2502                      }
2503                    }
2504                  },
2505                  "loc": {
2506                    "start": {
2507                      "line": 30,
2508                      "column": 37,
2509                      "program": "tupleAssignability.ts"
2510                    },
2511                    "end": {
2512                      "line": 30,
2513                      "column": 48,
2514                      "program": "tupleAssignability.ts"
2515                    }
2516                  }
2517                },
2518                {
2519                  "type": "TSNamedTupleMember",
2520                  "elementType": {
2521                    "type": "TSAnyKeyword",
2522                    "loc": {
2523                      "start": {
2524                        "line": 30,
2525                        "column": 53,
2526                        "program": "tupleAssignability.ts"
2527                      },
2528                      "end": {
2529                        "line": 30,
2530                        "column": 56,
2531                        "program": "tupleAssignability.ts"
2532                      }
2533                    }
2534                  },
2535                  "label": {
2536                    "type": "Identifier",
2537                    "name": "d",
2538                    "decorators": [],
2539                    "loc": {
2540                      "start": {
2541                        "line": 30,
2542                        "column": 49,
2543                        "program": "tupleAssignability.ts"
2544                      },
2545                      "end": {
2546                        "line": 30,
2547                        "column": 50,
2548                        "program": "tupleAssignability.ts"
2549                      }
2550                    }
2551                  },
2552                  "optional": true,
2553                  "loc": {
2554                    "start": {
2555                      "line": 30,
2556                      "column": 49,
2557                      "program": "tupleAssignability.ts"
2558                    },
2559                    "end": {
2560                      "line": 30,
2561                      "column": 57,
2562                      "program": "tupleAssignability.ts"
2563                    }
2564                  }
2565                }
2566              ],
2567              "loc": {
2568                "start": {
2569                  "line": 30,
2570                  "column": 14,
2571                  "program": "tupleAssignability.ts"
2572                },
2573                "end": {
2574                  "line": 30,
2575                  "column": 57,
2576                  "program": "tupleAssignability.ts"
2577                }
2578              }
2579            },
2580            "decorators": [],
2581            "loc": {
2582              "start": {
2583                "line": 30,
2584                "column": 5,
2585                "program": "tupleAssignability.ts"
2586              },
2587              "end": {
2588                "line": 30,
2589                "column": 12,
2590                "program": "tupleAssignability.ts"
2591              }
2592            }
2593          },
2594          "init": null,
2595          "loc": {
2596            "start": {
2597              "line": 30,
2598              "column": 5,
2599              "program": "tupleAssignability.ts"
2600            },
2601            "end": {
2602              "line": 30,
2603              "column": 12,
2604              "program": "tupleAssignability.ts"
2605            }
2606          }
2607        }
2608      ],
2609      "kind": "var",
2610      "loc": {
2611        "start": {
2612          "line": 30,
2613          "column": 1,
2614          "program": "tupleAssignability.ts"
2615        },
2616        "end": {
2617          "line": 30,
2618          "column": 58,
2619          "program": "tupleAssignability.ts"
2620        }
2621      }
2622    },
2623    {
2624      "type": "VariableDeclaration",
2625      "declarations": [
2626        {
2627          "type": "VariableDeclarator",
2628          "id": {
2629            "type": "Identifier",
2630            "name": "tuple13",
2631            "typeAnnotation": {
2632              "type": "TSTupleType",
2633              "elementTypes": [
2634                {
2635                  "type": "TSNamedTupleMember",
2636                  "elementType": {
2637                    "type": "TSNumberKeyword",
2638                    "loc": {
2639                      "start": {
2640                        "line": 31,
2641                        "column": 19,
2642                        "program": "tupleAssignability.ts"
2643                      },
2644                      "end": {
2645                        "line": 31,
2646                        "column": 25,
2647                        "program": "tupleAssignability.ts"
2648                      }
2649                    }
2650                  },
2651                  "label": {
2652                    "type": "Identifier",
2653                    "name": "a",
2654                    "decorators": [],
2655                    "loc": {
2656                      "start": {
2657                        "line": 31,
2658                        "column": 15,
2659                        "program": "tupleAssignability.ts"
2660                      },
2661                      "end": {
2662                        "line": 31,
2663                        "column": 16,
2664                        "program": "tupleAssignability.ts"
2665                      }
2666                    }
2667                  },
2668                  "optional": true,
2669                  "loc": {
2670                    "start": {
2671                      "line": 31,
2672                      "column": 15,
2673                      "program": "tupleAssignability.ts"
2674                    },
2675                    "end": {
2676                      "line": 31,
2677                      "column": 26,
2678                      "program": "tupleAssignability.ts"
2679                    }
2680                  }
2681                },
2682                {
2683                  "type": "TSNamedTupleMember",
2684                  "elementType": {
2685                    "type": "TSNumberKeyword",
2686                    "loc": {
2687                      "start": {
2688                        "line": 31,
2689                        "column": 31,
2690                        "program": "tupleAssignability.ts"
2691                      },
2692                      "end": {
2693                        "line": 31,
2694                        "column": 37,
2695                        "program": "tupleAssignability.ts"
2696                      }
2697                    }
2698                  },
2699                  "label": {
2700                    "type": "Identifier",
2701                    "name": "b",
2702                    "decorators": [],
2703                    "loc": {
2704                      "start": {
2705                        "line": 31,
2706                        "column": 27,
2707                        "program": "tupleAssignability.ts"
2708                      },
2709                      "end": {
2710                        "line": 31,
2711                        "column": 28,
2712                        "program": "tupleAssignability.ts"
2713                      }
2714                    }
2715                  },
2716                  "optional": true,
2717                  "loc": {
2718                    "start": {
2719                      "line": 31,
2720                      "column": 27,
2721                      "program": "tupleAssignability.ts"
2722                    },
2723                    "end": {
2724                      "line": 31,
2725                      "column": 38,
2726                      "program": "tupleAssignability.ts"
2727                    }
2728                  }
2729                },
2730                {
2731                  "type": "TSNamedTupleMember",
2732                  "elementType": {
2733                    "type": "TSNumberKeyword",
2734                    "loc": {
2735                      "start": {
2736                        "line": 31,
2737                        "column": 43,
2738                        "program": "tupleAssignability.ts"
2739                      },
2740                      "end": {
2741                        "line": 31,
2742                        "column": 49,
2743                        "program": "tupleAssignability.ts"
2744                      }
2745                    }
2746                  },
2747                  "label": {
2748                    "type": "Identifier",
2749                    "name": "c",
2750                    "decorators": [],
2751                    "loc": {
2752                      "start": {
2753                        "line": 31,
2754                        "column": 39,
2755                        "program": "tupleAssignability.ts"
2756                      },
2757                      "end": {
2758                        "line": 31,
2759                        "column": 40,
2760                        "program": "tupleAssignability.ts"
2761                      }
2762                    }
2763                  },
2764                  "optional": true,
2765                  "loc": {
2766                    "start": {
2767                      "line": 31,
2768                      "column": 39,
2769                      "program": "tupleAssignability.ts"
2770                    },
2771                    "end": {
2772                      "line": 31,
2773                      "column": 50,
2774                      "program": "tupleAssignability.ts"
2775                    }
2776                  }
2777                }
2778              ],
2779              "loc": {
2780                "start": {
2781                  "line": 31,
2782                  "column": 14,
2783                  "program": "tupleAssignability.ts"
2784                },
2785                "end": {
2786                  "line": 31,
2787                  "column": 50,
2788                  "program": "tupleAssignability.ts"
2789                }
2790              }
2791            },
2792            "decorators": [],
2793            "loc": {
2794              "start": {
2795                "line": 31,
2796                "column": 5,
2797                "program": "tupleAssignability.ts"
2798              },
2799              "end": {
2800                "line": 31,
2801                "column": 12,
2802                "program": "tupleAssignability.ts"
2803              }
2804            }
2805          },
2806          "init": null,
2807          "loc": {
2808            "start": {
2809              "line": 31,
2810              "column": 5,
2811              "program": "tupleAssignability.ts"
2812            },
2813            "end": {
2814              "line": 31,
2815              "column": 12,
2816              "program": "tupleAssignability.ts"
2817            }
2818          }
2819        }
2820      ],
2821      "kind": "var",
2822      "loc": {
2823        "start": {
2824          "line": 31,
2825          "column": 1,
2826          "program": "tupleAssignability.ts"
2827        },
2828        "end": {
2829          "line": 31,
2830          "column": 51,
2831          "program": "tupleAssignability.ts"
2832        }
2833      }
2834    },
2835    {
2836      "type": "ExpressionStatement",
2837      "expression": {
2838        "type": "AssignmentExpression",
2839        "operator": "=",
2840        "left": {
2841          "type": "Identifier",
2842          "name": "tuple9",
2843          "decorators": [],
2844          "loc": {
2845            "start": {
2846              "line": 33,
2847              "column": 1,
2848              "program": "tupleAssignability.ts"
2849            },
2850            "end": {
2851              "line": 33,
2852              "column": 7,
2853              "program": "tupleAssignability.ts"
2854            }
2855          }
2856        },
2857        "right": {
2858          "type": "Identifier",
2859          "name": "tuple10",
2860          "decorators": [],
2861          "loc": {
2862            "start": {
2863              "line": 33,
2864              "column": 10,
2865              "program": "tupleAssignability.ts"
2866            },
2867            "end": {
2868              "line": 33,
2869              "column": 17,
2870              "program": "tupleAssignability.ts"
2871            }
2872          }
2873        },
2874        "loc": {
2875          "start": {
2876            "line": 33,
2877            "column": 1,
2878            "program": "tupleAssignability.ts"
2879          },
2880          "end": {
2881            "line": 33,
2882            "column": 17,
2883            "program": "tupleAssignability.ts"
2884          }
2885        }
2886      },
2887      "loc": {
2888        "start": {
2889          "line": 33,
2890          "column": 1,
2891          "program": "tupleAssignability.ts"
2892        },
2893        "end": {
2894          "line": 33,
2895          "column": 18,
2896          "program": "tupleAssignability.ts"
2897        }
2898      }
2899    },
2900    {
2901      "type": "ExpressionStatement",
2902      "expression": {
2903        "type": "AssignmentExpression",
2904        "operator": "=",
2905        "left": {
2906          "type": "Identifier",
2907          "name": "tuple9",
2908          "decorators": [],
2909          "loc": {
2910            "start": {
2911              "line": 34,
2912              "column": 1,
2913              "program": "tupleAssignability.ts"
2914            },
2915            "end": {
2916              "line": 34,
2917              "column": 7,
2918              "program": "tupleAssignability.ts"
2919            }
2920          }
2921        },
2922        "right": {
2923          "type": "Identifier",
2924          "name": "tuple11",
2925          "decorators": [],
2926          "loc": {
2927            "start": {
2928              "line": 34,
2929              "column": 10,
2930              "program": "tupleAssignability.ts"
2931            },
2932            "end": {
2933              "line": 34,
2934              "column": 17,
2935              "program": "tupleAssignability.ts"
2936            }
2937          }
2938        },
2939        "loc": {
2940          "start": {
2941            "line": 34,
2942            "column": 1,
2943            "program": "tupleAssignability.ts"
2944          },
2945          "end": {
2946            "line": 34,
2947            "column": 17,
2948            "program": "tupleAssignability.ts"
2949          }
2950        }
2951      },
2952      "loc": {
2953        "start": {
2954          "line": 34,
2955          "column": 1,
2956          "program": "tupleAssignability.ts"
2957        },
2958        "end": {
2959          "line": 34,
2960          "column": 18,
2961          "program": "tupleAssignability.ts"
2962        }
2963      }
2964    },
2965    {
2966      "type": "ExpressionStatement",
2967      "expression": {
2968        "type": "AssignmentExpression",
2969        "operator": "=",
2970        "left": {
2971          "type": "Identifier",
2972          "name": "tuple9",
2973          "decorators": [],
2974          "loc": {
2975            "start": {
2976              "line": 35,
2977              "column": 1,
2978              "program": "tupleAssignability.ts"
2979            },
2980            "end": {
2981              "line": 35,
2982              "column": 7,
2983              "program": "tupleAssignability.ts"
2984            }
2985          }
2986        },
2987        "right": {
2988          "type": "Identifier",
2989          "name": "tuple12",
2990          "decorators": [],
2991          "loc": {
2992            "start": {
2993              "line": 35,
2994              "column": 10,
2995              "program": "tupleAssignability.ts"
2996            },
2997            "end": {
2998              "line": 35,
2999              "column": 17,
3000              "program": "tupleAssignability.ts"
3001            }
3002          }
3003        },
3004        "loc": {
3005          "start": {
3006            "line": 35,
3007            "column": 1,
3008            "program": "tupleAssignability.ts"
3009          },
3010          "end": {
3011            "line": 35,
3012            "column": 17,
3013            "program": "tupleAssignability.ts"
3014          }
3015        }
3016      },
3017      "loc": {
3018        "start": {
3019          "line": 35,
3020          "column": 1,
3021          "program": "tupleAssignability.ts"
3022        },
3023        "end": {
3024          "line": 35,
3025          "column": 18,
3026          "program": "tupleAssignability.ts"
3027        }
3028      }
3029    },
3030    {
3031      "type": "ExpressionStatement",
3032      "expression": {
3033        "type": "AssignmentExpression",
3034        "operator": "=",
3035        "left": {
3036          "type": "Identifier",
3037          "name": "tuple11",
3038          "decorators": [],
3039          "loc": {
3040            "start": {
3041              "line": 36,
3042              "column": 1,
3043              "program": "tupleAssignability.ts"
3044            },
3045            "end": {
3046              "line": 36,
3047              "column": 8,
3048              "program": "tupleAssignability.ts"
3049            }
3050          }
3051        },
3052        "right": {
3053          "type": "Identifier",
3054          "name": "tuple12",
3055          "decorators": [],
3056          "loc": {
3057            "start": {
3058              "line": 36,
3059              "column": 11,
3060              "program": "tupleAssignability.ts"
3061            },
3062            "end": {
3063              "line": 36,
3064              "column": 18,
3065              "program": "tupleAssignability.ts"
3066            }
3067          }
3068        },
3069        "loc": {
3070          "start": {
3071            "line": 36,
3072            "column": 1,
3073            "program": "tupleAssignability.ts"
3074          },
3075          "end": {
3076            "line": 36,
3077            "column": 18,
3078            "program": "tupleAssignability.ts"
3079          }
3080        }
3081      },
3082      "loc": {
3083        "start": {
3084          "line": 36,
3085          "column": 1,
3086          "program": "tupleAssignability.ts"
3087        },
3088        "end": {
3089          "line": 36,
3090          "column": 19,
3091          "program": "tupleAssignability.ts"
3092        }
3093      }
3094    },
3095    {
3096      "type": "ExpressionStatement",
3097      "expression": {
3098        "type": "AssignmentExpression",
3099        "operator": "=",
3100        "left": {
3101          "type": "Identifier",
3102          "name": "tuple13",
3103          "decorators": [],
3104          "loc": {
3105            "start": {
3106              "line": 37,
3107              "column": 1,
3108              "program": "tupleAssignability.ts"
3109            },
3110            "end": {
3111              "line": 37,
3112              "column": 8,
3113              "program": "tupleAssignability.ts"
3114            }
3115          }
3116        },
3117        "right": {
3118          "type": "Identifier",
3119          "name": "tuple1",
3120          "decorators": [],
3121          "loc": {
3122            "start": {
3123              "line": 37,
3124              "column": 11,
3125              "program": "tupleAssignability.ts"
3126            },
3127            "end": {
3128              "line": 37,
3129              "column": 17,
3130              "program": "tupleAssignability.ts"
3131            }
3132          }
3133        },
3134        "loc": {
3135          "start": {
3136            "line": 37,
3137            "column": 1,
3138            "program": "tupleAssignability.ts"
3139          },
3140          "end": {
3141            "line": 37,
3142            "column": 17,
3143            "program": "tupleAssignability.ts"
3144          }
3145        }
3146      },
3147      "loc": {
3148        "start": {
3149          "line": 37,
3150          "column": 1,
3151          "program": "tupleAssignability.ts"
3152        },
3153        "end": {
3154          "line": 37,
3155          "column": 18,
3156          "program": "tupleAssignability.ts"
3157        }
3158      }
3159    },
3160    {
3161      "type": "ExpressionStatement",
3162      "expression": {
3163        "type": "AssignmentExpression",
3164        "operator": "=",
3165        "left": {
3166          "type": "Identifier",
3167          "name": "tuple13",
3168          "decorators": [],
3169          "loc": {
3170            "start": {
3171              "line": 38,
3172              "column": 1,
3173              "program": "tupleAssignability.ts"
3174            },
3175            "end": {
3176              "line": 38,
3177              "column": 8,
3178              "program": "tupleAssignability.ts"
3179            }
3180          }
3181        },
3182        "right": {
3183          "type": "Identifier",
3184          "name": "tuple13",
3185          "decorators": [],
3186          "loc": {
3187            "start": {
3188              "line": 38,
3189              "column": 11,
3190              "program": "tupleAssignability.ts"
3191            },
3192            "end": {
3193              "line": 38,
3194              "column": 18,
3195              "program": "tupleAssignability.ts"
3196            }
3197          }
3198        },
3199        "loc": {
3200          "start": {
3201            "line": 38,
3202            "column": 1,
3203            "program": "tupleAssignability.ts"
3204          },
3205          "end": {
3206            "line": 38,
3207            "column": 18,
3208            "program": "tupleAssignability.ts"
3209          }
3210        }
3211      },
3212      "loc": {
3213        "start": {
3214          "line": 38,
3215          "column": 1,
3216          "program": "tupleAssignability.ts"
3217        },
3218        "end": {
3219          "line": 38,
3220          "column": 19,
3221          "program": "tupleAssignability.ts"
3222        }
3223      }
3224    },
3225    {
3226      "type": "VariableDeclaration",
3227      "declarations": [
3228        {
3229          "type": "VariableDeclarator",
3230          "id": {
3231            "type": "Identifier",
3232            "name": "tuple14",
3233            "decorators": [],
3234            "loc": {
3235              "start": {
3236                "line": 40,
3237                "column": 5,
3238                "program": "tupleAssignability.ts"
3239              },
3240              "end": {
3241                "line": 40,
3242                "column": 12,
3243                "program": "tupleAssignability.ts"
3244              }
3245            }
3246          },
3247          "init": {
3248            "type": "TSAsExpression",
3249            "expression": {
3250              "type": "ArrayExpression",
3251              "elements": [
3252                {
3253                  "type": "ArrayExpression",
3254                  "elements": [
3255                    {
3256                      "type": "NumberLiteral",
3257                      "value": 1,
3258                      "loc": {
3259                        "start": {
3260                          "line": 40,
3261                          "column": 17,
3262                          "program": "tupleAssignability.ts"
3263                        },
3264                        "end": {
3265                          "line": 40,
3266                          "column": 18,
3267                          "program": "tupleAssignability.ts"
3268                        }
3269                      }
3270                    },
3271                    {
3272                      "type": "NumberLiteral",
3273                      "value": 2,
3274                      "loc": {
3275                        "start": {
3276                          "line": 40,
3277                          "column": 20,
3278                          "program": "tupleAssignability.ts"
3279                        },
3280                        "end": {
3281                          "line": 40,
3282                          "column": 21,
3283                          "program": "tupleAssignability.ts"
3284                        }
3285                      }
3286                    }
3287                  ],
3288                  "loc": {
3289                    "start": {
3290                      "line": 40,
3291                      "column": 16,
3292                      "program": "tupleAssignability.ts"
3293                    },
3294                    "end": {
3295                      "line": 40,
3296                      "column": 22,
3297                      "program": "tupleAssignability.ts"
3298                    }
3299                  }
3300                },
3301                {
3302                  "type": "CallExpression",
3303                  "callee": {
3304                    "type": "Identifier",
3305                    "name": "func1",
3306                    "decorators": [],
3307                    "loc": {
3308                      "start": {
3309                        "line": 40,
3310                        "column": 24,
3311                        "program": "tupleAssignability.ts"
3312                      },
3313                      "end": {
3314                        "line": 40,
3315                        "column": 29,
3316                        "program": "tupleAssignability.ts"
3317                      }
3318                    }
3319                  },
3320                  "arguments": [
3321                    {
3322                      "type": "NumberLiteral",
3323                      "value": 1,
3324                      "loc": {
3325                        "start": {
3326                          "line": 40,
3327                          "column": 30,
3328                          "program": "tupleAssignability.ts"
3329                        },
3330                        "end": {
3331                          "line": 40,
3332                          "column": 31,
3333                          "program": "tupleAssignability.ts"
3334                        }
3335                      }
3336                    },
3337                    {
3338                      "type": "StringLiteral",
3339                      "value": "foo",
3340                      "loc": {
3341                        "start": {
3342                          "line": 40,
3343                          "column": 33,
3344                          "program": "tupleAssignability.ts"
3345                        },
3346                        "end": {
3347                          "line": 40,
3348                          "column": 38,
3349                          "program": "tupleAssignability.ts"
3350                        }
3351                      }
3352                    }
3353                  ],
3354                  "optional": false,
3355                  "loc": {
3356                    "start": {
3357                      "line": 40,
3358                      "column": 24,
3359                      "program": "tupleAssignability.ts"
3360                    },
3361                    "end": {
3362                      "line": 40,
3363                      "column": 39,
3364                      "program": "tupleAssignability.ts"
3365                    }
3366                  }
3367                },
3368                {
3369                  "type": "BooleanLiteral",
3370                  "value": true,
3371                  "loc": {
3372                    "start": {
3373                      "line": 40,
3374                      "column": 41,
3375                      "program": "tupleAssignability.ts"
3376                    },
3377                    "end": {
3378                      "line": 40,
3379                      "column": 45,
3380                      "program": "tupleAssignability.ts"
3381                    }
3382                  }
3383                }
3384              ],
3385              "loc": {
3386                "start": {
3387                  "line": 40,
3388                  "column": 15,
3389                  "program": "tupleAssignability.ts"
3390                },
3391                "end": {
3392                  "line": 40,
3393                  "column": 46,
3394                  "program": "tupleAssignability.ts"
3395                }
3396              }
3397            },
3398            "typeAnnotation": {
3399              "type": "TSTupleType",
3400              "elementTypes": [
3401                {
3402                  "type": "TSNamedTupleMember",
3403                  "elementType": {
3404                    "type": "TSTupleType",
3405                    "elementTypes": [
3406                      {
3407                        "type": "TSNumberKeyword",
3408                        "loc": {
3409                          "start": {
3410                            "line": 40,
3411                            "column": 56,
3412                            "program": "tupleAssignability.ts"
3413                          },
3414                          "end": {
3415                            "line": 40,
3416                            "column": 63,
3417                            "program": "tupleAssignability.ts"
3418                          }
3419                        }
3420                      },
3421                      {
3422                        "type": "TSNumberKeyword",
3423                        "loc": {
3424                          "start": {
3425                            "line": 40,
3426                            "column": 64,
3427                            "program": "tupleAssignability.ts"
3428                          },
3429                          "end": {
3430                            "line": 40,
3431                            "column": 71,
3432                            "program": "tupleAssignability.ts"
3433                          }
3434                        }
3435                      }
3436                    ],
3437                    "loc": {
3438                      "start": {
3439                        "line": 40,
3440                        "column": 55,
3441                        "program": "tupleAssignability.ts"
3442                      },
3443                      "end": {
3444                        "line": 40,
3445                        "column": 71,
3446                        "program": "tupleAssignability.ts"
3447                      }
3448                    }
3449                  },
3450                  "label": {
3451                    "type": "Identifier",
3452                    "name": "a",
3453                    "decorators": [],
3454                    "loc": {
3455                      "start": {
3456                        "line": 40,
3457                        "column": 51,
3458                        "program": "tupleAssignability.ts"
3459                      },
3460                      "end": {
3461                        "line": 40,
3462                        "column": 52,
3463                        "program": "tupleAssignability.ts"
3464                      }
3465                    }
3466                  },
3467                  "optional": true,
3468                  "loc": {
3469                    "start": {
3470                      "line": 40,
3471                      "column": 51,
3472                      "program": "tupleAssignability.ts"
3473                    },
3474                    "end": {
3475                      "line": 40,
3476                      "column": 72,
3477                      "program": "tupleAssignability.ts"
3478                    }
3479                  }
3480                },
3481                {
3482                  "type": "TSNamedTupleMember",
3483                  "elementType": {
3484                    "type": "TSTupleType",
3485                    "elementTypes": [
3486                      {
3487                        "type": "TSNamedTupleMember",
3488                        "elementType": {
3489                          "type": "TSNumberKeyword",
3490                          "loc": {
3491                            "start": {
3492                              "line": 40,
3493                              "column": 81,
3494                              "program": "tupleAssignability.ts"
3495                            },
3496                            "end": {
3497                              "line": 40,
3498                              "column": 87,
3499                              "program": "tupleAssignability.ts"
3500                            }
3501                          }
3502                        },
3503                        "label": {
3504                          "type": "Identifier",
3505                          "name": "a",
3506                          "decorators": [],
3507                          "loc": {
3508                            "start": {
3509                              "line": 40,
3510                              "column": 78,
3511                              "program": "tupleAssignability.ts"
3512                            },
3513                            "end": {
3514                              "line": 40,
3515                              "column": 79,
3516                              "program": "tupleAssignability.ts"
3517                            }
3518                          }
3519                        },
3520                        "loc": {
3521                          "start": {
3522                            "line": 40,
3523                            "column": 78,
3524                            "program": "tupleAssignability.ts"
3525                          },
3526                          "end": {
3527                            "line": 40,
3528                            "column": 88,
3529                            "program": "tupleAssignability.ts"
3530                          }
3531                        }
3532                      },
3533                      {
3534                        "type": "TSNamedTupleMember",
3535                        "elementType": {
3536                          "type": "TSArrayType",
3537                          "elementType": {
3538                            "type": "TSBooleanKeyword",
3539                            "loc": {
3540                              "start": {
3541                                "line": 40,
3542                                "column": 93,
3543                                "program": "tupleAssignability.ts"
3544                              },
3545                              "end": {
3546                                "line": 40,
3547                                "column": 100,
3548                                "program": "tupleAssignability.ts"
3549                              }
3550                            }
3551                          },
3552                          "annotations": [],
3553                          "loc": {
3554                            "start": {
3555                              "line": 40,
3556                              "column": 93,
3557                              "program": "tupleAssignability.ts"
3558                            },
3559                            "end": {
3560                              "line": 40,
3561                              "column": 102,
3562                              "program": "tupleAssignability.ts"
3563                            }
3564                          }
3565                        },
3566                        "label": {
3567                          "type": "Identifier",
3568                          "name": "b",
3569                          "decorators": [],
3570                          "loc": {
3571                            "start": {
3572                              "line": 40,
3573                              "column": 89,
3574                              "program": "tupleAssignability.ts"
3575                            },
3576                            "end": {
3577                              "line": 40,
3578                              "column": 90,
3579                              "program": "tupleAssignability.ts"
3580                            }
3581                          }
3582                        },
3583                        "optional": true,
3584                        "loc": {
3585                          "start": {
3586                            "line": 40,
3587                            "column": 89,
3588                            "program": "tupleAssignability.ts"
3589                          },
3590                          "end": {
3591                            "line": 40,
3592                            "column": 103,
3593                            "program": "tupleAssignability.ts"
3594                          }
3595                        }
3596                      }
3597                    ],
3598                    "loc": {
3599                      "start": {
3600                        "line": 40,
3601                        "column": 77,
3602                        "program": "tupleAssignability.ts"
3603                      },
3604                      "end": {
3605                        "line": 40,
3606                        "column": 103,
3607                        "program": "tupleAssignability.ts"
3608                      }
3609                    }
3610                  },
3611                  "label": {
3612                    "type": "Identifier",
3613                    "name": "b",
3614                    "decorators": [],
3615                    "loc": {
3616                      "start": {
3617                        "line": 40,
3618                        "column": 73,
3619                        "program": "tupleAssignability.ts"
3620                      },
3621                      "end": {
3622                        "line": 40,
3623                        "column": 74,
3624                        "program": "tupleAssignability.ts"
3625                      }
3626                    }
3627                  },
3628                  "optional": true,
3629                  "loc": {
3630                    "start": {
3631                      "line": 40,
3632                      "column": 73,
3633                      "program": "tupleAssignability.ts"
3634                    },
3635                    "end": {
3636                      "line": 40,
3637                      "column": 104,
3638                      "program": "tupleAssignability.ts"
3639                    }
3640                  }
3641                },
3642                {
3643                  "type": "TSNamedTupleMember",
3644                  "elementType": {
3645                    "type": "TSBooleanKeyword",
3646                    "loc": {
3647                      "start": {
3648                        "line": 40,
3649                        "column": 109,
3650                        "program": "tupleAssignability.ts"
3651                      },
3652                      "end": {
3653                        "line": 40,
3654                        "column": 116,
3655                        "program": "tupleAssignability.ts"
3656                      }
3657                    }
3658                  },
3659                  "label": {
3660                    "type": "Identifier",
3661                    "name": "c",
3662                    "decorators": [],
3663                    "loc": {
3664                      "start": {
3665                        "line": 40,
3666                        "column": 105,
3667                        "program": "tupleAssignability.ts"
3668                      },
3669                      "end": {
3670                        "line": 40,
3671                        "column": 106,
3672                        "program": "tupleAssignability.ts"
3673                      }
3674                    }
3675                  },
3676                  "optional": true,
3677                  "loc": {
3678                    "start": {
3679                      "line": 40,
3680                      "column": 105,
3681                      "program": "tupleAssignability.ts"
3682                    },
3683                    "end": {
3684                      "line": 40,
3685                      "column": 117,
3686                      "program": "tupleAssignability.ts"
3687                    }
3688                  }
3689                }
3690              ],
3691              "loc": {
3692                "start": {
3693                  "line": 40,
3694                  "column": 50,
3695                  "program": "tupleAssignability.ts"
3696                },
3697                "end": {
3698                  "line": 40,
3699                  "column": 117,
3700                  "program": "tupleAssignability.ts"
3701                }
3702              }
3703            },
3704            "loc": {
3705              "start": {
3706                "line": 40,
3707                "column": 15,
3708                "program": "tupleAssignability.ts"
3709              },
3710              "end": {
3711                "line": 40,
3712                "column": 118,
3713                "program": "tupleAssignability.ts"
3714              }
3715            }
3716          },
3717          "loc": {
3718            "start": {
3719              "line": 40,
3720              "column": 5,
3721              "program": "tupleAssignability.ts"
3722            },
3723            "end": {
3724              "line": 40,
3725              "column": 118,
3726              "program": "tupleAssignability.ts"
3727            }
3728          }
3729        }
3730      ],
3731      "kind": "var",
3732      "loc": {
3733        "start": {
3734          "line": 40,
3735          "column": 1,
3736          "program": "tupleAssignability.ts"
3737        },
3738        "end": {
3739          "line": 40,
3740          "column": 118,
3741          "program": "tupleAssignability.ts"
3742        }
3743      }
3744    },
3745    {
3746      "type": "ExpressionStatement",
3747      "expression": {
3748        "type": "AssignmentExpression",
3749        "operator": "=",
3750        "left": {
3751          "type": "Identifier",
3752          "name": "tuple14",
3753          "decorators": [],
3754          "loc": {
3755            "start": {
3756              "line": 41,
3757              "column": 1,
3758              "program": "tupleAssignability.ts"
3759            },
3760            "end": {
3761              "line": 41,
3762              "column": 8,
3763              "program": "tupleAssignability.ts"
3764            }
3765          }
3766        },
3767        "right": {
3768          "type": "ArrayExpression",
3769          "elements": [],
3770          "loc": {
3771            "start": {
3772              "line": 41,
3773              "column": 11,
3774              "program": "tupleAssignability.ts"
3775            },
3776            "end": {
3777              "line": 41,
3778              "column": 13,
3779              "program": "tupleAssignability.ts"
3780            }
3781          }
3782        },
3783        "loc": {
3784          "start": {
3785            "line": 41,
3786            "column": 1,
3787            "program": "tupleAssignability.ts"
3788          },
3789          "end": {
3790            "line": 41,
3791            "column": 13,
3792            "program": "tupleAssignability.ts"
3793          }
3794        }
3795      },
3796      "loc": {
3797        "start": {
3798          "line": 41,
3799          "column": 1,
3800          "program": "tupleAssignability.ts"
3801        },
3802        "end": {
3803          "line": 41,
3804          "column": 14,
3805          "program": "tupleAssignability.ts"
3806        }
3807      }
3808    },
3809    {
3810      "type": "ExpressionStatement",
3811      "expression": {
3812        "type": "AssignmentExpression",
3813        "operator": "=",
3814        "left": {
3815          "type": "Identifier",
3816          "name": "tuple14",
3817          "decorators": [],
3818          "loc": {
3819            "start": {
3820              "line": 42,
3821              "column": 1,
3822              "program": "tupleAssignability.ts"
3823            },
3824            "end": {
3825              "line": 42,
3826              "column": 8,
3827              "program": "tupleAssignability.ts"
3828            }
3829          }
3830        },
3831        "right": {
3832          "type": "ArrayExpression",
3833          "elements": [
3834            {
3835              "type": "ArrayExpression",
3836              "elements": [
3837                {
3838                  "type": "NumberLiteral",
3839                  "value": 1,
3840                  "loc": {
3841                    "start": {
3842                      "line": 42,
3843                      "column": 13,
3844                      "program": "tupleAssignability.ts"
3845                    },
3846                    "end": {
3847                      "line": 42,
3848                      "column": 14,
3849                      "program": "tupleAssignability.ts"
3850                    }
3851                  }
3852                },
3853                {
3854                  "type": "NumberLiteral",
3855                  "value": 2,
3856                  "loc": {
3857                    "start": {
3858                      "line": 42,
3859                      "column": 16,
3860                      "program": "tupleAssignability.ts"
3861                    },
3862                    "end": {
3863                      "line": 42,
3864                      "column": 17,
3865                      "program": "tupleAssignability.ts"
3866                    }
3867                  }
3868                }
3869              ],
3870              "loc": {
3871                "start": {
3872                  "line": 42,
3873                  "column": 12,
3874                  "program": "tupleAssignability.ts"
3875                },
3876                "end": {
3877                  "line": 42,
3878                  "column": 18,
3879                  "program": "tupleAssignability.ts"
3880                }
3881              }
3882            }
3883          ],
3884          "loc": {
3885            "start": {
3886              "line": 42,
3887              "column": 11,
3888              "program": "tupleAssignability.ts"
3889            },
3890            "end": {
3891              "line": 42,
3892              "column": 19,
3893              "program": "tupleAssignability.ts"
3894            }
3895          }
3896        },
3897        "loc": {
3898          "start": {
3899            "line": 42,
3900            "column": 1,
3901            "program": "tupleAssignability.ts"
3902          },
3903          "end": {
3904            "line": 42,
3905            "column": 19,
3906            "program": "tupleAssignability.ts"
3907          }
3908        }
3909      },
3910      "loc": {
3911        "start": {
3912          "line": 42,
3913          "column": 1,
3914          "program": "tupleAssignability.ts"
3915        },
3916        "end": {
3917          "line": 42,
3918          "column": 20,
3919          "program": "tupleAssignability.ts"
3920        }
3921      }
3922    },
3923    {
3924      "type": "ExpressionStatement",
3925      "expression": {
3926        "type": "AssignmentExpression",
3927        "operator": "=",
3928        "left": {
3929          "type": "Identifier",
3930          "name": "tuple14",
3931          "decorators": [],
3932          "loc": {
3933            "start": {
3934              "line": 43,
3935              "column": 1,
3936              "program": "tupleAssignability.ts"
3937            },
3938            "end": {
3939              "line": 43,
3940              "column": 8,
3941              "program": "tupleAssignability.ts"
3942            }
3943          }
3944        },
3945        "right": {
3946          "type": "ArrayExpression",
3947          "elements": [
3948            {
3949              "type": "ArrayExpression",
3950              "elements": [
3951                {
3952                  "type": "NumberLiteral",
3953                  "value": 3,
3954                  "loc": {
3955                    "start": {
3956                      "line": 43,
3957                      "column": 13,
3958                      "program": "tupleAssignability.ts"
3959                    },
3960                    "end": {
3961                      "line": 43,
3962                      "column": 14,
3963                      "program": "tupleAssignability.ts"
3964                    }
3965                  }
3966                },
3967                {
3968                  "type": "NumberLiteral",
3969                  "value": 4,
3970                  "loc": {
3971                    "start": {
3972                      "line": 43,
3973                      "column": 16,
3974                      "program": "tupleAssignability.ts"
3975                    },
3976                    "end": {
3977                      "line": 43,
3978                      "column": 17,
3979                      "program": "tupleAssignability.ts"
3980                    }
3981                  }
3982                }
3983              ],
3984              "loc": {
3985                "start": {
3986                  "line": 43,
3987                  "column": 12,
3988                  "program": "tupleAssignability.ts"
3989                },
3990                "end": {
3991                  "line": 43,
3992                  "column": 18,
3993                  "program": "tupleAssignability.ts"
3994                }
3995              }
3996            },
3997            {
3998              "type": "ArrayExpression",
3999              "elements": [
4000                {
4001                  "type": "NumberLiteral",
4002                  "value": 5,
4003                  "loc": {
4004                    "start": {
4005                      "line": 43,
4006                      "column": 21,
4007                      "program": "tupleAssignability.ts"
4008                    },
4009                    "end": {
4010                      "line": 43,
4011                      "column": 22,
4012                      "program": "tupleAssignability.ts"
4013                    }
4014                  }
4015                }
4016              ],
4017              "loc": {
4018                "start": {
4019                  "line": 43,
4020                  "column": 20,
4021                  "program": "tupleAssignability.ts"
4022                },
4023                "end": {
4024                  "line": 43,
4025                  "column": 23,
4026                  "program": "tupleAssignability.ts"
4027                }
4028              }
4029            }
4030          ],
4031          "loc": {
4032            "start": {
4033              "line": 43,
4034              "column": 11,
4035              "program": "tupleAssignability.ts"
4036            },
4037            "end": {
4038              "line": 43,
4039              "column": 24,
4040              "program": "tupleAssignability.ts"
4041            }
4042          }
4043        },
4044        "loc": {
4045          "start": {
4046            "line": 43,
4047            "column": 1,
4048            "program": "tupleAssignability.ts"
4049          },
4050          "end": {
4051            "line": 43,
4052            "column": 24,
4053            "program": "tupleAssignability.ts"
4054          }
4055        }
4056      },
4057      "loc": {
4058        "start": {
4059          "line": 43,
4060          "column": 1,
4061          "program": "tupleAssignability.ts"
4062        },
4063        "end": {
4064          "line": 43,
4065          "column": 25,
4066          "program": "tupleAssignability.ts"
4067        }
4068      }
4069    },
4070    {
4071      "type": "ExpressionStatement",
4072      "expression": {
4073        "type": "AssignmentExpression",
4074        "operator": "=",
4075        "left": {
4076          "type": "Identifier",
4077          "name": "tuple14",
4078          "decorators": [],
4079          "loc": {
4080            "start": {
4081              "line": 44,
4082              "column": 1,
4083              "program": "tupleAssignability.ts"
4084            },
4085            "end": {
4086              "line": 44,
4087              "column": 8,
4088              "program": "tupleAssignability.ts"
4089            }
4090          }
4091        },
4092        "right": {
4093          "type": "ArrayExpression",
4094          "elements": [
4095            {
4096              "type": "ArrayExpression",
4097              "elements": [
4098                {
4099                  "type": "NumberLiteral",
4100                  "value": 6,
4101                  "loc": {
4102                    "start": {
4103                      "line": 44,
4104                      "column": 13,
4105                      "program": "tupleAssignability.ts"
4106                    },
4107                    "end": {
4108                      "line": 44,
4109                      "column": 14,
4110                      "program": "tupleAssignability.ts"
4111                    }
4112                  }
4113                },
4114                {
4115                  "type": "NumberLiteral",
4116                  "value": 7,
4117                  "loc": {
4118                    "start": {
4119                      "line": 44,
4120                      "column": 16,
4121                      "program": "tupleAssignability.ts"
4122                    },
4123                    "end": {
4124                      "line": 44,
4125                      "column": 17,
4126                      "program": "tupleAssignability.ts"
4127                    }
4128                  }
4129                }
4130              ],
4131              "loc": {
4132                "start": {
4133                  "line": 44,
4134                  "column": 12,
4135                  "program": "tupleAssignability.ts"
4136                },
4137                "end": {
4138                  "line": 44,
4139                  "column": 18,
4140                  "program": "tupleAssignability.ts"
4141                }
4142              }
4143            },
4144            {
4145              "type": "ArrayExpression",
4146              "elements": [
4147                {
4148                  "type": "NumberLiteral",
4149                  "value": 8,
4150                  "loc": {
4151                    "start": {
4152                      "line": 44,
4153                      "column": 21,
4154                      "program": "tupleAssignability.ts"
4155                    },
4156                    "end": {
4157                      "line": 44,
4158                      "column": 22,
4159                      "program": "tupleAssignability.ts"
4160                    }
4161                  }
4162                },
4163                {
4164                  "type": "ArrayExpression",
4165                  "elements": [
4166                    {
4167                      "type": "BooleanLiteral",
4168                      "value": true,
4169                      "loc": {
4170                        "start": {
4171                          "line": 44,
4172                          "column": 25,
4173                          "program": "tupleAssignability.ts"
4174                        },
4175                        "end": {
4176                          "line": 44,
4177                          "column": 29,
4178                          "program": "tupleAssignability.ts"
4179                        }
4180                      }
4181                    },
4182                    {
4183                      "type": "BooleanLiteral",
4184                      "value": false,
4185                      "loc": {
4186                        "start": {
4187                          "line": 44,
4188                          "column": 31,
4189                          "program": "tupleAssignability.ts"
4190                        },
4191                        "end": {
4192                          "line": 44,
4193                          "column": 36,
4194                          "program": "tupleAssignability.ts"
4195                        }
4196                      }
4197                    }
4198                  ],
4199                  "loc": {
4200                    "start": {
4201                      "line": 44,
4202                      "column": 24,
4203                      "program": "tupleAssignability.ts"
4204                    },
4205                    "end": {
4206                      "line": 44,
4207                      "column": 37,
4208                      "program": "tupleAssignability.ts"
4209                    }
4210                  }
4211                }
4212              ],
4213              "loc": {
4214                "start": {
4215                  "line": 44,
4216                  "column": 20,
4217                  "program": "tupleAssignability.ts"
4218                },
4219                "end": {
4220                  "line": 44,
4221                  "column": 38,
4222                  "program": "tupleAssignability.ts"
4223                }
4224              }
4225            }
4226          ],
4227          "loc": {
4228            "start": {
4229              "line": 44,
4230              "column": 11,
4231              "program": "tupleAssignability.ts"
4232            },
4233            "end": {
4234              "line": 44,
4235              "column": 39,
4236              "program": "tupleAssignability.ts"
4237            }
4238          }
4239        },
4240        "loc": {
4241          "start": {
4242            "line": 44,
4243            "column": 1,
4244            "program": "tupleAssignability.ts"
4245          },
4246          "end": {
4247            "line": 44,
4248            "column": 39,
4249            "program": "tupleAssignability.ts"
4250          }
4251        }
4252      },
4253      "loc": {
4254        "start": {
4255          "line": 44,
4256          "column": 1,
4257          "program": "tupleAssignability.ts"
4258        },
4259        "end": {
4260          "line": 44,
4261          "column": 40,
4262          "program": "tupleAssignability.ts"
4263        }
4264      }
4265    },
4266    {
4267      "type": "ExpressionStatement",
4268      "expression": {
4269        "type": "AssignmentExpression",
4270        "operator": "=",
4271        "left": {
4272          "type": "Identifier",
4273          "name": "tuple14",
4274          "decorators": [],
4275          "loc": {
4276            "start": {
4277              "line": 45,
4278              "column": 1,
4279              "program": "tupleAssignability.ts"
4280            },
4281            "end": {
4282              "line": 45,
4283              "column": 8,
4284              "program": "tupleAssignability.ts"
4285            }
4286          }
4287        },
4288        "right": {
4289          "type": "ArrayExpression",
4290          "elements": [
4291            {
4292              "type": "ArrayExpression",
4293              "elements": [
4294                {
4295                  "type": "NumberLiteral",
4296                  "value": 9,
4297                  "loc": {
4298                    "start": {
4299                      "line": 45,
4300                      "column": 13,
4301                      "program": "tupleAssignability.ts"
4302                    },
4303                    "end": {
4304                      "line": 45,
4305                      "column": 14,
4306                      "program": "tupleAssignability.ts"
4307                    }
4308                  }
4309                },
4310                {
4311                  "type": "NumberLiteral",
4312                  "value": 10,
4313                  "loc": {
4314                    "start": {
4315                      "line": 45,
4316                      "column": 16,
4317                      "program": "tupleAssignability.ts"
4318                    },
4319                    "end": {
4320                      "line": 45,
4321                      "column": 18,
4322                      "program": "tupleAssignability.ts"
4323                    }
4324                  }
4325                }
4326              ],
4327              "loc": {
4328                "start": {
4329                  "line": 45,
4330                  "column": 12,
4331                  "program": "tupleAssignability.ts"
4332                },
4333                "end": {
4334                  "line": 45,
4335                  "column": 19,
4336                  "program": "tupleAssignability.ts"
4337                }
4338              }
4339            },
4340            {
4341              "type": "ArrayExpression",
4342              "elements": [
4343                {
4344                  "type": "NumberLiteral",
4345                  "value": 11,
4346                  "loc": {
4347                    "start": {
4348                      "line": 45,
4349                      "column": 22,
4350                      "program": "tupleAssignability.ts"
4351                    },
4352                    "end": {
4353                      "line": 45,
4354                      "column": 24,
4355                      "program": "tupleAssignability.ts"
4356                    }
4357                  }
4358                },
4359                {
4360                  "type": "ArrayExpression",
4361                  "elements": [
4362                    {
4363                      "type": "BooleanLiteral",
4364                      "value": true,
4365                      "loc": {
4366                        "start": {
4367                          "line": 45,
4368                          "column": 27,
4369                          "program": "tupleAssignability.ts"
4370                        },
4371                        "end": {
4372                          "line": 45,
4373                          "column": 31,
4374                          "program": "tupleAssignability.ts"
4375                        }
4376                      }
4377                    },
4378                    {
4379                      "type": "BooleanLiteral",
4380                      "value": false,
4381                      "loc": {
4382                        "start": {
4383                          "line": 45,
4384                          "column": 33,
4385                          "program": "tupleAssignability.ts"
4386                        },
4387                        "end": {
4388                          "line": 45,
4389                          "column": 38,
4390                          "program": "tupleAssignability.ts"
4391                        }
4392                      }
4393                    }
4394                  ],
4395                  "loc": {
4396                    "start": {
4397                      "line": 45,
4398                      "column": 26,
4399                      "program": "tupleAssignability.ts"
4400                    },
4401                    "end": {
4402                      "line": 45,
4403                      "column": 39,
4404                      "program": "tupleAssignability.ts"
4405                    }
4406                  }
4407                }
4408              ],
4409              "loc": {
4410                "start": {
4411                  "line": 45,
4412                  "column": 21,
4413                  "program": "tupleAssignability.ts"
4414                },
4415                "end": {
4416                  "line": 45,
4417                  "column": 40,
4418                  "program": "tupleAssignability.ts"
4419                }
4420              }
4421            },
4422            {
4423              "type": "BooleanLiteral",
4424              "value": true,
4425              "loc": {
4426                "start": {
4427                  "line": 45,
4428                  "column": 42,
4429                  "program": "tupleAssignability.ts"
4430                },
4431                "end": {
4432                  "line": 45,
4433                  "column": 46,
4434                  "program": "tupleAssignability.ts"
4435                }
4436              }
4437            }
4438          ],
4439          "loc": {
4440            "start": {
4441              "line": 45,
4442              "column": 11,
4443              "program": "tupleAssignability.ts"
4444            },
4445            "end": {
4446              "line": 45,
4447              "column": 47,
4448              "program": "tupleAssignability.ts"
4449            }
4450          }
4451        },
4452        "loc": {
4453          "start": {
4454            "line": 45,
4455            "column": 1,
4456            "program": "tupleAssignability.ts"
4457          },
4458          "end": {
4459            "line": 45,
4460            "column": 47,
4461            "program": "tupleAssignability.ts"
4462          }
4463        }
4464      },
4465      "loc": {
4466        "start": {
4467          "line": 45,
4468          "column": 1,
4469          "program": "tupleAssignability.ts"
4470        },
4471        "end": {
4472          "line": 45,
4473          "column": 48,
4474          "program": "tupleAssignability.ts"
4475        }
4476      }
4477    },
4478    {
4479      "type": "FunctionDeclaration",
4480      "function": {
4481        "type": "ScriptFunction",
4482        "id": {
4483          "type": "Identifier",
4484          "name": "func1",
4485          "decorators": [],
4486          "loc": {
4487            "start": {
4488              "line": 47,
4489              "column": 10,
4490              "program": "tupleAssignability.ts"
4491            },
4492            "end": {
4493              "line": 47,
4494              "column": 15,
4495              "program": "tupleAssignability.ts"
4496            }
4497          }
4498        },
4499        "generator": false,
4500        "async": false,
4501        "expression": false,
4502        "params": [
4503          {
4504            "type": "Identifier",
4505            "name": "a",
4506            "typeAnnotation": {
4507              "type": "TSNumberKeyword",
4508              "loc": {
4509                "start": {
4510                  "line": 47,
4511                  "column": 19,
4512                  "program": "tupleAssignability.ts"
4513                },
4514                "end": {
4515                  "line": 47,
4516                  "column": 25,
4517                  "program": "tupleAssignability.ts"
4518                }
4519              }
4520            },
4521            "decorators": [],
4522            "loc": {
4523              "start": {
4524                "line": 47,
4525                "column": 16,
4526                "program": "tupleAssignability.ts"
4527              },
4528              "end": {
4529                "line": 47,
4530                "column": 17,
4531                "program": "tupleAssignability.ts"
4532              }
4533            }
4534          },
4535          {
4536            "type": "Identifier",
4537            "name": "b",
4538            "typeAnnotation": {
4539              "type": "TSStringKeyword",
4540              "loc": {
4541                "start": {
4542                  "line": 47,
4543                  "column": 30,
4544                  "program": "tupleAssignability.ts"
4545                },
4546                "end": {
4547                  "line": 47,
4548                  "column": 36,
4549                  "program": "tupleAssignability.ts"
4550                }
4551              }
4552            },
4553            "decorators": [],
4554            "loc": {
4555              "start": {
4556                "line": 47,
4557                "column": 27,
4558                "program": "tupleAssignability.ts"
4559              },
4560              "end": {
4561                "line": 47,
4562                "column": 28,
4563                "program": "tupleAssignability.ts"
4564              }
4565            }
4566          }
4567        ],
4568        "returnType": {
4569          "type": "TSTupleType",
4570          "elementTypes": [
4571            {
4572              "type": "TSNamedTupleMember",
4573              "elementType": {
4574                "type": "TSNumberKeyword",
4575                "loc": {
4576                  "start": {
4577                    "line": 47,
4578                    "column": 43,
4579                    "program": "tupleAssignability.ts"
4580                  },
4581                  "end": {
4582                    "line": 47,
4583                    "column": 49,
4584                    "program": "tupleAssignability.ts"
4585                  }
4586                }
4587              },
4588              "label": {
4589                "type": "Identifier",
4590                "name": "a",
4591                "decorators": [],
4592                "loc": {
4593                  "start": {
4594                    "line": 47,
4595                    "column": 40,
4596                    "program": "tupleAssignability.ts"
4597                  },
4598                  "end": {
4599                    "line": 47,
4600                    "column": 41,
4601                    "program": "tupleAssignability.ts"
4602                  }
4603                }
4604              },
4605              "loc": {
4606                "start": {
4607                  "line": 47,
4608                  "column": 40,
4609                  "program": "tupleAssignability.ts"
4610                },
4611                "end": {
4612                  "line": 47,
4613                  "column": 50,
4614                  "program": "tupleAssignability.ts"
4615                }
4616              }
4617            },
4618            {
4619              "type": "TSNamedTupleMember",
4620              "elementType": {
4621                "type": "TSArrayType",
4622                "elementType": {
4623                  "type": "TSBooleanKeyword",
4624                  "loc": {
4625                    "start": {
4626                      "line": 47,
4627                      "column": 55,
4628                      "program": "tupleAssignability.ts"
4629                    },
4630                    "end": {
4631                      "line": 47,
4632                      "column": 62,
4633                      "program": "tupleAssignability.ts"
4634                    }
4635                  }
4636                },
4637                "annotations": [],
4638                "loc": {
4639                  "start": {
4640                    "line": 47,
4641                    "column": 55,
4642                    "program": "tupleAssignability.ts"
4643                  },
4644                  "end": {
4645                    "line": 47,
4646                    "column": 64,
4647                    "program": "tupleAssignability.ts"
4648                  }
4649                }
4650              },
4651              "label": {
4652                "type": "Identifier",
4653                "name": "b",
4654                "decorators": [],
4655                "loc": {
4656                  "start": {
4657                    "line": 47,
4658                    "column": 51,
4659                    "program": "tupleAssignability.ts"
4660                  },
4661                  "end": {
4662                    "line": 47,
4663                    "column": 52,
4664                    "program": "tupleAssignability.ts"
4665                  }
4666                }
4667              },
4668              "optional": true,
4669              "loc": {
4670                "start": {
4671                  "line": 47,
4672                  "column": 51,
4673                  "program": "tupleAssignability.ts"
4674                },
4675                "end": {
4676                  "line": 47,
4677                  "column": 65,
4678                  "program": "tupleAssignability.ts"
4679                }
4680              }
4681            }
4682          ],
4683          "loc": {
4684            "start": {
4685              "line": 47,
4686              "column": 39,
4687              "program": "tupleAssignability.ts"
4688            },
4689            "end": {
4690              "line": 47,
4691              "column": 65,
4692              "program": "tupleAssignability.ts"
4693            }
4694          }
4695        },
4696        "body": {
4697          "type": "BlockStatement",
4698          "statements": [
4699            {
4700              "type": "VariableDeclaration",
4701              "declarations": [
4702                {
4703                  "type": "VariableDeclarator",
4704                  "id": {
4705                    "type": "Identifier",
4706                    "name": "tuple15",
4707                    "typeAnnotation": {
4708                      "type": "TSTupleType",
4709                      "elementTypes": [
4710                        {
4711                          "type": "TSNumberKeyword",
4712                          "loc": {
4713                            "start": {
4714                              "line": 48,
4715                              "column": 19,
4716                              "program": "tupleAssignability.ts"
4717                            },
4718                            "end": {
4719                              "line": 48,
4720                              "column": 26,
4721                              "program": "tupleAssignability.ts"
4722                            }
4723                          }
4724                        }
4725                      ],
4726                      "loc": {
4727                        "start": {
4728                          "line": 48,
4729                          "column": 18,
4730                          "program": "tupleAssignability.ts"
4731                        },
4732                        "end": {
4733                          "line": 48,
4734                          "column": 26,
4735                          "program": "tupleAssignability.ts"
4736                        }
4737                      }
4738                    },
4739                    "decorators": [],
4740                    "loc": {
4741                      "start": {
4742                        "line": 48,
4743                        "column": 9,
4744                        "program": "tupleAssignability.ts"
4745                      },
4746                      "end": {
4747                        "line": 48,
4748                        "column": 16,
4749                        "program": "tupleAssignability.ts"
4750                      }
4751                    }
4752                  },
4753                  "init": null,
4754                  "loc": {
4755                    "start": {
4756                      "line": 48,
4757                      "column": 9,
4758                      "program": "tupleAssignability.ts"
4759                    },
4760                    "end": {
4761                      "line": 48,
4762                      "column": 16,
4763                      "program": "tupleAssignability.ts"
4764                    }
4765                  }
4766                }
4767              ],
4768              "kind": "var",
4769              "loc": {
4770                "start": {
4771                  "line": 48,
4772                  "column": 5,
4773                  "program": "tupleAssignability.ts"
4774                },
4775                "end": {
4776                  "line": 48,
4777                  "column": 27,
4778                  "program": "tupleAssignability.ts"
4779                }
4780              }
4781            },
4782            {
4783              "type": "ExpressionStatement",
4784              "expression": {
4785                "type": "AssignmentExpression",
4786                "operator": "=",
4787                "left": {
4788                  "type": "Identifier",
4789                  "name": "tuple15",
4790                  "decorators": [],
4791                  "loc": {
4792                    "start": {
4793                      "line": 49,
4794                      "column": 5,
4795                      "program": "tupleAssignability.ts"
4796                    },
4797                    "end": {
4798                      "line": 49,
4799                      "column": 12,
4800                      "program": "tupleAssignability.ts"
4801                    }
4802                  }
4803                },
4804                "right": {
4805                  "type": "ArrayExpression",
4806                  "elements": [
4807                    {
4808                      "type": "NumberLiteral",
4809                      "value": 123,
4810                      "loc": {
4811                        "start": {
4812                          "line": 49,
4813                          "column": 16,
4814                          "program": "tupleAssignability.ts"
4815                        },
4816                        "end": {
4817                          "line": 49,
4818                          "column": 19,
4819                          "program": "tupleAssignability.ts"
4820                        }
4821                      }
4822                    }
4823                  ],
4824                  "loc": {
4825                    "start": {
4826                      "line": 49,
4827                      "column": 15,
4828                      "program": "tupleAssignability.ts"
4829                    },
4830                    "end": {
4831                      "line": 49,
4832                      "column": 20,
4833                      "program": "tupleAssignability.ts"
4834                    }
4835                  }
4836                },
4837                "loc": {
4838                  "start": {
4839                    "line": 49,
4840                    "column": 5,
4841                    "program": "tupleAssignability.ts"
4842                  },
4843                  "end": {
4844                    "line": 49,
4845                    "column": 20,
4846                    "program": "tupleAssignability.ts"
4847                  }
4848                }
4849              },
4850              "loc": {
4851                "start": {
4852                  "line": 49,
4853                  "column": 5,
4854                  "program": "tupleAssignability.ts"
4855                },
4856                "end": {
4857                  "line": 49,
4858                  "column": 21,
4859                  "program": "tupleAssignability.ts"
4860                }
4861              }
4862            },
4863            {
4864              "type": "ReturnStatement",
4865              "argument": {
4866                "type": "Identifier",
4867                "name": "tuple15",
4868                "decorators": [],
4869                "loc": {
4870                  "start": {
4871                    "line": 50,
4872                    "column": 12,
4873                    "program": "tupleAssignability.ts"
4874                  },
4875                  "end": {
4876                    "line": 50,
4877                    "column": 19,
4878                    "program": "tupleAssignability.ts"
4879                  }
4880                }
4881              },
4882              "loc": {
4883                "start": {
4884                  "line": 50,
4885                  "column": 5,
4886                  "program": "tupleAssignability.ts"
4887                },
4888                "end": {
4889                  "line": 50,
4890                  "column": 20,
4891                  "program": "tupleAssignability.ts"
4892                }
4893              }
4894            }
4895          ],
4896          "loc": {
4897            "start": {
4898              "line": 47,
4899              "column": 66,
4900              "program": "tupleAssignability.ts"
4901            },
4902            "end": {
4903              "line": 51,
4904              "column": 2,
4905              "program": "tupleAssignability.ts"
4906            }
4907          }
4908        },
4909        "loc": {
4910          "start": {
4911            "line": 47,
4912            "column": 1,
4913            "program": "tupleAssignability.ts"
4914          },
4915          "end": {
4916            "line": 51,
4917            "column": 2,
4918            "program": "tupleAssignability.ts"
4919          }
4920        }
4921      },
4922      "loc": {
4923        "start": {
4924          "line": 47,
4925          "column": 1,
4926          "program": "tupleAssignability.ts"
4927        },
4928        "end": {
4929          "line": 51,
4930          "column": 2,
4931          "program": "tupleAssignability.ts"
4932        }
4933      }
4934    },
4935    {
4936      "type": "VariableDeclaration",
4937      "declarations": [
4938        {
4939          "type": "VariableDeclarator",
4940          "id": {
4941            "type": "Identifier",
4942            "name": "tuple16",
4943            "typeAnnotation": {
4944              "type": "TSTupleType",
4945              "elementTypes": [
4946                {
4947                  "type": "TSTypeQuery",
4948                  "exprName": {
4949                    "type": "Identifier",
4950                    "name": "tuple10",
4951                    "decorators": [],
4952                    "loc": {
4953                      "start": {
4954                        "line": 53,
4955                        "column": 22,
4956                        "program": "tupleAssignability.ts"
4957                      },
4958                      "end": {
4959                        "line": 53,
4960                        "column": 29,
4961                        "program": "tupleAssignability.ts"
4962                      }
4963                    }
4964                  },
4965                  "loc": {
4966                    "start": {
4967                      "line": 53,
4968                      "column": 15,
4969                      "program": "tupleAssignability.ts"
4970                    },
4971                    "end": {
4972                      "line": 53,
4973                      "column": 30,
4974                      "program": "tupleAssignability.ts"
4975                    }
4976                  }
4977                },
4978                {
4979                  "type": "TSTypeQuery",
4980                  "exprName": {
4981                    "type": "Identifier",
4982                    "name": "tuple1",
4983                    "decorators": [],
4984                    "loc": {
4985                      "start": {
4986                        "line": 53,
4987                        "column": 38,
4988                        "program": "tupleAssignability.ts"
4989                      },
4990                      "end": {
4991                        "line": 53,
4992                        "column": 44,
4993                        "program": "tupleAssignability.ts"
4994                      }
4995                    }
4996                  },
4997                  "loc": {
4998                    "start": {
4999                      "line": 53,
5000                      "column": 31,
5001                      "program": "tupleAssignability.ts"
5002                    },
5003                    "end": {
5004                      "line": 53,
5005                      "column": 45,
5006                      "program": "tupleAssignability.ts"
5007                    }
5008                  }
5009                },
5010                {
5011                  "type": "TSNumberKeyword",
5012                  "loc": {
5013                    "start": {
5014                      "line": 53,
5015                      "column": 46,
5016                      "program": "tupleAssignability.ts"
5017                    },
5018                    "end": {
5019                      "line": 53,
5020                      "column": 53,
5021                      "program": "tupleAssignability.ts"
5022                    }
5023                  }
5024                }
5025              ],
5026              "loc": {
5027                "start": {
5028                  "line": 53,
5029                  "column": 14,
5030                  "program": "tupleAssignability.ts"
5031                },
5032                "end": {
5033                  "line": 53,
5034                  "column": 53,
5035                  "program": "tupleAssignability.ts"
5036                }
5037              }
5038            },
5039            "decorators": [],
5040            "loc": {
5041              "start": {
5042                "line": 53,
5043                "column": 5,
5044                "program": "tupleAssignability.ts"
5045              },
5046              "end": {
5047                "line": 53,
5048                "column": 12,
5049                "program": "tupleAssignability.ts"
5050              }
5051            }
5052          },
5053          "init": null,
5054          "loc": {
5055            "start": {
5056              "line": 53,
5057              "column": 5,
5058              "program": "tupleAssignability.ts"
5059            },
5060            "end": {
5061              "line": 53,
5062              "column": 12,
5063              "program": "tupleAssignability.ts"
5064            }
5065          }
5066        }
5067      ],
5068      "kind": "var",
5069      "loc": {
5070        "start": {
5071          "line": 53,
5072          "column": 1,
5073          "program": "tupleAssignability.ts"
5074        },
5075        "end": {
5076          "line": 53,
5077          "column": 54,
5078          "program": "tupleAssignability.ts"
5079        }
5080      }
5081    },
5082    {
5083      "type": "FunctionDeclaration",
5084      "function": {
5085        "type": "ScriptFunction",
5086        "id": {
5087          "type": "Identifier",
5088          "name": "func2",
5089          "decorators": [],
5090          "loc": {
5091            "start": {
5092              "line": 55,
5093              "column": 10,
5094              "program": "tupleAssignability.ts"
5095            },
5096            "end": {
5097              "line": 55,
5098              "column": 15,
5099              "program": "tupleAssignability.ts"
5100            }
5101          }
5102        },
5103        "generator": false,
5104        "async": false,
5105        "expression": false,
5106        "params": [
5107          {
5108            "type": "Identifier",
5109            "name": "a",
5110            "typeAnnotation": {
5111              "type": "TSTypeQuery",
5112              "exprName": {
5113                "type": "Identifier",
5114                "name": "tuple16",
5115                "decorators": [],
5116                "loc": {
5117                  "start": {
5118                    "line": 55,
5119                    "column": 26,
5120                    "program": "tupleAssignability.ts"
5121                  },
5122                  "end": {
5123                    "line": 55,
5124                    "column": 33,
5125                    "program": "tupleAssignability.ts"
5126                  }
5127                }
5128              },
5129              "loc": {
5130                "start": {
5131                  "line": 55,
5132                  "column": 19,
5133                  "program": "tupleAssignability.ts"
5134                },
5135                "end": {
5136                  "line": 55,
5137                  "column": 33,
5138                  "program": "tupleAssignability.ts"
5139                }
5140              }
5141            },
5142            "decorators": [],
5143            "loc": {
5144              "start": {
5145                "line": 55,
5146                "column": 16,
5147                "program": "tupleAssignability.ts"
5148              },
5149              "end": {
5150                "line": 55,
5151                "column": 17,
5152                "program": "tupleAssignability.ts"
5153              }
5154            }
5155          },
5156          {
5157            "type": "Identifier",
5158            "name": "b",
5159            "typeAnnotation": {
5160              "type": "TSTupleType",
5161              "elementTypes": [
5162                {
5163                  "type": "TSNumberKeyword",
5164                  "loc": {
5165                    "start": {
5166                      "line": 55,
5167                      "column": 40,
5168                      "program": "tupleAssignability.ts"
5169                    },
5170                    "end": {
5171                      "line": 55,
5172                      "column": 47,
5173                      "program": "tupleAssignability.ts"
5174                    }
5175                  }
5176                },
5177                {
5178                  "type": "TSBooleanKeyword",
5179                  "loc": {
5180                    "start": {
5181                      "line": 55,
5182                      "column": 48,
5183                      "program": "tupleAssignability.ts"
5184                    },
5185                    "end": {
5186                      "line": 55,
5187                      "column": 56,
5188                      "program": "tupleAssignability.ts"
5189                    }
5190                  }
5191                }
5192              ],
5193              "loc": {
5194                "start": {
5195                  "line": 55,
5196                  "column": 39,
5197                  "program": "tupleAssignability.ts"
5198                },
5199                "end": {
5200                  "line": 55,
5201                  "column": 56,
5202                  "program": "tupleAssignability.ts"
5203                }
5204              }
5205            },
5206            "optional": true,
5207            "decorators": [],
5208            "loc": {
5209              "start": {
5210                "line": 55,
5211                "column": 35,
5212                "program": "tupleAssignability.ts"
5213              },
5214              "end": {
5215                "line": 55,
5216                "column": 36,
5217                "program": "tupleAssignability.ts"
5218              }
5219            }
5220          }
5221        ],
5222        "returnType": {
5223          "type": "TSTupleType",
5224          "elementTypes": [
5225            {
5226              "type": "TSTypeQuery",
5227              "exprName": {
5228                "type": "Identifier",
5229                "name": "func2",
5230                "decorators": [],
5231                "loc": {
5232                  "start": {
5233                    "line": 55,
5234                    "column": 67,
5235                    "program": "tupleAssignability.ts"
5236                  },
5237                  "end": {
5238                    "line": 55,
5239                    "column": 72,
5240                    "program": "tupleAssignability.ts"
5241                  }
5242                }
5243              },
5244              "loc": {
5245                "start": {
5246                  "line": 55,
5247                  "column": 60,
5248                  "program": "tupleAssignability.ts"
5249                },
5250                "end": {
5251                  "line": 55,
5252                  "column": 73,
5253                  "program": "tupleAssignability.ts"
5254                }
5255              }
5256            },
5257            {
5258              "type": "TSStringKeyword",
5259              "loc": {
5260                "start": {
5261                  "line": 55,
5262                  "column": 74,
5263                  "program": "tupleAssignability.ts"
5264                },
5265                "end": {
5266                  "line": 55,
5267                  "column": 81,
5268                  "program": "tupleAssignability.ts"
5269                }
5270              }
5271            }
5272          ],
5273          "loc": {
5274            "start": {
5275              "line": 55,
5276              "column": 59,
5277              "program": "tupleAssignability.ts"
5278            },
5279            "end": {
5280              "line": 55,
5281              "column": 81,
5282              "program": "tupleAssignability.ts"
5283            }
5284          }
5285        },
5286        "body": {
5287          "type": "BlockStatement",
5288          "statements": [
5289            {
5290              "type": "ReturnStatement",
5291              "argument": {
5292                "type": "ArrayExpression",
5293                "elements": [
5294                  {
5295                    "type": "Identifier",
5296                    "name": "func2",
5297                    "decorators": [],
5298                    "loc": {
5299                      "start": {
5300                        "line": 56,
5301                        "column": 13,
5302                        "program": "tupleAssignability.ts"
5303                      },
5304                      "end": {
5305                        "line": 56,
5306                        "column": 18,
5307                        "program": "tupleAssignability.ts"
5308                      }
5309                    }
5310                  },
5311                  {
5312                    "type": "StringLiteral",
5313                    "value": "foo",
5314                    "loc": {
5315                      "start": {
5316                        "line": 56,
5317                        "column": 20,
5318                        "program": "tupleAssignability.ts"
5319                      },
5320                      "end": {
5321                        "line": 56,
5322                        "column": 25,
5323                        "program": "tupleAssignability.ts"
5324                      }
5325                    }
5326                  }
5327                ],
5328                "loc": {
5329                  "start": {
5330                    "line": 56,
5331                    "column": 12,
5332                    "program": "tupleAssignability.ts"
5333                  },
5334                  "end": {
5335                    "line": 56,
5336                    "column": 26,
5337                    "program": "tupleAssignability.ts"
5338                  }
5339                }
5340              },
5341              "loc": {
5342                "start": {
5343                  "line": 56,
5344                  "column": 5,
5345                  "program": "tupleAssignability.ts"
5346                },
5347                "end": {
5348                  "line": 56,
5349                  "column": 27,
5350                  "program": "tupleAssignability.ts"
5351                }
5352              }
5353            }
5354          ],
5355          "loc": {
5356            "start": {
5357              "line": 55,
5358              "column": 82,
5359              "program": "tupleAssignability.ts"
5360            },
5361            "end": {
5362              "line": 57,
5363              "column": 2,
5364              "program": "tupleAssignability.ts"
5365            }
5366          }
5367        },
5368        "loc": {
5369          "start": {
5370            "line": 55,
5371            "column": 1,
5372            "program": "tupleAssignability.ts"
5373          },
5374          "end": {
5375            "line": 57,
5376            "column": 2,
5377            "program": "tupleAssignability.ts"
5378          }
5379        }
5380      },
5381      "loc": {
5382        "start": {
5383          "line": 55,
5384          "column": 1,
5385          "program": "tupleAssignability.ts"
5386        },
5387        "end": {
5388          "line": 57,
5389          "column": 2,
5390          "program": "tupleAssignability.ts"
5391        }
5392      }
5393    },
5394    {
5395      "type": "VariableDeclaration",
5396      "declarations": [
5397        {
5398          "type": "VariableDeclarator",
5399          "id": {
5400            "type": "Identifier",
5401            "name": "tuple17",
5402            "decorators": [],
5403            "loc": {
5404              "start": {
5405                "line": 59,
5406                "column": 5,
5407                "program": "tupleAssignability.ts"
5408              },
5409              "end": {
5410                "line": 59,
5411                "column": 12,
5412                "program": "tupleAssignability.ts"
5413              }
5414            }
5415          },
5416          "init": {
5417            "type": "CallExpression",
5418            "callee": {
5419              "type": "Identifier",
5420              "name": "func2",
5421              "decorators": [],
5422              "loc": {
5423                "start": {
5424                  "line": 59,
5425                  "column": 15,
5426                  "program": "tupleAssignability.ts"
5427                },
5428                "end": {
5429                  "line": 59,
5430                  "column": 20,
5431                  "program": "tupleAssignability.ts"
5432                }
5433              }
5434            },
5435            "arguments": [
5436              {
5437                "type": "ArrayExpression",
5438                "elements": [
5439                  {
5440                    "type": "ArrayExpression",
5441                    "elements": [
5442                      {
5443                        "type": "NumberLiteral",
5444                        "value": 1,
5445                        "loc": {
5446                          "start": {
5447                            "line": 59,
5448                            "column": 23,
5449                            "program": "tupleAssignability.ts"
5450                          },
5451                          "end": {
5452                            "line": 59,
5453                            "column": 24,
5454                            "program": "tupleAssignability.ts"
5455                          }
5456                        }
5457                      },
5458                      {
5459                        "type": "StringLiteral",
5460                        "value": "foo",
5461                        "loc": {
5462                          "start": {
5463                            "line": 59,
5464                            "column": 26,
5465                            "program": "tupleAssignability.ts"
5466                          },
5467                          "end": {
5468                            "line": 59,
5469                            "column": 31,
5470                            "program": "tupleAssignability.ts"
5471                          }
5472                        }
5473                      },
5474                      {
5475                        "type": "StringLiteral",
5476                        "value": "bar",
5477                        "loc": {
5478                          "start": {
5479                            "line": 59,
5480                            "column": 33,
5481                            "program": "tupleAssignability.ts"
5482                          },
5483                          "end": {
5484                            "line": 59,
5485                            "column": 38,
5486                            "program": "tupleAssignability.ts"
5487                          }
5488                        }
5489                      }
5490                    ],
5491                    "loc": {
5492                      "start": {
5493                        "line": 59,
5494                        "column": 22,
5495                        "program": "tupleAssignability.ts"
5496                      },
5497                      "end": {
5498                        "line": 59,
5499                        "column": 39,
5500                        "program": "tupleAssignability.ts"
5501                      }
5502                    }
5503                  },
5504                  {
5505                    "type": "ArrayExpression",
5506                    "elements": [],
5507                    "loc": {
5508                      "start": {
5509                        "line": 59,
5510                        "column": 41,
5511                        "program": "tupleAssignability.ts"
5512                      },
5513                      "end": {
5514                        "line": 59,
5515                        "column": 43,
5516                        "program": "tupleAssignability.ts"
5517                      }
5518                    }
5519                  },
5520                  {
5521                    "type": "NumberLiteral",
5522                    "value": 2,
5523                    "loc": {
5524                      "start": {
5525                        "line": 59,
5526                        "column": 45,
5527                        "program": "tupleAssignability.ts"
5528                      },
5529                      "end": {
5530                        "line": 59,
5531                        "column": 46,
5532                        "program": "tupleAssignability.ts"
5533                      }
5534                    }
5535                  }
5536                ],
5537                "loc": {
5538                  "start": {
5539                    "line": 59,
5540                    "column": 21,
5541                    "program": "tupleAssignability.ts"
5542                  },
5543                  "end": {
5544                    "line": 59,
5545                    "column": 47,
5546                    "program": "tupleAssignability.ts"
5547                  }
5548                }
5549              }
5550            ],
5551            "optional": false,
5552            "loc": {
5553              "start": {
5554                "line": 59,
5555                "column": 15,
5556                "program": "tupleAssignability.ts"
5557              },
5558              "end": {
5559                "line": 59,
5560                "column": 48,
5561                "program": "tupleAssignability.ts"
5562              }
5563            }
5564          },
5565          "loc": {
5566            "start": {
5567              "line": 59,
5568              "column": 5,
5569              "program": "tupleAssignability.ts"
5570            },
5571            "end": {
5572              "line": 59,
5573              "column": 48,
5574              "program": "tupleAssignability.ts"
5575            }
5576          }
5577        }
5578      ],
5579      "kind": "var",
5580      "loc": {
5581        "start": {
5582          "line": 59,
5583          "column": 1,
5584          "program": "tupleAssignability.ts"
5585        },
5586        "end": {
5587          "line": 59,
5588          "column": 49,
5589          "program": "tupleAssignability.ts"
5590        }
5591      }
5592    },
5593    {
5594      "type": "VariableDeclaration",
5595      "declarations": [
5596        {
5597          "type": "VariableDeclarator",
5598          "id": {
5599            "type": "Identifier",
5600            "name": "tuple18",
5601            "decorators": [],
5602            "loc": {
5603              "start": {
5604                "line": 60,
5605                "column": 5,
5606                "program": "tupleAssignability.ts"
5607              },
5608              "end": {
5609                "line": 60,
5610                "column": 12,
5611                "program": "tupleAssignability.ts"
5612              }
5613            }
5614          },
5615          "init": {
5616            "type": "CallExpression",
5617            "callee": {
5618              "type": "Identifier",
5619              "name": "func2",
5620              "decorators": [],
5621              "loc": {
5622                "start": {
5623                  "line": 60,
5624                  "column": 15,
5625                  "program": "tupleAssignability.ts"
5626                },
5627                "end": {
5628                  "line": 60,
5629                  "column": 20,
5630                  "program": "tupleAssignability.ts"
5631                }
5632              }
5633            },
5634            "arguments": [
5635              {
5636                "type": "ArrayExpression",
5637                "elements": [
5638                  {
5639                    "type": "ArrayExpression",
5640                    "elements": [
5641                      {
5642                        "type": "NumberLiteral",
5643                        "value": 3,
5644                        "loc": {
5645                          "start": {
5646                            "line": 60,
5647                            "column": 23,
5648                            "program": "tupleAssignability.ts"
5649                          },
5650                          "end": {
5651                            "line": 60,
5652                            "column": 24,
5653                            "program": "tupleAssignability.ts"
5654                          }
5655                        }
5656                      },
5657                      {
5658                        "type": "StringLiteral",
5659                        "value": "baz",
5660                        "loc": {
5661                          "start": {
5662                            "line": 60,
5663                            "column": 26,
5664                            "program": "tupleAssignability.ts"
5665                          },
5666                          "end": {
5667                            "line": 60,
5668                            "column": 31,
5669                            "program": "tupleAssignability.ts"
5670                          }
5671                        }
5672                      },
5673                      {
5674                        "type": "StringLiteral",
5675                        "value": "qux",
5676                        "loc": {
5677                          "start": {
5678                            "line": 60,
5679                            "column": 33,
5680                            "program": "tupleAssignability.ts"
5681                          },
5682                          "end": {
5683                            "line": 60,
5684                            "column": 38,
5685                            "program": "tupleAssignability.ts"
5686                          }
5687                        }
5688                      }
5689                    ],
5690                    "loc": {
5691                      "start": {
5692                        "line": 60,
5693                        "column": 22,
5694                        "program": "tupleAssignability.ts"
5695                      },
5696                      "end": {
5697                        "line": 60,
5698                        "column": 39,
5699                        "program": "tupleAssignability.ts"
5700                      }
5701                    }
5702                  },
5703                  {
5704                    "type": "ArrayExpression",
5705                    "elements": [],
5706                    "loc": {
5707                      "start": {
5708                        "line": 60,
5709                        "column": 41,
5710                        "program": "tupleAssignability.ts"
5711                      },
5712                      "end": {
5713                        "line": 60,
5714                        "column": 43,
5715                        "program": "tupleAssignability.ts"
5716                      }
5717                    }
5718                  },
5719                  {
5720                    "type": "NumberLiteral",
5721                    "value": 4,
5722                    "loc": {
5723                      "start": {
5724                        "line": 60,
5725                        "column": 45,
5726                        "program": "tupleAssignability.ts"
5727                      },
5728                      "end": {
5729                        "line": 60,
5730                        "column": 46,
5731                        "program": "tupleAssignability.ts"
5732                      }
5733                    }
5734                  }
5735                ],
5736                "loc": {
5737                  "start": {
5738                    "line": 60,
5739                    "column": 21,
5740                    "program": "tupleAssignability.ts"
5741                  },
5742                  "end": {
5743                    "line": 60,
5744                    "column": 47,
5745                    "program": "tupleAssignability.ts"
5746                  }
5747                }
5748              },
5749              {
5750                "type": "ArrayExpression",
5751                "elements": [
5752                  {
5753                    "type": "NumberLiteral",
5754                    "value": 5,
5755                    "loc": {
5756                      "start": {
5757                        "line": 60,
5758                        "column": 50,
5759                        "program": "tupleAssignability.ts"
5760                      },
5761                      "end": {
5762                        "line": 60,
5763                        "column": 51,
5764                        "program": "tupleAssignability.ts"
5765                      }
5766                    }
5767                  },
5768                  {
5769                    "type": "BooleanLiteral",
5770                    "value": true,
5771                    "loc": {
5772                      "start": {
5773                        "line": 60,
5774                        "column": 53,
5775                        "program": "tupleAssignability.ts"
5776                      },
5777                      "end": {
5778                        "line": 60,
5779                        "column": 57,
5780                        "program": "tupleAssignability.ts"
5781                      }
5782                    }
5783                  }
5784                ],
5785                "loc": {
5786                  "start": {
5787                    "line": 60,
5788                    "column": 49,
5789                    "program": "tupleAssignability.ts"
5790                  },
5791                  "end": {
5792                    "line": 60,
5793                    "column": 58,
5794                    "program": "tupleAssignability.ts"
5795                  }
5796                }
5797              }
5798            ],
5799            "optional": false,
5800            "loc": {
5801              "start": {
5802                "line": 60,
5803                "column": 15,
5804                "program": "tupleAssignability.ts"
5805              },
5806              "end": {
5807                "line": 60,
5808                "column": 59,
5809                "program": "tupleAssignability.ts"
5810              }
5811            }
5812          },
5813          "loc": {
5814            "start": {
5815              "line": 60,
5816              "column": 5,
5817              "program": "tupleAssignability.ts"
5818            },
5819            "end": {
5820              "line": 60,
5821              "column": 59,
5822              "program": "tupleAssignability.ts"
5823            }
5824          }
5825        }
5826      ],
5827      "kind": "var",
5828      "loc": {
5829        "start": {
5830          "line": 60,
5831          "column": 1,
5832          "program": "tupleAssignability.ts"
5833        },
5834        "end": {
5835          "line": 60,
5836          "column": 60,
5837          "program": "tupleAssignability.ts"
5838        }
5839      }
5840    },
5841    {
5842      "type": "VariableDeclaration",
5843      "declarations": [
5844        {
5845          "type": "VariableDeclarator",
5846          "id": {
5847            "type": "Identifier",
5848            "name": "a",
5849            "typeAnnotation": {
5850              "type": "TSStringKeyword",
5851              "loc": {
5852                "start": {
5853                  "line": 62,
5854                  "column": 8,
5855                  "program": "tupleAssignability.ts"
5856                },
5857                "end": {
5858                  "line": 62,
5859                  "column": 14,
5860                  "program": "tupleAssignability.ts"
5861                }
5862              }
5863            },
5864            "decorators": [],
5865            "loc": {
5866              "start": {
5867                "line": 62,
5868                "column": 5,
5869                "program": "tupleAssignability.ts"
5870              },
5871              "end": {
5872                "line": 62,
5873                "column": 6,
5874                "program": "tupleAssignability.ts"
5875              }
5876            }
5877          },
5878          "init": {
5879            "type": "MemberExpression",
5880            "object": {
5881              "type": "Identifier",
5882              "name": "tuple17",
5883              "decorators": [],
5884              "loc": {
5885                "start": {
5886                  "line": 62,
5887                  "column": 17,
5888                  "program": "tupleAssignability.ts"
5889                },
5890                "end": {
5891                  "line": 62,
5892                  "column": 24,
5893                  "program": "tupleAssignability.ts"
5894                }
5895              }
5896            },
5897            "property": {
5898              "type": "NumberLiteral",
5899              "value": 1,
5900              "loc": {
5901                "start": {
5902                  "line": 62,
5903                  "column": 25,
5904                  "program": "tupleAssignability.ts"
5905                },
5906                "end": {
5907                  "line": 62,
5908                  "column": 26,
5909                  "program": "tupleAssignability.ts"
5910                }
5911              }
5912            },
5913            "computed": true,
5914            "optional": false,
5915            "loc": {
5916              "start": {
5917                "line": 62,
5918                "column": 17,
5919                "program": "tupleAssignability.ts"
5920              },
5921              "end": {
5922                "line": 62,
5923                "column": 27,
5924                "program": "tupleAssignability.ts"
5925              }
5926            }
5927          },
5928          "loc": {
5929            "start": {
5930              "line": 62,
5931              "column": 5,
5932              "program": "tupleAssignability.ts"
5933            },
5934            "end": {
5935              "line": 62,
5936              "column": 27,
5937              "program": "tupleAssignability.ts"
5938            }
5939          }
5940        }
5941      ],
5942      "kind": "var",
5943      "loc": {
5944        "start": {
5945          "line": 62,
5946          "column": 1,
5947          "program": "tupleAssignability.ts"
5948        },
5949        "end": {
5950          "line": 62,
5951          "column": 28,
5952          "program": "tupleAssignability.ts"
5953        }
5954      }
5955    },
5956    {
5957      "type": "VariableDeclaration",
5958      "declarations": [
5959        {
5960          "type": "VariableDeclarator",
5961          "id": {
5962            "type": "Identifier",
5963            "name": "b",
5964            "typeAnnotation": {
5965              "type": "TSTypeQuery",
5966              "exprName": {
5967                "type": "Identifier",
5968                "name": "func2",
5969                "decorators": [],
5970                "loc": {
5971                  "start": {
5972                    "line": 63,
5973                    "column": 15,
5974                    "program": "tupleAssignability.ts"
5975                  },
5976                  "end": {
5977                    "line": 63,
5978                    "column": 20,
5979                    "program": "tupleAssignability.ts"
5980                  }
5981                }
5982              },
5983              "loc": {
5984                "start": {
5985                  "line": 63,
5986                  "column": 8,
5987                  "program": "tupleAssignability.ts"
5988                },
5989                "end": {
5990                  "line": 63,
5991                  "column": 20,
5992                  "program": "tupleAssignability.ts"
5993                }
5994              }
5995            },
5996            "decorators": [],
5997            "loc": {
5998              "start": {
5999                "line": 63,
6000                "column": 5,
6001                "program": "tupleAssignability.ts"
6002              },
6003              "end": {
6004                "line": 63,
6005                "column": 6,
6006                "program": "tupleAssignability.ts"
6007              }
6008            }
6009          },
6010          "init": {
6011            "type": "MemberExpression",
6012            "object": {
6013              "type": "Identifier",
6014              "name": "tuple18",
6015              "decorators": [],
6016              "loc": {
6017                "start": {
6018                  "line": 63,
6019                  "column": 23,
6020                  "program": "tupleAssignability.ts"
6021                },
6022                "end": {
6023                  "line": 63,
6024                  "column": 30,
6025                  "program": "tupleAssignability.ts"
6026                }
6027              }
6028            },
6029            "property": {
6030              "type": "NumberLiteral",
6031              "value": 0,
6032              "loc": {
6033                "start": {
6034                  "line": 63,
6035                  "column": 31,
6036                  "program": "tupleAssignability.ts"
6037                },
6038                "end": {
6039                  "line": 63,
6040                  "column": 32,
6041                  "program": "tupleAssignability.ts"
6042                }
6043              }
6044            },
6045            "computed": true,
6046            "optional": false,
6047            "loc": {
6048              "start": {
6049                "line": 63,
6050                "column": 23,
6051                "program": "tupleAssignability.ts"
6052              },
6053              "end": {
6054                "line": 63,
6055                "column": 33,
6056                "program": "tupleAssignability.ts"
6057              }
6058            }
6059          },
6060          "loc": {
6061            "start": {
6062              "line": 63,
6063              "column": 5,
6064              "program": "tupleAssignability.ts"
6065            },
6066            "end": {
6067              "line": 63,
6068              "column": 33,
6069              "program": "tupleAssignability.ts"
6070            }
6071          }
6072        }
6073      ],
6074      "kind": "var",
6075      "loc": {
6076        "start": {
6077          "line": 63,
6078          "column": 1,
6079          "program": "tupleAssignability.ts"
6080        },
6081        "end": {
6082          "line": 63,
6083          "column": 34,
6084          "program": "tupleAssignability.ts"
6085        }
6086      }
6087    },
6088    {
6089      "type": "ExpressionStatement",
6090      "expression": {
6091        "type": "CallExpression",
6092        "callee": {
6093          "type": "Identifier",
6094          "name": "b",
6095          "decorators": [],
6096          "loc": {
6097            "start": {
6098              "line": 64,
6099              "column": 1,
6100              "program": "tupleAssignability.ts"
6101            },
6102            "end": {
6103              "line": 64,
6104              "column": 2,
6105              "program": "tupleAssignability.ts"
6106            }
6107          }
6108        },
6109        "arguments": [
6110          {
6111            "type": "ArrayExpression",
6112            "elements": [
6113              {
6114                "type": "ArrayExpression",
6115                "elements": [
6116                  {
6117                    "type": "NumberLiteral",
6118                    "value": 1,
6119                    "loc": {
6120                      "start": {
6121                        "line": 64,
6122                        "column": 5,
6123                        "program": "tupleAssignability.ts"
6124                      },
6125                      "end": {
6126                        "line": 64,
6127                        "column": 6,
6128                        "program": "tupleAssignability.ts"
6129                      }
6130                    }
6131                  },
6132                  {
6133                    "type": "StringLiteral",
6134                    "value": "foo",
6135                    "loc": {
6136                      "start": {
6137                        "line": 64,
6138                        "column": 8,
6139                        "program": "tupleAssignability.ts"
6140                      },
6141                      "end": {
6142                        "line": 64,
6143                        "column": 13,
6144                        "program": "tupleAssignability.ts"
6145                      }
6146                    }
6147                  },
6148                  {
6149                    "type": "StringLiteral",
6150                    "value": "bar",
6151                    "loc": {
6152                      "start": {
6153                        "line": 64,
6154                        "column": 15,
6155                        "program": "tupleAssignability.ts"
6156                      },
6157                      "end": {
6158                        "line": 64,
6159                        "column": 20,
6160                        "program": "tupleAssignability.ts"
6161                      }
6162                    }
6163                  }
6164                ],
6165                "loc": {
6166                  "start": {
6167                    "line": 64,
6168                    "column": 4,
6169                    "program": "tupleAssignability.ts"
6170                  },
6171                  "end": {
6172                    "line": 64,
6173                    "column": 21,
6174                    "program": "tupleAssignability.ts"
6175                  }
6176                }
6177              },
6178              {
6179                "type": "ArrayExpression",
6180                "elements": [],
6181                "loc": {
6182                  "start": {
6183                    "line": 64,
6184                    "column": 23,
6185                    "program": "tupleAssignability.ts"
6186                  },
6187                  "end": {
6188                    "line": 64,
6189                    "column": 25,
6190                    "program": "tupleAssignability.ts"
6191                  }
6192                }
6193              },
6194              {
6195                "type": "NumberLiteral",
6196                "value": 2,
6197                "loc": {
6198                  "start": {
6199                    "line": 64,
6200                    "column": 27,
6201                    "program": "tupleAssignability.ts"
6202                  },
6203                  "end": {
6204                    "line": 64,
6205                    "column": 28,
6206                    "program": "tupleAssignability.ts"
6207                  }
6208                }
6209              }
6210            ],
6211            "loc": {
6212              "start": {
6213                "line": 64,
6214                "column": 3,
6215                "program": "tupleAssignability.ts"
6216              },
6217              "end": {
6218                "line": 64,
6219                "column": 29,
6220                "program": "tupleAssignability.ts"
6221              }
6222            }
6223          }
6224        ],
6225        "optional": false,
6226        "loc": {
6227          "start": {
6228            "line": 64,
6229            "column": 1,
6230            "program": "tupleAssignability.ts"
6231          },
6232          "end": {
6233            "line": 64,
6234            "column": 30,
6235            "program": "tupleAssignability.ts"
6236          }
6237        }
6238      },
6239      "loc": {
6240        "start": {
6241          "line": 64,
6242          "column": 1,
6243          "program": "tupleAssignability.ts"
6244        },
6245        "end": {
6246          "line": 64,
6247          "column": 31,
6248          "program": "tupleAssignability.ts"
6249        }
6250      }
6251    },
6252    {
6253      "type": "VariableDeclaration",
6254      "declarations": [
6255        {
6256          "type": "VariableDeclarator",
6257          "id": {
6258            "type": "Identifier",
6259            "name": "tuple19",
6260            "typeAnnotation": {
6261              "type": "TSUnionType",
6262              "types": [
6263                {
6264                  "type": "TSTupleType",
6265                  "elementTypes": [
6266                    {
6267                      "type": "TSNumberKeyword",
6268                      "loc": {
6269                        "start": {
6270                          "line": 66,
6271                          "column": 15,
6272                          "program": "tupleAssignability.ts"
6273                        },
6274                        "end": {
6275                          "line": 66,
6276                          "column": 22,
6277                          "program": "tupleAssignability.ts"
6278                        }
6279                      }
6280                    },
6281                    {
6282                      "type": "TSStringKeyword",
6283                      "loc": {
6284                        "start": {
6285                          "line": 66,
6286                          "column": 23,
6287                          "program": "tupleAssignability.ts"
6288                        },
6289                        "end": {
6290                          "line": 66,
6291                          "column": 30,
6292                          "program": "tupleAssignability.ts"
6293                        }
6294                      }
6295                    }
6296                  ],
6297                  "loc": {
6298                    "start": {
6299                      "line": 66,
6300                      "column": 14,
6301                      "program": "tupleAssignability.ts"
6302                    },
6303                    "end": {
6304                      "line": 66,
6305                      "column": 30,
6306                      "program": "tupleAssignability.ts"
6307                    }
6308                  }
6309                },
6310                {
6311                  "type": "TSTupleType",
6312                  "elementTypes": [
6313                    {
6314                      "type": "TSNumberKeyword",
6315                      "loc": {
6316                        "start": {
6317                          "line": 66,
6318                          "column": 34,
6319                          "program": "tupleAssignability.ts"
6320                        },
6321                        "end": {
6322                          "line": 66,
6323                          "column": 41,
6324                          "program": "tupleAssignability.ts"
6325                        }
6326                      }
6327                    },
6328                    {
6329                      "type": "TSStringKeyword",
6330                      "loc": {
6331                        "start": {
6332                          "line": 66,
6333                          "column": 42,
6334                          "program": "tupleAssignability.ts"
6335                        },
6336                        "end": {
6337                          "line": 66,
6338                          "column": 49,
6339                          "program": "tupleAssignability.ts"
6340                        }
6341                      }
6342                    }
6343                  ],
6344                  "loc": {
6345                    "start": {
6346                      "line": 66,
6347                      "column": 33,
6348                      "program": "tupleAssignability.ts"
6349                    },
6350                    "end": {
6351                      "line": 66,
6352                      "column": 49,
6353                      "program": "tupleAssignability.ts"
6354                    }
6355                  }
6356                }
6357              ],
6358              "loc": {
6359                "start": {
6360                  "line": 66,
6361                  "column": 14,
6362                  "program": "tupleAssignability.ts"
6363                },
6364                "end": {
6365                  "line": 66,
6366                  "column": 49,
6367                  "program": "tupleAssignability.ts"
6368                }
6369              }
6370            },
6371            "decorators": [],
6372            "loc": {
6373              "start": {
6374                "line": 66,
6375                "column": 5,
6376                "program": "tupleAssignability.ts"
6377              },
6378              "end": {
6379                "line": 66,
6380                "column": 12,
6381                "program": "tupleAssignability.ts"
6382              }
6383            }
6384          },
6385          "init": null,
6386          "loc": {
6387            "start": {
6388              "line": 66,
6389              "column": 5,
6390              "program": "tupleAssignability.ts"
6391            },
6392            "end": {
6393              "line": 66,
6394              "column": 12,
6395              "program": "tupleAssignability.ts"
6396            }
6397          }
6398        }
6399      ],
6400      "kind": "var",
6401      "loc": {
6402        "start": {
6403          "line": 66,
6404          "column": 1,
6405          "program": "tupleAssignability.ts"
6406        },
6407        "end": {
6408          "line": 66,
6409          "column": 50,
6410          "program": "tupleAssignability.ts"
6411        }
6412      }
6413    },
6414    {
6415      "type": "VariableDeclaration",
6416      "declarations": [
6417        {
6418          "type": "VariableDeclarator",
6419          "id": {
6420            "type": "Identifier",
6421            "name": "tuple20",
6422            "typeAnnotation": {
6423              "type": "TSTupleType",
6424              "elementTypes": [
6425                {
6426                  "type": "TSNamedTupleMember",
6427                  "elementType": {
6428                    "type": "TSStringKeyword",
6429                    "loc": {
6430                      "start": {
6431                        "line": 67,
6432                        "column": 18,
6433                        "program": "tupleAssignability.ts"
6434                      },
6435                      "end": {
6436                        "line": 67,
6437                        "column": 24,
6438                        "program": "tupleAssignability.ts"
6439                      }
6440                    }
6441                  },
6442                  "label": {
6443                    "type": "Identifier",
6444                    "name": "a",
6445                    "decorators": [],
6446                    "loc": {
6447                      "start": {
6448                        "line": 67,
6449                        "column": 15,
6450                        "program": "tupleAssignability.ts"
6451                      },
6452                      "end": {
6453                        "line": 67,
6454                        "column": 16,
6455                        "program": "tupleAssignability.ts"
6456                      }
6457                    }
6458                  },
6459                  "loc": {
6460                    "start": {
6461                      "line": 67,
6462                      "column": 15,
6463                      "program": "tupleAssignability.ts"
6464                    },
6465                    "end": {
6466                      "line": 67,
6467                      "column": 25,
6468                      "program": "tupleAssignability.ts"
6469                    }
6470                  }
6471                },
6472                {
6473                  "type": "TSNamedTupleMember",
6474                  "elementType": {
6475                    "type": "TSNumberKeyword",
6476                    "loc": {
6477                      "start": {
6478                        "line": 67,
6479                        "column": 29,
6480                        "program": "tupleAssignability.ts"
6481                      },
6482                      "end": {
6483                        "line": 67,
6484                        "column": 35,
6485                        "program": "tupleAssignability.ts"
6486                      }
6487                    }
6488                  },
6489                  "label": {
6490                    "type": "Identifier",
6491                    "name": "b",
6492                    "decorators": [],
6493                    "loc": {
6494                      "start": {
6495                        "line": 67,
6496                        "column": 26,
6497                        "program": "tupleAssignability.ts"
6498                      },
6499                      "end": {
6500                        "line": 67,
6501                        "column": 27,
6502                        "program": "tupleAssignability.ts"
6503                      }
6504                    }
6505                  },
6506                  "loc": {
6507                    "start": {
6508                      "line": 67,
6509                      "column": 26,
6510                      "program": "tupleAssignability.ts"
6511                    },
6512                    "end": {
6513                      "line": 67,
6514                      "column": 36,
6515                      "program": "tupleAssignability.ts"
6516                    }
6517                  }
6518                },
6519                {
6520                  "type": "TSNamedTupleMember",
6521                  "elementType": {
6522                    "type": "TSBooleanKeyword",
6523                    "loc": {
6524                      "start": {
6525                        "line": 67,
6526                        "column": 41,
6527                        "program": "tupleAssignability.ts"
6528                      },
6529                      "end": {
6530                        "line": 67,
6531                        "column": 48,
6532                        "program": "tupleAssignability.ts"
6533                      }
6534                    }
6535                  },
6536                  "label": {
6537                    "type": "Identifier",
6538                    "name": "c",
6539                    "decorators": [],
6540                    "loc": {
6541                      "start": {
6542                        "line": 67,
6543                        "column": 37,
6544                        "program": "tupleAssignability.ts"
6545                      },
6546                      "end": {
6547                        "line": 67,
6548                        "column": 38,
6549                        "program": "tupleAssignability.ts"
6550                      }
6551                    }
6552                  },
6553                  "optional": true,
6554                  "loc": {
6555                    "start": {
6556                      "line": 67,
6557                      "column": 37,
6558                      "program": "tupleAssignability.ts"
6559                    },
6560                    "end": {
6561                      "line": 67,
6562                      "column": 49,
6563                      "program": "tupleAssignability.ts"
6564                    }
6565                  }
6566                }
6567              ],
6568              "loc": {
6569                "start": {
6570                  "line": 67,
6571                  "column": 14,
6572                  "program": "tupleAssignability.ts"
6573                },
6574                "end": {
6575                  "line": 67,
6576                  "column": 49,
6577                  "program": "tupleAssignability.ts"
6578                }
6579              }
6580            },
6581            "decorators": [],
6582            "loc": {
6583              "start": {
6584                "line": 67,
6585                "column": 5,
6586                "program": "tupleAssignability.ts"
6587              },
6588              "end": {
6589                "line": 67,
6590                "column": 12,
6591                "program": "tupleAssignability.ts"
6592              }
6593            }
6594          },
6595          "init": null,
6596          "loc": {
6597            "start": {
6598              "line": 67,
6599              "column": 5,
6600              "program": "tupleAssignability.ts"
6601            },
6602            "end": {
6603              "line": 67,
6604              "column": 12,
6605              "program": "tupleAssignability.ts"
6606            }
6607          }
6608        }
6609      ],
6610      "kind": "var",
6611      "loc": {
6612        "start": {
6613          "line": 67,
6614          "column": 1,
6615          "program": "tupleAssignability.ts"
6616        },
6617        "end": {
6618          "line": 67,
6619          "column": 50,
6620          "program": "tupleAssignability.ts"
6621        }
6622      }
6623    },
6624    {
6625      "type": "VariableDeclaration",
6626      "declarations": [
6627        {
6628          "type": "VariableDeclarator",
6629          "id": {
6630            "type": "Identifier",
6631            "name": "tuple21",
6632            "typeAnnotation": {
6633              "type": "TSUnionType",
6634              "types": [
6635                {
6636                  "type": "TSNumberKeyword",
6637                  "loc": {
6638                    "start": {
6639                      "line": 68,
6640                      "column": 14,
6641                      "program": "tupleAssignability.ts"
6642                    },
6643                    "end": {
6644                      "line": 68,
6645                      "column": 20,
6646                      "program": "tupleAssignability.ts"
6647                    }
6648                  }
6649                },
6650                {
6651                  "type": "TSTypeQuery",
6652                  "exprName": {
6653                    "type": "Identifier",
6654                    "name": "tuple20",
6655                    "decorators": [],
6656                    "loc": {
6657                      "start": {
6658                        "line": 68,
6659                        "column": 30,
6660                        "program": "tupleAssignability.ts"
6661                      },
6662                      "end": {
6663                        "line": 68,
6664                        "column": 37,
6665                        "program": "tupleAssignability.ts"
6666                      }
6667                    }
6668                  },
6669                  "loc": {
6670                    "start": {
6671                      "line": 68,
6672                      "column": 23,
6673                      "program": "tupleAssignability.ts"
6674                    },
6675                    "end": {
6676                      "line": 68,
6677                      "column": 37,
6678                      "program": "tupleAssignability.ts"
6679                    }
6680                  }
6681                },
6682                {
6683                  "type": "TSTupleType",
6684                  "elementTypes": [
6685                    {
6686                      "type": "TSNamedTupleMember",
6687                      "elementType": {
6688                        "type": "TSStringKeyword",
6689                        "loc": {
6690                          "start": {
6691                            "line": 68,
6692                            "column": 44,
6693                            "program": "tupleAssignability.ts"
6694                          },
6695                          "end": {
6696                            "line": 68,
6697                            "column": 50,
6698                            "program": "tupleAssignability.ts"
6699                          }
6700                        }
6701                      },
6702                      "label": {
6703                        "type": "Identifier",
6704                        "name": "a",
6705                        "decorators": [],
6706                        "loc": {
6707                          "start": {
6708                            "line": 68,
6709                            "column": 41,
6710                            "program": "tupleAssignability.ts"
6711                          },
6712                          "end": {
6713                            "line": 68,
6714                            "column": 42,
6715                            "program": "tupleAssignability.ts"
6716                          }
6717                        }
6718                      },
6719                      "loc": {
6720                        "start": {
6721                          "line": 68,
6722                          "column": 41,
6723                          "program": "tupleAssignability.ts"
6724                        },
6725                        "end": {
6726                          "line": 68,
6727                          "column": 51,
6728                          "program": "tupleAssignability.ts"
6729                        }
6730                      }
6731                    },
6732                    {
6733                      "type": "TSNamedTupleMember",
6734                      "elementType": {
6735                        "type": "TSNumberKeyword",
6736                        "loc": {
6737                          "start": {
6738                            "line": 68,
6739                            "column": 55,
6740                            "program": "tupleAssignability.ts"
6741                          },
6742                          "end": {
6743                            "line": 68,
6744                            "column": 61,
6745                            "program": "tupleAssignability.ts"
6746                          }
6747                        }
6748                      },
6749                      "label": {
6750                        "type": "Identifier",
6751                        "name": "b",
6752                        "decorators": [],
6753                        "loc": {
6754                          "start": {
6755                            "line": 68,
6756                            "column": 52,
6757                            "program": "tupleAssignability.ts"
6758                          },
6759                          "end": {
6760                            "line": 68,
6761                            "column": 53,
6762                            "program": "tupleAssignability.ts"
6763                          }
6764                        }
6765                      },
6766                      "loc": {
6767                        "start": {
6768                          "line": 68,
6769                          "column": 52,
6770                          "program": "tupleAssignability.ts"
6771                        },
6772                        "end": {
6773                          "line": 68,
6774                          "column": 62,
6775                          "program": "tupleAssignability.ts"
6776                        }
6777                      }
6778                    }
6779                  ],
6780                  "loc": {
6781                    "start": {
6782                      "line": 68,
6783                      "column": 40,
6784                      "program": "tupleAssignability.ts"
6785                    },
6786                    "end": {
6787                      "line": 68,
6788                      "column": 62,
6789                      "program": "tupleAssignability.ts"
6790                    }
6791                  }
6792                }
6793              ],
6794              "loc": {
6795                "start": {
6796                  "line": 68,
6797                  "column": 14,
6798                  "program": "tupleAssignability.ts"
6799                },
6800                "end": {
6801                  "line": 68,
6802                  "column": 62,
6803                  "program": "tupleAssignability.ts"
6804                }
6805              }
6806            },
6807            "decorators": [],
6808            "loc": {
6809              "start": {
6810                "line": 68,
6811                "column": 5,
6812                "program": "tupleAssignability.ts"
6813              },
6814              "end": {
6815                "line": 68,
6816                "column": 12,
6817                "program": "tupleAssignability.ts"
6818              }
6819            }
6820          },
6821          "init": null,
6822          "loc": {
6823            "start": {
6824              "line": 68,
6825              "column": 5,
6826              "program": "tupleAssignability.ts"
6827            },
6828            "end": {
6829              "line": 68,
6830              "column": 12,
6831              "program": "tupleAssignability.ts"
6832            }
6833          }
6834        }
6835      ],
6836      "kind": "var",
6837      "loc": {
6838        "start": {
6839          "line": 68,
6840          "column": 1,
6841          "program": "tupleAssignability.ts"
6842        },
6843        "end": {
6844          "line": 68,
6845          "column": 63,
6846          "program": "tupleAssignability.ts"
6847        }
6848      }
6849    },
6850    {
6851      "type": "VariableDeclaration",
6852      "declarations": [
6853        {
6854          "type": "VariableDeclarator",
6855          "id": {
6856            "type": "Identifier",
6857            "name": "tuple22",
6858            "typeAnnotation": {
6859              "type": "TSTupleType",
6860              "elementTypes": [
6861                {
6862                  "type": "TSNumberKeyword",
6863                  "loc": {
6864                    "start": {
6865                      "line": 69,
6866                      "column": 15,
6867                      "program": "tupleAssignability.ts"
6868                    },
6869                    "end": {
6870                      "line": 69,
6871                      "column": 22,
6872                      "program": "tupleAssignability.ts"
6873                    }
6874                  }
6875                },
6876                {
6877                  "type": "TSStringKeyword",
6878                  "loc": {
6879                    "start": {
6880                      "line": 69,
6881                      "column": 23,
6882                      "program": "tupleAssignability.ts"
6883                    },
6884                    "end": {
6885                      "line": 69,
6886                      "column": 30,
6887                      "program": "tupleAssignability.ts"
6888                    }
6889                  }
6890                }
6891              ],
6892              "loc": {
6893                "start": {
6894                  "line": 69,
6895                  "column": 14,
6896                  "program": "tupleAssignability.ts"
6897                },
6898                "end": {
6899                  "line": 69,
6900                  "column": 30,
6901                  "program": "tupleAssignability.ts"
6902                }
6903              }
6904            },
6905            "decorators": [],
6906            "loc": {
6907              "start": {
6908                "line": 69,
6909                "column": 5,
6910                "program": "tupleAssignability.ts"
6911              },
6912              "end": {
6913                "line": 69,
6914                "column": 12,
6915                "program": "tupleAssignability.ts"
6916              }
6917            }
6918          },
6919          "init": null,
6920          "loc": {
6921            "start": {
6922              "line": 69,
6923              "column": 5,
6924              "program": "tupleAssignability.ts"
6925            },
6926            "end": {
6927              "line": 69,
6928              "column": 12,
6929              "program": "tupleAssignability.ts"
6930            }
6931          }
6932        }
6933      ],
6934      "kind": "var",
6935      "loc": {
6936        "start": {
6937          "line": 69,
6938          "column": 1,
6939          "program": "tupleAssignability.ts"
6940        },
6941        "end": {
6942          "line": 69,
6943          "column": 31,
6944          "program": "tupleAssignability.ts"
6945        }
6946      }
6947    },
6948    {
6949      "type": "ExpressionStatement",
6950      "expression": {
6951        "type": "AssignmentExpression",
6952        "operator": "=",
6953        "left": {
6954          "type": "Identifier",
6955          "name": "tuple21",
6956          "decorators": [],
6957          "loc": {
6958            "start": {
6959              "line": 70,
6960              "column": 1,
6961              "program": "tupleAssignability.ts"
6962            },
6963            "end": {
6964              "line": 70,
6965              "column": 8,
6966              "program": "tupleAssignability.ts"
6967            }
6968          }
6969        },
6970        "right": {
6971          "type": "Identifier",
6972          "name": "tuple20",
6973          "decorators": [],
6974          "loc": {
6975            "start": {
6976              "line": 70,
6977              "column": 11,
6978              "program": "tupleAssignability.ts"
6979            },
6980            "end": {
6981              "line": 70,
6982              "column": 18,
6983              "program": "tupleAssignability.ts"
6984            }
6985          }
6986        },
6987        "loc": {
6988          "start": {
6989            "line": 70,
6990            "column": 1,
6991            "program": "tupleAssignability.ts"
6992          },
6993          "end": {
6994            "line": 70,
6995            "column": 18,
6996            "program": "tupleAssignability.ts"
6997          }
6998        }
6999      },
7000      "loc": {
7001        "start": {
7002          "line": 70,
7003          "column": 1,
7004          "program": "tupleAssignability.ts"
7005        },
7006        "end": {
7007          "line": 70,
7008          "column": 19,
7009          "program": "tupleAssignability.ts"
7010        }
7011      }
7012    },
7013    {
7014      "type": "ExpressionStatement",
7015      "expression": {
7016        "type": "AssignmentExpression",
7017        "operator": "=",
7018        "left": {
7019          "type": "Identifier",
7020          "name": "tuple19",
7021          "decorators": [],
7022          "loc": {
7023            "start": {
7024              "line": 71,
7025              "column": 1,
7026              "program": "tupleAssignability.ts"
7027            },
7028            "end": {
7029              "line": 71,
7030              "column": 8,
7031              "program": "tupleAssignability.ts"
7032            }
7033          }
7034        },
7035        "right": {
7036          "type": "Identifier",
7037          "name": "tuple22",
7038          "decorators": [],
7039          "loc": {
7040            "start": {
7041              "line": 71,
7042              "column": 11,
7043              "program": "tupleAssignability.ts"
7044            },
7045            "end": {
7046              "line": 71,
7047              "column": 18,
7048              "program": "tupleAssignability.ts"
7049            }
7050          }
7051        },
7052        "loc": {
7053          "start": {
7054            "line": 71,
7055            "column": 1,
7056            "program": "tupleAssignability.ts"
7057          },
7058          "end": {
7059            "line": 71,
7060            "column": 18,
7061            "program": "tupleAssignability.ts"
7062          }
7063        }
7064      },
7065      "loc": {
7066        "start": {
7067          "line": 71,
7068          "column": 1,
7069          "program": "tupleAssignability.ts"
7070        },
7071        "end": {
7072          "line": 71,
7073          "column": 19,
7074          "program": "tupleAssignability.ts"
7075        }
7076      }
7077    },
7078    {
7079      "type": "VariableDeclaration",
7080      "declarations": [
7081        {
7082          "type": "VariableDeclarator",
7083          "id": {
7084            "type": "Identifier",
7085            "name": "tuple23",
7086            "typeAnnotation": {
7087              "type": "TSUnionType",
7088              "types": [
7089                {
7090                  "type": "TSTupleType",
7091                  "elementTypes": [
7092                    {
7093                      "type": "TSNumberKeyword",
7094                      "loc": {
7095                        "start": {
7096                          "line": 73,
7097                          "column": 15,
7098                          "program": "tupleAssignability.ts"
7099                        },
7100                        "end": {
7101                          "line": 73,
7102                          "column": 22,
7103                          "program": "tupleAssignability.ts"
7104                        }
7105                      }
7106                    },
7107                    {
7108                      "type": "TSNumberKeyword",
7109                      "loc": {
7110                        "start": {
7111                          "line": 73,
7112                          "column": 23,
7113                          "program": "tupleAssignability.ts"
7114                        },
7115                        "end": {
7116                          "line": 73,
7117                          "column": 30,
7118                          "program": "tupleAssignability.ts"
7119                        }
7120                      }
7121                    },
7122                    {
7123                      "type": "TSNumberKeyword",
7124                      "loc": {
7125                        "start": {
7126                          "line": 73,
7127                          "column": 31,
7128                          "program": "tupleAssignability.ts"
7129                        },
7130                        "end": {
7131                          "line": 73,
7132                          "column": 38,
7133                          "program": "tupleAssignability.ts"
7134                        }
7135                      }
7136                    }
7137                  ],
7138                  "loc": {
7139                    "start": {
7140                      "line": 73,
7141                      "column": 14,
7142                      "program": "tupleAssignability.ts"
7143                    },
7144                    "end": {
7145                      "line": 73,
7146                      "column": 38,
7147                      "program": "tupleAssignability.ts"
7148                    }
7149                  }
7150                },
7151                {
7152                  "type": "TSTupleType",
7153                  "elementTypes": [
7154                    {
7155                      "type": "TSNumberKeyword",
7156                      "loc": {
7157                        "start": {
7158                          "line": 73,
7159                          "column": 42,
7160                          "program": "tupleAssignability.ts"
7161                        },
7162                        "end": {
7163                          "line": 73,
7164                          "column": 49,
7165                          "program": "tupleAssignability.ts"
7166                        }
7167                      }
7168                    },
7169                    {
7170                      "type": "TSNumberKeyword",
7171                      "loc": {
7172                        "start": {
7173                          "line": 73,
7174                          "column": 50,
7175                          "program": "tupleAssignability.ts"
7176                        },
7177                        "end": {
7178                          "line": 73,
7179                          "column": 57,
7180                          "program": "tupleAssignability.ts"
7181                        }
7182                      }
7183                    },
7184                    {
7185                      "type": "TSNumberKeyword",
7186                      "loc": {
7187                        "start": {
7188                          "line": 73,
7189                          "column": 58,
7190                          "program": "tupleAssignability.ts"
7191                        },
7192                        "end": {
7193                          "line": 73,
7194                          "column": 65,
7195                          "program": "tupleAssignability.ts"
7196                        }
7197                      }
7198                    },
7199                    {
7200                      "type": "TSNumberKeyword",
7201                      "loc": {
7202                        "start": {
7203                          "line": 73,
7204                          "column": 66,
7205                          "program": "tupleAssignability.ts"
7206                        },
7207                        "end": {
7208                          "line": 73,
7209                          "column": 73,
7210                          "program": "tupleAssignability.ts"
7211                        }
7212                      }
7213                    }
7214                  ],
7215                  "loc": {
7216                    "start": {
7217                      "line": 73,
7218                      "column": 41,
7219                      "program": "tupleAssignability.ts"
7220                    },
7221                    "end": {
7222                      "line": 73,
7223                      "column": 73,
7224                      "program": "tupleAssignability.ts"
7225                    }
7226                  }
7227                }
7228              ],
7229              "loc": {
7230                "start": {
7231                  "line": 73,
7232                  "column": 14,
7233                  "program": "tupleAssignability.ts"
7234                },
7235                "end": {
7236                  "line": 73,
7237                  "column": 73,
7238                  "program": "tupleAssignability.ts"
7239                }
7240              }
7241            },
7242            "decorators": [],
7243            "loc": {
7244              "start": {
7245                "line": 73,
7246                "column": 5,
7247                "program": "tupleAssignability.ts"
7248              },
7249              "end": {
7250                "line": 73,
7251                "column": 12,
7252                "program": "tupleAssignability.ts"
7253              }
7254            }
7255          },
7256          "init": null,
7257          "loc": {
7258            "start": {
7259              "line": 73,
7260              "column": 5,
7261              "program": "tupleAssignability.ts"
7262            },
7263            "end": {
7264              "line": 73,
7265              "column": 12,
7266              "program": "tupleAssignability.ts"
7267            }
7268          }
7269        }
7270      ],
7271      "kind": "var",
7272      "loc": {
7273        "start": {
7274          "line": 73,
7275          "column": 1,
7276          "program": "tupleAssignability.ts"
7277        },
7278        "end": {
7279          "line": 73,
7280          "column": 74,
7281          "program": "tupleAssignability.ts"
7282        }
7283      }
7284    },
7285    {
7286      "type": "ExpressionStatement",
7287      "expression": {
7288        "type": "AssignmentExpression",
7289        "operator": "=",
7290        "left": {
7291          "type": "Identifier",
7292          "name": "tuple23",
7293          "decorators": [],
7294          "loc": {
7295            "start": {
7296              "line": 74,
7297              "column": 1,
7298              "program": "tupleAssignability.ts"
7299            },
7300            "end": {
7301              "line": 74,
7302              "column": 8,
7303              "program": "tupleAssignability.ts"
7304            }
7305          }
7306        },
7307        "right": {
7308          "type": "ArrayExpression",
7309          "elements": [
7310            {
7311              "type": "NumberLiteral",
7312              "value": 1,
7313              "loc": {
7314                "start": {
7315                  "line": 74,
7316                  "column": 12,
7317                  "program": "tupleAssignability.ts"
7318                },
7319                "end": {
7320                  "line": 74,
7321                  "column": 13,
7322                  "program": "tupleAssignability.ts"
7323                }
7324              }
7325            },
7326            {
7327              "type": "NumberLiteral",
7328              "value": 2,
7329              "loc": {
7330                "start": {
7331                  "line": 74,
7332                  "column": 15,
7333                  "program": "tupleAssignability.ts"
7334                },
7335                "end": {
7336                  "line": 74,
7337                  "column": 16,
7338                  "program": "tupleAssignability.ts"
7339                }
7340              }
7341            },
7342            {
7343              "type": "NumberLiteral",
7344              "value": 3,
7345              "loc": {
7346                "start": {
7347                  "line": 74,
7348                  "column": 18,
7349                  "program": "tupleAssignability.ts"
7350                },
7351                "end": {
7352                  "line": 74,
7353                  "column": 19,
7354                  "program": "tupleAssignability.ts"
7355                }
7356              }
7357            }
7358          ],
7359          "loc": {
7360            "start": {
7361              "line": 74,
7362              "column": 11,
7363              "program": "tupleAssignability.ts"
7364            },
7365            "end": {
7366              "line": 74,
7367              "column": 20,
7368              "program": "tupleAssignability.ts"
7369            }
7370          }
7371        },
7372        "loc": {
7373          "start": {
7374            "line": 74,
7375            "column": 1,
7376            "program": "tupleAssignability.ts"
7377          },
7378          "end": {
7379            "line": 74,
7380            "column": 20,
7381            "program": "tupleAssignability.ts"
7382          }
7383        }
7384      },
7385      "loc": {
7386        "start": {
7387          "line": 74,
7388          "column": 1,
7389          "program": "tupleAssignability.ts"
7390        },
7391        "end": {
7392          "line": 74,
7393          "column": 21,
7394          "program": "tupleAssignability.ts"
7395        }
7396      }
7397    },
7398    {
7399      "type": "ExpressionStatement",
7400      "expression": {
7401        "type": "AssignmentExpression",
7402        "operator": "=",
7403        "left": {
7404          "type": "Identifier",
7405          "name": "tuple23",
7406          "decorators": [],
7407          "loc": {
7408            "start": {
7409              "line": 75,
7410              "column": 1,
7411              "program": "tupleAssignability.ts"
7412            },
7413            "end": {
7414              "line": 75,
7415              "column": 8,
7416              "program": "tupleAssignability.ts"
7417            }
7418          }
7419        },
7420        "right": {
7421          "type": "ArrayExpression",
7422          "elements": [
7423            {
7424              "type": "NumberLiteral",
7425              "value": 1,
7426              "loc": {
7427                "start": {
7428                  "line": 75,
7429                  "column": 12,
7430                  "program": "tupleAssignability.ts"
7431                },
7432                "end": {
7433                  "line": 75,
7434                  "column": 13,
7435                  "program": "tupleAssignability.ts"
7436                }
7437              }
7438            },
7439            {
7440              "type": "NumberLiteral",
7441              "value": 2,
7442              "loc": {
7443                "start": {
7444                  "line": 75,
7445                  "column": 15,
7446                  "program": "tupleAssignability.ts"
7447                },
7448                "end": {
7449                  "line": 75,
7450                  "column": 16,
7451                  "program": "tupleAssignability.ts"
7452                }
7453              }
7454            },
7455            {
7456              "type": "NumberLiteral",
7457              "value": 3,
7458              "loc": {
7459                "start": {
7460                  "line": 75,
7461                  "column": 18,
7462                  "program": "tupleAssignability.ts"
7463                },
7464                "end": {
7465                  "line": 75,
7466                  "column": 19,
7467                  "program": "tupleAssignability.ts"
7468                }
7469              }
7470            },
7471            {
7472              "type": "NumberLiteral",
7473              "value": 4,
7474              "loc": {
7475                "start": {
7476                  "line": 75,
7477                  "column": 21,
7478                  "program": "tupleAssignability.ts"
7479                },
7480                "end": {
7481                  "line": 75,
7482                  "column": 22,
7483                  "program": "tupleAssignability.ts"
7484                }
7485              }
7486            }
7487          ],
7488          "loc": {
7489            "start": {
7490              "line": 75,
7491              "column": 11,
7492              "program": "tupleAssignability.ts"
7493            },
7494            "end": {
7495              "line": 75,
7496              "column": 23,
7497              "program": "tupleAssignability.ts"
7498            }
7499          }
7500        },
7501        "loc": {
7502          "start": {
7503            "line": 75,
7504            "column": 1,
7505            "program": "tupleAssignability.ts"
7506          },
7507          "end": {
7508            "line": 75,
7509            "column": 23,
7510            "program": "tupleAssignability.ts"
7511          }
7512        }
7513      },
7514      "loc": {
7515        "start": {
7516          "line": 75,
7517          "column": 1,
7518          "program": "tupleAssignability.ts"
7519        },
7520        "end": {
7521          "line": 75,
7522          "column": 24,
7523          "program": "tupleAssignability.ts"
7524        }
7525      }
7526    },
7527    {
7528      "type": "VariableDeclaration",
7529      "declarations": [
7530        {
7531          "type": "VariableDeclarator",
7532          "id": {
7533            "type": "Identifier",
7534            "name": "tuple24",
7535            "typeAnnotation": {
7536              "type": "TSUnionType",
7537              "types": [
7538                {
7539                  "type": "TSArrayType",
7540                  "elementType": {
7541                    "type": "TSArrayType",
7542                    "elementType": {
7543                      "type": "TSNumberKeyword",
7544                      "loc": {
7545                        "start": {
7546                          "line": 77,
7547                          "column": 14,
7548                          "program": "tupleAssignability.ts"
7549                        },
7550                        "end": {
7551                          "line": 77,
7552                          "column": 20,
7553                          "program": "tupleAssignability.ts"
7554                        }
7555                      }
7556                    },
7557                    "annotations": [],
7558                    "loc": {
7559                      "start": {
7560                        "line": 77,
7561                        "column": 14,
7562                        "program": "tupleAssignability.ts"
7563                      },
7564                      "end": {
7565                        "line": 77,
7566                        "column": 22,
7567                        "program": "tupleAssignability.ts"
7568                      }
7569                    }
7570                  },
7571                  "annotations": [],
7572                  "loc": {
7573                    "start": {
7574                      "line": 77,
7575                      "column": 14,
7576                      "program": "tupleAssignability.ts"
7577                    },
7578                    "end": {
7579                      "line": 77,
7580                      "column": 24,
7581                      "program": "tupleAssignability.ts"
7582                    }
7583                  }
7584                },
7585                {
7586                  "type": "TSArrayType",
7587                  "elementType": {
7588                    "type": "TSArrayType",
7589                    "elementType": {
7590                      "type": "TSStringKeyword",
7591                      "loc": {
7592                        "start": {
7593                          "line": 77,
7594                          "column": 27,
7595                          "program": "tupleAssignability.ts"
7596                        },
7597                        "end": {
7598                          "line": 77,
7599                          "column": 33,
7600                          "program": "tupleAssignability.ts"
7601                        }
7602                      }
7603                    },
7604                    "annotations": [],
7605                    "loc": {
7606                      "start": {
7607                        "line": 77,
7608                        "column": 27,
7609                        "program": "tupleAssignability.ts"
7610                      },
7611                      "end": {
7612                        "line": 77,
7613                        "column": 35,
7614                        "program": "tupleAssignability.ts"
7615                      }
7616                    }
7617                  },
7618                  "annotations": [],
7619                  "loc": {
7620                    "start": {
7621                      "line": 77,
7622                      "column": 27,
7623                      "program": "tupleAssignability.ts"
7624                    },
7625                    "end": {
7626                      "line": 77,
7627                      "column": 37,
7628                      "program": "tupleAssignability.ts"
7629                    }
7630                  }
7631                },
7632                {
7633                  "type": "TSTupleType",
7634                  "elementTypes": [
7635                    {
7636                      "type": "TSTupleType",
7637                      "elementTypes": [
7638                        {
7639                          "type": "TSNumberKeyword",
7640                          "loc": {
7641                            "start": {
7642                              "line": 77,
7643                              "column": 42,
7644                              "program": "tupleAssignability.ts"
7645                            },
7646                            "end": {
7647                              "line": 77,
7648                              "column": 49,
7649                              "program": "tupleAssignability.ts"
7650                            }
7651                          }
7652                        },
7653                        {
7654                          "type": "TSNumberKeyword",
7655                          "loc": {
7656                            "start": {
7657                              "line": 77,
7658                              "column": 50,
7659                              "program": "tupleAssignability.ts"
7660                            },
7661                            "end": {
7662                              "line": 77,
7663                              "column": 57,
7664                              "program": "tupleAssignability.ts"
7665                            }
7666                          }
7667                        }
7668                      ],
7669                      "loc": {
7670                        "start": {
7671                          "line": 77,
7672                          "column": 41,
7673                          "program": "tupleAssignability.ts"
7674                        },
7675                        "end": {
7676                          "line": 77,
7677                          "column": 58,
7678                          "program": "tupleAssignability.ts"
7679                        }
7680                      }
7681                    },
7682                    {
7683                      "type": "TSTupleType",
7684                      "elementTypes": [
7685                        {
7686                          "type": "TSStringKeyword",
7687                          "loc": {
7688                            "start": {
7689                              "line": 77,
7690                              "column": 60,
7691                              "program": "tupleAssignability.ts"
7692                            },
7693                            "end": {
7694                              "line": 77,
7695                              "column": 67,
7696                              "program": "tupleAssignability.ts"
7697                            }
7698                          }
7699                        },
7700                        {
7701                          "type": "TSStringKeyword",
7702                          "loc": {
7703                            "start": {
7704                              "line": 77,
7705                              "column": 68,
7706                              "program": "tupleAssignability.ts"
7707                            },
7708                            "end": {
7709                              "line": 77,
7710                              "column": 75,
7711                              "program": "tupleAssignability.ts"
7712                            }
7713                          }
7714                        }
7715                      ],
7716                      "loc": {
7717                        "start": {
7718                          "line": 77,
7719                          "column": 59,
7720                          "program": "tupleAssignability.ts"
7721                        },
7722                        "end": {
7723                          "line": 77,
7724                          "column": 76,
7725                          "program": "tupleAssignability.ts"
7726                        }
7727                      }
7728                    }
7729                  ],
7730                  "loc": {
7731                    "start": {
7732                      "line": 77,
7733                      "column": 40,
7734                      "program": "tupleAssignability.ts"
7735                    },
7736                    "end": {
7737                      "line": 77,
7738                      "column": 76,
7739                      "program": "tupleAssignability.ts"
7740                    }
7741                  }
7742                }
7743              ],
7744              "loc": {
7745                "start": {
7746                  "line": 77,
7747                  "column": 14,
7748                  "program": "tupleAssignability.ts"
7749                },
7750                "end": {
7751                  "line": 77,
7752                  "column": 76,
7753                  "program": "tupleAssignability.ts"
7754                }
7755              }
7756            },
7757            "decorators": [],
7758            "loc": {
7759              "start": {
7760                "line": 77,
7761                "column": 5,
7762                "program": "tupleAssignability.ts"
7763              },
7764              "end": {
7765                "line": 77,
7766                "column": 12,
7767                "program": "tupleAssignability.ts"
7768              }
7769            }
7770          },
7771          "init": null,
7772          "loc": {
7773            "start": {
7774              "line": 77,
7775              "column": 5,
7776              "program": "tupleAssignability.ts"
7777            },
7778            "end": {
7779              "line": 77,
7780              "column": 12,
7781              "program": "tupleAssignability.ts"
7782            }
7783          }
7784        }
7785      ],
7786      "kind": "var",
7787      "loc": {
7788        "start": {
7789          "line": 77,
7790          "column": 1,
7791          "program": "tupleAssignability.ts"
7792        },
7793        "end": {
7794          "line": 77,
7795          "column": 77,
7796          "program": "tupleAssignability.ts"
7797        }
7798      }
7799    },
7800    {
7801      "type": "ExpressionStatement",
7802      "expression": {
7803        "type": "AssignmentExpression",
7804        "operator": "=",
7805        "left": {
7806          "type": "Identifier",
7807          "name": "tuple24",
7808          "decorators": [],
7809          "loc": {
7810            "start": {
7811              "line": 78,
7812              "column": 1,
7813              "program": "tupleAssignability.ts"
7814            },
7815            "end": {
7816              "line": 78,
7817              "column": 8,
7818              "program": "tupleAssignability.ts"
7819            }
7820          }
7821        },
7822        "right": {
7823          "type": "ArrayExpression",
7824          "elements": [
7825            {
7826              "type": "ArrayExpression",
7827              "elements": [
7828                {
7829                  "type": "NumberLiteral",
7830                  "value": 1,
7831                  "loc": {
7832                    "start": {
7833                      "line": 78,
7834                      "column": 13,
7835                      "program": "tupleAssignability.ts"
7836                    },
7837                    "end": {
7838                      "line": 78,
7839                      "column": 14,
7840                      "program": "tupleAssignability.ts"
7841                    }
7842                  }
7843                },
7844                {
7845                  "type": "NumberLiteral",
7846                  "value": 2,
7847                  "loc": {
7848                    "start": {
7849                      "line": 78,
7850                      "column": 16,
7851                      "program": "tupleAssignability.ts"
7852                    },
7853                    "end": {
7854                      "line": 78,
7855                      "column": 17,
7856                      "program": "tupleAssignability.ts"
7857                    }
7858                  }
7859                },
7860                {
7861                  "type": "NumberLiteral",
7862                  "value": 3,
7863                  "loc": {
7864                    "start": {
7865                      "line": 78,
7866                      "column": 19,
7867                      "program": "tupleAssignability.ts"
7868                    },
7869                    "end": {
7870                      "line": 78,
7871                      "column": 20,
7872                      "program": "tupleAssignability.ts"
7873                    }
7874                  }
7875                }
7876              ],
7877              "loc": {
7878                "start": {
7879                  "line": 78,
7880                  "column": 12,
7881                  "program": "tupleAssignability.ts"
7882                },
7883                "end": {
7884                  "line": 78,
7885                  "column": 21,
7886                  "program": "tupleAssignability.ts"
7887                }
7888              }
7889            }
7890          ],
7891          "loc": {
7892            "start": {
7893              "line": 78,
7894              "column": 11,
7895              "program": "tupleAssignability.ts"
7896            },
7897            "end": {
7898              "line": 78,
7899              "column": 22,
7900              "program": "tupleAssignability.ts"
7901            }
7902          }
7903        },
7904        "loc": {
7905          "start": {
7906            "line": 78,
7907            "column": 1,
7908            "program": "tupleAssignability.ts"
7909          },
7910          "end": {
7911            "line": 78,
7912            "column": 22,
7913            "program": "tupleAssignability.ts"
7914          }
7915        }
7916      },
7917      "loc": {
7918        "start": {
7919          "line": 78,
7920          "column": 1,
7921          "program": "tupleAssignability.ts"
7922        },
7923        "end": {
7924          "line": 78,
7925          "column": 23,
7926          "program": "tupleAssignability.ts"
7927        }
7928      }
7929    },
7930    {
7931      "type": "ExpressionStatement",
7932      "expression": {
7933        "type": "AssignmentExpression",
7934        "operator": "=",
7935        "left": {
7936          "type": "Identifier",
7937          "name": "tuple24",
7938          "decorators": [],
7939          "loc": {
7940            "start": {
7941              "line": 79,
7942              "column": 1,
7943              "program": "tupleAssignability.ts"
7944            },
7945            "end": {
7946              "line": 79,
7947              "column": 8,
7948              "program": "tupleAssignability.ts"
7949            }
7950          }
7951        },
7952        "right": {
7953          "type": "ArrayExpression",
7954          "elements": [
7955            {
7956              "type": "ArrayExpression",
7957              "elements": [
7958                {
7959                  "type": "NumberLiteral",
7960                  "value": 1,
7961                  "loc": {
7962                    "start": {
7963                      "line": 79,
7964                      "column": 13,
7965                      "program": "tupleAssignability.ts"
7966                    },
7967                    "end": {
7968                      "line": 79,
7969                      "column": 14,
7970                      "program": "tupleAssignability.ts"
7971                    }
7972                  }
7973                },
7974                {
7975                  "type": "NumberLiteral",
7976                  "value": 2,
7977                  "loc": {
7978                    "start": {
7979                      "line": 79,
7980                      "column": 16,
7981                      "program": "tupleAssignability.ts"
7982                    },
7983                    "end": {
7984                      "line": 79,
7985                      "column": 17,
7986                      "program": "tupleAssignability.ts"
7987                    }
7988                  }
7989                }
7990              ],
7991              "loc": {
7992                "start": {
7993                  "line": 79,
7994                  "column": 12,
7995                  "program": "tupleAssignability.ts"
7996                },
7997                "end": {
7998                  "line": 79,
7999                  "column": 18,
8000                  "program": "tupleAssignability.ts"
8001                }
8002              }
8003            },
8004            {
8005              "type": "ArrayExpression",
8006              "elements": [
8007                {
8008                  "type": "StringLiteral",
8009                  "value": "foo",
8010                  "loc": {
8011                    "start": {
8012                      "line": 79,
8013                      "column": 21,
8014                      "program": "tupleAssignability.ts"
8015                    },
8016                    "end": {
8017                      "line": 79,
8018                      "column": 26,
8019                      "program": "tupleAssignability.ts"
8020                    }
8021                  }
8022                },
8023                {
8024                  "type": "StringLiteral",
8025                  "value": "bar",
8026                  "loc": {
8027                    "start": {
8028                      "line": 79,
8029                      "column": 28,
8030                      "program": "tupleAssignability.ts"
8031                    },
8032                    "end": {
8033                      "line": 79,
8034                      "column": 33,
8035                      "program": "tupleAssignability.ts"
8036                    }
8037                  }
8038                }
8039              ],
8040              "loc": {
8041                "start": {
8042                  "line": 79,
8043                  "column": 20,
8044                  "program": "tupleAssignability.ts"
8045                },
8046                "end": {
8047                  "line": 79,
8048                  "column": 34,
8049                  "program": "tupleAssignability.ts"
8050                }
8051              }
8052            }
8053          ],
8054          "loc": {
8055            "start": {
8056              "line": 79,
8057              "column": 11,
8058              "program": "tupleAssignability.ts"
8059            },
8060            "end": {
8061              "line": 79,
8062              "column": 35,
8063              "program": "tupleAssignability.ts"
8064            }
8065          }
8066        },
8067        "loc": {
8068          "start": {
8069            "line": 79,
8070            "column": 1,
8071            "program": "tupleAssignability.ts"
8072          },
8073          "end": {
8074            "line": 79,
8075            "column": 35,
8076            "program": "tupleAssignability.ts"
8077          }
8078        }
8079      },
8080      "loc": {
8081        "start": {
8082          "line": 79,
8083          "column": 1,
8084          "program": "tupleAssignability.ts"
8085        },
8086        "end": {
8087          "line": 79,
8088          "column": 36,
8089          "program": "tupleAssignability.ts"
8090        }
8091      }
8092    },
8093    {
8094      "type": "ExpressionStatement",
8095      "expression": {
8096        "type": "AssignmentExpression",
8097        "operator": "=",
8098        "left": {
8099          "type": "Identifier",
8100          "name": "tuple24",
8101          "decorators": [],
8102          "loc": {
8103            "start": {
8104              "line": 80,
8105              "column": 1,
8106              "program": "tupleAssignability.ts"
8107            },
8108            "end": {
8109              "line": 80,
8110              "column": 8,
8111              "program": "tupleAssignability.ts"
8112            }
8113          }
8114        },
8115        "right": {
8116          "type": "ArrayExpression",
8117          "elements": [
8118            {
8119              "type": "ArrayExpression",
8120              "elements": [
8121                {
8122                  "type": "StringLiteral",
8123                  "value": "foo",
8124                  "loc": {
8125                    "start": {
8126                      "line": 80,
8127                      "column": 13,
8128                      "program": "tupleAssignability.ts"
8129                    },
8130                    "end": {
8131                      "line": 80,
8132                      "column": 18,
8133                      "program": "tupleAssignability.ts"
8134                    }
8135                  }
8136                },
8137                {
8138                  "type": "StringLiteral",
8139                  "value": "bar",
8140                  "loc": {
8141                    "start": {
8142                      "line": 80,
8143                      "column": 20,
8144                      "program": "tupleAssignability.ts"
8145                    },
8146                    "end": {
8147                      "line": 80,
8148                      "column": 25,
8149                      "program": "tupleAssignability.ts"
8150                    }
8151                  }
8152                },
8153                {
8154                  "type": "StringLiteral",
8155                  "value": "baz",
8156                  "loc": {
8157                    "start": {
8158                      "line": 80,
8159                      "column": 27,
8160                      "program": "tupleAssignability.ts"
8161                    },
8162                    "end": {
8163                      "line": 80,
8164                      "column": 32,
8165                      "program": "tupleAssignability.ts"
8166                    }
8167                  }
8168                }
8169              ],
8170              "loc": {
8171                "start": {
8172                  "line": 80,
8173                  "column": 12,
8174                  "program": "tupleAssignability.ts"
8175                },
8176                "end": {
8177                  "line": 80,
8178                  "column": 33,
8179                  "program": "tupleAssignability.ts"
8180                }
8181              }
8182            }
8183          ],
8184          "loc": {
8185            "start": {
8186              "line": 80,
8187              "column": 11,
8188              "program": "tupleAssignability.ts"
8189            },
8190            "end": {
8191              "line": 80,
8192              "column": 34,
8193              "program": "tupleAssignability.ts"
8194            }
8195          }
8196        },
8197        "loc": {
8198          "start": {
8199            "line": 80,
8200            "column": 1,
8201            "program": "tupleAssignability.ts"
8202          },
8203          "end": {
8204            "line": 80,
8205            "column": 34,
8206            "program": "tupleAssignability.ts"
8207          }
8208        }
8209      },
8210      "loc": {
8211        "start": {
8212          "line": 80,
8213          "column": 1,
8214          "program": "tupleAssignability.ts"
8215        },
8216        "end": {
8217          "line": 80,
8218          "column": 35,
8219          "program": "tupleAssignability.ts"
8220        }
8221      }
8222    },
8223    {
8224      "type": "VariableDeclaration",
8225      "declarations": [
8226        {
8227          "type": "VariableDeclarator",
8228          "id": {
8229            "type": "Identifier",
8230            "name": "tuple25",
8231            "typeAnnotation": {
8232              "type": "TSUnionType",
8233              "types": [
8234                {
8235                  "type": "TSArrayType",
8236                  "elementType": {
8237                    "type": "TSNumberKeyword",
8238                    "loc": {
8239                      "start": {
8240                        "line": 82,
8241                        "column": 14,
8242                        "program": "tupleAssignability.ts"
8243                      },
8244                      "end": {
8245                        "line": 82,
8246                        "column": 20,
8247                        "program": "tupleAssignability.ts"
8248                      }
8249                    }
8250                  },
8251                  "annotations": [],
8252                  "loc": {
8253                    "start": {
8254                      "line": 82,
8255                      "column": 14,
8256                      "program": "tupleAssignability.ts"
8257                    },
8258                    "end": {
8259                      "line": 82,
8260                      "column": 22,
8261                      "program": "tupleAssignability.ts"
8262                    }
8263                  }
8264                },
8265                {
8266                  "type": "TSTupleType",
8267                  "elementTypes": [
8268                    {
8269                      "type": "TSStringKeyword",
8270                      "loc": {
8271                        "start": {
8272                          "line": 82,
8273                          "column": 26,
8274                          "program": "tupleAssignability.ts"
8275                        },
8276                        "end": {
8277                          "line": 82,
8278                          "column": 33,
8279                          "program": "tupleAssignability.ts"
8280                        }
8281                      }
8282                    },
8283                    {
8284                      "type": "TSStringKeyword",
8285                      "loc": {
8286                        "start": {
8287                          "line": 82,
8288                          "column": 34,
8289                          "program": "tupleAssignability.ts"
8290                        },
8291                        "end": {
8292                          "line": 82,
8293                          "column": 41,
8294                          "program": "tupleAssignability.ts"
8295                        }
8296                      }
8297                    }
8298                  ],
8299                  "loc": {
8300                    "start": {
8301                      "line": 82,
8302                      "column": 25,
8303                      "program": "tupleAssignability.ts"
8304                    },
8305                    "end": {
8306                      "line": 82,
8307                      "column": 41,
8308                      "program": "tupleAssignability.ts"
8309                    }
8310                  }
8311                },
8312                {
8313                  "type": "TSNumberKeyword",
8314                  "loc": {
8315                    "start": {
8316                      "line": 82,
8317                      "column": 44,
8318                      "program": "tupleAssignability.ts"
8319                    },
8320                    "end": {
8321                      "line": 82,
8322                      "column": 50,
8323                      "program": "tupleAssignability.ts"
8324                    }
8325                  }
8326                }
8327              ],
8328              "loc": {
8329                "start": {
8330                  "line": 82,
8331                  "column": 14,
8332                  "program": "tupleAssignability.ts"
8333                },
8334                "end": {
8335                  "line": 82,
8336                  "column": 50,
8337                  "program": "tupleAssignability.ts"
8338                }
8339              }
8340            },
8341            "decorators": [],
8342            "loc": {
8343              "start": {
8344                "line": 82,
8345                "column": 5,
8346                "program": "tupleAssignability.ts"
8347              },
8348              "end": {
8349                "line": 82,
8350                "column": 12,
8351                "program": "tupleAssignability.ts"
8352              }
8353            }
8354          },
8355          "init": null,
8356          "loc": {
8357            "start": {
8358              "line": 82,
8359              "column": 5,
8360              "program": "tupleAssignability.ts"
8361            },
8362            "end": {
8363              "line": 82,
8364              "column": 12,
8365              "program": "tupleAssignability.ts"
8366            }
8367          }
8368        }
8369      ],
8370      "kind": "var",
8371      "loc": {
8372        "start": {
8373          "line": 82,
8374          "column": 1,
8375          "program": "tupleAssignability.ts"
8376        },
8377        "end": {
8378          "line": 82,
8379          "column": 51,
8380          "program": "tupleAssignability.ts"
8381        }
8382      }
8383    },
8384    {
8385      "type": "ExpressionStatement",
8386      "expression": {
8387        "type": "AssignmentExpression",
8388        "operator": "=",
8389        "left": {
8390          "type": "Identifier",
8391          "name": "tuple25",
8392          "decorators": [],
8393          "loc": {
8394            "start": {
8395              "line": 83,
8396              "column": 1,
8397              "program": "tupleAssignability.ts"
8398            },
8399            "end": {
8400              "line": 83,
8401              "column": 8,
8402              "program": "tupleAssignability.ts"
8403            }
8404          }
8405        },
8406        "right": {
8407          "type": "ArrayExpression",
8408          "elements": [
8409            {
8410              "type": "NumberLiteral",
8411              "value": 1,
8412              "loc": {
8413                "start": {
8414                  "line": 83,
8415                  "column": 12,
8416                  "program": "tupleAssignability.ts"
8417                },
8418                "end": {
8419                  "line": 83,
8420                  "column": 13,
8421                  "program": "tupleAssignability.ts"
8422                }
8423              }
8424            },
8425            {
8426              "type": "NumberLiteral",
8427              "value": 2,
8428              "loc": {
8429                "start": {
8430                  "line": 83,
8431                  "column": 15,
8432                  "program": "tupleAssignability.ts"
8433                },
8434                "end": {
8435                  "line": 83,
8436                  "column": 16,
8437                  "program": "tupleAssignability.ts"
8438                }
8439              }
8440            },
8441            {
8442              "type": "NumberLiteral",
8443              "value": 3,
8444              "loc": {
8445                "start": {
8446                  "line": 83,
8447                  "column": 18,
8448                  "program": "tupleAssignability.ts"
8449                },
8450                "end": {
8451                  "line": 83,
8452                  "column": 19,
8453                  "program": "tupleAssignability.ts"
8454                }
8455              }
8456            },
8457            {
8458              "type": "NumberLiteral",
8459              "value": 4,
8460              "loc": {
8461                "start": {
8462                  "line": 83,
8463                  "column": 21,
8464                  "program": "tupleAssignability.ts"
8465                },
8466                "end": {
8467                  "line": 83,
8468                  "column": 22,
8469                  "program": "tupleAssignability.ts"
8470                }
8471              }
8472            },
8473            {
8474              "type": "NumberLiteral",
8475              "value": 5,
8476              "loc": {
8477                "start": {
8478                  "line": 83,
8479                  "column": 24,
8480                  "program": "tupleAssignability.ts"
8481                },
8482                "end": {
8483                  "line": 83,
8484                  "column": 25,
8485                  "program": "tupleAssignability.ts"
8486                }
8487              }
8488            }
8489          ],
8490          "loc": {
8491            "start": {
8492              "line": 83,
8493              "column": 11,
8494              "program": "tupleAssignability.ts"
8495            },
8496            "end": {
8497              "line": 83,
8498              "column": 26,
8499              "program": "tupleAssignability.ts"
8500            }
8501          }
8502        },
8503        "loc": {
8504          "start": {
8505            "line": 83,
8506            "column": 1,
8507            "program": "tupleAssignability.ts"
8508          },
8509          "end": {
8510            "line": 83,
8511            "column": 26,
8512            "program": "tupleAssignability.ts"
8513          }
8514        }
8515      },
8516      "loc": {
8517        "start": {
8518          "line": 83,
8519          "column": 1,
8520          "program": "tupleAssignability.ts"
8521        },
8522        "end": {
8523          "line": 83,
8524          "column": 27,
8525          "program": "tupleAssignability.ts"
8526        }
8527      }
8528    },
8529    {
8530      "type": "ExpressionStatement",
8531      "expression": {
8532        "type": "AssignmentExpression",
8533        "operator": "=",
8534        "left": {
8535          "type": "Identifier",
8536          "name": "tuple25",
8537          "decorators": [],
8538          "loc": {
8539            "start": {
8540              "line": 84,
8541              "column": 1,
8542              "program": "tupleAssignability.ts"
8543            },
8544            "end": {
8545              "line": 84,
8546              "column": 8,
8547              "program": "tupleAssignability.ts"
8548            }
8549          }
8550        },
8551        "right": {
8552          "type": "ArrayExpression",
8553          "elements": [
8554            {
8555              "type": "StringLiteral",
8556              "value": "foo",
8557              "loc": {
8558                "start": {
8559                  "line": 84,
8560                  "column": 12,
8561                  "program": "tupleAssignability.ts"
8562                },
8563                "end": {
8564                  "line": 84,
8565                  "column": 17,
8566                  "program": "tupleAssignability.ts"
8567                }
8568              }
8569            },
8570            {
8571              "type": "StringLiteral",
8572              "value": "bar",
8573              "loc": {
8574                "start": {
8575                  "line": 84,
8576                  "column": 19,
8577                  "program": "tupleAssignability.ts"
8578                },
8579                "end": {
8580                  "line": 84,
8581                  "column": 24,
8582                  "program": "tupleAssignability.ts"
8583                }
8584              }
8585            }
8586          ],
8587          "loc": {
8588            "start": {
8589              "line": 84,
8590              "column": 11,
8591              "program": "tupleAssignability.ts"
8592            },
8593            "end": {
8594              "line": 84,
8595              "column": 25,
8596              "program": "tupleAssignability.ts"
8597            }
8598          }
8599        },
8600        "loc": {
8601          "start": {
8602            "line": 84,
8603            "column": 1,
8604            "program": "tupleAssignability.ts"
8605          },
8606          "end": {
8607            "line": 84,
8608            "column": 25,
8609            "program": "tupleAssignability.ts"
8610          }
8611        }
8612      },
8613      "loc": {
8614        "start": {
8615          "line": 84,
8616          "column": 1,
8617          "program": "tupleAssignability.ts"
8618        },
8619        "end": {
8620          "line": 84,
8621          "column": 26,
8622          "program": "tupleAssignability.ts"
8623        }
8624      }
8625    },
8626    {
8627      "type": "ExpressionStatement",
8628      "expression": {
8629        "type": "AssignmentExpression",
8630        "operator": "=",
8631        "left": {
8632          "type": "Identifier",
8633          "name": "tuple25",
8634          "decorators": [],
8635          "loc": {
8636            "start": {
8637              "line": 85,
8638              "column": 1,
8639              "program": "tupleAssignability.ts"
8640            },
8641            "end": {
8642              "line": 85,
8643              "column": 8,
8644              "program": "tupleAssignability.ts"
8645            }
8646          }
8647        },
8648        "right": {
8649          "type": "NumberLiteral",
8650          "value": 12,
8651          "loc": {
8652            "start": {
8653              "line": 85,
8654              "column": 11,
8655              "program": "tupleAssignability.ts"
8656            },
8657            "end": {
8658              "line": 85,
8659              "column": 13,
8660              "program": "tupleAssignability.ts"
8661            }
8662          }
8663        },
8664        "loc": {
8665          "start": {
8666            "line": 85,
8667            "column": 1,
8668            "program": "tupleAssignability.ts"
8669          },
8670          "end": {
8671            "line": 85,
8672            "column": 13,
8673            "program": "tupleAssignability.ts"
8674          }
8675        }
8676      },
8677      "loc": {
8678        "start": {
8679          "line": 85,
8680          "column": 1,
8681          "program": "tupleAssignability.ts"
8682        },
8683        "end": {
8684          "line": 85,
8685          "column": 14,
8686          "program": "tupleAssignability.ts"
8687        }
8688      }
8689    }
8690  ],
8691  "loc": {
8692    "start": {
8693      "line": 1,
8694      "column": 1,
8695      "program": "tupleAssignability.ts"
8696    },
8697    "end": {
8698      "line": 86,
8699      "column": 1,
8700      "program": "tupleAssignability.ts"
8701    }
8702  }
8703}
8704