Since not all indices when halved are actually representable,
the best we can do is to give the 'toIndex'/numeric representation of an
index at the point where the "half" index occurs in the original index
type. For instance, with the old logic, (3,4)/2 = (1,2), which is the
"half" index - but it does not give a bound to all the indices before
the "half" index.