It still produces unnecessary code. If a has non-nullable type, ```a == b``` should be replaced by ```a.equals(b)```, not ```a.equals(b) ?: b.identityEquals(null)```