ComposableArchitectureで同一フレームの実行を防ぐ

Composable Architectureを使っていると、syncなEffectは同じメインスレッドのフレームで実行されます。
例えば次のような処理の2つのprintは同じタイミングで実行されます。
これは処理の観点では効率的ですが、この挙動が望ましくないこともあります。
例えば、iOSではpushとmodalの処理を同じフレームで実行することが出来ません。
UIKitではviewDidLoadにpresentを書いて実行されない経験がある方も多いと思いますが、同じ現象がSwiftUIでも発生します。
また、アニメーションがミックスされてしまうこともあります。
この問題を解消するには、前後で別のフレームで実行する必要があります。
UIKitではDispatchQueue.main.asyncの中で呼ぶことで実現できますが、TCAの場合次のようにしてsubscribeで使うスケジューラを明示的に指定します。
そうすると、一度処理はasyncとして保持されactionAが完了したのち新規にacitonBを実行するスケジューラが開始します。