I don't disagree with you, but some people might actually have problems 'understanding' metaprogramming; the same way some people have difficulties understanding pointers, or working through TAoCP/SICP/HTDP.
Problem is, once you get it; it's unfathomable that you might not understand it.