It is reasonably easy to fix but adds 1 byte to case objects. The cause is that 
code like `n.kind = First; t.i = 8` needs to work, so transitions from the 
"zero" state have be be allowed. Alternatively we can require full object 
constructions and disallow all assignments to the discriminator. This would be 
pretty much how Rust solves this issue. The cost is flexibility.

Reply via email to