Allow arbitrary ranges in builtin<V>::gather