class_docstr: Single global state to keep track of scope stacks.
code: def fresh_name(self, name):
      counter = self.current_scope.allocate(name)
      if counter:
          return name + str(counter)
      return name
  
imports: from collections import defaultdict
  from collections.abc import Iterable
  from functools import singledispatch
  import pyro
  from pyro.poutine.handlers import _make_handler
  from pyro.poutine.reentrant_messenger import ReentrantMessenger
  from pyro.poutine.runtime import effectful
label_desc: Use image node_id 7 for calling the ScopeStack obj's underlying member method code with example usage: obj.fresh_name(name) and returns: name, unknown