-74:
- As noted in the ANSI specification for COERCE, (COERCE 3 'COMPLEX)
- gives a result which isn't COMPLEX. The result type optimizer
- for COERCE doesn't know this, perhaps because it was written before
- ANSI threw this curveball: the optimizer thinks that COERCE always
- returns a result of the specified type. Thus while the interpreted
- function
- (DEFUN TRICKY (X) (TYPEP (COERCE X 'COMPLEX) 'COMPLEX))
- returns the correct result,
- (TRICKY 3) => NIL
- the compiled function
- (COMPILE 'TRICKY)
- does not:
- (TRICKY 3) => T
-