code: def copy_layer_keywords(layer_keywords):
      
      copy_keywords = {}
      for key, value in list(layer_keywords.items()):
          if isinstance(value, QUrl):
              copy_keywords[key] = value.toString()
          elif isinstance(value, datetime):
              copy_keywords[key] = value.date().isoformat()
          elif isinstance(value, QDate):
              copy_keywords[key] = value.toString(Qt.ISODate)
          elif isinstance(value, QDateTime):
              copy_keywords[key] = value.toString(Qt.ISODate)
          elif isinstance(value, date):
              copy_keywords[key] = value.isoformat()
          else:
              copy_keywords[key] = deepcopy(value)
  
      return copy_keywords
docs: Helper to make a deep copy of a layer keywords.
  
      :param layer_keywords: A dictionary of layer's keywords.
      :type layer_keywords: dict
  
      :returns: A deep copy of layer keywords.
      :rtype: dict