pub async fn with_loader<T, E, F>(label: &str, op: F) -> Result<T, E>where E: Display, F: Future<Output = Result<T, E>>,