Qual é melhor, Enumerable.Empty <T> ou novo [0]?

Estes são os mesmos:

IEnumerable<string> i;
i = Enumerable.Empty<string>();
i = new string[0];

Então, qual usar?

Acho que o primeiro comunica a intenção de forma mais clara, mas é maior e um pouco mais barulhento, sem mencionar feio no depurador. O segundo também é mais eficiente em memória e CPU, se eu estiver lendo o Reflector corretament

Estou inclinado para onew type[0], mas queria saber o que todos pensa

questionAnswers(3)

yourAnswerToTheQuestion