{
  "programs": [
    "Program {\n    span: 32..1072,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 110..117,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 280..333,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 404..416,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 594..601,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 686..693,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 775..782,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 867..879,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 113..207,\n        ident: Ident {\n            span: 118..119,\n            sym: \"H\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 120..121,\n                sym: \"T\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 438..475,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 438..461,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 472..506,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 472..495,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 408..512,\n        ident: Ident {\n            span: 417..420,\n            sym: \"fun\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 902..946,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 902..932,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 943..987,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 943..973,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 984..1031,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 984..1014,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1028..1069,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1028..1058,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 871..1072,\n        ident: Ident {\n            span: 880..884,\n            sym: \"fun2\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 424..427,\n        sym: \"val\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 442..443,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 476..477,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 888..891,\n        sym: \"val\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 906..907,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 947..948,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 988..989,\n        sym: \"z\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1032..1033,\n        sym: \"w\",\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 457..460,\n        sym: \"val\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 491..494,\n        sym: \"val\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 928..931,\n        sym: \"val\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 969..972,\n        sym: \"val\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1010..1013,\n        sym: \"val\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1054..1057,\n        sym: \"val\",\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "TypeRef(\n    TsTypeRef {\n        span: 125..127,\n        name: Ident {\n            span: 125..127,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 141..143,\n        name: Ident {\n            span: 141..143,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 133..144,\n        name: Ident {\n            span: 133..141,\n            sym: \"Methods\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 127..144,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 125..145,\n        obj_type: _,\n        index_type: _,\n    },\n)"
  ]
}
