{
  "programs": [
    "Program {\n    span: 41..538,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 81..97,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 95..111,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 109..120,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 168..197,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 195..219,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 217..243,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 241..255,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 311..330,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 328..352,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 350..376,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 374..393,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 391..415,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 413..449,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 447..461,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 509..537,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 41..130,\n        ident: Ident {\n            span: 50..52,\n            sym: \"f0\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 122..265,\n        ident: Ident {\n            span: 131..133,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 257..471,\n        ident: Ident {\n            span: 266..268,\n            sym: \"f2\",\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: 463..538,\n        ident: Ident {\n            span: 472..474,\n            sym: \"f4\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 53..54,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 64..65,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 137..141,\n        sym: \"args\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 134..142,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 272..276,\n        sym: \"args\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 269..277,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 478..482,\n        sym: \"args\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 475..483,\n        arg: _,\n    },\n)",
    "Expr(\n    _,\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 81..83,\n        sym: \"f0\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 84..85,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 87..88,\n        sym: \"b\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 83..90,\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: 95..97,\n        sym: \"f1\",\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)",
    "Call(\n    CallExpr {\n        span: 97..104,\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: 109..111,\n        sym: \"f2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 112..113,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 115..116,\n        sym: \"b\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 111..118,\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: 168..170,\n        sym: \"f0\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 174..178,\n        sym: \"args\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 170..180,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 195..197,\n        sym: \"f1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 198..203,\n            value: \"abc\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 205..210,\n            value: \"def\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 197..212,\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: 217..219,\n        sym: \"f1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 220..225,\n            value: \"abc\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 230..234,\n        sym: \"args\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 219..236,\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: 241..243,\n        sym: \"f1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 247..251,\n        sym: \"args\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 243..253,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 311..313,\n        sym: \"f0\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 317..321,\n        sym: \"args\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 313..323,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 328..330,\n        sym: \"f1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 331..336,\n            value: \"abc\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 338..343,\n            value: \"def\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 330..345,\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: 350..352,\n        sym: \"f1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 353..358,\n            value: \"abc\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 363..367,\n        sym: \"args\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 352..369,\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: 374..376,\n        sym: \"f1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 380..384,\n        sym: \"args\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 376..386,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 391..393,\n        sym: \"f2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 394..399,\n            value: \"abc\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 401..406,\n            value: \"def\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 393..408,\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: 413..415,\n        sym: \"f2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 416..421,\n            value: \"abc\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 426..430,\n        sym: \"args\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 415..432,\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: 447..449,\n        sym: \"f2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 453..457,\n        sym: \"args\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 449..459,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 509..513,\n        sym: \"args\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 514..515,\n            value: 0.0,\n        },\n    ),\n)",
    "Member(\n    MemberExpr {\n        span: 513..518,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 519..524,\n            value: \"abc\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 517..525,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
