When a loop becomes a reduce, and when a recursive definition is actually clearer.
Sometimes recursion is the cleanest way to express an algorithm. But in everyday Clojure, many Java loops map better to higher-order functions (map, filter, reduce) than to explicit recursion.
map.filter.reduce.loop/recur or recursion over the problem shape.Java mental model: the goal is to eliminate index management and mutable accumulators, not to force recursion everywhere.
This section helps you pick the simplest shape that preserves the intent of the original loop.