Collect results by resursively calling the elements of
the vector v. The first two elements are called as
fun(v[1], v[2],...) The result is x. Then f(x,
v[3]) is called and so forth, until all elements has been
exhausted.
as such fun must take two arguments and return a
single element, although there are no restrictions on
what that single thing might be.