Consider: ``` import std.range.iota; auto r = iota(5, 0); ```
`r` is an empty range, as it should be. But if you call: ``` auto r = iota(5.0, 0); ``` then you get an exception (incorrect startup parameters).This was unexpected, and a pain to debug. What is the rationale behind iota having different semantics depending on whether the arguments are floats or not?
Arredondo.