This adds an extra level of static safety to our use of placement
new to allocate Symbol types. It prevents the accidental addition
of a non-trivially-destructible member that could (for example)
allocate and leak memory.
From the spec: Storage occupied by trivially destructible objects
may be reused without calling the destructor.