Often used in C in conjunction with unions to give a sort of brain-damaged polymorphism. The `type' member of an XEvent is a tag. Usually tags are used in a switch to select the correct behaviour. Forgetting the break can cause fatal errors.