class_docstr: Reparameterization poutine.
code: def __call__(self, *args: _P.args, **kwargs: _P.kwargs) -> _T:
      # This saves args,kwargs for optional use by reparameterizers.
      self.msngr._args_kwargs = args, kwargs
      try:
          with self.msngr:
              return self.fn(*args, **kwargs)
      finally:
          self.msngr._args_kwargs = None
  
file_path: pyro/pyro/poutine/reparam_messenger.py
imports: import warnings
  from typing import TYPE_CHECKING, Callable, Dict, Generic, List, Optional, TypeVar, Union
  import torch
  from typing_extensions import ParamSpec
  from pyro.poutine.messenger import Messenger
  from pyro.poutine.runtime import effectful
label_desc: Use image node_id 2 for calling the ReparamHandler obj's underlying member method code with example usage: obj.__call__() and returns: self