Allow Range to accept Infinites

I don't like this.  Unless you can support symbolic ranges an so on.

Perhaps, you should check instead if start/stop is `+/-oo` (or integer).  `step` can't be `oo` or it can?