שפות בלי sum types / data enums / discriminated unions ניגשו לבעיית ה־null בעזרת מערכת הטייפים, ככה שטייפ של דבר שיכול להיות null מסומן כ־nullable בניגוד לכזה שחייב להכיל ערך.
אחרי זה, הקומפיילר אחראי לא לאפשר לגשת לטייפ שהוא nullable בלי לעשות בדיקת null. אחרי בדיקת null, הטייפ משתנה ללא־nullable ואז אפשר לגשת אליו.
let thing: Nullable<Thing> = get_thing();
if (thing != null) {
// thing is now of type Thing
} else {
// thing is now of type Null
}