Inicializar objeto genérico de um System.Type

Preciso criar um tipo genérico, mas não o conheço no momento da compilação. Eu gostaria de fazer isso:

Type t = typeof(whatever);
var list = new List<t>

isso não será compilado, porque t não é um tipo válido. Mas ele sabe tudo sobre um tipo válido. Existe uma maneira de criar dinamicamente a lista genérica de um System.Type como este? Talvez eu precise de reflexão, e tudo bem, estou um pouco perdido aqui.

questionAnswers(1)

yourAnswerToTheQuestion