You are missing the point of the Lisp's type system.
> There has been some confusion about the difference between type checking for the purposes of compiling traditional languages, and type checking for the purposes of ensuring a program's correctness. [0]
Lisp type system is mainly designed for the former. Abstract data types are useful for the later use.