I don't use CLOS or EIEIO very often but when I do, I remove methods all the time. I thus think it's a very important part of CLOS worflow. SLIME inspector (for Common Lisp) offers buttons that remove methods on the gf's page, e.g.: Name: PRINT-OBJECT Arguments: (SB-PCL::OBJECT STREAM) Method class: # Method combination: # Methods: (TRACE-ENTRY T) [remove method] (UNREADABLE-RESULT T) [remove method] (CHANNEL T) [remove method] (CONNECTION T) [remove method] ... [remove method] are buttons. Sadly, Elisp doesn't have an inspector but I've heard of one effort github.com/mmontone/emacs-inspector and anyway, these buttons would be appropriate in any displayed list of methods, including the list currently shown in *Help* buffer for the gf. Example: Implementations: [remove] :around (object stream) in ‘cl-print.el’. Undocumented [remove] ((object string) stream) in ‘cl-print.el’. ... Recently it became necessary to use cl-remove-method in a library code so I tried to write it. The following seems to work but I'm very far from being confident about it. Also, methods are cached in lambdas returned by lambdas returned by cl--generic-get-dispatcher, and I haven't yet figured out a way to get them out of there; I'm also not sure if they should be removed manually, or the tables will just get GC'ed given the proposed implementation of cl-remove-method as is.