Why is this statement not valid?
List<Exception> list = new List<ApplicationException>();
As far as ApplicationException is a Exception descendant all operations, available with List are available with List.
So, what's the design reason to deny such a behavior?