Why would you need a recursive function? It's just a matter of decomposing your functions into smaller parts.
I'm not against functional languages/approaches. I just think that everything has its place, and that procedural code and nested if/then/elses are appropriate in many circumstances.
If you need more than 3 levels of indentation, you're screwed anyway,
and should fix your program.As for being far from the wort offense, well, I try to set my goals a little higher than "not the worst".
As far as I know, the only worse offenses to readability are jumps or formatting your program like an IOCCC entry.
Do you actually disagree, or are you just going on? If the former, then please give an example of the right "circumstances."