Returns SEQ with the first HOW-MANY elements removed.
(defun but-head (seq &optional (how-many 1))
"Returns SEQ with the first HOW-MANY elements removed."
(let ((seq-length (length seq)))
(cond ((<= 0 how-many (length seq))
(subseq seq how-many))
((< seq-length how-many)
(copy-seq seq))
(t
(but-tail seq (- how-many))))))Source Context