I missed some kind of reference to communication via messages (channels, flows, actors etc.). Imho the best way to guard against synchronization issues is to just not have shared mutable state in the first place. I guess the book probably mentions it in other places...