Metaprogramming in Heron

I have posted a document explaining how Heron implements metaprogramming online at http://www.heron-language.com/metaprogramming.html. Heron is a C++ style imperative language, and the metaprogramming functionality leverages the type system more logically than C++ template metaprogramming does. I would be interested in hearing any comments, suggestions or criticisms of the design decisions. Thank you very much!