There's no need for this to be a pointer, since the union interface is implemented for a pointer of the wrapping struct. The downside of using a pointer here is that it results in an additional allocation.
While what you say is true, it's a pointer for symmetry with all the other occurrences of messages.
Please just think about this for another few seconds before dismissing this.
This should be reopened and addressed.
Most helpful comment
This should be reopened and addressed.