OK, question: I'm trying to run the tree version, but I've run into a bug:
(children is the list of kids, square brackets are method calls.)
I think you can see the issue: if we can't find a living kid, we call successor of the guy's father - which of course immediately calls us again...