Can't agree more with your second comment.
Which of the following two alternatives would be better? - Avoiding whenever possible to use explicit recursion, and call functions like map, reduce or filter. - Change the recursion primitives. Like, limiting the recursion primitive to allow only total functions.
Or...?