You don't need to rely on null and exceptions to handle errors. You can distinguish expected errors and unexpected (fatal) errors. You are forced to think handle failures. It makes the code a lot ...
C++ 20 contains the core language support needed to make coroutines (async/await) possible, but it does not provide the related types needed to write an actual coroutine or functions to consume ...