(that is: if you can't do Lisp-like metaprogramming, the next best thing is doing DSL metaprogramming. :)