Это попытка оптимизировать описанный хвостово-рекурсивный алгоритм без компилятора.
Функция f, переданная в looped это условное "тело" хвостово-рекурсивной функции функции.
Если она возвращает Continue x, то f перевызывается с новыми аргументами x, а если Return y, то рекурсия заканчивается.
Все это можно развернуть в while, который перевызывает функцию с новыми аргументами пока она не вернет Return y.
По идее нечто подобное и делает компилятора.
Опять же, мне просто было бы приятно, будь возможность для этого типа писать в рекурсивном стиле без извращений в виде такой функции или чего-то еще.
Но, кажется, низя.