@Devin quite simple: a lazy sequence of nums starting from x with step 0.0 until it reaches an end value of y (where y > x) is an infinite sequence of x.
Consider the case where start is 0 and end is infinity (the default), you would expect sequences to go as follows:
step +2 : 0 2 4 6 8....
step +1 : 0 1 2 3 4....
step +0 : 0 0 0 0 0....
It would be inconsistent to make 0 a special case, all of these are valid arithmetic progressions. And all of these are consistent with the current docstring.
If you make 0 a special case, then people will need to write special case code to handle it. Consider the code to create a multiplication table for example:
(for [x (range 10)]
(take 10 (range 0 Long/MAX_VALUE x)))
This works fine if you produce an infinite sequence of zeros for step 0, but fails if you create an empty list as a special case for step 0.
As a related issue, I'd personally also favour negative step sizes also producing an infinite sequence. If we don't want to allow this though, then at least the docstring should be changed to say "a lazy seq of non-decreasing nums" and a negative step should throw an error.