Я знаю разницу между объединением и структурой. Но с точки зрения дизайна и программирования, каковы различные варианты использования объединения вместо структуры? Один из них - это оптимизация пространства. Есть ли еще преимущества от их использования?