Smart cast to non-null invalidated by the elvis operator?

There has to be some limit on how in depth of an analysis Kotlin goes through to determine smart casts. Here you are returning if intent?.action is null which could be null if intent is null or if the intent’s action is null. This is only one level of indirection from intent being null, but what if you added more expressions in there? Where does it draw the line? They are smart casts not genius casts :wink: