{
  "programs": [
    "Program {\n    span: 1..4715,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 475..535,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 523..591,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 588..661,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 801..862,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 850..910,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 907..979,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 976..1042,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1134..1206,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1203..1280,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1277..1348,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1470..1545,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1542..1619,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1616..1699,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1806..1867,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1864..1932,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1929..1989,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2104..2165,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2157..2222,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2214..2311,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2303..2362,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2475..2563,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2555..2647,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2639..2736,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2728..2805,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2908..2996,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2988..3059,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3051..3135,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3127..3204,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3322..3379,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3371..3432,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3424..3489,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3481..3574,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3566..3621,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3734..3818,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3810..3898,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3890..3982,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3974..4067,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4059..4132,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4234..4318,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4310..4377,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4369..4440,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4432..4512,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4504..4577,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4674..4715,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 1..34,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1..30,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 31..70,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 31..66,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 67..387,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 67..97,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 384..484,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 384..474,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 658..810,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 658..800,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1039..1137,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1039..1133,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1345..1473,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1345..1469,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1696..1809,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1696..1805,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1986..2112,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1986..2103,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2359..2483,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2359..2474,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2802..2916,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2802..2907,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3201..3330,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3201..3321,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3618..3742,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3618..3733,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4129..4242,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4129..4233,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 5..14,\n        sym: \"numOrDate\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 35..47,\n        sym: \"strOrBoolean\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 71..79,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 388..414,\n        sym: \"unionOfDifferentReturnType\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 475..484,\n        sym: \"numOrDate\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 523..535,\n        sym: \"strOrBoolean\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 662..689,\n        sym: \"unionOfDifferentReturnType1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 801..810,\n        sym: \"numOrDate\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 850..862,\n        sym: \"strOrBoolean\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1043..1073,\n        sym: \"unionOfDifferentParameterTypes\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1349..1383,\n        sym: \"unionOfDifferentNumberOfSignatures\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1700..1732,\n        sym: \"unionWithDifferentParameterCount\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1990..2017,\n        sym: \"unionWithOptionalParameter1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2104..2112,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2157..2165,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2214..2222,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2303..2311,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2363..2390,\n        sym: \"unionWithOptionalParameter2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2475..2483,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2555..2563,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2639..2647,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2728..2736,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2806..2833,\n        sym: \"unionWithOptionalParameter3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2908..2916,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2988..2996,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3051..3059,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3127..3135,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3205..3228,\n        sym: \"unionWithRestParameter1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3322..3330,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3371..3379,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3424..3432,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3481..3489,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3566..3574,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3622..3645,\n        sym: \"unionWithRestParameter2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3734..3742,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3810..3818,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3890..3898,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3974..3982,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4059..4067,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4133..4156,\n        sym: \"unionWithRestParameter3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4234..4242,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4310..4318,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4369..4377,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4432..4440,\n        sym: \"strOrNum\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4504..4512,\n        sym: \"strOrNum\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 491..517,\n        sym: \"unionOfDifferentReturnType\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 518..520,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 517..522,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 487..522,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 485..522,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 542..568,\n        sym: \"unionOfDifferentReturnType\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 569..576,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 568..578,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 538..578,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 536..578,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 592..619,\n        sym: \"unionOfDifferentReturnType1\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 620..624,\n            value: true,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 619..626,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 588..626,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 817..844,\n        sym: \"unionOfDifferentReturnType1\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 845..847,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 844..849,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 813..849,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 811..849,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 869..896,\n        sym: \"unionOfDifferentReturnType1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 897..904,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 896..906,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 865..906,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 863..906,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 911..938,\n        sym: \"unionOfDifferentReturnType1\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 939..943,\n            value: true,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 938..945,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 907..945,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 980..1007,\n        sym: \"unionOfDifferentReturnType1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1007..1010,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 976..1010,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1138..1168,\n        sym: \"unionOfDifferentParameterTypes\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1169..1171,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1168..1173,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1134..1173,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1207..1237,\n        sym: \"unionOfDifferentParameterTypes\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1238..1245,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1237..1247,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1203..1247,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1281..1311,\n        sym: \"unionOfDifferentParameterTypes\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1311..1314,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1277..1314,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1474..1508,\n        sym: \"unionOfDifferentNumberOfSignatures\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1508..1511,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1470..1511,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1546..1580,\n        sym: \"unionOfDifferentNumberOfSignatures\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1581..1583,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1580..1585,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1542..1585,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1620..1654,\n        sym: \"unionOfDifferentNumberOfSignatures\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1655..1662,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1654..1664,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1616..1664,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1810..1842,\n        sym: \"unionWithDifferentParameterCount\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1842..1845,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1806..1845,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1868..1900,\n        sym: \"unionWithDifferentParameterCount\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1901..1908,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1900..1910,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1864..1910,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1933..1965,\n        sym: \"unionWithDifferentParameterCount\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1966..1973,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1975..1977,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1965..1979,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 1929..1979,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2119..2146,\n        sym: \"unionWithOptionalParameter1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2147..2154,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2146..2156,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2115..2156,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2113..2156,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2172..2199,\n        sym: \"unionWithOptionalParameter1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2200..2207,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2209..2211,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2199..2213,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2168..2213,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2166..2213,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2229..2256,\n        sym: \"unionWithOptionalParameter1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2257..2264,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2266..2273,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2256..2275,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2225..2275,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2223..2275,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2318..2345,\n        sym: \"unionWithOptionalParameter1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2345..2348,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2314..2348,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2312..2348,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2490..2517,\n        sym: \"unionWithOptionalParameter2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2518..2525,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2517..2527,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2486..2527,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2484..2527,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2570..2597,\n        sym: \"unionWithOptionalParameter2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2598..2605,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2607..2609,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2597..2611,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2566..2611,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2564..2611,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2654..2681,\n        sym: \"unionWithOptionalParameter2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2682..2689,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2691..2698,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2681..2700,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2650..2700,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2648..2700,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2743..2770,\n        sym: \"unionWithOptionalParameter2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2770..2773,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2739..2773,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2737..2773,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2923..2950,\n        sym: \"unionWithOptionalParameter3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 2951..2958,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 2950..2960,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2919..2960,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2917..2960,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3003..3030,\n        sym: \"unionWithOptionalParameter3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3031..3038,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3040..3042,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3030..3044,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2999..3044,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2997..3044,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3066..3093,\n        sym: \"unionWithOptionalParameter3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3094..3101,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3103..3110,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3093..3112,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3062..3112,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3060..3112,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3142..3169,\n        sym: \"unionWithOptionalParameter3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3169..3172,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3138..3172,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3136..3172,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3337..3360,\n        sym: \"unionWithRestParameter1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3361..3368,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3360..3370,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3333..3370,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3331..3370,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3386..3409,\n        sym: \"unionWithRestParameter1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3410..3417,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3419..3421,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3409..3423,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3382..3423,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3380..3423,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3439..3462,\n        sym: \"unionWithRestParameter1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3463..3470,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3472..3474,\n            value: 10.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3476..3478,\n            value: 11.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3462..3480,\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: 3435..3480,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3433..3480,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3496..3519,\n        sym: \"unionWithRestParameter1\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3520..3527,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3529..3536,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3519..3538,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3492..3538,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3490..3538,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3581..3604,\n        sym: \"unionWithRestParameter1\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3604..3607,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3577..3607,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3575..3607,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3749..3772,\n        sym: \"unionWithRestParameter2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3773..3780,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3772..3782,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3745..3782,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3743..3782,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3825..3848,\n        sym: \"unionWithRestParameter2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3849..3856,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3858..3860,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3848..3862,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3821..3862,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3819..3862,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3905..3928,\n        sym: \"unionWithRestParameter2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3929..3936,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3938..3940,\n            value: 10.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3942..3944,\n            value: 11.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3928..3946,\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: 3901..3946,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3899..3946,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3989..4012,\n        sym: \"unionWithRestParameter2\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4013..4020,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4022..4029,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 4012..4031,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 3985..4031,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3983..4031,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4074..4097,\n        sym: \"unionWithRestParameter2\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4097..4100,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 4070..4100,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4068..4100,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4249..4272,\n        sym: \"unionWithRestParameter3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4273..4280,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 4272..4282,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 4245..4282,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4243..4282,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4325..4348,\n        sym: \"unionWithRestParameter3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4349..4356,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 4358..4360,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 4348..4362,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 4321..4362,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4319..4362,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4384..4407,\n        sym: \"unionWithRestParameter3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4408..4415,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 4417..4419,\n            value: 10.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 4421..4423,\n            value: 11.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 4407..4425,\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: 4380..4425,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4378..4425,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4447..4470,\n        sym: \"unionWithRestParameter3\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4471..4478,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4480..4487,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 4470..4489,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 4443..4489,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4441..4489,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4519..4542,\n        sym: \"unionWithRestParameter3\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4542..4545,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 4515..4545,\n        callee: _,\n        args: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 4513..4545,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4678..4704,\n        sym: \"unionWithAbstractSignature\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4705..4712,\n            value: \"hello\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 4704..4714,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "New(\n    NewExpr {\n        span: 4674..4714,\n        callee: _,\n        args: [],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
