I think this can be replaced by the more trivial:
```D
typeof(r.front + r.front) seed = 0;
return reduce!"a + b"(seed, r);
```
I believe it produces the same results for all integral types. As an added bonus, it *might* give better support for user defined types that have promotion on summation.