low-level-lang-generate; left with `if`s and list problems