Index: /branches/working-0711/ccl/level-1/l1-clos.lisp
===================================================================
--- /branches/working-0711/ccl/level-1/l1-clos.lisp	(revision 7899)
+++ /branches/working-0711/ccl/level-1/l1-clos.lisp	(revision 7900)
@@ -2020,5 +2020,7 @@
         ;; :around or :before methods, give up
         (values nil nil)))))
-             
+
+(defparameter *typecheck-slots-in-optimized-make-instance* nil)
+
 
 ;;; Return a lambda form or NIL.
@@ -2047,14 +2049,16 @@
                   (forms))
           (flet ((generate-type-check (form type &optional spvar)
-                   (let* ((ctype (ignore-errors (specifier-type type))))
-                     (if (or (null ctype)
-                             (eq ctype *universal-type*)
-                             (typep ctype 'unknown-ctype))
-                       form
-                       (if spvar
-                         `(if ,spvar
-                           (require-type ,form ',type)
-                           (%slot-unbound-marker))
-                         `(require-type ,form ',type))))))
+                   (if (null *typecheck-slots-in-optimized-make-instance*)
+                     form
+                     (let* ((ctype (ignore-errors (specifier-type type))))
+                       (if (or (null ctype)
+                               (eq ctype *universal-type*)
+                               (typep ctype 'unknown-ctype))
+                         form
+                         (if spvar
+                           `(if ,spvar
+                             (require-type ,form ',type)
+                             (%slot-unbound-marker))
+                           `(require-type ,form ',type)))))))
             (dolist (slot slotds)
               (let* ((initarg (car (slot-definition-initargs slot)))
