A felhasználó által definiált típusvédelem egy olyan függvény, amelynek a visszatérési típusa egy típus predikátum (x is T). Amikor true értéket ad vissza, a fordító az argumentumot T típusra szűkíti a hívó kódban — lehetővé téve az egyéni futásidejű ellenőrzések beágyazását.
