docs: def times_update(self, factor):
          """Update each this multiset by multiplying each element's multiplicity with the given scalar factor.
  
          >>> ms = Multiset('aab')
          >>> ms.times_update(2)
          >>> sorted(ms)
          ['a', 'a', 'a', 'a', 'b', 'b']
  
          You can also use the ``*=`` operator for the same effect:
  
          >>> ms = Multiset('ac')
          >>> ms *= 3
          >>> sorted(ms)
          ['a', 'a', 'a', 'c', 'c', 'c']
  
          For a variant of the operation which does not modify the multiset, but returns a new
          multiset instead see :meth:`times`.
  
          Args:
              factor: The factor to multiply each multiplicity with.
          """
          if factor < 0:
              raise ValueError("The factor must not be negative.")
          elif factor == 0:
              self.clear()
          else:
              _elements = self._elements
              for element in _elements:
                  _elements[element] *= factor
              self._total *= factor