fn array_try_from_fn_erased<E, T>( buffer: &mut [MaybeUninit<T>], cb: &mut impl FnMut(usize) -> Result<T, E>, ) -> Result<(), E>