> Does defer still have the utterly counterintuitive behavior that it gets > called if a statement before it raises an exception?
no, this was debunked, see <https://forum.nim-lang.org/t/4022#25088>, as you can also see here: when true: # prints a1 then raises foo block: echo "a1" raise newException(ValueError, "foo") echo "a2" defer: echo "a3" echo "a4" Run