Currently, a Range callback that deletes an item from the map at or below the current offset will cause inconsistent executions, because the next item will then slip by one offset.
Since this is not a concurrency issue and Range is not described as not supporting mutating callbacks, we need to support that case.