opinion: Judgment = .noIdea func thinkOfGoodIdea() async -> Decision { opinion = .goodIdea // <1> await friend.tell(opinion, heldBy: self) // <2> return opinion // 🤨 // <3> } func thinkOfBadIdea() async -> Decision { opinion = .badIdea // <4> await friend.tell(opinion, heldBy: self) // <5> return opinion // 🤨 // <6> } } opinion = .goodIdea // <1> // suspend: await friend.tell(...) // <2> opinion = .badIdea // | <4> (!) // suspend: await friend.tell(...) // | <5> // resume: await friend.tell(...) // <2> return opinion // <3> // resume: await friend.tell(...) // <5> return opinion // <6>