anchor.diff:          | :? ICSharpLiteralExpression as literalExpr ->
               let literalVal = literalExpr.Literal.GetText().Trim[|'\"'|]
               let label = "literal(" + literalVal + ")"
  -            snd <| addNode literalExpr label state
  +            snd <| addPreroot literalExpr label state
           // not implemented (but must precede IReferenceExpression case)
           | :? IInvocationExpression -> state
           | :? IReferenceExpression as refExpr ->
  
positive.code:         AstCfgMap: Dictionary<ITreeNode, IControlFlowElement> }
  
  let rec build (cfgNode: IControlFlowElement) (varName: string) (state: BuildState) =
      let addNode treeNode label (state: BuildState) =
          let nodeId, provider' = NodeIdProviderFuncs.getId state.Provider treeNode
          let nodeInfo = { Label = label; AstElem = treeNode }
          let graph' = ImmutableDDGFuncs.addEdgeFrom state.Graph (nodeId, InnerNode(nodeInfo))
          nodeId, {state with Graph = graph'; Provider = provider'}
  
      let setGraphConnectionNode nodeId (state: BuildState) =
          let graph' = { state.Graph with ConnectionNode = nodeId }
  
negative.code:             Graph = new AdjacencyGraph<int, Edge<int>>()
              NodeIdInfoDict = new Dictionary<int, DDNode>()
              ConnectionNode = finalNodeId
              FinalNodeId = finalNodeId
              PrerootNodes = [] }
          addNode ddGraph finalNodeId finalNodeInfo
  
      let addNodeAndEdge (ddGraph: ImmutableDDG) srcNodeId srcNodeInfo =
          let ddg = addNode ddGraph srcNodeId srcNodeInfo
          addEdge ddg srcNodeId ddg.ConnectionNode
  
      let addPrerootAndEdge (ddg: ImmutableDDG) srcNodeId srcNodeInfo =
          let ddg' = addNodeAndEdge ddg srcNodeId srcNodeInfo
          { ddg' with PrerootNodes = srcNodeId :: ddg'.PrerootNodes }
  
      let foldPreroots (ddg: ImmutableDDG) rootId rootInfo =
          let ddg' = addNode ddg rootId rootInfo
          ddg'.PrerootNodes
          |> List.fold (fun accDdg id -> addEdge accDdg rootId id) ddg'
          |> fun ddg -> { ddg with PrerootNodes = [] }
  
      let toDot (ddGraph: ImmutableDDG) name path =
          use file = FileInfo(path).CreateText()
  