In some situations we parse and get a successful zero-length parse for a string or hexBinary.
But because the occurrence is optional, we do NOT add an element to the infoset.
In that case, what happens to side-effects that occurred during the successful parse. There are two possible kinds of side-effects. Variables can be set, and a discriminator can be set to true.
It seems to me that if a discriminator is set, then that *must* be preserved, and in that case it would seem the variable settings should be retained as well.
Comments?