few edits to this still don't solve the original problem. It appears
that the recursion is *much* worse than we thought - I'm already testing
at 30 levels deep, and it still terminates before finishing the job.
This problaby explains some people's stack overflow problems... :-(