ProgramNode(0...23)(
  [],
  StatementsNode(0...23)(
    [InterpolatedStringNode(0...23)(
       (0...1),
       [EmbeddedStatementsNode(1...22)(
          (1...3),
          StatementsNode(3...21)(
            [IfNode(3...21)(
               nil,
               CallNode(3...7)(
                 CallNode(3...4)(
                   nil,
                   nil,
                   (3...4),
                   nil,
                   nil,
                   nil,
                   nil,
                   0,
                   "a"
                 ),
                 (4...5),
                 (5...7),
                 nil,
                 nil,
                 nil,
                 nil,
                 0,
                 "b?"
               ),
               StatementsNode(10...17)(
                 [CallNode(10...17)(
                    CallNode(10...14)(
                      StringNode(10...12)((10...11), (11...11), (11...12), ""),
                      nil,
                      (12...13),
                      nil,
                      ArgumentsNode(13...14)(
                        [CallNode(13...14)(
                           nil,
                           nil,
                           (13...14),
                           nil,
                           nil,
                           nil,
                           nil,
                           0,
                           "a"
                         )]
                      ),
                      nil,
                      nil,
                      0,
                      "+"
                    ),
                    nil,
                    (14...15),
                    nil,
                    ArgumentsNode(15...17)(
                      [StringNode(15...17)(
                         (15...16),
                         (16...16),
                         (16...17),
                         ""
                       )]
                    ),
                    nil,
                    nil,
                    0,
                    "+"
                  )]
               ),
               ElseNode(17...21)(
                 (17...18),
                 StatementsNode(19...21)(
                   [StringNode(19...21)((19...20), (20...20), (20...21), "")]
                 ),
                 nil
               ),
               nil
             )]
          ),
          (21...22)
        )],
       (22...23)
     )]
  )
)
