There are many cases in LLVM and Clang where implicit conversions from size_t to unsigned are assumed correct.
This handles one case where it isn't, by changing the template type to size_t to match V.size().
This was caught by MSVC 19.
I can send a fix for the other warnings later on a separate patch.