docs: def copy(self, newdoc=None, idsuffix=""):
          """Make a deep copy of this element and all its children.
  
          Parameters:
              newdoc (:class:`Document`): The document the copy should be associated with.
              idsuffix (str or bool): If set to a string, the ID of the copy will be append with this (prevents duplicate IDs when making copies for the same document). If set to ``True``, a random suffix will be generated.
  
          Returns:
              a copy of the element
          """
          if idsuffix is True: idsuffix = ".copy." + "%08x" % random.getrandbits(32) #random 32-bit hash for each copy, same one will be reused for all children
          c = deepcopy(self)
          if idsuffix:
              c.addidsuffix(idsuffix)
          c.setparents()
          c.setdoc(newdoc)
          return c