using visitation to define a generic Packet writer/stringizer