[Ready] Item access refactor

See #9517
This operator (the one with the int argument) should return the iterator *before* it was increased, e.g.
```
auto tmp = *this;
++(*this);
return tmp;
```
Or something like that. The current implementation behaves unexpected. Some people know the difference and write code explicit to make use of it, sometimes.