How about delaying `sender ! result` until `exec` is called, and assign the 'real' result by unwrapping the nested replies? Maybe it can solve the safety problem as well.