... (defclass delegator-method (standard-method) ((target-method :initarg :target-method :accessor target-method-of :initform nil))) (let* ((gf (fdefinition local-selector-symbol)) (lambda `(lambda (,(self) ,@arguments) (funcall #',global-selector-symbol ,(self) ,@arguments))) (lambda-list `(,(self) ,@arguments)) (method-lambda (closer-mop:make-method-lambda gf (closer-mop:class-prototype (find-class 'delegator-method)) lambda nil)) (method (make-instance 'delegator-method :target-method global-selector-symbol :function (compile nil method-lambda) :lambda-list lambda-list :specializers (cons (find-class class) (repeat (find-class t) (length arguments)))))) (add-method gf method)) ...