var a = [1,2,3]
assert a.pop  == 3
assert a.pop  == 2
assert a == [1]REQUIRE not is_empty
	redef fun pop
	do
		assert not_empty
		var node = tail_node
		while node.length == 0 do
			# Delete empty node
			var nullable_node = node.prev
			assert is_not_empty: nullable_node != null
			node = nullable_node
			node.next = null
			self.tail_node = node
		end
		var item = node.items[node.tail_index-1]
		node.tail_index -= 1
		length -= 1
		return item
	end
					lib/more_collections/more_collections.nit:482,2--500,4