race condition can only happen when - fallible GPIO (rare) - AND the gpio actually fails (rare) - AND the user wants to somehow recover from it instead of crashing and rebooting. - AND user is using MutexDevice or CriticalSectionDevice (not RefCellDevice, ExclusiveDevice) - AND actually using them from multiple threads, not just using Mutex or CS to satisfy a "must be Send" requirement