Код Ревью

Сравни свои решения

    (define (subsets s)
  (if (null? s)
      (list '())
      (let ([rest (subsets (cdr s))])
        (append rest (map (lambda (x) (append (cons (car s) x))) rest)))))

;Идет последовательное накопление подмножеств, начиная с пустого множества.
;Расширяется добавлением нового элемента к каждому из накопленных подмножеств, в том числе пустому.