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