ProgramNode(0...23)(
  [],
  StatementsNode(0...23)(
    [DefNode(0...23)(
       (4...5),
       nil,
       ParametersNode(6...18)(
         [RequiredParameterNode(6...7)(:a)],
         [OptionalParameterNode(9...15)(
            :b,
            (9...10),
            (11...12),
            SymbolNode(13...15)((13...14), (14...15), nil, "c")
          )],
         [RequiredParameterNode(17...18)(:d)],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:a, :b, :d],
       (0...3),
       nil,
       (5...6),
       (18...19),
       nil,
       (20...23)
     )]
  )
)
