   (let ((file-name-handler-alist nil)
         (coding-system-for-write 'binary)
         (write-region-annotate-functions nil)
-        (write-region-post-annotation-function nil)
-        (data (doom--store-init location)))
-    (make-directory doom-store-dir 'parents)
-    (with-temp-file (expand-file-name location doom-store-dir)
-      (prin1 data (current-buffer)))
-    data))
+        (write-region-post-annotation-function nil))
+    (let* ((location (or location doom-store-location))
+           (data (doom--store-init location)))
+      (make-directory doom-store-dir 'parents)
+      (with-temp-file (expand-file-name location doom-store-dir)
+        (prin1 data (current-buffer)))
+      data)))
 
 
 ;;;###autoload
 (defun doom-store-get (key &optional location default-value noflush)
   "Retrieve KEY from LOCATION (defaults to `doom-store-location').
 If it doesn't exist or has expired, DEFAULT_VALUE is returned."
-  (let ((location (or location doom-store-location))
-        (data (gethash key (doom--store-init location) default-value)))
+  (let ((data (gethash key (doom--store-init location) default-value)))
     (if (not (or (eq data default-value)
                  (doom--store-expired-p key data)))
         (cdr data)

;;;###autoload
(defun doom-store-clear (&optional location)
  "Clear the store at LOCATION (defaults to `doom-store-location')."
  (cl-check-type location (or null string))
  (let* ((location (or location doom-store-location))
         (path (expand-file-name location doom-store-dir)))
    (remhash location doom--store-table)

  "Unregisters VARIABLES (list of symbols) in LOCATION (symbol).
Variables to persist are recorded in `doom-store-persist-alist'. Does not affect
the actual variables themselves or their values."
  (cl-check-type location string)
  (if variables
      (setf (alist-get location doom-store-persist-alist)
            (cl-set-difference (cdr (assq location doom-store-persist-alist))
                               variables))
    (delq! location doom-store-persist-alist 'assoc)))

(defun doom--store-init (&optional location)
  (cl-check-type location (or null string))
  (let ((location (or location doom-store-location)))
    (or (gethash location doom--store-table)
        (let* ((file-name-handler-alist nil)
               (location-path (expand-file-name location doom-store-dir)))
          (if (file-exists-p location-path)
              (puthash location
                       (with-temp-buffer
                         (set-buffer-multibyte nil)
                         (setq buffer-file-coding-system 'binary)
                         (insert-file-contents-literally location-path)
                         (read (current-buffer)))
                       doom--store-table)
            (puthash location (make-hash-table :test 'equal)
                     doom--store-table))))))

(defun doom--store-expired-p (key data)
  (let ((ttl (car data)))
