Refactor Range.__iter__