more futzing with BFS, but I think this is kind of a dead end...
now with iterative deepening search, which works, but just barely. we probably need tail calls