class_docstr: Handler to set the random number generator to a pre-defined state by setting its
  seed. This is the same as calling :func:`pyro.set_rng_seed` before the
  call to `fn`. This handler has no additional effect on primitive statements on the
  standard Pyro backend, but it might intercept ``pyro.sample`` calls in other
  backends. e.g. the NumPy backend.
  
  :param fn: a stochastic function (callable containing Pyro primitive calls).
  :param int rng_seed: rng seed.
code: def __exit__(
      self,
      exc_type: Optional[Type[BaseException]],
      exc_value: Optional[BaseException],
      traceback: Optional[TracebackType],
  ) -> None:
      set_rng_state(self.old_state)
  
file_path: pyro/pyro/poutine/seed_messenger.py
imports: from types import TracebackType
  from typing import Optional, Type
  from pyro.poutine.messenger import Messenger
  from pyro.util import get_rng_state, set_rng_seed, set_rng_state
label_desc: Use image node_id 3 for calling the SeedMessenger obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_value, traceback) without return types