I believe I read in TDPL that D2 compilers actually assemble asm statement code directly. This would seem to break modularity and require every compiler to re-implement every possible assembler. Not exactly good news for a systems programming language. I hope I read that incorrectly because it seems to be a design mistake.