class BinData::Array

def insert(index, *objs)

def insert(index, *objs)
  extend_array(index - 1)
  abs_index = (index >= 0) ? index : index + 1 + length
  # insert elements before...
  new_elements = objs.map { new_element }
  elements.insert(index, *new_elements)
  # ...assigning values
  objs.each_with_index do |obj, i|
    self[abs_index + i] = obj
  end
  self
end