pub fn store_to_file_with<E, F>(
    path: &Path,
    f: F
) -> Result<Result<(), E>, Error>where
    F: Fn(&mut dyn Write) -> Result<(), E>,