The TypeScript compiler automatically casts a variable to the relevant type inside conditionals where it is possible to infer the type (because ``++typeof++``, ``++instanceof++``, etc was used). This compiler feature makes casts and not-``++null++`` assertions unnecessary.
\[~jeanchristophe.collet] "and when property values set at type definition are checked" is not clear to me. Would it be fair to reword to something like:
____
inside conditions that test the object type, either with ``++.kind++`` or ``++instanceof++``