docs: def times(self, factor):
          """Return a new set with each element's multiplicity multiplied with the given scalar factor.
  
          >>> ms = Multiset('aab')
          >>> sorted(ms.times(2))
          ['a', 'a', 'a', 'a', 'b', 'b']
  
          You can also use the ``*`` operator for the same effect:
  
          >>> sorted(ms * 3)
          ['a', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b']
  
          For a variant of the operation which modifies the multiset in place see
          :meth:`times_update`.
  
          Args:
              factor: The factor to multiply each multiplicity with.
          """
          if factor == 0:
              return self.__class__()
          if factor < 0:
              raise ValueError('The factor must no be negative.')
          result = self.__copy__()
          _elements = result._elements
          for element in _elements:
              _elements[element] *= factor
          result._total *= factor
          return result