              ("<C-backspace>" . sp-splice-sexp-killing-backward)
              ("C-M-d" . sp-splice-sexp-killing-forward) ; down-list
              ("C-M-u" . sp-unwrap-sexp)          ; backward-up-list
-             ("C-M-i" . sp-indent-defun)         ; completion-at-point
              ;; strict mode stuff
              ("C-d"   . sp-delete-char)          ; delete-char
              ("DEL"   . sp-backward-delete-char) ; backward-delete-char

             ("M-J" . sp-join-sexp)
             ("M-?" . sp-convolute-sexp)
             ;; more magic added by smartparens
             ("M-(" . sp-indent-adjust-sexp) ; mimic C-(
             ("M-)" . sp-add-to-next-sexp)   ; mimic C-)
             ("M-/" . sp-rewrap-sexp)

    :config (which-key-mode 1))

  (use-package aggressive-indent
    :demand
    :bind ("C-c m i" . global-aggressive-indent-mode)
    :config (global-aggressive-indent-mode 1))
  
  (use-package undo-tree
