'Fold is better than looping because the loop is incidental' yes, but using lambda is incidental too! Perhaps an accumulate macro is better?