code: def wait(
          self, timeout: Union[int, float] = None, safe: bool = False
      ) -> List[Union[Any, Exception]]:
          
          if safe:
              _wait = self._wait_or_catch_exc
          else:
              _wait = Process.wait
  
          if timeout is None:
              return [_wait(process) for process in self]
          else:
              final = time.time() + timeout
              return [_wait(process, final - time.time()) for process in self]
docs: Call :py:meth:`~Process.wait()` on all the Processes in this list.
  
          :param timeout:
              Same as :py:meth:`~Process.wait()`.
  
              This parameter controls the timeout for all the Processes combined,
              not a single :py:meth:`~Process.wait()` call.
          :param safe:
              Suppress any errors that occur while waiting for a Process.
  
              The return value of failed :py:meth:`~Process.wait()` calls are substituted with the ``Exception`` that occurred.
          :return:
              A ``list`` containing the values returned by child Processes of this Context.