The author mentions "crash" multiple times - is it actually the case when unprotected ARC objects are concurrently accessed? Does it actually crash?
I think if you mutate that string from multiple threads — like by appending to it — you would get crashes pretty easily.
I’m really not sure if you would see crashes if you simply access and assign to the name property (rather than mutating the value it is pointing to). I have not seen guarantees on this. Maybe I missed it, but if not, even if it appears to work today, it may not tomorrow.