En brukerdefinert typevakt er en funksjon hvis returtype er et typepredikat (x is T). Når den returnerer true, snevrer kompilatoren argumentet inn til T i den kode som kaller funksjonen — slik at du kan innkapsle egendefinerte kjøretidskontroller.
