pub fn do_dialogue<S: State, A: Action<S>>( tgt: Actor, f: impl Fn(DialogueSession) -> A + Send + Sync + 'static, ) -> impl Action<S>