Hiding ambiguous or not-found errors is certainly bad. I'll refactor the code to be more in line with your comment. I find I keep writing `do {} while(1)` loops and then never actually go back to putting in the terminating condition in the loop but end up controlling it from inside.