Um procedimento de esquema que retorna uma lista de todos os outros elementos

Eu estou tendo um pouco de dificuldade para implementar este programa no Scheme, embora eu ache que eu esteja 90% do caminho até lá. Infelizmente eu preciso ser um pouco vago sobre isso, já que esta é uma tarefa de casa. Eu quero (A B C D) retornar (B D). mas estou recebendo um erro que diz que o objeto (), passado como um argumento para o carro seguro, não é um par | "Este é o meu código:

(DEFINE (other_el lis)
  (COND
   (( NULL? lis ) '())
   ((LIST? lis)
    (append (CADR lis) (other_el (CDR lis))))
   (ELSE (show " USAGE: (other_el [LIST])"))))

questionAnswers(2)

yourAnswerToTheQuestion