          (old-lines-len (length old-lines))
          (new-lines-len (length new-lines))
          changed-lines removed-lines inserted-lines)
-    ;; (lean-debug-print "old-lines" old-lines)
-    ;; (lean-debug-print "new-lines" new-lines)
     (cond ((= old-lines-len new-lines-len)
            (setq changed-lines old-lines)
-           ;; (lean-debug-print "changed" changed-lines)
            `(CHANGE-ONLY ,changed-lines))
           ;; Case "REMOVE"
           ((> old-lines-len new-lines-len)

  (let* ((file-name (buffer-file-name))
         (line-number (line-number-at-pos))
         (column (current-column))
         (sym-info (lean-get-current-sym-info))
         (sym-name (cl-first sym-info))
         (start-pos (cl-second sym-info))
         (start-column (- column (- (point) start-pos)))

           when (funcall when-pred info)
           collect info))

(defun lean-bounds-of-thing-at-point ()
  "Return the information of current symbol at point.

The return valus has the form of '([symbol-string] [start-pos])"
