index and shift all following elementsvar a = [10,20,30]
a.remove_at(1)
assert a  == [10,30]REQUIRE index >= 0 and index < length
	redef fun remove_at(index)
	do
		var node = node_at(index)
		index = index_within_node + node.head_index
		# Shift left all the elements after `index`
		for i in [index+1 .. node.tail_index[ do
			node.items[i-1] = node.items[i]
		end
		node.tail_index -= 1
		node.items[node.tail_index] = null
		length -= 1
		var next_node = node.next
		var prev_node = node.prev
		if node.is_empty and (next_node != null or prev_node != null) then
			# Empty and non-head or tail node, delete
			if next_node != null then
				next_node.prev = node.prev
			else tail_node = prev_node.as(not null)
			if prev_node != null then
				prev_node.next = node.next
			else head_node = next_node.as(not null)
		end
	end
					lib/more_collections/more_collections.nit:574,2--600,4