ProgramNode(0...39)(
  [],
  StatementsNode(0...39)(
    [CallNode(0...8)(
       nil,
       nil,
       (0...3),
       nil,
       ArgumentsNode(4...8)(
         [CallNode(4...8)(
            CallNode(5...8)(nil, nil, (5...8), nil, nil, nil, nil, 0, "bar"),
            nil,
            (4...5),
            nil,
            nil,
            nil,
            nil,
            0,
            "!"
          )]
       ),
       nil,
       nil,
       0,
       "foo"
     ),
     CallNode(10...18)(
       CallNode(10...14)(
         CallNode(11...14)(nil, nil, (11...14), nil, nil, nil, nil, 0, "foo"),
         nil,
         (10...11),
         nil,
         nil,
         nil,
         nil,
         0,
         "-@"
       ),
       nil,
       (14...15),
       nil,
       ArgumentsNode(15...18)(
         [CallNode(15...18)(nil, nil, (15...18), nil, nil, nil, nil, 0, "bar")]
       ),
       nil,
       nil,
       0,
       "*"
     ),
     CallNode(20...29)(
       CallNode(20...24)(
         CallNode(21...24)(nil, nil, (21...24), nil, nil, nil, nil, 0, "foo"),
         nil,
         (20...21),
         nil,
         nil,
         nil,
         nil,
         0,
         "+@"
       ),
       nil,
       (24...26),
       nil,
       ArgumentsNode(26...29)(
         [CallNode(26...29)(nil, nil, (26...29), nil, nil, nil, nil, 0, "bar")]
       ),
       nil,
       nil,
       0,
       "**"
     ),
     CallNode(31...39)(
       nil,
       nil,
       (31...34),
       nil,
       ArgumentsNode(35...39)(
         [CallNode(35...39)(
            CallNode(36...39)(
              nil,
              nil,
              (36...39),
              nil,
              nil,
              nil,
              nil,
              0,
              "bar"
            ),
            nil,
            (35...36),
            nil,
            nil,
            nil,
            nil,
            0,
            "~"
          )]
       ),
       nil,
       nil,
       0,
       "foo"
     )]
  )
)
