{
  "programs": [
    "Program {\n    span: 103..6345,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2366..2372,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2362..2372,\n        label: Ident {\n            span: 2362..2364,\n            sym: \"a2\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2399..2405,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2395..2405,\n        label: Ident {\n            span: 2395..2397,\n            sym: \"a3\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2431..2437,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2427..2437,\n        label: Ident {\n            span: 2427..2429,\n            sym: \"a4\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2470..2476,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2466..2476,\n        label: Ident {\n            span: 2466..2468,\n            sym: \"a5\",\n        },\n        body: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3840..3849,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3937..3943,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 3933..3943,\n        label: Ident {\n            span: 3933..3935,\n            sym: \"a2\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3970..3976,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 3966..3976,\n        label: Ident {\n            span: 3966..3968,\n            sym: \"a3\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4002..4008,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 3998..4008,\n        label: Ident {\n            span: 3998..4000,\n            sym: \"a4\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4041..4047,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 4037..4047,\n        label: Ident {\n            span: 4037..4039,\n            sym: \"a5\",\n        },\n        body: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4196..4212,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4363..4379,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4529..4546,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4693..4709,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4783..4799,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4884..4901,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4982..4998,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5127..5143,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5248..5264,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5363..5380,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5528..5544,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5638..5654,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5744..5760,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5853..5870,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 6018..6034,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 6128..6144,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 6233..6249,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 6342..6345,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 6344..6345,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "TsInterface(\n    TsInterfaceDecl {\n        span: 131..327,\n        ident: Ident {\n            span: 141..145,\n            sym: \"Base\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 146..147,\n                sym: \"T\",\n            },\n        ],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 159..185,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 159..160,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 183..215,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 183..185,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 213..244,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 213..215,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 242..280,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 242..244,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 278..312,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 278..280,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 318..429,\n        ident: Ident {\n            span: 328..330,\n            sym: \"I1\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 331..332,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 342..347,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 360..414,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 360..361,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 420..536,\n        ident: Ident {\n            span: 430..432,\n            sym: \"I2\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 433..434,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 444..449,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 462..521,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 462..463,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 527..645,\n        ident: Ident {\n            span: 537..539,\n            sym: \"I3\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 540..541,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 551..556,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 569..629,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 569..570,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 636..748,\n        ident: Ident {\n            span: 646..648,\n            sym: \"I4\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 649..650,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 660..665,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 678..733,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 678..680,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 739..856,\n        ident: Ident {\n            span: 749..751,\n            sym: \"I5\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 752..753,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 763..768,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 781..841,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 781..783,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 847..960,\n        ident: Ident {\n            span: 857..859,\n            sym: \"I6\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 860..861,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 871..876,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 889..944,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 889..891,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 951..1059,\n        ident: Ident {\n            span: 961..963,\n            sym: \"I7\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 964..965,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 975..980,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 993..1044,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 993..995,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1050..1163,\n        ident: Ident {\n            span: 1060..1062,\n            sym: \"I8\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1063..1064,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1074..1079,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1092..1148,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1092..1094,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1154..1270,\n        ident: Ident {\n            span: 1164..1166,\n            sym: \"I9\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1167..1168,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1178..1183,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1196..1255,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1196..1198,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1261..1388,\n        ident: Ident {\n            span: 1271..1274,\n            sym: \"I10\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1275..1276,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1286..1291,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1304..1372,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1304..1306,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1379..1488,\n        ident: Ident {\n            span: 1389..1392,\n            sym: \"I11\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1393..1394,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1404..1409,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1422..1473,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1422..1424,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1479..1600,\n        ident: Ident {\n            span: 1489..1492,\n            sym: \"I12\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1493..1494,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1504..1509,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1522..1585,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1522..1524,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1591..1708,\n        ident: Ident {\n            span: 1601..1604,\n            sym: \"I13\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1605..1606,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1616..1621,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1634..1693,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1634..1636,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1699..1820,\n        ident: Ident {\n            span: 1709..1712,\n            sym: \"I14\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1713..1714,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1724..1729,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1742..1804,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1742..1744,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1811..1920,\n        ident: Ident {\n            span: 1821..1824,\n            sym: \"I15\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1825..1826,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1836..1841,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1854..1905,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1854..1856,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1911..2032,\n        ident: Ident {\n            span: 1921..1924,\n            sym: \"I16\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1925..1926,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 1936..1941,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1954..2017,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1954..1956,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2023..2139,\n        ident: Ident {\n            span: 2033..2036,\n            sym: \"I17\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2037..2038,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2048..2053,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2066..2124,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2066..2068,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2130..2237,\n        ident: Ident {\n            span: 2140..2143,\n            sym: \"I18\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2144..2145,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2155..2160,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2173..2235,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2173..2175,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 103..2245,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 110..124,\n                sym: \"ClassTypeParam\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 2239..2518,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 2246..2270,\n                sym: \"GenericSignaturesInvalid\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2509..2586,\n        ident: Ident {\n            span: 2519..2521,\n            sym: \"I1\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2522..2523,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2533..2540,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2549..2571,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2549..2550,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2577..2658,\n        ident: Ident {\n            span: 2587..2589,\n            sym: \"I2\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2590..2591,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2601..2608,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2617..2643,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2617..2618,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2649..2731,\n        ident: Ident {\n            span: 2659..2661,\n            sym: \"I3\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2662..2663,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2673..2680,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2689..2715,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2689..2690,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2722..2800,\n        ident: Ident {\n            span: 2732..2734,\n            sym: \"I4\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2735..2736,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2746..2753,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2762..2785,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2762..2764,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2791..2872,\n        ident: Ident {\n            span: 2801..2803,\n            sym: \"I5\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2804..2805,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2815..2822,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2831..2857,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2831..2833,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2863..2945,\n        ident: Ident {\n            span: 2873..2875,\n            sym: \"I6\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2876..2877,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2887..2894,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2903..2929,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2903..2905,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2936..3013,\n        ident: Ident {\n            span: 2946..2948,\n            sym: \"I7\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2949..2950,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 2960..2967,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2976..2998,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2976..2978,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3004..3087,\n        ident: Ident {\n            span: 3014..3016,\n            sym: \"I8\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3017..3018,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3028..3035,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3044..3072,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3044..3046,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3078..3160,\n        ident: Ident {\n            span: 3088..3090,\n            sym: \"I9\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3091..3092,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3102..3109,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3118..3145,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3118..3120,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3151..3242,\n        ident: Ident {\n            span: 3161..3164,\n            sym: \"I10\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3165..3166,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3176..3183,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3192..3226,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3192..3194,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3233..3312,\n        ident: Ident {\n            span: 3243..3246,\n            sym: \"I11\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3247..3248,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3258..3265,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3274..3297,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3274..3276,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3303..3394,\n        ident: Ident {\n            span: 3313..3316,\n            sym: \"I12\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3317..3318,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3328..3335,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3344..3379,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3344..3346,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3385..3468,\n        ident: Ident {\n            span: 3395..3398,\n            sym: \"I13\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3399..3400,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3410..3417,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3426..3453,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3426..3428,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3459..3549,\n        ident: Ident {\n            span: 3469..3472,\n            sym: \"I14\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3473..3474,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3484..3491,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3500..3533,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3500..3502,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3540..3619,\n        ident: Ident {\n            span: 3550..3553,\n            sym: \"I15\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3554..3555,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3565..3572,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3581..3604,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3581..3583,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3610..3701,\n        ident: Ident {\n            span: 3620..3623,\n            sym: \"I16\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3624..3625,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3635..3642,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3651..3686,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3651..3653,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3692..3774,\n        ident: Ident {\n            span: 3702..3705,\n            sym: \"I17\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3706..3707,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3717..3724,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3733..3759,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3733..3735,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3765..3841,\n        ident: Ident {\n            span: 3775..3778,\n            sym: \"I18\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3779..3780,\n                sym: \"T\",\n            },\n        ],\n        extends: [\n            Ident {\n                span: 3790..3797,\n                sym: \"Base2\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3806..3839,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3806..3808,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 3843..4107,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 3850..3872,\n                sym: \"GenericSignaturesValid\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)"
  ],
  "pats": [],
  "exprs": [
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 2366..2372,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 2399..2405,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 2431..2437,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 2470..2476,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 3937..3943,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 3970..3976,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 4002..4008,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 4041..4047,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "TypeRef(\n    TsTypeRef {\n        span: 172..174,\n        name: Ident {\n            span: 172..174,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 166..174,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 196..198,\n        name: Ident {\n            span: 196..198,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 202..204,\n        name: Ident {\n            span: 202..204,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 191..204,\n        params: [\n            TsFnParam {\n                span: 192..198,\n                name: Some(\n                    Ident {\n                        span: 192..193,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 225..227,\n        name: Ident {\n            span: 225..227,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 231..233,\n        name: Ident {\n            span: 231..233,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 221..233,\n        params: [\n            TsFnParam {\n                span: 222..227,\n                name: Some(\n                    Ident {\n                        span: 222..223,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 254..256,\n        name: Ident {\n            span: 254..256,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 261..263,\n        name: Ident {\n            span: 261..263,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 267..269,\n        name: Ident {\n            span: 267..269,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 250..269,\n        params: [\n            TsFnParam {\n                span: 251..256,\n                name: Some(\n                    Ident {\n                        span: 251..252,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 257..263,\n                name: Some(\n                    Ident {\n                        span: 257..258,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 291..293,\n        name: Ident {\n            span: 291..293,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 298..300,\n        name: Ident {\n            span: 298..300,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 304..306,\n        name: Ident {\n            span: 304..306,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 286..306,\n        params: [\n            TsFnParam {\n                span: 287..293,\n                name: Some(\n                    Ident {\n                        span: 287..288,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 294..300,\n                name: Some(\n                    Ident {\n                        span: 294..295,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 373..375,\n        name: Ident {\n            span: 373..375,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 367..375,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 474..476,\n        name: Ident {\n            span: 474..476,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 480..482,\n        name: Ident {\n            span: 480..482,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 469..482,\n        params: [\n            TsFnParam {\n                span: 470..476,\n                name: Some(\n                    Ident {\n                        span: 470..471,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 580..582,\n        name: Ident {\n            span: 580..582,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 586..588,\n        name: Ident {\n            span: 586..588,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 576..588,\n        params: [\n            TsFnParam {\n                span: 577..582,\n                name: Some(\n                    Ident {\n                        span: 577..578,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 692..694,\n        name: Ident {\n            span: 692..694,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 686..694,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 794..796,\n        name: Ident {\n            span: 794..796,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 800..802,\n        name: Ident {\n            span: 800..802,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 789..802,\n        params: [\n            TsFnParam {\n                span: 790..796,\n                name: Some(\n                    Ident {\n                        span: 790..791,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 901..903,\n        name: Ident {\n            span: 901..903,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 907..909,\n        name: Ident {\n            span: 907..909,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 897..909,\n        params: [\n            TsFnParam {\n                span: 898..903,\n                name: Some(\n                    Ident {\n                        span: 898..899,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1007..1009,\n        name: Ident {\n            span: 1007..1009,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1001..1009,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1105..1107,\n        name: Ident {\n            span: 1105..1107,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1111..1113,\n        name: Ident {\n            span: 1111..1113,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1100..1113,\n        params: [\n            TsFnParam {\n                span: 1101..1107,\n                name: Some(\n                    Ident {\n                        span: 1101..1102,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1208..1210,\n        name: Ident {\n            span: 1208..1210,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1214..1216,\n        name: Ident {\n            span: 1214..1216,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1204..1216,\n        params: [\n            TsFnParam {\n                span: 1205..1210,\n                name: Some(\n                    Ident {\n                        span: 1205..1206,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1316..1318,\n        name: Ident {\n            span: 1316..1318,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1322..1324,\n        name: Ident {\n            span: 1322..1324,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1328..1330,\n        name: Ident {\n            span: 1328..1330,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1312..1330,\n        params: [\n            TsFnParam {\n                span: 1313..1318,\n                name: Some(\n                    Ident {\n                        span: 1313..1314,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 1319..1324,\n                name: Some(\n                    Ident {\n                        span: 1319..1320,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1436..1438,\n        name: Ident {\n            span: 1436..1438,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1430..1438,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1535..1537,\n        name: Ident {\n            span: 1535..1537,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1542..1544,\n        name: Ident {\n            span: 1542..1544,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1548..1550,\n        name: Ident {\n            span: 1548..1550,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1530..1550,\n        params: [\n            TsFnParam {\n                span: 1531..1537,\n                name: Some(\n                    Ident {\n                        span: 1531..1532,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 1538..1544,\n                name: Some(\n                    Ident {\n                        span: 1538..1539,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1646..1648,\n        name: Ident {\n            span: 1646..1648,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1652..1654,\n        name: Ident {\n            span: 1652..1654,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1642..1654,\n        params: [\n            TsFnParam {\n                span: 1643..1648,\n                name: Some(\n                    Ident {\n                        span: 1643..1644,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1754..1756,\n        name: Ident {\n            span: 1754..1756,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1760..1762,\n        name: Ident {\n            span: 1760..1762,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1766..1768,\n        name: Ident {\n            span: 1766..1768,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1750..1768,\n        params: [\n            TsFnParam {\n                span: 1751..1756,\n                name: Some(\n                    Ident {\n                        span: 1751..1752,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 1757..1762,\n                name: Some(\n                    Ident {\n                        span: 1757..1758,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1868..1870,\n        name: Ident {\n            span: 1868..1870,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1862..1870,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1967..1969,\n        name: Ident {\n            span: 1967..1969,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1974..1976,\n        name: Ident {\n            span: 1974..1976,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1980..1982,\n        name: Ident {\n            span: 1980..1982,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1962..1982,\n        params: [\n            TsFnParam {\n                span: 1963..1969,\n                name: Some(\n                    Ident {\n                        span: 1963..1964,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 1970..1976,\n                name: Some(\n                    Ident {\n                        span: 1970..1971,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2078..2080,\n        name: Ident {\n            span: 2078..2080,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2084..2086,\n        name: Ident {\n            span: 2084..2086,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2074..2086,\n        params: [\n            TsFnParam {\n                span: 2075..2080,\n                name: Some(\n                    Ident {\n                        span: 2075..2076,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2185..2187,\n        name: Ident {\n            span: 2185..2187,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2191..2193,\n        name: Ident {\n            span: 2191..2193,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2197..2199,\n        name: Ident {\n            span: 2197..2199,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2181..2199,\n        params: [\n            TsFnParam {\n                span: 2182..2187,\n                name: Some(\n                    Ident {\n                        span: 2182..2183,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 2188..2193,\n                name: Some(\n                    Ident {\n                        span: 2188..2189,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2562..2564,\n        name: Ident {\n            span: 2562..2564,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2556..2564,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2629..2631,\n        name: Ident {\n            span: 2629..2631,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2635..2637,\n        name: Ident {\n            span: 2635..2637,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2624..2637,\n        params: [\n            TsFnParam {\n                span: 2625..2631,\n                name: Some(\n                    Ident {\n                        span: 2625..2626,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2700..2702,\n        name: Ident {\n            span: 2700..2702,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2706..2708,\n        name: Ident {\n            span: 2706..2708,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2696..2708,\n        params: [\n            TsFnParam {\n                span: 2697..2702,\n                name: Some(\n                    Ident {\n                        span: 2697..2698,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2776..2778,\n        name: Ident {\n            span: 2776..2778,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2770..2778,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2844..2846,\n        name: Ident {\n            span: 2844..2846,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2850..2857,\n        name: Ident {\n            span: 2850..2857,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2839..2857,\n        params: [\n            TsFnParam {\n                span: 2840..2846,\n                name: Some(\n                    Ident {\n                        span: 2840..2841,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2915..2917,\n        name: Ident {\n            span: 2915..2917,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2921..2923,\n        name: Ident {\n            span: 2921..2923,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2911..2923,\n        params: [\n            TsFnParam {\n                span: 2912..2917,\n                name: Some(\n                    Ident {\n                        span: 2912..2913,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2990..2992,\n        name: Ident {\n            span: 2990..2992,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 2984..2992,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3057..3059,\n        name: Ident {\n            span: 3057..3059,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3063..3065,\n        name: Ident {\n            span: 3063..3065,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3052..3065,\n        params: [\n            TsFnParam {\n                span: 3053..3059,\n                name: Some(\n                    Ident {\n                        span: 3053..3054,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3130..3132,\n        name: Ident {\n            span: 3130..3132,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3136..3138,\n        name: Ident {\n            span: 3136..3138,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3126..3138,\n        params: [\n            TsFnParam {\n                span: 3127..3132,\n                name: Some(\n                    Ident {\n                        span: 3127..3128,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3204..3206,\n        name: Ident {\n            span: 3204..3206,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3210..3212,\n        name: Ident {\n            span: 3210..3212,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3216..3218,\n        name: Ident {\n            span: 3216..3218,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3200..3218,\n        params: [\n            TsFnParam {\n                span: 3201..3206,\n                name: Some(\n                    Ident {\n                        span: 3201..3202,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 3207..3212,\n                name: Some(\n                    Ident {\n                        span: 3207..3208,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3288..3290,\n        name: Ident {\n            span: 3288..3290,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3282..3290,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3357..3359,\n        name: Ident {\n            span: 3357..3359,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3364..3366,\n        name: Ident {\n            span: 3364..3366,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3370..3372,\n        name: Ident {\n            span: 3370..3372,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3352..3372,\n        params: [\n            TsFnParam {\n                span: 3353..3359,\n                name: Some(\n                    Ident {\n                        span: 3353..3354,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 3360..3366,\n                name: Some(\n                    Ident {\n                        span: 3360..3361,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3438..3440,\n        name: Ident {\n            span: 3438..3440,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3444..3446,\n        name: Ident {\n            span: 3444..3446,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3434..3446,\n        params: [\n            TsFnParam {\n                span: 3435..3440,\n                name: Some(\n                    Ident {\n                        span: 3435..3436,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3512..3514,\n        name: Ident {\n            span: 3512..3514,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3518..3520,\n        name: Ident {\n            span: 3518..3520,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3524..3526,\n        name: Ident {\n            span: 3524..3526,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3508..3526,\n        params: [\n            TsFnParam {\n                span: 3509..3514,\n                name: Some(\n                    Ident {\n                        span: 3509..3510,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 3515..3520,\n                name: Some(\n                    Ident {\n                        span: 3515..3516,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3595..3597,\n        name: Ident {\n            span: 3595..3597,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3589..3597,\n        params: [],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3664..3666,\n        name: Ident {\n            span: 3664..3666,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3671..3673,\n        name: Ident {\n            span: 3671..3673,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3677..3679,\n        name: Ident {\n            span: 3677..3679,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3659..3679,\n        params: [\n            TsFnParam {\n                span: 3660..3666,\n                name: Some(\n                    Ident {\n                        span: 3660..3661,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 3667..3673,\n                name: Some(\n                    Ident {\n                        span: 3667..3668,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3745..3747,\n        name: Ident {\n            span: 3745..3747,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3751..3753,\n        name: Ident {\n            span: 3751..3753,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3741..3753,\n        params: [\n            TsFnParam {\n                span: 3742..3747,\n                name: Some(\n                    Ident {\n                        span: 3742..3743,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3818..3820,\n        name: Ident {\n            span: 3818..3820,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3824..3826,\n        name: Ident {\n            span: 3824..3826,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3830..3832,\n        name: Ident {\n            span: 3830..3832,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3814..3832,\n        params: [\n            TsFnParam {\n                span: 3815..3820,\n                name: Some(\n                    Ident {\n                        span: 3815..3816,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 3821..3826,\n                name: Some(\n                    Ident {\n                        span: 3821..3822,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)"
  ]
}
