Я слышал, что язык D обладает мощными функциями метапрограммирования для выполнения функций во время компиляции. Это звучит очень интересно, но мне трудно думать о практических примерах вещей, которые трудно выполнить без них.
Может ли кто-нибудь привести примеры ситуаций, когда функции метапрограммирования D очень удобны?