This is not quite precisely true. Everything is a generalized boolean, but not a boolean. Only T and NIL are of type BOOLEAN, which you can check with the function:
(defun booleanp (x) (TYPEP x 'BOOLEAN))