There is no checking of message type (even that the message type ends in `_reply`) before calling this function.  Are we sure that whenever we send a message down the shell channel, the *only* message reply is the final message from the computation?