std::ostream& operator<<(std::ostream& o, const data& d) { state_guard sg(const_cast<data&>(d)); const_cast<data&>(d).rewind(); return o << inspectable(d.pn_object()); }
std::ostream& operator<<(std::ostream& o, const message& m) { return o << inspectable(m.pn_msg()); }