And:
3. Why not put this in TypeXXX::merge2()  ?