{
  "programs": [
    "Program {\n    span: 1..1288,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 216..234,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 623..653,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 658..670,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 664..675,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 674..682,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 752..777,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 828..846,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 841..854,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 915..933,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 928..949,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 944..960,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1031..1062,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1058..1080,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1102..1121,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1219..1287,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1..55,\n        ident: Ident {\n            span: 6..17,\n            sym: \"Constructor\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 18..19,\n                sym: \"T\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 50..126,\n        ident: Ident {\n            span: 56..60,\n            sym: \"Base\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 121..243,\n        ident: Ident {\n            span: 127..134,\n            sym: \"Derived\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 383..426,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 383..420,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 238..438,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 238..438,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 430..659,\n        ident: Ident {\n            span: 439..445,\n            sym: \"Tagged\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 677..714,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 677..708,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 709..758,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 709..751,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 789..833,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 789..823,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 769..864,\n        ident: Ident {\n            span: 778..780,\n            sym: \"f1\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 876..920,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 876..910,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 856..967,\n        ident: Ident {\n            span: 865..867,\n            sym: \"f2\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Class(\n    ClassDecl {\n        span: 962..1152,\n        ident: Ident {\n            span: 968..974,\n            sym: \"Thing3\",\n        },\n        declare: false,\n        class: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1147..1288,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1147..1288,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 86..87,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 104..105,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 166..167,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 177..178,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 195..196,\n        sym: \"z\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 244..253,\n        sym: \"Printable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 286..296,\n        sym: \"superClass\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 389..395,\n        sym: \"output\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 396..420,\n        left: _,\n        right: _,\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 254..438,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 473..483,\n        sym: \"superClass\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 683..689,\n        sym: \"Thing1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 690..708,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 715..721,\n        sym: \"Thing2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 722..751,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 795..800,\n        sym: \"thing\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 801..823,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 882..887,\n        sym: \"thing\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 888..910,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1008..1011,\n        sym: \"tag\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1153..1164,\n        sym: \"Timestamped\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1200..1204,\n        sym: \"Base\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1165..1288,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 143..147,\n        sym: \"Base\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 216..221,\n        sym: \"super\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 222..223,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 225..226,\n        sym: \"y\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 221..228,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 318..328,\n        sym: \"superClass\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 352..359,\n            value: \"hello\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 398..402,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 402..406,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 403..404,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 407..410,\n            value: \",\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 405..412,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 413..417,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 417..420,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 418..419,\n                sym: \"y\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 411..420,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Class(\n    _,\n)",
    "Arrow(\n    ArrowExpr {\n        span: 285..438,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 623..627,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 627..634,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 628..632,\n                sym: \"_tag\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 635..642,\n            value: \"hello\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 633..643,\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: 671..672,\n        sym: \"C\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 692..698,\n        sym: \"Tagged\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 699..706,\n        sym: \"Derived\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 698..708,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 724..730,\n        sym: \"Tagged\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 731..740,\n        sym: \"Printable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 741..748,\n        sym: \"Derived\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 740..750,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 730..751,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 752..758,\n        sym: \"Thing2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 758..767,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 759..766,\n                sym: \"message\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 807..813,\n        sym: \"Thing1\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 814..815,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 817..818,\n            value: 2.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 820..821,\n            value: 3.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 813..823,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 803..823,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 828..833,\n        sym: \"thing\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 833..836,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 834..835,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 841..846,\n        sym: \"thing\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 846..852,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 847..851,\n                sym: \"_tag\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 894..900,\n        sym: \"Thing2\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 901..902,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 904..905,\n            value: 2.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 907..908,\n            value: 3.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 900..910,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 890..910,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 915..920,\n        sym: \"thing\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 920..923,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 921..922,\n                sym: \"x\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 928..933,\n        sym: \"thing\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 933..939,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 934..938,\n                sym: \"_tag\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 944..949,\n        sym: \"thing\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 949..956,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 950..955,\n                sym: \"print\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 955..958,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 983..989,\n        sym: \"Thing2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1031..1036,\n        sym: \"super\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1037..1039,\n            value: 10.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1041..1043,\n            value: 20.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1045..1047,\n            value: 30.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1036..1049,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1058..1062,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1062..1069,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1063..1067,\n                sym: \"_tag\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1070..1073,\n        sym: \"tag\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1068..1074,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1102..1106,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1106..1113,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1107..1112,\n                sym: \"print\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1112..1115,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1240..1244,\n        sym: \"Base\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1271..1275,\n        sym: \"Date\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1275..1278,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1267..1278,\n        callee: _,\n        args: [],\n    },\n)",
    "Class(\n    _,\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1199..1288,\n        params: [\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 67..119,\n    params: [\n        Param {\n            span: 79..96,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 97..114,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 154..236,\n    params: [\n        Param {\n            span: 166..176,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 177..187,\n            decorators: [],\n            pat: _,\n        },\n        Param {\n            span: 188..205,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 365..428,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 996..1089,\n    params: [\n        Param {\n            span: 1008..1020,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1085..1123,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [
    "Class {\n    span: 50..126,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 56..60,\n            sym: \"Base\",\n        },\n    ),\n    super_class: None,\n    body: [\n        _,\n    ],\n}",
    "Class {\n    span: 121..243,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 127..134,\n            sym: \"Derived\",\n        },\n    ),\n    super_class: Some(\n        _,\n    ),\n    body: [\n        _,\n    ],\n}",
    "Class {\n    span: 304..438,\n    decorators: [],\n    ident: None,\n    super_class: Some(\n        _,\n    ),\n    body: [\n        _,\n        _,\n    ],\n}",
    "Class {\n    span: 962..1152,\n    decorators: [],\n    ident: Some(\n        Ident {\n            span: 968..974,\n            sym: \"Thing3\",\n        },\n    ),\n    super_class: Some(\n        _,\n    ),\n    body: [\n        _,\n        _,\n    ],\n}",
    "Class {\n    span: 1226..1285,\n    decorators: [],\n    ident: None,\n    super_class: Some(\n        _,\n    ),\n    body: [\n        _,\n    ],\n}"
  ],
  "class_members": [
    "Method(\n    ClassMethod {\n        span: 67..119,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 67..78,\n                sym: \"constructor\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Constructor,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 154..236,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 154..165,\n                sym: \"constructor\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Constructor,\n    },\n)",
    "Prop(\n    ClassProp {\n        span: 335..370,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 342..349,\n                sym: \"message\",\n            },\n        ),\n        value: Some(\n            _,\n        ),\n        is_static: true,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 365..428,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 365..370,\n                sym: \"print\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 996..1089,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 996..1007,\n                sym: \"constructor\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Constructor,\n    },\n)",
    "Method(\n    ClassMethod {\n        span: 1085..1123,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 1085..1089,\n                sym: \"test\",\n            },\n        ),\n        function: _,\n        is_static: false,\n        kind: Method,\n    },\n)",
    "Prop(\n    ClassProp {\n        span: 1255..1284,\n        decorators: [],\n        key: Ident(\n            Ident {\n                span: 1255..1264,\n                sym: \"timestamp\",\n            },\n        ),\n        value: Some(\n            _,\n        ),\n        is_static: false,\n    },\n)"
  ],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Any,\n)",
    "Array(\n    TsArrayType {\n        span: 36..42,\n        elem_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 46..48,\n        name: Ident {\n            span: 46..48,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 26..48,\n        params: [\n            TsFnParam {\n                span: 27..42,\n                name: Some(\n                    Ident {\n                        span: 30..34,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)"
  ]
}
