It is quite a bit more complicated in practice, term rewriting is vague and there are other reasons.
I'm fluent in Python, but I'm not an expert in Nim yet. So that's why I show lots of things in Python and in Nim, next to one another. "OK, in Python it looks like this. How to translate it to Nim?" The more I get used to Nim, the less I will have to consult these notes.
Metaprogramming is advanced stuff. I want to dive into that later, when I know the basics of the language.