For fixed size ints, no rule for mapping pairs of ints to a range of consecutive ints can allow both the empty range and the range of maximal size, e.g. you can't have both "", the empty range, and "0,...,Maxint".
You really need to give up one of the possibilities, or use an extra bit.
You really need to give up one of the possibilities, or use an extra bit.