class Array
def accumulate(&block)
if block_given?
each_with_object([]) {|elem, out| out << yield(elem)}
else
self.to_enum
end
module BookKeeping
VERSION = 1