Most of the time a recursive reporter call will be inside a combiner that attaches the result of the recursive call to some other value:

correct recursive reporter pattern with combiner

The combiner can be an arithmetic operator such as + or ×:

factorial

or a text string operator such as join or join words:

list->sentence

or a list operator such as append or in front of:

plurals

Note: On rare occasions, the recursive call does appear directly inside the report:

piglatin

But almost always, you won't go wrong if you start by thinking about what combining block to use.

☞ Don't go on until you understand what those four example scripts do, and how they do it.