Fixed critical bug about memory alignment.
The source of the bug was hiding type information to compiler,
and fixed by exposing the type to compiler by being a `union`.
After fixing, unnecessary code and comments are removed.
Added `emplace` method.
Added memory alignment related test.
Working on...