class_docstr: Store a mapping from keys to multiple values with minimal overhead.
  
  Avoids storing empty collections.
code: def remove_value(self, key: K, value: V) -> None:
      """ """
      if key is None:
          raise ValueError("Key is None")
  
      existing = self._dict.get(key)
      if isinstance(existing, set):
          existing = cast(set[V], existing)
          existing.discard(value)
          if len(existing) == 0:
              del self._dict[key]
      elif existing == value:
          del self._dict[key]
  
file_path: bokeh/src/bokeh/util/datatypes.py
imports: from __future__ import annotations
  import logging
  from typing import Generic, TypeVar, cast
label_desc: Use image node_id 5 for calling the MultiValuedDict obj's underlying member method code with example usage: obj.remove_value(key, value) without return types