code: def apply_recursively(x, cb, *args, **kwargs):
      if isinstance(x, dict):
          return {
              k: apply_recursively(v, cb, *args, **kwargs)
              for k, v in x.items()
          }
      elif is_iterable(x):
          x_type = type(x)
          return x_type(
              [apply_recursively(y, cb, *args, **kwargs) for y in x]
          )
      else:
          return cb(x, *args, **kwargs)
  
file_path: ml-cvnets/utils/object_utils.py
imports: import sys
  from numbers import Number
  from typing import Dict
  from common import is_test_env
  from utils import logger
label_desc: Use image node_id 2 for calling a global function with example usage: apply_recursively(x, cb) and returns: unknown, x_type, cb