A Lisp object is a piece of data used and manipulated by Lisp programs. For our purposes, a type or data type is a set of possible objects.
Every object belongs to at least one type.
Objects of the same type have similar structures and may usually be used in the same contexts. Types can overlap, and objects can belong to two or more types. A few fundamental object types are built into Emacs. These, from which all other types are constructed, are called primitive types . Each object belongs to one and only one primitive type.