       (indent-region start (point)))))
 
 (defun merlin--destruct-enclosing ()
+  (interactive)
   (let* ((bounds (cdr (elt merlin-enclosing-types merlin-enclosing-offset)))
 	 (start  (merlin-unmake-point (car bounds)))
 	 (stop   (merlin-unmake-point (cdr bounds)))

    (merlin--type-expression exp on-success on-error)))

;; TYPE ENCLOSING
(defun merlin--type-enclosing-query ()
  "Get the enclosings around point from merlin and sets MERLIN-ENCLOSING-TYPES."
  (let ((types (merlin-send-command (list 'type 'enclosing 'at (merlin-unmake-point (point)))
                                    (lambda (exn) nil))))
    (when types

  (let ((keymap (make-sparse-keymap)))
    (define-key keymap (kbd "C-<up>") 'merlin-type-enclosing-go-up)
    (define-key keymap (kbd "C-<down>") 'merlin-type-enclosing-go-down)
    (define-key keymap (kbd "C-d") 'merlin--destruct-enclosing)
    (define-key keymap (kbd "C-w") #'(lambda ()
                                     (interactive)
                                     (let ((data (elt merlin-enclosing-types merlin-enclosing-offset)))
