Can you move these changes into a new class `PeekingTupleUnwrappingIterator` to reduce the overhead for all other operators that do not need this functionality?