Implicit Casts for Verified Type Information

I think you found the thread to which @Lantua was referring. Reviewing the previous discussion was very helpful.

It appears Lysenko and I went through the same journey of working with Kotlin's type narrowing, and wanting something like it in Swift. We also came to the same conclusions.

Exactly. It appears that this was never really resolved, or perhaps @Chris_Lattner3's post, quoted above, ended it.

The difference is that we now have a large body of code in another popular language that uses what was proposed then and now. You can always create examples where a feature like this is less obvious, as I did for type inferencing of type structure literals, and @Lantua did for type narrowing with disjunction clauses, but in the wild, it is used extensively in areas like simple switch cases and (in Kotlin), when. In these far more common cases, it makes code more readable.

I've had the same experience. In practice, Kotlin's type narrowing makes code easier to read and is not deleterious to maintainability.