ProgramNode(0...54)( [], StatementsNode(0...54)( [CallNode(0...2)( IntegerNode(1...2)(), nil, (0...1), nil, nil, nil, nil, 0, "!" ), CallNode(3...8)( ParenthesesNode(4...8)( StatementsNode(5...7)( [CallNode(5...7)( IntegerNode(6...7)(), nil, (5...6), nil, nil, nil, nil, 0, "!" )] ), (4...5), (7...8) ), nil, (3...4), nil, nil, nil, nil, 0, "!" ), CallNode(9...25)( ParenthesesNode(10...25)( StatementsNode(11...24)( [CallNode(11...24)( ParenthesesNode(12...24)( StatementsNode(13...23)( [OrNode(13...23)( CallNode(13...16)( nil, nil, (13...16), nil, nil, nil, nil, 2, "foo" ), CallNode(20...23)( nil, nil, (20...23), nil, nil, nil, nil, 2, "bar" ), (17...19) )] ), (12...13), (23...24) ), nil, (11...12), nil, nil, nil, nil, 0, "!" )] ), (10...11), (24...25) ), nil, (9...10), nil, nil, nil, nil, 0, "!" ), CallNode(26...35)( CallNode(27...35)( ParenthesesNode(27...31)( StatementsNode(28...30)( [CallNode(28...30)( IntegerNode(29...30)(), nil, (28...29), nil, nil, nil, nil, 0, "!" )] ), (27...28), (30...31) ), (31...32), (32...35), nil, nil, nil, nil, 0, "baz" ), nil, (26...27), nil, nil, nil, nil, 0, "!" ), CallNode(36...38)( CallNode(37...38)(nil, nil, (37...38), nil, nil, nil, nil, 2, "a"), nil, (36...37), nil, nil, nil, nil, 0, "~" ), CallNode(39...41)( CallNode(40...41)(nil, nil, (40...41), nil, nil, nil, nil, 2, "a"), nil, (39...40), nil, nil, nil, nil, 0, "-@" ), CallNode(42...44)( CallNode(43...44)(nil, nil, (43...44), nil, nil, nil, nil, 2, "a"), nil, (42...43), nil, nil, nil, nil, 0, "+@" ), CallNode(45...54)( CallNode(46...54)( ParenthesesNode(46...50)( StatementsNode(47...49)( [CallNode(47...49)( CallNode(48...49)( nil, nil, (48...49), nil, nil, nil, nil, 2, "a" ), nil, (47...48), nil, nil, nil, nil, 0, "-@" )] ), (46...47), (49...50) ), (50...51), (51...54), nil, nil, nil, nil, 0, "foo" ), nil, (45...46), nil, nil, nil, nil, 0, "-@" )] ) )