anchor.diff:          (initNodes : seq<Vertex>) (numToString : int -> string) (path : string) =
       use out = new System.IO.StreamWriter (path)
       let was = new Dictionary<_,_>()
  +    let levels = new Dictionary<_,_>()
       out.WriteLine "digraph GSS {"
       let print s = out.WriteLine ("    " + s)
       let curNum = ref 0
  
positive.code:     for v in initNodes do
          if not <| was.ContainsKey v then
              dfs v
  
      out.WriteLine "}"
      out.Close()
  
negative.code: 
      let rec dfs (u : Vertex) =
          was.Add (u, !curNum)
          if not <| levels.ContainsKey u.Level then
              levels.[u.Level] <- [!curNum]
          else
              levels.[u.Level] <- !curNum :: levels.[u.Level]
          print <| sprintf "%d [label=\"%d\"]" !curNum u.State
          incr curNum
          if u.OutEdges.first <> Unchecked.defaultof<_> then
  