 The LOOP collects all lines that match the predicate.The function AVAILABLE-SHELLS calls above function LIST-MATCHING-LINES with a pathname and an anonymous function as the predicate.The predicate returns the pathname of a shell or NIL (if the string is not the filename of a shell).