anchor.diff:          PrerootNodes: list<int>
           RootId: option<int> }
   
  -    module DDGBuildFuncs =
  +    module private DDGBuildFuncs =
           // exception messages
           let private dstNodeIsNotSetMsg = 
               "cannot create edge - dst node is not set"
  
positive.code:     RootId: int }
  
  module DDGraphFuncs =
      type DDGraphBuildInfo = {   
          Graph: AdjacencyGraph<int, Edge<int>>
          NodeIdInfoDict: Dictionary<int, DDNode>
          ConnectionNode: int
  
negative.code:             dstGraph.Graph.AddEdgeRange srcGraph.Graph.Edges |> ignore
              addEdge dstGraph srcGraph.FinalNodeId dstGraph.ConnectionNode
  
      type private NodeIdProvider = {   
          NextId: int
          GeneratedIds: Dictionary<ITreeNode, int> } 
  
      module private NodeIdProviderFuncs =
          let create = { NextId = 0; GeneratedIds = new Dictionary<ITreeNode, int>() }
  
          let getId (provider: NodeIdProvider) (node: ITreeNode) =
  