part of the reason it is factored this way is that...
# development
w
part of the reason it is factored this way is that it started out as memoized recursion, but switching to a loop avoided a bunch of synchronization