code: def bind(self, __fun, *args, **kwargs):
      
  
      with self._lock:
        if self._running or self._completed or self._cancelled:
          raise RuntimeError('Future object can not be reused')
        if self._worker:
          raise RuntimeError('Future object is already bound')
        self._worker = functools.partial(__fun, *args, **kwargs)
      return self
docs: Bind a worker function to the future. This worker function will be
      executed when the future is executed.