no msg.reset()?  even if there are no fields that aren't overwritten below, it's clearer to the reader if you include a reset, IMO.