Today the [`archive.Unpack()` function explicitly removes and replaces the original resource if they are not both directories.](https://github.com/docker/docker/blob/de9783980be2a7b3ca10eb8183ea5989acbd3e7e/pkg/archive/archive.go#L533)