[don't perform store-update optimization on recursive values
John Meacham <john@repetae.net>**20060420020652] hunk ./Grin/Simplify.hs 280
-    f (Store t :>>= v :-> Update  v' w :>>= lr) | v == v' = do
+    f (Store t :>>= v@(Var vr _) :-> Update  v' w :>>= lr) | v == v', vr `notElem` freeVars w = do