how about

start, stop, step, length

and remove within_step?

with length default to step when None?

I want to keep this function as pythonic as possible.