Issue with unions.

When a union member is written, the unused bytes of the union must be marked as
undefined. This fixes a bug related to doing this with unions composed of
structs.