<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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()