ProgramNode(0...58)(
  [],
  StatementsNode(0...58)(
    [IfNode(0...30)(
       (0...2),
       CallNode(3...6)(nil, nil, (3...6), nil, nil, nil, nil, 0, "foo"),
       StatementsNode(12...15)(
         [CallNode(12...15)(nil, nil, (12...15), nil, nil, nil, nil, 0, "bar")]
       ),
       ElseNode(17...30)(
         (17...21),
         StatementsNode(22...25)(
           [CallNode(22...25)(
              nil,
              nil,
              (22...25),
              nil,
              nil,
              nil,
              nil,
              0,
              "baz"
            )]
         ),
         (27...30)
       ),
       (27...30)
     ),
     IfNode(32...58)(
       (32...34),
       CallNode(35...38)(nil, nil, (35...38), nil, nil, nil, nil, 0, "foo"),
       StatementsNode(40...43)(
         [CallNode(40...43)(nil, nil, (40...43), nil, nil, nil, nil, 0, "bar")]
       ),
       ElseNode(45...58)(
         (45...49),
         StatementsNode(50...53)(
           [CallNode(50...53)(
              nil,
              nil,
              (50...53),
              nil,
              nil,
              nil,
              nil,
              0,
              "baz"
            )]
         ),
         (55...58)
       ),
       (55...58)
     )]
  )
)
