(let* ((specifier (continuation-value type))
(result-typeoid (careful-specifier-type specifier)))
(cond
+ ((null result-typeoid) nil)
((csubtypep result-typeoid (specifier-type 'number))
;; the difficult case: we have to cope with ANSI 12.1.5.3
;; Rule of Canonical Representation for Complex Rationals,
(defoptimizer (compile derive-type) ((nameoid function))
(when (csubtypep (continuation-type nameoid)
(specifier-type 'null))
- (specifier-type 'function)))
+ (values-specifier-type '(values function boolean boolean))))
;;; FIXME: Maybe also STREAM-ELEMENT-TYPE should be given some loving
;;; treatment along these lines? (See discussion in COERCE DERIVE-TYPE