{
  "programs": [
    "Program {\n    span: 1..912,\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        _,\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)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 542..558,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 553..571,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 566..587,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 582..604,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 598..621,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 617..661,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 655..679,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 674..698,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 695..712,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 709..729,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 723..751,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 745..771,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 767..791,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 787..813,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 807..863,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 857..880,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 874..898,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 891..912,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 9..60,\n        ident: Ident {\n            span: 18..21,\n            sym: \"all\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 61..132,\n        ident: Ident {\n            span: 70..75,\n            sym: \"weird\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 133..198,\n        ident: Ident {\n            span: 142..148,\n            sym: \"prefix\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 199..282,\n        ident: Ident {\n            span: 208..212,\n            sym: \"rest\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 283..324,\n        ident: Ident {\n            span: 292..298,\n            sym: \"normal\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 325..358,\n        ident: Ident {\n            span: 334..339,\n            sym: \"thunk\",\n        },\n        declare: true,\n        params: [],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 359..437,\n        ident: Ident {\n            span: 368..375,\n            sym: \"prefix2\",\n        },\n        declare: true,\n        params: [\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 438..463,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 438..455,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 464..503,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 464..495,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 504..545,\n        kind: Var,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 504..532,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 22..23,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 34..35,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 76..77,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 97..98,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 149..150,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 160..161,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 172..173,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 213..214,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 224..225,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 236..237,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 252..256,\n        sym: \"rest\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 249..257,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 299..300,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 376..377,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 387..388,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 398..399,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 410..411,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 442..444,\n        sym: \"ns\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 468..473,\n        sym: \"mixed\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 508..513,\n        sym: \"tuple\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 542..545,\n        sym: \"all\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 549..551,\n        sym: \"ns\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 545..558,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 553..558,\n        sym: \"weird\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 562..564,\n        sym: \"ns\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 558..571,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 566..571,\n        sym: \"weird\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 575..580,\n        sym: \"mixed\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 571..587,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 582..587,\n        sym: \"weird\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 591..596,\n        sym: \"tuple\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 587..604,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 598..604,\n        sym: \"prefix\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 605..608,\n            value: \"a\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 613..615,\n        sym: \"ns\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 604..621,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 617..621,\n        sym: \"rest\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 622..625,\n            value: \"d\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 630..632,\n        sym: \"ns\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 621..661,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 655..661,\n        sym: \"normal\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 662..665,\n            value: \"g\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 670..672,\n        sym: \"ns\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 661..679,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 674..679,\n        sym: \"thunk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 683..685,\n        sym: \"ns\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 679..698,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 695..698,\n        sym: \"all\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 702..707,\n        sym: \"mixed\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 698..712,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 709..712,\n        sym: \"all\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 716..721,\n        sym: \"tuple\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 712..729,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 723..729,\n        sym: \"prefix\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 730..733,\n            value: \"b\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 738..743,\n        sym: \"mixed\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 729..751,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 745..751,\n        sym: \"prefix\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 752..755,\n            value: \"c\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 760..765,\n        sym: \"tuple\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 751..771,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 767..771,\n        sym: \"rest\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 772..775,\n            value: \"e\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 780..785,\n        sym: \"mixed\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 771..791,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 787..791,\n        sym: \"rest\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 792..795,\n            value: \"f\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 800..805,\n        sym: \"tuple\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 791..813,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 807..813,\n        sym: \"prefix\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 817..819,\n        sym: \"ns\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 813..863,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 857..863,\n        sym: \"prefix\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 867..872,\n        sym: \"mixed\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 863..880,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 874..880,\n        sym: \"prefix\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 884..889,\n        sym: \"tuple\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 880..898,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 891..898,\n        sym: \"prefix2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 899..902,\n            value: \"g\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 907..909,\n        sym: \"ns\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 898..911,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: true,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
