safe (any thread may call it, including any task running on the
thread pool object).
</p>
<p>An optional handler procedure may be passed to &rsquo;fail-handler&rsquo; which
will be invoked if the task throws an exception.  If a task throws
an exception and no handler procedure is provided, the program will
terminate.  The &rsquo;fail-handler&rsquo; procedure will be passed the same
arguments as if it were a guile catch handler (it is implemented
using catch).
</p>
<p>If this procedure starts a new thread (s