Yah, to keep it simple I'd just say (at least for now)

```d
void setExtension(R, C1, C2)(ref R r, S1 path, S2 ext)
if (isOutputRange!(R, Unqual!(ElementEncodingType!S1)) && isSomeString!S1 && isSomeString!S2)
```