The set library is missing a convenient way of selecting an element from a set, making it hard to write recursive functions matching the inductive structure of a set.

Could you add this function, or something like it?

(define (set-choose s)
  (let ((x (for/first ([x (in-set s)])
    (values x (set-remove s x))))

 For list-related administrative tasks:

Reply via email to