Use std::aligned_storage instead of dummy union.
Minor cleanup.