reverted ee14ea4f. I think this fix was too generic. If there is a union in the struct then only the union members should be skipped.