G'day, Invoking a FUNCALLABLE-STANDARD-OBJECT which has the lexical closure created below as its function signals an error. (defvar *a* nil) (defclass something () () (:metaclass pcl:funcallable-standard-class)) (defun ensure-something (function) (let ((s (make-instance 'something))) (pcl:set-funcallable-instance-function s function) (setf *a* s))) (let ((offset 1)) (ensure-something #'(lambda (a) (+ offset a 3)))) (print (funcall *a* 3)) ;; Should be 7. Compiling and loading the above code (just loading is not enough) should produce the following error on CMUCL 20D x86 Darwin Argument X is not a NUMBER: #<Closure Over Function "LET ((OFFSET 1))" {49854C01}>. [Condition of type SIMPLE-TYPE-ERROR] Thanks Mark