            (id   (lean-info-id-symbol-body-str id))
            (sym  (lean-info-id-symbol-body-str sym))))
     (when coercion
-      (setq coercion-str (lean-info-coercion-body-str coercion)))
+      (setq coercion-str
+            (format "%s : %s"
+                    (propertize (lean-info-coercion-expr-str coercion) 'face 'font-lock-variable-name-face)
+                    (lean-info-coercion-type-str coercion))))
     (when type
       (setq type-str (lean-info-type-body-str type)))
     (when (and name-str overload)

          (string-to-number (cl-third items)))))
(defun lean-info-coercion-parse (seq)
  (when (lean-info-coercion-p seq)
    (let ((header (lean-info-coercion-parse-header (car seq)))
          (body (cdr seq)))
      `(COERCION ,header ,body))))
(defun lean-info-coercion-body (coercion)
  (cl-third coercion))
(defun lean-info-coercion-body-str (coercion)
  (string-join (lean-info-coercion-body coercion) "\n"))

;; -- Test
(cl-assert (lean-info-coercion-p 'COERCION))
(cl-assert (lean-info-coercion-p "-- COERCION|121|2"))
(cl-assert (lean-info-coercion-p '("-- COERCION|417|15"
                                   "of_nat")))
(cl-assert (equal (lean-info-coercion-parse-header "-- COERCION|121|2")
                  '(121 2)))
(cl-assert (equal (lean-info-coercion-parse '("-- COERCION|417|15"
                                              "of_nat"))
                  '(COERCION
                    (417 15)
                    ("of_nat" ))))
(cl-assert (equal
            (lean-info-coercion-pos
             (lean-info-coercion-parse '("-- COERCION|417|15"

                        (propertize name-str 'face 'font-lock-variable-name-face)
                        type-str)))
    (when (and str coercion-str)
      (setq str (format "%s\n%s %s"
                        str
                        (propertize "coercion applied" 'face 'font-lock-keyword-face)
                        coercion-str)))
    (when overload-str
      (setq str (concat str
                        (format "\n%s with %s"
