[CallDependencies.addNode should return the inserted Node
Helmut Grohne <grohne@cs.uni-bonn.de>**20150129172313
 Ignore-this: 6ff302a288d5181f783f66ab619c6715
 
 Then addFunUnsafe can use the Node instead of guessing that it equals to the
 result of G.noNodes. As long no nodes are removed from the graph, this
 assumption appears to hold (and it holds on our examples).
 
 This change also speeds up igor2 on our testsuite by 0.2%.
] hunk ./src/Igor2/Data/CallDependencies.hs 234
-      else let cs' = addNode n cs
-               ns' = M.insert n (G.noNodes cs') ns
+      else let (n', cs') = addNode n cs
+               ns' = M.insert n n' ns
hunk ./src/Igor2/Data/CallDependencies.hs 251
--}  
-addNode :: (Ord a) => a -> Gr a b -> Gr a b
-addNode n c =  run_ c $
-    do insMapNodeM n   
-    
+-}
+addNode :: (Ord a) => a -> G.Gr a b -> (G.Node, G.Gr a b)
+addNode n c = let ((n', _), (_, c')) = G.run c $ G.insMapNodeM n in (n', c')
+