Earlier quoted context omitted.
> Some Lisp compilers like SBCL are already capable of more extensive compile-time type-checking, but its information that the programmer is up to supply Which is nice and all, but very much gimped by the glaring holes in CL's typing tooling: you can't create actual types, only derived types (deftype) and struct/class types. The two consequences of that is that you can't type cons-based lists/trees (arguably THE Lisp…
> you can't type cons-based lists/trees (arguably THE Lisp data structure) because deftype can't be recursive and you can't create parametric types (deftype list-of (type) `(cons ,type (or null (list-of ,type)))) (typep '(1 2 3 4) '(list-of integer)) => T Most of the standard types from which derived types can be made are parametric types, which specialize on their arguments in different ways. They work the same way…
> Most of the standard types from which derived types can be made are parametric types
I meant "parametric with a type parameter", but yeah.
> satisfies
I was (obviously, I hope) talking about static, not runtime typing.