Index: /trunk/ccl/level-1/l1-typesys.lisp
===================================================================
--- /trunk/ccl/level-1/l1-typesys.lisp	(revision 476)
+++ /trunk/ccl/level-1/l1-typesys.lisp	(revision 477)
@@ -3966,5 +3966,7 @@
               (handler-case
                   (let* ((ctype (specifier-type type)))
-                    #'(lambda (value) (%%typep value ctype)))
+                    #'(lambda (value)
+			(multiple-value-bind (win sure) (ctypep value ctype)
+			  (or (not sure) win))))
                 (parse-unknown-type (c)
                   (declare (ignore c))
@@ -3975,4 +3977,6 @@
                           (setf (slot-value spec 'type-predicate)
                                 #'(lambda (value) (%%typep value nowctype))))
-                        (%%typep value nowctype)))))))))
-
+                        (multiple-value-bind (win sure)
+			    (ctypep value nowctype)
+			  (or (not sure) win))))))))))
+
