{
  "programs": [
    "Program {\n    span: 20..1469,\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}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 627..685,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 720..762,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 802..813,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 815..830,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 812..830,\n        label: Ident {\n            span: 812..813,\n            sym: \"y\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 827..832,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 850..859,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 856..864,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 860..867,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 866..874,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 868..876,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 877..888,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 875..896,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 893..901,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 919..926,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 925..930,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 929..944,\n        stmts: [],\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 946..967,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 937..967,\n        label: Ident {\n            span: 937..944,\n            sym: \"removed\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 969..978,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 958..978,\n        label: Ident {\n            span: 958..967,\n            sym: \"remainder\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 977..988,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1303..1369,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 20..49,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 20..49,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 46..71,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 46..67,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 68..96,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 68..92,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 93..133,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 93..129,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 130..171,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 130..167,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 168..207,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 168..203,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 204..256,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 204..251,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 253..300,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 253..296,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 297..332,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 297..327,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 329..453,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 329..449,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 450..528,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 450..523,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 525..571,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 525..567,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 568..628,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 568..626,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 682..721,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 682..719,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 979..1057,\n        ident: Ident {\n            span: 989..990,\n            sym: \"I\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 997..1019,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 997..998,\n                            sym: \"m\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1012..1042,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1012..1019,\n                            sym: \"removed\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1033..1053,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1033..1042,\n                            sym: \"remainder\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1054..1090,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1054..1086,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1087..1137,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1087..1133,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1134..1159,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1134..1155,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1156..1200,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1156..1195,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1197..1220,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1197..1216,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1217..1241,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1217..1237,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1238..1304,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1238..1302,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1366..1469,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1366..1468,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 24..25,\n        sym: \"o\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 26..49,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 55..60,\n        sym: \"clone\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 50..64,\n        props: [\n            Rest(\n                RestPat {\n                    span: 52..62,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 80..85,\n        sym: \"justB\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 72..89,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 74..76,\n                    key: Ident {\n                        span: 74..75,\n                        sym: \"a\",\n                    },\n                    value: None,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 77..87,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 105..112,\n        sym: \"renamed\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 117..122,\n        sym: \"empty\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 97..126,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 99..101,\n                    key: Ident {\n                        span: 99..100,\n                        sym: \"a\",\n                    },\n                    value: None,\n                },\n            ),\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 102..113,\n                    key: Ident(\n                        Ident {\n                            span: 102..103,\n                            sym: \"b\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 114..124,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 143..150,\n        sym: \"renamed\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 155..160,\n        sym: \"justA\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 134..164,\n        props: [\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 136..151,\n                    key: Computed(\n                        _,\n                    ),\n                    value: _,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 152..162,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 179..186,\n        sym: \"renamed\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 191..196,\n        sym: \"justA\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 172..200,\n        props: [\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 174..187,\n                    key: Str(\n                        StrLit {\n                            span: 174..177,\n                            value: \"b\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 188..198,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 220..221,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 228..232,\n        sym: \"oooo\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 213..235,\n        props: [\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 215..222,\n                    key: Str(\n                        StrLit {\n                            span: 215..218,\n                            value: \"0\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 223..234,\n                    key: Str(\n                        StrLit {\n                            span: 223..226,\n                            value: \"1\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 239..244,\n        sym: \"justA\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 208..248,\n        props: [\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 210..235,\n                    key: Ident(\n                        Ident {\n                            span: 210..211,\n                            sym: \"b\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 236..246,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 257..259,\n        sym: \"o2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 260..296,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 306..313,\n        sym: \"renamed\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 318..319,\n        sym: \"d\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 301..323,\n        props: [\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 303..314,\n                    key: Ident(\n                        Ident {\n                            span: 303..304,\n                            sym: \"d\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 315..321,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 333..343,\n        sym: \"nestedrest\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 486..488,\n        sym: \"nr\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 481..492,\n        props: [\n            Rest(\n                RestPat {\n                    span: 483..490,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 472..494,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 474..476,\n                    key: Ident {\n                        span: 474..475,\n                        sym: \"z\",\n                    },\n                    value: None,\n                },\n            ),\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 477..492,\n                    key: Ident(\n                        Ident {\n                            span: 477..479,\n                            sym: \"n3\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n        ],\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 463..495,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 465..467,\n                    key: Ident {\n                        span: 465..466,\n                        sym: \"y\",\n                    },\n                    value: None,\n                },\n            ),\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 468..494,\n                    key: Ident(\n                        Ident {\n                            span: 468..470,\n                            sym: \"n2\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 499..507,\n        sym: \"restrest\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 454..511,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 456..458,\n                    key: Ident {\n                        span: 456..457,\n                        sym: \"x\",\n                    },\n                    value: None,\n                },\n            ),\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 459..495,\n                    key: Ident(\n                        Ident {\n                            span: 459..461,\n                            sym: \"n1\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 496..509,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 529..536,\n        sym: \"complex\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 586..592,\n        sym: \"nested\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 577..595,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 579..582,\n                    key: Ident {\n                        span: 579..581,\n                        sym: \"ka\",\n                    },\n                    value: None,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 583..594,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 599..604,\n        sym: \"other\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 609..613,\n        sym: \"rest\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 572..617,\n        props: [\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 574..595,\n                    key: Ident(\n                        Ident {\n                            span: 574..575,\n                            sym: \"x\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 596..605,\n                    key: Ident(\n                        Ident {\n                            span: 596..597,\n                            sym: \"y\",\n                        },\n                    ),\n                    value: _,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 606..615,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 694..699,\n        sym: \"fresh\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 686..703,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 688..690,\n                    key: Ident {\n                        span: 688..689,\n                        sym: \"x\",\n                    },\n                    value: None,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 691..701,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1058..1067,\n        sym: \"removable\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1068..1086,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1105..1118,\n        sym: \"removableRest\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 1091..1122,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 1093..1101,\n                    key: Ident {\n                        span: 1093..1100,\n                        sym: \"removed\",\n                    },\n                    value: None,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 1102..1120,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1138..1139,\n        sym: \"i\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1174..1188,\n        sym: \"removableRest2\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 1160..1192,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 1162..1170,\n                    key: Ident {\n                        span: 1162..1169,\n                        sym: \"removed\",\n                    },\n                    value: None,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 1171..1190,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1201..1209,\n        sym: \"computed\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1210..1216,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1221..1230,\n        sym: \"computed2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1231..1237,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1256..1269,\n        sym: \"stillNotGreat\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1284..1288,\n        sym: \"soSo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1294..1295,\n        sym: \"o\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 1242..1299,\n        props: [\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 1244..1270,\n                    key: Computed(\n                        _,\n                    ),\n                    value: _,\n                },\n            ),\n            KeyValue(\n                ObjectPatKeyValue {\n                    span: 1271..1289,\n                    key: Computed(\n                        _,\n                    ),\n                    value: _,\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 1291..1297,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1370..1386,\n        sym: \"noContextualType\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1409..1423,\n        sym: \"notEmptyObject\",\n    },\n)",
    "Object(\n    ObjectPat {\n        span: 1390..1426,\n        props: [\n            Assign(\n                ObjectPatAssign {\n                    span: 1392..1405,\n                    key: Ident {\n                        span: 1392..1399,\n                        sym: \"aNumber\",\n                    },\n                    value: Some(\n                        _,\n                    ),\n                },\n            ),\n            Rest(\n                RestPat {\n                    span: 1406..1425,\n                    arg: _,\n                },\n            ),\n        ],\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1387..1468,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Num(\n        NumberLit {\n            span: 33..34,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 39..43,\n            value: \"no\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 28..49,\n        props: [\n            KeyValueProp {\n                span: 30..35,\n                key: Ident(\n                    Ident {\n                        span: 30..31,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 36..45,\n                key: Ident(\n                    Ident {\n                        span: 36..37,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 65..66,\n        sym: \"o\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 90..91,\n        sym: \"o\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 127..128,\n        sym: \"o\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 137..140,\n            value: \"b\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 165..166,\n        sym: \"o\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 201..202,\n        sym: \"o\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 249..250,\n        sym: \"o\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 267..283,\n            value: \"terrible idea?\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 288..293,\n            value: \"yes\",\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 262..296,\n        props: [\n            KeyValueProp {\n                span: 264..284,\n                key: Ident(\n                    Ident {\n                        span: 264..265,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 285..295,\n                key: Ident(\n                    Ident {\n                        span: 285..286,\n                        sym: \"d\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 324..326,\n        sym: \"o2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 512..522,\n        sym: \"nestedrest\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 618..625,\n        sym: \"complex\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 634..636,\n        sym: \"ka\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 641..647,\n        sym: \"nested\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 632..650,\n        props: [\n            KeyValueProp {\n                span: 634..637,\n                key: Ident(\n                    Ident {\n                        span: 634..636,\n                        sym: \"ka\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 638..649,\n                key: Ident(\n                    Ident {\n                        span: 638..638,\n                        sym: \"__spread__\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 654..659,\n        sym: \"other\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 664..668,\n        sym: \"rest\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 628..671,\n        props: [\n            KeyValueProp {\n                span: 629..650,\n                key: Ident(\n                    Ident {\n                        span: 629..630,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 651..660,\n                key: Ident(\n                    Ident {\n                        span: 651..652,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 661..669,\n                key: Ident(\n                    Ident {\n                        span: 661..661,\n                        sym: \"__spread__\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 672..679,\n        sym: \"complex\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 670..680,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 627..681,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 709..710,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 715..716,\n            value: 2.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 704..719,\n        props: [\n            KeyValueProp {\n                span: 706..711,\n                key: Ident(\n                    Ident {\n                        span: 706..707,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 712..718,\n                key: Ident(\n                    Ident {\n                        span: 712..713,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 723..724,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 729..734,\n        sym: \"fresh\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 721..738,\n        props: [\n            KeyValueProp {\n                span: 723..725,\n                key: Ident(\n                    Ident {\n                        span: 723..724,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 726..736,\n                key: Ident(\n                    Ident {\n                        span: 726..726,\n                        sym: \"__spread__\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 744..745,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 750..751,\n            value: 2.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 739..754,\n        props: [\n            KeyValueProp {\n                span: 741..746,\n                key: Ident(\n                    Ident {\n                        span: 741..742,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 747..753,\n                key: Ident(\n                    Ident {\n                        span: 747..748,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 737..754,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 720..755,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 802..811,\n        sym: \"protected\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 815..821,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 827..830,\n        sym: \"set\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 856..859,\n        sym: \"get\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 860..864,\n        sym: \"both\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 864..867,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 868..874,\n        sym: \"number\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 884..886,\n            value: 12.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 893..896,\n        sym: \"set\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 925..926,\n        sym: \"m\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 926..930,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 946..952,\n        sym: \"string\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 969..975,\n        sym: \"string\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1074..1083,\n        sym: \"Removable\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1083..1086,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1070..1086,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1123..1132,\n        sym: \"removable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1145..1154,\n        sym: \"removable\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1193..1194,\n        sym: \"i\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1212..1215,\n            value: \"b\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1233..1236,\n            value: \"a\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1245..1253,\n        sym: \"computed\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1272..1281,\n        sym: \"computed2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1300..1301,\n        sym: \"o\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1307..1315,\n        sym: \"computed\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1318..1331,\n        sym: \"stillNotGreat\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1334..1343,\n        sym: \"computed2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1346..1350,\n        sym: \"soSo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1355..1356,\n        sym: \"o\",\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 1304..1360,\n        props: [\n            KeyValueProp {\n                span: 1306..1332,\n                key: Computed(\n                    _,\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1333..1351,\n                key: Computed(\n                    _,\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1352..1358,\n                key: Ident(\n                    Ident {\n                        span: 1352..1352,\n                        sym: \"__spread__\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1361..1362,\n        sym: \"o\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1359..1363,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 1303..1364,\n        expr: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1402..1404,\n            value: 12.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1430..1437,\n        sym: \"aNumber\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1440..1454,\n        sym: \"notEmptyObject\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1454..1468,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1455..1467,\n                sym: \"anythingGoes\",\n            },\n        ),\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1438..1468,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1389..1468,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Void,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)"
  ]
}
