{
  "programs": [
    "Program {\n    span: 45..3672,\n    kind: Module,\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        _,\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)",
    "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)",
    "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)",
    "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)",
    "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: 1824..1844,\n        expr: _,\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)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2346..2363,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2450..2461,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2544..2555,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 2589..2604,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2665..2685,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2661..2713,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 2638..2713,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2793..2816,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3000..3048,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 3042..3057,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 3129..3161,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 3513..3551,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 65..118,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 65..84,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 115..153,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 115..127,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 148..196,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 148..162,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 193..231,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 193..205,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 226..279,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 226..254,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 276..315,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 276..288,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 310..358,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 310..333,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 355..386,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 355..367,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 45..396,\n        ident: Ident {\n            span: 54..56,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 421..499,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 421..453,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 494..551,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 494..523,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 546..600,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 546..572,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 595..669,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 595..624,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 664..734,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 664..701,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 731..762,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 731..743,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 759..797,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 759..771,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 794..832,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 794..806,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 829..860,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 829..841,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 857..897,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 857..869,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 388..907,\n        ident: Ident {\n            span: 397..399,\n            sym: \"f2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 919..964,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 919..934,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 961..999,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 961..973,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 994..1038,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 994..1008,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1035..1073,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1035..1047,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1068..1109,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1068..1088,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1106..1141,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1106..1118,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1136..1176,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1136..1155,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1173..1200,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1173..1185,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 899..1210,\n        ident: Ident {\n            span: 908..910,\n            sym: \"f3\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1235..1305,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1235..1263,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1300..1349,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1300..1325,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1344..1394,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1344..1370,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1389..1455,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1389..1416,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1450..1508,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1450..1481,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1505..1536,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1505..1517,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1533..1567,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1533..1545,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1564..1598,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1564..1576,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1595..1626,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1595..1607,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1623..1657,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1623..1635,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1202..1667,\n        ident: Ident {\n            span: 1211..1213,\n            sym: \"f4\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1679..1704,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1679..1696,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1701..1723,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1701..1713,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1718..1750,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1718..1742,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1747..1769,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1747..1759,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1764..1798,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1764..1790,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1795..1817,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1795..1807,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1812..1829,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1812..1829,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1841..1855,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1841..1853,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1659..1864,\n        ident: Ident {\n            span: 1668..1670,\n            sym: \"f5\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1865..1903,\n        ident: Ident {\n            span: 1874..1882,\n            sym: \"widening\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1904..1980,\n        ident: Ident {\n            span: 1913..1924,\n            sym: \"nonWidening\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2005..2036,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2005..2028,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2033..2063,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2033..2055,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2060..2103,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2060..2095,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2100..2134,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2100..2126,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2131..2164,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2131..2156,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2161..2201,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2161..2199,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1972..2229,\n        ident: Ident {\n            span: 1981..1983,\n            sym: \"f6\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 2225..2256,\n        ident: Ident {\n            span: 2230..2237,\n            sym: \"FAILURE\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2251..2283,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2251..2277,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 2279..2318,\n        ident: Ident {\n            span: 2284..2290,\n            sym: \"Result\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 2291..2292,\n                sym: \"T\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2310..2373,\n        ident: Ident {\n            span: 2319..2325,\n            sym: \"doWork\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2547..2609,\n        ident: Ident {\n            span: 2556..2565,\n            sym: \"increment\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2606..2640,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2606..2636,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 2709..2765,\n        ident: Ident {\n            span: 2714..2723,\n            sym: \"TestEvent\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2757..2821,\n        ident: Ident {\n            span: 2766..2777,\n            sym: \"onMouseOver\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2818..2870,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2818..2840,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2949..3004,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2949..3004,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2871..3065,\n        ident: Ident {\n            span: 2880..2883,\n            sym: \"Set\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3066..3167,\n        ident: Ident {\n            span: 3075..3079,\n            sym: \"keys\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 3163..3199,\n        ident: Ident {\n            span: 3168..3171,\n            sym: \"Obj\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3194..3254,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3194..3254,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 3255..3302,\n        ident: Ident {\n            span: 3260..3268,\n            sym: \"LangCode\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3303..3345,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3303..3345,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3340..3424,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3340..3424,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3483..3519,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3483..3508,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3416..3582,\n        ident: Ident {\n            span: 3425..3429,\n            sym: \"test\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3583..3624,\n        ident: Ident {\n            span: 3592..3593,\n            sym: \"f\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "TsEnum(\n    TsEnumDecl {\n        span: 3620..3641,\n        ident: Ident {\n            span: 3625..3626,\n            sym: \"E\",\n        },\n        declare: false,\n        is_const: false,\n        members: [\n            TsEnumMember {\n                span: 3629..3631,\n                name: Ident(\n                    Ident {\n                        span: 3629..3630,\n                        sym: \"A\",\n                    },\n                ),\n                init: None,\n            },\n            TsEnumMember {\n                span: 3632..3635,\n                name: Ident(\n                    Ident {\n                        span: 3632..3633,\n                        sym: \"B\",\n                    },\n                ),\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3636..3659,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3636..3653,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3654..3672,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3654..3671,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 71..73,\n        sym: \"c1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 74..84,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 119..121,\n        sym: \"v1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 122..127,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 154..156,\n        sym: \"c2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 157..162,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 197..199,\n        sym: \"v2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 200..205,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 232..234,\n        sym: \"c3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 280..282,\n        sym: \"v3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 283..288,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 316..318,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 359..361,\n        sym: \"v4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 362..367,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 400..404,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 427..429,\n        sym: \"c1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 430..453,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 500..502,\n        sym: \"c2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 552..554,\n        sym: \"c3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 555..572,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 601..603,\n        sym: \"c4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 604..624,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 670..672,\n        sym: \"c5\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 735..737,\n        sym: \"v1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 738..743,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 763..765,\n        sym: \"v2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 766..771,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 798..800,\n        sym: \"v3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 801..806,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 833..835,\n        sym: \"v4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 836..841,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 861..863,\n        sym: \"v5\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 864..869,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 925..927,\n        sym: \"c1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 928..934,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 965..967,\n        sym: \"v1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 968..973,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1000..1002,\n        sym: \"c2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1003..1008,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1039..1041,\n        sym: \"v2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1042..1047,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1074..1076,\n        sym: \"c3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1110..1112,\n        sym: \"v3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1113..1118,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1142..1144,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1177..1179,\n        sym: \"v4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1180..1185,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1214..1218,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1241..1243,\n        sym: \"c1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1244..1263,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1306..1308,\n        sym: \"c2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1350..1352,\n        sym: \"c3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1353..1370,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1395..1397,\n        sym: \"c4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1398..1416,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1456..1458,\n        sym: \"c5\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1509..1511,\n        sym: \"v1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1512..1517,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1537..1539,\n        sym: \"v2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1540..1545,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1568..1570,\n        sym: \"v3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1571..1576,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1599..1601,\n        sym: \"v4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1602..1607,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1627..1629,\n        sym: \"v5\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1630..1635,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1685..1687,\n        sym: \"c1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1688..1696,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1705..1707,\n        sym: \"v1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1708..1713,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1724..1726,\n        sym: \"c2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1751..1753,\n        sym: \"v2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1754..1759,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1770..1772,\n        sym: \"c3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1773..1790,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1799..1801,\n        sym: \"v3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1802..1807,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1818..1820,\n        sym: \"c4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1821..1829,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1845..1847,\n        sym: \"v4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1848..1853,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1886..1887,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1961..1962,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1984..1988,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2009..2011,\n        sym: \"x1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2012..2028,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2037..2039,\n        sym: \"x2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2040..2055,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2064..2066,\n        sym: \"x3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2067..2095,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2104..2106,\n        sym: \"y1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2107..2126,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2135..2137,\n        sym: \"y2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2138..2156,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2165..2167,\n        sym: \"y3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2168..2199,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2257..2264,\n        sym: \"FAILURE\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2265..2277,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2566..2567,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2610..2616,\n        sym: \"result\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2617..2636,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2822..2823,\n        sym: \"x\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2824..2840,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2905..2909,\n        sym: \"keys\",\n    },\n)",
    "Rest(\n    RestPat {\n        span: 2902..2910,\n        arg: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2955..2961,\n        sym: \"result\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2962..3004,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3013..3016,\n        sym: \"key\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3101..3104,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3200..3211,\n        sym: \"langCodeSet\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3212..3254,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3309..3318,\n        sym: \"langCodes\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3319..3345,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3346..3349,\n        sym: \"arr\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3373..3377,\n        sym: \"code\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3466..3469,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3495..3499,\n        sym: \"rest\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 3487..3503,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 3489..3491,\n                    key: Ident {\n                        span: 3489..3490,\n                        sym: \"a\",\n                    },\n                    value: None,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 3492..3501,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3597..3598,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3642..3643,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3644..3653,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3660..3661,\n        sym: \"b\",\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Str(\n        StrLit {\n            span: 76..83,\n            value: \"hello\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 124..126,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 159..161,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 202..204,\n        sym: \"c2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 246..253,\n            value: \"hello\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 285..287,\n        sym: \"c3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 330..332,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 364..366,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 432..436,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 439..444,\n            value: \"foo\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 447..452,\n            value: \"bar\",\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 437..453,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 520..522,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 557..561,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 564..566,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 569..571,\n        sym: \"c2\",\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 562..572,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 606..610,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 613..615,\n        sym: \"c3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 618..623,\n            value: \"baz\",\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 611..624,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 698..700,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 740..742,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 768..770,\n        sym: \"c2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 803..805,\n        sym: \"c3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 838..840,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 866..868,\n        sym: \"c5\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 930..933,\n            value: 123.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 970..972,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1005..1007,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1044..1046,\n        sym: \"c2\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1084..1087,\n            value: 123.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1115..1117,\n        sym: \"c3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1152..1154,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1182..1184,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1246..1250,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1253..1256,\n            value: 123.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1259..1262,\n            value: 456.0,\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 1251..1263,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1322..1324,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1355..1359,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1362..1364,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1367..1369,\n        sym: \"c2\",\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 1360..1370,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1400..1404,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1407..1409,\n        sym: \"c3\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1412..1415,\n            value: 789.0,\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 1405..1416,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1478..1480,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1514..1516,\n        sym: \"c1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1542..1544,\n        sym: \"c2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1573..1575,\n        sym: \"c3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1604..1606,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1632..1634,\n        sym: \"c5\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1690..1695,\n            value: \"foo\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1710..1712,\n        sym: \"c1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1736..1741,\n            value: \"foo\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1756..1758,\n        sym: \"c2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1775..1780,\n            value: \"foo\",\n        },\n    ),\n)",
    "TsAs(\n    TsAsExpr {\n        span: 1781..1790,\n        expr: _,\n        ty: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1804..1806,\n        sym: \"c3\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1824..1829,\n            value: \"foo\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1830..1835,\n            value: \"foo\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 1829..1836,\n        op: Gt,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1850..1852,\n        sym: \"c4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2014..2022,\n        sym: \"widening\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2023..2026,\n            value: \"a\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2022..2028,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2042..2050,\n        sym: \"widening\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2051..2053,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2050..2055,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2069..2077,\n        sym: \"widening\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2078..2082,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2085..2088,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2091..2093,\n            value: 10.0,\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 2083..2094,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2077..2095,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2109..2120,\n        sym: \"nonWidening\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2121..2124,\n            value: \"a\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2120..2126,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2140..2151,\n        sym: \"nonWidening\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2152..2154,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2151..2156,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2170..2181,\n        sym: \"nonWidening\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2182..2186,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2189..2192,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2195..2197,\n            value: 10.0,\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 2187..2198,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2181..2199,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2267..2276,\n            value: \"FAILURE\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2353..2360,\n        sym: \"FAILURE\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2596..2597,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2600..2601,\n            value: 1.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 2598..2602,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2619..2625,\n        sym: \"doWork\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2633..2636,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2642..2651,\n        sym: \"isSuccess\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2652..2658,\n        sym: \"result\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2651..2660,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2665..2674,\n        sym: \"increment\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2675..2681,\n        sym: \"result\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2674..2683,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2800..2813,\n            value: \"onmouseover\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2826..2837,\n        sym: \"onMouseOver\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2837..2840,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2964..2969,\n        props: [],\n    },\n)",
    "TsAs(\n    TsAsExpr {\n        span: 2967..3004,\n        expr: _,\n        ty: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3000..3004,\n        sym: \"keys\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3004..3013,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3005..3012,\n                sym: \"forEach\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3020..3026,\n        sym: \"result\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3027..3030,\n        sym: \"key\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3026..3033,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 3034..3038,\n            value: true,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 3032..3039,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3013..3039,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3012..3048,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3049..3055,\n        sym: \"result\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3136..3142,\n        sym: \"Object\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3142..3148,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3143..3147,\n                sym: \"keys\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3148..3151,\n        sym: \"obj\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3147..3155,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "TsAs(\n    TsAsExpr {\n        span: 3153..3161,\n        expr: _,\n        ty: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3214..3217,\n        sym: \"Set\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3218..3222,\n            value: \"fr\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3224..3228,\n            value: \"en\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3230..3234,\n            value: \"es\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3236..3240,\n            value: \"it\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3242..3246,\n            value: \"nl\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3217..3254,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3321..3325,\n        sym: \"keys\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3326..3337,\n        sym: \"langCodeSet\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3325..3345,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3359..3368,\n        sym: \"langCodes\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3368..3373,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3369..3372,\n                sym: \"map\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3384..3388,\n        sym: \"code\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 3382..3391,\n        props: [\n            KeyValueProp {\n                span: 3384..3390,\n                key: Ident(\n                    Ident {\n                        span: 3384..3388,\n                        sym: \"code\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 3381..3392,\n        expr: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3373..3392,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3372..3424,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3504..3507,\n        sym: \"obj\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3525..3532,\n            value: \"hello\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3537..3541,\n        sym: \"rest\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 3520..3546,\n        props: [\n            KeyValueProp {\n                span: 3522..3533,\n                key: Ident(\n                    Ident {\n                        span: 3522..3523,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 3534..3543,\n                key: Ident(\n                    Ident {\n                        span: 3534..3534,\n                        sym: \"__spread__\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "TsAs(\n    TsAsExpr {\n        span: 3544..3549,\n        expr: _,\n        ty: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3646..3647,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3648..3649,\n        sym: \"E\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3649..3652,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3650..3651,\n                sym: \"A\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3647..3653,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3669..3670,\n        sym: \"a\",\n    },\n)"
  ],
  "module_decls": [
    "ExportDecl(\n    ExportDecl {\n        span: 2864..3065,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 3059..3167,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 3248..3302,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 3296..3345,\n        decl: _,\n    },\n)"
  ],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Lit(\n    Str(\n        StrLit {\n            span: 1784..1789,\n            value: \"foo\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2240..2249,\n            value: \"FAILURE\",\n        },\n    ),\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2296..2299,\n        name: Ident {\n            span: 2296..2299,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2300..2308,\n        name: Ident {\n            span: 2300..2308,\n            sym: \"FAILURE\",\n        },\n        type_args: [],\n    },\n)",
    "Union(\n    TsUnionType {\n        span: 2296..2308,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2726..2739,\n            value: \"onmouseover\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2742..2754,\n            value: \"onmouseout\",\n        },\n    ),\n)",
    "Union(\n    TsUnionType {\n        span: 2726..2755,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2977..2979,\n        name: Ident {\n            span: 2977..2979,\n            sym: \"K\",\n        },\n        type_args: [],\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 2980..2984,\n            value: true,\n        },\n    ),\n)",
    "Keyword(\n    Undefined,\n)",
    "Union(\n    TsUnionType {\n        span: 2980..2997,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2970..3004,\n        name: Ident {\n            span: 2970..2977,\n            sym: \"Record\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3156..3158,\n        name: Ident {\n            span: 3156..3158,\n            sym: \"K\",\n        },\n        type_args: [],\n    },\n)",
    "Array(\n    TsArrayType {\n        span: 3156..3161,\n        elem_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3182..3192,\n        name: Ident {\n            span: 3182..3192,\n            sym: \"LangCode\",\n        },\n        type_args: [],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 3174..3199,\n        members: [\n            TsTypeMember {\n                span: 3176..3192,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3176..3180,\n                            sym: \"code\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeQuery(\n    TsTypeQuery {\n        span: 3277..3302,\n        expr_name: Ident {\n            span: 3284..3302,\n            sym: \"langCodeSet\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 3271..3302,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3547..3549,\n        name: Ident {\n            span: 3547..3549,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)"
  ]
}
