Do we need `struct mutex`?