You win the stuffed animal. Just to make sure you're not confused about the peek-p parameter: When peek-p is NIL (the default) the events for clauses that return non-nil are discarded. So when discard-p is T and peek-p is NIL the events for all matching clauses are removed from the queue, regardless of their return value.