*** with-timeout provides an easy way to do something but give
up if too much time passes.
(with-timeout (SECONDS TIMEOUT-FORMS...) BODY...)
This executes BODY, but gives up after SECONDS seconds. If it gives up, it runs the TIMEOUT-FORMS and returns the value of the last one of them. Normally it returns the value of the last form in BODY.