docs: def handle(self, signum, handler):
          """Set a function to run when the given signal is recieved.
  
          Multiple handlers may be assigned to a single signal. The order of
          handlers does not need to be preserved.
  
          'signum' must be an integer representing a signal.
  
          'handler' must be a callable.
          """
          if not isinstance(signum, int):
  
              raise TypeError(
                  "Signals must be given as integers. Got {0}.".format(
                      type(signum),
                  ),
              )
  
          if not callable(handler):
  
              raise TypeError(
                  "Signal handlers must be callable.",
              )
  
          signal.signal(signum, self._handle_signals)
          self._handlers[signum].append(handler)