Вообще это решается описанием высокоуровневых операций в одном модуле, а низкоуровневых в другом
это понятно. но изврат, если тебе низкоуровневые операции нужны лишь для одной единственной функции. логика неоправданно размазывается два файла или больше.
Например, для реализации факториала с помощью хвостовой рекурсии, вызов рекурсивной функции осуществляется в САМОМ конце.
Пример может не самый удачный, так как тут суть как раз в этой самой хвостовой рекурсии.. но всё же. если таких вспомогательных функций более одной, то вызов их (суть высокоуровневой операции) всегда придётся объявлять ПОСЛЕ того, как будут определены все вспомогательные.
Товарищ Жуков, как будете отвоёвывать Сталинграде? - Ну сначала я пойду в штаб возьму лист бумаги, ручку и буду писать первый приказ....
- спустя 14 часа объяснений - "...а когда всё будет подготовлено, войска форсируют Волгу и будут дом за домом отбивать город".
Нормально давать ответ на простой вопрос спустя 14 часов объяснения всяких мелочей? ))