pub async fn download<'a>(
    progress: &impl Progress,
    source: &Source<'a>,
    destination: &Path
) -> Result<()>