code: def strip_empty_values(obj):
      
      if isinstance(obj, dict):
          new_obj = {}
          for key, val in obj.items():
              new_val = strip_empty_values(val)
              if new_val is not None:
                  new_obj[key] = new_val
          return new_obj or None
      elif isinstance(obj, (list, tuple, set)):
          new_obj = []
          for val in obj:
              new_val = strip_empty_values(val)
              if new_val is not None:
                  new_obj.append(new_val)
          return type(obj)(new_obj) or None
      elif obj or obj is False or obj == 0:
          return obj
      else:
          return None
docs: Recursively strips empty values.