An Lpp predicate is a function that returns either nil
or a non-nil value based on a test of its given arguments. The
return of a non-nil value implies true and the return of
nil implies false. Things are done this way since a
check for nil or non-nil is always efficient and uniform. Any
other Lpp type let value other than nil is considered
non-nil. This allows useful values to be returned that at the
same time imply true. Furthermore having no specific object
implying true makes multi value logics in programs easy and consistent
with reductions to two valued logics.
Lpp uses the same philosophy as Common Lisp for deciding when to
return non-nil or t. If no better non-nil value
is available for indicating success, the symbol t will be
returned.