(define powerset [] -> [[]] [A|As] -> (append (map (cons A) (powerset As)) (powerset As)))