Since SBCL doesn't support block compilation, any DEFUN that returns a
float will *always* cons a float. Where the coercion is attributed may
vary somewhat. If you avoid returning a float by returning a boolean
instead, then the consing goes away.
If you inline expand the function, then the consing can be avoided at
the call site, but you will still get a consing note at the out-of-line
If the function is only used locally, you can get the effect of block
compilation by making the function a local lexical function using FLET
or LABELS. In this case, return value boxing can also be avoided.