Optimization: do not generate an intermediary list in the reduce implementation of the Enumerable Protocol.