Returns a borrowed exported sender. If all borrows have
        been returned, the sender is cleanly disconnected.

async def _return_exported_sender(self, sender):
        """
        Returns a borrowed exported sender. If all borrows have
        been returned, the sender is cleanly disconnected.
        """
        async with self._borrow_sender_lock:
            dc_id = sender.dc_id
            n, _ = self._borrowed_senders[dc_id]
            n -= 1
            self._borrowed_senders[dc_id] = (n, sender)
            if not n:
                self._log[__name__].info(
                    'Disconnecting borrowed sender for DC %d', dc_id)
                await sender.disconnect()