                     (propertize "Overlays:" 'face 'font-lock-comment-face)
                     (if overlays
                         (cl-loop for ov in overlays
-                                 concat (concat (propertize (symbol-name ov) 'face ov) " "))
+                                 if arg concat (concat (symbol-name ov) " ")
+                                 else concat (concat (propertize (symbol-name ov) 'face ov) " "))
                       "n/a")))
           (t
            (and (or faces overlays)

                    (propertize "Faces:" 'face 'font-lock-comment-face)
                    (if faces
                        (cl-loop for face in faces
                                 if (listp face)
                                   concat (format "'%s " face)
                                 else
                                   concat (concat (propertize (symbol-name face) 'face face) " "))

         ((error "Expected a symbol/string, got a %s" (type-of mode))))))

;;;###autoload
(defun doom/what-face (arg &optional pos)
  "Shows all faces and overlay faces at point.

Interactively prints the list to the echo area. Noninteractively, returns a list
whose car is the list of faces and cadr is the list of overlay faces."
  (interactive "P")
  (let* ((pos (or pos (point)))
         (faces (let ((face (get-text-property pos 'face)))
                  (if (keywordp (car-safe face))
