On 04/22/2014 08:20 AM, Stefan Monnier wrote: >> `(defun ,member-name (,inst-arg &rest xargs) >> ,doc >> (declare (advertised-calling-convention (,inst-arg ,@xarglist) >> ,emacs-version)) >> (apply (cl-struct-slot-value ',iface-name ',member-name ,inst-arg) >> ,inst-arg xargs))))) > > I think we'd be just as happy, with something like > > (defun method-call (method inst &rest args) > (apply (funcall method inst) inst args)) > > instead of defining umpteen "method call wrappers". That way, you don't get docstrings, parameter-number checking, eldoc, and so on. And you have to be aware that you're using this odd calling convention instead of just calling a function like you would any other. I'd much rather have the wrappers, which we can inline and make practically free.