BTW, is this recommendation still applicable or not?
From the docs:
Do not declare new conformances to
StringProtocol. Only theStringandSubstringtypes in the standard library are valid conforming types.
Found this ~8 years old message that hints it might not.