I was thinking about solving (at least) two potholes D's strong metaprogramming capabilities cause:
- Use of IDEs and their autocomplete systems. They don't immediately break on template functions and types, but don't know what to do with mixins and the likes.
- Debuggers, especially when code generation with mixins are used, and I have yet to find a debugger that could identify templated types and functions consistently.
For solving these issues, an extra functionality of precompilation, similar to what C and C++ has, could be added. Who knows, this could have extra uses, like debugging for metaprogramming.