You already have a bounds check since the argument is a DDAxes which is an enum.

So the compiler is smart enough to see that the item you are looking at is ordered in the container and therefore it is safe to do a bisection lookup? Man, quite the optimizer.