Improving our example 3-this is... not... good... 227 Let's take a look at what happens when we run our program by writing cargo run : Program starting FIRST POLL-START OPERATION main: 1 pending tasks. Sleep until notified. FIRST POLL-START OPERATION main: 1 pending tasks. Sleep until notified. BUFFER:----HTTP/1. 1 200 OK content-length: 15 connection: close content-type: text/plain; charset=utf-8 date: Thu, 30 Nov 2023 22:48:11 GMT Hello Async Await HTTP/1. 1 200 OK content-length: 15 connection: close content-type: text/plain; charset=utf-8 date: Thu, 30 Nov 2023 22:48:11 GMT Hello Async Await main: All tasks are finished Puh, great. All that dangerous unsafe turned out to work just fine, didn't it? Good job. Let's make one small improvement before we finish. Improving our example 3-this is... not... good... Pretend you haven't read this section title and enjoy the fact that our previous example compiled and showed the correct result. I think our coroutine implementation is so good now that we can look at some optimizations instead. There is one optimization in our executor in particular that I want to do immediately. Before we get ahead of ourselves, let's set everything up: Create a new folder called c-coroutines-problem and copy everything from b-coroutines-references over to it Y ou can change the name of the project so that it corresponds with the folder by changing the name attribute in the package section in Cargo. toml, but it's not something you need to do for the example to work