{
  "programs": [
    "Program {\n    span: 213..2657,\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}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 239..246,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 283..290,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 331..338,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 381..393,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1284..1303,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1423..1429,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1419..1429,\n        label: Ident {\n            span: 1419..1421,\n            sym: \"a2\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1464..1470,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1460..1470,\n        label: Ident {\n            span: 1460..1462,\n            sym: \"a3\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1522..1528,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1518..1528,\n        label: Ident {\n            span: 1518..1520,\n            sym: \"a4\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1629..1635,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1625..1635,\n        label: Ident {\n            span: 1625..1627,\n            sym: \"a5\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1734..1740,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1730..1740,\n        label: Ident {\n            span: 1730..1732,\n            sym: \"a6\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1739..1748,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1741..1753,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1749..1764,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1757..1772,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1855..1861,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1851..1861,\n        label: Ident {\n            span: 1851..1853,\n            sym: \"a7\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1860..1869,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1862..1874,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1870..1885,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1878..1893,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1943..1949,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 1939..1949,\n        label: Ident {\n            span: 1939..1941,\n            sym: \"a8\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1948..1957,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1950..1962,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1958..1973,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1966..1981,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2050..2056,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2046..2056,\n        label: Ident {\n            span: 2046..2048,\n            sym: \"a9\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2055..2064,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2057..2069,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2065..2080,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2073..2088,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2139..2147,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2133..2147,\n        label: Ident {\n            span: 2133..2137,\n            sym: \"bing\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2146..2148,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2147..2151,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2149..2153,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2152..2154,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2153..2157,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2229..2235,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2224..2235,\n        label: Ident {\n            span: 2224..2227,\n            sym: \"a10\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2234..2243,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2236..2251,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2285..2291,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2280..2291,\n        label: Ident {\n            span: 2280..2283,\n            sym: \"a11\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2290..2299,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2292..2304,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2339..2345,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2334..2345,\n        label: Ident {\n            span: 2334..2337,\n            sym: \"a12\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2344..2353,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2346..2359,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2453..2459,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2448..2459,\n        label: Ident {\n            span: 2448..2451,\n            sym: \"a13\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2458..2467,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2460..2473,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2614..2620,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2609..2620,\n        label: Ident {\n            span: 2609..2612,\n            sym: \"a14\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2639..2642,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 2636..2642,\n        label: Ident {\n            span: 2636..2637,\n            sym: \"b\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2641..2643,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2642..2646,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2644..2648,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2647..2657,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2656..2657,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "TsInterface(\n    TsInterfaceDecl {\n        span: 384..1240,\n        ident: Ident {\n            span: 394..395,\n            sym: \"A\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 418..456,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 418..419,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 454..493,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 454..456,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 491..526,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 491..493,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 524..572,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 524..526,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 570..624,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 570..572,\n                            sym: \"a5\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 622..673,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 622..624,\n                            sym: \"a6\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 671..738,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 671..673,\n                            sym: \"a7\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 736..831,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 736..738,\n                            sym: \"a8\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 829..925,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 829..831,\n                            sym: \"a9\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 922..968,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 922..925,\n                            sym: \"a10\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 965..1044,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 965..968,\n                            sym: \"a11\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1041..1113,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1041..1044,\n                            sym: \"a12\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1110..1181,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1110..1113,\n                            sym: \"a13\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1178..1229,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1178..1181,\n                            sym: \"a14\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ],
  "pats": [],
  "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)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 1423..1429,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 1464..1470,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 1522..1528,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 1629..1635,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "New(\n    NewExpr {\n        span: 1734..1740,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1739..1740,\n        sym: \"T\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1749..1753,\n        sym: \"Base\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1755..1756,\n        sym: \"U\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 1749..1764,\n        exprs: [\n            _,\n            _,\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)",
    "New(\n    NewExpr {\n        span: 1855..1861,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1860..1861,\n        sym: \"T\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1870..1874,\n        sym: \"Base\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1876..1877,\n        sym: \"U\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 1870..1885,\n        exprs: [\n            _,\n            _,\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)",
    "New(\n    NewExpr {\n        span: 1943..1949,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1948..1949,\n        sym: \"T\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1958..1962,\n        sym: \"Base\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1964..1965,\n        sym: \"U\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 1958..1973,\n        exprs: [\n            _,\n            _,\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)",
    "New(\n    NewExpr {\n        span: 2050..2056,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2055..2056,\n        sym: \"T\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2065..2069,\n        sym: \"Base\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2071..2072,\n        sym: \"U\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 2065..2080,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2139..2145,\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)",
    "Ident(\n    Ident {\n        span: 2152..2153,\n        sym: \"U\",\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)",
    "New(\n    NewExpr {\n        span: 2229..2235,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2234..2235,\n        sym: \"T\",\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)",
    "New(\n    NewExpr {\n        span: 2285..2291,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2290..2291,\n        sym: \"T\",\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)",
    "New(\n    NewExpr {\n        span: 2339..2345,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2344..2345,\n        sym: \"T\",\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)",
    "New(\n    NewExpr {\n        span: 2453..2459,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2458..2459,\n        sym: \"T\",\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)",
    "New(\n    NewExpr {\n        span: 2614..2620,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2639..2640,\n        sym: \"U\",\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: 2647..2648,\n        sym: \"T\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 440..449,\n        elem_type: _,\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 425..449,\n        params: [\n            TsFnParam {\n                span: 426..436,\n                name: Some(\n                    Ident {\n                        span: 426..427,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 477..486,\n        elem_type: _,\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 462..486,\n        params: [\n            TsFnParam {\n                span: 463..473,\n                name: Some(\n                    Ident {\n                        span: 463..464,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Void,\n)",
    "Fn(\n    TsFnType {\n        span: 499..519,\n        params: [\n            TsFnParam {\n                span: 500..510,\n                name: Some(\n                    Ident {\n                        span: 500..501,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Fn(\n    TsFnType {\n        span: 532..565,\n        params: [\n            TsFnParam {\n                span: 533..543,\n                name: Some(\n                    Ident {\n                        span: 533..534,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 544..554,\n                name: Some(\n                    Ident {\n                        span: 544..545,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 582..606,\n        params: [\n            TsFnParam {\n                span: 583..595,\n                name: Some(\n                    Ident {\n                        span: 583..586,\n                        sym: \"arg\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Fn(\n    TsFnType {\n        span: 578..617,\n        params: [\n            TsFnParam {\n                span: 579..606,\n                name: Some(\n                    Ident {\n                        span: 579..580,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 640..645,\n        name: Ident {\n            span: 640..645,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 649..657,\n        name: Ident {\n            span: 649..657,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 634..657,\n        params: [\n            TsFnParam {\n                span: 635..645,\n                name: Some(\n                    Ident {\n                        span: 635..638,\n                        sym: \"arg\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 661..666,\n        name: Ident {\n            span: 661..666,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 630..666,\n        params: [\n            TsFnParam {\n                span: 631..657,\n                name: Some(\n                    Ident {\n                        span: 631..632,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 689..694,\n        name: Ident {\n            span: 689..694,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 698..706,\n        name: Ident {\n            span: 698..706,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 683..706,\n        params: [\n            TsFnParam {\n                span: 684..694,\n                name: Some(\n                    Ident {\n                        span: 684..687,\n                        sym: \"arg\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 714..719,\n        name: Ident {\n            span: 714..719,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 723..731,\n        name: Ident {\n            span: 723..731,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 710..731,\n        params: [\n            TsFnParam {\n                span: 711..719,\n                name: Some(\n                    Ident {\n                        span: 711..712,\n                        sym: \"r\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 679..731,\n        params: [\n            TsFnParam {\n                span: 680..706,\n                name: Some(\n                    Ident {\n                        span: 680..681,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 754..759,\n        name: Ident {\n            span: 754..759,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 763..771,\n        name: Ident {\n            span: 763..771,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 748..771,\n        params: [\n            TsFnParam {\n                span: 749..759,\n                name: Some(\n                    Ident {\n                        span: 749..752,\n                        sym: \"arg\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 782..787,\n        name: Ident {\n            span: 782..787,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 791..799,\n        name: Ident {\n            span: 791..799,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 775..799,\n        params: [\n            TsFnParam {\n                span: 776..787,\n                name: Some(\n                    Ident {\n                        span: 776..780,\n                        sym: \"arg2\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 807..812,\n        name: Ident {\n            span: 807..812,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 816..824,\n        name: Ident {\n            span: 816..824,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 803..824,\n        params: [\n            TsFnParam {\n                span: 804..812,\n                name: Some(\n                    Ident {\n                        span: 804..805,\n                        sym: \"r\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 744..824,\n        params: [\n            TsFnParam {\n                span: 745..771,\n                name: Some(\n                    Ident {\n                        span: 745..746,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 772..799,\n                name: Some(\n                    Ident {\n                        span: 772..773,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 847..852,\n        name: Ident {\n            span: 847..852,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 856..864,\n        name: Ident {\n            span: 856..864,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 841..864,\n        params: [\n            TsFnParam {\n                span: 842..852,\n                name: Some(\n                    Ident {\n                        span: 842..845,\n                        sym: \"arg\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 875..880,\n        name: Ident {\n            span: 875..880,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 884..892,\n        name: Ident {\n            span: 884..892,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 868..892,\n        params: [\n            TsFnParam {\n                span: 869..880,\n                name: Some(\n                    Ident {\n                        span: 869..873,\n                        sym: \"arg2\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 900..905,\n        name: Ident {\n            span: 900..905,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 909..917,\n        name: Ident {\n            span: 909..917,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 896..917,\n        params: [\n            TsFnParam {\n                span: 897..905,\n                name: Some(\n                    Ident {\n                        span: 897..898,\n                        sym: \"r\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 837..917,\n        params: [\n            TsFnParam {\n                span: 838..864,\n                name: Some(\n                    Ident {\n                        span: 838..839,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 865..892,\n                name: Some(\n                    Ident {\n                        span: 865..866,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 938..946,\n        name: Ident {\n            span: 938..946,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Array(\n    TsArrayType {\n        span: 938..948,\n        elem_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 952..960,\n        name: Ident {\n            span: 952..960,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 931..960,\n        params: [\n            TsFnParam {\n                span: 932..948,\n                name: Some(\n                    Ident {\n                        span: 935..936,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 978..994,\n        members: [\n            TsTypeMember {\n                span: 980..993,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 980..983,\n                            sym: \"foo\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 998..1027,\n        members: [\n            TsTypeMember {\n                span: 1000..1016,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1000..1003,\n                            sym: \"foo\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1013..1026,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1013..1016,\n                            sym: \"bar\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1031..1036,\n        name: Ident {\n            span: 1031..1036,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 974..1036,\n        params: [\n            TsFnParam {\n                span: 975..994,\n                name: Some(\n                    Ident {\n                        span: 975..976,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 995..1027,\n                name: Some(\n                    Ident {\n                        span: 995..996,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1060..1065,\n        name: Ident {\n            span: 1060..1065,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1054..1066,\n        name: Ident {\n            span: 1054..1060,\n            sym: \"Array\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1076..1085,\n        name: Ident {\n            span: 1076..1085,\n            sym: \"Derived2\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1070..1086,\n        name: Ident {\n            span: 1070..1076,\n            sym: \"Array\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1096..1104,\n        name: Ident {\n            span: 1096..1104,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1090..1105,\n        name: Ident {\n            span: 1090..1096,\n            sym: \"Array\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1050..1105,\n        params: [\n            TsFnParam {\n                span: 1051..1066,\n                name: Some(\n                    Ident {\n                        span: 1051..1052,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 1067..1086,\n                name: Some(\n                    Ident {\n                        span: 1067..1068,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1129..1134,\n        name: Ident {\n            span: 1129..1134,\n            sym: \"Base\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1123..1135,\n        name: Ident {\n            span: 1123..1129,\n            sym: \"Array\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1145..1153,\n        name: Ident {\n            span: 1145..1153,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1139..1154,\n        name: Ident {\n            span: 1139..1145,\n            sym: \"Array\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1164..1172,\n        name: Ident {\n            span: 1164..1172,\n            sym: \"Derived\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1158..1173,\n        name: Ident {\n            span: 1158..1164,\n            sym: \"Array\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1119..1173,\n        params: [\n            TsFnParam {\n                span: 1120..1135,\n                name: Some(\n                    Ident {\n                        span: 1120..1121,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 1136..1154,\n                name: Some(\n                    Ident {\n                        span: 1136..1137,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1191..1216,\n        members: [\n            TsTypeMember {\n                span: 1193..1205,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1193..1194,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1204..1215,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1204..1205,\n                            sym: \"b\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1220..1227,\n        name: Ident {\n            span: 1220..1227,\n            sym: \"Object\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1187..1227,\n        params: [\n            TsFnParam {\n                span: 1188..1216,\n                name: Some(\n                    Ident {\n                        span: 1188..1189,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)"
  ]
}
