code: def uncan(obj, g=None):
      """invert canning"""
  
      import_needed = False
      for cls, uncanner in iteritems(uncan_map):
          if isinstance(cls, string_types):
              import_needed = True
              break
          elif isinstance(obj, cls):
              return uncanner(obj, g)
  
      if import_needed:
          # perform uncan_map imports, then try again
          # this will usually only happen once
          _import_mapping(uncan_map, _original_uncan_map)
          return uncan(obj, g)
  
      return obj
  
imports: import warnings
  import copy
  import sys
  from types import FunctionType
  from ipython_genutils import py3compat
  from ipython_genutils.importstring import import_item
  from ipython_genutils.py3compat import string_types, iteritems, buffer_to_bytes, buffer_to_bytes_py2
  from traitlets.log import get_logger
label_desc: Use image node_id 11 for calling a global function with example usage: uncan(obj, g) and returns: obj, uncan, uncanner