action
signal (to destination)? throw catch-name catch-parameter*
signal (to destination)? rethrow
    
 The signal action is used to send a signal to a destination.
      
 The destination, if specified, must be a reference to a sink or
        a source. If no destination is specified, the signal will be sent to
        #current-output.
      
 The signal throw action behaves as the action throw, except the throw happens in
        destination instead of in the current scope. The signal rethrow variant can be used within a
        catch clause to resend the caught exception to another destination.
      
 All signals sent to #suppress are silently suppressed. Otherwise, if the destination is a
        non-coroutine sink or source, like #main-input for example, the signal action raises a
        #program-error.
      
 If destination is a coroutine that cannot catch the exception, the exception propagates to the
        coroutine's parent. If none of the destination coroutine's ancestors can catch the exception, the
        signal action raises a #program-error instead.