{
  "programs": [
    "Program {\n    span: 41..2580,\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        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 87..119,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 118..147,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 146..178,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 177..212,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 211..256,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 311..333,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 331..350,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 348..370,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 368..393,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 391..425,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 469..501,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 500..529,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 528..560,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 559..594,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 593..638,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 693..715,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 713..732,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 730..752,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 750..775,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 773..807,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 843..878,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 877..909,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 908..943,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 942..980,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 979..1027,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1093..1115,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1113..1132,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1130..1152,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1150..1175,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1173..1208,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1241..1272,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1271..1308,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1307..1354,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1401..1423,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1422..1447,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1446..1470,\n        expr: _,\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: 2068..2132,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2191..2229,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2225..2279,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2453..2466,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2565..2578,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 49..88,\n        kind: Const,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 49..85,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 257..313,\n        ident: Ident {\n            span: 266..268,\n            sym: \"f1\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 426..470,\n        kind: Const,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 426..467,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 639..695,\n        ident: Ident {\n            span: 648..650,\n            sym: \"f2\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 808..844,\n        kind: Const,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 808..841,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1028..1095,\n        ident: Ident {\n            span: 1037..1039,\n            sym: \"f3\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1346..1402,\n        ident: Ident {\n            span: 1355..1356,\n            sym: \"f\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1200..1479,\n        ident: Ident {\n            span: 1209..1211,\n            sym: \"f4\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1480..1558,\n        ident: Ident {\n            span: 1489..1491,\n            sym: \"f5\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1555..1586,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1555..1582,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1583..1613,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1583..1609,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1610..1648,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1610..1644,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1645..1694,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1645..1690,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1691..1731,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1691..1722,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1732..1831,\n        ident: Ident {\n            span: 1741..1745,\n            sym: \"pipe\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1828..1867,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1828..1863,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1864..1911,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1864..1907,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1908..1953,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1908..1949,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1950..2038,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1950..2007,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2039..2069,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 2039..2067,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2133..2192,\n        ident: Ident {\n            span: 2142..2146,\n            sym: \"take\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 2275..2332,\n        ident: Ident {\n            span: 2280..2289,\n            sym: \"ArgsUnion\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 2328..2390,\n        ident: Ident {\n            span: 2333..2347,\n            sym: \"TupleUnionFunc\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2385..2474,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2385..2467,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2531..2571,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2531..2562,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2469..2580,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2469..2579,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 55..57,\n        sym: \"t1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 98..99,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 101..102,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 104..105,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 132..133,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 129..134,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 157..158,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 163..164,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 160..165,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 188..189,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 191..192,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 197..198,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 194..199,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 222..223,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 225..226,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 228..229,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 234..235,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 231..236,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 269..271,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 315..316,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 318..319,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 321..322,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 338..339,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 335..340,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 352..353,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 358..359,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 355..360,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 372..373,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 375..376,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 381..382,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 378..383,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 395..396,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 398..399,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 401..402,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 407..408,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 404..409,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 432..434,\n        sym: \"t2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 480..481,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 483..484,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 486..487,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 514..515,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 511..516,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 539..540,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 545..546,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 542..547,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 570..571,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 573..574,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 579..580,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 576..581,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 604..605,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 607..608,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 610..611,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 616..617,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 613..618,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 651..653,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 697..698,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 700..701,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 703..704,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 720..721,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 717..722,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 734..735,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 740..741,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 737..742,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 754..755,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 757..758,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 763..764,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 760..765,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 777..778,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 780..781,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 783..784,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 789..790,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 786..791,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 814..816,\n        sym: \"t3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 854..855,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 857..858,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 860..861,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 891..892,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 888..893,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 919..920,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 925..926,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 922..927,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 953..954,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 956..957,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 962..963,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 959..964,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 990..991,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 993..994,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 996..997,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1002..1003,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 999..1004,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1040..1042,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1097..1098,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1100..1101,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1103..1104,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1120..1121,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1117..1122,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1134..1135,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1140..1141,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1137..1142,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1154..1155,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1157..1158,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1163..1164,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1160..1165,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1177..1178,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1180..1181,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1183..1184,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1189..1190,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1186..1191,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1229..1230,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1254..1255,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1251..1256,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1281..1282,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1287..1288,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1284..1289,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1317..1318,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1323..1324,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1320..1325,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1357..1359,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1407..1408,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1404..1409,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1425..1426,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1431..1432,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1428..1433,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1449..1450,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1452..1453,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1458..1459,\n        sym: \"x\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1455..1460,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1512..1513,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1559..1561,\n        sym: \"g0\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1562..1582,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1587..1589,\n        sym: \"g1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1596..1597,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1599..1600,\n        sym: \"y\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1590..1609,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1614..1616,\n        sym: \"g2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1623..1624,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1634..1635,\n        sym: \"y\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1617..1644,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1649..1651,\n        sym: \"g3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1658..1659,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1669..1670,\n        sym: \"y\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1652..1690,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1695..1697,\n        sym: \"g4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1707..1711,\n        sym: \"args\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 1704..1712,\n        arg: _,\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1698..1722,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1769..1770,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1791..1792,\n        sym: \"g\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1832..1834,\n        sym: \"g5\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1854..1855,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1835..1863,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1868..1870,\n        sym: \"g6\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1878..1879,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1892..1893,\n        sym: \"s\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1871..1907,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1912..1914,\n        sym: \"g7\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1923..1924,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1926..1927,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1936..1937,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1915..1949,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1954..1956,\n        sym: \"g8\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1965..1966,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1976..1977,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1994..1995,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1957..2007,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2043..2048,\n        sym: \"tuple\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2082..2083,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2085..2086,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2147..2149,\n        sym: \"cb\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2208..2212,\n        sym: \"rest\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 2205..2213,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2242..2246,\n        sym: \"rest\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 2239..2247,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2391..2411,\n        sym: \"funcUnionTupleNoRest\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2431..2434,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2436..2444,\n        sym: \"strOrErr\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2475..2493,\n        sym: \"funcUnionTupleRest\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2516..2522,\n        sym: \"params\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 2513..2523,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2538..2541,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2543..2551,\n        sym: \"strOrErr\",\n    },\n)",
    "Array(\n    ArrayPat {\n        span: 2537..2554,\n        elems: [\n            Some(\n                _,\n            ),\n            Some(\n                _,\n            ),\n        ],\n    },\n)"
  ],
  "exprs": [
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 87..110,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 113..115,\n        sym: \"t1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 109..117,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 118..138,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 141..143,\n        sym: \"t1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 137..145,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 146..169,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 172..174,\n        sym: \"t1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 168..176,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 177..203,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 206..208,\n        sym: \"t1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 202..210,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 211..240,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 243..245,\n        sym: \"t1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 239..247,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 311..313,\n        sym: \"f1\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 314..330,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 313..333,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 331..333,\n        sym: \"f1\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 334..347,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 333..350,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 348..350,\n        sym: \"f1\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 351..367,\n        params: [\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 350..370,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 368..370,\n        sym: \"f1\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 371..390,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 370..393,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 391..393,\n        sym: \"f1\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 394..416,\n        params: [\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 393..425,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 469..492,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 495..497,\n        sym: \"t2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 491..499,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 500..520,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 523..525,\n        sym: \"t2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 519..527,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 528..551,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 554..556,\n        sym: \"t2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 550..558,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 559..585,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 588..590,\n        sym: \"t2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 584..592,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 593..622,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 625..627,\n        sym: \"t2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 621..629,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 693..695,\n        sym: \"f2\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 696..712,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 695..715,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 713..715,\n        sym: \"f2\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 716..729,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 715..732,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 730..732,\n        sym: \"f2\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 733..749,\n        params: [\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 732..752,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 750..752,\n        sym: \"f2\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 753..772,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 752..775,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 773..775,\n        sym: \"f2\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 776..798,\n        params: [\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 775..807,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 843..866,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 866..867,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 872..874,\n        sym: \"t3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 865..876,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 877..897,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 897..898,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 903..905,\n        sym: \"t3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 896..907,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 908..931,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 931..932,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 937..939,\n        sym: \"t3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 930..941,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 942..968,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 968..969,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 974..976,\n        sym: \"t3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 967..978,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 979..1008,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1008..1009,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1014..1016,\n        sym: \"t3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1007..1018,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1093..1095,\n        sym: \"f3\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1096..1112,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1095..1115,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1113..1115,\n        sym: \"f3\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1116..1129,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1115..1132,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1130..1132,\n        sym: \"f3\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1133..1149,\n        params: [\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1132..1152,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1150..1152,\n        sym: \"f3\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1153..1172,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1152..1175,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1173..1175,\n        sym: \"f3\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1176..1198,\n        params: [\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1175..1208,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 1241..1260,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1263..1264,\n        sym: \"t\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1259..1266,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 1271..1293,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1293..1294,\n            value: 1.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1299..1300,\n        sym: \"t\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1292..1302,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Paren(\n    ParenExpr {\n        span: 1307..1329,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1329..1330,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1332..1333,\n            value: 2.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1338..1339,\n        sym: \"t\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1328..1341,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1401..1402,\n        sym: \"f\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1403..1416,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1402..1417,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1422..1423,\n        sym: \"f\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1424..1440,\n        params: [\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1423..1441,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1446..1447,\n        sym: \"f\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1448..1467,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1447..1468,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1564..1566,\n        sym: \"f5\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1573..1580,\n            value: \"hello\",\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1567..1581,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1566..1582,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1592..1594,\n        sym: \"f5\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1605..1607,\n            value: 42.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1595..1608,\n        params: [\n            _,\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1594..1609,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1619..1621,\n        sym: \"f5\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1640..1642,\n            value: 42.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1622..1643,\n        params: [\n            _,\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1621..1644,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1654..1656,\n        sym: \"f5\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1683..1684,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1687..1688,\n        sym: \"y\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1685..1689,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1657..1689,\n        params: [\n            _,\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1656..1690,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1700..1702,\n        sym: \"f5\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1716..1720,\n            value: true,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1703..1721,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1702..1722,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1837..1841,\n        sym: \"pipe\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1848..1852,\n            value: true,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1842..1853,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1859..1861,\n            value: 42.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1854..1862,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1841..1863,\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: 1873..1877,\n        sym: \"pipe\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1883..1890,\n            value: \"hello\",\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1878..1891,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1897..1898,\n        sym: \"s\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1898..1906,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1899..1905,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1892..1906,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1877..1907,\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: 1917..1921,\n        sym: \"pipe\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1932..1934,\n            value: 42.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1922..1935,\n        params: [\n            _,\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1941..1943,\n            value: \"\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1946..1947,\n        sym: \"x\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1944..1948,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1936..1948,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1921..1949,\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: 1959..1963,\n        sym: \"pipe\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1990..1992,\n            value: 42.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1964..1993,\n        params: [\n            _,\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1999..2001,\n            value: \"\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2004..2005,\n        sym: \"x\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 2002..2006,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1994..2006,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1963..2007,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2093..2098,\n        sym: \"tuple\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2089..2100,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 2068..2101,\n        expr: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2216..2217,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2219..2221,\n            value: \"\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2215..2223,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 2191..2224,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2225..2229,\n        sym: \"take\",\n    },\n)",
    "Function(\n    _,\n)",
    "Call(\n    CallExpr {\n        span: 2229..2251,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2460..2463,\n        sym: \"num\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2430..2467,\n        params: [\n            _,\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2555..2561,\n        sym: \"params\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2572..2575,\n        sym: \"num\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2512..2579,\n        params: [\n            _,\n        ],\n        body: Block(\n            [\n                _,\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 88..109,\n    params: [\n        Param {\n            span: 88..88,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 88..88,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 88..88,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 119..137,\n    params: [\n        Param {\n            span: 119..119,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 147..168,\n    params: [\n        Param {\n            span: 147..147,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 147..147,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 178..202,\n    params: [\n        Param {\n            span: 178..178,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 178..178,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 178..178,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 212..239,\n    params: [\n        Param {\n            span: 212..212,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 212..212,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 212..212,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 212..212,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 470..491,\n    params: [\n        Param {\n            span: 470..470,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 470..470,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 470..470,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 501..519,\n    params: [\n        Param {\n            span: 501..501,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 529..550,\n    params: [\n        Param {\n            span: 529..529,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 529..529,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 560..584,\n    params: [\n        Param {\n            span: 560..560,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 560..560,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 560..560,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 594..621,\n    params: [\n        Param {\n            span: 594..594,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 594..594,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 594..594,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 594..594,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 844..865,\n    params: [\n        Param {\n            span: 844..844,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 844..844,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 844..844,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 878..896,\n    params: [\n        Param {\n            span: 878..878,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 909..930,\n    params: [\n        Param {\n            span: 909..909,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 909..909,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 943..967,\n    params: [\n        Param {\n            span: 943..943,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 943..943,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 943..943,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 980..1007,\n    params: [\n        Param {\n            span: 980..980,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 980..980,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 980..980,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 980..980,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1242..1259,\n    params: [\n        Param {\n            span: 1242..1242,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1272..1292,\n    params: [\n        Param {\n            span: 1272..1272,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 1272..1272,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1308..1328,\n    params: [\n        Param {\n            span: 1308..1308,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 1308..1308,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 2069..2090,\n    params: [\n        Param {\n            span: 2069..2069,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 2069..2069,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 2192..2216,\n    params: [\n        Param {\n            span: 2192..2192,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 2230..2250,\n    params: [\n        Param {\n            span: 2230..2230,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Tuple(\n    TsTupleType {\n        span: 2292..2310,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2320..2326,\n        name: Ident {\n            span: 2320..2326,\n            sym: \"Error\",\n        },\n        type_args: [],\n    },\n)",
    "Tuple(\n    TsTupleType {\n        span: 2311..2327,\n        elem_types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Union(\n    TsUnionType {\n        span: 2292..2327,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2362..2372,\n        name: Ident {\n            span: 2362..2372,\n            sym: \"ArgsUnion\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2350..2383,\n        params: [\n            TsFnParam {\n                span: 2351..2372,\n                name: Some(\n                    Ident {\n                        span: 2354..2360,\n                        sym: \"params\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)"
  ]
}
