ure calls &rsquo;await&rsquo; and will return the thunk&rsquo;s return value.  It
is intended to be called within a waitable procedure invoked by a-sync
(which supplies the &rsquo;await&rsquo; and &rsquo;resume&rsquo; arguments).  The timeout is
single shot only - as soon as &rsquo;thunk&rsquo; has run once and completed, the
timeout will be removed from the event loop.  The &rsquo;loop&rsquo; argument is
optional: this procedure operates on the event loop passed in as an
argument, or if none is passed (or 