Является ли это ограничением CLR или существуют проблемы совместимости с существующим кодом?
Связано ли это с испорченной дисперсией объединения делегатов в С# 4.0?
Изменить: Можно ли иметь язык, использующий совместную/контравариантность, без этого ограничения, действующего на CLR?