def join(self, timeout: float = None) -> bool:
        """
        Joins on the thread associated with the response if it exists, or
        just returns after a no-op if no thread exists to join.

        :param timeout:
            Maximum number of seconds to block on the join before given up
            and continuing operation. The default `None` value will wait
            forever.
        :return:
            A boolean indicating whether or not a thread existed to join
            upon.
        """
        try:
            self.thread.join(timeout)
            return True
        except AttributeError:
            return False