{
  "programs": [
    "Program {\n    span: 217..1951,\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        _,\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)",
    "Expr(\n    ExprStmt {\n        span: 881..906,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 943..969,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 989..1014,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1051..1076,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1113..1138,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1175..1222,\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)",
    "Expr(\n    ExprStmt {\n        span: 1822..1855,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1897..1947,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)"
  ],
  "decls": [
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 217..245,\n        ident: Ident {\n            span: 222..223,\n            sym: \"A\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 241..269,\n        ident: Ident {\n            span: 246..247,\n            sym: \"B\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 265..282,\n        ident: Ident {\n            span: 270..271,\n            sym: \"C\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 279..298,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 279..294,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 295..314,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 295..310,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 311..330,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 311..326,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 327..350,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 327..346,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 347..371,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 347..367,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 368..392,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 368..388,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 389..404,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 389..400,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 401..421,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 401..417,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 418..468,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 418..457,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 459..483,\n        ident: Ident {\n            span: 469..470,\n            sym: \"D\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 474..493,\n        ident: Ident {\n            span: 484..485,\n            sym: \"E\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 490..509,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 490..505,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 506..525,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 506..521,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 522..549,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 522..545,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 546..565,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 546..561,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 562..617,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 562..589,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 613..665,\n        ident: Ident {\n            span: 618..628,\n            sym: \"Dictionary\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 660..805,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 660..798,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 800..871,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 800..864,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 866..895,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 866..880,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 901..957,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 901..942,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 964..1003,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 964..988,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1009..1065,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1009..1050,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1071..1127,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1071..1112,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1133..1189,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1133..1174,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1218..1347,\n        ident: Ident {\n            span: 1223..1230,\n            sym: \"choices\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1231..1242,\n                sym: \"IChoiceList\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1343..1388,\n        ident: Ident {\n            span: 1348..1361,\n            sym: \"IMyChoiceList\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1384..1418,\n        ident: Ident {\n            span: 1389..1407,\n            sym: \"IUnknownChoiceList\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1415..1451,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1415..1447,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1448..1498,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1448..1493,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1495..1537,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1495..1533,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1534..1590,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1534..1585,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1587..1639,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1587..1635,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1636..1725,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1636..1697,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1721..1776,\n        ident: Ident {\n            span: 1726..1730,\n            sym: \"Foo1\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1856..1901,\n        ident: Ident {\n            span: 1865..1869,\n            sym: \"mock\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 283..286,\n        sym: \"x01\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 299..302,\n        sym: \"x02\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 315..318,\n        sym: \"x03\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 331..334,\n        sym: \"x04\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 351..354,\n        sym: \"x05\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 372..375,\n        sym: \"x06\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 393..396,\n        sym: \"x07\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 405..408,\n        sym: \"x08\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 422..425,\n        sym: \"x09\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 494..497,\n        sym: \"x10\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 510..513,\n        sym: \"x11\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 526..529,\n        sym: \"x12\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 550..553,\n        sym: \"x13\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 566..569,\n        sym: \"x14\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 666..687,\n        sym: \"intersectDictionaries\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 740..742,\n        sym: \"d1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 750..752,\n        sym: \"d2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 688..798,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 806..820,\n        sym: \"testDictionary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 846..852,\n        sym: \"_value\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 821..864,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 872..874,\n        sym: \"d1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 875..880,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 907..909,\n        sym: \"d2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 910..942,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 970..972,\n        sym: \"d3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 973..988,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1015..1017,\n        sym: \"d4\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1018..1050,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1077..1079,\n        sym: \"d5\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1080..1112,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1139..1141,\n        sym: \"d6\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1142..1174,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1419..1433,\n        sym: \"defaultChoices\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1452..1474,\n        sym: \"defaultChoicesAndEmpty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1499..1508,\n        sym: \"myChoices\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1538..1555,\n        sym: \"myChoicesAndEmpty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1591..1605,\n        sym: \"unknownChoices\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1640..1662,\n        sym: \"unknownChoicesAndEmpty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1873..1874,\n        sym: \"_\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 772..778,\n        sym: \"Object\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 778..786,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 779..785,\n                sym: \"assign\",\n            },\n        ),\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 786..789,\n        props: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 790..792,\n        sym: \"d1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 794..796,\n        sym: \"d2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 785..798,\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        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 736..798,\n        params: [\n            _,\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 845..864,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 877..880,\n        props: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 881..895,\n        sym: \"testDictionary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 896..898,\n        sym: \"d1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 895..900,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 912..933,\n        sym: \"intersectDictionaries\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 934..936,\n        sym: \"d1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 938..940,\n        sym: \"d1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 933..942,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 943..957,\n        sym: \"testDictionary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 958..960,\n        sym: \"d2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 957..962,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 982..984,\n            value: \"\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 975..988,\n        props: [\n            KeyValueProp {\n                span: 979..985,\n                key: Ident(\n                    Ident {\n                        span: 979..980,\n                        sym: \"s\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 989..1003,\n        sym: \"testDictionary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1004..1006,\n        sym: \"d3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1003..1008,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1020..1041,\n        sym: \"intersectDictionaries\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1042..1044,\n        sym: \"d1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1046..1048,\n        sym: \"d3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1041..1050,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1051..1065,\n        sym: \"testDictionary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1066..1068,\n        sym: \"d4\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1065..1070,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1082..1103,\n        sym: \"intersectDictionaries\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1104..1106,\n        sym: \"d3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1108..1110,\n        sym: \"d1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1103..1112,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1113..1127,\n        sym: \"testDictionary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1128..1130,\n        sym: \"d5\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1127..1132,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1144..1165,\n        sym: \"intersectDictionaries\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1166..1168,\n        sym: \"d3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1170..1172,\n        sym: \"d3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1165..1174,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1175..1189,\n        sym: \"testDictionary\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1190..1192,\n        sym: \"d6\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1189..1194,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1897..1901,\n        sym: \"mock\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1902..1908,\n        sym: \"import\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1909..1915,\n            value: \"./ex\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1908..1917,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1901..1947,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [
    "ExportNamed(\n    ExportNamedDecl {\n        span: 1941..1951,\n        src: None,\n        specifiers: [],\n        type_only: false,\n        decl: None,\n        with: [],\n    },\n)"
  ],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 226..240,\n        members: [\n            TsTypeMember {\n                span: 228..239,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 228..229,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 250..264,\n        members: [\n            TsTypeMember {\n                span: 252..263,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 252..253,\n                            sym: \"b\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 274..277,\n        members: [],\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 631..658,\n        members: [\n            TsTypeMember {\n                span: 633..657,\n                kind: Index,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 634..638,\n                        name: Some(\n                            Ident {\n                                span: 634..638,\n                                sym: \"name\",\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)",
    "TypeRef(\n    TsTypeRef {\n        span: 1286..1299,\n        name: Ident {\n            span: 1286..1299,\n            sym: \"IChoiceList\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Boolean,\n)",
    "Keyword(\n    Boolean,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1300..1341,\n        members: [\n            TsTypeMember {\n                span: 1306..1329,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1306..1311,\n                            sym: \"shoes\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1325..1340,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1325..1329,\n                            sym: \"food\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Intersection(\n    TsIntersectionType {\n        span: 1286..1341,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1375..1379,\n            value: true,\n        },\n    ),\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1364..1382,\n        members: [\n            TsTypeMember {\n                span: 1370..1381,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1370..1373,\n                            sym: \"car\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1410..1413,\n        members: [],\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1733..1748,\n        members: [\n            TsTypeMember {\n                span: 1735..1746,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1735..1736,\n                            sym: \"x\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1764..1770,\n        name: Ident {\n            span: 1764..1770,\n            sym: \"Foo1\",\n        },\n        type_args: [],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1749..1771,\n        members: [\n            TsTypeMember {\n                span: 1751..1770,\n                kind: Index,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 1752..1753,\n                        name: Some(\n                            Ident {\n                                span: 1752..1753,\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)",
    "Intersection(\n    TsIntersectionType {\n        span: 1733..1771,\n        types: [\n            _,\n            _,\n        ],\n    },\n)"
  ]
}
