Oh, clever to depend on `ElementType` to enforce the presence of `front`; I was going to comment that this overload has an unstated assumption that `R` is an input range, but it doesn't. The result is that this is simultaneously a range algorithm and a container algorithm (`front`, `length` and binary `opSlice` are both range and container primitives). Not sure if it was intentional, but interesting nonetheless.