d6fcde7316
Consider `fun <E : I> foo(a: Any?) = a as? E`, where I is an interface. This check used to fail, because the `a == null` was missing, and the `isInterface` stdlib method crashes if the first argument is null. This change adds the null check. Also this change prettifies the instance check in case of type parameter left operand.