pub(crate) fn block_on<T>( future: impl Future<Output = Result<T, SyncError>>, ) -> Result<T, SyncError>