safety0ff:
Since the GC supports interior pointers, I think you can justify using the least significant bits as long as the size and alignment of the pointed object guarantee that the pointer + tag will always lie inside the memory block.
From: http://dlang.org/garbage.html
Do not take advantage of alignment of pointers to store bit flags in the low order bits:
Bye, bearophile