# File lib/core/facets/enumerable/accumulate.rb, line 40 def accumulate(iterations=1) return self if iterations == 0 Functor.new do |op, *args| #result = inject([]) { |a, x| a << x.send(op, *args) }.flatten.uniq result = [] each { |x| result << x.send(op, *args) } result.flatten.uniq.accumulate(iterations - 1) end end