Part27 にあった冪集合に挑戦してみて、結局同じなのになったんだけど、
(define (power l)
(if (pair? l)
(let ((l2 (power (cdr l))))
(append (map (cut cons (car l) <>) l2) l2))
(list l)
))

これって末尾再帰には出来ないのかな? ちょっと考えたけど分からなかった。