pub async fn request_with_span<Fut: Future<Output = Result<T, E>>, T, E: Debug>(
    fut: Fut
) -> Result<T, E>