http://dlang.org/garbage.html
Do not take advantage of alignment of pointers to store bit flags
in the low order bits:
p = cast(void*)(cast(int)p | 1); // error: undefined behavior
if this restriction is actually imposed - why does
std.bitmanip.tagged{ClassRef,Pointer} even exist?