Tue Feb 5 20:12:12 CET 2013
Basic idea is that we're mapping many to one. This is not a stream
processor with stream outputs.
In this way, the body of the code could be generalized to an (s,i)->s
map, where s comes from [s], generalized container.
So this is really proper fold:
(i -> s -> s) -> s -> [i] -> s
The trouble is with the type trickery.
What I actually use is fold over a lifted (mapped) operation.
Maybe not so useful, since I really only need fold +.