Where are the extra values coming from?

`sum([2, 3, 4, 5], 3)`

says "sum the first `3`

elements of the array `[2, 3, 4, 5]`

.

So,

`sum([2, 3, 4, 5], 3)`

returns `sum([2, 3, 4, 5], 2) + [2, 3, 4, 5][2] == sum([2, 3, 4, 5], 2) + 4`

We need the value of `sum([2, 3, 4, 5], 2)`

`sum([2, 3, 4, 5], 2)`

returns `sum([2, 3, 4, 5], 1) + [2, 3, 4, 5][1] == sum([2, 3, 4, 5], 1) + 3`

We need the value of `sum([2, 3, 4, 5], 1)`

`sum([2, 3, 4, 5], 1)`

returns `sum([2, 3, 4, 5], 0) + [2, 3, 4, 5][0] == sum([2, 3, 4, 5], 0) + 2`

We need the value of `sum([2, 3, 4, 5], 0)`

`sum([2, 3, 4, 5], 2)`

returns `0`

Thus, `sum([2, 3, 4, 5], 1)`

returns `sum([2, 3, 4, 5], 0) + [2, 3, 4, 5][0] == sum([2, 3, 4, 5], 0) + 2 == 0 + 2 == 2`

Thus, `sum([2, 3, 4, 5], 2)`

returns `sum([2, 3, 4, 5], 1) + [2, 3, 4, 5][1] == sum([2, 3, 4, 5], 1) + 3 == 2 + 3 == 5`

Thus, `sum([2, 3, 4, 5], 3)`

returns `sum([2, 3, 4, 5], 2) + [2, 3, 4, 5][2] == sum([2, 3, 4, 5], 2) + 4 == 5 + 4 == 9`

`sum([2, 3, 4, 5], 3)`

returns `9`