Structures vs unions and their use cases