Fix e to *e
use *e consistently
Use e instead of !!e
Add nonpod to union (C++11)