A trampoline repeatedly executes returned computation steps through one driver loop instead of relying on nested calls. An IO program yields Suspend or FlatMap requests, returns control to unsafeRun, and resumes one suspension at a time. section 13.3.1
Driving an IO program
unsafeRun handles Return directly, evaluates Suspend, and continues FlatMap computations. When nested FlatMaps appear, it reassociates them before continuing, allowing the loop to drive the program rather than growing the call stack.
