モダンなGCにはオブジェクトの移動が不可欠で、オブジェクトを移動するにはある値がDオブジェクトのポインタ(移動可)なのか数値やC由来のポインタ(移動不可)なのか区別できる必要があり、その情報をコンパイラが吐いてくれないことにはライブラリだけでは実装できない