{
  "programs": [
    "Program {\n    span: 138..1096,\n    kind: Module,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 780..874,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1034..1051,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1024..1060,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1071..1093,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1061..1095,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1008..1095,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 145..292,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 145..292,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 293..408,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 293..408,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 409..557,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 409..557,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 614..659,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 614..659,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 656..716,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 656..716,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 713..758,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 713..758,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 755..781,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 755..781,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 558..906,\n        ident: Ident {\n            span: 567..574,\n            sym: \"consume\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 907..1096,\n        ident: Ident {\n            span: 916..918,\n            sym: \"ff\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 151..157,\n        sym: \"Target\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 158..292,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 299..305,\n        sym: \"Second\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 306..408,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 415..417,\n        sym: \"Fs\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 432..433,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 452..453,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 470..471,\n        sym: \"n\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 418..557,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 575..576,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 577..578,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 579..580,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 618..621,\n        sym: \"str\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 622..659,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 660..663,\n        sym: \"num\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 664..716,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 717..720,\n        sym: \"fun\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 721..758,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 759..760,\n        sym: \"v\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 761..781,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 780..781,\n        sym: \"v\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 919..920,\n        sym: \"s\",\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Str(\n        StrLit {\n            span: 173..180,\n            value: \"start\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 194..202,\n            value: \"middle\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 213..218,\n            value: \"end\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 262..263,\n            value: 2.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 160..292,\n        props: [\n            KeyValueProp {\n                span: 166..181,\n                key: Ident(\n                    Ident {\n                        span: 166..171,\n                        sym: \"START\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 186..203,\n                key: Ident(\n                    Ident {\n                        span: 186..192,\n                        sym: \"MIDDLE\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 208..219,\n                key: Ident(\n                    Ident {\n                        span: 208..211,\n                        sym: \"END\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 250..265,\n                key: Ident(\n                    Ident {\n                        span: 250..260,\n                        sym: \"OK_I_GUESS\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 318..319,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 357..358,\n            value: 2.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 308..408,\n        props: [\n            KeyValueProp {\n                span: 314..320,\n                key: Ident(\n                    Ident {\n                        span: 314..316,\n                        sym: \"OK\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 351..359,\n                key: Ident(\n                    Ident {\n                        span: 351..355,\n                        sym: \"FINE\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 437..438,\n        sym: \"n\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 441..442,\n            value: 1.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 439..443,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 432..443,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 457..458,\n        sym: \"n\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 452..459,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 475..476,\n        sym: \"n\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 479..480,\n            value: 1.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 477..482,\n        op: Sub,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 470..482,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 420..557,\n        props: [\n            KeyValueProp {\n                span: 426..443,\n                key: Ident(\n                    Ident {\n                        span: 426..430,\n                        sym: \"ADD1\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 448..459,\n                key: Ident(\n                    Ident {\n                        span: 448..450,\n                        sym: \"ID\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 464..482,\n                key: Ident(\n                    Ident {\n                        span: 464..468,\n                        sym: \"SUB1\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 624..625,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 666..667,\n        sym: \"s\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 723..724,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 763..769,\n        sym: \"Target\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 769..781,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 770..775,\n                sym: \"START\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 784..800,\n            value: \"something else\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 782..874,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1013..1019,\n        sym: \"Target\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1020..1021,\n        sym: \"s\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1019..1023,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 1012..1023,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 1041..1045,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1078..1084,\n        sym: \"Target\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1085..1086,\n        sym: \"s\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1084..1093,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)"
  ],
  "module_decls": [
    "ExportDecl(\n    ExportDecl {\n        span: 138..292,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 286..408,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 402..557,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 551..906,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 900..1096,\n        decl: _,\n    },\n)"
  ],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
