 Indents plists more sensibly. Adapted from
 https://emacs.stackexchange.com/questions/10230/how-to-indent-keywords-aligned"
   (let ((normal-indent (current-column))
-        (orig-point (point)))
+        (orig-point (point))
+        ;; TODO Refactor `target' usage (ew!)
+        target)
     (goto-char (1+ (elt state 1)))
     (parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t)
     (cond ((and (elt state 2)

                  (not (eq (char-after) ?:)))
                (save-excursion
                  (goto-char orig-point)
                  (eq (char-after) ?:)))
           (save-excursion
             (goto-char (+ 2 (elt state 1)))
             (current-column)))
          ((let* ((function (buffer-substring (point) (progn (forward-sexp 1) (point))))
                  (method (or (function-get (intern-soft function) 'lisp-indent-function)
                              (get (intern-soft function) 'lisp-indent-hook))))

                             (string-match-p "\\`def" function)))
                    (lisp-indent-defform state indent-point))
                   ((integerp method)
                    (lisp-indent-specform method state indent-point normal-indent))
                   (method
                    (funcall method indent-point state))))))))

