How do you **"classify"** templates/macros? * lifting existing procs to handle new data types * reducing repetition of code * lazy evaluation ([eliminate evaluation](http://forum.nim-lang.org///nim-lang.org/docs/tut2.html#templates) when not required) * DSL handling * typedesc/symbol/object management, name mangling, .... * ??
The reason I ask, is I was wondering about logically classifying macros in the [tutorial#2](http://forum.nim-lang.org///nim-lang.org/docs/tut1.html), and then giving examples of each classification (or point to where it is used in modules).
