I'm open to using a different termination type than ``ProgrammingError``, but I do believe the program should terminate. If the mutex is broken, then something is seriously wrong, and it is not safe to continue. Alternatively, if the call fails because of a mistake the programmer made, then ``ProgrammingError`` is the right mechanism.

The mutex is an in-memory, static variable, local to this file, I don't see how anything could go wrong with it that's outside of our control.