Could you add this function, or something like it?
(define (set-choose s) (let ((x (for/first ([x (in-set s)]) x))) (values x (set-remove s x)))) David _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev