code: def _delete_retryable(
              self, criteria, multi,
              write_concern=None, op_id=None, ordered=True,
              collation=None, session=None):
          
          def _delete(session, sock_info, retryable_write):
              return self._delete(
                  sock_info, criteria, multi,
                  write_concern=write_concern, op_id=op_id, ordered=ordered,
                  collation=collation, session=session,
                  retryable_write=retryable_write)
  
          return self.__database.client._retryable_write(
              (write_concern or self.write_concern).acknowledged and not multi,
              _delete, session)
docs: Internal delete helper.