> I don't like this idea because it's not very type-safe. You could easily
> mistreat a response message like a request message under this model.
That is true. But at least you still have the template argument,
although it would have less effect (or no effect) on the members.
> It also goes against the principles that allow other languages do things
> like "never null guarantee". In this model, ":url" might just not be filled.
That's true, but the same could happen now. A default constructed
message has an empty url field. If we switch to accessor functions,
they could perform the checks for you.
I'm not pushing hard for this idea, just pointing it out as an
alternative. It does solve the problem of allocator support. As I said
before, I don't think its a problem for us now. But during review I am
sure someone is going to bring it up and its probably a good idea to
have alternatives in mind.