recurse to do what? Can you change the name to reflect what this function is actually doing and add a doctest for it?