{
  "programs": [
    "Program {\n    span: 1..574,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 251..268,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 245..273,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 280..297,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 274..300,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 211..300,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 341..360,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 335..365,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 372..390,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 366..393,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 298..393,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 432..450,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 426..455,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 462..481,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 456..484,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 391..484,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 524..543,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 518..548,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 555..573,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 549..574,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 482..574,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 1..35,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1..31,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 32..68,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 32..64,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 65..106,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 65..102,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 103..138,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 103..138,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 135..155,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 135..151,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 152..172,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 152..168,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 169..191,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 169..187,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 188..213,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 188..209,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 5..13,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 36..45,\n        sym: \"strOrBool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 69..78,\n        sym: \"strOrFunc\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 107..116,\n        sym: \"numOrBool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 139..142,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 156..159,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 173..177,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 192..196,\n        sym: \"func\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 251..254,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 280..283,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 341..345,\n        sym: \"func\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 372..375,\n        sym: \"str\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 432..435,\n        sym: \"num\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 462..466,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 524..528,\n        sym: \"bool\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 555..558,\n        sym: \"str\",\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Str(\n        StrLit {\n            span: 215..223,\n            value: \"string\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 235..243,\n        sym: \"strOrNum\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 228..244,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 224..244,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 257..265,\n        sym: \"strOrNum\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 255..266,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 286..294,\n        sym: \"strOrNum\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 284..295,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 302..312,\n            value: \"function\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 324..333,\n        sym: \"strOrFunc\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 317..334,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 313..334,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 348..357,\n        sym: \"strOrFunc\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 346..358,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 378..387,\n        sym: \"strOrFunc\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 376..388,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 395..403,\n            value: \"number\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 415..424,\n        sym: \"numOrBool\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 408..425,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 404..425,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 438..447,\n        sym: \"numOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 436..448,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 469..478,\n        sym: \"numOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 467..479,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 486..495,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 507..516,\n        sym: \"strOrBool\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 500..517,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 496..517,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 531..540,\n        sym: \"strOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 529..541,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 561..570,\n        sym: \"strOrBool\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 559..571,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
