docs: def copy_element(from_element, to_element=None, path_to_copy=None):
      """
      Copies the element at path_to_copy in from_element and uses it to create or update
      the first element found at the same location (path_to_copy) in to_element.
  
      If path_to_copy is not provided, from_element is copied to the root of to_element.
      """
  
      from_element = get_element(from_element, path_to_copy)
      dest_element = get_element(to_element, path_to_copy)
  
      if from_element is None:
          return None
  
      if dest_element is None:
          if path_to_copy is None:
              dest_element = Element(from_element.tag)
          else:
              dest_element = insert_element(Element(from_element.tag), 0, path_to_copy)
  
      dest_element.tag = from_element.tag
      dest_element.text = from_element.text
      dest_element.tail = from_element.tail
      dest_element.attrib = from_element.attrib
  
      copied_children = []
  
      for elem in from_element:
          copied_children.append(copy_element(elem))
  
      for idx, child in enumerate(copied_children):
          dest_element.insert(idx, child)
  
      return dest_element