Oops, didn't read the problem. Yes, as other commenters say, you should expand into a call to a recursive function, not an expression that gets expanded recursively.
If you were writing this for real you'd expand into a do, so this problem is somewhat artificially difficult.
If you were writing this for real you'd expand into a do, so this problem is somewhat artificially difficult.