{
  "programs": [
    "Program {\n    span: 24..1924,\n    kind: Module,\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    ],\n}"
  ],
  "stmts": [
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 406..414,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 413..421,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 420..429,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 428..436,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 435..443,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 442..451,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 450..458,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 457..465,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 464..473,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 472..480,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 479..487,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 486..500,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 772..793,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1287..1295,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1294..1308,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1490..1498,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1497..1512,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)"
  ],
  "decls": [
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 31..86,\n        ident: Ident {\n            span: 36..43,\n            sym: \"Segment\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 87..283,\n        ident: Ident {\n            span: 92..108,\n            sym: \"SegmentAnnotated\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 284..307,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 284..299,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 308..340,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 308..332,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 341..373,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 341..365,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 374..407,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 374..404,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 501..583,\n        ident: Ident {\n            span: 506..520,\n            sym: \"WithOptAndRest\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 584..639,\n        ident: Ident {\n            span: 589..593,\n            sym: \"Func\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 594..595,\n                sym: \"T\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 640..699,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 640..691,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 700..802,\n        ident: Ident {\n            span: 709..717,\n            sym: \"useState\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 803..864,\n        ident: Ident {\n            span: 808..812,\n            sym: \"Iter\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 865..1015,\n        ident: Ident {\n            span: 874..885,\n            sym: \"readSegment\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1016..1085,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1016..1077,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1086..1158,\n        ident: Ident {\n            span: 1091..1106,\n            sym: \"RecursiveTupleA\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1159..1229,\n        ident: Ident {\n            span: 1164..1179,\n            sym: \"RecursiveTupleB\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1230..1261,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 1230..1253,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1262..1288,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 1262..1285,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1309..1377,\n        ident: Ident {\n            span: 1314..1326,\n            sym: \"RecusiveRest\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1378..1437,\n        ident: Ident {\n            span: 1383..1396,\n            sym: \"RecusiveRest2\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1438..1466,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 1438..1458,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1467..1491,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 1467..1488,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1513..1561,\n        ident: Ident {\n            span: 1522..1523,\n            sym: \"f\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1562..1618,\n        ident: Ident {\n            span: 1571..1572,\n            sym: \"g\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1619..1712,\n        ident: Ident {\n            span: 1628..1647,\n            sym: \"getArgsForInjection\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1713..1835,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1713..1775,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1836..1924,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1836..1886,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 288..289,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 312..313,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 345..346,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 378..379,\n        sym: \"d\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 406..407,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 413..414,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 420..421,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 428..429,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 435..436,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 442..443,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 450..451,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 457..458,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 464..465,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 472..473,\n        sym: \"d\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 479..480,\n        sym: \"d\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 486..487,\n        sym: \"d\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 646..650,\n        sym: \"func\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 651..691,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 721..728,\n        sym: \"initial\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 887..893,\n        sym: \"length\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 895..900,\n        sym: \"count\",\n    },\n)",
    "Array(\n    ArrayPat {\n        span: 886..902,\n        elems: [\n            Some(\n                _,\n            ),\n            Some(\n                _,\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1022..1025,\n        sym: \"val\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1026..1077,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1234..1235,\n        sym: \"q\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1266..1267,\n        sym: \"r\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1287..1288,\n        sym: \"q\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1294..1295,\n        sym: \"r\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1442..1443,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1471..1472,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1490..1491,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1497..1498,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1544..1545,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1541..1546,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1573..1577,\n        sym: \"elem\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1587..1592,\n        sym: \"index\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1683..1684,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1719..1746,\n        sym: \"argumentsOfGAsFirstArgument\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1747..1775,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1842..1854,\n        sym: \"argumentsOfG\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1855..1886,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 410..411,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 408..412,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 417..418,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 415..419,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 424..425,\n        sym: \"d\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 422..426,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 432..433,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 430..434,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 439..440,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 437..441,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 446..447,\n        sym: \"d\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 444..448,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 454..455,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 452..456,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 461..462,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 459..463,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 468..469,\n        sym: \"d\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 466..470,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 476..477,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 474..478,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 483..484,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 481..485,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 490..491,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 488..492,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 653..657,\n        },\n    ),\n)",
    "TsAs(\n    TsAsExpr {\n        span: 658..667,\n        expr: _,\n        ty: _,\n    },\n)",
    "TsAs(\n    TsAsExpr {\n        span: 665..691,\n        expr: _,\n        ty: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 779..783,\n        },\n    ),\n)",
    "TsAs(\n    TsAsExpr {\n        span: 784..791,\n        expr: _,\n        ty: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 1028..1032,\n        },\n    ),\n)",
    "TsAs(\n    TsAsExpr {\n        span: 1033..1042,\n        expr: _,\n        ty: _,\n    },\n)",
    "TsAs(\n    TsAsExpr {\n        span: 1040..1077,\n        expr: _,\n        ty: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1291..1292,\n        sym: \"r\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1289..1293,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1298..1299,\n        sym: \"q\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1296..1300,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1494..1495,\n        sym: \"y\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1492..1496,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1501..1502,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1499..1503,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1749..1750,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1751..1770,\n        sym: \"getArgsForInjection\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1771..1772,\n        sym: \"g\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1770..1774,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1750..1775,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1857..1858,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1862..1881,\n        sym: \"getArgsForInjection\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1882..1883,\n        sym: \"g\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1881..1885,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1858..1886,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [
    "ExportDecl(\n    ExportDecl {\n        span: 24..86,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 80..283,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 494..583,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 577..639,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 633..699,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 693..802,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 796..864,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 858..1015,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1009..1085,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1079..1158,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1152..1229,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1302..1377,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1371..1437,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1706..1835,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 1829..1924,\n        decl: _,\n    },\n)"
  ],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Tuple(\n    TsTupleType {\n        span: 46..78,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Tuple(\n    TsTupleType {\n        span: 111..274,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 565..574,\n        elem_type: _,\n    },\n)",
    "Tuple(\n    TsTupleType {\n        span: 523..575,\n        elem_types: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 620..622,\n        name: Ident {\n            span: 620..622,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Void,\n)",
    "Fn(\n    TsFnType {\n        span: 613..631,\n        params: [\n            TsFnParam {\n                span: 614..622,\n                name: Some(\n                    Ident {\n                        span: 617..618,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Any,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 673..690,\n        name: Ident {\n            span: 673..690,\n            sym: \"SegmentAnnotated\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 668..691,\n        name: Ident {\n            span: 668..673,\n            sym: \"Func\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Any,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Tuple(\n    TsTupleType {\n        span: 820..855,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 815..856,\n        name: Ident {\n            span: 815..820,\n            sym: \"Func\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Any,\n)",
    "TypeQuery(\n    TsTypeQuery {\n        span: 1054..1073,\n        expr_name: Ident {\n            span: 1061..1073,\n            sym: \"readSegment\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1043..1074,\n        name: Ident {\n            span: 1043..1054,\n            sym: \"Parameters\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1074..1075,\n            value: 0.0,\n        },\n    ),\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1043..1077,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1133..1149,\n        name: Ident {\n            span: 1133..1149,\n            sym: \"RecursiveTupleA\",\n        },\n        type_args: [],\n    },\n)",
    "Tuple(\n    TsTupleType {\n        span: 1109..1150,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1203..1219,\n        name: Ident {\n            span: 1203..1219,\n            sym: \"RecursiveTupleB\",\n        },\n        type_args: [],\n    },\n)",
    "Tuple(\n    TsTupleType {\n        span: 1182..1220,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1354..1367,\n        name: Ident {\n            span: 1354..1367,\n            sym: \"RecusiveRest\",\n        },\n        type_args: [],\n    },\n)",
    "Array(\n    TsArrayType {\n        span: 1354..1369,\n        elem_type: _,\n    },\n)",
    "Tuple(\n    TsTupleType {\n        span: 1329..1370,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1411..1425,\n        name: Ident {\n            span: 1411..1425,\n            sym: \"RecusiveRest2\",\n        },\n        type_args: [],\n    },\n)",
    "Array(\n    TsArrayType {\n        span: 1411..1427,\n        elem_type: _,\n    },\n)",
    "Tuple(\n    TsTupleType {\n        span: 1399..1428,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)"
  ]
}
