Stefan Monnier writes: >> +@item (cl-type @var{type}) >> +Matches if @var{expval} is of type @var{type}, which is a symbol or >> +list as accepted by @ref{cl-typep,,,cl,Common Lisp Extensions}. > > Rather than mention "symbol or list", I'd only refer to `cl-typep`, > maybe something like: > > Matches if @var{expval} is of type @var{type}, which is type descriptor > as accepted by @ref{cl-typep,,,cl,Common Lisp Extensions}. > > The rest of the first patch looks good to me. Thanks, I've made this change in the attached patch. (FYI, Eli recommends against using the @ref style, see .) > I'm not convinced this second patch is worth the trouble: > > (type FOO) > > is not significantly shorter or simpler than > > (pred FOO-p) It's not significantly shorter, but it does make the purpose a bit more obvious at a glance ("type" vs. "pred"). :) But anyway... > but it is inherently brittle because `intern-soft` may > return non-nil even though there's no predicate by that name, and it may > also let you use a "type" which really isn't one such as > `cl--struct-name` or `looking-at`. > > `cl-type` provides that functionality in a cleaner and more > reliable way (it still also relies to some extent on similar heuristic > as your code, admittedly, but I've been working to get rid of it). I understand. Thanks for your work on that. I've omitted the "type" patch from this update. Thanks for all your help.