Vector<b> Vector<a>
/* Vector<b> Vector<? extends Vector<a>> */
/* Erg.:
[[(TPH a = Vector< Integer >), (TPH b = Matrix)],
 [(TPH a = Vector< Integer >), (TPH b = ? extends Matrix)],
 [(TPH a = ? extends Vector< Integer >), (TPH b = Matrix)],
 [(TPH a = ? extends Vector< Integer >), (TPH b = ? extends Matrix)],
 [(TPH a = ? extends Vector< ? extends Integer >), (TPH b = Matrix)],
 [(TPH a = ? extends Vector< ? extends Integer >), (TPH b = ? extends Matrix)],
 [(TPH a = ? extends Vector< ? extends Number >), (TPH b = Matrix)],
 [(TPH a = ? extends Vector< ? extends Number >), (TPH b = ? extends Matrix)],
 [(TPH a = ? extends Vector< ? extends Object >), (TPH b = Matrix)],
 [(TPH a = ? extends Vector< ? extends Object >), (TPH b = ? extends Matrix)],
 [(TPH a = ? extends Vector< ? super Integer >), (TPH b = Matrix)],
 [(TPH a = ? extends Vector< ? super Integer >), (TPH b = ? extends Matrix)],
 [(TPH a = ? extends Object), (TPH b = Matrix)],
 [(TPH a = ? extends Object), (TPH b = ? extends Matrix)],
 [(TPH a = ? super Vector< Integer >), (TPH b = Matrix)],
 [(TPH a = ? super Vector< Integer >), (TPH b = ? extends Matrix)],
 [(TPH a = Vector< Integer >), (TPH b = ExtMatrix)],
 [(TPH a = Vector< Integer >), (TPH b = ? extends ExtMatrix)],
 [(TPH a = ? extends Vector< Integer >), (TPH b = ExtMatrix)],
 [(TPH a = ? extends Vector< Integer >), (TPH b = ? extends ExtMatrix)],
 [(TPH a = ? extends Vector< ? extends Integer >), (TPH b = ExtMatrix)],
 [(TPH a = ? extends Vector< ? extends Integer >), (TPH b = ? extends ExtMatrix)],
 [(TPH a = ? extends Vector< ? extends Number >), (TPH b = ExtMatrix)],
 [(TPH a = ? extends Vector< ? extends Number >), (TPH b = ? extends ExtMatrix)],
 [(TPH a = ? extends Vector< ? extends Object >), (TPH b = ExtMatrix)],
 [(TPH a = ? extends Vector< ? extends Object >), (TPH b = ? extends ExtMatrix)],
 [(TPH a = ? extends Vector< ? super Integer >), (TPH b = ExtMatrix)],
 [(TPH a = ? extends Vector< ? super Integer >), (TPH b = ? extends ExtMatrix)],
 [(TPH a = ? extends Object), (TPH b = ExtMatrix)],
 [(TPH a = ? extends Object), (TPH b = ? extends ExtMatrix)],
 [(TPH a = ? super Vector< Integer >), (TPH b = ExtMatrix)],
 [(TPH a = ? super Vector< Integer >), (TPH b = ? extends ExtMatrix)],
 [(TPH b = Vector< TPH a >)],
 [(TPH b = ? extends Vector< TPH a >)]]
*/
 
class Number {}
class Integer extends Number {}

class Vector<a> { }

class Matrix extends Vector<Vector<Integer>> { } 

class ExtMatrix extends Matrix { }