eww, why is z3 not cleaning up variable declarations inside a push?