{
  "programs": [
    "Program {\n    span: 1..496,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 97..119,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 118..138,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 87..144,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "While(\n    WhileStmt {\n        span: 57..144,\n        test: _,\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 143..157,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Continue(\n    ContinueStmt {\n        span: 245..264,\n        label: None,\n    },\n)",
    "If(\n    IfStmt {\n        span: 235..264,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 263..285,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 284..304,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 225..310,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "While(\n    WhileStmt {\n        span: 195..310,\n        test: _,\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 309..323,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Break(\n    BreakStmt {\n        span: 411..427,\n        label: None,\n    },\n)",
    "If(\n    IfStmt {\n        span: 401..427,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 426..448,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 447..467,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 391..473,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "While(\n    WhileStmt {\n        span: 361..473,\n        test: _,\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 472..495,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 1..28,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1..19,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 20..166,\n        ident: Ident {\n            span: 29..30,\n            sym: \"a\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 158..332,\n        ident: Ident {\n            span: 167..168,\n            sym: \"b\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 324..496,\n        ident: Ident {\n            span: 333..334,\n            sym: \"c\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 5..9,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 31..32,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 118..119,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 169..170,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 284..285,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 335..336,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 447..448,\n        sym: \"x\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 71..72,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 64..76,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 77..85,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 73..86,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 97..98,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 122..131,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 120..132,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 143..144,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 209..210,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 202..214,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 215..223,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 211..224,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 239..243,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 263..264,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 288..297,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 286..298,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 309..310,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 375..376,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 368..380,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 381..389,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 377..390,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 405..409,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 426..427,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 451..460,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 449..461,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 472..473,\n        sym: \"x\",\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
