Often it is useful to test whether a given Scheme object is a list or not. List-processing procedures could use this information to test whether their input is valid, or they could do different things depending on the datatype of their arguments.
#t if x is a proper list, else
null? is often used in list-processing code to
tell whether a given list has run out of elements. That is, a loop
somehow deals with the elements of a list until the list satisfies
null?. Then, the algorithm terminates.
#t if x is the empty list, else
Return 1 when x is the empty list; otherwise return 0.