A user-defined type guard adalah sebuah fungsi yang tipe kembaliannya adalah sebuah type predicate (x is T). Ketika ia mengembalikan true, kompiler mempersempit argumen ke T dalam kode yang memanggil — memungkinkan Anda untuk mengenkapsulasi pemeriksaan runtime khusus.
