Deve um repositório retornar IEnumerable <T>, IQueryable <T> ou List <T>?

Eu gostaria de tornar meu aplicativo o mais flexível possível, mas não me aprofundar, tornando minha interface muito específic

Qual é o melhor tipo de objeto para um repositório? IEnumerable, IQueryable ou List?

As tecnologias que estou pensando em usar são

ache de tecido do aplicativo Azz

Entity Framework 4.1

Possivelmente Windows Server AppFabric

questionAnswers(4)

yourAnswerToTheQuestion