Are the min tool used in scheme to work with unbounded data. Data definition for lists leads naturally to the form of code to manipulate lists (like conditional expressions and structures) We can store student record in a list (allows us to not know the total number of students ahead of time) and we could use list functions to extract information from that list. If we take away one number from a non-empty list of numbers, what remains is a smaller list of numbers. Informally, a list of numbers is either empty or it consists of a first number followed by a list of numbers, which is the rest of the list. Has one or more base cases and one or more recursive (self-referential) cases. A recursive case would be the body of a function (it is an expression) Each recursive case is defined using the term itself.