Here\'s the code for finding subsets of the list, but it\'s unsorted.
(define (subset s) (if (null? s) (list null) (let ((rest (subset (cdr s))))