When mixing the two tasks, they are never completed. It turns out they are not composable
For example, if we want to have several when_any waiting for a completion or timeout and then running multiple of them and waiting for all of them using when_all, the when_all. In this particular case, it's because WhenAnyTask doesn't notify the parent when it completes. In