2016-01-05 16:06 GMT+01:00 Ben Coman <btc@openinworld.com>:
btw I have this growing suspicion that we should eliminate
Semaphore>>critical: and Semaphore>>forMutualExclusion.�� ��Semaphores
on their own should *not* provide a facility for to protect critical
regions since they suffer from accidental release [1] due to
*lack*of*ownership*.��

I have same feeling when analyse problem of critical: implementation. But I not think that Semaphore>>forMutualExclusion is bad. It is common case that semaphore "free" by default. And this name is explicitly said about this.