the first will iterate over 0-sections.length/2+1=6
(exclusive) and the second will iterate 10-5
the $
in the index refers to the length of the array
and the array[a..b]
notation expands to array.opSlice(a,b)
that returns a partial view of the array