do
	local function lower_bound(container, container_begin, container_end, value, comparator)
		local count = container_end - container_begin + 1

		while count > 0 do
			local half = bit.rshift(count, 1)