class RLP::LazyList

def next_item

def next_item
  if @index == @next_start
    @size = @elements.size
    raise StopIteration
  elsif @index < @next_start
    item, @index = consume_item_lazy @rlp, @index
    if @sedes
      # FIXME: lazy man's kwargs
      item = @sedes_options.empty? ?
               @sedes.deserialize(item) :
               @sedes.deserialize(item, **@sedes_options)
    end
    @elements.push item
    item
  else
    raise "Assertion failed: index cannot be larger than next start"
  end
end