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.