std::string msg = payload["message"]; // type inferred
is the direction I want to take. I’ll add a thin wrapper so users can write
`payload["key"].as_string()` or even rely on assignment type-inference. Refactoring the basic chat demo to be much shorter is now my next task.