class Hamster::Vector

def copy_leaf_node_for(node, child_index_bits, index)

def copy_leaf_node_for(node, child_index_bits, index)
  return node if child_index_bits == 0
  child_index = (index >> child_index_bits) & INDEX_MASK
  child_node = node[child_index]
  if child_node
    child_node = child_node.dup
  else
    child_node = []
  end
  node[child_index] = child_node
  copy_leaf_node_for(child_node, child_index_bits - BITS_PER_LEVEL, index)
end