Generating Combinations

Toda vez que tenho que fazer isso, "invento" de uma maneira diferente. Hora de padronizar. Eu suspeito que existe algum comando padrão que eu esqueci pronto para fazer isso, então lamento antecipadamente se a pergunta for muito trivia

Qual é a melhor maneira (memória, desempenho) de obter:

 combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}}

com elementos arbitrários na lista de entrada, é clar