It'd be nice if there were a way for you to design your function to take typed messages, rather than untyped root containers.