Кстаи в схеме что процедура что переменная привязвается при помощи define, в cl это отделные макросы (?) defparameter, defvar, defun.
Не хватает пакетов в схеме, если символы одинаковые, при импорте пакетов - то выдает предупреждение. В cl можно символ не экспортировать но обращатся через :: если его нужно использовать
• Почему бы просто не (when (cdr args) ..) в топлевеле? • docstring упоминает Predicate, который не упомянут в арглисте. Какие-то функции обозначены словами Read, Update, Delete functions, это вообще непонятно что означает. • Длинные строки это плохо