# Generate All Subsets
Given a list of distinct integers, return every possible subset (the power set), including the empty subset and the full list itself.
The canonical backtracking template from Module 1's Recursion & Backtracking lesson — choose an element or don't, explore, then undo. This is the exact 'generate all X' shape currently taught but never exercised as gradable code anywhere in this course.
**Example:** `[1,2]` -> `[[], [1], [1,2], [2]]` (any order accepted — the grader sorts by length then value before comparing).
Target complexity: O(2^N * N).