короче цикл обязан выполняться пока условие верно. рекурсия не подразумевает что ты по циклу пойдешь ее раскрывать, так будет лишь если ты ее значение пытаешься раскрыть или пока ты не дойдешь до ветки с тривиальным значением и не вернешь его, но тут разница вылезает — есть ли у тебя после возврата операции другие или нет. если есть, то тогда это к циклу нельзя привести просто так