code: def move_dir(
      src_fs,  # type: Union[Text, FS]
      src_path,  # type: Text
      dst_fs,  # type: Union[Text, FS]
      dst_path,  # type: Text
      workers=0,  # type: int
  ):
      # type: (...) -> None
      
  
      def src():
          return manage_fs(src_fs, writeable=False)
  
      def dst():
          return manage_fs(dst_fs, create=True)
  
      with src() as _src_fs, dst() as _dst_fs:
          with _src_fs.lock(), _dst_fs.lock():
              _dst_fs.makedir(dst_path, recreate=True)
              copy_dir(src_fs, src_path, dst_fs, dst_path, workers=workers)
              _src_fs.removetree(src_path)
docs: Move a directory from one filesystem to another.
  
      Arguments:
          src_fs (FS or str): Source filesystem (instance or URL).
          src_path (str): Path to a directory on ``src_fs``
          dst_fs (FS or str): Destination filesystem (instance or URL).
          dst_path (str): Path to a directory on ``dst_fs``.
          workers (int): Use `worker` threads to copy data, or ``0`` (default) for
              a single-threaded copy.