GCC 4.4 compatibility: no explicit conversion operators.
GCC 4.4 compatibility: no deprecated attribute message.
GCC 4.4 compatibility: needs some explicit typing.
GCC 4.4 compatibility: needs hell more explicit typing.

I was scared shit of this for nearly two months, but finally got it to
compile. The code seems to be valid after all! :-)