The left-hand side isn't taken into consideration at all when determining the type of the right-hand side.
It's only when the compiler has independently determined the right-hand side's type that it checks for assignment compatibility with the left-hand side.
As for your claim that both types "have one common ancestor": would that be ICollection
, IEnumerable
, ICollection
, IEnumerable
or Object
? What heuristic should the compiler use to unambiguously determine which type you want? The compiler is simply asking you to specify, rather than trying to guess your intention.