Isn't this problem the "Hello World" of learning recursion? (that and string permutations)