async fn option_try_or_else<T, E>( option: Option<T>, f: impl AsyncFnOnce() -> Result<T, E>, ) -> Result<T, E>