(defclass b () ())
(defmethod m1 ((_ b)) "m1")
(defclass c (b) ())
(setf obj (make-instance 'c))
(format t "~A~%" (m1 obj)) ;;=> m1
(defclass a () ())
(defclass b (a) ())
(defmethod m2 ((_ a)) "m2")
(format t "~A~%" (m1 obj)) ;;=> m1
(format t "~A~%" (m2 obj)) ;;=> m2
KGRlZmNsYXNzIGIgKCkgKCkpCihkZWZtZXRob2QgbTEgKChfIGIpKSAibTEiKQooZGVmY2xhc3MgYyAoYikgKCkpCihzZXRmIG9iaiAobWFrZS1pbnN0YW5jZSAnYykpCihmb3JtYXQgdCAifkF+JSIgKG0xIG9iaikpIDs7PT4gbTEKCihkZWZjbGFzcyBhICgpICgpKQooZGVmY2xhc3MgYiAoYSkgKCkpCihkZWZtZXRob2QgbTIgKChfIGEpKSAibTIiKQooZm9ybWF0IHQgIn5BfiUiIChtMSBvYmopKSA7Oz0+IG0xCihmb3JtYXQgdCAifkF+JSIgKG0yIG9iaikpIDs7PT4gbTI=