docs: def get(self, timeout=None):
          """
          Returns the result when it arrives. If timeout is not None and
          the result does not arrive within timeout seconds then
          TimeoutError is raised. If the remote call raised an exception
          then that exception will be reraised by get().
          """
          if not self.wait(timeout):
              raise TimeoutError("Result not available within %fs" % timeout)
          if self._success:
              return self._data
          raise self._data[0]