И зачем интересно знать сами термины ковариантность и инвариантность, если это и так понятно на интуитивном уровне?
Везде эта формальщина и беготня за терминами, бесит
Эта "формальщина" настолько интуитивно понятна, что на вопрос "чё будет в коде ниже?", из 1000000 человек на 300к вакансию мидла ответил только один:
var list = new List<SomeClass>();
List<object> list1 = list;
IEnumerable<object> list2 = list;
Так что, скорее всего, никому эта тема нихрена интуитивно не понятна.
