Why Kotlin Smart Cast Fails on Mutable Properties: var, Null Safety, and Elegant Fixes | CodeTrail