anchor.diff:                       (proc (cdr tree) (cons (car tree) location)))))
           (proc tree nil)))))
   
  +(defun %prep-for-json (warstats)
  +  (collecting-hash-table (:mode :replace)
  +    (gadgets:do-hash-table (k v warstats)
  +      (hu:collect k (hu:plist->hash v)))))
  +
   (defun write-all-rootid-warstats (rootid)
     (let* ((url (get-rooturl-by-id rootid))
            (text (progn
  
positive.code:                   (otherwise
                     (error "Unknown type")))))))
  
  (defun request-warstats-for-url (url &optional (cache (make-hash-table)))
    "First check the in memory cache for warstats, then check the disk storage, then create minimal default stats."
    (or
  
negative.code:     (with-open-file (fh (make-warstats-path rootid :warstats)
                          :direction :output :if-exists :overwrite
                          :if-does-not-exist :create)
        (json:encode-json (%prep-for-json warstats) fh))
      (with-open-file (fh (make-warstats-path rootid :questions)
                          :direction :output :if-exists :overwrite
                          :if-does-not-exist :create)
  