Combinações com repetição

Estou usando o Mathematica 7 e com uma função de pacote combinatorica posso obter todas as combinações de um determinado número de uma lista de elementos em que a ordem não importa e não há repetição.

in: KSubsets[{a, b, c, d}, 3]
out: {{a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}}

Não consigo encontrar uma função que me dê todas as combinações de um determinado número de uma lista de elementos em que a ordem não importa e láé repetição. ou seja, o exemplo acima incluiria elementos como {a, a, b}, {a, a, a}, {b, b, b} ... etc. na saída.

Pode exigir uma função personalizada. Se eu conseguir encontrar uma, postarei uma resposta, mas por enquanto não vejo uma solução óbvia.

Editar: idealmente, a saída não conterá duplicação de uma combinação, por exemplo As tuplas [{a, b, c, d}, 3] retornarão uma lista que contém dois elementos como {a, a, b} e {b, a, a} que, do ponto de vista das combinações, são os mesmos.

questionAnswers(4)

yourAnswerToTheQuestion