pub trait FuFnOnce9<T0, T1, T2, T3, T4, T5, T6, T7, T8>: FnOnce(T0, T1, T2, T3, T4, T5, T6, T7, T8) -> Self::Future { type Future: Future<Output = Self::Ret>; type Ret; }