anchor.diff:                  y <- po.[finger2]
           finger1
           
  -    let dominators (cg: T) root direction : DominationSet =
  +    let dominators (cg: T) root direction : DominationTree =
           let adj = if direction = Up then neighbors cg else neighborsIn cg
           let dom = Dictionary()
           let reach = Reachable.postOrder cg root direction
  
positive.code:         | Yes of HashSet<Node>
          | No
  
      let protect (idx: int) (doms: Domination.DominationSet) (cg1,n1) (cg2,n2) : ProtectResult = 
          if loc n1 <> loc n2 then No else
          let q = Queue()
          let seen = HashSet()
  
negative.code:         let domRev = Domination.dominators cg cg.End Up
          cg.Graph.RemoveVertexIf (fun v ->
              (not (isRepeatedOut cg v)) &&
               dom.IsDominatedBy(v, shadows v) || 
               domRev.IsDominatedBy(v, shadows v)) |> ignore
          cg.Graph.RemoveEdgeIf (fun e -> 
              let ies = cg.Graph.OutEdges e.Target
              match ies |> Seq.tryFind (fun ie -> ie.Target = e.Source) with 
  