There is also such a code enforced invariant with handshakeInfo (and I wanted to be more or less symmetric with disassociateInfo), but I see what you mean.