Hi Mike,
Scheme hasn't the classic Common Lisp arrays which can be of any dimension , it uses one-dimensional "simple-arrays".
They however (as in CL) can contain any type, but must be uniformely of a certain type.
Another reason using them is that Scheme has no (nth .... ) (elt ....) to address elements of a list , but with vectors it has (vector-ref ... ) , (vector-set! ... ) to read and write the elements.
Working with arrays, vectors ... should work faster than lists -- they are of a certain type and the "place" in memory can be calculated very fast -- with lists you have to follow the pointers, which may be slow (certainly when you need an element from the "tail" ) ... variadic, typeless processing is slower, the price we have to pay for this abstraction.
best Rob
(that I do use Lists in the lisp, is because it's only a list of 70 elements - the gain will be almost nothing when working with arrays - in Scheme I have no choise , except to start working in a recursive way on the list , (something i don't like))