anchor.diff:    (pushqual y (gethash x (edges graph)))
     graph)
   
  -(defun rem-edge (graph x y)
  +(defun remove-edge (graph x y)
     "Removes the edge from X to Y in GRAPH."
     (setf (gethash x (edges graph))
           (remqual y (gethash x (edges graph))))
  
positive.code: 
  (defun neighbors (graph vertex)
    "Returns a list of all vertices in GRAPH where there is an edge from VERTEX."
    (gethash vertex (edges graph)))
  
  (defun add-vertex (graph vertex)
    "Adds VERTEX to GRAPH."
  
negative.code:   "Creates a new directed graph object. VERTICES should be a list of vertices
  unique under EQUAL. EDGES should be a hash table whose keys are objects in
  VERTICES and whose values are lists of vertices."
    (when edges
      (maphash (lambda (k v)
                 (assert (and (memqual k vertices)
                              (mapc (lambda (x) (memqual x vertices)) v))))
               edges))
    (make-instance 'graph :vertices vertices :edges edges))
  