In the new patch, I combined your solution and my fixes to current cl-defmethod forms. I also tried to write an appropriate description in the patch header and in etc/NEWS. Please note that questionable spots remain, marked with `WARNING:'.