New Issue: Add support for 'foreach' loop expressions

19336, "bradcray", "Add support for 'foreach' loop expressions", "2022-03-02T00:19:23Z"

While writing a vectorizeable expression last night, I was surprised to
find that we don't support foreach loops at the expression level.
For orthogonality with other for-loop forms, it seems like we should
provide these.

As a motivating example, it seems like it would be nice to be able to write:

var sum = + reduce (foreach i in 1..n do (A[i,0] * v[j]);

as a way of asserting that the loop is parallel-safe without having to
introduce tasks.