anchor.diff:      RootId: int }
   
   module DDGraphFuncs =
  -    type DDGraphBuildInfo = {   
  +    type private DDGraphBuildInfo = {   
           Graph: AdjacencyGraph<int, Edge<int>>
           NodeIdInfoDict: Dictionary<int, DDNode>
           ConnectionNode: int
  
positive.code:             dstGraph.Graph.AddEdgeRange srcGraph.Graph.Edges |> ignore
              addEdge dstGraph srcGraph.FinalNodeId dstGraph.ConnectionNode
  
      type NodeIdProvider = {   
          NextId: int
          GeneratedIds: Dictionary<ITreeNode, int> } 
  
      module NodeIdProviderFuncs =
          let create = { NextId = 0; GeneratedIds = new Dictionary<ITreeNode, int>() }
  
          let getId (provider: NodeIdProvider) (node: ITreeNode) =
  
negative.code:                 do idsDict.Add (node, provider.NextId)
                  provider.NextId, {provider with NextId = provider.NextId + 1 }
  
      type private BuildState = {   
          GraphInfo: DDGraphBuildInfo
          Provider: NodeIdProvider }
  
  