; a molecule is not an atom and must consist of 2 or more atoms ; atom = (not cons) (deftype molecule () `(cons atom atom)) (typep '(a . b) 'molecule) ; T (typep '(a) 'molecule) ; T (typep '((a) . b) 'molecule) ; NIL (typep '(a b) 'molecule) ; NIL (typep "a" 'molecule) ; NIL (typep nil 'molecule) ; NIL (typep (lambda ()) 'molecule) ; NIL