- (let ((type (specifier-type (cadr spec))))
- (or (let ((pred (cdr (assoc type *backend-type-predicates*
+ (let ((type (careful-specifier-type (cadr spec))))
+ (or (when (not type)
+ (compiler-warn "illegal type specifier for TYPEP: ~S"
+ (cadr spec))
+ `(%typep ,object ,spec))
+ (let ((pred (cdr (assoc type *backend-type-predicates*