A user-defined type guard yra funkcija, kurios grąžinamo tipo anotacija yra tipo predikatas (x is T). Kai ji grąžina true, kompiliatorius susiaurina argumentą į T iškviečiančiame kode — leidžiant jums inkapsuliuoti pasirinktus runtime patikrinti.
{ (): ; }
{ (): ; }
(): pet is {
pet;
}
() {
((pet)) {
pet.();
} {
pet.();
}
}
