anchor.diff:  ;;; either through the old tokens, or with the new tokens.
   (defun regenerate-token (user)
     (let ((new-token (read-token #p"/dev/urandom"))
  -        (device (find-hermes-device)))
  +        (device (find-hermes-device))
  +        (user-file (merge-pathnames user *user-tokens-path*)))
       (when device
         (write-device-token device new-token)
         ;; @TODO
  
positive.code: (defvar *user-tokens-path* #p"/etc/hermes/")
  (defvar *storage-device-prefix* "sd")
  (defvar *devices-folder* #p"/dev/")
  
  (defmacro loop-with-unix-socket (vars &body body)
    (let ((socket (first vars))
  
negative.code:       ;; Because at this point, the new token is written
        ;; on the device, but not in the user's file. A very
        ;; inconsistent state.
        (write-user-token user-file new-token))))
  
  (defun write-device-token (device token)
    (write-token device token 5))
  
  (defun write-user-token (user-file token)
    (write-token user-file token))
  
  (defun write-token (path token &optional (offset 0))
    (with-open-file (f path
  