anchor.diff:      let weightedDegree (weightingF : LEdge<'Vertex,'Edge> [] -> 'T) (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :'T =
           graph.WeightedDegree (weightingF,v)
   
  -    ///Returns true, if the vertex v does not have edges connected to it. Otherwise, it returns false.
  -    let connectedEdgesEmpty(v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :bool =
  -        graph.ConnectedEdgesEmpty 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 addVertex ((v, l): LVertex<'Vertex,'Label>) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =
  +    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 addManyVertices (vertices:LVertex<'Vertex,'Label>[]) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =       
  +    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 removeVertex (v:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =       
  +    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 removeManyVertices (vertices:'Vertex[]) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : ArrayAdjacencyGraph<'Vertex,'Label,'Edge> =
  +    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.
  
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:         (graph.Copy()).SetLabel(v,l)
  
      ///Returns all labels of the graph.
      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 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 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 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 getMany (source:'Vertex) (target:'Vertex) (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge> [] =
          graph.GetEdges(source,target)
  
      ///Returns all edges of the graph.
      let toEdgeList (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) :LEdge<'Vertex,'Edge>[]=
          graph.GetEdges()
  
      ///Number of edges in the graph
      let count (graph: ArrayAdjacencyGraph<'Vertex,'Label,'Edge>) : int   = 
          graph.EdgeCount
       
      ///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 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 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.
  