Moves range step check to range function

Also compresses separate Range constructors into one
fixes unever indents