Наткнулся на реддите на
https://bitbucket.org/eeeickythump/defstar — определяторы как стандартные, только с аннотацией типов. У меня есть самописное похожее, но у меня определяторы еще вдобавок предполагают, что если переменная названа символом, который обозначает тип, то она всегда этого типа.
И еще у меня идея accessor'ы к типам автоматически подставлять, но пока не доделал их поиск в общем случае. Т.е. например, можно так:
(defun-the* flatten-at-car (cons) (setf car caar))
и это объявит (type cons cons) и будет эквивалентно
(setf (car cons) (caar cons))
Я рад, что defstar следует стилю объявления типов (var type), а не (type var) (видел такие предложения). Это можно назвать «стиль defmethod», а второе это «стиль declare». Мне кажется, в арглистах куда естественне выбрать стиль, который уже присутствует по сути в некоторых арглистах.
Много повседневно полезного упоминается
https://danielkvasnicka.tumblr.com/post/190617984237/using-advent-of-code-2019-to-rediscover-common (впрочем, и не без обычных глупостей в виде cl21, generic-cl).