Maybe we should change the name to Cast...If... something. But upper bound is the term used by Java (see http://docs.oracle.com/javase/tutorial/java/generics/upperBounded.html).