This iterator will help avoid code duplication when we'll
implement insert(), in which we will need to
traverse the node tree, and to remember the visited blocks.
The structured iterator item will allow different usages from
lookup() and the upcoming insert().
would something like block_index be clearer?