I think you still want some form of conditional to avoid the server sending `{ message => "…", request_id => nil }`. The part where this makes the protocol completely backwards compatible is just an added bonus.

I'm happy to change this if you'd prefer to remove the complexity.