code: def load_reduce(self):
      stack = self.stack
      args = stack.pop()
      func = stack[-1]
  
      if len(args) and type(args[0]) is type:
          n = args[0].__name__  # noqa
  
      try:
          stack[-1] = func(*args)
          return
      except Exception as e:
          # If we have a deprecated function,
          # try to replace and try again.
  
          msg = "_reconstruct: First argument must be a sub-type of ndarray"
  
          if msg in str(e):
              try:
                  cls = args[0]
                  stack[-1] = object.__new__(cls)
                  return
              except TypeError:
                  pass
  
          # try to re-encode the arguments
          if getattr(self, "encoding", None) is not None:
              args = tuple(
                  arg.encode(self.encoding)
                  if isinstance(arg, string_types)
                  else arg
                  for arg in args
              )
              try:
                  stack[-1] = func(*args)
                  return
              except TypeError:
                  pass
  
          # unknown exception, re-raise
          if getattr(self, "is_verbose", None):
              print(sys.exc_info())
              print(func, args)
          raise
  
file_path: catboost/contrib/python/pandas/py2/pandas/compat/pickle_compat.py
imports: import copy
  import pickle
  import sys
  from pandas.compat import string_types, u
  import pandas
  from pandas import Index, compat
label_desc: Use image node_id 1 for calling a global function with example usage: load_reduce() without return types