Como tirar tudo, mas o último elemento em uma seqüência usando o LINQ?

Digamos que eu tenha uma sequência.

IEnumerable<int> sequence = GetSequenceFromExpensiveSource();
// sequence now contains: 0,1,2,3,...,999999,1000000

Obtendo a seqüência não é barato e é gerado dinamicamente, e eu quero iterar através dele apenas uma vez.

Eu quero obter 0 - 999999 (ou seja, tudo, mas o último elemento)

Eu reconheço que eu poderia fazer algo como:

sequence.Take(sequence.Count() - 1);

mas isso resulta em duas enumerações sobre a grande seqüência.

Existe uma construção LINQ que me permite fazer:

sequence.TakeAllButTheLastElement();

questionAnswers(20)

yourAnswerToTheQuestion