ProgramNode(0...27)(
  [],
  StatementsNode(0...27)(
    [CallNode(0...27)(
       nil,
       nil,
       (0...3),
       nil,
       ArgumentsNode(4...19)(
         [InterpolatedStringNode(4...19)(
            (4...5),
            [EmbeddedStatementsNode(5...18)(
               (5...7),
               StatementsNode(7...17)(
                 [CallNode(7...17)(
                    ParenthesesNode(7...12)(
                      StatementsNode(8...11)(
                        [CallNode(8...11)(
                           IntegerNode(8...9)(),
                           nil,
                           (9...10),
                           nil,
                           ArgumentsNode(10...11)([IntegerNode(10...11)()]),
                           nil,
                           nil,
                           0,
                           "+"
                         )]
                      ),
                      (7...8),
                      (11...12)
                    ),
                    (12...13),
                    (13...17),
                    nil,
                    nil,
                    nil,
                    nil,
                    0,
                    "to_i"
                  )]
               ),
               (17...18)
             )],
            (18...19)
          )]
       ),
       nil,
       BlockNode(20...27)([], nil, nil, (20...22), (24...27)),
       0,
       "foo"
     )]
  )
)
