code: def memoize(cache=None):
      """
      Context manager wrapping :class:`Memoize` and yielding the ``cache`` dict.
      """
      base_interpretation = get_interpretation()
      with Memoize(base_interpretation, cache) as interp:
          yield interp.cache
  
imports: from abc import ABC, abstractmethod
  from collections.abc import Hashable
  from contextlib import ContextDecorator, contextmanager
  from timeit import default_timer
  from .None import instrument
  from .interpreter import get_interpretation, pop_interpretation, push_interpretation
  from .registry import KeyedRegistry
  from .util import get_backend
label_desc: Use image node_id 1 for calling a global function with example usage: memoize(cache) without return types