anchor.diff:          v, isNew
   
       //return old prefixes with new edge on end
  -    let newPrefix (oldPrefixes:ResizeArray<Prefix>) edge =
  -        new Prefix(edge, oldPrefixes)
  +    let newPrefix (oldPrefixes:ResizeArray<Prefix<_>>) edge =
  +        new Prefix<_>(edge, oldPrefixes)
   
       //add prefix to list of prefixes
  -    let rec addPrefix (curLevel:ResizeArray<Prefix>) (prefixToAdd:Prefix) = 
  +    let rec addPrefix (curLevel:ResizeArray<Prefix<_>>) (prefixToAdd:Prefix<_>) = 
           if prefixToAdd = null   //null used for marking the ends of prefix
           then
               if not (ResizeArray.exists
  -                        (fun (prefix:Prefix) -> prefix = null)
  +                        (fun (prefix:Prefix<_>) -> prefix = null)
                           curLevel)
               then curLevel.Add(null)     //adding null if need
           else
               let nextCommon = ResizeArray.tryFind
  -                                (fun (pr:Prefix) -> pr <> null && pr.Head = prefixToAdd.Head)
  +                                (fun (pr:Prefix<_>) -> pr <> null && pr.Head = prefixToAdd.Head)
                                   curLevel
               match nextCommon with
               | Some oldPrefix -> if ResizeArray.isEmpty(prefixToAdd.Tail)
  
positive.code:             | None -> curLevel.Add(prefixToAdd)     //prefixToAdd - new prefix for curLevel
  
  
      let addEdge (startV:VInfo<_>) isNew (newVertex:Vertex) edge isNotEps (prefixesToAdd:ResizeArray<Prefix>) =
          if not isNew && newVertex.PassingReductions.Count > 0
          then startV.passingReductions.Add((newVertex, edge))
          customEnqueue(startV)
          newVertex.addEdge edge
          for prefixToAdd in prefixesToAdd do
              addPrefix newVertex.prefixes prefixToAdd //add new prefix to vertex
  
          if isNotEps
          then
  
negative.code:     member this.OutEdges = out
      member this.State = state
      member this.PassingReductions = passingReductions
  
      member this.addEdge (edge : Edge) =
          let mutable i = out.Count - 1
  