file :: %Exfile.File{backend: term, id: term, io: term}
download(file) :: {:ok, file} | {:error, :file.posix}