async fn current_state_auth_outcome<AuthEvents, Check, CheckFuture>(
auth_events: Result<AuthEvents>,
check: Check,
) -> Result<AuthCheckOutcome>where
Check: FnOnce(AuthEvents) -> CheckFuture,
CheckFuture: Future<Output = Result<AuthCheckOutcome>>,