
optional &rsquo;handler&rsquo; argument is provided, then that handler will be run
in the event loop thread if &rsquo;thunk&rsquo; throws and the return value of the
handler would become the return value of this procedure; otherwise the
program will terminate if an unhandled exception propagates out of
&rsquo;thunk&rsquo;.  &rsquo;handler&rsquo; should take the same arguments as a guile catch
handler (this is implemented using catch).
</p>
<p>This procedure must (like the a-sync procedure) be called in the