docs: def map_add(self, key, mapkey, value, create=False, **kwargs):
          """
          Set a value for a key in a map.
  
          .. warning::
  
              The functionality of the various `map_*`, `list_*`, `queue_*`
              and `set_*` functions are considered experimental and are included
              in the library to demonstrate new functionality.
              They may change in the future or be removed entirely!
  
              These functions are all wrappers around the :meth:`mutate_in` or
              :meth:`lookup_in` methods.
  
          :param key: The document ID of the map
          :param mapkey: The key in the map to set
          :param value: The value to use (anything serializable to JSON)
          :param create: Whether the map should be created if it does not exist
          :param kwargs: Additional arguments passed to :meth:`mutate_in`
          :return: A :class:`~.OperationResult`
          :raise: :cb_exc:`NotFoundError` if the document does not exist.
              and `create` was not specified
  
          .. Initialize a map and add a value
  
              cb.upsert('a_map', {})
              cb.map_add('a_map', 'some_key', 'some_value')
              cb.map_get('a_map', 'some_key').value  # => 'some_value'
              cb.get('a_map').value  # => {'some_key': 'some_value'}
  
          """
          op = SD.upsert(mapkey, value)
          sdres = self.mutate_in(key, op, **kwargs)
          return self._wrap_dsop(sdres)