Preconditions should activate smart cast, no?

More details about that here: Status of kotlin.internal.contracts?