Анатолий, это из тех случаев, из-за которых некоторые люди настаивают, что у функции должен быть только один return, а всё ветвление должно только устанавливать значение некоей переменной спускающейся в этот return. Я не в их числе, если что, но такое мнение имеет место быть.)