Eq? may be used like eqv? in applications using procedures to implement objects with state since it obeys the same constraints as eqv?. library procedure: (equal? obj1 obj2) Equal? recursively compares the contents of pairs, vectors, and strings, applying eqv? on other objects such as numbers and symbols.