If `make_connection` raises here (as it does for a connection failure, for example), you end up with an empty queue, the caller doesn't have anything to check back in --> deadlock on next request.