return using std::move, how cool is that?
moare tests
wip: while_iterator