dirbaio: Why would we need critical-section 2.0? Can't we change the Mutex internally without changing the API?
```
pub struct Mutex<T> {
    inner: T,
}
```
That should work as well as the version with the UnsafeCell, as far as I can see right now.