(defparameter *str* "a string")
(equalp *str* (copy-seq *str*))
(eql *str* (copy-seq *str*))
Should be prepared to signal an error of type type-error if sequence is not a proper sequence.
From a functional standpoint:
(copy-seq x) ≡ (subseq x 0)
However, the programmer intent is typically very different in these two cases.