Combine both styles of block iterator

This merges the two styles of block iterator, having the
initialization API decide which to use based on an optional parameter.



3 files changed