Как сделать powerset в DrRacket?

Я использую начальный язык со списком сокращений для DrRacket и хочу рекурсивно сделать powerset, но не могу понять, как это сделать. У меня сейчас так много

(define
  (powerset aL)
  (cond
    [(empty? aL) (list)]

любая помощь будет хорошей.