wip: while_iterator