optimized version for common lisp