{
  "programs": [
    "Program {\n    span: 1..754,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 139..182,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 112..182,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 276..289,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 266..299,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 239..299,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 438..456,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 405..465,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 378..465,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 559..572,\n        arg: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 549..582,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 522..582,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 600..618,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 705..754,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 678..754,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 9..65,\n        ident: Ident {\n            span: 18..35,\n            sym: \"getStringOrNumber\",\n        },\n        declare: true,\n        params: [],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 77..114,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 77..107,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 149..180,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 149..174,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 57..192,\n        ident: Ident {\n            span: 66..68,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 204..241,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 204..234,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 294..321,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 294..319,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 184..331,\n        ident: Ident {\n            span: 193..195,\n            sym: \"f2\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 343..380,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 343..373,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 415..463,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 415..457,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 323..475,\n        ident: Ident {\n            span: 332..334,\n            sym: \"f3\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 487..524,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 487..517,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 577..621,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 577..619,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 467..631,\n        ident: Ident {\n            span: 476..478,\n            sym: \"f4\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 643..680,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 643..673,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 715..752,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 715..746,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 623..754,\n        ident: Ident {\n            span: 632..634,\n            sym: \"f5\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 83..84,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 85..107,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 155..156,\n        sym: \"f\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 157..174,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 210..211,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 212..234,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 300..301,\n        sym: \"f\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 302..319,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 349..350,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 351..373,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 421..422,\n        sym: \"f\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 423..457,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 493..494,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 495..517,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 583..584,\n        sym: \"f\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 585..619,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 649..650,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 651..673,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 721..722,\n        sym: \"f\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 723..746,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 87..104,\n        sym: \"getStringOrNumber\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 104..107,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 123..124,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 116..128,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 129..137,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 125..138,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 165..166,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 166..174,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 167..173,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 159..174,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 214..231,\n        sym: \"getStringOrNumber\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 231..234,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 250..251,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 243..255,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 256..264,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 252..265,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 310..311,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 311..319,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 312..318,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 304..319,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 353..370,\n        sym: \"getStringOrNumber\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 370..373,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 389..390,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 382..394,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 395..403,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 391..404,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 445..446,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 446..454,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 447..453,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 497..514,\n        sym: \"getStringOrNumber\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 514..517,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 533..534,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 526..538,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 539..547,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 535..548,\n        op: NotEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 607..608,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 608..616,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 609..615,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 653..670,\n        sym: \"getStringOrNumber\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 670..673,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 689..690,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 682..694,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 695..703,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 691..704,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 737..738,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 738..746,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 739..745,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 731..746,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 725..746,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 425..457,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 587..619,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
