Hi, How about adding `Task SwitchAsync()` to make `void Switch()` awaitable for example ? Instead of taking `Action<T>`, it would take `Action<Task<T>>`.