sub powerset { @_ ? map { $_, [$_[0], @$_] } powerset(@_[1..$#_]) : []; }