code: def set_remove(self, key, value, **kwargs):
          
          while True:
              rv = self.get(key)
              try:
                  ix = rv.value.index(value)
                  kwargs['cas'] = rv.cas
                  return self.list_remove(key, ix, **kwargs)
              except E.KeyExistsError:
                  pass
              except ValueError:
                  return
docs: Remove an item from a set.
  
          :param key: The docuent ID
          :param value: Value to remove
          :param kwargs: Arguments to :meth:`mutate_in`
          :return: A :class:`OperationResult` if the item was removed, false
                   otherwise
          :raise: :cb_exc:`NotFoundError` if the set does not exist.
  
          .. seealso:: :meth:`set_add`, :meth:`map_add`