Problem : If you've ever tried to cast been list generics, you know that you can't. Example : 1. You have two classes Shape and Square, where Square inherits from Shape. 2. You have two generic lists, List<Shape> and List<Square>. 3. List<Square> does not inherit from List<Shape>...