docs: def set_result(self, res):
          """
          The worker thread should call this if it was successful. Unlike normal 
          functions, which will return None if execution is allowed to fall off 
          the end, either set_result() or self_error() must be called, or the 
          the get()ing side will hang.
          """
          self.result = (True, res)
          self._lock.release()