code: def log_json_incompatible_types(obj):
      
      keys_to_explore = list(obj)
      while len(keys_to_explore) > 0:
          key = keys_to_explore.pop()
          if not isinstance(key, str):
              LOGGER.info(type(key))
          value = obj[key]
          if isinstance(value, dict):
              LOGGER.info("%s:", key)
              log_json_incompatible_types(value)
          elif not isinstance(value, JSON_TYPES):
              LOGGER.info("%s: %s", key, type(value))
          elif isinstance(value, (int, float)) and not isfinite(value):
              LOGGER.info("%s: %f", key, value)
docs: Log types that are not JSON compatible.
  
      Explore a nested dictionary structure and log types that are not JSON
      compatible.
  
      Parameters
      ----------
      obj : dict
          A potentially nested dictionary.