17:35:14Nilbypjb: Yes. That's the elegant way. But wouldn't tell someone who's unfamiliar with delete to do it that way at first.
17:35:37pjbtempate: an alternative, is to pass a "place" to your function. If you write a macro, you must mind using get-setf-expansion. But you can pass a place to a function by way of a closure.
17:35:58pjb(extract-one list (lambda (new-list) (setf list new-list)))
17:36:08tempatepjb: I think I'm going to write a class. It'll most likely come in handy in the future.