Some versions of NVCC complain about unused lock_guard's. Perhaps they do nothing on the device side? Perhaps it's an NVCC bug? At any rate, we can overcome this issue with old-style casting-to-void, i.e. `(void) lock` in many places in `doctest.h`.