Tracking possible security breaches is an energy drag, started coding again. It doesn't seem to be the guards, it must be some translation bug on complex terms. Doing TDD must reveal it at some point, but I am not entirely happy with that direction. I.e. it should be easier to determine whether bugs are in: the original AST, the intermediate LC, or the abstract assembly.
I could build 'partial' evaluators for all three, and compare results between transformations -even intermediates on intermediates,- but that's a drag too. Next step is?
010710: Next step is better tests. You'll need them anyway, and it turned out to be the guards.