ProgramNode(0...31)(
  [],
  StatementsNode(0...31)(
    [CallNode(0...12)(
       ParenthesesNode(1...12)(
         StatementsNode(2...11)(
           [RangeNode(2...11)(
              CallNode(2...5)(nil, nil, (2...5), nil, nil, nil, nil, 0, "foo"),
              CallNode(8...11)(
                nil,
                nil,
                (8...11),
                nil,
                nil,
                nil,
                nil,
                0,
                "bar"
              ),
              (5...8),
              1
            )]
         ),
         (1...2),
         (11...12)
       ),
       nil,
       (0...1),
       nil,
       nil,
       nil,
       nil,
       0,
       "!"
     ),
     IfNode(14...31)(
       (14...16),
       RangeNode(17...26)(
         CallNode(17...20)(nil, nil, (17...20), nil, nil, nil, nil, 0, "foo"),
         CallNode(23...26)(nil, nil, (23...26), nil, nil, nil, nil, 0, "bar"),
         (20...23),
         1
       ),
       nil,
       nil,
       (28...31)
     )]
  )
)
