code: def markov(fn=None, history=1, keep=False):
      ...
  
file_path: pyro/pyro/contrib/funsor/handlers/__init__.py
imports: from pyro.poutine import block, condition, do, escape, infer_config, mask, reparam, scale, seed, uncondition
  from pyro.poutine.handlers import _make_handler
  from .enum_messenger import EnumMessenger, queue
  from .named_messenger import MarkovMessenger, NamedMessenger
  from .plate_messenger import PlateMessenger, VectorizedMarkovMessenger
  from .replay_messenger import ReplayMessenger
  from .trace_messenger import TraceMessenger
label_desc: Use image node_id 2 for calling a global function with example usage: markov(fn, history, keep) without return types