[don't allocate new node when case statement returns the same thing as the scrutinee
John Meacham <john@repetae.net>**20060315035051] hunk ./C/FromGrin.hs 241
+        da n1@(NodeC t _) (Return n2@NodeC {}) | n1 == n2 = convertBody (Return v)
hunk ./C/FromGrin.hs 264
+        da (n1@(NodeC t _) :-> Return n2@NodeC {}) | n1 == n2 = do
+            e' <- convertBody (Return v)
+            return (Just (enum (nodeTagName t)),e')