make the cpmutex struct non-opaque so that it can be included in other structs