I've seen code switch to std::string_view because it has better find and slicing members than StringData. That shouldn't be necessary. We can add all those functions to StringData. I'm talking about members like: at, remove_prefix, remove_suffix, find_first_of, find_last_not_of, etc. and all the overloads of each to support pos and count, and throwing the same std:: exceptions.