{
  "programs": [
    "Program {\n    span: 1..588,\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}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 272..285,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 282..300,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 297..328,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 343..356,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 353..371,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 368..392,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 419..436,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 431..453,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 448..481,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 514..543,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 537..561,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 555..588,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1..48,\n        ident: Ident {\n            span: 6..8,\n            sym: \"F1\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 44..103,\n        ident: Ident {\n            span: 49..51,\n            sym: \"F2\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 99..153,\n        ident: Ident {\n            span: 104..106,\n            sym: \"F3\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 149..215,\n        ident: Ident {\n            span: 154..156,\n            sym: \"F4\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 211..257,\n        ident: Ident {\n            span: 216..218,\n            sym: \"F5\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 254..275,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 254..271,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 325..346,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 325..342,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 389..424,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 389..418,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 478..520,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 478..513,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 258..261,\n        sym: \"f12\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 329..332,\n        sym: \"f34\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 393..398,\n        sym: \"f1234\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 482..488,\n        sym: \"f12345\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 272..275,\n        sym: \"f12\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 276..279,\n            value: \"a\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 275..281,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 282..285,\n        sym: \"f12\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 286..289,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 291..294,\n            value: \"b\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 285..296,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 297..300,\n        sym: \"f12\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 301..304,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 306..309,\n            value: \"b\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 311..314,\n            value: \"c\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 300..316,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 343..346,\n        sym: \"f34\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 347..350,\n            value: \"a\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 346..352,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 353..356,\n        sym: \"f34\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 357..360,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 362..365,\n            value: \"b\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 356..367,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 368..371,\n        sym: \"f34\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 372..375,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 377..380,\n            value: \"b\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 382..385,\n            value: \"c\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 371..387,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 419..424,\n        sym: \"f1234\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 425..428,\n            value: \"a\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 424..430,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 431..436,\n        sym: \"f1234\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 437..440,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 442..445,\n            value: \"b\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 436..447,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 448..453,\n        sym: \"f1234\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 454..457,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 459..462,\n            value: \"b\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 464..467,\n            value: \"c\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 453..469,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 514..520,\n        sym: \"f12345\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 521..524,\n            value: \"a\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 520..526,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 537..543,\n        sym: \"f12345\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 544..547,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 549..552,\n            value: \"b\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 543..554,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 555..561,\n        sym: \"f12345\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 562..565,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 567..570,\n            value: \"b\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 572..575,\n            value: \"c\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 561..577,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Void,\n)",
    "Fn(\n    TsFnType {\n        span: 11..43,\n        params: [\n            TsFnParam {\n                span: 12..22,\n                name: Some(\n                    Ident {\n                        span: 12..13,\n                        sym: \"a\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 23..34,\n                name: Some(\n                    Ident {\n                        span: 23..24,\n                        sym: \"b\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Void,\n)",
    "Fn(\n    TsFnType {\n        span: 54..98,\n        params: [\n            TsFnParam {\n                span: 55..65,\n                name: Some(\n                    Ident {\n                        span: 55..56,\n                        sym: \"a\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 66..77,\n                name: Some(\n                    Ident {\n                        span: 66..67,\n                        sym: \"b\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 78..89,\n                name: Some(\n                    Ident {\n                        span: 78..79,\n                        sym: \"c\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 130..139,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Void,\n)",
    "Fn(\n    TsFnType {\n        span: 109..148,\n        params: [\n            TsFnParam {\n                span: 110..120,\n                name: Some(\n                    Ident {\n                        span: 110..111,\n                        sym: \"a\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 121..139,\n                name: Some(\n                    Ident {\n                        span: 124..128,\n                        sym: \"rest\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 192..201,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Void,\n)",
    "Fn(\n    TsFnType {\n        span: 159..210,\n        params: [\n            TsFnParam {\n                span: 160..170,\n                name: Some(\n                    Ident {\n                        span: 160..161,\n                        sym: \"a\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 171..182,\n                name: Some(\n                    Ident {\n                        span: 171..172,\n                        sym: \"b\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 183..201,\n                name: Some(\n                    Ident {\n                        span: 186..190,\n                        sym: \"rest\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Void,\n)",
    "Fn(\n    TsFnType {\n        span: 221..252,\n        params: [\n            TsFnParam {\n                span: 222..232,\n                name: Some(\n                    Ident {\n                        span: 222..223,\n                        sym: \"a\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 233..243,\n                name: Some(\n                    Ident {\n                        span: 233..234,\n                        sym: \"b\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)"
  ]
}
