code: func (h *fs) Copy(source string, dest string) (err error) {
  	return doCopy(h, source, dest)
  }
docs: // Copy copies the source to a destination.
  // If the source is a file, then the destination has to be a file as well,
  // otherwise you will get an error.
  // If the source is a directory, then the destination has to be a directory and
  // we copy the content of the source directory to destination directory
  // recursively.