but the fact that we're a system language that allows you ultimately to do most anything really limits what we can do in comparison to a language sitting in VM.- Jonathan M Davis
some small language changes could greatly improve the ability to implement an efficient GC in D i.e, no interior pointers by default
the overhead caused by having to find object roots far outweighs the cost of carrying a base pointer + offset