{
  "programs": [
    "Program {\n    span: 18..6160,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\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        _,\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        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 43..50,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 151..166,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 228..250,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 267..272,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 271..279,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 273..280,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 279..281,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 280..288,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 282..290,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 299..323,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 289..340,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 400..403,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 402..409,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 738..758,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 812..828,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 876..901,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1050..1062,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1099..1119,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1155..1175,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1206..1226,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1265..1277,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1230..1283,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1279..1314,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1349..1365,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1310..1371,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1405..1421,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1367..1427,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1423..1463,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1459..1498,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1528..1544,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1494..1571,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1610..1615,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1614..1622,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1616..1623,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1622..1626,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1624..1633,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1627..1634,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1633..1674,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1780..1802,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1790..1821,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1808..1833,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1890..1908,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1907..1932,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1931..1952,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1951..1969,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1968..1993,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1992..2015,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2240..2245,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2244..2252,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2246..2253,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2252..2256,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2254..2263,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2314..2485,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2472..2517,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2504..2543,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2587..2631,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2671..2676,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2675..2683,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2677..2684,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2683..2687,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2685..2694,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2688..2733,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2773..2778,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2777..2785,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2779..2786,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2785..2789,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2787..2796,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2790..2822,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2858..2863,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2862..2870,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2864..2871,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2870..2874,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2872..2881,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 2914..2930,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2875..2936,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3114..3119,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3118..3126,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3120..3127,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3126..3130,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3128..3137,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3131..3162,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3208..3213,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3212..3220,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3214..3221,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3220..3224,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3222..3231,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3225..3256,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3355..3360,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3359..3367,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3361..3368,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3367..3371,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3369..3378,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3372..3381,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3380..3414,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 3458..3477,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3413..3480,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3479..3527,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 3588..3607,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3526..3610,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3609..3702,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3701..3724,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3723..3749,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3748..3883,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3882..3914,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3913..3948,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3947..4017,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4016..4053,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 4100..4119,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4052..4149,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 4176..4195,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4148..4198,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 4232..4251,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4197..4254,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 4284..4303,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4253..4334,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 4370..4389,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4333..4427,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 4471..4490,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4426..4521,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4520..4580,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4608..4626,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4664..4678,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4717..4729,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4723..4744,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4790..4802,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4796..4804,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4806..4815,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 4803..4815,\n        label: Ident {\n            span: 4803..4804,\n            sym: \"y\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4814..4821,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4861..4868,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4944..4958,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4997..5000,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4999..5006,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5046..5051,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 5142..5207,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5205..5299,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5297..5357,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5355..5409,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5407..5480,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5478..5607,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 5637..5651,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 5702..5718,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 5753..5769,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 6046..6052,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 6131..6158,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Class(\n    ClassDecl {\n        span: 404..435,\n        ident: Ident {\n            span: 410..411,\n            sym: \"D\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 426..672,\n        ident: Ident {\n            span: 436..437,\n            sym: \"I\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 444..472,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 444..445,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 459..511,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 459..472,\n                            sym: \"explicitVoid1\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 473..484,\n                        name: Some(\n                            Ident {\n                                span: 473..477,\n                                sym: \"this\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 498..555,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 498..511,\n                            sym: \"explicitVoid2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 512..523,\n                        name: Some(\n                            Ident {\n                                span: 512..516,\n                                sym: \"this\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 537..605,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 537..555,\n                            sym: \"explicitStructural\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 556..574,\n                        name: Some(\n                            Ident {\n                                span: 556..560,\n                                sym: \"this\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 588..640,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 588..605,\n                            sym: \"explicitInterface\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 606..614,\n                        name: Some(\n                            Ident {\n                                span: 606..610,\n                                sym: \"this\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 628..663,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 628..640,\n                            sym: \"explicitThis\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 641..652,\n                        name: Some(\n                            Ident {\n                                span: 641..645,\n                                sym: \"this\",\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)",
    "Fn(\n    FnDecl {\n        span: 664..767,\n        ident: Ident {\n            span: 673..691,\n            sym: \"explicitStructural\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 759..837,\n        ident: Ident {\n            span: 768..776,\n            sym: \"justThis\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 829..905,\n        ident: Ident {\n            span: 838..850,\n            sym: \"implicitThis\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 902..1234,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 902..1234,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1671..1782,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1671..1779,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1830..1850,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1830..1846,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1847..1867,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1847..1863,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1864..1891,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1864..1889,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2540..2599,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2540..2586,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2933..2996,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2933..2992,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5048..5073,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5048..5069,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5070..5095,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5070..5091,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5092..5120,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5092..5116,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5117..5144,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5117..5141,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 5599..5660,\n        ident: Ident {\n            span: 5608..5621,\n            sym: \"InterfaceThis\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 5652..5727,\n        ident: Ident {\n            span: 5661..5676,\n            sym: \"LiteralTypeThis\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 5719..5773,\n        ident: Ident {\n            span: 5728..5735,\n            sym: \"AnyThis\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5770..5814,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5770..5810,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5811..5859,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5811..5855,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5856..5928,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5856..5884,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6049..6086,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6049..6076,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 6078..6160,\n        ident: Ident {\n            span: 6087..6111,\n            sym: \"missingTypeIsImplicitAny\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 692..696,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 713..714,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 777..781,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 851..852,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 906..910,\n        sym: \"impl\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1675..1688,\n        sym: \"implicitAnyOk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1834..1835,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1836..1846,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1851..1852,\n        sym: \"d\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1853..1863,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1868..1874,\n        sym: \"ripped\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1875..1889,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2544..2556,\n        sym: \"explicitVoid\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 2557..2586,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2697..2698,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2688..2694,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2790..2796,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2893..2894,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2875..2881,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2937..2954,\n        sym: \"unspecifiedLambda\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2980..2981,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3131..3137,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3225..3231,\n        sym: \"number\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3436..3440,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3445..3446,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3556..3560,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3575..3576,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3715..3716,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3740..3741,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3769..3770,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3896..3897,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3930..3931,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3968..3969,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4078..4082,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4087..4088,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4171..4172,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4227..4228,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4279..4280,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4359..4363,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4365..4366,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4449..4453,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4458..4459,\n        sym: \"m\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 4537..4538,\n        sym: \"n\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 5052..5054,\n        sym: \"b1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5055..5069,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5074..5076,\n        sym: \"b2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5077..5091,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5096..5098,\n        sym: \"d1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5099..5116,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5121..5123,\n        sym: \"d2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5124..5141,\n        left: _,\n        right: _,\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 5622..5626,\n        sym: \"this\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 5677..5681,\n        sym: \"this\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 5736..5740,\n        sym: \"this\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 5774..5787,\n        sym: \"interfaceThis\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5788..5810,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5815..5830,\n        sym: \"literalTypeThis\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5831..5855,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5860..5867,\n        sym: \"anyThis\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5868..5884,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6053..6054,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6112..6116,\n        sym: \"this\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6118..6119,\n        sym: \"a\",\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\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)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 270..271,\n        sym: \"m\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 267..272,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 273..279,\n        sym: \"number\",\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: 282..288,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 306..310,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 310..314,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 311..312,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 315..316,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 313..317,\n        op: Add,\n        left: _,\n        right: _,\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: 420..421,\n        sym: \"C\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 745..746,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 749..753,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 753..756,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 754..755,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 747..756,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 819..823,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 823..826,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 824..825,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 883..887,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 887..891,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 888..889,\n                sym: \"m\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 892..893,\n        sym: \"n\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 890..895,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 896..898,\n            value: 12.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 894..899,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 925..927,\n            value: 12.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 954..958,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 958..961,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 959..960,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 948..961,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1057..1059,\n            value: 12.0,\n        },\n    ),\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1106..1110,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1110..1113,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1111..1112,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1162..1166,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1166..1169,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1167..1168,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1213..1217,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1217..1220,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1218..1219,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Function(\n    _,\n)",
    "Object(\n    ObjectExpr {\n        span: 916..1234,\n        props: [\n            KeyValueProp {\n                span: 922..928,\n                key: Ident(\n                    Ident {\n                        span: 922..923,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 933..961,\n                key: Ident(\n                    Ident {\n                        span: 933..946,\n                        sym: \"explicitVoid2\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1032..1063,\n                key: Ident(\n                    Ident {\n                        span: 1032..1045,\n                        sym: \"explicitVoid1\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1068..1120,\n                key: Ident(\n                    Ident {\n                        span: 1068..1086,\n                        sym: \"explicitStructural\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1125..1176,\n                key: Ident(\n                    Ident {\n                        span: 1125..1142,\n                        sym: \"explicitInterface\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1181..1227,\n                key: Ident(\n                    Ident {\n                        span: 1181..1193,\n                        sym: \"explicitThis\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1230..1234,\n        sym: \"impl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1234..1250,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1235..1248,\n                sym: \"explicitVoid1\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1272..1274,\n            value: 12.0,\n        },\n    ),\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 1249..1278,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1279..1283,\n        sym: \"impl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1283..1299,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1284..1297,\n                sym: \"explicitVoid2\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1306..1308,\n            value: 12.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1300..1309,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1298..1309,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1310..1314,\n        sym: \"impl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1314..1335,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1315..1333,\n                sym: \"explicitStructural\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1356..1360,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1360..1363,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1361..1362,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 1334..1366,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1367..1371,\n        sym: \"impl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1371..1391,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1372..1389,\n                sym: \"explicitInterface\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1412..1416,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1416..1419,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1417..1418,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 1390..1422,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1423..1427,\n        sym: \"impl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1427..1448,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1428..1446,\n                sym: \"explicitStructural\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1455..1457,\n            value: 12.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1449..1458,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1447..1458,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1459..1463,\n        sym: \"impl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1463..1483,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1464..1481,\n                sym: \"explicitInterface\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1490..1492,\n            value: 12.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1484..1493,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1482..1493,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1494..1498,\n        sym: \"impl\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1498..1513,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1499..1511,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1535..1539,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1539..1542,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1540..1541,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 1512..1545,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1613..1614,\n        sym: \"x\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 1610..1615,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1616..1622,\n        sym: \"number\",\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: 1627..1633,\n        sym: \"number\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1642..1644,\n            value: 12.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1649..1667,\n        sym: \"explicitStructural\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 1637..1670,\n        props: [\n            KeyValueProp {\n                span: 1639..1645,\n                key: Ident(\n                    Ident {\n                        span: 1639..1640,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1646..1669,\n                key: Ident(\n                    Ident {\n                        span: 1646..1647,\n                        sym: \"f\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1635..1670,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1757..1759,\n            value: 12.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1764..1776,\n        sym: \"implicitThis\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 1741..1779,\n        props: [\n            KeyValueProp {\n                span: 1743..1760,\n                key: Ident(\n                    Ident {\n                        span: 1743..1755,\n                        sym: \"notSpecified\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1761..1778,\n                key: Ident(\n                    Ident {\n                        span: 1761..1762,\n                        sym: \"f\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1780..1782,\n        sym: \"ok\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1782..1785,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1783..1784,\n                sym: \"f\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1785..1787,\n            value: 13.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1784..1789,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1790..1802,\n        sym: \"implicitThis\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1803..1805,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1802..1807,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1808..1821,\n        sym: \"implicitAnyOk\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1821..1824,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1822..1823,\n                sym: \"f\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1824..1826,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1823..1828,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1842..1843,\n        sym: \"C\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1843..1846,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1838..1846,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1859..1860,\n        sym: \"D\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1860..1863,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1855..1863,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1877..1878,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1878..1889,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1879..1888,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1890..1891,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1891..1902,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1892..1901,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1902..1904,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1901..1906,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1907..1908,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1908..1926,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1909..1925,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1926..1928,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1925..1930,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1931..1932,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1932..1946,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1933..1945,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1946..1948,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1945..1950,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1951..1952,\n        sym: \"d\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1952..1963,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1953..1962,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1963..1965,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1962..1967,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1968..1969,\n        sym: \"d\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1969..1987,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1970..1986,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1987..1989,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1986..1991,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1992..1993,\n        sym: \"d\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1993..2007,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1994..2006,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2007..2009,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2006..2011,\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: 2243..2244,\n        sym: \"m\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 2240..2245,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2246..2252,\n        sym: \"number\",\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)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2328..2330,\n            value: 12.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2350..2351,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2351..2365,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2352..2364,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2381..2382,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2382..2393,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2383..2392,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2416..2417,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2417..2435,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2418..2434,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2454..2455,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2455..2470,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2456..2468,\n                sym: \"explicitVoid\",\n            },\n        ),\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2318..2471,\n        props: [\n            KeyValueProp {\n                span: 2325..2331,\n                key: Ident(\n                    Ident {\n                        span: 2325..2326,\n                        sym: \"n\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2336..2365,\n                key: Ident(\n                    Ident {\n                        span: 2336..2348,\n                        sym: \"explicitThis\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2370..2393,\n                key: Ident(\n                    Ident {\n                        span: 2370..2379,\n                        sym: \"explicitC\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2398..2435,\n                key: Ident(\n                    Ident {\n                        span: 2398..2414,\n                        sym: \"explicitProperty\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2440..2470,\n                key: Ident(\n                    Ident {\n                        span: 2440..2452,\n                        sym: \"explicitVoid\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2316..2471,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2472..2485,\n        sym: \"reconstructed\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2485..2499,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2486..2498,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2499..2501,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2498..2503,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2504..2517,\n        sym: \"reconstructed\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2517..2535,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2518..2534,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2535..2537,\n            value: 11.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2534..2539,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2559..2572,\n        sym: \"reconstructed\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2572..2586,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2573..2585,\n                sym: \"explicitVoid\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2587..2599,\n        sym: \"explicitVoid\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2600..2602,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2599..2604,\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: 2674..2675,\n        sym: \"x\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 2671..2676,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2677..2683,\n        sym: \"number\",\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: 2702..2703,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2706..2710,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2710..2713,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2711..2712,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 2704..2713,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2697..2713,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2695..2713,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2776..2777,\n        sym: \"x\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 2773..2778,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2779..2785,\n        sym: \"number\",\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: 2799..2817,\n        sym: \"explicitStructural\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2797..2818,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2861..2862,\n        sym: \"x\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 2858..2863,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2864..2870,\n        sym: \"number\",\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: 2921..2922,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2925..2927,\n            value: 12.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 2923..2928,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 2882..2931,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2985..2986,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2989..2991,\n            value: 12.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 2987..2992,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2980..2992,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3117..3118,\n        sym: \"x\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 3114..3119,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3120..3126,\n        sym: \"number\",\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: 3140..3157,\n        sym: \"unspecifiedLambda\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3138..3158,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3211..3212,\n        sym: \"x\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 3208..3213,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3214..3220,\n        sym: \"number\",\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: 3234..3249,\n        sym: \"specifiedLambda\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3232..3250,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3358..3359,\n        sym: \"m\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 3355..3360,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3361..3367,\n        sym: \"number\",\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: 3372..3378,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3380..3381,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3381..3393,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3382..3391,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3394..3411,\n        sym: \"explicitCFunction\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3392..3412,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3413..3414,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3414..3426,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3415..3424,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3465..3469,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3469..3473,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3470..3471,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3474..3475,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 3472..3477,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 3425..3478,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3479..3480,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3480..3499,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3481..3497,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3500..3524,\n        sym: \"explicitPropertyFunction\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3498..3525,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3526..3527,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3527..3546,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3528..3544,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3595..3599,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3599..3603,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3600..3601,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3604..3605,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 3602..3607,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 3545..3608,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3609..3610,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3610..3629,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3611..3627,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3630..3643,\n        sym: \"reconstructed\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3643..3661,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3644..3660,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3628..3661,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3701..3702,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3702..3714,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3703..3712,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3720..3721,\n        sym: \"m\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3715..3722,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3713..3722,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3723..3724,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3724..3739,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3725..3737,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3745..3746,\n        sym: \"m\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3740..3747,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3738..3747,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3748..3749,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3749..3768,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3750..3766,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3774..3775,\n        sym: \"m\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3769..3776,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3767..3776,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3882..3883,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3883..3895,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3884..3893,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3901..3902,\n        sym: \"m\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3905..3909,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3909..3912,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3910..3911,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 3903..3912,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3896..3912,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3894..3912,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3913..3914,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3914..3929,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3915..3927,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3935..3936,\n        sym: \"m\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3939..3943,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3943..3946,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3944..3945,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 3937..3946,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3930..3946,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3928..3946,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3947..3948,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3948..3967,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3949..3965,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3973..3974,\n        sym: \"m\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3977..3981,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3981..3984,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3982..3983,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 3975..3984,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3968..3984,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3966..3984,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4016..4017,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4017..4032,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4018..4030,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4033..4050,\n        sym: \"explicitCFunction\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4031..4051,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4052..4053,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4053..4068,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4054..4066,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4107..4111,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4111..4115,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4112..4113,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4116..4117,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4114..4119,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 4067..4120,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4148..4149,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4149..4161,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4150..4159,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4183..4187,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4187..4191,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4188..4189,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4192..4193,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4190..4195,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 4160..4196,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4197..4198,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4198..4217,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4199..4215,\n                sym: \"explicitProperty\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4239..4243,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4243..4247,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4244..4245,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4248..4249,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4246..4251,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 4216..4252,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4253..4254,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4254..4269,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4255..4267,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4291..4295,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4295..4299,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4296..4297,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4300..4301,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4298..4303,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 4268..4304,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4333..4334,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4334..4349,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4335..4347,\n                sym: \"explicitThis\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4377..4381,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4381..4385,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4382..4383,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4386..4387,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4384..4389,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 4348..4390,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4426..4427,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4427..4439,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4428..4437,\n                sym: \"explicitC\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4478..4482,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4482..4486,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4483..4484,\n                sym: \"n\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4487..4488,\n        sym: \"m\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 4485..4490,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Function(\n    _,\n)",
    "Assign(\n    AssignExpr {\n        span: 4438..4491,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4520..4521,\n        sym: \"c\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4521..4536,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4522..4534,\n                sym: \"explicitVoid\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4542..4543,\n        sym: \"n\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4537..4544,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4535..4544,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4608..4614,\n        sym: \"public\",\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: 4723..4729,\n        sym: \"static\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 4796..4802,\n        sym: \"static\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4806..4812,\n        sym: \"number\",\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)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\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)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 5061..5066,\n        sym: \"Base1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5066..5069,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5057..5069,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5083..5088,\n        sym: \"Base2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5088..5091,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5079..5091,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5105..5113,\n        sym: \"Derived1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5113..5116,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5101..5116,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5130..5138,\n        sym: \"Derived2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5138..5141,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5126..5141,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5142..5144,\n        sym: \"d2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5144..5158,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5145..5156,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5159..5161,\n        sym: \"d1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5161..5207,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5162..5173,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5157..5207,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5205..5207,\n        sym: \"d1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5207..5221,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5208..5219,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5222..5224,\n        sym: \"d2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5224..5299,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5225..5236,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5220..5299,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5297..5299,\n        sym: \"d1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5299..5313,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5300..5311,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5314..5316,\n        sym: \"b2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5316..5357,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5317..5328,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5312..5357,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5355..5357,\n        sym: \"d2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5357..5371,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5358..5369,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5372..5374,\n        sym: \"d1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5374..5409,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5375..5383,\n                sym: \"explicit\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5370..5409,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5407..5409,\n        sym: \"b1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5409..5423,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5410..5421,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5424..5426,\n        sym: \"d2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5426..5480,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5427..5438,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5422..5480,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5478..5480,\n        sym: \"b1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5480..5491,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5481..5489,\n                sym: \"explicit\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 5492..5494,\n        sym: \"d2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5494..5607,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5495..5506,\n                sym: \"polymorphic\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 5490..5607,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5637..5641,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5641..5645,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5642..5643,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 5646..5648,\n            value: 12.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 5644..5649,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5702..5706,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5706..5710,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5707..5708,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 5711..5715,\n            value: \"ok\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 5709..5716,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5753..5757,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5757..5761,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5758..5759,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 5762..5766,\n            value: \"ok\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 5760..5767,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5794..5807,\n        sym: \"InterfaceThis\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5807..5810,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5790..5810,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5837..5852,\n        sym: \"LiteralTypeThis\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5852..5855,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5833..5855,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5874..5881,\n        sym: \"AnyThis\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5881..5884,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 5870..5884,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 6065..6066,\n        sym: \"f\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6066..6072,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6067..6071,\n                sym: \"call\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 6072..6074,\n            value: 12.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 6071..6076,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 6138..6142,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6142..6153,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6143..6151,\n                sym: \"anything\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 6154..6155,\n        sym: \"a\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 6152..6156,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 1032..1063,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1068..1120,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1125..1176,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1181..1227,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1251..1278,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1336..1366,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1392..1422,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1514..1545,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 2884..2931,\n    params: [\n        Param {\n            span: 2884..2884,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 3427..3478,\n    params: [\n        Param {\n            span: 3427..3427,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 3427..3427,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 3547..3608,\n    params: [\n        Param {\n            span: 3547..3547,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 3547..3547,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 4069..4120,\n    params: [\n        Param {\n            span: 4069..4069,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 4069..4069,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 4162..4196,\n    params: [\n        Param {\n            span: 4162..4162,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 4218..4252,\n    params: [\n        Param {\n            span: 4218..4218,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 4270..4304,\n    params: [\n        Param {\n            span: 4270..4270,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 4350..4390,\n    params: [\n        Param {\n            span: 4350..4350,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 4350..4350,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 4440..4491,\n    params: [\n        Param {\n            span: 4440..4440,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 4440..4440,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [
    "Class {\n    span: 404..435,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 410..411,\n            sym: \"D\",\n        },\n    ),\n    super_class: Some(\n        _,\n    ),\n    body: [],\n}"
  ],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Void,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Void,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 562..574,\n        members: [\n            TsTypeMember {\n                span: 563..573,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 563..564,\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    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 612..614,\n        name: Ident {\n            span: 612..614,\n            sym: \"I\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 647..652,\n        name: Ident {\n            span: 647..652,\n            sym: \"this\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Number,\n)"
  ]
}
