The optimization is to delay the switch to the exact number type as much as possible. I was not able to find a good benchmark showing the improvement, though. Maybe because the `do_intersect(Bbox_3, Triangle_3)` is not optimized the same way.