lori_m
Thanks for the input. I confess that my IT background (I was raised on FORTRAN) is not sufficient to make me the ideal person to judge the relative merits of candidate syntax. What I am sure of is that there is a need to be able to pipe a sequence of values through a calculation and collect the results. This should provide a means of bypassing pairwise lifting in circumstances where it is not applicable.
Another thought I had was to introduce the UNIX pipe operator to feed values sequentially (is that what your MAP does?), so the formula might read
= LET( p, | period,
INDEX(flow, p) + IF(p=1, 10000, INDEX(Balance, p-1)))
where the operator "|" provides the instruction to break up the array. The values would be recombined into a result array when p goes out of scope.