{
  "programs": [
    "Program {\n    span: 41..1044,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 129..142,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 119..149,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 111..149,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 184..197,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 174..199,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 147..199,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 257..270,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 247..277,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 231..277,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 312..325,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 302..327,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 275..327,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 384..397,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 374..404,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 359..404,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 439..452,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 429..454,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 402..454,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 516..529,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 506..536,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 486..536,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 571..584,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 561..586,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 534..586,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 662..679,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 648..685,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 640..685,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 630..694,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 735..752,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 721..758,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 705..758,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 695..765,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 618..765,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 800..813,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 790..815,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 763..815,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 873..881,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 863..890,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 901..914,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 953..970,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 939..976,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 912..976,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 891..983,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 847..983,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1018..1041,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1008..1043,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 981..1043,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 49..89,\n        ident: Ident {\n            span: 58..61,\n            sym: \"obj\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 81..209,\n        ident: Ident {\n            span: 90..92,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 201..337,\n        ident: Ident {\n            span: 210..212,\n            sym: \"f2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 329..464,\n        ident: Ident {\n            span: 338..340,\n            sym: \"f3\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 456..596,\n        ident: Ident {\n            span: 465..467,\n            sym: \"f4\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 588..825,\n        ident: Ident {\n            span: 597..599,\n            sym: \"f5\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 817..1044,\n        ident: Ident {\n            span: 826..828,\n            sym: \"f6\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 62..63,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 93..94,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 213..214,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 341..342,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 468..469,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 600..601,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 829..830,\n        sym: \"x\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 116..117,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 115..118,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 158..159,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 151..163,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 164..172,\n            value: \"object\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 160..173,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 184..187,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 188..189,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 187..191,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 235..236,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 241..245,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 237..246,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 286..287,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 279..291,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 292..300,\n            value: \"object\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 288..301,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 312..315,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 316..317,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 315..319,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 363..364,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 368..372,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 365..373,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 413..414,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 406..418,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 419..427,\n            value: \"object\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 415..428,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 439..442,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 443..444,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 442..446,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 490..491,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 495..504,\n        sym: \"undefined\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 492..505,\n        op: EqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 545..546,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 538..550,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 551..559,\n            value: \"object\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 547..560,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 571..574,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 575..576,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 574..578,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 624..628,\n            value: true,\n        },\n    ),\n)",
    "Unary(\n    UnaryExpr {\n        span: 623..629,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 622..629,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 645..646,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 644..647,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 709..710,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 715..719,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 711..720,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 774..775,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 767..779,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 780..788,\n            value: \"object\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 776..789,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 800..803,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 804..805,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 803..807,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 851..852,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 857..861,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 853..862,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 873..874,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 901..902,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 923..924,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 916..928,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 929..937,\n            value: \"object\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 925..938,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 953..956,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 957..958,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 956..960,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 992..993,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 985..997,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 998..1006,\n            value: \"object\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 994..1007,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1018..1021,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1022..1023,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1021..1025,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
