pub trait TaskFuture<T, E>: Future<Output = Result<T, E>> + Send { }
Futures provided to a singleflight Group must produce a Result<T, E> for some T, E. This future must also be Send as it could be spawned as a tokio task.