anchor.diff:          (graph.Copy()).SetLabel(v,l)
   
       ///Returns all labels of the graph.
  -    let getLabels (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :'Label []=
  +    let getLabelList (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :'Label []=
           graph.GetLabels()    
   
   module Edges =
       //Edges
       ///Lookup the first edge in the graph that matches the conditions, returning a Some value if it exists and None if not.
  -    let tryGetEdge (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> option =
  +    let tryGet (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> option =
           graph.TryGetEdge(source,target)
                
       ///Return the first edge in the graph that matches the conditions.
  -    let getEdge (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> =
  +    let get (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> =
           graph.GetEdge(source,target)
   
       ///Lookup all edges in the graph that matches the conditions, returning a Some value if it exists and None if not.
  -    let tryGetEdges (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] option=       
  +    let tryGetMany (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] option=       
           graph.TryGetEdges(source,target)
          
       ///Return all edges in the graph that matches the conditions
  -    let getEdges (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] =
  +    let getMany (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] =
           graph.GetEdges(source,target)
   
       ///Returns all edges of the graph.
  -    let getAllEdges (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge>[]=
  +    let toEdgeList (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge>[]=
           graph.GetEdges()
   
       ///Number of edges in the graph
  -    let edgeCount (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : int   = 
  +    let count (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : int   = 
           graph.EdgeCount
        
  -    ///Returns true, if the edge is found in the graph, else false.
  -    let containsEdge (edge:LEdge<'Vertex,'Edge>) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :bool =            
  +    ///Returns true if the edge is found in the graph, else false.
  +    let contains (edge:LEdge<'Vertex,'Edge>) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :bool =            
           graph.ContainsEdge edge
   
       ///Lookup all edges connected to the vertex v in the graph, returning a Some value if a binding exists and None if not.
  -    let tryGetConnectedEdges (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] option =
  +    let tryGetConnected (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] option =
          graph.TryGetConnectedEdges v
          
       ///Lookup all edges connected to the vertex v in the graph, returning an array of connected edges.
  -    let getConnectedEdges (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] =
  +    let getConnected (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] =
           graph.GetConnectedEdges v
   
       ///Lookup all edges that target the vertex v in the graph, returning a Some value if a binding exists and None if not.
  
positive.code:         (graph.Copy()).SetWeight(source,target,weight)
    
      ///Returns a new graph where the given edge was added.
      let addEdge ((s, t, w) : LEdge<'Vertex,'Edge>) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =
          (graph.Copy()).AddEdge(s,t,w)
      
      ///Returns a new graph where the given edges were added.
      let addManyEdges edgeArray (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =
         (graph.Copy()).AddManyEdges(edgeArray)
      
      ///Returns a new graph where the given edge was removed from the original graph.
      let removeEdge((s, t, w): LEdge<'Vertex,'Edge>) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =
          (graph.Copy()).RemoveEdge(s, t, w)
  
      ///Returns a new graph where the given edges were removed from the original graph.
      let removeManyEdges (edges:LEdge<'Vertex,'Edge>[]) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =
         (graph.Copy()).RemoveManyEdges(edges)
  
negative.code:     let weightedDegree (weightingF : LEdge<'Vertex,'Edge> [] -> 'T) (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :'T =
          graph.WeightedDegree (weightingF,v)
  
      ///Returns false if the vertex v does not have edges connected to it. Otherwise, it returns true.
      let isConnectedToEdges (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :bool =
          not (graph.ConnectedEdgesEmpty v)
  
      ///Returns a new graph with the given vertex added.
      let add ((v, l): LVertex<'Vertex,'Label>) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =
          (graph.Copy()).AddVertex(v, l)
  
      ///Returns a new graph with the given vertices added.    
      let addMany (vertices:LVertex<'Vertex,'Label>[]) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =       
          (graph.Copy()).AddManyVertices(vertices)
  
      ///Returns a new graph where the given vertex is removed.
      let remove (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =       
          (graph.Copy()).RemoveVertex(v)
  
      ///Returns a new graph where the given vertices are removed.
      let removeMany (vertices:'Vertex[]) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =
          (graph.Copy()).RemoveManyVertices(vertices)
   
      ///Returns Some vertices if they are predecessors of the vertex, else None.
  