Consider throwing errors from blocking operations when called from a signal context
Blocking on eg locking a Thread.Mutex
from eg an lfun::_destruct()
callback is NOT a good idea. Add a way to detect that the current thread is in a signal context, and throw an error on operations that would block.