вот кстати коллега на работе тоже буквально неделю назад так говорил) на поверку оказалось что практически никаких проверок нету
Всмысле? Я в код не фреймворка смотрел правда давно, но там у экстеншн методов была проверка, если АйЭнамерабл кастуется к массивуя то у метода одна реализация, если он Dictionary, то другая и дефолтная для IEnumerable