tests producte with range()es
removes const qualifier on step

it doesn't really help anything, and prevents the range iterators
from being assignable.