class EventMachine::Synchrony::FiberIterator

def each(foreach=nil, after=nil, &blk)

and auto-advance the iterator after each call
execute each iterator block within its own fiber
def each(foreach=nil, after=nil, &blk)
  fe = Proc.new do |obj, iter|
    Fiber.new { (foreach || blk).call(obj, iter); iter.next }.resume
  end
  super(fe, after)
end