(FLET ((FOO (X) (FOO X X)))
(DECLARE (FUNCTION FOO (INTEGER) INTEGER))
... (FOO 5) ...)
The declaration for FOO would pertain to both the locally-defined
FOO and the outer FOO used in its body. That's two different FOOs,
and the declaration is going to be a lie for one or the other!
A single declaration should never be able to refer to two different
entities with the same name.
- Paul
------