Scheme provides a variety of procedures for operating on lists, so that you usually don't have to think about pairs--you can think about whole lists. I'll discuss these procedures in more detail later [ put in link ], but here's a brief introduction.
None of these procedures modifies its arguments--they may take lists as arguments, but they return new lists without modifying the old ones.