I think it's clear that we don't *need* a critical section, because anything we need can be built out of primitives we have. But I don't think we need to reinvent them either. It seems to me that using a common and well-tested implementation probably is better than maintaining a separate one.