ProgramNode(0...402)(
  [:fork],
  StatementsNode(0...402)(
    [CallNode(0...16)(
       CallNode(0...3)(nil, nil, (0...3), nil, nil, nil, nil, 0, "foo"),
       nil,
       (3...8),
       (3...4),
       ArgumentsNode(4...7)(
         [CallNode(4...7)(nil, nil, (4...7), nil, nil, nil, nil, 0, "bar")]
       ),
       (7...8),
       BlockNode(9...16)(
         [],
         nil,
         StatementsNode(11...14)(
           [CallNode(11...14)(
              nil,
              nil,
              (11...14),
              nil,
              nil,
              nil,
              nil,
              0,
              "baz"
            )]
         ),
         (9...10),
         (15...16)
       ),
       0,
       "[]"
     ),
     CallNode(18...37)(
       CallNode(18...21)(nil, nil, (18...21), nil, nil, nil, nil, 0, "foo"),
       nil,
       (21...26),
       (21...22),
       ArgumentsNode(22...25)(
         [CallNode(22...25)(nil, nil, (22...25), nil, nil, nil, nil, 0, "bar")]
       ),
       (25...26),
       BlockNode(27...37)(
         [],
         nil,
         StatementsNode(30...33)(
           [CallNode(30...33)(
              nil,
              nil,
              (30...33),
              nil,
              nil,
              nil,
              nil,
              0,
              "baz"
            )]
         ),
         (27...29),
         (34...37)
       ),
       0,
       "[]"
     ),
     CallNode(39...74)(
       CallNode(39...40)(nil, nil, (39...40), nil, nil, nil, nil, 0, "x"),
       (40...41),
       (41...47),
       (47...48),
       ArgumentsNode(48...49)([IntegerNode(48...49)()]),
       (49...50),
       BlockNode(51...74)(
         [:x, :memo],
         BlockParametersNode(53...62)(
           ParametersNode(54...61)(
             [RequiredParameterNode(54...55)(:x),
              RequiredParameterNode(57...61)(:memo)],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (53...54),
           (61...62)
         ),
         StatementsNode(63...72)(
           [LocalVariableOperatorWriteNode(63...72)(
              (63...67),
              (68...70),
              LocalVariableReadNode(71...72)(:x, 0),
              :memo,
              :+
            )]
         ),
         (51...52),
         (73...74)
       ),
       0,
       "reduce"
     ),
     CallNode(76...86)(
       nil,
       nil,
       (76...79),
       nil,
       nil,
       nil,
       BlockNode(80...86)([], nil, nil, (80...82), (83...86)),
       0,
       "foo"
     ),
     CallNode(88...109)(
       nil,
       nil,
       (88...91),
       nil,
       ArgumentsNode(92...109)(
         [CallNode(92...95)(nil, nil, (92...95), nil, nil, nil, nil, 0, "bar"),
          ParenthesesNode(97...109)(
            StatementsNode(98...108)(
              [CallNode(98...108)(
                 nil,
                 nil,
                 (98...101),
                 nil,
                 nil,
                 nil,
                 BlockNode(102...108)([], nil, nil, (102...104), (105...108)),
                 0,
                 "baz"
               )]
            ),
            (97...98),
            (108...109)
          )]
       ),
       nil,
       nil,
       0,
       "foo"
     ),
     CallNode(111...125)(
       nil,
       nil,
       (111...114),
       nil,
       ArgumentsNode(115...118)(
         [CallNode(115...118)(
            nil,
            nil,
            (115...118),
            nil,
            nil,
            nil,
            nil,
            0,
            "bar"
          )]
       ),
       nil,
       BlockNode(119...125)([], nil, nil, (119...121), (122...125)),
       0,
       "foo"
     ),
     CallNode(127...145)(
       nil,
       nil,
       (127...130),
       nil,
       ArgumentsNode(131...138)(
         [CallNode(131...138)(
            nil,
            nil,
            (131...134),
            nil,
            ArgumentsNode(135...138)(
              [CallNode(135...138)(
                 nil,
                 nil,
                 (135...138),
                 nil,
                 nil,
                 nil,
                 nil,
                 0,
                 "baz"
               )]
            ),
            nil,
            nil,
            0,
            "bar"
          )]
       ),
       nil,
       BlockNode(139...145)([], nil, nil, (139...141), (142...145)),
       0,
       "foo"
     ),
     CallNode(147...168)(
       nil,
       nil,
       (147...150),
       nil,
       nil,
       nil,
       BlockNode(151...168)(
         [:a],
         BlockParametersNode(154...164)(
           ParametersNode(155...163)(
             [],
             [OptionalParameterNode(155...163)(
                :a,
                (155...156),
                (157...158),
                CallNode(159...163)(
                  CallNode(159...160)(
                    nil,
                    nil,
                    (159...160),
                    nil,
                    nil,
                    nil,
                    nil,
                    0,
                    "b"
                  ),
                  nil,
                  (160...163),
                  (160...161),
                  ArgumentsNode(161...162)([IntegerNode(161...162)()]),
                  (162...163),
                  nil,
                  0,
                  "[]"
                )
              )],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (154...155),
           (163...164)
         ),
         nil,
         (151...153),
         (165...168)
       ),
       0,
       "foo"
     ),
     CallNode(170...187)(
       nil,
       nil,
       (170...173),
       nil,
       nil,
       nil,
       BlockNode(174...187)(
         [],
         nil,
         BeginNode(177...187)(
           nil,
           nil,
           RescueNode(177...183)((177...183), [], nil, nil, nil, nil),
           nil,
           nil,
           (184...187)
         ),
         (174...176),
         (184...187)
       ),
       0,
       "foo"
     ),
     CallNode(189...233)(
       nil,
       nil,
       (189...192),
       nil,
       nil,
       nil,
       BlockNode(193...233)(
         [],
         nil,
         StatementsNode(198...229)(
           [CallNode(198...229)(
              nil,
              nil,
              (198...201),
              nil,
              nil,
              nil,
              BlockNode(202...229)(
                [],
                nil,
                StatementsNode(209...223)(
                  [CallNode(209...223)(
                     nil,
                     nil,
                     (209...212),
                     nil,
                     nil,
                     nil,
                     BlockNode(213...223)(
                       [],
                       nil,
                       nil,
                       (213...215),
                       (220...223)
                     ),
                     0,
                     "baz"
                   )]
                ),
                (202...204),
                (226...229)
              ),
              0,
              "bar"
            )]
         ),
         (193...195),
         (230...233)
       ),
       0,
       "foo"
     ),
     CallNode(235...251)(
       CallNode(235...238)(
         nil,
         nil,
         (235...238),
         nil,
         nil,
         nil,
         nil,
         0,
         "foo"
       ),
       nil,
       (238...243),
       (238...239),
       ArgumentsNode(239...242)(
         [CallNode(239...242)(
            nil,
            nil,
            (239...242),
            nil,
            nil,
            nil,
            nil,
            0,
            "bar"
          )]
       ),
       (242...243),
       BlockNode(244...251)(
         [],
         nil,
         StatementsNode(246...249)(
           [CallNode(246...249)(
              nil,
              nil,
              (246...249),
              nil,
              nil,
              nil,
              nil,
              0,
              "baz"
            )]
         ),
         (244...245),
         (250...251)
       ),
       0,
       "[]"
     ),
     CallNode(253...277)(
       nil,
       nil,
       (253...256),
       nil,
       nil,
       nil,
       BlockNode(257...277)(
         [:x, :y, :z],
         BlockParametersNode(259...273)(
           ParametersNode(260...272)(
             [RequiredParameterNode(260...261)(:x)],
             [OptionalParameterNode(263...268)(
                :y,
                (263...264),
                (265...266),
                IntegerNode(267...268)()
              )],
             [],
             nil,
             [KeywordParameterNode(270...272)((270...272), nil)],
             nil,
             nil
           ),
           [],
           (259...260),
           (272...273)
         ),
         StatementsNode(274...275)([LocalVariableReadNode(274...275)(:x, 0)]),
         (257...258),
         (276...277)
       ),
       0,
       "foo"
     ),
     CallNode(279...290)(
       nil,
       nil,
       (279...282),
       nil,
       nil,
       nil,
       BlockNode(283...290)(
         [:x],
         BlockParametersNode(285...288)(
           ParametersNode(286...287)(
             [RequiredParameterNode(286...287)(:x)],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (285...286),
           (287...288)
         ),
         nil,
         (283...284),
         (289...290)
       ),
       0,
       "foo"
     ),
     LocalVariableWriteNode(292...300)(
       :fork,
       0,
       IntegerNode(299...300)(),
       (292...296),
       (297...298)
     ),
     CallNode(301...316)(
       nil,
       nil,
       (301...305),
       nil,
       nil,
       nil,
       BlockNode(306...316)(
         [:a],
         BlockParametersNode(309...312)(
           ParametersNode(310...311)(
             [RequiredParameterNode(310...311)(:a)],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (309...310),
           (311...312)
         ),
         nil,
         (306...308),
         (313...316)
       ),
       0,
       "fork"
     ),
     CallNode(318...330)(
       nil,
       nil,
       (318...322),
       nil,
       nil,
       nil,
       BlockNode(323...330)(
         [:a],
         BlockParametersNode(325...328)(
           ParametersNode(326...327)(
             [RequiredParameterNode(326...327)(:a)],
             [],
             [],
             nil,
             [],
             nil,
             nil
           ),
           [],
           (325...326),
           (327...328)
         ),
         nil,
         (323...324),
         (329...330)
       ),
       0,
       "fork"
     ),
     CallNode(332...340)(
       nil,
       nil,
       (332...333),
       nil,
       nil,
       nil,
       BlockNode(334...340)([], nil, nil, (334...336), (337...340)),
       0,
       "C"
     ),
     CallNode(342...346)(
       nil,
       nil,
       (342...343),
       nil,
       nil,
       nil,
       BlockNode(344...346)([], nil, nil, (344...345), (345...346)),
       0,
       "C"
     ),
     CallNode(348...383)(
       nil,
       nil,
       (348...351),
       nil,
       ArgumentsNode(352...383)(
         [CallNode(352...383)(
            nil,
            nil,
            (352...358),
            nil,
            nil,
            nil,
            BlockNode(359...383)(
              [:a, :b],
              BlockParametersNode(361...381)(
                ParametersNode(365...377)(
                  [],
                  [],
                  [],
                  nil,
                  [KeywordParameterNode(365...369)(
                     (365...367),
                     IntegerNode(368...369)()
                   ),
                   KeywordParameterNode(373...377)(
                     (373...375),
                     IntegerNode(376...377)()
                   )],
                  nil,
                  nil
                ),
                [],
                (361...362),
                (380...381)
              ),
              nil,
              (359...360),
              (382...383)
            ),
            0,
            "lambda"
          )]
       ),
       nil,
       nil,
       0,
       "foo"
     ),
     CallNode(385...402)(
       nil,
       nil,
       (385...388),
       nil,
       nil,
       nil,
       BlockNode(389...402)(
         [:bar],
         BlockParametersNode(392...398)(
           ParametersNode(393...397)(
             [RequiredParameterNode(393...396)(:bar)],
             [],
             [],
             RestParameterNode(396...397)((396...397), nil),
             [],
             nil,
             nil
           ),
           [],
           (392...393),
           (397...398)
         ),
         nil,
         (389...391),
         (399...402)
       ),
       0,
       "foo"
     )]
  )
)
