download (RemoteDir dir _) targetFile = liftIO $ do
    dirExists <- doesDirectoryExist targetFile
    unless dirExists $ createDirectory targetFile
    return $ Dir (File.path dir)
download (RemoteDir dir _) targetFile = liftIO $ do
    dirExists <- doesDirectoryExist targetFile
    unless dirExists $ createDirectory targetFile
    return $ Dir (File.path dir)
download (RemoteDir dir _) targetFile = liftIO $ do
    dirExists <- doesDirectoryExist targetFile
    unless dirExists $ createDirectory targetFile
    return $ Dir (File.path dir)