class Lazily::Zipper

def each

def each
  enumerators = @enumerables.map(&:to_enum)
  exhausted = {}
  while true
    chunk = enumerators.map do |enumerator|
      begin
        enumerator.next unless exhausted[enumerator]
      rescue StopIteration
        exhausted[enumerator] = true
        nil
      end
    end
    break if chunk.all?(&:nil?)
    yield chunk
  end
end

def initialize(enumerables)

def initialize(enumerables)
  @enumerables = enumerables
end