Issue #1579: Add a test
Issue #1594: When transforming "case(is ...)" put the cheap tests first and the expensive tests later
Issue #1594: Tests for the perf-based reordering of casees
Issue #1594: Try to short-circuit the call to Util.isReified() using an instanceof
when the raw type is a reified java type (i.e. a class or interface). Note that we have to be a little caseful when there's a non-null firstTimeExpr.
Issue #1594: Update .src changed by the additional instanceof.
Issue #1594: Add a test for the optimized type test when the type argument(s) are supertypes of the type parameter bound.
Issue #1594: increase the scope of the instanceof optimization for type tests to include the case where we're testing against a generic class or interface type whose type arguments are all supertypes of the type parameter bound.
Issue #1594: Use an instanceof shortcut for type testing a type parameter with class or interface upper bounds.
Issue #1594: Comments and method name
Issue #1594: Improve test
Issue #1594: Optimize is in cases where we can compute a complement type whose evaluation will be faster than the type test on the given type.
Issue #1594: Rearrange test
Issue #1594: Use the optimized type test in a few more places.
Issue #1594: Update .src following that change.