15 for word in ["first", "second", "third"]
17 say("Got $word deferred")
22 else if word == "third"
28 say("Inner loop deferred $i")
31 say("<skipped inner>")
34 say("<stopped inner>")
37 say("Made it through inner loop")
39 say("Made it through the loop")
41 >> thunk := func(return_early=no)
44 say("Deferred thunk cleanup")
47 say("Returning early...")
58 >> counter := make_counter()
63 func defer_func(return_early=no)
64 say("Entering defer_func")
66 say("Deferred defer_func cleanup")
69 say("Returning early...")
72 say("Finished defer_func")
74 func make_counter(->func(->Int))