anchor.diff:    (let ((new-hash (make-hash-table :test test :size (hash-table-count hash))))
       (loop for k being the hash-keys of hash
             for v being the hash-values of hash do
  -          (setf (hash-get new-hash (list k)) (hash-get hash (list k))))
  +          (setf (hget new-hash (list k)) (hget hash (list k))))
       new-hash))
   
  
positive.code: (defun hash-create (pairs &key (test #'equal))
    "Create a hash table with limited syntax:
  
      (hash `((\"name\" \"andrew\") (\"city\" \"santa cruz\")))
    
    which would otherwise be:
    
      (let ((hash (make-hash-table :test #'equal)))
        (setf (gethash \"name\" hash) \"andrew\")
        (setf (gethash \"city\" hash) \"santa cruz\")
        hash)
    
    yuck city."
    (let ((hash (make-hash-table :test test)))
      (dolist (pair pairs)
        (setf (gethash (car pair) hash) (cadr pair)))
  
negative.code:                             (gethash entry placeholder))))
      placeholder))
  
  (defun (setf hget) (val obj path)
    "Defines a setf for the hget function. Uses hget to get all but the
     last item in the path, then setfs that last object (either a gethash or an
     elt)."
    (let ((last-obj (hget obj (butlast path)))
          (final (car (last path))))
      (if (numberp final)
          (setf (elt last-obj final) val)
  