anchor.diff:  ;;;   (gethash "city" (gethash "location" (gethash "user" obj)))
   ;;;
   ;;; With cl-hash-util, you can write:
  -;;;   (hash-get obj '("user" "location" "city"))
  +;;;   (hget obj '("user" "location" "city"))
   ;;;
  -;;; hash-get can also deal with getting elements out of lists and arrays:
  -;;;   (hash-get obj '("user" "friends" 0 "name"))
  +;;; hget can also deal with getting elements out of lists and arrays:
  +;;;   (hget obj '("user" "friends" 0 "name"))
   ;;;
   ;;; which normally would have to be written as such:
   ;;;   (gethash "name" (elt (gethash "friends" (gethash "user" obj)) 0))
  
positive.code:   (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))))
      new-hash))
  
  
negative.code:   "Extends hash-create syntax to make it nicer."
    `(hash-create (list ,@(loop for pair in pairs collect (list 'list (car pair) (cadr pair))))))
  
  (defun hget (obj path)
    "Allows you to specify a path to get values out of a hash/list object. For
     instance, if you did:
  
       (let ((myhash (hash '(\"lol\" '(3 4 5)))))
         (hget myhash '(\"lol\" 1)))
  
     which would return 4 (1st index of list stored under key 'lol of the hash
     table). Simplifies traversing responses from decoded JSON objects by about a
     trillion times."
    (let ((placeholder obj))
      (dolist (entry path)
        (setf placeholder (if (numberp entry)
  