|forms||forms which value is considered|
OR macro computes logical "or" function. Forms evaluation starts from left. Value from the first form that decides result is returned so forms at end of argument list may not evaluated.
(or t t t nil t) => T (or nil nil nil) => NIL (or) => NIL
(or (progn (write "SEEN") 123) (progn (write "UNSEEN") t)) => "SEEN" 123 (or 4 5 6) => 4