The way you characterize D's metaprogrammability is exactly how I would put it too. It's hard to describe but D just makes metaprogramming so fun and easy compared to anything besides Lisp and I find it sorely missing when working with most other languages.