fix a bug I introduced last refactor

This was just a refactoring oversight. I named a function `recursive_delete` in one class and `delete_recursive` in another, without realizing I was calling them different things, and then when I went to refactor it, I just searched for `recursive_delete` which didn't find the instance in which the other one was called. Oops.