Are these members large enough, and the messages frequent enough, that we really want to encode in two pieces instead of sticking the full encoding at the end and reducing the branchiness?

I guess that we still have to deal with it until we rev the incompat version up, and that point we can re-order so the spg_t is encoded as one. I am good with this.