Unless there's been a recent language change about this, I think this breaks with ranges that don't provide the iterator index (the `_` here), which would be most user-defined ranges in Phobos (though it happens to work with slices).