anchor.diff:                    (otherwise
                      (error "Unknown type")))))))
   
  +(defun %tidy-loaded-json (json)
  +  (hu:alist->hash
  +   (mapcar (lambda (x)
  +             (cons
  +              (let ((sym (string-unless-number (mkstr (car x)))))
  +                (if (numberp sym)
  +                    sym
  +                    (car x)))
  +              (hu:alist->plist (cdr x))))
  +           json)))
  +
   (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
  
positive.code:                      (proc (cdr tree) (cons (car tree) location)))))
          (proc tree nil)))))
  
  (defun write-all-rootid-warstats (rootid)
    (let* ((url (get-rooturl-by-id rootid))
           (text (progn
  
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)
  