docs: def cancel(self):
          """Unschedule this call
  
          @raise AlreadyCancelled: Raised if this call has already been
          unscheduled.
  
          @raise AlreadyCalled: Raised if this call has already been made.
          """
          if self.cancelled:
              raise error.AlreadyCancelled
          elif self.called:
              raise error.AlreadyCalled
          else:
              self.canceller(self)
              self.cancelled = 1
              if self.debug:
                  self._str = str(self)
              del self.func, self.args, self.kw