`opSlice` operation for ranges are supposed to take 2 arguments. Argument-less opSlice is "meant" to extract a range from a non-range, and is not part of the range interface (and generally shouldn't be implemented, it can lead to bugs). You will fail this test:

```D
auto r = only(1, 2, 3);
alias R = typeof(r);
static assert (isSliceable!R); //Nope
```