I had an extra thought about the problem.
A string content can be changed with the operator [].
mystring[3] = 0; // if string length is greater than 3 of course
it’s a bad idea because mystring.Len() would return a bad answer but it is still possible.
So the length comparaison for an early exit is not correct.
I checked my implementation of STL, and the same behavior occurs. You can change the content of a string and make its length an invalid value.
So I suppose we should not change anything in UE4.