Problem
There are a number of bugs with Range which occur when the step size is 0 or where negative.
Examples
`
cljs.user=> (count (range 10 0 0))
-Infinity ;Expect Infinity
cljs.user=> (nth (range 10 0 -1) -1)
11 ; Expected IndexOutOfBounds
cljs.user=> (take 5 (sequence identity (range 0 10 0)))
() ; Expected (0 0 0 0 0)
cljs.user=> (into [] (take 5) (range 0 10 0))
[] ; Expected [0 0 0 0 0]
`