functions which were macros in C now are D templates