The async program will execute the function in the background and will not block the main thread. The main thread will continue to execute the next code without waiting for the async function to finish. The async function will be executed in the background and will be executed in the order it was called. that is why "hey hey" appeared before "Howdy" and "Done". Dropping the spawner means that the program is done
Not dropping the spawner will make the program think that it is not done. So it will be stuck in a waiting game and will not terminate. Multiple threads will be executed sequentially. this is similar like any procedural programming. of course, "hey hey" is outside the asycn implementation so will be executed first

