I don't think this is actually possible. Imagine you have two threads, each with an `&mutable` to the same `Mutex`. Being `SafelyMutable` would allow one thread to assign a new mutex value (right?), however, whole new mutex is done without any synchronisation, i.e. there is now the possibility of data races.

(E.g. imagine if one thread tried to lock the mutex halfway through the reassignment: it might think it locked it, but then that information was overwritten, leaving the mutex still unlocked, so another thread can lock it, resulting in two threads who think they have exclusive access.)