Я же правильно помню, что в рекурсии, если вызов рекурсивной функции находится в "центре" самой функции, то код до рекурсивного вызова - выполняется прямо (сначала первые вызовы, потом глубокие), а код после рекурсивного вызова - в обратном порядке (с самого глубокого вызова - до самого первого)?