code: def walk_nested_dict_tuple_list(dict_list_tuple, callback):
      # Do Not Change, type call will not trigger the auto resolving / download of the Lazy evaluator
      nested = (dict, tuple, list)
      type_dict_list_tuple = type(dict_list_tuple)
      if type_dict_list_tuple not in nested:
          return callback(dict_list_tuple)
  
      if type_dict_list_tuple == dict:
          ret = {}
          for k, v in dict_list_tuple.items():
              ret[k] = (
                  walk_nested_dict_tuple_list(v, callback=callback)
                  if type(v) in nested
                  else callback(v)
              )
  
      else:
          ret = []
          for v in dict_list_tuple:
              ret.append(
                  walk_nested_dict_tuple_list(v, callback=callback)
                  if type(v) in nested
                  else callback(v)
              )
  
          if type_dict_list_tuple == tuple:
              ret = tuple(dict_list_tuple)
  
      return ret
  
imports: import itertools
  import json
  from copy import copy
  from logging import getLogger
  import six
  import yaml
label_desc: Use image node_id 9 for calling a global function with example usage: walk_nested_dict_tuple_list(dict_list_tuple, callback) and returns: ret, callback