code: def delete_items_from_dict(d, to_delete):
      
      if not isinstance(to_delete, list):
          to_delete = [to_delete]
      if isinstance(d, dict):
          for single_to_delete in set(to_delete):
              if single_to_delete in d.values():
                  for k, v in d.copy().items():
                      if v == single_to_delete:
                          del d[k]
          for k, v in d.items():
              delete_items_from_dict(v, to_delete)
      elif isinstance(d, list):
          for i in d:
              delete_items_from_dict(i, to_delete)
      return remove_none(d)
docs: Recursively deletes items from a dict,
      if the item's value(s) is in ``to_delete``.