I thought that (LIST INTEGER) was permissible. But, there is another way to do this, although I suspect that most compilers would ignore it. It uses SATISFIES. The type is (AND LIST (SATISFIES EVERY-INTEGER-P)) where EVERY-INTEGER-P is (DEFUN EVERY-INTEGER-P (LIST) (EVERY #'INTEGERP LIST)) -- David Cogen.