Насчет поддержки - это большой вопрос. В императивном коде возможно достаточно будет одну строку подправить, а вот редьюс рекурсивный скорее всего целиком придется переписать.
скорее всего, если надо писать самому рекурсию – это уже обработка нестандартной коллекции и/или map, filter, walk, reduce неприменимы, а это уже далеко не случай новичка и надо знать структуры, которые обходишь. А так просто функцию обработчик поменял и все работает, в логику обхода лезть не нужно и она не смешана с логикой обработки отдельного элемента