{
  "programs": [
    "Program {\n    span: 2..1068,\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}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 149..163,\n        arg: Some(\n            _,\n        ),\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)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 2..52,\n        ident: Ident {\n            span: 11..14,\n            sym: \"fun\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 44..110,\n        ident: Ident {\n            span: 53..56,\n            sym: \"fun\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 102..168,\n        ident: Ident {\n            span: 111..114,\n            sym: \"fun\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 165..193,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 165..189,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 190..220,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 190..216,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 217..249,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 217..245,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 246..281,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 246..276,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 278..314,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 278..310,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 311..351,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 311..347,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 348..392,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 348..388,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 389..459,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 389..431,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 456..525,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 456..521,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 522..595,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 522..591,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 592..673,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 592..669,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 670..762,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 670..757,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 759..807,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 759..803,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 804..856,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 804..850,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 852..926,\n        ident: Ident {\n            span: 857..864,\n            sym: \"ObjType\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 923..998,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 923..994,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 995..1068,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 995..1068,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 18..19,\n        sym: \"g\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 34..35,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 60..61,\n        sym: \"g\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 76..77,\n        sym: \"h\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 92..93,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 118..119,\n        sym: \"g\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 134..135,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 169..170,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 177..178,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 171..189,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 194..195,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 203..204,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 196..216,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 221..222,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 231..232,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 223..245,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 250..251,\n        sym: \"d\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 261..262,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 252..276,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 282..283,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 290..291,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 298..299,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 284..310,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 315..316,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 324..325,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 334..335,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 317..347,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 352..353,\n        sym: \"g\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 362..363,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 374..375,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 354..388,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 393..394,\n        sym: \"h\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 404..405,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 417..418,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 395..431,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 460..461,\n        sym: \"i\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 491..492,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 500..501,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 462..521,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 526..527,\n        sym: \"j\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 558..559,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 569..570,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 528..591,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 596..597,\n        sym: \"k\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 628..629,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 639..640,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 657..658,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 598..669,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 674..675,\n        sym: \"l\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 708..709,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 721..722,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 743..744,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 676..757,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 763..770,\n        sym: \"lambda1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 796..797,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 808..815,\n        sym: \"lambda2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 842..843,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 927..931,\n        sym: \"obj1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 948..949,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 972..973,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 999..1003,\n        sym: \"obj2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1021..1022,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1045..1046,\n        sym: \"y\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 156..157,\n        sym: \"g\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 158..159,\n        sym: \"x\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 157..161,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 173..176,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 182..183,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 177..184,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 185..187,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 176..189,\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: 198..201,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 208..209,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 203..210,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 202..211,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 212..214,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 201..216,\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: 225..228,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 236..237,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 231..238,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 230..239,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 229..240,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 241..243,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 228..245,\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: 254..257,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 266..267,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 261..268,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 260..269,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 259..270,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 258..271,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 272..274,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 257..276,\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: 286..289,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 295..296,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 290..297,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 303..304,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 298..305,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 306..308,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 289..310,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 319..322,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 329..330,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 324..331,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 323..332,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 339..340,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 334..341,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 333..342,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 343..345,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 322..347,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 356..359,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 367..368,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 362..369,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 361..370,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 360..371,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 379..380,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 374..381,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 373..382,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 372..383,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 384..386,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 359..388,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 397..400,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 409..410,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 404..411,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 403..412,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 402..413,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 401..414,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 422..423,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 417..424,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 416..425,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 415..426,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 427..429,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 400..431,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 464..467,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 469..473,\n        sym: \"Math\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 473..481,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 474..480,\n                sym: \"random\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 480..484,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 485..488,\n            value: 0.5,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 483..490,\n        op: Lt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 496..497,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 491..499,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 505..514,\n        sym: \"undefined\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 500..515,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 489..515,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 468..516,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 517..519,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 467..521,\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: 530..533,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 535..539,\n        sym: \"Math\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 539..547,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 540..546,\n                sym: \"random\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 546..550,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 551..554,\n            value: 0.5,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 549..556,\n        op: Lt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 563..564,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 558..565,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 557..567,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 574..583,\n        sym: \"undefined\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 569..584,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 568..585,\n        expr: _,\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 555..585,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 534..586,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 587..589,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 533..591,\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: 600..603,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 605..609,\n        sym: \"Math\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 609..617,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 610..616,\n                sym: \"random\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 616..620,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 621..624,\n            value: 0.5,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 619..626,\n        op: Lt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 633..634,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 628..635,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 627..637,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 644..653,\n        sym: \"undefined\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 639..654,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 638..655,\n        expr: _,\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 625..655,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 604..656,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 662..663,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 657..664,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 665..667,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 603..669,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 678..681,\n        sym: \"fun\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 684..688,\n        sym: \"Math\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 688..696,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 689..695,\n                sym: \"random\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 695..699,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 700..703,\n            value: 0.5,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 698..705,\n        op: Lt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 713..714,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 708..715,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 707..716,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 706..718,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 726..735,\n        sym: \"undefined\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 721..736,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 720..737,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 719..738,\n        expr: _,\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 704..738,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 683..739,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 682..740,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 748..749,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 743..750,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 742..751,\n        expr: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 741..752,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 753..755,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 681..757,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 801..802,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 796..803,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 847..848,\n        sym: \"x\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 842..849,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 841..850,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 954..955,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 957..966,\n        sym: \"undefined\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 954..967,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 953..968,\n        expr: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 948..968,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 978..979,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 981..990,\n        sym: \"undefined\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 978..991,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 977..993,\n        expr: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 972..993,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 943..994,\n        props: [\n            KeyValueProp {\n                span: 945..968,\n                key: Ident(\n                    Ident {\n                        span: 945..946,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 969..993,\n                key: Ident(\n                    Ident {\n                        span: 969..970,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1027..1028,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1030..1039,\n        sym: \"undefined\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 1027..1040,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1026..1041,\n        expr: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1021..1041,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1051..1052,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1054..1063,\n        sym: \"undefined\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 1051..1064,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1050..1066,\n        expr: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1045..1066,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 1016..1067,\n        props: [\n            KeyValueProp {\n                span: 1018..1041,\n                key: Ident(\n                    Ident {\n                        span: 1018..1019,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1042..1066,\n                key: Ident(\n                    Ident {\n                        span: 1042..1043,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1015..1068,\n        expr: _,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Fn(\n    TsFnType {\n        span: 872..894,\n        params: [\n            TsFnParam {\n                span: 873..883,\n                name: Some(\n                    Ident {\n                        span: 873..874,\n                        sym: \"p\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 898..921,\n        params: [\n            TsFnParam {\n                span: 899..909,\n                name: Some(\n                    Ident {\n                        span: 899..900,\n                        sym: \"p\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 867..922,\n        members: [\n            TsTypeMember {\n                span: 869..896,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 869..870,\n                            sym: \"x\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 895..921,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 895..896,\n                            sym: \"y\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ]
}
