REF: Use range over arange for iterators
Minor, but we shouldn't need to materialize all the values in a range (`np.arange`) when it's just used as an iterator
Looks like tests are passing and this should have minimal positive impacts so merging