That was my intention - it wouldn't compile when I tried that though.  The depth of the recursion is bounded by `depth` though, so I thought it wasn't a huge deal.  Can you get it to work?