{
  "programs": [
    "Program {\n    span: 19..2627,\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}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 160..170,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 150..179,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 211..221,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 201..230,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 241..251,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 231..253,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 180..253,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "If(\n    IfStmt {\n        span: 128..253,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 414..436,\n        expr: _,\n    },\n)",
    "Break(\n    BreakStmt {\n        span: 431..450,\n        label: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 469..491,\n        expr: _,\n    },\n)",
    "Break(\n    BreakStmt {\n        span: 486..508,\n        label: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 522..532,\n        expr: _,\n    },\n)",
    "Switch(\n    SwitchStmt {\n        span: 364..534,\n        discriminant: _,\n        cases: [\n            SwitchCase {\n                span: 390..450,\n                test: Some(\n                    _,\n                ),\n                cons: [\n                    _,\n                    _,\n                ],\n            },\n            SwitchCase {\n                span: 446..508,\n                test: Some(\n                    _,\n                ),\n                cons: [\n                    _,\n                    _,\n                ],\n            },\n            SwitchCase {\n                span: 501..532,\n                test: None,\n                cons: [\n                    _,\n                ],\n            },\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 609..652,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 747..767,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 737..769,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 722..769,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 903..917,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 893..926,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 937..959,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 927..961,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 879..961,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 963..986,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 983..1050,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 1301..1395,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Block(\n    BlockStmt {\n        span: 1396..1488,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1273..1488,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1656..1666,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1646..1675,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1686..1696,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1676..1698,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1633..1698,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1761..1771,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1751..1780,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1791..1801,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1781..1803,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1729..1803,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2064..2083,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2054..2092,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2103..2123,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2093..2125,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 2028..2125,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2364..2389,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2354..2398,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2409..2434,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2399..2436,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 2329..2436,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2554..2579,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2544..2588,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2599..2624,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2589..2626,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 2519..2626,\n        test: _,\n        cons: _,\n        alt: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 19..263,\n        ident: Ident {\n            span: 28..31,\n            sym: \"f10\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 255..544,\n        ident: Ident {\n            span: 264..267,\n            sym: \"f11\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 536..662,\n        ident: Ident {\n            span: 545..548,\n            sym: \"f13\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 654..775,\n        ident: Ident {\n            span: 663..666,\n            sym: \"f14\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 771..849,\n        ident: Ident {\n            span: 776..782,\n            sym: \"Result\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 783..784,\n                sym: \"T\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 841..966,\n        ident: Ident {\n            span: 850..853,\n            sym: \"f15\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1041..1107,\n        ident: Ident {\n            span: 1051..1060,\n            sym: \"WithError\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 1067..1088,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1067..1072,\n                            sym: \"error\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1084..1096,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1084..1088,\n                            sym: \"data\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1098..1167,\n        ident: Ident {\n            span: 1108..1120,\n            sym: \"WithoutError\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1121..1125,\n                sym: \"Data\",\n            },\n        ],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 1133..1153,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1133..1138,\n                            sym: \"error\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1149..1161,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1149..1153,\n                            sym: \"data\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1163..1228,\n        ident: Ident {\n            span: 1168..1179,\n            sym: \"DataCarrier\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1180..1184,\n                sym: \"Data\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1311..1358,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1311..1358,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1353..1390,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1353..1390,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1406..1454,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1406..1454,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1449..1486,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1449..1486,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1220..1516,\n        ident: Ident {\n            span: 1229..1232,\n            sym: \"f20\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1512..1612,\n        ident: Ident {\n            span: 1517..1520,\n            sym: \"Foo\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1604..1708,\n        ident: Ident {\n            span: 1613..1616,\n            sym: \"f30\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1700..1831,\n        ident: Ident {\n            span: 1709..1712,\n            sym: \"f31\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1827..1876,\n        ident: Ident {\n            span: 1832..1833,\n            sym: \"a\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1872..1921,\n        ident: Ident {\n            span: 1877..1878,\n            sym: \"b\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1917..1968,\n        ident: Ident {\n            span: 1922..1923,\n            sym: \"c\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1964..1995,\n        ident: Ident {\n            span: 1969..1972,\n            sym: \"abc\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1987..2131,\n        ident: Ident {\n            span: 1996..1997,\n            sym: \"f\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 2127..2279,\n        ident: Ident {\n            span: 2132..2144,\n            sym: \"RuntimeValue\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2271..2446,\n        ident: Ident {\n            span: 2280..2284,\n            sym: \"foo1\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2438..2627,\n        ident: Ident {\n            span: 2447..2451,\n            sym: \"foo2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 32..33,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 268..269,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 549..550,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 609..610,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 670..671,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 854..855,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1239..1246,\n        sym: \"carrier\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1317..1322,\n        sym: \"error\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1359..1363,\n        sym: \"data\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1412..1417,\n        sym: \"error\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1455..1459,\n        sym: \"data\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1617..1620,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1713..1716,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1998..2005,\n        sym: \"problem\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2285..2286,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2452..2453,\n        sym: \"x\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 132..133,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 133..142,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 134..138,\n                sym: \"kind\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 143..148,\n            value: false,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 139..149,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 160..161,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 161..164,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 162..163,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 184..185,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 185..194,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 186..190,\n                sym: \"kind\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 195..199,\n            value: true,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 191..200,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 211..212,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 212..215,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 213..214,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 241..242,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 242..245,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 243..244,\n                sym: \"c\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 372..373,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 373..379,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 374..378,\n                sym: \"kind\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 395..400,\n            value: false,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 414..415,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 415..418,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 416..417,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 451..455,\n            value: true,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 469..470,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 470..473,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 471..472,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 522..523,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 523..526,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 524..525,\n                sym: \"c\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 618..622,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 627..632,\n            value: \"foo\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 637..638,\n            value: 4.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 613..640,\n        props: [\n            KeyValueProp {\n                span: 615..623,\n                key: Ident(\n                    Ident {\n                        span: 615..616,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 624..633,\n                key: Ident(\n                    Ident {\n                        span: 624..625,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 634..639,\n                key: Ident(\n                    Ident {\n                        span: 634..635,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 611..640,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 726..727,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 727..733,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 728..729,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 734..735,\n            value: 0.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 730..736,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 747..748,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 748..751,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 749..750,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 884..885,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 885..892,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 886..891,\n                sym: \"error\",\n            },\n        ),\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 883..892,\n        op: Bang,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 903..904,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 904..911,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 905..910,\n                sym: \"value\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 937..938,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 938..945,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 939..944,\n                sym: \"error\",\n            },\n        ),\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 944..953,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 945..952,\n                sym: \"message\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 963..966,\n        sym: \"f15\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 976..978,\n            value: 10.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 967..981,\n        props: [\n            KeyValueProp {\n                span: 969..980,\n                key: Ident(\n                    Ident {\n                        span: 969..974,\n                        sym: \"value\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 966..982,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 983..986,\n        sym: \"f15\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1000..1005,\n        sym: \"Error\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1006..1012,\n            value: \"boom\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1005..1015,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 996..1015,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 987..1016,\n        props: [\n            KeyValueProp {\n                span: 989..1015,\n                key: Ident(\n                    Ident {\n                        span: 989..994,\n                        sym: \"error\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 986..1017,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1277..1284,\n        sym: \"carrier\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1284..1294,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1285..1290,\n                sym: \"error\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 1295..1299,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1291..1300,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1331..1338,\n        sym: \"carrier\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1338..1358,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1339..1344,\n                sym: \"error\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1372..1379,\n        sym: \"carrier\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1379..1390,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1380..1384,\n                sym: \"data\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1427..1434,\n        sym: \"carrier\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1434..1454,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1435..1440,\n                sym: \"error\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1468..1475,\n        sym: \"carrier\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1475..1486,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1476..1480,\n                sym: \"data\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1637..1640,\n        sym: \"foo\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1640..1645,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1641..1644,\n                sym: \"tag\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1656..1659,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1686..1689,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1733..1736,\n        sym: \"foo\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1736..1744,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1737..1740,\n                sym: \"tag\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1745..1749,\n            value: true,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1741..1750,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1761..1764,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1791..1794,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2032..2039,\n        sym: \"problem\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2039..2048,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2040..2044,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2049..2052,\n            value: \"b\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 2045..2053,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2064..2071,\n        sym: \"problem\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2071..2077,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2072..2076,\n                sym: \"name\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2103..2110,\n        sym: \"problem\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2110..2117,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2111..2116,\n                sym: \"other\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2333..2334,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2334..2343,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2335..2339,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2344..2352,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 2340..2353,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2364..2365,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2365..2372,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2366..2371,\n                sym: \"value\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2409..2410,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2410..2417,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2411..2416,\n                sym: \"value\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2523..2524,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2524..2533,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2525..2529,\n                sym: \"type\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2534..2542,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 2530..2543,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2554..2555,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2555..2562,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2556..2561,\n                sym: \"value\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2599..2600,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2600..2607,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2601..2606,\n                sym: \"value\",\n            },\n        ),\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Undefined,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 816..819,\n        name: Ident {\n            span: 816..819,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 788..821,\n        members: [\n            TsTypeMember {\n                span: 790..814,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 790..795,\n                            sym: \"error\",\n                        },\n                    ),\n                ),\n                optional: true,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 809..819,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 809..814,\n                            sym: \"value\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 831..838,\n        name: Ident {\n            span: 831..838,\n            sym: \"Error\",\n        },\n        type_args: [],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 822..839,\n        members: [\n            TsTypeMember {\n                span: 824..838,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 824..829,\n                            sym: \"error\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Union(\n    TsUnionType {\n        span: 788..839,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1074..1088,\n        name: Ident {\n            span: 1074..1088,\n            sym: \"Error\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1090..1096,\n        name: Ident {\n            span: 1090..1096,\n            sym: \"null\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1140..1153,\n        name: Ident {\n            span: 1140..1153,\n            sym: \"null\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1155..1161,\n        name: Ident {\n            span: 1155..1161,\n            sym: \"Data\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1188..1199,\n        name: Ident {\n            span: 1188..1199,\n            sym: \"WithError\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1213..1218,\n        name: Ident {\n            span: 1213..1218,\n            sym: \"Data\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1200..1228,\n        name: Ident {\n            span: 1200..1213,\n            sym: \"WithoutError\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Union(\n    TsUnionType {\n        span: 1188..1228,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1530..1534,\n            value: true,\n        },\n    ),\n)",
    "Keyword(\n    Number,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1523..1549,\n        members: [\n            TsTypeMember {\n                span: 1525..1537,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1525..1528,\n                            sym: \"tag\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1536..1547,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1536..1537,\n                            sym: \"x\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1557..1562,\n            value: false,\n        },\n    ),\n)",
    "Keyword(\n    Number,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1550..1577,\n        members: [\n            TsTypeMember {\n                span: 1552..1565,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1552..1555,\n                            sym: \"tag\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1564..1575,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1564..1565,\n                            sym: \"y\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1578..1602,\n        members: [\n            TsTypeMember {\n                span: 1580..1601,\n                kind: Index,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 1581..1582,\n                        name: Some(\n                            Ident {\n                                span: 1581..1582,\n                                sym: \"x\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Union(\n    TsUnionType {\n        span: 1523..1602,\n        types: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1848..1851,\n            value: \"a\",\n        },\n    ),\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1836..1876,\n        members: [\n            TsTypeMember {\n                span: 1842..1861,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1842..1846,\n                            sym: \"type\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1857..1871,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1857..1861,\n                            sym: \"data\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1893..1896,\n            value: \"b\",\n        },\n    ),\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1881..1921,\n        members: [\n            TsTypeMember {\n                span: 1887..1906,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1887..1891,\n                            sym: \"type\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1902..1916,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1902..1906,\n                            sym: \"name\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1938..1941,\n            value: \"c\",\n        },\n    ),\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1926..1968,\n        members: [\n            TsTypeMember {\n                span: 1932..1952,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1932..1936,\n                            sym: \"type\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1947..1962,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1947..1952,\n                            sym: \"other\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1975..1978,\n        name: Ident {\n            span: 1975..1978,\n            sym: \"a\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1979..1982,\n        name: Ident {\n            span: 1979..1982,\n            sym: \"b\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1983..1985,\n        name: Ident {\n            span: 1983..1985,\n            sym: \"c\",\n        },\n        type_args: [],\n    },\n)",
    "Union(\n    TsUnionType {\n        span: 1975..1985,\n        types: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2161..2169,\n            value: \"number\",\n        },\n    ),\n)",
    "Keyword(\n    Number,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 2153..2192,\n        members: [\n            TsTypeMember {\n                span: 2155..2176,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2155..2159,\n                            sym: \"type\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 2171..2186,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2171..2176,\n                            sym: \"value\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2201..2209,\n            value: \"string\",\n        },\n    ),\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 2193..2232,\n        members: [\n            TsTypeMember {\n                span: 2195..2216,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2195..2199,\n                            sym: \"type\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 2211..2226,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2211..2216,\n                            sym: \"value\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2241..2250,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Keyword(\n    Boolean,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 2233..2269,\n        members: [\n            TsTypeMember {\n                span: 2235..2257,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2235..2239,\n                            sym: \"type\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 2252..2268,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2252..2257,\n                            sym: \"value\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Union(\n    TsUnionType {\n        span: 2151..2269,\n        types: [\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ]
}
