> With property hooks and implicit suspension, event this becomes unsafe: > A suspension can happen between the read and the write. Another coroutine can > mutate the counter in between. The programmer did nothing wrong; it's just a > hazard introduced by invisible suspension.
The risk of a variable being modified by different coroutines does not depend on the transparency model. This effect is possible in both implementations. Even if a setter triggers a suspension, it does not affect the logical execution flow. Therefore, no danger arises. The difference between the transparent model and the explicit one lies in other aspects. It seems this discussion took place in March of this year.
