docs: def copy(self, parent=None, name=None, verbose=True):
          """Create a copy under parent.
  
          All children are copied as well.
  
          Parameters
          ----------
          parent : WrightTools Collection (optional)
              Parent to copy within. If None, copy is created in root of new
              tempfile. Default is None.
          name : string (optional)
              Name of new copy at destination. If None, the current natural
              name is used. Default is None.
          verbose : boolean (optional)
              Toggle talkback. Default is True.
  
          Returns
          -------
          Group
              Created copy.
          """
          if name is None:
              name = self.natural_name
          if parent is None:
              from ._open import open as wt_open  # circular import
  
              new = Group()  # root of new tempfile
              # attrs
              new.attrs.update(self.attrs)
              new.natural_name = name
              # children
              for k, v in self.items():
                  super().copy(v, new, name=v.natural_name)
              new.flush()
              p = new.filepath
              new = wt_open(p)
          else:
              # copy
              self.file.copy(self.name, parent, name=name)
              new = parent[name]
          # finish
          if verbose:
              print("{0} copied to {1}".format(self.fullpath, new.fullpath))
          return new