{
  "programs": [
    "Program {\n    span: 64..6480,\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        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 168..240,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 234..307,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 334..349,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 301..393,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 463..508,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 501..571,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1026..1035,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 960..1070,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1154..1165,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1133..1188,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1212..1223,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1185..1246,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 1259..1270,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1243..1316,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1436..1538,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1534..1657,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1699..1706,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1846..1854,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 2176..2451,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 2479..2587,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2129..2623,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2867..2950,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2941..3034,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3025..3116,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 3412..3442,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 3326..3444,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3500..3594,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3587..3694,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3687..3808,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3826..3838,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3831..3840,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3899..3901,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3900..3904,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3902..3909,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3905..3924,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4033..4036,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4035..4037,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4036..4048,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 4213..4234,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4158..4253,\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)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Fn(\n    FnDecl {\n        span: 72..174,\n        ident: Ident {\n            span: 81..87,\n            sym: \"callIt\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 394..470,\n        ident: Ident {\n            span: 403..410,\n            sym: \"callItT\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 562..691,\n        ident: Ident {\n            span: 572..583,\n            sym: \"MyInterface\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 584..585,\n                sym: \"T\",\n            },\n        ],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 593..658,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 593..608,\n                            sym: \"retrieveGeneric\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 640..684,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 640..658,\n                            sym: \"operateWithGeneric\",\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: 686..753,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 686..746,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 748..900,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 748..873,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 892..964,\n        ident: Ident {\n            span: 901..905,\n            sym: \"make\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1071..1136,\n        ident: Ident {\n            span: 1080..1083,\n            sym: \"foo\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1312..1398,\n        ident: Ident {\n            span: 1317..1322,\n            sym: \"Chain\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1323..1325,\n                sym: \"R1\",\n            },\n            Ident {\n                span: 1327..1329,\n                sym: \"R2\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1390..1440,\n        ident: Ident {\n            span: 1399..1403,\n            sym: \"test\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1502..1528,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1502..1522,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1598..1624,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1598..1618,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1702..1749,\n        ident: Ident {\n            span: 1707..1717,\n            sym: \"WrappedMap\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1850..2015,\n        ident: Ident {\n            span: 1855..1871,\n            sym: \"MappingComponent\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 1872..1873,\n                sym: \"I\",\n            },\n            Ident {\n                span: 1894..1895,\n                sym: \"O\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2016..2151,\n        ident: Ident {\n            span: 2025..2047,\n            sym: \"createMappingComponent\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2615..2706,\n        ident: Ident {\n            span: 2624..2634,\n            sym: \"simplified\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2698..2796,\n        ident: Ident {\n            span: 2707..2716,\n            sym: \"whatIWant\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2788..2877,\n        ident: Ident {\n            span: 2797..2806,\n            sym: \"nonObject\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3107..3246,\n        ident: Ident {\n            span: 3117..3121,\n            sym: \"Opts\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 3122..3129,\n                sym: \"TParams\",\n            },\n            Ident {\n                span: 3131..3136,\n                sym: \"TDone\",\n            },\n            Ident {\n                span: 3138..3145,\n                sym: \"TMapped\",\n            },\n        ],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 3153..3208,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3153..3158,\n                            sym: \"fetch\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 3205..3236,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3205..3208,\n                            sym: \"map\",\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: 3364..3418,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3364..3418,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3238..3455,\n        ident: Ident {\n            span: 3247..3254,\n            sym: \"example\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3446..3507,\n        ident: Ident {\n            span: 3456..3462,\n            sym: \"Params\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 3469..3488,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3469..3472,\n                            sym: \"one\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 3485..3498,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3485..3488,\n                            sym: \"two\",\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: 3809..3827,\n        kind: Const,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 3809..3827,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3919..3945,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3919..3945,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 4039..4116,\n        ident: Ident {\n            span: 4049..4054,\n            sym: \"Props\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 4055..4056,\n                sym: \"T\",\n            },\n        ],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 4062..4086,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 4062..4063,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 4085..4107,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 4085..4086,\n                            sym: \"b\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 4117..4161,\n        ident: Ident {\n            span: 4126..4129,\n            sym: \"Foo\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 4254..4374,\n        ident: Ident {\n            span: 4263..4269,\n            sym: \"nested\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4369..4485,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4369..4476,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 4486..4618,\n        ident: Ident {\n            span: 4495..4507,\n            sym: \"twoConsumers\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4613..4737,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4613..4728,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 4738..4927,\n        ident: Ident {\n            span: 4747..4779,\n            sym: \"multipleProducersBeforeConsumers\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 4922..5113,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 4922..5104,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 5114..5261,\n        ident: Ident {\n            span: 5123..5148,\n            sym: \"withConditionalExpression\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5256..5456,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5256..5447,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 5457..5629,\n        ident: Ident {\n            span: 5466..5471,\n            sym: \"onion\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5624..5784,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5624..5775,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 5785..5990,\n        ident: Ident {\n            span: 5794..5800,\n            sym: \"onion2\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 5985..6176,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 5985..6167,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 6177..6343,\n        ident: Ident {\n            span: 6186..6193,\n            sym: \"distant\",\n        },\n        declare: true,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 6338..6480,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 6338..6479,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 91..94,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 212..213,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 256..258,\n        sym: \"_a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 278..279,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 364..365,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 414..417,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 481..482,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 510..512,\n        sym: \"_a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 519..520,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 692..703,\n        sym: \"inferTypeFn\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 710..717,\n        sym: \"generic\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 704..746,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 754..763,\n        sym: \"myGeneric\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 801..810,\n        sym: \"parameter\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 841..848,\n        sym: \"generic\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 764..873,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 909..910,\n        sym: \"o\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1018..1019,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1087..1094,\n        sym: \"options\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1173..1174,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1231..1232,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1278..1279,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1412..1415,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1467..1468,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1486..1487,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1508..1509,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1565..1566,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1582..1583,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1604..1605,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2092..2095,\n        sym: \"def\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2461..2467,\n        sym: \"inputs\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2638..2643,\n        sym: \"props\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2720..2725,\n        sym: \"props\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2810..2819,\n        sym: \"generator\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2838..2846,\n        sym: \"receiver\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2913..2914,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2965..2968,\n        sym: \"bob\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2997..2998,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3036..3039,\n        sym: \"bob\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3058..3059,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3280..3287,\n        sym: \"options\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3334..3340,\n        sym: \"params\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3370..3374,\n        sym: \"data\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 3375..3418,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3522..3528,\n        sym: \"params\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3556..3562,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3609..3615,\n        sym: \"params\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3625..3628,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3656..3662,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3709..3715,\n        sym: \"params\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3725..3728,\n        sym: \"foo\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3748..3754,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3815..3821,\n        sym: \"branch\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3925..3926,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4133..4138,\n        sym: \"props\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4179..4180,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4197..4200,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4273..4276,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4375..4384,\n        sym: \"resNested\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4420..4421,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4445..4448,\n        sym: \"arg\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 4385..4476,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4511..4514,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4619..4634,\n        sym: \"resTwoConsumers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4658..4661,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4686..4690,\n        sym: \"arg1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4712..4716,\n        sym: \"arg2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 4635..4728,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4787..4790,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4928..4963,\n        sym: \"resMultipleProducersBeforeConsumers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5007..5010,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5028..5031,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5062..5066,\n        sym: \"arg1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5088..5092,\n        sym: \"arg2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 4964..5104,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5160..5163,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5262..5290,\n        sym: \"resWithConditionalExpression\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5327..5330,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5364..5367,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5392..5395,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5422..5425,\n        sym: \"arg\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5291..5447,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5483..5486,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5630..5638,\n        sym: \"resOnion\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5655..5658,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5690..5693,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5738..5741,\n        sym: \"arg\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 5639..5775,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5816..5819,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5991..6000,\n        sym: \"resOnion2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6018..6021,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6053..6056,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6084..6087,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6130..6133,\n        sym: \"arg\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 6001..6167,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6197..6201,\n        sym: \"args\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6344..6354,\n        sym: \"distantRes\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6419..6422,\n        sym: \"arg\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6464..6467,\n        sym: \"val\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 6355..6479,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 168..174,\n        sym: \"callIt\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 196..197,\n            value: 0.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 190..198,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 217..218,\n        sym: \"n\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 218..227,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 219..226,\n                sym: \"toFixed\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 226..230,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 212..230,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 175..231,\n        props: [\n            KeyValueProp {\n                span: 181..198,\n                key: Ident(\n                    Ident {\n                        span: 181..188,\n                        sym: \"produce\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 203..230,\n                key: Ident(\n                    Ident {\n                        span: 203..210,\n                        sym: \"consume\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 174..232,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 234..240,\n        sym: \"callIt\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 262..263,\n            value: 0.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 256..264,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 283..284,\n        sym: \"n\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 284..293,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 285..292,\n                sym: \"toFixed\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 292..295,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 278..295,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 241..298,\n        props: [\n            KeyValueProp {\n                span: 247..264,\n                key: Ident(\n                    Ident {\n                        span: 247..254,\n                        sym: \"produce\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 269..295,\n                key: Ident(\n                    Ident {\n                        span: 269..276,\n                        sym: \"consume\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 240..299,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 301..307,\n        sym: \"callIt\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 341..342,\n            value: 0.0,\n        },\n    ),\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 369..370,\n        sym: \"n\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 370..379,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 371..378,\n                sym: \"toFixed\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 378..382,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 364..382,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 308..383,\n        props: [\n            KeyValueProp {\n                span: 314..350,\n                key: Ident(\n                    Ident {\n                        span: 314..321,\n                        sym: \"produce\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 355..382,\n                key: Ident(\n                    Ident {\n                        span: 355..362,\n                        sym: \"consume\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 307..384,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 463..470,\n        sym: \"callItT\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 478..479,\n            value: 0.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 472..480,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 486..487,\n        sym: \"n\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 487..496,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 488..495,\n                sym: \"toFixed\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 495..498,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 481..498,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 471..499,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 470..500,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 501..508,\n        sym: \"callItT\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 516..517,\n            value: 0.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 510..518,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 524..525,\n        sym: \"n\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 525..534,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 526..533,\n                sym: \"toFixed\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 533..536,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 519..536,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 509..537,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 508..538,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 738..745,\n        sym: \"generic\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 709..746,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 766..777,\n        sym: \"inferTypeFn\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 814..815,\n            value: 5.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 801..816,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 852..859,\n        sym: \"generic\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 859..868,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 860..867,\n                sym: \"toFixed\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 867..871,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 841..871,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 778..872,\n        props: [\n            KeyValueProp {\n                span: 784..816,\n                key: Ident(\n                    Ident {\n                        span: 784..799,\n                        sym: \"retrieveGeneric\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 821..871,\n                key: Ident(\n                    Ident {\n                        span: 821..839,\n                        sym: \"operateWithGeneric\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 777..873,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 960..964,\n        sym: \"make\",\n    },\n)",
    "Function(\n    _,\n)",
    "Object(\n    ObjectExpr {\n        span: 981..1005,\n        props: [\n            KeyValueProp {\n                span: 990..1004,\n                key: Ident(\n                    Ident {\n                        span: 990..993,\n                        sym: \"foo\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1026..1027,\n        sym: \"a\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1027..1032,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 1028..1031,\n                sym: \"foo\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1031..1035,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1017..1037,\n        params: [\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 965..1038,\n        props: [\n            KeyValueProp {\n                span: 970..1005,\n                key: Ident(\n                    Ident {\n                        span: 970..979,\n                        sym: \"mutations\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1009..1037,\n                key: Ident(\n                    Ident {\n                        span: 1009..1015,\n                        sym: \"action\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 964..1039,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1133..1136,\n        sym: \"foo\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1161..1163,\n            value: 42.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1146..1166,\n        params: [],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Function(\n    _,\n)",
    "Object(\n    ObjectExpr {\n        span: 1137..1182,\n        props: [\n            KeyValueProp {\n                span: 1143..1166,\n                key: Ident(\n                    Ident {\n                        span: 1143..1144,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1171..1179,\n                key: Ident(\n                    Ident {\n                        span: 1171..1172,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1136..1183,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1185..1188,\n        sym: \"foo\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1219..1221,\n            value: 42.0,\n        },\n    ),\n)",
    "Function(\n    _,\n)",
    "Function(\n    _,\n)",
    "Object(\n    ObjectExpr {\n        span: 1189..1240,\n        props: [\n            KeyValueProp {\n                span: 1195..1224,\n                key: Ident(\n                    Ident {\n                        span: 1195..1196,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1229..1237,\n                key: Ident(\n                    Ident {\n                        span: 1229..1230,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1188..1241,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1243..1246,\n        sym: \"foo\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1266..1268,\n            value: 42.0,\n        },\n    ),\n)",
    "Function(\n    _,\n)",
    "Function(\n    _,\n)",
    "Object(\n    ObjectExpr {\n        span: 1247..1287,\n        props: [\n            KeyValueProp {\n                span: 1253..1271,\n                key: Ident(\n                    Ident {\n                        span: 1253..1254,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1276..1284,\n                key: Ident(\n                    Ident {\n                        span: 1276..1277,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1246..1288,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1436..1440,\n        sym: \"test\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1456..1457,\n            value: 0.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1450..1458,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1473..1476,\n            value: \"a\",\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1466..1477,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1520..1521,\n        sym: \"b\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1485..1530,\n        params: [\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 1441..1531,\n        props: [\n            KeyValueProp {\n                span: 1447..1458,\n                key: Ident(\n                    Ident {\n                        span: 1447..1448,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1463..1477,\n                key: Ident(\n                    Ident {\n                        span: 1463..1464,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1482..1530,\n                key: Ident(\n                    Ident {\n                        span: 1482..1483,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1440..1532,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1534..1538,\n        sym: \"test\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1554..1555,\n            value: 0.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1548..1556,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1571..1572,\n        sym: \"a\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1564..1573,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1616..1617,\n        sym: \"b\",\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 1581..1626,\n        params: [\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 1539..1627,\n        props: [\n            KeyValueProp {\n                span: 1545..1556,\n                key: Ident(\n                    Ident {\n                        span: 1545..1546,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1561..1573,\n                key: Ident(\n                    Ident {\n                        span: 1561..1562,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 1578..1626,\n                key: Ident(\n                    Ident {\n                        span: 1578..1579,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1538..1628,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 2129..2151,\n        sym: \"createMappingComponent\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2232..2239,\n        sym: \"Wrapper\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2247..2250,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2228..2250,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2276..2283,\n        sym: \"Wrapper\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2291..2307,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2272..2307,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2205..2308,\n        props: [\n            KeyValueProp {\n                span: 2223..2250,\n                key: Ident(\n                    Ident {\n                        span: 2223..2226,\n                        sym: \"num\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2267..2307,\n                key: Ident(\n                    Ident {\n                        span: 2267..2270,\n                        sym: \"str\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2358..2365,\n        sym: \"Wrapper\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2374..2377,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2354..2377,\n        callee: _,\n        args: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2403..2410,\n        sym: \"Wrapper\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2418..2434,\n        callee: _,\n        args: [],\n    },\n)",
    "New(\n    NewExpr {\n        span: 2399..2434,\n        callee: _,\n        args: [],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2330..2444,\n        props: [\n            KeyValueProp {\n                span: 2348..2377,\n                key: Ident(\n                    Ident {\n                        span: 2348..2352,\n                        sym: \"bool\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2394..2434,\n                key: Ident(\n                    Ident {\n                        span: 2394..2397,\n                        sym: \"str\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2183..2445,\n        props: [\n            KeyValueProp {\n                span: 2197..2308,\n                key: Ident(\n                    Ident {\n                        span: 2197..2203,\n                        sym: \"inputs\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2321..2444,\n                key: Ident(\n                    Ident {\n                        span: 2321..2328,\n                        sym: \"outputs\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2506..2512,\n        sym: \"inputs\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2512..2525,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2513..2524,\n                sym: \"nonexistent\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2543..2549,\n        sym: \"inputs\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2549..2554,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2550..2553,\n                sym: \"num\",\n            },\n        ),\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2486..2587,\n        props: [\n            KeyValueProp {\n                span: 2500..2525,\n                key: Ident(\n                    Ident {\n                        span: 2500..2504,\n                        sym: \"bool\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2538..2554,\n                key: Ident(\n                    Ident {\n                        span: 2538..2541,\n                        sym: \"str\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Function(\n    _,\n)",
    "Object(\n    ObjectExpr {\n        span: 2152..2590,\n        props: [\n            KeyValueProp {\n                span: 2158..2452,\n                key: Ident(\n                    Ident {\n                        span: 2158..2163,\n                        sym: \"setup\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2457..2589,\n                key: Ident(\n                    Ident {\n                        span: 2457..2460,\n                        sym: \"map\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2151..2591,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2867..2877,\n        sym: \"simplified\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2897..2900,\n            value: 123.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2891..2901,\n        params: [],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2919..2926,\n        sym: \"console\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2926..2931,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 2927..2930,\n                sym: \"log\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2931..2932,\n        sym: \"t\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2935..2936,\n            value: 2.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 2933..2937,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2930..2939,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2912..2939,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2878..2940,\n        props: [\n            KeyValueProp {\n                span: 2880..2901,\n                key: Ident(\n                    Ident {\n                        span: 2880..2889,\n                        sym: \"generator\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2902..2939,\n                key: Ident(\n                    Ident {\n                        span: 2902..2910,\n                        sym: \"receiver\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2877..2950,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2941..2950,\n        sym: \"whatIWant\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2973..2976,\n        sym: \"bob\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2979..2980,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 2983..2984,\n            value: 2.0,\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 2977..2985,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2964..2985,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3003..3010,\n        sym: \"console\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3010..3015,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3011..3014,\n                sym: \"log\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3015..3016,\n        sym: \"t\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3019..3020,\n            value: 2.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 3017..3021,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3014..3023,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 2996..3023,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 2951..3024,\n        props: [\n            KeyValueProp {\n                span: 2953..2985,\n                key: Ident(\n                    Ident {\n                        span: 2953..2962,\n                        sym: \"generator\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 2986..3023,\n                key: Ident(\n                    Ident {\n                        span: 2986..2994,\n                        sym: \"receiver\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 2950..3034,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3025..3034,\n        sym: \"nonObject\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3044..3047,\n        sym: \"bob\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3050..3051,\n            value: 1.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3054..3055,\n            value: 2.0,\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 3048..3056,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3035..3056,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3064..3071,\n        sym: \"console\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3071..3076,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3072..3075,\n                sym: \"log\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3076..3077,\n        sym: \"t\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3080..3081,\n            value: 2.0,\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 3078..3082,\n        op: Add,\n        left: _,\n        right: _,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3075..3083,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3057..3083,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3034..3116,\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: 3377..3384,\n        sym: \"options\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3384..3391,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3385..3390,\n                sym: \"fetch\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3391..3397,\n        sym: \"params\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3399..3402,\n            value: 123.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 3390..3418,\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: 3419..3426,\n        sym: \"options\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3426..3431,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 3427..3430,\n                sym: \"map\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 3431..3435,\n        sym: \"data\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3430..3442,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3333..3444,\n        params: [\n            _,\n        ],\n        body: Block(\n            [\n                _,\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3500..3507,\n        sym: \"example\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3541..3544,\n            value: 123.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3521..3545,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3567..3573,\n        sym: \"String\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3574..3580,\n        sym: \"number\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3573..3583,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3555..3583,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 3508..3584,\n        props: [\n            KeyValueProp {\n                span: 3514..3545,\n                key: Ident(\n                    Ident {\n                        span: 3514..3519,\n                        sym: \"fetch\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 3550..3583,\n                key: Ident(\n                    Ident {\n                        span: 3550..3553,\n                        sym: \"map\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3507..3585,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3587..3594,\n        sym: \"example\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3641..3644,\n            value: 123.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3608..3645,\n        params: [\n            _,\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3667..3673,\n        sym: \"String\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3674..3680,\n        sym: \"number\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3673..3683,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3655..3683,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 3595..3684,\n        props: [\n            KeyValueProp {\n                span: 3601..3645,\n                key: Ident(\n                    Ident {\n                        span: 3601..3606,\n                        sym: \"fetch\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 3650..3683,\n                key: Ident(\n                    Ident {\n                        span: 3650..3653,\n                        sym: \"map\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3594..3685,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3687..3694,\n        sym: \"example\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3733..3736,\n            value: 123.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3708..3737,\n        params: [\n            _,\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3759..3765,\n        sym: \"String\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3766..3772,\n        sym: \"number\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3765..3775,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 3747..3775,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 3695..3776,\n        props: [\n            KeyValueProp {\n                span: 3701..3737,\n                key: Ident(\n                    Ident {\n                        span: 3701..3706,\n                        sym: \"fetch\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 3742..3775,\n                key: Ident(\n                    Ident {\n                        span: 3742..3745,\n                        sym: \"map\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 3694..3777,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 3826..3827,\n        sym: \"T\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3829..3830,\n        sym: \"U\",\n    },\n)",
    "Seq(\n    SeqExpr {\n        span: 3826..3838,\n        exprs: [\n            _,\n            _,\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "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: 3911..3918,\n        sym: \"declare\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 3905..3924,\n        op: Void,\n        arg: _,\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: 4158..4161,\n        sym: \"Foo\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 4185..4187,\n            value: 10.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4178..4188,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4213..4216,\n        sym: \"arg\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4216..4226,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4217..4225,\n                sym: \"toString\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4225..4228,\n        callee: _,\n        args: [],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4196..4235,\n        params: [\n            _,\n        ],\n        body: Block(\n            [\n                _,\n            ],\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 4169..4240,\n        props: [\n            KeyValueProp {\n                span: 4175..4188,\n                key: Ident(\n                    Ident {\n                        span: 4175..4176,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 4193..4235,\n                key: Ident(\n                    Ident {\n                        span: 4193..4194,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 4162..4243,\n        props: [\n            KeyValueProp {\n                span: 4166..4240,\n                key: Ident(\n                    Ident {\n                        span: 4166..4166,\n                        sym: \"__spread__\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4161..4244,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 4387..4393,\n        sym: \"nested\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4427..4428,\n        sym: \"a\",\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 4426..4430,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4419..4430,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 4453..4456,\n        sym: \"arg\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4456..4462,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4457..4461,\n                sym: \"join\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 4462..4465,\n            value: \",\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 4461..4467,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4444..4467,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 4404..4472,\n        props: [\n            KeyValueProp {\n                span: 4410..4430,\n                key: Ident(\n                    Ident {\n                        span: 4410..4417,\n                        sym: \"produce\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 4435..4467,\n                key: Ident(\n                    Ident {\n                        span: 4435..4442,\n                        sym: \"consume\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 4394..4475,\n        props: [\n            KeyValueProp {\n                span: 4398..4472,\n                key: Ident(\n                    Ident {\n                        span: 4398..4402,\n                        sym: \"prop\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4393..4476,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 4637..4649,\n        sym: \"twoConsumers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 4667..4670,\n        sym: \"arg\",\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 4666..4672,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4657..4672,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4685..4698,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 4711..4724,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 4650..4727,\n        props: [\n            KeyValueProp {\n                span: 4654..4672,\n                key: Ident(\n                    Ident {\n                        span: 4654..4655,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 4675..4698,\n                key: Ident(\n                    Ident {\n                        span: 4675..4683,\n                        sym: \"consume1\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 4701..4724,\n                key: Ident(\n                    Ident {\n                        span: 4701..4709,\n                        sym: \"consume2\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4649..4728,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 4966..4998,\n        sym: \"multipleProducersBeforeConsumers\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5016..5019,\n        sym: \"arg\",\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 5015..5021,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5006..5021,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5036..5042,\n        sym: \"Number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5043..5046,\n        sym: \"arg\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5042..5048,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5027..5048,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5061..5074,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5087..5100,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 4999..5103,\n        props: [\n            KeyValueProp {\n                span: 5003..5021,\n                key: Ident(\n                    Ident {\n                        span: 5003..5004,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 5024..5048,\n                key: Ident(\n                    Ident {\n                        span: 5024..5025,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 5051..5074,\n                key: Ident(\n                    Ident {\n                        span: 5051..5059,\n                        sym: \"consume1\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 5077..5100,\n                key: Ident(\n                    Ident {\n                        span: 5077..5085,\n                        sym: \"consume2\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 4998..5104,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5293..5318,\n        sym: \"withConditionalExpression\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5336..5339,\n        sym: \"arg\",\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 5335..5341,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5326..5341,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5347..5351,\n        sym: \"Math\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5351..5359,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5352..5358,\n                sym: \"random\",\n            },\n        ),\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5358..5362,\n        callee: _,\n        args: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 5372..5379,\n            value: \"first\",\n        },\n    ),\n)",
    "TsAs(\n    TsAsExpr {\n        span: 5380..5390,\n        expr: _,\n        ty: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5363..5390,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 5400..5405,\n            value: \"two\",\n        },\n    ),\n)",
    "TsAs(\n    TsAsExpr {\n        span: 5406..5415,\n        expr: _,\n        ty: _,\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5391..5415,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Cond(\n    CondExpr {\n        span: 5361..5415,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5430..5437,\n        sym: \"Boolean\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5438..5441,\n        sym: \"arg\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5437..5443,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5421..5443,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 5319..5446,\n        props: [\n            KeyValueProp {\n                span: 5323..5341,\n                key: Ident(\n                    Ident {\n                        span: 5323..5324,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 5344..5415,\n                key: Ident(\n                    Ident {\n                        span: 5344..5345,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 5418..5443,\n                key: Ident(\n                    Ident {\n                        span: 5418..5419,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5318..5447,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 5641..5646,\n        sym: \"onion\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5664..5667,\n        sym: \"arg\",\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 5663..5669,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5654..5669,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5698..5701,\n        sym: \"arg\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 5701..5707,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 5702..5706,\n                sym: \"join\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 5707..5710,\n            value: \",\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 5706..5712,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5689..5712,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 5746..5753,\n        sym: \"Boolean\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 5754..5757,\n        sym: \"arg\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5753..5759,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 5737..5759,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 5726..5766,\n        props: [\n            KeyValueProp {\n                span: 5734..5759,\n                key: Ident(\n                    Ident {\n                        span: 5734..5735,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 5680..5771,\n        props: [\n            KeyValueProp {\n                span: 5686..5712,\n                key: Ident(\n                    Ident {\n                        span: 5686..5687,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 5717..5766,\n                key: Ident(\n                    Ident {\n                        span: 5717..5724,\n                        sym: \"nested2\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 5647..5774,\n        props: [\n            KeyValueProp {\n                span: 5651..5669,\n                key: Ident(\n                    Ident {\n                        span: 5651..5652,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 5672..5771,\n                key: Ident(\n                    Ident {\n                        span: 5672..5678,\n                        sym: \"nested\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 5646..5775,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 6003..6009,\n        sym: \"onion2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6027..6030,\n        sym: \"arg\",\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 6026..6032,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 6017..6032,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6061..6064,\n        sym: \"arg\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 6064..6070,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 6065..6069,\n                sym: \"join\",\n            },\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 6070..6073,\n            value: \",\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 6069..6075,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 6052..6075,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6092..6098,\n        sym: \"Number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6099..6102,\n        sym: \"arg\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 6098..6104,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 6083..6104,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 6138..6145,\n        sym: \"Boolean\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 6146..6149,\n        sym: \"arg\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 6145..6151,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 6129..6151,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 6118..6158,\n        props: [\n            KeyValueProp {\n                span: 6126..6151,\n                key: Ident(\n                    Ident {\n                        span: 6126..6127,\n                        sym: \"d\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 6043..6163,\n        props: [\n            KeyValueProp {\n                span: 6049..6075,\n                key: Ident(\n                    Ident {\n                        span: 6049..6050,\n                        sym: \"b\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 6080..6104,\n                key: Ident(\n                    Ident {\n                        span: 6080..6081,\n                        sym: \"c\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 6109..6158,\n                key: Ident(\n                    Ident {\n                        span: 6109..6116,\n                        sym: \"nested2\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 6010..6166,\n        props: [\n            KeyValueProp {\n                span: 6014..6032,\n                key: Ident(\n                    Ident {\n                        span: 6014..6015,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 6035..6163,\n                key: Ident(\n                    Ident {\n                        span: 6035..6041,\n                        sym: \"nested\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 6009..6167,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 6357..6364,\n        sym: \"distant\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 6427..6428,\n            value: 1.0,\n        },\n    ),\n)",
    "Arrow(\n    ArrowExpr {\n        span: 6418..6429,\n        params: [\n            _,\n        ],\n        body: Expr(\n            _,\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 6398..6438,\n        props: [\n            KeyValueProp {\n                span: 6408..6429,\n                key: Ident(\n                    Ident {\n                        span: 6408..6416,\n                        sym: \"producer\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 6385..6445,\n        props: [\n            KeyValueProp {\n                span: 6393..6438,\n                key: Ident(\n                    Ident {\n                        span: 6393..6396,\n                        sym: \"baz\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 6374..6450,\n        props: [\n            KeyValueProp {\n                span: 6380..6445,\n                key: Ident(\n                    Ident {\n                        span: 6380..6383,\n                        sym: \"bar\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Arrow(\n    ArrowExpr {\n        span: 6463..6475,\n        params: [\n            _,\n        ],\n        body: Block(\n            [],\n        ),\n        is_async: false,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 6365..6478,\n        props: [\n            KeyValueProp {\n                span: 6369..6450,\n                key: Ident(\n                    Ident {\n                        span: 6369..6372,\n                        sym: \"foo\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 6453..6475,\n                key: Ident(\n                    Ident {\n                        span: 6453..6461,\n                        sym: \"consumer\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Call(\n    CallExpr {\n        span: 6364..6479,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [
    "Function {\n    span: 314..350,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 990..1004,\n    params: [],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1171..1179,\n    params: [\n        Param {\n            span: 1173..1175,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1198..1224,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1229..1237,\n    params: [\n        Param {\n            span: 1231..1233,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1253..1271,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 1276..1284,\n    params: [\n        Param {\n            span: 1278..1280,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 2158..2452,\n    params: [],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}",
    "Function {\n    span: 2457..2589,\n    params: [\n        Param {\n            span: 2461..2468,\n            decorators: [],\n            pat: _,\n        },\n    ],\n    body: [\n        _,\n    ],\n    is_async: false,\n    is_generator: false,\n}"
  ],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 633..635,\n        name: Ident {\n            span: 633..635,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 610..635,\n        params: [\n            TsFnParam {\n                span: 611..629,\n                name: Some(\n                    Ident {\n                        span: 611..620,\n                        sym: \"parameter\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 670..672,\n        name: Ident {\n            span: 670..672,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    String,\n)",
    "Fn(\n    TsFnType {\n        span: 660..684,\n        params: [\n            TsFnParam {\n                span: 661..672,\n                name: Some(\n                    Ident {\n                        span: 661..668,\n                        sym: \"generic\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1344..1347,\n        name: Ident {\n            span: 1344..1347,\n            sym: \"R1\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1357..1360,\n        name: Ident {\n            span: 1357..1360,\n            sym: \"R1\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1362..1365,\n        name: Ident {\n            span: 1362..1365,\n            sym: \"R2\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1375..1378,\n        name: Ident {\n            span: 1375..1378,\n            sym: \"R2\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Void,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1333..1388,\n        members: [\n            TsTypeMember {\n                span: 1339..1353,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1339..1340,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1352..1371,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1352..1353,\n                            sym: \"b\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 1354..1360,\n                        name: Some(\n                            Ident {\n                                span: 1354..1355,\n                                sym: \"a\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1370..1387,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1370..1371,\n                            sym: \"c\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 1372..1378,\n                        name: Some(\n                            Ident {\n                                span: 1372..1373,\n                                sym: \"b\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1735..1743,\n        name: Ident {\n            span: 1735..1743,\n            sym: \"Wrapper\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1720..1744,\n        name: Ident {\n            span: 1720..1727,\n            sym: \"Record\",\n        },\n        type_args: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1943..1945,\n        name: Ident {\n            span: 1943..1945,\n            sym: \"I\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1955..1958,\n        name: Ident {\n            span: 1955..1958,\n            sym: \"O\",\n        },\n        type_args: [],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1933..1959,\n        members: [\n            TsTypeMember {\n                span: 1935..1953,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1935..1941,\n                            sym: \"inputs\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1946..1958,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1946..1953,\n                            sym: \"outputs\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1986..1988,\n        name: Ident {\n            span: 1986..1988,\n            sym: \"I\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1979..1989,\n        name: Ident {\n            span: 1979..1986,\n            sym: \"Unwrap\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 2000..2002,\n        name: Ident {\n            span: 2000..2002,\n            sym: \"O\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1993..2003,\n        name: Ident {\n            span: 1993..2000,\n            sym: \"Unwrap\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 1970..2003,\n        params: [\n            TsFnParam {\n                span: 1971..1989,\n                name: Some(\n                    Ident {\n                        span: 1971..1977,\n                        sym: \"inputs\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1918..2006,\n        members: [\n            TsTypeMember {\n                span: 1924..1967,\n                kind: Method,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1924..1929,\n                            sym: \"setup\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 1964..2005,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1964..1967,\n                            sym: \"map\",\n                        },\n                    ),\n                ),\n                optional: true,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3169..3177,\n        name: Ident {\n            span: 3169..3177,\n            sym: \"TParams\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3194..3200,\n        name: Ident {\n            span: 3194..3200,\n            sym: \"TDone\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3160..3200,\n        params: [\n            TsFnParam {\n                span: 3161..3177,\n                name: Some(\n                    Ident {\n                        span: 3161..3167,\n                        sym: \"params\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 3178..3190,\n                name: Some(\n                    Ident {\n                        span: 3178..3181,\n                        sym: \"foo\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3217..3223,\n        name: Ident {\n            span: 3217..3223,\n            sym: \"TDone\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3227..3236,\n        name: Ident {\n            span: 3227..3236,\n            sym: \"TMapped\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 3210..3236,\n        params: [\n            TsFnParam {\n                span: 3211..3223,\n                name: Some(\n                    Ident {\n                        span: 3211..3215,\n                        sym: \"data\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 4080..4082,\n        name: Ident {\n            span: 4080..4082,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Fn(\n    TsFnType {\n        span: 4065..4082,\n        params: [\n            TsFnParam {\n                span: 4066..4076,\n                name: Some(\n                    Ident {\n                        span: 4066..4067,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 4094..4096,\n        name: Ident {\n            span: 4094..4096,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Void,\n)",
    "Fn(\n    TsFnType {\n        span: 4088..4105,\n        params: [\n            TsFnParam {\n                span: 4089..4096,\n                name: Some(\n                    Ident {\n                        span: 4089..4092,\n                        sym: \"arg\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 5383..5390,\n        name: Ident {\n            span: 5383..5390,\n            sym: \"const\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 5409..5415,\n        name: Ident {\n            span: 5409..5415,\n            sym: \"const\",\n        },\n        type_args: [],\n    },\n)"
  ]
}
