Alisamento de lista recursiva

Eu provavelmente poderia escrever isso sozinho, mas a maneira específica que eu estou tentando conseguir é me jogar fora. Eu estou tentando escrever um método de extensão genérica semelhante aos outros introduzidos no .NET 3.5 que terá um IEnumerable aninhado de IEnumerables (e assim por diante) e achatá-lo em um IEnumerable. Alguém tem alguma ideia?

Especificamente, estou tendo problemas com a sintaxe do próprio método de extensão para que eu possa trabalhar em um algoritmo de nivelamento.

questionAnswers(13)

yourAnswerToTheQuestion