i had one time i wrote an algorithm with recursion but it was for descending a configuration settings tree... it never got to more than a few levels of depth, and each level was an iterator itself graphs are very problematic in this respect... but i think a performant iterative walker could be written