The real improvement is to lift nullability up to the type system. That way, every type acts as an optional by default, and the computer can infer when a nullable type has been null-checked.
This is what Kotlin does - it's truly freeing to work with.