pub fn da<A, B, C, F: for<'a> Fn(&'a mut C, A) -> BorrowRec<'a, Result<B>> + Send + Sync + 'static>( f: F, ) -> Df<A, B, C>