List the combinations of elements in a set
Haskell - 57 46 bytes
Bring it on, golfscripters.
0%_=[[]]
n%(x:y)=map(x:)((n-1)%y)++n%y
_%_=[]

Use case (same function works polymorphicaly):

2%[1,2,3,4] ➔ [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]
3%&quot;cheat&quot; ➔ [&quot;che&quot;,&quot;cha&quot;,&quot;cht&quot;,&quot;cea&quot;,&quot;cet&quot;,&quot;cat&quot;,&quot;hea&quot;,&quot;het&quot;,&quot;hat&quot;,&quot;eat&quot;]
2%[&quot;Charlie&quot;, &quot;Alice&quot;, &quot;Daniel&quot;, &quot;Bob&quot;] ➔
[[&quot;Charlie&quot;,&quot;Alice&quot;],[&quot;Charlie&quot;,&quot;Daniel&quot;],[&quot;Charlie&quot;,&quot;Bob&quot;],[&quot;Alice&quot;,&quot;Daniel&quot;],[&quot;Alice&quot;,&quot;Bob&quot;],[&quot;Daniel&quot;,&quot;Bob&quot;]]