Reply to Yigal,
D templates provide mostly cosmetic changes to this.
If you think D's templates are C++'s template with a few "cosmetic changes" than you aren't paying attention.
A few cosmetic changes aren't going to allow 1.4MB of c++ header files to be anywhere near duplicated in 2000 LOC (Boost sprit vs dparse)