Mine
public text v1 · immutablefun powerset [] = [ [] ]
| powerset [x] = [ [x], [] ]
| powerset (x :: y) = [ [x,y], [x], [y], [] ]
| powerset (x :: y :: rest) =
[ [x] ] @ powerset(x :: rest) @ powerset(y :: rest)
;
fun powerset [] = [ [] ]
| powerset [x] = [ [x], [] ]
| powerset (x :: y) = [ [x,y], [x], [y], [] ]
| powerset (x :: y :: rest) =
[ [x] ] @ powerset(x :: rest) @ powerset(y :: rest)
;