That's very nice and I'll probably be using it a lot, after VS2019 will stabilize (it's just a preview now).
However, the fact that this thing works so well, says a lot about the design of C++ standard library. They should have encapsulated the pair of iterators into a single structure, and implement implicit casts from vectors/arrays to that object. Requiring to type begin/end every single time is counterproductive.