                   (cons callback-if-success (cons callback-if-exn command))
                   #'(lambda (closure answer)
                       (setq merlin-ready t)
+                      (if (>= (length answer) 4000)
+                          (message "merlin: Parsing long answer (%dk)" (/ (length answer) 10000)))
                       (let ((a (ignore-errors (json-read-from-string answer))))
                         (if a
                             (progn

    (define-key merlin-map (kbd "C-c C-f C-<down>") 'merlin-type-enclosing-go-down)
    (define-key merlin-map (kbd "C-c C-n") 'merlin-next-phrase)
    (define-key merlin-map (kbd "C-c C-p") 'merlin-prev-phrase)
    (define-key merlin-map (kbd "RET") 'merlin-enter)
;;    (define-key merlin-menu-map [customize]
;;      '("Customize merlin-mode" . merlin-customize))
    (define-key merlin-menu-map [separator]

  "Return the process name for the current buffer."
  (concat "merlin-" (merlin-get-buffer-instance-name))
  )

(defun merlin-start-process (flags &optional users)
  "Start the merlin process for the current buffer. FLAGS are a list of strings
